/* Social Poster Control Room — Linear-derived dark system */
:root{color-scheme:dark}
*{box-sizing:border-box}
html,body{margin:0}
body{
 font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
 font-feature-settings:'cv01','ss03';
 background:#08090a;color:#f7f8f8;
 min-height:100vh;padding:32px 24px;max-width:1200px;margin-inline:auto;
}
.hidden{display:none!important}

/* ---------- gate ---------- */
.gate{display:grid;place-items:center;min-height:92vh}
.box{width:min(380px,90vw);background:#0f1011;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:32px 28px}
.mark{width:34px;height:34px;border-radius:9px;background:#5e6ad2;display:grid;place-items:center;font-size:15px;font-weight:600;color:#fff;margin-bottom:18px}
.box h2{font-size:17px;font-weight:510;letter-spacing:-.24px;margin:0 0 4px}
.box p{color:#8a8f98;font-size:13px;line-height:1.55;margin:0 0 20px}
.err{background:rgba(248,113,113,.08);border:1px solid rgba(248,113,113,.3);color:#f87171;font-size:12.5px;padding:8px 11px;border-radius:6px;margin-bottom:14px}
input{width:100%;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:10px 12px;color:#f7f8f8;font-family:'JetBrains Mono',monospace;font-size:13px;margin-bottom:14px}
input:focus{outline:none;border-color:#7170ff}
.help{margin-top:16px;font-size:12.5px;color:#8a8f98}
.help summary{cursor:pointer;font-weight:510;color:#d0d6e0}
.help ol{padding-left:18px;line-height:1.7}
.help a{color:#7170ff;text-decoration:none}
.help code{font-family:'JetBrains Mono',monospace;font-size:11px;background:#191a1b;padding:1px 5px;border-radius:4px}

/* ---------- header ---------- */
header{display:flex;align-items:center;gap:14px;margin-bottom:28px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:11px;margin-right:auto}
h1{font-size:19px;font-weight:510;letter-spacing:-.41px;margin:0}
h1 span{color:#62666d;font-weight:400;margin-left:6px;font-size:14px}
.healthbar{display:flex;gap:8px;flex-wrap:wrap}
.slim{padding:6px 11px;font-size:12px}

/* ---------- cards ---------- */
.grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.card{background:#0f1011;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:18px}
.card.wide{grid-column:1/-1}
.chead{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.chead h3{margin:0;font-size:14px;font-weight:510;letter-spacing:-.13px}
.pill{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:500;color:#d0d6e0;padding:2px 9px;border-radius:9999px;border:1px solid #23252a;display:inline-flex;align-items:center;gap:6px}
.pill.ok{color:#10b981;border-color:rgba(16,185,129,.35)}
.pill.bad{color:#f87171;border-color:rgba(248,113,113,.35)}
.pill.warn{color:#fbbf24;border-color:rgba(251,191,36,.35)}
.dot{width:6px;height:6px;border-radius:50%;background:currentColor}
.bar{height:3px;background:rgba(255,255,255,.06);border-radius:99px;overflow:hidden;margin:10px 0}
.bar i{display:block;height:100%;background:#5e6ad2;border-radius:99px;transition:width .6s cubic-bezier(.2,.8,.2,1)}
.meta{font-size:12.5px;color:#8a8f98;line-height:1.55;letter-spacing:-.13px}
.meta b{color:#d0d6e0;font-weight:510}
.next{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.05);font-size:12.5px;color:#8a8f98}
time,.t{font-family:'JetBrains Mono',monospace;font-size:11.5px;color:#d0d6e0}
.stamp{font-size:11.5px;color:#62666d;font-family:'JetBrains Mono',monospace}

/* ---------- table ---------- */
table{width:100%;border-collapse:collapse;font-size:13px}
th{text-align:left;font-size:11px;font-weight:510;text-transform:uppercase;letter-spacing:.4px;color:#62666d;padding:6px 8px;border-bottom:1px solid rgba(255,255,255,.06)}
td{padding:9px 8px;border-bottom:1px solid rgba(255,255,255,.04);color:#d0d6e0;letter-spacing:-.13px}
tr:last-child td{border-bottom:none}
td.t{font-family:'JetBrains Mono',monospace;font-size:12px;color:#8a8f98}
a{color:#7170ff;text-decoration:none}a:hover{color:#828fff}

/* ---------- actions / toast ---------- */
.actions{position:fixed;right:22px;bottom:22px;display:flex;gap:8px;z-index:9}
.primary{background:#5e6ad2;color:#fff;border:none;border-radius:6px;padding:10px 18px;font-family:inherit;font-size:13px;font-weight:510;cursor:pointer;transition:background .15s}
.primary:hover{background:#828fff}
.ghost{background:rgba(255,255,255,.04);color:#d0d6e0;border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:10px 15px;font-family:inherit;font-size:13px;font-weight:510;cursor:pointer;transition:all .15s;text-decoration:none;display:inline-block}
.ghost:hover{background:rgba(255,255,255,.08);color:#f7f8f8}
.btnlike{line-height:1}
button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #7170ff;outline-offset:2px}
#toast{position:fixed;left:50%;bottom:30px;transform:translateX(-50%) translateY(8px);background:#191a1b;border:1px solid rgba(255,255,255,.08);color:#f7f8f8;padding:10px 18px;border-radius:8px;font-size:13px;font-weight:510;opacity:0;transition:.25s;pointer-events:none;box-shadow:rgba(0,0,0,.4) 0 8px 24px}
#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

@media(prefers-reduced-motion:reduce){*{transition:none!important}}
@media(max-width:640px){body{padding:20px 14px}.actions{left:14px;right:14px;justify-content:center;bottom:14px}.actions>*{flex:1;text-align:center}}
