:root{--ink:#0b0d24;--snow:#f2f5ff;--gold:#ffd23f;--red:#e8374a;--blue:#2a4bd0;--green:#3fd06b;--muted:#aab3e8;--practice:#39d0ff;--panel-top:#3445b8;--panel-bot:#161e66;--panel-edge:#e8ecff;--panel-glow:#6f80ff;--paper:#fff8e6;--paper-ink:#2b2140;--s:3;--checker:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8'><rect width='4' height='4' fill='%232a1f68'/><rect x='4' y='4' width='4' height='4' fill='%232a1f68'/></svg>")}*{box-sizing:border-box}html,body{min-height:100%;color:var(--snow);margin:0}body{background:#241a5c var(--checker);font-family:VT323,monospace;font-size:22px}#root{min-height:100vh}.px{font-family:"Press Start 2P",monospace}canvas.sp,.pixel{image-rendering:pixelated;image-rendering:crisp-edges}button{font:inherit}a{color:var(--gold)}.win{background:linear-gradient(var(--panel-top), var(--panel-bot));border:3px solid var(--panel-edge);box-shadow:0 0 0 3px var(--ink), inset 0 0 0 2px var(--panel-glow), 0 8px 0 3px #0000004d;border-radius:8px;padding:14px 18px}.btn{cursor:pointer;background:var(--gold);color:var(--ink);border:0;border-radius:4px;padding:14px 18px;font-family:"Press Start 2P";font-size:14px;text-decoration:none;display:inline-block;box-shadow:0 5px #a8801a}.btn:active{transform:translateY(4px);box-shadow:0 1px #a8801a}.btn.alt{background:#c8ccd8;box-shadow:0 5px #7c8296}.btn kbd{background:var(--ink);color:var(--snow);vertical-align:middle;border-radius:3px;margin-left:8px;padding:3px 5px;font-family:inherit;font-size:9px}.iconbtn{background:var(--ink);color:var(--muted);border:2px solid var(--panel-glow);cursor:pointer;border-radius:4px;padding:10px 12px;font-family:"Press Start 2P";font-size:11px;text-decoration:none}.iconbtn:hover{color:var(--snow);border-color:var(--gold)}.shake{animation:.35s shake}@keyframes shake{20%,60%{transform:translate(-10px)}40%,80%{transform:translate(10px)}}@keyframes pop{0%{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}@keyframes blink{50%{opacity:.4}}.loading{min-height:100vh;color:var(--muted);place-items:center;font-family:"Press Start 2P";font-size:14px;display:grid}.toast{background:var(--ink);border:2px solid var(--gold);color:var(--snow);z-index:50;border-radius:6px;padding:10px 16px;font-size:20px;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}.gate{background:var(--ink);text-align:center;z-index:100;place-items:center;padding:16px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.gate .win{max-width:520px}.gate h2{color:var(--gold);font-family:"Press Start 2P";font-size:16px;line-height:1.6}.scr-title{background:#241a5c;place-items:center;display:grid;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.scr-title canvas{display:block}.scr-title .overlay{flex-direction:column;justify-content:center;align-items:center;gap:28px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.logo{text-align:center;filter:drop-shadow(0 6px 0 var(--ink));font-family:"Press Start 2P";line-height:1.25}.logo .small{color:var(--gold);letter-spacing:2px;text-shadow:3px 3px 0 var(--ink);font-size:18px}.logo .big{color:var(--snow);text-shadow:4px 0 0 var(--blue), -4px 0 0 var(--blue), 0 4px 0 var(--blue), 0 -4px 0 var(--blue), 4px 4px 0 var(--blue), -4px -4px 0 var(--blue), 4px -4px 0 var(--blue), -4px 4px 0 var(--blue), 8px 8px 0 var(--ink);font-size:56px}.logo .big span{color:var(--gold)}.logo .tag{color:#ffe9a8;text-shadow:2px 2px 0 var(--ink);margin-top:14px;font-size:12px}.login{text-align:center;width:520px;padding:22px 28px}.login h2{color:var(--gold);margin:0 0 16px;font-family:"Press Start 2P";font-size:14px}.login .pw{justify-content:center;gap:12px;display:flex}.login input{background:var(--ink);width:300px;color:var(--snow);border:3px solid var(--panel-glow);letter-spacing:6px;text-align:center;border-radius:4px;outline:none;padding:14px;font-family:"Press Start 2P";font-size:20px}.login input:focus{border-color:var(--gold)}.login .hint{color:#c8d0ff;margin-top:12px;font-size:22px}.login .err{color:#ff9aa6}.scr-hub .wrap{gap:16px;max-width:1320px;margin:0 auto;padding:16px 20px 28px;display:grid}.scr-hub .top{align-items:center;gap:18px;display:flex}.hero{align-items:center;gap:14px;display:flex}.hero .pt{border:3px solid var(--panel-edge);background:#7fb2ff;border-radius:6px;flex:none;width:64px;height:64px;position:relative;overflow:hidden}.hero .pt canvas{width:96px;height:120px;position:absolute;top:-22px;left:-16px}.hero .name{color:var(--gold);font-size:16px}.hero .lvl{color:var(--muted);font-size:22px}.xp{background:var(--ink);border:2px solid var(--panel-glow);width:200px;height:12px;margin-top:6px}.xp i{background:linear-gradient(90deg,#39d0ff,#7cf0ff);height:100%;display:block}.xpl{color:var(--muted);margin-top:2px;font-size:17px}.spacer{flex:1}.stat{align-items:center;gap:8px;font-size:14px;display:flex}.stat canvas{width:28px;height:28px}.quest{grid-template-columns:330px 1fr auto;align-items:center;gap:22px;display:grid}.quest h2{color:var(--gold);margin:0 0 10px;font-size:14px}.prac{align-items:center;gap:12px;display:flex}.prac canvas{flex:none;width:44px;height:48px}.prac .num{color:var(--snow);text-shadow:2px 2px 0 var(--ink);font-family:"Press Start 2P";font-size:20px}.prac .num small{color:var(--muted);font-size:11px}.prac .lbl{color:var(--practice);margin-top:6px;font-family:"Press Start 2P";font-size:9px}.prac.done .lbl{color:var(--green)}.pbar{background:var(--ink);border:2px solid var(--panel-edge);border-radius:3px;height:16px;margin-top:10px;overflow:hidden}.pbar i{background:linear-gradient(#7cf0ff,#1a8fb8);height:100%;display:block}.pbar.done i{background:linear-gradient(#5ff08a,#2cae55)}.pfoot{color:var(--muted);margin-top:4px;font-size:17px}.quest .msg{font-size:26px;line-height:1.15}.quest .msg b{color:var(--gold);font-weight:400}.quest .msg .pr{color:var(--practice)}.hub-meter{background:var(--ink);border:2px solid var(--panel-edge);border-radius:3px;height:22px;margin-top:10px;position:relative;overflow:hidden}.hub-meter .earned{background:linear-gradient(#5ff08a,#2cae55);position:absolute;top:0;bottom:0;left:0;right:auto}.hub-meter .pending{opacity:.85;background:repeating-linear-gradient(45deg,#ffd23f 0 6px,#c79a12 6px 12px);position:absolute;top:0;bottom:0}.hub-meter span{color:var(--snow);text-shadow:2px 2px 0 var(--ink);place-items:center;font-family:"Press Start 2P";font-size:10px;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.cta{cursor:pointer;background:var(--gold);color:var(--ink);text-align:center;border:0;border-radius:4px;padding:14px 16px;font-family:"Press Start 2P";font-size:12px;line-height:1.5;text-decoration:none;box-shadow:0 5px #a8801a}.section-title{color:var(--snow);text-shadow:3px 3px 0 var(--ink);margin:6px 2px -4px;font-size:13px}.games{grid-template-columns:repeat(5,1fr);gap:16px;display:grid}.cart{box-shadow:0 0 0 3px var(--ink), 0 8px 0 3px #00000059;cursor:pointer;color:inherit;text-align:left;background:linear-gradient(#4a4f63,#2b2f3f);border:3px solid #c8ccd8;border-radius:10px 10px 6px 6px;outline:none;width:100%;padding:10px;text-decoration:none;transition:transform .12s;display:block;position:relative}.cart:hover,.cart.sel{border-color:var(--gold);box-shadow:0 0 0 3px var(--ink), 0 0 0 7px var(--gold), 0 14px 0 3px #00000059;transform:translateY(-6px)}.cart:focus-visible{border-color:var(--gold);box-shadow:0 0 0 3px var(--ink), 0 0 0 7px var(--gold), 0 14px 0 3px #00000059;transform:translateY(-6px)}.cart .grip{background:repeating-linear-gradient(90deg,#1c1f2b 0 6px,#0000 6px 10px);height:8px;margin:-2px 18px 8px}.cart canvas{aspect-ratio:3/2;border:3px solid var(--ink);border-radius:4px;width:100%;display:block}.cart h3{color:var(--snow);margin:10px 0 4px;font-family:"Press Start 2P";font-size:11px;line-height:1.4}.cart .meta{color:var(--muted);justify-content:space-between;font-size:19px;display:flex}.tag{background:var(--ink);color:#7cf0ff;border-radius:3px;margin-right:4px;padding:4px 6px;font-family:"Press Start 2P";font-size:8px;display:inline-block}.tag.co{color:#ffd23f}.cart .key{background:var(--snow);color:var(--ink);border:2px solid var(--ink);border-radius:5px;place-items:center;width:30px;height:30px;font-family:"Press Start 2P";font-size:12px;display:grid;position:absolute;top:-12px;left:-10px;box-shadow:0 3px #8f97c9}.cart .badge{background:var(--green);color:var(--ink);border:2px solid var(--ink);border-radius:4px;padding:6px 7px;font-family:"Press Start 2P";font-size:8px;position:absolute;top:-12px;right:-8px}.cart.locked{filter:grayscale(.9)brightness(.65);cursor:default}.cart.locked:hover{box-shadow:0 0 0 3px var(--ink), 0 8px 0 3px #00000059;border-color:#c8ccd8;transform:none}.hintbar{color:var(--muted);text-align:center;font-size:20px}.hintbar kbd{background:var(--snow);color:var(--ink);border-radius:3px;padding:3px 6px;font-family:"Press Start 2P";font-size:10px}.bottom{grid-template-columns:1.2fr 1fr;gap:16px;display:grid}.bottom h2{color:var(--gold);margin:0 0 12px;font-size:12px}.collect{gap:12px;display:flex}.coll{border:2px solid var(--panel-glow);text-align:center;background:#0b0d2480;border-radius:6px;flex:1;padding:10px 6px}.coll canvas{object-fit:contain;width:40px;height:40px}.coll.fcards{border-color:var(--gold)}.coll .foil{color:#ff8ad8;margin-top:4px;font-family:"Press Start 2P";font-size:8px}.coll .n{color:var(--snow);margin-top:6px;font-family:"Press Start 2P";font-size:11px}.coll .l{color:var(--muted);font-size:19px}.cast{align-items:flex-end;gap:8px;display:flex}.member{text-align:center;color:var(--muted);width:56px;font-size:17px}.member .box{border:2px solid var(--panel-glow);background:#0b0d2499;border-radius:6px;width:56px;height:62px;position:relative;overflow:hidden}.member .box canvas{width:48px;height:60px;position:absolute;bottom:0;left:2px}.member .box .q{color:var(--panel-glow);place-items:center;font-family:"Press Start 2P";font-size:18px;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.member.on .box{border-color:var(--gold);background:#7fb2ff}.member.open .box{border-color:var(--green)}.member .st{color:var(--muted);margin-top:3px;font-family:"Press Start 2P";font-size:7px}.member.open .st{color:var(--green)}.nextul{margin-top:12px}.nextul .t{color:var(--gold);font-family:"Press Start 2P";font-size:10px;line-height:1.6}.nextul .bar{background:var(--ink);border:2px solid var(--panel-glow);height:12px;margin-top:6px}.nextul .bar i{background:linear-gradient(90deg,#ffd23f,#ffef9a);height:100%;display:block}.nextul .s{color:var(--muted);margin-top:2px;font-size:18px}.scr-play{background:#1b1650;flex-direction:column;justify-content:center;align-items:center;gap:10px;height:100vh;display:flex;overflow:hidden}.screen{border:3px solid var(--panel-edge);box-shadow:0 0 0 3px var(--ink), 0 10px 0 3px #00000059;position:relative}.screen canvas{image-rendering:pixelated;image-rendering:crisp-edges;display:block}.hud{padding:calc(var(--s) * 3px) calc(var(--s) * 4px);pointer-events:none;font-family:"Press Start 2P";font-size:calc(var(--s) * 4px);justify-content:space-between;align-items:flex-start;display:flex;position:absolute;top:0;left:0;right:0}.hud .box{color:var(--snow);padding:calc(var(--s) * 2.5px) calc(var(--s) * 3px);border-radius:calc(var(--s) * 1.5px);border:calc(var(--s) * .7px) solid var(--panel-edge);background:#0b0d24d1;line-height:1.6}.hud .lbl{color:var(--muted);font-size:.7em}.hud .tright{text-align:right}.hud .alert{color:var(--red)}.hud .row2{gap:calc(var(--s) * 4px);display:flex}.bubble{background:var(--snow);max-width:44%;color:var(--ink);font-size:calc(var(--s) * 7px);padding:calc(var(--s) * 3px) calc(var(--s) * 4px);border-radius:calc(var(--s) * 3px);border:calc(var(--s) * 1px) solid var(--ink);line-height:1.05;position:absolute;top:47%;right:4%}.bubble:after{content:"";right:28%;bottom:calc(var(--s) * -5px);border:calc(var(--s) * 3px) solid transparent;border-top-color:var(--snow);position:absolute}.combo{text-align:center}.combo .mult{font-size:calc(var(--s) * 9px);color:var(--gold);text-shadow:calc(var(--s) * 1px) calc(var(--s) * 1px) 0 var(--ink);transition:transform .15s}.combo .mult.bump{transform:scale(1.35)}.combo .mult.fire{color:#ff8a1f;animation:.4s steps(2,end) infinite fire}@keyframes fire{50%{color:#ffd23f}}.pips{gap:calc(var(--s) * 1px);margin-top:calc(var(--s) * 1px);justify-content:center;display:flex}.pips i{width:calc(var(--s) * 3px);height:calc(var(--s) * 3px);border:calc(var(--s) * .5px) solid var(--ink);background:#0b0d2480}.pips i.on{background:var(--gold)}.play-overlay{background:#0b0d248c;place-items:center;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.play-overlay .win{text-align:center;max-width:620px;padding:22px 28px}.play-overlay h1{color:var(--gold);text-shadow:3px 3px 0 var(--ink);margin:0 0 14px;font-family:"Press Start 2P";font-size:26px}.play-overlay p{margin:8px 0;font-size:26px}.play-overlay kbd,.win kbd{background:var(--snow);color:var(--ink);border-radius:4px;padding:4px 8px;font-family:"Press Start 2P";font-size:13px;box-shadow:0 3px #8f97c9}.count{color:var(--gold);text-shadow:6px 6px 0 var(--ink);font-family:"Press Start 2P";font-size:96px}.caps{background:var(--red);color:var(--snow);border:3px solid var(--snow);box-shadow:0 0 0 3px var(--ink);white-space:nowrap;border-radius:6px;padding:14px 18px;font-family:"Press Start 2P";font-size:16px;position:absolute;bottom:12%;left:50%;transform:translate(-50%)}.kb{flex-direction:column;align-items:center;gap:5px;display:flex}.kb .row{gap:5px;display:flex}.kb .k{color:#6b7290;background:#2b2f3f;border-bottom:4px solid #151826;border-radius:5px;place-items:center;width:40px;height:34px;font-family:"Press Start 2P";font-size:11px;transition:transform 80ms;display:grid}.kb .k.lv{color:var(--ink)}.kb .k.next{outline:3px solid var(--gold);outline-offset:2px;box-shadow:0 0 14px var(--gold);transform:translateY(-3px)}.kb .k.next.blk{outline-color:var(--red);box-shadow:0 0 14px var(--red)}.legend{color:var(--muted);gap:14px;font-size:18px;display:flex}.legend i{vertical-align:middle;border-radius:2px;width:12px;height:12px;margin-right:4px;display:inline-block}.side{z-index:5;gap:8px;display:flex;position:fixed;top:10px;right:10px}.side button{background:var(--ink);color:var(--muted);border:2px solid var(--panel-glow);cursor:pointer;border-radius:4px;padding:8px 10px;font-family:"Press Start 2P";font-size:10px}.fps{color:#8f97c9;font-size:18px;position:fixed;top:10px;left:10px}.scr-results{background:radial-gradient(circle at 50% 30%,#3a2a8a,#1b1650 60%,#0f0c33);place-items:center;min-height:100vh;padding:12px 20px 24px;font-size:24px;display:grid}.scr-results .card{gap:12px;width:min(1000px,100%);display:grid}.scr-results .win{padding:16px 26px}.res-head{text-align:center}.res-head .game{color:var(--muted);letter-spacing:2px;font-size:12px}.res-title{letter-spacing:2px;text-shadow:5px 5px 0 var(--ink);margin:10px 0 4px;font-family:"Press Start 2P";font-size:44px;animation:.5s cubic-bezier(.2,1.6,.4,1) both pop}.res-title.pass{color:var(--gold)}.res-title.close{color:#ffb86b}.res-title.try{color:#7cd4ff}.res-title.max{color:var(--green)}.res-head .sub{font-size:28px}.stars{justify-content:center;gap:10px;margin-top:8px;display:flex}.stars canvas{width:40px;height:40px}.stars canvas.off{filter:brightness(.25)}.stars canvas.in{animation:.4s cubic-bezier(.2,1.6,.4,1) both pop}.res-grid{grid-template-columns:1.3fr 1fr;gap:18px;display:grid}.stats{gap:14px;display:grid}.stat-row{padding-bottom:14px}.stat-row .row{justify-content:space-between;align-items:baseline;display:flex}.stat-row .lbl{color:var(--muted);font-family:"Press Start 2P";font-size:11px}.stat-row .val{font-family:"Press Start 2P";font-size:20px}.bar{background:var(--ink);border:2px solid var(--panel-edge);border-radius:3px;height:20px;margin-top:6px;position:relative}.bar .fill{background:linear-gradient(#5ff08a,#2cae55);width:0;transition:width 1.1s cubic-bezier(.2,.8,.2,1);position:absolute;top:0;bottom:0;left:0;right:auto}.bar .fill.low{background:linear-gradient(#ffcf7a,#e08a2a)}.bar .mark{background:var(--gold);width:3px;position:absolute;top:-8px;bottom:-8px}.bar .mark:after{content:attr(data-l);white-space:nowrap;color:var(--gold);font-family:"Press Start 2P";font-size:9px;position:absolute;bottom:-20px;left:-14px}.mini{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.mini div{border:2px solid var(--panel-glow);text-align:center;background:#0b0d2480;border-radius:6px;padding:10px}.mini b{margin-top:6px;font-family:"Press Start 2P";font-size:16px;font-weight:400;display:block}.mini span{color:var(--muted);font-size:19px}.reward{align-content:start;gap:12px;display:grid}.mins{text-align:center;border:3px solid var(--green);background:#0f3a2a;border-radius:8px;padding:14px}.mins.none{border-color:var(--panel-glow);background:#0b0d2480}.mins .big{color:var(--green);text-shadow:3px 3px 0 var(--ink);font-family:"Press Start 2P";font-size:40px}.mins.none .big{color:var(--muted);font-size:22px;line-height:1.5}.mins .cap{color:#c8f5d6;font-size:21px}.mins .cap b{color:var(--gold);font-weight:400}.mins .prac{background:var(--ink);border:2px solid var(--panel-edge);border-radius:3px;max-width:300px;height:14px;margin:10px auto 0;overflow:hidden}.mins .prac i{background:linear-gradient(#7cf0ff,#1a8fb8);height:100%;display:block}.mins .prac.done i{background:linear-gradient(#5ff08a,#2cae55)}.mins .ptxt{color:#7cd4ff;margin-top:4px;font-size:19px}.loot{gap:10px;display:flex}.loot div{border:2px solid var(--panel-glow);text-align:center;background:#0b0d2480;border-radius:6px;flex:1;padding:8px;font-size:19px}.loot canvas{width:40px;height:40px;margin:0 auto 4px;display:block}.loot .new{color:var(--gold);font-family:"Press Start 2P";font-size:9px}.closeTip{text-align:center;background:#ffb86b1f;border:2px dashed #ffb86b;border-radius:8px;padding:12px;font-size:24px}.closeTip b{color:#ffb86b;font-weight:400}.actions{justify-content:center;gap:16px;display:flex}.pb{background:var(--red);color:var(--snow);vertical-align:middle;border-radius:4px;margin-left:8px;padding:6px 8px;font-family:"Press Start 2P";font-size:10px;animation:.8s steps(2,end) infinite blink;display:inline-block}.scr-today{padding:18px 20px 28px;font-size:24px}.scr-today .wrap{gap:16px;max-width:1180px;margin:0 auto;display:grid}.scr-today .top{justify-content:space-between;align-items:center;display:flex}.scr-today .top h1{color:var(--gold);text-shadow:3px 3px 0 var(--ink);margin:0;font-family:"Press Start 2P";font-size:22px}.ticket{background:var(--paper);color:var(--paper-ink);box-shadow:0 0 0 3px var(--ink), 0 12px 0 3px #00000059;border-radius:6px;padding:22px 30px 26px;position:relative}.ticket:before,.ticket:after{content:"";background:radial-gradient(circle at 8px -2px, transparent 7px, var(--paper) 8px) 0 0/16px 10px repeat-x;height:10px;position:absolute;left:0;right:0}.ticket:before{top:-9px;transform:scaleY(-1)}.ticket:after{bottom:-9px}.dateRow{border-bottom:3px dashed #d8cdb0;justify-content:space-between;align-items:flex-end;padding-bottom:14px;display:flex}.dateRow .date{font-family:"Press Start 2P";font-size:30px;line-height:1.3}.dateRow .date small{color:#7a6a9a;margin-bottom:6px;font-size:13px;display:block}.live{text-align:right;color:#7a6a9a;font-size:22px}.live .clock{color:var(--paper-ink);font-family:"Press Start 2P";font-size:18px}.live canvas{vertical-align:middle;width:40px;height:40px;margin-left:6px}.ticket table{border-collapse:collapse;width:100%;margin-top:10px;font-size:24px}.ticket th{color:#7a6a9a;text-align:left;padding:8px 6px;font-family:"Press Start 2P";font-size:10px;font-weight:400}.ticket td{border-bottom:2px solid #efe6cc;padding:8px 6px}.ticket td.g{align-items:center;gap:10px;display:flex}.ticket td.g canvas{border:2px solid var(--paper-ink);border-radius:3px;width:42px;height:28px}.ticket .num{text-align:right;font-family:"Press Start 2P";font-size:13px}.ticket .ok{color:#1e8a45}.ticket .no{color:#b8323f}.res{border-radius:3px;padding:5px 7px;font-family:"Press Start 2P";font-size:11px;display:inline-block}.res.ok{background:#d5f5df}.res.no{background:#fadadd}.ticket tr.fail td{color:#9a8fb0}.summary{grid-template-columns:1fr 1fr 1.25fr;align-items:stretch;gap:16px;margin-top:18px;display:grid}.summary .box{border:3px solid var(--paper-ink);text-align:center;border-radius:6px;padding:12px}.summary .lbl{color:#7a6a9a;font-family:"Press Start 2P";font-size:10px}.summary .v{margin-top:10px;font-family:"Press Start 2P";font-size:26px}.summary.first{margin-top:14px;margin-bottom:6px}.pmeter{border:3px solid var(--paper-ink);background:#fff;border-radius:3px;height:22px;margin-top:10px;position:relative;overflow:hidden}.pmeter i{background:#39d0ff;position:absolute;top:0;bottom:0;left:0;right:auto}.pmeter.done i{background:#3fd06b}.psub{color:#5a4a7a;margin-top:6px;font-size:19px}.today-meter{border:3px solid var(--paper-ink);background:#fff;border-radius:3px;height:22px;margin-top:10px;position:relative;overflow:hidden}.today-meter .e{background:#3fd06b;position:absolute;top:0;bottom:0;left:0;right:auto}.today-meter .p{background:repeating-linear-gradient(45deg,#ffd23f 0 6px,#e0b020 6px 12px);position:absolute;top:0;bottom:0}.stamp{text-align:center;border:5px solid;border-radius:10px;place-items:center;padding:10px;font-family:"Press Start 2P";line-height:1.5;animation:.45s cubic-bezier(.3,1.8,.5,1) both stamp;display:grid;position:relative;transform:rotate(-4deg)}@keyframes stamp{0%{opacity:0;transform:rotate(-4deg)scale(2.2)}to{opacity:1;transform:rotate(-4deg)scale(1)}}.stamp.unlocked{color:#1e8a45;background:#3fd06b1f;border-color:#1e8a45}.stamp.pending{color:#b07a00;background:#ffd23f26;border-color:#d39b00}.stamp.none{color:#7a6a9a;border-color:#a99cc4}.stamp.max{color:#1e5bd0;background:#2a4bd014;border-color:#1e5bd0}.stamp .t{font-size:22px}.stamp .s{margin-top:6px;font-size:11px}.show{text-align:center;color:var(--snow);text-shadow:2px 2px 0 var(--ink);font-family:"Press Start 2P";font-size:13px;line-height:1.8}.show b{color:var(--gold);font-weight:400}.scr-parent{--bg:#14163a;--panel:#1d2152;--panel2:#252a63;--line:#343a7a;--text:#eef0ff;--text2:#b9bfe6;--pmuted:#8a90bf;--series:#7cd4ff;background:var(--bg);min-height:100vh;color:var(--text);font:16px/1.45 system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.scr-parent header{background:var(--panel);border-bottom:3px solid var(--line);align-items:center;gap:16px;padding:14px 24px;display:flex}.scr-parent header h1{color:var(--gold);margin:0;font-family:"Press Start 2P";font-size:14px}.scr-parent header .who{color:var(--text2)}.ptabs{gap:6px;display:flex}.ptab,.pbtn{background:var(--panel2);color:var(--text);border:2px solid var(--line);cursor:pointer;border-radius:6px;padding:8px 14px;font:600 14px system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue;text-decoration:none}.ptab{color:var(--text2);background:0 0}.ptab[aria-selected=true],.pbtn.primary{background:var(--gold);color:var(--ink);border-color:var(--gold)}.pbtn.danger{color:#ffb3bd;border-color:#7a2a3a}.scr-parent main{gap:18px;max-width:1280px;margin:0 auto;padding:20px 24px;display:grid}.pgrid{gap:18px;display:grid}.g4{grid-template-columns:repeat(4,1fr)}.g2{grid-template-columns:1.4fr 1fr}.g2e{grid-template-columns:1fr 1fr}.pcard{background:var(--panel);border:2px solid var(--line);border-radius:10px;padding:16px 18px}.pcard h2{margin:0 0 4px;font-size:15px}.pcard .sub{color:var(--pmuted);margin:0 0 12px;font-size:13px}.tile .lbl{color:var(--text2);font-size:13px}.tile .v{font-variant-numeric:tabular-nums;margin-top:4px;font-size:34px;font-weight:700}.tile .d{color:var(--text2);font-size:13px}.scr-parent svg text{fill:var(--pmuted);font:12px system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue}.tt{pointer-events:none;color:#eef0ff;z-index:9;background:#0b0d24;border:1px solid #343a7a;border-radius:6px;padding:6px 9px;font:13px system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue;position:fixed}.heat{gap:6px;display:grid}.heat .r{gap:6px;display:flex}.heat .k{width:52px;height:50px;color:var(--ink);border:2px solid #0000;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex}.heat .k small{opacity:.85;font-size:11px;font-weight:500}.heat .k.na{color:#5d6390;background:#2b2f5a}.heat .k:hover{border-color:var(--text)}.ramp{color:var(--pmuted);align-items:center;gap:8px;margin-top:10px;font-size:12px;display:flex}.ramp i{border-radius:2px;width:26px;height:12px;display:inline-block}.ladder{gap:8px;display:grid}.step{background:var(--panel2);color:var(--text2);border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.step .dot{width:22px;height:22px;color:var(--text2);background:#343a7a;border-radius:50%;place-items:center;font-size:12px;font-weight:700;display:grid}.step.done .dot{background:var(--green);color:var(--ink)}.step.cur{outline:2px solid var(--gold);color:var(--text)}.step.cur .dot{background:var(--gold);color:var(--ink)}.step .lbar{background:#343a7a;border-radius:4px;flex:1;max-width:160px;height:8px;overflow:hidden}.step .lbar i{background:var(--gold);height:100%;display:block}.scr-parent table{border-collapse:collapse;width:100%;font-size:14px}.scr-parent th{color:var(--pmuted);text-align:left;border-bottom:2px solid var(--line);padding:6px 8px;font-weight:600}.scr-parent td{font-variant-numeric:tabular-nums;border-bottom:1px solid #2a2f68;padding:7px 8px}.scr-parent td.n,.scr-parent th.n{text-align:right}.pill{border-radius:10px;padding:2px 8px;font-size:12px;font-weight:700}.pill.ok{color:#8ff0b0;background:#1d4d33}.pill.pend{color:#ffe08a;background:#4d4214}.pill.none{color:var(--pmuted);background:#2b2f5a}form.settings{grid-template-columns:1fr 1fr;gap:18px;display:grid}.field{gap:6px;display:grid}.field label{font-weight:600}.field .help{color:var(--pmuted);font-size:13px}.field .ctl{align-items:center;gap:10px;display:flex}.field input[type=number]{background:var(--ink);width:110px;color:var(--text);border:2px solid var(--line);border-radius:6px;padding:8px 10px;font:600 18px system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue}.field input[type=range]{accent-color:var(--gold);flex:1}.field .unit{color:var(--text2)}.preview{background:var(--panel2);color:var(--text2);border-radius:8px;padding:12px 14px}.preview b{color:var(--gold)}.pgate{place-items:center;min-height:100vh;display:grid}.pgate .pcard{text-align:center;width:420px}.pgate input{background:var(--ink);width:100%;color:var(--text);border:2px solid var(--line);text-align:center;border-radius:6px;margin:12px 0;padding:10px;font:600 20px system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue}.empty{color:var(--pmuted);text-align:center;padding:18px 0}.testbar{border:3px solid var(--ink);background:repeating-linear-gradient(45deg,#ffd23f 0 14px,#10121c 14px 28px);border-radius:6px;justify-content:center;align-items:center;gap:14px;padding:8px 14px;display:flex}.testbar .msg{background:var(--ink);color:var(--gold);border-radius:4px;padding:8px 12px;font-family:"Press Start 2P";font-size:11px;line-height:1.5}.testbar .msg span{color:var(--snow);font-family:VT323;font-size:20px}.testbar button{background:var(--snow);color:var(--ink);cursor:pointer;border:0;border-radius:4px;padding:10px 12px;font-family:"Press Start 2P";font-size:10px;box-shadow:0 4px #8f97c9}.testbar.page{max-width:1320px;margin:12px auto 0}.testbar.inline{white-space:nowrap}.mins.test{border:3px dashed var(--gold);background:#3a3214}.mins.test .big{color:var(--gold);font-size:30px}.mins.test .cap{color:#ffe9a8}.scr-parent .tnote{color:#ffe08a;background:#4d4214;border-radius:12px;padding:4px 10px;font-size:13px}.scr-kombat{background:#1b1650;flex-direction:column;justify-content:center;align-items:center;gap:14px;height:100vh;display:flex;overflow:hidden}.scr-kombat h1{color:var(--gold);text-shadow:4px 4px 0 var(--ink);margin:0 0 14px;font-family:"Press Start 2P";font-size:24px}.scr-kombat canvas{image-rendering:pixelated;image-rendering:crisp-edges}.scr-kombat kbd{background:var(--snow);color:var(--ink);border-radius:4px;padding:4px 8px;font-family:"Press Start 2P";font-size:12px;box-shadow:0 3px #8f97c9}.fighters{flex-wrap:nowrap;gap:10px;display:flex}.fcell{text-align:center;cursor:pointer;width:138px;padding:10px 6px;transition:transform .12s;position:relative}.fcell .q{color:#4b55a8;border:3px dashed #4b55a8;border-radius:6px;place-items:center;width:96px;height:120px;margin:0 auto;font-family:"Press Start 2P";font-size:40px;display:grid}.fcell.soon{background:linear-gradient(#1f2460,#10143e);border-style:dashed}.fcell canvas{width:96px;height:120px;margin:0 auto;display:block}.fcell .nm{margin-top:8px;font-family:"Press Start 2P";font-size:12px}.fcell .key{color:var(--muted);font-family:"Press Start 2P";font-size:10px;position:absolute;top:8px;left:8px}.fcell.on{border-color:var(--gold);box-shadow:0 0 0 3px var(--ink), inset 0 0 0 2px var(--gold), 0 0 22px #ffd23f8c;transform:translateY(-8px)}.fcell.on .nm{color:var(--gold)}.fcell.on:before{content:"▼";color:var(--gold);font-size:22px;animation:.6s steps(2,end) infinite bob;position:absolute;top:-30px;left:50%;transform:translate(-50%)}@keyframes bob{50%{top:-24px}}.fcell.locked{background:linear-gradient(#262c6e,#11164a)}.fcell.locked .nm{color:var(--muted)}.lockpill{background:var(--ink);color:var(--muted);border-radius:3px;margin-top:6px;padding:4px 6px;font-family:"Press Start 2P";font-size:9px;display:inline-block}.prog{background:var(--ink);border:2px solid var(--panel-edge);border-radius:3px;height:12px;margin:8px 6px 2px;position:relative}.prog i{background:linear-gradient(#ffe27a,#d9a718);position:absolute;top:0;bottom:0;left:0;right:auto}.prog+span{color:var(--muted);font-size:16px}.detail{text-align:left;grid-template-columns:1fr 1.2fr;gap:24px;width:880px;padding:16px 22px;display:grid}.detail h2{color:var(--gold);margin:0 0 10px;font-family:"Press Start 2P";font-size:16px}.detail h2 .starter{color:var(--muted);margin-left:8px;font-size:9px}.detail h3{color:var(--muted);margin:0 0 8px;font-family:"Press Start 2P";font-size:10px}.mv{grid-template-columns:86px 1fr;margin-bottom:4px;font-size:22px;line-height:1.15;display:grid}.mv b{color:var(--muted);padding-top:6px;font-family:"Press Start 2P";font-size:8px;font-weight:400}.mv.sup span{color:var(--gold)}.tnt{color:var(--muted);margin-top:6px;font-size:20px}.gaunt{align-items:center;gap:8px;display:flex}.gaunt div{text-align:center;color:var(--muted);font-family:"Press Start 2P";font-size:8px}.gaunt canvas{background:#0b0d2473;border-radius:4px;width:52px;height:65px;margin:0 auto 4px;display:block}.gaunt .qs{color:#4b55a8;background:#0b0d2473;border-radius:4px;place-items:center;width:52px;height:80px;margin:0 auto 4px;font-size:18px;display:grid}.gaunt .ar{color:var(--gold);font-size:14px}.lockmsg{color:#ffb86b;margin-top:6px;font-size:23px}.scr-kombat .hintbar{color:var(--muted);font-size:22px}.kgrid{grid-template-columns:1fr 1.25fr;gap:18px;display:grid}.kgrid .win{text-align:left;padding:14px 18px}.kgrid h3{color:var(--muted);margin:0 0 10px;font-family:"Press Start 2P";font-size:11px}.kos{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px;display:grid}.kos div{border:2px solid var(--panel-glow);text-align:center;color:var(--muted);background:#0b0d2480;border-radius:6px;padding:10px;font-size:19px}.kos b{color:var(--snow);margin:4px 0;font-family:"Press Start 2P";font-size:20px;font-weight:400;display:block}.kos .big b{color:var(--gold);font-size:28px}.kline{justify-content:space-between;margin:4px 0;font-size:22px;display:flex}.kline span:last-child{font-family:"Press Start 2P";font-size:14px}.cards{align-items:flex-start;gap:12px;display:flex}.kcoll{color:var(--muted);align-items:center;gap:6px;margin-top:10px;font-size:19px;display:flex}.kcoll i{background:#0b0d2480;border:2px solid #343a7a;border-radius:3px;width:22px;height:30px;display:inline-block}.kcoll i.n{border-color:var(--c);background:linear-gradient(#2b3190,#141a5a)}.kcoll i.f{border-color:var(--c);background:linear-gradient(115deg,#ff8ad8,#ffd23f,#3ff0ff)}.fcard{--c:#ffd23f;border:3px solid var(--c);width:168px;box-shadow:0 0 0 3px var(--ink);text-align:center;background:linear-gradient(#2b3190,#141a5a);border-radius:8px;flex:none;padding:8px 8px 10px;position:relative;overflow:hidden}.fcard .ct{color:var(--c);text-shadow:2px 2px 0 var(--ink);font-family:"Press Start 2P";font-size:11px}.fcard canvas{width:64px;height:80px;image-rendering:pixelated;background:radial-gradient(circle at 50% 70%,#ffffff2e,#0000 65%);margin:4px auto;display:block}.fcard ul{text-align:left;margin:0;padding:0;font-size:18px;line-height:1.05;list-style:none}.fcard li{margin-bottom:3px}.fcard li b{color:var(--muted);font-family:"Press Start 2P";font-size:6px;font-weight:400;display:block}.fcard .tn{color:var(--muted);margin-top:4px;font-size:16px;line-height:1}.fcard .tag{background:var(--gold);color:var(--ink);z-index:2;border-radius:2px;padding:3px 4px;font-family:"Press Start 2P";font-size:7px;position:absolute;top:6px;right:6px}.fcard.foil{animation:1.2s steps(6,end) infinite rim}.fcard.foil:after{content:"";pointer-events:none;background:linear-gradient(115deg,#0000 30%,#ffffff59 42%,#ff8ad847 50%,#3ff0ff4d 58%,#0000 70%) 0 0/300% 100%;animation:2.4s steps(16,end) infinite sheen;position:absolute;top:0;bottom:0;left:0;right:0}@keyframes sheen{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes rim{0%{border-color:#ff8ad8}33%{border-color:#ffd23f}66%{border-color:#3ff0ff}}.fcard.foil .tag{background:linear-gradient(90deg,#ff8ad8,#ffd23f,#3ff0ff)}.scr-parent table.goals td{vertical-align:middle}.scr-parent table.goals .ctl{align-items:center;gap:10px;display:flex}.scr-parent table.goals input{background:var(--ink);width:130px;color:var(--text);border:2px solid var(--line);border-radius:6px;padding:6px 10px;font:600 16px system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue}.scr-parent table.goals .pt{vertical-align:middle;background:var(--panel2);border-radius:4px;place-items:center;width:32px;height:40px;margin-right:10px;display:inline-grid;overflow:hidden}.scr-parent table.goals .pt canvas{width:32px;height:40px}.scr-parent table.goals .pt.q{color:var(--muted);font-weight:700}.scr-parent table.goals tr.soon td{color:var(--muted)}
