:root{--bg: #0f1419;--bg-elev: #1a222c;--ink: #e8eef4;--muted: #9aabbc;--line: #2a3644;--accent: #3d8bfd;--danger: #ef5350;--ok: #66bb6a;--font: "IBM Plex Sans", "Segoe UI", system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;background:radial-gradient(1000px 500px at 0% 0%,#1b2a3d 0%,transparent 55%),var(--bg);color:var(--ink);font-family:var(--font)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.shell{max-width:1200px;margin:0 auto;padding:28px 20px 60px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;border-bottom:1px solid var(--line);padding-bottom:16px}.brand{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:600;margin:0 0 4px}h1{margin:0;font-size:28px;letter-spacing:-.02em}.muted{color:var(--muted)}.mono{font-family:var(--mono)}.card{background:#1a222ce6;border:1px solid var(--line);border-radius:12px;padding:20px;margin-bottom:16px}.grid{display:grid;gap:12px}label{display:grid;gap:6px;font-size:13px;color:var(--muted)}input{background:var(--bg);border:1px solid var(--line);border-radius:8px;color:var(--ink);padding:10px 12px;font:inherit}button,.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:var(--accent);color:#041018;font-weight:650;border-radius:8px;padding:10px 14px;cursor:pointer;font:inherit}button.secondary,a.btn.secondary{background:transparent;color:var(--ink);text-decoration:none}button:disabled{opacity:.5;cursor:not-allowed}table.list{width:100%;border-collapse:collapse;font-size:14px}table.list th,table.list td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line)}table.list th{color:var(--muted);font-weight:600}.badge{display:inline-block;padding:2px 8px;border-radius:999px;border:1px solid var(--line);font-size:12px;color:var(--muted)}.badge.ok{border-color:var(--ok);color:var(--ok)}.badge.err{border-color:var(--danger);color:var(--danger)}.error{color:var(--danger);font-size:14px}.token-box{word-break:break-all;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:12px;font-family:var(--mono);font-size:12px}.preview-wrap{margin-top:16px;border-radius:12px;overflow:hidden;border:1px solid var(--line)}
