:root{--paper: #FAF9F6;--surface: #FFFFFF;--inset: #F3EFE8;--ink: #201C17;--muted: #6A6157;--line: #E7E1D8;--accent: #C2600F;--accent-strong: #B3560B;--accent-hover: #9C4B08;--on-accent: #FFFFFF;--error: #C0392B;--success: #2E7D32;--sans: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono: ui-monospace, "SF Mono", "Cascadia Code", "Roboto Mono", Menlo, Consolas, monospace;--radius: 12px}@media (prefers-color-scheme: dark){:root{--paper: #14100B;--surface: #1C1710;--inset: #0E0B07;--ink: #EFEAE2;--muted: #9A9084;--line: #2A231A;--accent: #F5901F;--accent-strong: #E07E12;--accent-hover: #FFA23A;--on-accent: #1A1206;--error: #FF6B6B;--success: #4ADE80}}:root[data-theme=light]{--paper: #FAF9F6;--surface: #FFFFFF;--inset: #F3EFE8;--ink: #201C17;--muted: #6A6157;--line: #E7E1D8;--accent: #C2600F;--accent-strong: #B3560B;--accent-hover: #9C4B08;--on-accent: #FFFFFF;--error: #C0392B;--success: #2E7D32}:root[data-theme=dark]{--paper: #14100B;--surface: #1C1710;--inset: #0E0B07;--ink: #EFEAE2;--muted: #9A9084;--line: #2A231A;--accent: #F5901F;--accent-strong: #E07E12;--accent-hover: #FFA23A;--on-accent: #1A1206;--error: #FF6B6B;--success: #4ADE80}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:var(--sans);background:var(--paper);color:var(--ink);min-height:100vh;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}.card{width:100%;max-width:640px;margin:3rem auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.75rem 1.9rem;box-shadow:0 8px 24px -14px #1f1a1440}@media (max-width: 680px){.card{margin:1.5rem}}h1{font-size:1.5rem;letter-spacing:-.02em;margin:0 0 .25rem}h2{font-family:var(--mono);font-size:.72rem;margin:1.6rem 0 .6rem;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}.muted{color:var(--muted);font-size:.9rem}.error{color:var(--error);font-size:.9rem}.topbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}.topbar a,.linklike{color:var(--accent);text-decoration:none;background:none;border:none;cursor:pointer;font:inherit;padding:0}form{display:flex;flex-direction:column;gap:.8rem;margin-top:1rem}form.inline,.inline{flex-direction:row;align-items:center}label{display:flex;flex-direction:column;gap:.3rem;font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}input{background:var(--inset);border:1px solid var(--line);border-radius:9px;padding:.65rem .8rem;color:var(--ink);font-family:var(--sans);font-size:1rem;transition:border-color .15s ease}input:focus{outline:none;border-color:var(--accent)}input::placeholder{color:color-mix(in srgb,var(--muted) 70%,transparent)}button{background:var(--accent-strong);color:var(--on-accent);border:none;border-radius:9px;padding:.62rem 1.1rem;font-family:var(--sans);font-size:.95rem;font-weight:600;cursor:pointer;transition:background .15s ease}button:hover:not(:disabled){background:var(--accent-hover)}button:disabled{opacity:.45;cursor:not-allowed}code{background:var(--inset);padding:.1rem .35rem;border-radius:5px;font-family:var(--mono);font-size:.85em}.status{font-size:1.05rem;padding:.8rem;background:var(--inset);border:1px solid var(--line);border-radius:9px}.status.active{border-color:var(--success)}.gauge{margin:.8rem 0}.gauge-row{display:flex;justify-content:space-between;font-size:.9rem;margin-bottom:.25rem}.gauge-val{font-family:var(--mono);font-variant-numeric:tabular-nums}.gauge-track{height:14px;background:var(--inset);border-radius:7px;overflow:hidden}.gauge-fill{height:100%;transition:width .2s ease}.chart{width:100%;height:120px;background:var(--inset);border:1px solid var(--line);border-radius:9px}.dot.open{color:var(--success)}.dot.connecting{color:#c88a00}.dot.closed{color:var(--error)}.queue-table{width:100%;border-collapse:collapse;margin-top:.5rem}.queue-table th,.queue-table td{text-align:left;padding:.55rem;border-bottom:1px solid var(--line);font-size:.9rem}.queue-table th{font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.active-row{background:color-mix(in srgb,var(--success) 12%,transparent)}.linklike{text-decoration:underline}.linklike:disabled{color:var(--muted);cursor:default}.landing{flex:1;display:flex;flex-direction:column;min-height:100vh}.landing-bar{display:flex;align-items:center;justify-content:space-between;max-width:1000px;width:100%;margin:0 auto;padding:22px 28px}.landing-bar .name{font-size:.92rem;font-weight:600;letter-spacing:-.01em;color:var(--ink)}.landing-bar .signin{font-size:.9rem;color:var(--muted)}.landing-bar .signin:hover{color:var(--ink)}.landing-main{flex:1;display:flex;align-items:center;justify-content:center;padding:32px 28px}.hero{max-width:620px;text-align:center}.hero .logo{height:92px;width:auto;margin:0 auto 26px;display:block}.hero h1{font-size:clamp(2.05rem,4.8vw,2.9rem);font-weight:600;line-height:1.12;letter-spacing:-.025em;margin:0;text-wrap:balance}.hero .lede{font-size:1.08rem;color:var(--muted);line-height:1.6;margin:18px auto 0;max-width:48ch;text-wrap:balance}.hero .actions{display:flex;gap:12px;justify-content:center;margin-top:32px;flex-wrap:wrap}.btn{font-size:.95rem;font-weight:600;border-radius:10px;padding:12px 24px;cursor:pointer;border:1px solid transparent;transition:background .15s ease,border-color .15s ease,color .15s ease;display:inline-flex;align-items:center}.btn-primary{background:var(--accent-strong);color:var(--on-accent)}.btn-primary:hover{background:var(--accent-hover);color:var(--on-accent)}.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.landing-foot{max-width:1000px;width:100%;margin:0 auto;padding:22px 28px;border-top:1px solid var(--line);font-size:.82rem;color:var(--muted);text-align:center;line-height:1.5}.landing-foot b{color:var(--ink);font-weight:600}@media (prefers-reduced-motion: no-preference){.hero>*{animation:rise .55s ease both}.hero>*:nth-child(2){animation-delay:.05s}.hero>*:nth-child(3){animation-delay:.1s}.hero>*:nth-child(4){animation-delay:.15s}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}}
