:root{--navy: #1b1830;--panel: rgba(24, 21, 48, .88);--panel-solid: #221e42;--line: #5a52a0;--text: #f6f1e7;--dim: #a9a3cf;--gold: #ffc93c;--orange: #ff8a3c;--green: #4fd18b;--teal: #39c6c0;--red: #e5383b;--pink: #ff6fa5;--mono: ui-monospace, "Cascadia Mono", Consolas, "Courier New", monospace}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#0d0b1a;color:var(--text);font-family:system-ui,-apple-system,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;-webkit-user-select:none;user-select:none;touch-action:none;overscroll-behavior:none;-webkit-tap-highlight-color:transparent}#game{position:fixed;inset:0}#game canvas{display:block}img{image-rendering:pixelated}[hidden]{display:none!important}button,a.ghost{font:inherit;font-weight:700;color:var(--text);background:var(--panel-solid);border:3px solid var(--navy);outline:2px solid var(--line);outline-offset:-5px;padding:10px 16px;cursor:pointer;box-shadow:0 4px #0d0b1a;transition:transform .08s,box-shadow .08s,filter .12s;text-decoration:none;display:inline-block}button:hover,a.ghost:hover{filter:brightness(1.18);transform:translateY(-1px)}button:active,a.ghost:active{transform:translateY(3px);box-shadow:0 1px #0d0b1a}button:focus-visible,a.ghost:focus-visible{outline:3px solid var(--gold);outline-offset:2px}button.primary{background:var(--orange);color:var(--navy);outline-color:#ffd6a3}button.icon{padding:2px 10px;min-width:38px;min-height:38px}.ghost{background:#181530b3;font-size:13px;padding:8px 14px}#hud{position:fixed;inset:0;pointer-events:none;font-size:14px}#hud button{pointer-events:auto}.top,.bottom{position:absolute;left:0;right:0;padding:8px 10px;display:flex;flex-direction:column;gap:6px;background:var(--panel)}.top{top:0;padding-top:max(10px,env(safe-area-inset-top));border-bottom:3px solid var(--navy);box-shadow:0 2px 0 var(--line)}.bottom{bottom:0;padding-bottom:max(8px,env(safe-area-inset-bottom));padding-right:116px;border-top:3px solid var(--navy);box-shadow:0 -2px 0 var(--line)}.xp{position:absolute;left:0;right:0;top:0;height:5px;background:#0d0b1a}.xp>div{height:100%;width:0;background:linear-gradient(90deg,var(--gold),#fff2b0);box-shadow:0 0 8px var(--gold);transition:width .15s}.row{display:flex;align-items:center;gap:8px;min-height:26px}.spacer{flex:1}.ico{width:26px;height:26px;flex:none}.ico.small{width:20px;height:20px}.num{font-family:var(--mono);font-weight:700}.dim{color:var(--dim);font-size:12px}.pill{background:var(--orange);color:var(--navy);padding:2px 9px;font-size:12px;font-weight:700;border:2px solid var(--navy)}.face{font-family:var(--mono);font-weight:700;font-size:12px;color:var(--dim);min-width:38px}.cash{font-family:var(--mono);font-weight:700;font-size:20px;color:var(--gold);text-shadow:0 2px 0 #0d0b1a}.cash.broke{color:var(--red);animation:shake .25s infinite}.combo{font-family:var(--mono);font-weight:700;color:var(--orange);text-shadow:0 2px 0 #0d0b1a}.bossname{font-weight:700;color:var(--red)}.bar{position:relative;flex:1;height:20px;border:3px solid var(--navy);outline:2px solid var(--line);background:#0d0b1a;min-width:70px;overflow:hidden}.bar>div{height:100%;width:0}.bar>span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:12px;font-weight:700;text-shadow:0 1px 0 #0d0b1a,0 -1px 0 #0d0b1a,1px 0 0 #0d0b1a,-1px 0 0 #0d0b1a}.bar.mind{max-width:240px}.bar.mind>div{background:linear-gradient(180deg,#ff9cc2,var(--pink));transition:width .12s}.bar.mind.mid>div{background:linear-gradient(180deg,#ffe08a,var(--gold))}.bar.mind.low>div{background:linear-gradient(180deg,#ff7a7c,var(--red));animation:pulse .5s infinite}.bar.boss>div{background:linear-gradient(180deg,#ff7a7c,var(--red));transition:width .1s}.bar.heat>div{background:linear-gradient(180deg,#8be9b6,var(--green));transition:width .15s}.bar.heat.warm>div{background:linear-gradient(180deg,#ffe08a,var(--gold))}.bar.heat.hot>div{background:linear-gradient(180deg,#ff7a7c,var(--red));animation:pulse .4s infinite}#banners{display:flex;gap:6px;flex-wrap:wrap}.banner{padding:2px 9px;font-size:12px;font-weight:700;border:2px solid var(--navy);background:var(--panel-solid)}.banner.bad{background:var(--red);animation:pulse .6s infinite}.banner.good{background:var(--gold);color:var(--navy)}.slots{display:flex;gap:6px;flex-wrap:wrap}.slots.center{justify-content:center}.slot{position:relative;width:44px;height:44px;border:3px solid var(--navy);outline:2px solid var(--line);background:#0d0b1a}.slot img{width:100%;height:100%;display:block}.slot b{position:absolute;right:-4px;bottom:-4px;background:var(--navy);color:var(--gold);font-family:var(--mono);font-size:11px;padding:0 4px;border:2px solid var(--line);line-height:14px}.slot.strat{width:36px;height:36px;align-self:flex-end}.slot.banned img{filter:grayscale(1) brightness(.6)}.slot.banned:after{content:"封";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--red);font-weight:900;font-size:20px;text-shadow:0 0 4px #000;transform:rotate(-14deg)}.slot.max b{background:var(--gold);color:var(--navy)}.boost{position:absolute;right:12px;bottom:max(12px,env(safe-area-inset-bottom));width:92px;height:92px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffb070,var(--orange) 60%,#c4521a);color:var(--navy);border:4px solid var(--navy);outline:3px solid #ffd6a3;outline-offset:-8px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0;box-shadow:0 6px #0d0b1a,0 0 22px #ff8a3c8c}.boost b{font-size:20px}.boost small{font-size:11px;font-weight:400}.boost.cooling{background:#4a4572;color:var(--dim);outline-color:var(--line);box-shadow:0 6px #0d0b1a}.boost.locked{background:#2a1420;color:var(--red);outline-color:var(--red);box-shadow:0 6px #0d0b1a}.boost.hot{animation:shake .3s infinite;outline-color:var(--red)}.boost.ready{animation:ready 1.2s infinite}.debug-toggle{position:absolute;right:10px;top:150px;padding:2px 8px;font-size:11px;opacity:.55;outline:none}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-1px,1px)}75%{transform:translate(1px,-1px)}}@keyframes pulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.45)}}@keyframes ready{0%,to{box-shadow:0 6px #0d0b1a,0 0 16px #ff8a3c73}50%{box-shadow:0 6px #0d0b1a,0 0 34px #ffc93cf2}}#vignette{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 45%,rgba(8,6,22,.55) 100%);transition:box-shadow .2s}#vignette.heat{box-shadow:inset 0 0 110px 16px #e5383b8c;animation:pulse .7s infinite}#vignette.hit{box-shadow:inset 0 0 130px 36px #ff6fa5d9;transition:none}#vignette.broke{backdrop-filter:saturate(.4)}#vignette.low{box-shadow:inset 0 0 120px 20px #e5383b66}#announce{position:fixed;left:0;right:0;top:34%;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 0;background:linear-gradient(90deg,transparent,rgba(13,11,26,.92) 20%,rgba(13,11,26,.92) 80%,transparent);border-top:3px solid var(--orange);border-bottom:3px solid var(--orange);animation:sweep 2.2s ease-out forwards}#announce small{color:var(--orange);font-family:var(--mono);letter-spacing:4px;font-size:12px}#announce b{font-size:34px;letter-spacing:6px;text-shadow:0 4px 0 var(--navy)}#announce.boss{border-color:var(--red)}#announce.boss small{color:var(--red)}@keyframes sweep{0%{transform:scaleY(0);opacity:0}12%{transform:scaleY(1);opacity:1}80%{opacity:1}to{opacity:0}}#joy{position:fixed;width:116px;height:116px;margin:-58px 0 0 -58px;border-radius:50%;border:3px solid rgba(246,241,231,.45);background:#f6f1e714;pointer-events:none}#joyKnob{position:absolute;left:50%;top:50%;width:50px;height:50px;margin:-25px 0 0 -25px;border-radius:50%;background:#ff8a3cbf;border:3px solid var(--navy)}.overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#080616bd;padding:16px;overflow:auto;z-index:3}.overlay.top{z-index:6}.panel{background:var(--panel-solid);border:4px solid var(--navy);outline:3px solid var(--line);box-shadow:0 10px #0d0b1a,0 0 60px #5a52a080;padding:20px;width:min(620px,100%);display:flex;flex-direction:column;gap:14px;align-items:stretch;text-align:center;animation:drop .22s ease-out}.panel.narrow{width:min(360px,100%)}@keyframes drop{0%{transform:translateY(-18px) scale(.96);opacity:0}to{transform:none;opacity:1}}h1{margin:0;font-size:36px;letter-spacing:3px}h2{margin:0;font-size:22px;color:var(--gold);text-shadow:0 3px 0 #0d0b1a}.sub{margin:0;color:var(--dim);font-size:13px}.cards{display:flex;flex-direction:column;gap:12px}.card{text-align:left;display:flex;align-items:center;gap:12px;padding:12px 14px;animation:rise .3s ease-out backwards;border-left-width:8px}.card:nth-child(2){animation-delay:.07s}.card:nth-child(3){animation-delay:.14s}.card img{width:56px;height:56px;flex:none}.card .txt{display:flex;flex-direction:column;gap:2px;min-width:0}.card b{font-size:17px}.card .tag{font-size:12px;font-weight:700;color:var(--gold)}.card .desc{font-size:13px;color:var(--dim);font-weight:400}.card.paid{border-left-color:var(--orange)}.card.private{border-left-color:var(--green)}.card.organic{border-left-color:var(--teal)}.card.strat{border-left-color:#8f7bff}.card.cash{border-left-color:var(--gold)}.card:hover{transform:translateY(-3px) scale(1.02)}.cards.locked .card{pointer-events:none}@keyframes rise{0%{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}@media(min-width:760px){.cards{flex-direction:row}.card{flex:1;flex-direction:column;text-align:center;padding:18px 12px;border-left-width:3px;border-top-width:8px}.card.paid{border-top-color:var(--orange)}.card.private{border-top-color:var(--green)}.card.organic{border-top-color:var(--teal)}.card.strat{border-top-color:#8f7bff}.card.cash{border-top-color:var(--gold)}.card .txt{align-items:center}.card img{width:80px;height:80px}}.start{background:#0d0b1a url(/ui/keyart.webp) center 18% / cover no-repeat;image-rendering:pixelated;align-items:stretch;padding:0}.start:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0d0b1a8c,#0d0b1a00 22% 38%,#0d0b1adb 62%,#0d0b1afa);pointer-events:none}.start-inner{position:relative;width:min(760px,100%);margin:0 auto;padding:max(22px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));display:flex;flex-direction:column;text-align:center;min-height:100%}.cover{flex:1;display:flex;flex-direction:column;align-items:center;gap:12px}.logo{animation:float 3.2s ease-in-out infinite}.logo small{display:inline-block;font-family:var(--mono);letter-spacing:6px;color:var(--navy);background:var(--gold);padding:2px 10px 2px 16px;font-size:12px;font-weight:700;border:2px solid var(--navy);transform:rotate(-2deg)}.logo h1{font-size:clamp(54px,13vw,104px);letter-spacing:10px;line-height:1.05;margin-top:4px;color:#fff;text-shadow:0 4px 0 var(--orange),0 8px 0 #b3401a,0 12px 0 var(--navy),0 0 34px rgba(255,138,60,.75)}.logo p{margin:10px 0 0;font-weight:700;letter-spacing:8px;color:var(--gold);text-shadow:0 2px 0 #0d0b1a,0 0 12px rgba(255,201,60,.6)}.tagline{margin:auto 0 0;font-size:15px;font-weight:700;text-shadow:0 2px 0 #0d0b1a;max-width:30em}button.big{font-size:24px;letter-spacing:6px;padding:14px 54px 14px 60px;border-width:4px;box-shadow:0 6px #0d0b1a,0 0 30px #ff8a3cb3;animation:ready 1.4s infinite}.cover-row{display:flex;gap:10px}.cover-row button{min-width:108px;padding:8px 14px;font-size:14px}.best{margin:0;font-family:var(--mono);font-size:13px;color:var(--gold);text-shadow:0 2px 0 #0d0b1a}.keys{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;font-size:12px;color:var(--dim)}.keys span{display:inline-flex;align-items:center;gap:6px}kbd{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--text);background:var(--panel-solid);border:2px solid var(--line);border-bottom-width:4px;padding:1px 7px}.keys-touch{display:none;margin:0;font-size:12px;color:var(--dim)}@media(hover:none),(max-width:560px){.keys{display:none}.keys-touch{display:block}}.cover-foot{display:flex;flex-direction:column;gap:4px;align-items:center;margin-top:4px}.by{color:var(--text);font-size:13px;text-decoration:none;padding:5px 14px;border:2px solid var(--line);background:#181530bf}.by b{color:var(--orange)}.by:hover{border-color:var(--orange)}.legal{margin:0;font-size:11px;color:#7f79a8}.pickview{margin:auto 0;display:flex;flex-direction:column;gap:12px;align-items:stretch;background:var(--panel);border:4px solid var(--navy);outline:3px solid var(--line);padding:18px;animation:drop .22s ease-out}.pickview .ghost{align-self:center}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.dash{position:absolute;right:112px;bottom:max(14px,env(safe-area-inset-bottom));width:70px;height:70px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#b8ecff,#5fb8ff 60%,#2a78c4);color:var(--navy);border:4px solid var(--navy);outline:3px solid #d6f1ff;outline-offset:-8px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0;box-shadow:0 5px #0d0b1a}.dash b{font-size:15px}.dash small{font-size:10px;font-weight:400}.dash.cooling{background:#4a4572;color:var(--dim);outline-color:var(--line)}.bottom{padding-right:196px}.settings{display:flex;flex-direction:column;gap:8px;text-align:left}.setting{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;background:#1a1736;border:2px solid var(--navy)}.setting small{display:block;color:var(--dim);font-size:11px;font-weight:400}.setting button{padding:6px 12px;min-width:76px;font-size:13px}.setting button.on{background:var(--green);color:var(--navy);outline-color:#c8f5dc}.over-hero{width:144px;height:144px;align-self:center;margin:-6px 0 -10px}.stats{display:grid;grid-template-columns:1fr 1fr;gap:6px 18px;text-align:left;font-size:14px}.stats div{padding:4px 8px;background:#1a1736}.stats b{font-family:var(--mono);float:right;color:var(--gold)}#over.lose h1{color:var(--pink);text-shadow:0 4px 0 var(--navy);animation:crack .9s ease-out}#over.win h1{color:var(--gold);text-shadow:0 4px 0 var(--navy)}@keyframes crack{0%{transform:scale(2.4) rotate(-6deg);opacity:0;letter-spacing:30px}60%{transform:scale(.94) rotate(1deg);opacity:1;letter-spacing:3px}to{transform:scale(1)}}#debug{position:fixed;right:8px;top:180px;width:250px;max-height:66vh;overflow:auto;background:var(--panel-solid);border:3px solid var(--navy);outline:2px solid var(--line);padding:8px;font-size:12px;display:flex;flex-direction:column;gap:6px;z-index:5;touch-action:auto}.dbg-head{display:flex;justify-content:space-between;align-items:center}#debug label{display:flex;flex-direction:column;gap:2px}#debug input[type=range]{width:100%}#debug button{padding:4px 8px;font-size:12px}body.reduced *,body.reduced *:before{animation:none!important;transition:none!important}@media(prefers-reduced-motion:reduce){body:not(.motion-full) *{animation:none!important;transition:none!important}}.panel.wide{width:min(760px,100%)}.chest-art{width:120px;height:120px;align-self:center;margin:-6px 0 -8px;animation:hop .6s ease-out}@keyframes hop{0%{transform:translateY(30px) scale(.6);opacity:0}60%{transform:translateY(-10px) scale(1.1);opacity:1}to{transform:none}}.card.evo{border-color:var(--gold);outline-color:var(--gold);background:linear-gradient(180deg,#4a3a12,var(--panel-solid));box-shadow:0 4px #0d0b1a,0 0 26px #ffc93c99}.card.static{cursor:default;pointer-events:none}.card .price{margin-left:auto;font-family:var(--mono);font-weight:700;color:var(--gold);white-space:nowrap}.card.poor{filter:grayscale(.7) brightness(.7)}.card.poor .price{color:var(--red)}.card.sold{filter:grayscale(1) brightness(.5);pointer-events:none}.card.vacation{border-left-color:var(--pink)}.market-head{display:flex;align-items:center;gap:14px;justify-content:center}.market-cash{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:18px;color:var(--gold)}.market-foot{display:flex;gap:10px;justify-content:center}.market-foot button{flex:1}.event{background:#1a1736;border:3px solid var(--navy);outline:2px solid var(--line);padding:12px;display:flex;flex-direction:column;gap:8px;text-align:left}.event h3{margin:0;font-size:17px;color:var(--orange)}.event p{margin:0;font-size:14px;line-height:1.6}.event .opts{display:flex;flex-direction:column;gap:8px}.event .opts button{text-align:left;padding:8px 12px}.event .opts small{display:block;font-weight:400;color:var(--dim);font-size:12px}.event .result{color:var(--gold);font-weight:700}@media(min-width:760px){.card .price{margin-left:0}.event .opts{flex-direction:row}.event .opts button{flex:1}}.slot.evo{outline-color:var(--gold);box-shadow:0 0 10px #ffc93ccc}.rating{font-family:var(--mono);font-size:44px;color:var(--gold);text-shadow:0 4px 0 var(--navy);line-height:1}.invest{background:#1a1736;border:3px solid var(--navy);outline:2px solid var(--line);padding:10px 12px;display:flex;flex-direction:column;gap:8px;text-align:left}.invest h3{margin:0;font-size:16px;color:var(--teal)}.invest h3 small{color:var(--gold);font-weight:700;margin-left:8px}.attrs{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;text-align:left}.attr{display:flex;align-items:center;gap:6px;padding:4px 6px;background:#14122b;font-size:13px}.attr .nm{flex:1;min-width:0}.attr .nm small{display:block;color:var(--dim);font-size:11px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attr b{font-family:var(--mono);color:var(--gold)}.attr i{font-style:normal;font-family:var(--mono);color:var(--teal);font-size:11px;min-width:22px}.attr button{padding:0;width:30px;height:30px;font-size:18px;line-height:1}.attr button:disabled,.invest-buy button:disabled,#rerollBtn:disabled{opacity:.4;cursor:default}.attrs.readonly{font-size:12px}.invest-buy{display:flex;gap:8px}.invest-buy button{flex:1;font-size:13px;padding:8px;text-align:left}.invest-buy small{display:block;font-weight:400;color:var(--dim);font-size:11px}@media(max-width:520px){.attrs{grid-template-columns:1fr}.invest-buy{flex-direction:column}}.scoreline{font-size:15px;color:var(--dim)}.scoreline b{font-family:var(--mono);font-size:30px;color:var(--gold);text-shadow:0 3px 0 var(--navy);margin-left:6px}.namerow{display:flex;gap:8px}.namerow input{flex:1;min-width:0;font:inherit;color:var(--text);background:#0d0b1a;border:3px solid var(--navy);outline:2px solid var(--line);outline-offset:-5px;padding:8px 10px;-webkit-user-select:text;user-select:text}.namerow button{padding:8px 12px;font-size:13px;white-space:nowrap}.tabs{display:flex;gap:6px;justify-content:center}.tabs button{padding:4px 12px;font-size:12px;box-shadow:none}.tabs button.on{background:var(--gold);color:var(--navy)}.board{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px;text-align:left;font-size:13px;max-height:190px;min-height:30px;overflow:auto;touch-action:pan-y;flex:none}.board li{display:flex;gap:8px;padding:3px 8px;background:#1a1736}.board li.me{outline:2px solid var(--gold);outline-offset:-2px}.board .rk{font-family:var(--mono);color:var(--dim);width:22px}.board .nm{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board .rd{color:var(--dim);font-size:12px}.board .sc{font-family:var(--mono);color:var(--gold);font-weight:700}.board .empty{color:var(--dim);justify-content:center}#over .panel,#market .panel{max-height:96vh;overflow:auto;touch-action:pan-y}#levelup h2{font-size:26px}#levelup .card{padding:16px;gap:14px}#levelup .card img{width:72px;height:72px}#levelup .card b{font-size:21px}#levelup .card .tag{font-size:13px}#levelup .card .desc{font-size:15px}@media(min-width:760px){#levelup .card{padding:26px 16px;min-height:260px;justify-content:center}#levelup .card img{width:112px;height:112px}#levelup .card b{font-size:23px}}.howto{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;text-align:left}.howto li{display:flex;gap:12px;align-items:center;padding:8px 10px;background:#1a1736;font-size:13px;color:var(--dim);line-height:1.5}.howto img{width:40px;height:40px;flex:none;object-fit:contain}.howto b{display:block;color:var(--text);font-size:15px}.cover-row button{min-width:92px}#freeTag{position:fixed;left:50%;top:96px;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:5px 10px 5px 6px;background:#1b1830eb;border:2px solid #c77dff;pointer-events:none;max-width:calc(100vw - 24px);animation:rise .3s ease-out}#freeTag img{width:30px;height:30px;flex:none;image-rendering:pixelated}#freeTag span{display:flex;flex-direction:column;min-width:0}#freeTag small{color:#d9a8ff;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#freeTag b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#freeTag i{width:64px;height:6px;background:#0d0b1a;border:1px solid var(--line);flex:none}#freeTag em{display:block;height:100%;width:100%;background:#c77dff}.reroll-free{font-size:14px;padding:9px 12px;border-color:var(--teal, #39c6c0)}.reroll-free small{display:block;font-weight:400;color:var(--dim);font-size:11px}.reroll-free:disabled{opacity:.45;cursor:default}.study-note{flex:1;font-size:13px;font-weight:700;padding:8px;border:2px dashed var(--line)}.study-note small{display:block;font-weight:400;color:var(--dim);font-size:11px}.freeline{font-size:12px}.freeline a{color:#d9a8ff}
