:root{--bg:#0a0b0d;--surface:#181b22;--surface-2:#1e222b;--ink:#f4f5f7;--muted:#9aa0ab;--line:#2a2f3a;--line2:#3a4252;--silver:#c5cad3;--silver-bright:#e8eaee;--metal:linear-gradient(180deg,#e8eaee,#a8aeb8 45%,#7a8190);--metal-btn:var(--metal);--on-metal:#0a0b0d;--ovw-bg:linear-gradient(180deg,#181c25,#111419);--fav-bg:linear-gradient(180deg,#171a22,#111419);--fav-on:linear-gradient(180deg,#232833,#171b23);--eflow-bg:linear-gradient(180deg,#171b23,#101318);--thumb:#1a1e27;--input:#0e1117;--hbody:#12151c;--in:#7dcea0;--out:#e85d4c;--warn:#d4a017;--danger:#e85d4c;--ok:#3ddc84;--font:"Space Grotesk",system-ui,sans-serif;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}@keyframes breath{0%,to{opacity:.35}50%{opacity:.7}}@keyframes sheen{0%{background-position:0 50%}to{background-position:200% 50%}}@keyframes slideUp{0%{transform:translateY(105%)}to{transform:translateY(0)}}@keyframes ping{0%{transform:scale(1);opacity:.8}to{transform:scale(1.8);opacity:0}}.app-shell{max-width:480px;margin:0 auto;min-height:100dvh;padding:calc(12px + var(--safe-top)) 14px calc(24px + var(--safe-bottom));position:relative;overflow-x:hidden}.app-shell:before{content:"";pointer-events:none;position:fixed;inset:-20% auto auto 50%;width:80vw;height:40vh;transform:translateX(-50%);background:radial-gradient(circle,rgba(200,205,214,.12),transparent 70%);animation:breath 6s ease-in-out infinite;z-index:0}.app-shell>*{position:relative;z-index:1}.btn{border-radius:12px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);padding:12px 14px;font-weight:600;cursor:pointer}.btn.pri{background:var(--metal-btn);color:#0a0b0d;border-color:transparent}.btn.block{width:100%}.btn.ghost{background:transparent;border-color:transparent;color:var(--silver)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.field label{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.field input{border-radius:12px;border:1px solid var(--line);background:#0e1117;color:var(--ink);padding:12px}.toggle{width:44px;height:26px;border-radius:999px;border:1px solid var(--line);background:#0b0d11;position:relative;cursor:pointer;flex-shrink:0;padding:0}.toggle.on{border-color:transparent}.toggle.on,.toggle:after{background:var(--metal-btn)}.toggle:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;transition:transform .15s ease}.toggle.on:after{transform:translateX(17px);background:linear-gradient(180deg,#fff,#d4d8e0)}.toggle.pending{opacity:.7}.tile{border-radius:16px;border:1px solid var(--line);background:var(--surface);padding:14px;text-align:left;color:inherit;width:100%;cursor:pointer;position:relative;overflow:hidden}.tile.on{border-color:rgba(232,234,240,.35);background:linear-gradient(120deg,rgba(232,234,240,.14),transparent 40%),var(--surface);background-size:200% 100%;animation:sheen 3.5s linear infinite}.badge{font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:5px 8px;border-radius:8px;border:1px solid rgba(200,205,214,.25);background:rgba(200,205,214,.1)}.badge.warn{color:var(--warn);border-color:rgba(212,160,23,.35)}.badge.danger{color:var(--danger);border-color:rgba(232,93,76,.35)}.badge.ok{color:var(--ok);border-color:rgba(61,220,132,.35)}.live-dot{width:8px;height:8px;position:relative;display:inline-block}.live-dot,.live-dot:after{border-radius:50%;background:var(--ok)}.live-dot:after{content:"";position:absolute;inset:0;animation:ping 1.4s ease-out infinite}.live-dot.off{background:var(--muted)}.live-dot.off:after{display:none}.live-dot.local{background:var(--ok)}.label{font-size:.62rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}.ovw{position:relative;overflow:hidden;border:1px solid var(--line2);border-radius:16px;background:var(--ovw-bg);padding:14px;margin-bottom:16px}.ovw:after{content:"";position:absolute;left:-30%;top:-90%;width:160%;height:200%;pointer-events:none;background:radial-gradient(ellipse at 50% 50%,rgba(200,208,222,.13),transparent 62%);animation:breath 7s ease-in-out infinite}.ovw .stats{position:relative;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:6px;gap:6px;z-index:1}.ovw .stat b{display:block;font-size:1.5rem;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1.15}.ovw .stat span{font-size:.58rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.ovw .stat.pw b{background:var(--metal);-webkit-background-clip:text;background-clip:text;color:transparent}.hubline{position:relative;z-index:1;display:flex;align-items:center;gap:8px;margin-top:12px;padding-top:11px;border-top:1px solid var(--line);font-size:.74rem;color:var(--muted)}.hubline b{color:var(--ink);font-weight:600}.chips{display:flex;gap:7px;overflow-x:auto;padding-bottom:2px;margin-bottom:16px;scrollbar-width:none}.chips::-webkit-scrollbar{width:0;height:0}.chip{flex:0 0 auto;font-weight:600;font-size:.78rem;color:var(--silver);background:var(--surface-2);border:1px solid var(--line2);border-radius:999px;padding:9px 15px;cursor:pointer}.chip:active{background:var(--metal);color:var(--on-metal);border-color:transparent}.secthead{display:flex;align-items:baseline;justify-content:space-between}.linkbtn{font-size:.7rem;font-weight:600;color:var(--silver);background:0;border:0;cursor:pointer;padding:0}.favgrid{display:grid;grid-template-columns:1fr 1fr;grid-gap:9px;gap:9px;margin-bottom:16px}.fav{position:relative;overflow:hidden;font:inherit;color:inherit;text-align:left;cursor:pointer;border:1px solid var(--line);border-radius:15px;background:var(--fav-bg);padding:13px;display:flex;flex-direction:column;gap:9px;min-height:106px}.fav:active{transform:scale(.985)}.fav .fi{width:36px;height:36px;border-radius:10px;background:var(--thumb);border:1px solid var(--line);display:grid;place-items:center;font-size:1.05rem}.fav .fn{display:block;font-weight:600;font-size:.84rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fav .fs{display:block;font-size:.66rem;color:var(--muted);margin-top:2px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fav .fspacer{flex:1 1}.fav .fstate{align-self:flex-start;font-size:.57rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line2);border-radius:999px;padding:3px 9px}.fav .fmore{position:absolute;top:9px;right:9px;z-index:2;width:24px;height:24px;border-radius:7px;border:1px solid var(--line2);background:rgba(10,12,16,.35);color:var(--silver);font-size:.72rem;display:grid;place-items:center;text-decoration:none}.fav.on{border-color:rgba(128,136,150,.45);background:var(--fav-on)}.fav.on .fi,.fav.on .fstate{background:var(--metal);border-color:transparent;color:var(--on-metal)}.fav.on:before{content:"";position:absolute;top:0;left:-60%;width:45%;height:100%;pointer-events:none;background:linear-gradient(100deg,transparent,rgba(255,255,255,.13),transparent);animation:sheen 4.5s ease-in-out infinite}.fav.pending{opacity:.7}.addwrap{margin-top:8px;padding-top:8px}.addhub{position:relative;overflow:hidden;width:100%;font-weight:700;font-size:1rem;letter-spacing:-.01em;border:0;border-radius:18px;background:var(--metal);color:var(--on-metal);padding:18px 16px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:11px;box-shadow:0 12px 28px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.6)}.addhub:active{transform:translateY(1px)}.addhub .plus{width:27px;height:27px;border-radius:50%;background:rgba(10,11,13,.12);border:1.5px solid rgba(10,11,13,.32);display:grid;place-items:center;font-size:1.05rem;line-height:1;flex-shrink:0}.addhub .lbl{text-align:left;line-height:1.15}.addhub small{display:block;font-size:.65rem;font-weight:600;opacity:.7;margin-top:1px}.addhub:after{content:"";position:absolute;top:0;left:-40%;width:32%;height:100%;pointer-events:none;background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);animation:sheen 6s ease-in-out infinite}.esum{display:flex;align-items:baseline;gap:9px;margin-bottom:10px}.esum b{font-size:1.65rem;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;background:var(--metal);-webkit-background-clip:text;background-clip:text;color:transparent}.esum span{font-size:.72rem;color:var(--muted)}.eflow{border:1px solid var(--line2);border-radius:16px;background:var(--eflow-bg);padding:8px 4px 4px;margin-bottom:10px;overflow:hidden}.eflow svg{display:block;width:100%;height:auto}.enode{fill:var(--input);stroke:var(--line);stroke-width:1}.enode.src{stroke:rgba(125,206,160,.38)}.enode.snk{stroke:rgba(232,93,76,.38)}.elabel{font-size:7px;font-weight:700;letter-spacing:.11em;fill:var(--muted)}.eval{font-size:13px;font-weight:600;fill:var(--ink)}.eicon{font-size:12px}.epct{font-size:7.5px;font-weight:700;fill:var(--muted)}.track{fill:none;stroke-linecap:round;opacity:.3}.track.in{stroke:var(--in)}.track.out{stroke:var(--out)}.pdot.in{fill:var(--in)}.pdot.out{fill:var(--out)}.hglow{fill:rgba(200,208,222,.07);animation:hpulse 4.6s ease-in-out infinite}@keyframes hpulse{0%,to{opacity:.35}50%{opacity:1}}.hroof{fill:none;stroke:rgba(232,236,242,.6);stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round}.hbody{fill:var(--hbody);stroke:rgba(128,136,150,.4);stroke-width:1.4}.hnum{font-size:13px;font-weight:700;fill:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hcap{font-size:6.5px;font-weight:700;letter-spacing:.15em;fill:var(--muted)}.eleg{display:flex;justify-content:center;gap:16px;font-size:.66rem;color:var(--muted);margin-bottom:14px}.eleg i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px}.eleg .li{background:var(--in)}.eleg .lo{background:var(--out)}.studio-row{display:flex;gap:4px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:6px 8px;background:var(--surface)}.studio-row .btn{padding:6px 8px;font-size:.72rem}.studio-heading{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:4px 2px 0}.studio-lock{margin-left:8px;font-size:.62rem;letter-spacing:.06em;text-transform:uppercase}