:root{--bg: #1a0b2e;--panel: #241040;--panel2: #2f1650;--line: #5a3a8a;--neon: #3ad0ff;--pink: #ff4fa0;--gold: #ffc93a;--orange: #ff8a2a;--text: #f4ecff;--muted: #a99ac8;--bad: #ff4a6a;--good: #5cff7a;--px: "Press Start 2P", "DotGothic16", monospace;--jp: "DotGothic16", "Press Start 2P", monospace;--fs: 1}html.lang-ja{--px: "DotGothic16", "Press Start 2P", monospace;--fs: 1.3}html.lang-zh-TW{--px: "DotGothic16", "Noto Sans TC", sans-serif;--jp: "DotGothic16", "Noto Sans TC", sans-serif;--fs: 1.3}html.lang-ko{--px: "DotGothic16", "Do Hyeon", sans-serif;--jp: "DotGothic16", "Do Hyeon", sans-serif;--fs: 1.35}html.cjk .btn,html.cjk .card-title,html.cjk .panel h2{letter-spacing:.5px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;background:var(--bg);color:var(--text);overflow:hidden;font-family:var(--px);font-size:calc(11px * var(--fs));user-select:none;-webkit-user-select:none;touch-action:none}#app{--ad-h: 0px;position:fixed;inset:0}#view{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges;display:block;touch-action:none}#popups{position:absolute;inset:0;pointer-events:none;overflow:hidden}#ui{position:absolute;inset:0;pointer-events:none}.ad-slot{position:absolute;z-index:30;left:0;right:0;bottom:0;height:calc(54px + env(safe-area-inset-bottom));padding:2px 0 calc(2px + env(safe-area-inset-bottom));background:#fff;overflow:hidden;text-align:center;pointer-events:auto}.ad-slot[hidden]{display:none!important}.ad-slot ins,.ad-slot .ad-mock{margin:0 auto}.ad-slot:not(.ad-rect) ins{vertical-align:top}.ad-slot.ad-rect{left:auto;right:14px;bottom:auto;padding:0;background:transparent;overflow:visible}.ad-slot-frame{width:100%;height:264px;padding:4px;overflow:hidden;background:#f7faffe0;border:3px solid #0c0418;border-radius:14px;box-shadow:0 4px #0c0418}.ad-mock{display:flex!important;align-items:center;justify-content:center;background:repeating-linear-gradient(45deg,#dbe8ff,#dbe8ff 10px,#c9dcff 10px 20px);color:#0c0418;font:800 13px/1.2 system-ui,sans-serif}#app:has(.ad-slot:not(.ad-rect):not([hidden])) .hub-bottom{margin-bottom:calc(54px + env(safe-area-inset-bottom))}#app:has(.ad-slot:not(.ad-rect):not([hidden])) .overlay{padding-bottom:calc(70px + env(safe-area-inset-bottom))}#app:has(.ad-slot:not(.ad-rect):not([hidden])) .overlay .panel{max-height:calc(100dvh - 86px - max(16px,env(safe-area-inset-top)) - env(safe-area-inset-bottom))}#app:has(.ad-slot:not(.ad-rect):not([hidden])) .grid-wrap{max-height:calc(100dvh - 74px - env(safe-area-inset-bottom))}.boot{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:calc(14px * var(--fs));color:var(--gold)}.fps{position:fixed;right:6px;bottom:6px;font-size:calc(9px * var(--fs));color:var(--good);pointer-events:none;z-index:99}.btn{font-family:var(--px);font-size:calc(11px * var(--fs));color:var(--text);background:var(--panel2);border:3px solid var(--line);border-bottom-width:5px;padding:9px 12px;cursor:pointer;pointer-events:auto;image-rendering:pixelated;box-shadow:0 0 0 2px #0c0418;text-transform:uppercase;line-height:1.3}.btn:hover:not(:disabled){border-color:var(--neon);color:#fff}.btn:active:not(:disabled){transform:translateY(2px);border-bottom-width:3px}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.primary{background:#ff7a1a;border-color:#ffd27a;color:#2a0f00;box-shadow:0 0 0 2px #3a1200,0 0 16px #ff8a2a73}.btn.primary:hover:not(:disabled){background:#ff9a3a;color:#1a0800;border-color:#fff0c0}.btn.danger{background:#5a1028;border-color:var(--bad)}.btn.small{font-size:calc(9px * var(--fs));padding:6px 8px}.btn.big{font-size:calc(14px * var(--fs));padding:12px 18px}.btn.icon{padding:6px 8px;font-size:calc(14px * var(--fs))}.btn.choice{display:flex;flex-direction:column;gap:6px;text-align:left;width:100%;text-transform:none}.btn.choice small{font-size:calc(9px * var(--fs));color:var(--muted);font-family:var(--jp);font-size:calc(13px * var(--fs))}.blink{animation:blink 1.1s steps(2) infinite}@keyframes blink{50%{filter:brightness(1.35)}}.overlay{position:absolute;inset:0;z-index:10;display:flex;align-items:flex-start;justify-content:center;pointer-events:auto;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y}.overlay>.panel{margin:auto}.overlay.dim{background:#0a0418b8}.panel{background:var(--panel);border:4px solid var(--line);box-shadow:0 0 0 4px #0c0418,0 0 40px #3ad0ff26;padding:18px;max-width:520px;width:100%;display:flex;flex-direction:column;gap:12px;align-items:center;text-align:center;max-height:calc(100% - 8px);overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch}.panel.wide{max-width:860px}.panel h2{margin:0;font-size:calc(15px * var(--fs));color:var(--gold);text-shadow:2px 2px 0 #6a1a00;line-height:1.5}.panel h3{margin:6px 0 0;font-size:calc(11px * var(--fs));color:var(--neon)}.panel p{margin:0;font-family:var(--jp);font-size:calc(15px * var(--fs));line-height:1.5}.panel .sub{color:var(--muted);font-family:var(--jp);font-size:calc(14px * var(--fs))}.muted{color:var(--muted);font-family:var(--jp);font-size:calc(13px * var(--fs));line-height:1.4}.jp{font-family:var(--jp);color:var(--pink)}.jp.big{font-size:calc(22px * var(--fs))}.row{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}h2.win{color:var(--gold)}h2.lose{color:var(--bad)}.cards{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;width:100%}.card{--c: var(--neon);width:220px;min-height:200px;background:var(--panel2);border:3px solid var(--c);padding:12px;cursor:pointer;display:flex;flex-direction:column;gap:8px;box-shadow:0 0 0 3px #0c0418;transition:transform .08s;pointer-events:auto;text-align:center}.card:hover{transform:translateY(-4px);box-shadow:0 0 0 3px #0c0418,0 0 18px color-mix(in srgb,var(--c) 60%,transparent)}.card-title{font-size:calc(11px * var(--fs));color:#fff;line-height:1.5}.card-body{flex:1;display:flex;flex-direction:column;gap:6px;align-items:center}.card .desc{font-family:var(--jp);font-size:calc(14px * var(--fs));line-height:1.4;color:var(--text)}.card-foot{font-size:calc(10px * var(--fs));color:var(--gold)}.card.special{--c: var(--good)}.card.epic{box-shadow:0 0 0 3px #0c0418,0 0 20px #ff9f1a66}.card.locked,.card.sold{opacity:.45;filter:grayscale(.6);cursor:not-allowed}.card.poor .card-foot{color:var(--bad)}.card.sold .card-foot:after{content:" · SOLD"}.card-shape{padding:6px;background:#140822;border:2px solid #3b1f63}.tag{font-size:calc(8px * var(--fs));padding:3px 5px;border:2px solid currentColor}.tag.common{color:#b8b8d8}.tag.rare{color:var(--neon)}.tag.epic{color:var(--orange)}.tag.special{color:var(--good)}.shape{position:relative}.shape-cell{position:absolute;box-shadow:inset -2px -2px #00000059,inset 2px 2px #ffffff40}.banner{position:absolute;left:50%;top:38%;transform:translate(-50%,-50%) scale(.2);opacity:0;font-size:clamp(18px,6vw,44px);color:var(--gold);text-shadow:3px 3px 0 #a0200a,-2px -2px 0 #2a0f45,0 0 24px rgba(255,201,58,.6);white-space:nowrap;pointer-events:none;transition:transform .25s cubic-bezier(.2,2,.4,1),opacity .25s;z-index:5}.banner.show{opacity:1;transform:translate(-50%,-50%) scale(1)}.banner.fever{color:var(--pink);text-shadow:3px 3px 0 #3a0a6a,0 0 30px rgba(255,79,160,.8)}.banner.mega{color:#fff;text-shadow:3px 3px 0 #ff2a00,0 0 40px #ff8a2a;animation:shake .1s infinite}.banner.bad,.banner.fail{color:var(--bad);text-shadow:3px 3px 0 #2a0010}.banner.clear{color:var(--good);text-shadow:3px 3px 0 #0a3a10}.banner.small{font-size:clamp(12px,3vw,20px);color:var(--neon)}@keyframes shake{0%{margin-left:-3px}50%{margin-left:3px}}.toast{position:absolute;left:50%;top:70px;transform:translate(-50%,-20px);opacity:0;background:var(--panel);border:3px solid var(--gold);padding:8px 12px;font-size:calc(10px * var(--fs));transition:.3s;z-index:20;white-space:nowrap}.toast.show{opacity:1;transform:translate(-50%)}.popup{position:absolute;left:0;top:0;font-size:calc(10px * var(--fs));color:var(--gold);text-shadow:2px 2px 0 #3a1200;white-space:nowrap;will-change:transform}.popup.mid{font-size:calc(13px * var(--fs));color:#fff27a}.popup.big{font-size:calc(18px * var(--fs));color:#fff;text-shadow:2px 2px 0 #ff2a00,0 0 12px var(--gold)}.popup.bad{color:#c070ff;font-size:calc(13px * var(--fs));text-shadow:2px 2px 0 #20003a}.popup.lost{color:var(--bad);font-size:calc(8px * var(--fs))}.popup.chain{color:var(--neon);font-size:calc(12px * var(--fs))}.popup.purify{color:#fff;font-size:calc(9px * var(--fs))}.popup.small{font-size:calc(9px * var(--fs));color:var(--bad)}.popup.ticket{font-size:calc(11px * var(--fs));color:var(--good);text-shadow:2px 2px 0 #0a2a10}.hud{position:absolute;inset:0 0 var(--ad-h) 0;pointer-events:none;padding:max(2px,env(safe-area-inset-top)) 10px 10px}.tvh{--u: calc(100cqw / 384);position:relative;z-index:2;margin:0 auto;aspect-ratio:384 / 147;container-type:inline-size;width:min(100%,576px,calc(22vh * 384 / 147));max-width:100%;font-family:"Press Start 2P",monospace;color:#fff}@media (min-width: 900px) and (min-height: 560px){.tvh{margin:0;margin-inline-end:auto}.hud-row{justify-content:flex-start}}.tvh-clip{position:absolute;inset:0;overflow:hidden;pointer-events:none}.tvh img{image-rendering:pixelated;image-rendering:crisp-edges;-webkit-user-drag:none}.tvh-art{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none}.tvh-logo{position:absolute;object-fit:contain;pointer-events:none}.tvh-txt{position:absolute;display:flex;align-items:center;white-space:nowrap;line-height:1;text-shadow:calc(var(--u) * 1.5) calc(var(--u) * 1.5) 0 #12051f;pointer-events:none}.tvh-round-label{justify-content:center;font-size:calc(var(--u) * 8);color:#a99ac8;font-family:var(--px)}.tvh-round{justify-content:center;align-items:baseline;font-size:calc(var(--u) * 14);color:var(--gold)}.tvh-round small{font-size:calc(var(--u) * 7);color:#a99ac8;margin-left:calc(var(--u) * 1)}.tvh-cur{justify-content:flex-start;font-size:calc(var(--u) * 11)}.tvh-goal{justify-content:center;font-size:calc(var(--u) * 9);color:#f4ecff;font-family:var(--px)}.tvh-target{justify-content:flex-end;font-size:calc(var(--u) * 11)}html.cjk .tvh-round-label{font-size:calc(var(--u) * 11)}html.cjk .tvh-goal{font-size:calc(var(--u) * 12)}.tvh-track{position:absolute;overflow:hidden;pointer-events:none;background:#39234f;box-shadow:inset 0 calc(var(--u) * 1) 0 #241d39}.tvh-fill{position:absolute;left:0;top:0;height:calc(var(--u) * 10);width:0;background:url(../hud/goal_stripe_tile_24x10.png) left top / calc(var(--u) * 24) calc(var(--u) * 10) repeat-x;image-rendering:pixelated;image-rendering:crisp-edges;transition:width .2s steps(8)}.tvh.boss .tvh-fill{filter:hue-rotate(-38deg) saturate(1.4)}.tvh.boss .tvh-goal{color:var(--bad);animation:blink 1s steps(2) infinite}.util-btn{position:relative;display:flex;align-items:center;justify-content:center;padding:0;margin:0;background:none;border:none;pointer-events:auto;cursor:pointer;touch-action:manipulation;min-width:44px;min-height:44px}.util-btn:before{content:"";position:absolute;inset:var(--inset, 6px);border:var(--edge, 6px) solid transparent;border-image:url(../hud/utility_button_up_24.png) 6 fill / var(--edge, 6px) stretch;image-rendering:pixelated;image-rendering:crisp-edges}.util-btn:active:before{border-image-source:url(../hud/utility_button_down_24.png)}.util-btn img{position:relative;width:var(--icon, 16px);height:var(--icon, 16px);pointer-events:none}.util-btn:active img{transform:translateY(1px)}.util-btn:focus-visible{outline:2px dashed #fff;outline-offset:-2px}.tvh-btn{position:absolute;transform:translate(-50%,-50%);width:max(44px,calc(var(--u) * 44));height:max(44px,calc(var(--u) * 44));--inset: calc(var(--u) * 4);--edge: calc(var(--u) * 6);--icon: calc(var(--u) * 16)}.tvh-audio.muted img{opacity:.45}.tvh-audio.muted:after{content:"";position:absolute;width:calc(var(--u) * 22);height:calc(var(--u) * 3);background:var(--bad);transform:rotate(-45deg);box-shadow:0 0 0 calc(var(--u) * 1) #12051f}.hud-wallet-row{display:flex;align-items:center;gap:12px;pointer-events:auto}.hud-config{width:44px;height:44px;--inset: 6px}.hud-wallet{position:relative;width:88px;height:30px;flex:0 0 auto;background:url(../hud/shop_currency_panel_88x30.png) 0 0 / 100% 100% no-repeat;image-rendering:pixelated;pointer-events:none}.hud-wallet img{position:absolute;left:9px;top:6px;width:16px;height:18px;image-rendering:pixelated}.hud-wallet span{position:absolute;left:31px;top:9px;width:54px;height:16px;display:flex;align-items:center;font-family:"Press Start 2P",monospace;font-size:10px;color:#fff;text-shadow:1px 1px 0 #12051f;white-space:nowrap;overflow:hidden}.tvh-cur[data-len="6"],.tvh-target[data-len="6"]{font-size:calc(var(--u) * 9)}.tvh-cur[data-len="7"],.tvh-target[data-len="7"]{font-size:calc(var(--u) * 7)}.hud-wallet span[data-len="6"]{font-size:8px}.hud-wallet span[data-len="7"]{font-size:7px}.hud-row{position:relative;z-index:1;display:flex;gap:8px;margin-top:6px;align-items:center;justify-content:center}.hud-combo{transform-origin:center top;font-size:calc(13px * var(--fs));color:var(--neon);text-shadow:2px 2px 0 #0a2a4a}.hud-combo.pop{animation:pop .18s ease-out}.hud-combo.fever{color:var(--pink)}@keyframes pop{0%{transform:scale(1.5)}to{transform:scale(1)}}.hud-side{display:flex;flex-direction:column;gap:4px}.chips{display:flex;flex-wrap:wrap;gap:3px}.chip{--c: #fff;width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:#140822d9;border:2px solid var(--c);font-size:calc(12px * var(--fs))}.syn-chip{--c: #fff;font-size:calc(8px * var(--fs));color:var(--c);background:#140822d9;padding:3px 5px;border-left:3px solid var(--c)}.curse-chip{font-size:calc(8px * var(--fs));color:#d090ff;background:#280028d9;padding:3px 5px;border-left:3px solid #a03dff}.hud-hint{font-size:calc(9px * var(--fs));color:var(--muted);white-space:nowrap;text-shadow:1px 1px 0 #000}body.fever #view{filter:saturate(1.7) hue-rotate(-14deg) brightness(1.15) contrast(1.05);animation:feverPulse .357s ease-in-out infinite alternate}body.fever #app:after{content:"";position:absolute;inset:0 0 var(--ad-h) 0;z-index:6;pointer-events:none;box-shadow:inset 0 0 0 4px #ff4fa0e6,inset 0 0 42px 10px #ff4fa08c,inset 0 0 120px 30px #3ad0ff47;animation:feverFrame .714s steps(2,jump-none) infinite}body.fever .tvh{filter:drop-shadow(0 0 6px rgba(255,79,160,.95)) drop-shadow(0 0 14px rgba(58,208,255,.6))}@keyframes feverPulse{0%{filter:saturate(1.6) hue-rotate(-10deg) brightness(1.08) contrast(1.05)}to{filter:saturate(1.9) hue-rotate(-20deg) brightness(1.24) contrast(1.08)}}@keyframes feverFrame{0%{box-shadow:inset 0 0 0 4px #ff4fa0e6,inset 0 0 42px 10px #ff4fa08c,inset 0 0 120px 30px #3ad0ff47}to{box-shadow:inset 0 0 0 4px #3ad0ffe6,inset 0 0 42px 10px #3ad0ff80,inset 0 0 120px 30px #ff4fa04d}}@media (prefers-reduced-motion: reduce){body.fever #view,body.fever #app:after{animation:none}}body.turbo .drop-btn{filter:drop-shadow(0 0 6px var(--orange))}.overlay.grid-screen{justify-content:flex-end;align-items:stretch;padding:10px;background:linear-gradient(90deg,transparent 40%,rgba(10,4,24,.6))}.grid-wrap{width:min(560px,100%);display:flex;flex-direction:column;gap:8px}.floor-preview{background:var(--panel);border:3px solid var(--line);padding:8px;font-size:calc(10px * var(--fs));line-height:1.6;text-align:center}.boss-tag{color:var(--bad)}.grid-editor{background:#241040f2;border:4px solid var(--line);box-shadow:0 0 0 4px #0c0418;padding:12px;display:flex;flex-direction:column;gap:10px;flex:1;min-height:0;overflow-y:auto}.ge-title{font-size:calc(12px * var(--fs));color:var(--gold)}.ge-hint{font-family:var(--jp);font-size:calc(12px * var(--fs));color:var(--muted);margin-top:4px}.ge-body{display:flex;gap:12px}.ge-left{flex:0 0 auto;display:flex;flex-direction:column;gap:8px;align-items:center}.ge-grid{--cell: min(44px, 9vw);--cs: min(var(--cell), 52vh / var(--gh, 6));position:relative;width:calc(var(--cs) * var(--gw, 6));height:calc(var(--cs) * var(--gh, 6));display:grid;grid-template-columns:repeat(var(--gw, 6),1fr);grid-template-rows:repeat(var(--gh, 6),1fr);background:#140822;border:3px solid var(--neon);box-shadow:0 0 14px #3ad0ff59;touch-action:none}.ge-cell{border:1px solid #2f1a4f}.ge-cell.ok{background:#5cff7a59}.ge-cell.bad{background:#ff4a6a66}.ge-cell.rust{background:repeating-linear-gradient(45deg,#5a2a10 0 4px,#3a1a08 4px 8px)}.ge-piece{--c: #fff;position:absolute;background:var(--c);border:3px solid rgba(0,0,0,.55);box-shadow:inset 2px 2px #ffffff59;cursor:grab;display:flex;align-items:center;justify-content:center;touch-action:none}.ge-piece.tiled{background-color:color-mix(in srgb,var(--c) 16%,#1d0f33);background-repeat:repeat;background-size:16px 16px;background-origin:border-box;background-position:calc(var(--cx) * -1 * var(--cs)) calc(var(--cy) * -1 * var(--cs));image-rendering:pixelated;border:2px solid var(--c);box-shadow:none}.ge-piece.sel{outline:2px dashed #fff;outline-offset:-4px;z-index:2}.ge-piece.syn{animation:synglow 1s steps(2) infinite}@keyframes synglow{50%{filter:brightness(1.35)}}.ge-piece .pi{font-size:calc(16px * var(--fs));filter:drop-shadow(1px 1px 0 #000);pointer-events:none}.ge-tools{display:flex;gap:6px}.ge-right{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}.ge-sub{font-size:calc(9px * var(--fs));color:var(--neon);margin-top:4px}.ge-inv{display:flex;flex-wrap:wrap;gap:6px}.inv-item{background:var(--panel2);border:2px solid var(--line);padding:6px;display:flex;flex-direction:column;gap:4px;align-items:center;cursor:grab;touch-action:none;min-width:70px}.inv-item:hover{border-color:var(--neon)}.inv-name{font-size:calc(7px * var(--fs));text-align:center;line-height:1.4}.ge-syn{display:flex;flex-direction:column;gap:3px}.syn-row{font-family:var(--jp);font-size:calc(12px * var(--fs));color:var(--muted)}.syn-row.on span{color:var(--text)}.ge-info{font-family:var(--jp);font-size:calc(13px * var(--fs));line-height:1.4;background:#140822;padding:8px;border:2px solid #3b1f63;min-height:54px}.ge-foot{display:flex;justify-content:center}.ge-ghost{position:fixed;left:0;top:0;pointer-events:none;z-index:100;opacity:.85;filter:drop-shadow(0 0 6px #fff)}.build-list{display:flex;flex-direction:column;gap:6px;text-align:left;width:100%}.build-row{font-family:var(--jp);font-size:calc(13px * var(--fs))}.build-row.bad{color:#d090ff}.choices{display:flex;flex-direction:column;gap:8px;width:100%}.event-text{font-style:italic}.summary{display:grid;grid-template-columns:1fr auto;gap:8px 20px;text-align:left;font-size:calc(10px * var(--fs));width:100%;max-width:340px}.summary .tix{color:var(--good);font-size:calc(12px * var(--fs))}.big-tix{font-size:calc(26px * var(--fs));color:var(--good)}.hub-ui{position:absolute;inset:0;pointer-events:none;padding:max(10px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));display:flex;flex-direction:column}.hub-top{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.logo{font-size:calc(20px * var(--fs));color:var(--gold);text-shadow:3px 3px 0 #a0200a,0 0 18px rgba(255,201,58,.4);display:flex;flex-direction:column;gap:4px}.logo small{font-family:var(--jp);font-size:calc(12px * var(--fs));color:var(--pink);text-shadow:none}.hub-stats{display:flex;gap:6px;flex-wrap:wrap;align-items:flex-start;justify-content:flex-end}.stat{background:#241040e6;border:3px solid var(--line);padding:6px 8px;font-size:calc(10px * var(--fs))}.stat.tix{border-color:var(--good);color:var(--good);font-size:calc(12px * var(--fs))}.hub-mode{align-self:center;margin-top:8px;display:flex;gap:8px;align-items:center;font-family:var(--jp);font-size:calc(14px * var(--fs));background:#140822d9;padding:0 8px;pointer-events:auto}.hub-mode:empty{display:none}.hub-bottom{margin-top:auto;display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.upgrade-hint{margin:auto auto 10px;max-width:360px;text-align:center;pointer-events:auto;animation:pop .25s ease-out}.upgrade-hint p{margin:0;font-family:var(--jp);font-size:calc(14px * var(--fs));line-height:1.5}.upgrade-hint+.hub-bottom{margin-top:0}.hub-bottom .btn.hint-pulse{border-color:var(--gold);animation:hintPulse .9s ease-in-out infinite alternate}@keyframes hintPulse{0%{box-shadow:0 0 0 2px #3a1200,0 0 4px #ffc93a4d}to{box-shadow:0 0 0 2px #3a1200,0 0 18px #ffc93af2;filter:brightness(1.25)}}.hub-right{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.hub-corner{display:flex;gap:6px;align-items:center;pointer-events:auto}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;width:100%}.shop-card{width:auto;min-height:150px}.swatch{width:28px;height:28px;border:3px solid #0c0418;box-shadow:inset -4px -4px #0000004d}.ws-list{display:flex;flex-direction:column;gap:4px;text-align:left;width:100%;font-family:var(--jp);font-size:calc(13px * var(--fs));color:var(--muted)}.ws-row.done{color:var(--good)}.ws-icons{display:flex;flex-wrap:wrap;gap:4px;margin:2px 0 2px 14px}.pips{color:var(--gold);letter-spacing:3px}.ach-list{display:flex;flex-direction:column;gap:6px;width:100%;text-align:left;font-family:var(--jp);font-size:calc(14px * var(--fs))}.ach{color:var(--muted)}.ach.got{color:var(--text)}.ach{display:flex;align-items:center;gap:10px}.ach-icon{flex:none;width:48px;height:48px;image-rendering:pixelated;image-rendering:crisp-edges}.howto-panel{max-width:420px;text-align:center}.howto-list{margin:0;padding-left:1.2em;text-align:left;font-family:var(--jp);font-size:calc(14px * var(--fs));line-height:1.6;display:flex;flex-direction:column;gap:8px}.overlay.title-screen{flex-direction:column;align-items:center;gap:16px;justify-content:safe center;padding-top:max(16px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom));background:radial-gradient(circle at 50% 40%,#5a1e8cbf,#0a0418f2);text-align:center}html[data-tod=day] .overlay.title-screen{background:radial-gradient(circle at 50% 40%,#468cdc73,#102860e0)}html[data-tod=dusk] .overlay.title-screen{background:radial-gradient(circle at 50% 40%,#e66e6e80,#3c1040eb)}.title-jp{font-family:var(--jp);font-size:calc(22px * var(--fs));color:var(--pink);letter-spacing:6px}.title-logo{font-size:clamp(28px,9vw,64px);color:var(--gold);text-shadow:4px 4px 0 #a0200a,8px 8px 0 #2a0f45,0 0 40px rgba(255,201,58,.5)}.title-brand,.hub-logo{margin:0;line-height:0}.title-brand img,.hub-logo img{display:block;width:100%;height:auto;image-rendering:pixelated;image-rendering:crisp-edges;pointer-events:none;filter:drop-shadow(0 4px 0 rgba(10,4,24,.6))}.title-brand{width:min(86vw,520px,42vh * 2.65)}.hub-logo{width:clamp(180px,30vw,340px);flex:0 1 auto}.title-brand.cat{flex:none;margin:0 auto 12px;width:min(88vw,600px,38vh * 1.954)}.title-brand.cat picture{display:block}.title-brand.cat img{image-rendering:auto}.title-sub{font-size:clamp(9px,2.6vw,14px);color:var(--neon);letter-spacing:3px;line-height:1.5;padding-block:12px;margin:0 auto;text-align:center;text-shadow:0 0 10px rgba(58,208,255,.45)}.title-screen .btn.title-open{display:block;box-sizing:border-box;width:100%;max-width:360px;margin:0 auto}.title-best{margin:14px auto 0;font-family:var(--jp);font-size:calc(12px * var(--fs));color:var(--gold);letter-spacing:1px;text-align:center}.title-best.empty{color:var(--text);opacity:.6}@media (max-width: 720px){html,body{font-size:calc(10px * var(--fs))}.overlay.grid-screen{align-items:flex-end;justify-content:center;padding:6px;background:linear-gradient(180deg,transparent 30%,rgba(10,4,24,.6))}.grid-wrap{max-height:66%}.ge-body{flex-direction:column;align-items:center}.ge-grid{--cell: min(40px, 12vw)}.ge-right{width:100%}.card{width:100%;min-height:0}.cards{flex-direction:column}.logo{font-size:calc(15px * var(--fs))}.hub-top{justify-content:center}.hub-logo{flex:1 1 100%;width:auto;display:flex;justify-content:center}.hub-logo img{width:min(78vw,340px,22vh * 2.65)}.hub-right{width:100%;flex-direction:row;justify-content:space-between;align-items:flex-start}.hub-bottom .btn{font-size:calc(9px * var(--fs));padding:8px}.hub-bottom .btn.big{width:100%;font-size:calc(13px * var(--fs))}}#ui:has(.grid-screen) .hud{display:none}.ge-foot{position:sticky;bottom:-12px;background:#241040f7;padding:8px 0 2px;margin:0 -12px -12px}@media (max-width: 720px){.ge-grid{--cell: min(34px, 9vw)}.grid-wrap{max-height:72%}.ge-hint{display:none}.floor-preview{font-size:calc(9px * var(--fs));padding:6px}.grid-editor{padding:10px;gap:8px}.ge-body{flex-direction:row;align-items:flex-start;gap:8px}.ge-right{font-size:calc(9px * var(--fs))}.ge-info{font-size:calc(11px * var(--fs));min-height:0}.syn-row{font-size:calc(11px * var(--fs))}.ge-tools .btn{font-size:calc(8px * var(--fs));padding:5px 6px}}.lang-select{pointer-events:auto;font-family:var(--px);font-size:calc(10px * var(--fs));color:var(--text);background:var(--panel2);border:3px solid var(--line);padding:6px 8px;cursor:pointer;box-shadow:0 0 0 2px #0c0418}.lang-select:hover{border-color:var(--neon)}.lang-chips{pointer-events:auto;display:flex;flex-wrap:wrap;justify-content:center;gap:6px;max-width:360px;margin:12px auto 0}.lang-chip{font-family:var(--jp);font-size:calc(12px * var(--fs));color:var(--text);cursor:pointer;background:var(--panel2);border:2px solid var(--line);padding:6px 10px;box-shadow:0 0 0 2px #0c0418}.lang-chip:hover{border-color:var(--neon)}.lang-chip.on{border-color:var(--neon);color:var(--neon);box-shadow:0 0 0 2px #0c0418,0 0 10px #3ad0ff59}.pmg-card{pointer-events:auto;margin:12px auto 0;align-self:center;box-sizing:border-box;width:100%;max-width:360px;display:flex;flex-direction:column;gap:8px;align-items:center;background:linear-gradient(180deg,var(--panel2),var(--panel));border:3px solid var(--gold);border-bottom-width:5px;box-shadow:0 0 0 2px #0c0418,0 0 18px #ffc93a38;padding:10px 10px 12px}.pmg-label{display:flex;flex-direction:column;gap:2px;text-align:center;line-height:1.3}.pmg-label .jp{font-family:var(--jp);font-size:calc(10px * var(--fs));color:var(--gold)}.pmg-label .en{font-family:var(--px);font-size:calc(8px * var(--fs));color:var(--muted);text-transform:uppercase}.pmg-icons{display:flex;gap:6px;justify-content:center;flex-wrap:nowrap}.pmg-icon,.pmg-more{width:56px;height:56px;border-radius:12px;overflow:hidden;cursor:pointer;border:2px solid var(--line);box-shadow:0 0 0 2px #0c0418;background:var(--bg);display:flex;align-items:center;justify-content:center;text-decoration:none;flex:0 0 auto;transition:transform .08s,border-color .08s}.pmg-icon img{width:100%;height:100%;object-fit:cover;display:block;image-rendering:auto}.pmg-icon:hover,.pmg-more:hover{border-color:var(--gold);transform:translateY(-2px)}.pmg-more{flex-direction:column;gap:1px;line-height:1.1;border-color:var(--gold);background:linear-gradient(160deg,#ffd766,var(--gold) 55%,var(--orange));color:#2a1400;text-align:center}.pmg-more .jp{font-family:var(--jp);font-size:calc(10px * var(--fs));font-weight:700}.pmg-more .en{font-family:var(--px);font-size:calc(7px * var(--fs));text-transform:uppercase}@media (max-height: 640px){.pmg-card{margin-top:8px;padding:8px;gap:6px}.pmg-icon,.pmg-more{width:48px;height:48px}}.pause-panel{text-align:center}.title-logo,.logo{font-family:"Press Start 2P",monospace}.logo small{font-family:var(--jp)}html.lang-ja .ge-title .jp,html.lang-ja .panel h2 .jp{display:none}.hud-bl{position:absolute;left:10px;bottom:max(12px,env(safe-area-inset-bottom));max-width:calc(100% - 170px);display:flex;flex-direction:column;gap:6px;align-items:flex-start}.drop-column{position:absolute;right:14px;bottom:max(10px,env(safe-area-inset-bottom));width:136px;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.drop-hint{width:100%;font-size:calc(9px * var(--fs));line-height:1.25;color:var(--muted);text-align:right;white-space:normal;overflow-wrap:anywhere;text-shadow:1px 1px 0 #000}.drop-hint:empty{min-height:42px;visibility:hidden}.hud-bl .chips{max-width:330px}.drop-btn{position:relative;width:136px;height:136px;flex:0 0 136px;border:none;padding:0 0 14px;background:var(--art-up) center / 100% 100% no-repeat;image-rendering:pixelated;pointer-events:auto;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-family:"Press Start 2P",var(--px);color:#fff}.drop-btn.down{background-image:var(--art-down);padding-top:16px;padding-bottom:0}.drop-btn.empty{background-image:var(--art-off);cursor:default}.drop-btn:focus-visible{outline:3px dashed #fff;outline-offset:2px}.drop-label{font-size:calc(15px * var(--fs));line-height:1;text-shadow:3px 0 0 #2a0f00,-3px 0 0 #2a0f00,0 3px 0 #2a0f00,0 -3px 0 #2a0f00,3px 3px 0 #2a0f00,-3px 3px 0 #2a0f00,3px -3px 0 #2a0f00,-3px -3px 0 #2a0f00}.drop-count{font-family:"Press Start 2P",monospace;font-size:10px;color:var(--gold);background:#2a0f45;padding:4px 6px;box-shadow:0 0 0 2px #0c0418,2px 2px 0 2px #0c0418}@media (max-width: 720px){.drop-column{width:112px}.drop-btn{width:112px;height:112px;flex-basis:112px}.drop-label{font-size:calc(12px * var(--fs))}.hud-bl{max-width:calc(100% - 136px)}}.rotate-note{display:none}@media (orientation: landscape) and (max-height: 500px) and (pointer: coarse){.rotate-note{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;background:var(--panel2);color:#fff;font:800 22px var(--jp);text-align:center}}.hud-combo{position:relative;padding:4px 10px;font-family:"Press Start 2P",var(--px)}.hud-combo.on{color:#0c0418;text-shadow:none;background:var(--gold);clip-path:polygon(0 20%,6% 20%,6% 0,14% 12%,24% 0,30% 14%,42% 2%,48% 16%,60% 0,66% 14%,78% 2%,84% 16%,94% 4%,94% 24%,100% 30%,96% 50%,100% 72%,94% 78%,96% 100%,84% 86%,72% 100%,64% 86%,50% 100%,42% 86%,30% 100%,22% 86%,10% 98%,8% 80%,0 76%,4% 50%);padding:9px 18px}.hud-combo.on.fever{background:var(--pink);color:#fff}.hud-combo.ink{animation:inkPop .32s steps(4) both}@keyframes inkPop{0%{transform:scale(1.6) rotate(-6deg);filter:brightness(2)}50%{transform:scale(.9) rotate(3deg)}to{transform:scale(1) rotate(0)}}.manga-burst{position:absolute;left:var(--x);top:36%;width:min(76vw,520px);aspect-ratio:128 / 80;transform:translate(-50%,-50%) rotate(var(--rot));pointer-events:none;z-index:4;animation:mangaIn 1.1s steps(1,end) both}.manga-art{width:100%;height:100%;image-rendering:pixelated;display:block}.manga-word{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%) rotate(-7deg);white-space:nowrap;font-family:DotGothic16,monospace;font-weight:700;font-size:clamp(26px,7.5vw,58px);color:#fff;letter-spacing:2px;text-shadow:4px 0 0 #0c0418,-4px 0 0 #0c0418,0 4px 0 #0c0418,0 -4px 0 #0c0418,4px 4px 0 #0c0418,-4px -4px 0 #0c0418,4px -4px 0 #0c0418,-4px 4px 0 #0c0418,8px 8px 0 #ff4fa0}.manga-sfx{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%) rotate(-7deg);display:block;max-width:none;image-rendering:pixelated;image-rendering:crisp-edges;pointer-events:none;filter:drop-shadow(4px 4px 0 #0c0418)}.manga-count{position:absolute;left:50%;top:74%;transform:translate(-50%,-50%) rotate(4deg);white-space:nowrap;font-family:"Press Start 2P",monospace;font-size:clamp(12px,3vw,20px);color:var(--gold);text-shadow:3px 0 0 #0c0418,-3px 0 0 #0c0418,0 3px 0 #0c0418,0 -3px 0 #0c0418,3px 3px 0 #0c0418}.manga-count small{font-size:.6em;margin-left:6px}@keyframes mangaIn{0%{transform:translate(-50%,-50%) rotate(var(--rot)) scale(.35);opacity:1}8%{transform:translate(-50%,-50%) rotate(var(--rot)) scale(1.18)}16%{transform:translate(-52%,-49%) rotate(var(--rot)) scale(1)}24%{transform:translate(-48%,-51%) rotate(var(--rot)) scale(1)}32%{transform:translate(-50%,-50%) rotate(var(--rot)) scale(1)}80%{opacity:1}90%{opacity:.5}to{transform:translate(-50%,-50%) rotate(var(--rot)) scale(1.05);opacity:0}}.card.entry{position:relative;display:grid;grid-template-columns:86px 1fr;gap:12px;align-items:center;width:300px;min-height:0;padding:18px 12px 12px;text-align:left}.entry-left{display:flex;flex-direction:column;align-items:center;gap:4px}.entry-visual{width:78px;height:78px;display:flex;align-items:center;justify-content:center;background:#140822;border:2px solid #3b1f63;box-shadow:inset 0 0 0 2px #0c0418}.entry-sub{font-size:calc(9px * var(--fs));color:var(--muted);text-align:center;line-height:1.3}.entry-sub .jp{font-size:calc(10px * var(--fs))}.entry-right{display:flex;flex-direction:column;gap:6px;min-width:0}.entry-right .card-title{padding-right:46px}.entry-right .card-foot{margin-top:2px}.tag.corner{position:absolute;top:-3px;right:-3px;background:var(--panel);box-shadow:0 0 0 2px #0c0418}.tag.bad{color:var(--bad)}.entry-icon{font-size:34px}.entry-unknown{font-family:"Press Start 2P",monospace;font-size:28px;color:#3b1f63}.card.entry.unknown{opacity:.6;cursor:default}.card.entry.unknown:hover{transform:none}.pixel-img{width:64px;height:64px;image-rendering:pixelated}.mod-ico{width:24px;height:24px;image-rendering:pixelated;vertical-align:middle;flex:none;pointer-events:none}.mod-ico.x2{width:48px;height:48px}.mod-visual{display:flex;flex-direction:column;align-items:center;gap:4px}.ge-piece .pi .mod-ico{filter:drop-shadow(1px 1px 0 rgba(0,0,0,.7))}.syn-pair span{line-height:0}.syn-pair{display:flex;align-items:center;gap:2px;font-size:18px;color:var(--muted)}.syn-pair span{border:2px solid var(--c);padding:3px;background:#0c0418}.codex .codex-list{max-height:58vh;overflow-y:auto;padding:4px}.codex-tabs .btn.primary{box-shadow:0 0 0 2px #3a1200}@media (max-width: 720px){.card.entry{width:100%}}.pixel-img.coin{clip-path:circle(48%)}.overlay.inspect{cursor:pointer}.inspect-panel{max-width:380px}.inspect-panel .card.entry{width:100%;cursor:default}.inspect-panel .card.entry:hover{transform:none}.inspect-syn{width:100%;text-align:left;display:flex;flex-direction:column;gap:4px}.inspect-close{font-size:calc(11px * var(--fs))}.share-panel{max-width:560px}.share-img{flex:none;width:min(100%,480px,46dvh);aspect-ratio:1;image-rendering:pixelated;border:3px solid var(--line);box-shadow:0 0 0 3px #0c0418}.share-text{font-size:calc(13px * var(--fs));word-break:break-word}a.btn{display:inline-block;text-decoration:none}.share-social .btn{font-size:calc(9px * var(--fs))}.share-hint{font-family:var(--jp);font-size:calc(11px * var(--fs))}
