:root{--c:#3ff3ff;--gold:#ffd76a;--bg:#02060c;--warn:#ffb340}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html,body{background:var(--bg)}
body{background:radial-gradient(ellipse at 50% 0%,#0a2a3a 0%,#02060c 60%) fixed;color:#d8fbff;font-family:-apple-system,'Segoe UI',sans-serif;min-height:100vh;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);font-size:15px}
body::before{content:'';position:fixed;inset:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.15) 0 1px,transparent 1px 3px);pointer-events:none;z-index:5}
header{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:linear-gradient(90deg,rgba(130,10,10,.55),rgba(2,6,12,.92) 40%,rgba(2,6,12,.92) 60%,rgba(130,10,10,.55));border-bottom:1px solid rgba(212,175,55,.5);backdrop-filter:blur(8px)}
.brand{color:var(--gold);font-weight:800;letter-spacing:3px;text-shadow:0 0 10px rgba(255,190,60,.7);font-size:.95em}.brand em{font-style:normal;margin-left:6px;font-size:.8em}
.hb{display:flex;gap:8px;align-items:center}.hb button{background:rgba(255,200,69,.08);border:1px solid #d4af37;color:var(--gold);width:36px;height:32px;font-size:1em;border-radius:6px}
#onair{display:none;background:#c21818;color:#fff;font-size:.7em;font-weight:700;letter-spacing:2px;padding:3px 7px;box-shadow:0 0 12px #f22;animation:bl 1.6s infinite}
html.streamer #onair{display:inline-block}html.streamer #sm{background:#d62828;color:#fff;border-color:#f66}
@keyframes bl{50%{opacity:.4}}
.hero{display:flex;flex-direction:column;align-items:center;padding:14px 0 6px}
.reactor{position:relative;width:180px;height:180px}.reactor.sm{width:120px;height:120px}
.ring{position:absolute;border-radius:50%;inset:0}
.r1{border:2px dashed rgba(255,200,80,.5);animation:spin 30s linear infinite}
.r2{inset:12px;border:5px solid transparent;border-top-color:#ffc845;border-bottom-color:#d4372c;animation:spin 8s linear infinite reverse;filter:drop-shadow(0 0 6px #ffb030)}
.r3{inset:26px;border:1px solid rgba(63,243,255,.6);background:repeating-conic-gradient(rgba(63,243,255,.35) 0 2deg,transparent 2deg 15deg);-webkit-mask:radial-gradient(transparent 62%,#000 63%);mask:radial-gradient(transparent 62%,#000 63%);animation:spin 20s linear infinite}
.r4{inset:38px;border:3px solid var(--c);box-shadow:0 0 20px var(--c),inset 0 0 20px var(--c);animation:pulse 3s ease-in-out infinite}
.reactor.sm .r4{inset:24px}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{box-shadow:0 0 36px var(--c),inset 0 0 30px var(--c)}}
.core{position:absolute;inset:48px;border-radius:50%;background:radial-gradient(circle,rgba(180,255,255,.25),rgba(0,40,60,.9));display:flex;flex-direction:column;align-items:center;justify-content:center;text-shadow:0 0 10px var(--c)}
#time{font-size:1.9em;font-weight:300;color:#eaffff}#date{font-size:.62em;letter-spacing:1px;opacity:.85}
.greet{font-size:1.25em;letter-spacing:2px;margin-top:10px}.greet b{color:var(--gold);text-shadow:0 0 10px rgba(255,200,69,.6)}
.gtag{font-size:.7em;letter-spacing:4px;opacity:.7;margin-top:2px}.gtag span{color:var(--gold);font-weight:800;letter-spacing:5px;font-size:1.25em;opacity:1}
main{display:flex;flex-direction:column;gap:12px;padding:10px 12px 16px}
.card{position:relative;--c:#3ff3ff;border:1px solid color-mix(in srgb,var(--c) 45%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--c) 10%,rgba(0,18,28,.8)),rgba(0,10,18,.85));padding:12px 14px;clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px)}
.card::before{content:'';position:absolute;top:0;left:12px;width:56px;height:2px;background:var(--c);box-shadow:0 0 8px var(--c)}
.card h2{font-size:.72em;letter-spacing:3px;text-transform:uppercase;color:var(--c);text-shadow:0 0 8px color-mix(in srgb,var(--c) 70%,transparent);margin-bottom:8px;display:flex;justify-content:space-between;align-items:center}
.live{font-size:.85em;color:#5f5;border:1px solid #5f5;padding:0 5px;letter-spacing:1px}
.c-sched{--c:#ffd84d}.c-wx{--c:#ffc845}.c-gas{--c:#ff8c2e}.c-nfl{--c:#ff5a4f}.c-meal{--c:#ffab7a}.c-claims{--c:#ff5fc8}.c-vend{--c:#ffb627}.c-osrs{--c:#e8c547}.c-streams{--c:#53fc18}.c-gym{--c:#ff4f8b}.c-fin{--c:#2fe39a}.c-links{--c:#2fe0c8}
.dim{opacity:.6}.sm{font-size:.78em}.sub{font-size:.66em;letter-spacing:2px;text-transform:uppercase;color:var(--c);margin:10px 0 4px;opacity:.9}
.btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.btn,.btns button{display:inline-block;text-decoration:none;border:1px solid var(--c);color:var(--c);background:color-mix(in srgb,var(--c) 9%,transparent);padding:8px 12px;font-size:.78em;letter-spacing:1px;text-transform:uppercase;font-family:inherit;border-radius:3px}
.btn:active,.btns button:active{background:var(--c);color:#000}
a{color:var(--c)}
.big1{font-size:1em;margin-bottom:6px}.k{font-size:.65em;letter-spacing:2px;color:var(--c);margin-right:6px}
.cd{font-weight:800;color:var(--c);text-shadow:0 0 10px var(--c);font-size:1.15em;margin-left:4px;white-space:nowrap}
.si{display:grid;grid-template-columns:72px 1fr auto;gap:8px;align-items:center;padding:6px;border-left:3px solid var(--c);margin:4px 0;font-size:.85em;background:color-mix(in srgb,var(--c) 6%,transparent)}
.si.cur{background:color-mix(in srgb,var(--c) 22%,transparent)}.si.done{opacity:.4}
.chip{font-size:.62em;text-transform:uppercase;letter-spacing:1px;padding:1px 6px;border:1px solid currentColor;border-radius:8px;opacity:.85}
.wx b{font-size:2.2em;font-weight:300;color:#fff3cf}.days{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px}
.days div{text-align:center;border:1px solid color-mix(in srgb,var(--c) 25%,transparent);padding:6px 2px;font-size:.8em}.days b,.days span,.days i{display:block}.days i{font-style:normal;font-size:.75em;opacity:.6}
.gas{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px dashed color-mix(in srgb,var(--c) 18%,transparent);font-size:.9em}
.gas.pin{border:1px solid #3d8bff;background:linear-gradient(90deg,rgba(0,90,200,.25),transparent);padding:7px 9px;margin:4px 0}.gas.pin b{color:#9cc8ff}
.gp{font-size:1.3em;font-weight:700;color:#fff;text-shadow:0 0 8px var(--c)}
.game{padding:6px 8px;margin:5px 0;border-left:2px solid rgba(255,255,255,.15)}
.game.primary{border:1px solid #d4af37;background:linear-gradient(90deg,rgba(170,0,0,.35),rgba(212,175,55,.08))}.game.second{border:1px solid #ff7a1a;background:linear-gradient(90deg,rgba(255,122,26,.18),transparent)}
.game.live{border-left:3px solid #ff4b4b}.game.mini{opacity:.65;font-size:.85em}
.tm{display:grid;grid-template-columns:22px 44px 1fr auto;align-items:center;gap:6px;font-size:.92em}.tm img{width:20px;height:20px}.tm .sc{font-weight:800;font-size:1.1em}.tm.w b,.tm.w .sc{color:var(--gold)}
.st{font-size:.72em;opacity:.8;margin-top:2px;letter-spacing:1px}.nx{font-size:.72em;opacity:.7;margin:0 0 6px 6px}
.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#ff3b3b;margin-right:5px;box-shadow:0 0 8px #ff3b3b;animation:bl 1s infinite}
details{margin-top:8px;font-size:.88em}summary{color:var(--c);letter-spacing:1px;text-transform:uppercase;font-size:.8em;padding:4px 0}
.meal{display:grid;grid-template-columns:62px 1fr;gap:8px;padding:6px 0;border-bottom:1px dashed color-mix(in srgb,var(--c) 18%,transparent)}.meal .k{padding-top:3px}
.note{color:var(--warn);font-size:.8em;margin-top:6px}.wk,.li{padding:3px 0;font-size:.92em}
.cl,.ks,.ev{display:flex;justify-content:space-between;align-items:center;padding:8px;margin:5px 0;border:1px solid color-mix(in srgb,var(--c) 30%,transparent);font-size:.88em;text-decoration:none;color:inherit}
.cl.done{border-color:#3f6;background:rgba(60,255,120,.07)}.cl.done .sm{color:#6fff9a}.cl.todo .sm{color:var(--warn)}
.ks.on{border-color:#53fc18;background:rgba(83,252,24,.08)}.ks.tw.on{border-color:#b48cff;background:rgba(145,70,255,.12)}.klive{color:#53fc18;font-size:.78em;margin-left:6px}.klive .dot{background:#53fc18;box-shadow:0 0 8px #53fc18}
.al{font-size:.82em;color:#ffd9a0;padding:2px 0}
.os{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;align-items:center;gap:4px}.k2{text-align:center}.k2 b{display:block;font-size:1.2em;color:#fff3c0}.k2 i{font-style:normal;font-size:.6em;opacity:.6;text-transform:uppercase}
.sk{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-top:8px}.sk div{text-align:center;font-size:.8em;border:1px solid rgba(120,220,90,.35);padding:3px 0}.sk i{display:block;font-style:normal;font-size:.6em;opacity:.6}.sk .max{border-color:var(--gold);color:var(--gold)}
.gy{display:grid;grid-template-columns:repeat(3,1fr);text-align:center}.gy b{display:block;font-size:1.7em;color:#ffe0ec;text-shadow:0 0 10px var(--c)}.gy i{font-style:normal;font-size:.62em;letter-spacing:2px;text-transform:uppercase;opacity:.7}
.hm{display:grid;grid-template-columns:repeat(7,16px);gap:6px;justify-content:center;margin:10px 0}.hm i{width:16px;height:16px;border-radius:50%;background:rgba(255,255,255,.07);border:1px solid rgba(255,79,139,.25)}
.hm .pf{background:#ff4f8b}.hm .vr{background:#b48cff}.hm .both{background:linear-gradient(90deg,#ff4f8b 50%,#b48cff 50%)}.hm .tdy{outline:1px solid #fff;outline-offset:1px}.hm .fut{opacity:.25}
.cd2{font-size:1.8em;font-weight:300;color:#6fff9a;text-shadow:0 0 10px #2fe39a}
.bar{height:8px;background:color-mix(in srgb,var(--c) 12%,transparent);border:1px solid color-mix(in srgb,var(--c) 30%,transparent);margin:4px 0 8px}.bar.s{height:5px}.bar i{display:block;height:100%;background:var(--c);box-shadow:0 0 8px var(--c)}
.bl{display:flex;justify-content:space-between;font-size:.82em}
.goals{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px}.goal{display:flex;gap:8px;align-items:center;font-size:.8em}.g0{fill:none;stroke:color-mix(in srgb,var(--c) 18%,transparent);stroke-width:6}.g1{fill:none;stroke:var(--c);stroke-width:6}.goal text{fill:#eaffff;font-size:13px;font-weight:700}
footer{text-align:center;font-size:.72em;opacity:.55;padding:6px 0 18px}
/* streamer mode */
.po{display:none}html.streamer .po{display:inline}html.streamer .pi{display:none!important}
html.streamer .private .cb{visibility:hidden;max-height:70px;overflow:hidden}
html.streamer .private::after{content:'█ CLASSIFIED █';position:absolute;left:0;right:0;top:34px;bottom:0;display:flex;align-items:center;justify-content:center;color:#ff6b6b;font-weight:800;letter-spacing:5px;font-size:.85em;background:repeating-linear-gradient(45deg,rgba(255,60,60,.08) 0 10px,rgba(0,0,0,.3) 10px 20px)}
/* login */
body.login{display:flex;align-items:center;justify-content:center;min-height:100vh}
.lg{display:flex;flex-direction:column;align-items:center;gap:10px;width:86%;max-width:360px}
.lgicon{position:absolute;inset:32px;width:56px;height:56px;border-radius:12px}
.lg h1{color:var(--gold);letter-spacing:6px;font-size:1.5em;text-shadow:0 0 12px rgba(255,190,60,.8);margin-top:8px}.lgsub{font-size:.62em;letter-spacing:3px;opacity:.7;text-align:center}
.lg form{width:100%;display:flex;flex-direction:column;gap:10px;margin-top:16px}
.lg input{background:rgba(0,30,45,.7);border:1px solid var(--c);color:#eaffff;padding:14px;font-size:16px;letter-spacing:2px;outline:none;box-shadow:inset 0 0 12px rgba(63,243,255,.15)}
.lg button{background:var(--c);color:#002;border:none;padding:14px;font-weight:800;letter-spacing:4px;font-size:.9em;box-shadow:0 0 16px var(--c)}
#msg{text-align:center;font-size:.8em;color:#ff8a8a;min-height:1em}
