:root{--bg0:#0c1210;--bg1:#15201a;--ink:#eef4ef;--muted:#9aafa3;--accent:#d6ff4b;--accent-ink:#12200f;--warn:#ffb454;--danger:#ff6b6b;--line:#eef4ef1f;--glow:#d6ff4b47;color:var(--ink);background:var(--bg0);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Sora,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(1200px 700px at 15% -10%,#d6ff4b1f,#0000 55%),radial-gradient(900px 600px at 90% 10%,#468c6e2e,#0000 50%),linear-gradient(165deg,#0c1210 0%,#15201a 45%,#0f1714 100%);min-height:100vh}button,input{font:inherit}.app-shell{place-items:center;min-height:100vh;padding:2rem 1.25rem 3rem;display:grid}.stage{flex-direction:column;gap:1.75rem;width:min(720px,100%);display:flex}.brand{letter-spacing:-.03em;margin:0;font-family:Fraunces,serif;font-size:clamp(2.4rem,6vw,3.6rem);font-weight:700;line-height:.95}.tagline{color:var(--muted);max-width:34ch;margin:.65rem 0 0;line-height:1.5}.topbar{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.user-meta{text-align:right;color:var(--muted);font-size:.9rem}.user-meta strong{color:var(--ink);font-weight:500;display:block}.ghost-btn,.primary-btn,.danger-btn{cursor:pointer;border:0;border-radius:999px;padding:.7rem 1.15rem;transition:transform .16s,background .16s,box-shadow .16s}.ghost-btn{color:var(--muted);border:1px solid var(--line);background:0 0}.ghost-btn:hover{color:var(--ink);border-color:#eef4ef47}.primary-btn{background:var(--accent);color:var(--accent-ink);box-shadow:0 0 0 0 var(--glow);font-weight:600}.primary-btn:hover{box-shadow:0 10px 30px var(--glow);transform:translateY(-1px)}.primary-btn:disabled,.danger-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.danger-btn{color:#ffc4c4;background:#ff6b6b26;border:1px solid #ff6b6b59}.panel{border-top:1px solid var(--line);padding-top:1.5rem}.device-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;display:flex}.device-row:first-child{padding-top:0}.device-name{margin:0 0 .25rem;font-size:1.1rem;font-weight:500}.status-pills{flex-wrap:wrap;gap:.4rem;display:flex}.pill{letter-spacing:.02em;border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:.2rem .55rem;font-size:.75rem}.pill.on{color:var(--accent);border-color:#d6ff4b59}.pill.warn{color:var(--warn);border-color:#ffb45459}.control-hero{text-align:center;justify-items:center;gap:1.25rem;padding:2rem 0 1rem;display:grid}.torch-btn{width:min(240px,70vw);height:min(240px,70vw);color:var(--ink);cursor:pointer;background:radial-gradient(circle at 50% 40%,#d6ff4b38,#0000 55%),linear-gradient(#1b2a22,#101814);border:1px solid #d6ff4b40;border-radius:50%;place-items:center;gap:.35rem;transition:transform .18s,box-shadow .22s,border-color .18s;display:grid}.torch-btn .label{font-family:Fraunces,serif;font-size:2rem;font-weight:700}.torch-btn .hint{color:var(--muted);font-size:.85rem}.torch-btn.active{border-color:#d6ff4bb3;animation:2.2s ease-in-out infinite pulse;box-shadow:0 0 60px #d6ff4b59,inset 0 0 40px #d6ff4b1f}.torch-btn:hover{transform:scale(1.02)}@keyframes pulse{0%,to{box-shadow:0 0 40px #d6ff4b40,inset 0 0 30px #d6ff4b14}50%{box-shadow:0 0 70px #d6ff4b66,inset 0 0 45px #d6ff4b24}}.auth-box{justify-items:start;gap:1rem;display:grid}.error{color:#ffb4b4;margin:0}.code-form{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1rem;display:flex}.code-form input{border:1px solid var(--line);width:10rem;color:var(--ink);letter-spacing:.25em;text-align:center;background:#00000040;border-radius:12px;padding:.7rem .9rem;font-size:1.1rem}.muted{color:var(--muted);margin:0}.actions{flex-wrap:wrap;gap:.6rem;display:flex}.fade-in{animation:.42s both fadeUp}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width<=640px){.topbar{flex-direction:column}.user-meta{text-align:left}}
