:root{--ink:#16232b;--ink-soft:#51636e;--paper:#f5f7f8;--card:#fff;--line:#dbe3e7;--accent:#0f6b5f;--accent-ink:#fff;--danger:#a63d2f;--ok:#1d7a43}*{box-sizing:border-box}body{color:var(--ink);background:var(--paper);margin:0;font:16px/1.55 system-ui,-apple-system,Segoe UI,sans-serif}main.centered{place-items:center;min-height:100vh;padding:24px;display:grid}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;width:min(440px,100%);padding:28px;box-shadow:0 8px 28px #16232b0f}.brand-mark{background:var(--accent);width:40px;height:40px;color:var(--accent-ink);border-radius:10px;place-items:center;margin-bottom:14px;font-weight:700;display:grid}.eyebrow{letter-spacing:.09em;color:var(--ink-soft);margin:0 0 6px;font-size:12px;font-weight:600}h1,h2{margin:0 0 10px;line-height:1.25}h1{font-size:24px}h2{font-size:19px}p{color:var(--ink-soft);margin:0 0 14px}label{margin-bottom:14px;font-size:14px;font-weight:600;display:block}input{border:1px solid var(--line);width:100%;font:inherit;border-radius:8px;margin-top:6px;padding:10px 12px;display:block}input:focus{outline:2px solid var(--accent);outline-offset:1px}button{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:8px;padding:10px 16px;font-weight:600}button.primary{background:var(--accent);color:var(--accent-ink);width:100%}button.primary:disabled{opacity:.6;cursor:not-allowed}button.ghost{border-color:var(--line);background:0 0;width:100%;margin-top:8px}.auth-message{color:var(--danger);margin-top:12px;font-size:14px}.auth-message.success{color:var(--ok)}.topbar{background:var(--card);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:14px 24px;display:flex}.topbar .who{color:var(--ink-soft);font-size:14px}.topbar form{margin:0}.topbar button{padding:8px 12px}.studio-main{max-width:960px;margin:0 auto;padding:28px 24px 64px}.context-grid{gap:12px;margin-top:18px;display:grid}.context-row{background:var(--card);border:1px solid var(--line);border-radius:10px;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.context-row b{text-transform:none}.role-chip{color:var(--accent);background:#e8f1ef;border-radius:999px;padding:4px 12px;font-size:13px;font-weight:600}.notice{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--accent);color:var(--ink-soft);border-radius:10px;margin-top:22px;padding:16px 18px;font-size:14px}
