:root{--bg: #09090b;--surface: #111111;--surface-2: #18181b;--border: rgba(255,255,255,.1);--text: #f4f4f5;--muted: #71717a;--accent: #111111;--accent-hover: #333333;--danger-bg: #1a0a0a;--danger-fg: #fca5a5;--danger-bd: rgba(239,68,68,.35);--ok-bg: #0a1a0e;--ok-fg: #86efac;--ok-bd: rgba(34,197,94,.35)}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text);min-height:100vh}a{color:#a1a1aa;text-decoration:none}a:hover{color:#f4f4f5;text-decoration:underline}.layout{display:grid;grid-template-rows:auto 1fr;min-height:100vh}.nav{display:flex;align-items:center;gap:16px;padding:12px 24px;background:var(--surface);border-bottom:1px solid var(--border)}.nav .brand{font-weight:600}.nav .grow{flex:1}.nav .session{color:var(--muted);font-size:13px}.page{padding:24px}.card{margin:0 auto;max-width:760px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:20px}h1{margin:0 0 8px}h2{margin:18px 0 10px}.muted{color:var(--muted)}.form{display:grid;gap:10px}.form input,.form textarea{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:10px 12px;font:inherit}.form textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.form input:focus,.form textarea:focus{outline:2px solid var(--accent)}button{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:10px 14px;cursor:pointer;font:inherit}button.primary{background:var(--accent);border-color:var(--accent)}button:disabled{opacity:.55;cursor:not-allowed}.tile-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.error{background:var(--danger-bg);color:var(--danger-fg);border:1px solid var(--danger-bd);border-radius:8px;padding:10px;margin-top:14px;white-space:pre-wrap}.result{background:var(--ok-bg);color:var(--ok-fg);border:1px solid var(--ok-bd);border-radius:8px;padding:10px;margin-top:14px;max-height:360px;overflow:auto}.tab-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.tab-row a{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;padding:8px 12px;text-decoration:none}.tab-row a.active{background:var(--accent);border-color:var(--accent)}
