:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#08070c;--void:#0c0a12;--line:#2f2940;--line-2:#423a56;--fg:#ece5d6;--muted:#a1968a;--dim:#6f6759;--accent:#d9a441;--accent-hi:#f4d489;--accent-dim:#8a6b26;--accent-fg:#ffeec2;--danger:#e0574a;--ok:#7fbf6a;--fr-w:8px;--fr-draw:12px;--serif:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, ui-serif, serif;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}html,body{overscroll-behavior:none}body{background:var(--bg);color:var(--fg)}.app{height:100%;padding-top:env(safe-area-inset-top);background:radial-gradient(120% 60% at 50% 0%, #d9a4410d, transparent 70%), linear-gradient(180deg, #0b0912 0%, var(--bg) 40%, #0a0810 100%);flex-direction:column;display:flex;position:relative}.hud{font-variant-numeric:tabular-nums;background:linear-gradient(#15111e 0%,#100d18 70%,#0b0912 100%);flex:none;align-items:center;gap:10px;min-height:48px;padding:5px 12px 7px;display:flex;position:relative;box-shadow:inset 0 -1px #0009}.hud-load{align-items:baseline;gap:1px;display:flex}.hud-load b{font-family:var(--serif);font-size:22px;font-weight:700;line-height:1}.hud-load i{color:var(--dim);font-size:12px;font-style:normal}.hud-gold{align-items:baseline;gap:1px;display:flex}.hud-gold b{font-family:var(--serif);color:var(--accent-hi);text-shadow:0 0 12px #d9a44166;font-size:19px;font-weight:600;line-height:1}.hud-gold i{color:var(--accent-dim);font-size:11px;font-style:normal}.hud-wave{border:1px solid var(--line-2);white-space:nowrap;letter-spacing:.02em;background:#ffffff0a;align-items:center;gap:5px;padding:3px 9px 4px;font-size:12px;display:flex}.hud-wave em{background:currentColor;flex:none;width:7px;height:7px}.hud-wave.r0{color:#7fbf6a}.hud-wave.r1{color:#8f9ad2}.hud-wave.r2{color:var(--danger)}.hud-meta{flex-direction:column;align-items:flex-end;gap:1px;margin-left:auto;line-height:1.15;display:flex}.hud-meta .round{color:var(--muted);letter-spacing:.06em;font-size:11px}.hud-meta .best{color:var(--accent);font-size:11px}.hud-sp{align-self:center;gap:6px;display:flex}.hud-sp button{min-width:42px;height:40px;padding:0 8px;font-size:13px}.hud-gauge{background:#ffffff0f;height:3px;position:absolute;bottom:0;left:0;right:0}.hud-gauge i{background:linear-gradient(90deg, var(--accent-dim), var(--accent));height:100%;transition:width .25s ease-out;display:block;box-shadow:0 0 8px #d9a44180}.hud-gauge.slots-note i{background:linear-gradient(90deg,#b99320,#e8c74a);box-shadow:0 0 8px #e8c74a8c}.hud-gauge.slots-warn i,.hud-gauge.slots-crit i{background:linear-gradient(90deg, #8c2a22, var(--danger));box-shadow:0 0 10px #e0574aa6}.slots-ok{color:var(--fg)}.slots-note{color:#e8c74a}.slots-warn,.slots-crit{color:var(--danger);animation:1s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.45}}.vignette-crit:after{content:"";pointer-events:none;z-index:5;animation:1.2s ease-in-out infinite pulse;position:fixed;inset:0;box-shadow:inset 0 0 120px 30px #8c141099}.stage-wrap{background:radial-gradient(90% 70% at 50% 45%, #100d18 0%, var(--void) 60%, #070509 100%);flex:auto;min-height:0;position:relative}.stage-wrap:after{content:"";pointer-events:none;z-index:1;background:radial-gradient(72% 64% at 50% 48%,#0000 50%,#0a061261 80%,#06040ca8 100%);position:absolute;inset:0}.pixi-host{place-items:center;display:grid;position:absolute;inset:0}.pixi-host canvas{image-rendering:pixelated;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;display:block;box-shadow:0 0 0 1px #d9a44124,0 18px 50px #000000bf}.diag{pointer-events:none;color:var(--dim);font-variant-numeric:tabular-nums;margin:0;font-size:11px;position:absolute;top:6px;left:12px}.dock button,.tilepanel button,.sheet button,.skill,.gameover button,.hud-sp button{border:var(--fr-w) solid transparent;border-image:url(/art/ui/frame-btn.png) 32 fill / var(--fr-draw) stretch;min-height:44px;color:var(--grade,var(--fg));font:inherit;cursor:pointer;text-shadow:0 1px #000000a6;touch-action:manipulation;background:0 0;padding:0 6px;font-size:13px;transition:filter .1s ease-out}.dock button:active,.tilepanel button:active,.sheet button:active,.skill:active,.gameover button:active,.hud-sp button:active{filter:brightness(1.35)}.dock button:disabled,.tilepanel button:disabled,.sheet button:disabled,.skill:disabled{opacity:.4;cursor:not-allowed;filter:grayscale(.5)}.dock button[aria-pressed=true],.tilepanel button[aria-pressed=true],.sheet button[aria-pressed=true],.hud-sp button[aria-pressed=true],.dock button[aria-expanded=true],.sheet button[aria-expanded=true]{border-image:url(/art/ui/frame-btn-on.png) 32 fill / var(--fr-draw) stretch;color:var(--accent-fg)}button.primary{color:var(--accent-hi);border-width:10px;border-image:url(/art/ui/frame-btn-hot.png) 32 fill/14px;font-weight:700}button.primary:not(:disabled){box-shadow:0 0 22px -6px #d9a44173}.dock .actions button:disabled{opacity:.5}button.accent{color:var(--accent-hi)}button.danger{color:var(--danger)}button.danger:not(:disabled){box-shadow:inset 0 0 20px -8px #e0574ab3}.dim{color:var(--muted);margin-left:4px;font-size:11px}.dock{padding:12px 14px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(#1a1524 0%,#131020 55%,#0d0a14 100%);flex-direction:column;flex:none;gap:10px;display:flex;position:relative;box-shadow:inset 0 1px #f4d48917}.dock:before{content:"";background:linear-gradient(90deg, transparent, var(--accent-dim) 15%, var(--accent) 50%, var(--accent-dim) 85%, transparent);opacity:.6;height:2px;position:absolute;top:0;left:0;right:0}.ad-wrap{place-items:center;display:grid}#ad-slot{width:320px;max-width:100%;height:0}#ad-slot:not(:empty){height:auto;margin:2px 0}.actions{gap:6px;display:flex}.actions button{font-variant-numeric:tabular-nums;flex:1 1 0;min-width:0;min-height:50px;font-size:12px}.actions button.primary{flex-direction:column;flex:1.6 1 0;gap:0;line-height:1.15;display:flex}.btn-main{letter-spacing:.01em;font-size:14px;font-weight:700}.btn-sub{color:var(--accent);font-size:11px;font-weight:400}.actions .more{width:50px;color:var(--muted);flex:none;padding:0;font-size:18px}.upgrades{align-items:stretch;gap:8px;display:flex}.up-title{color:var(--muted);flex:none;align-self:center;font-size:12px}.upgrades button{flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:2px;min-height:52px;padding:4px;font-size:12px;display:flex}.upgrades button b{font-family:var(--serif);color:var(--accent-hi);font-variant-numeric:tabular-nums}.up-cost{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}button.gamble{color:var(--accent-hi)}.tp-odds{color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:4px 10px;margin:0;font-size:11px;display:flex}.tp-odds .bad{color:var(--danger)}.tp-odds .good{color:var(--ok)}.batch{flex-direction:column;gap:8px;display:flex}.batch-head{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.batch-title{font-size:13px;font-weight:700}.batch-note{color:var(--dim);font-size:11px}.batch-row{gap:8px;display:flex}.batch-row button{flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:3px;min-height:54px;padding:6px 4px;display:flex}.batch-result{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.sellsheet{flex-direction:column;gap:14px;display:flex}.sellsheet .sh-row{flex-wrap:wrap}.sellsheet .sh-row button{flex:auto;min-width:64px;padding:0 8px}.sell-grades button{font-size:12px}.sell-grades button[aria-pressed=true]{color:var(--accent-fg)}.sell-go{min-height:54px;font-size:15px}.skillbar{gap:6px;display:flex}.skill{min-width:0;min-height:48px;color:var(--muted);border-image:url(/art/ui/frame-chip.png) 32 fill/11px;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:1px;padding:0 2px;display:flex}.skill-name{letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11px;line-height:1.1;overflow:hidden}.skill-sub{align-items:baseline;gap:4px;display:flex}.skill.ready{color:var(--accent-hi);border-image:url(/art/ui/frame-chip-on.png) 32 fill/11px}.skill.active{box-shadow:0 0 18px -4px #f4d48999}.skill-count,.skill-state{color:var(--muted);font-variant-numeric:tabular-nums;font-size:10px}.skill.ready .skill-count,.skill.ready .skill-state{color:var(--accent)}.skill-auto{color:var(--accent-hi);font-size:9px;font-weight:700}.tile-pop{z-index:6;filter:drop-shadow(0 14px 26px #000000b8);border:12px solid #0000;border-image:url(/art/ui/frame-pop.png) 32 fill/16px;width:236px;max-width:calc(100% - 16px);padding:4px;position:absolute}.tile-pop .tilepanel{gap:10px}.tile-pop .tp-head{font-size:14px}.tile-pop .tp-head strong{font-size:15px}.tile-pop button{min-height:40px;padding:0 4px;font-size:12px}.tile-pop .tp-dist{margin-left:auto}.sheet-wrap{z-index:8;pointer-events:none;flex-direction:column;display:flex;position:fixed;inset:0}.sheet-wrap>*{pointer-events:auto}.sheet-spacer{pointer-events:none;flex:auto}.sheet-scrim{cursor:pointer;background:radial-gradient(120% 80% at 50% 100%,#1408048c,#050408c7);border:none;flex:auto;padding:0}.sheet{padding:4px 16px calc(16px + env(safe-area-inset-bottom));background:linear-gradient(#1b1626 0%,#131020 45%,#0e0b15 100%);flex-direction:column;flex:none;gap:14px;max-height:78vh;display:flex;position:relative;overflow-y:auto;box-shadow:0 -20px 44px #000000b3}.sheet:before{content:"";background:linear-gradient(90deg, transparent, var(--accent-dim) 15%, var(--accent) 50%, var(--accent-dim) 85%, transparent);opacity:.7;height:2px;margin:0 -16px;display:block;position:sticky;top:0}.sheet-grab{cursor:pointer;align-self:center;place-items:center;width:88px;min-height:28px;padding:0;display:grid;background:0 0!important;border:none!important;border-image:!important}.sheet-grab span{background:var(--line-2);width:40px;height:3px}.sh-group{flex-direction:column;gap:8px;display:flex}.sh-label{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;padding:0 2px;font-size:11px}.sh-row{gap:8px;display:flex}.sh-row button{flex:1 1 0}.sh-note{color:var(--dim);margin:0;font-size:11px}.sh-foot{border-top:1px solid var(--line);gap:8px;padding-top:4px;display:flex}.sh-foot button{flex:1 1 0;margin-top:10px}.settings{flex-direction:column;gap:10px;display:flex}.set-row{align-items:center;gap:12px;display:flex}.set-row>.set-name{flex:0 0 92px}.set-row>.seg{flex:auto}.set-row>.seg button{flex:1 1 0}.set-name{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;font-size:12px}.set-block{flex-direction:column;gap:6px;display:flex}.seg{border:8px solid #0000;border-image:url(/art/ui/frame-btn.png) 32 fill/8px;display:flex}.seg-wide{width:100%}.seg-wide button{flex:1 1 0}.sheet .seg button{min-height:38px;color:var(--grade,var(--muted));text-shadow:none;background:0 0;border:0;border-image:;padding:0 14px;font-size:13px;line-height:1.15}.sheet .seg:not(.seg-grid) button+button{border-left:1px solid var(--line-2)}.seg-grid{grid-template-columns:repeat(3,1fr);width:100%;display:grid}.sheet .seg-grid button:not(:nth-child(3n+1)){border-left:1px solid var(--line-2)}.sheet .seg-grid button:nth-child(n+4){border-top:1px solid var(--line-2)}.sheet .seg button[aria-pressed=true]{color:var(--accent-fg);background:linear-gradient(#54401a 0%,#3f2f12 55%,#2b200c 100%);border-image:;font-weight:600;box-shadow:inset 0 1px #f4d4894d}.sheet .seg button:disabled{opacity:.4}.seg button small{color:var(--dim);font-variant-numeric:tabular-nums;font-size:10px;display:block}.sheet .seg button[aria-pressed=true] small{color:#ffeec2b3}.sheet button.set-restart{border:0;border-top:1px solid var(--line);min-height:42px;color:var(--danger);box-shadow:none;background:0 0;border-image:;margin-top:4px;font-size:13px}.tilepanel{flex-direction:column;gap:12px;display:flex}.tp-head{flex-wrap:wrap;align-items:baseline;gap:8px;font-size:15px;display:flex}.tp-head strong{font-family:var(--serif);font-size:17px;font-weight:600}.tp-branch{color:var(--muted);font-size:13px}.tp-mult{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.tp-lock{color:var(--accent);font-size:11px}.tp-dist{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:11px}.tp-actions,.tp-row{gap:8px;display:flex}.tp-actions button,.tp-row button{flex:1 1 0}.tp-group{flex-direction:column;gap:8px;display:flex}.tp-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;padding:0 2px;font-size:11px}.tp-hint,.tp-meta{color:var(--muted);font-variant-numeric:tabular-nums;margin:0;font-size:11px}.tilepanel button.best{color:var(--accent-hi)}.tp-alert{border-left:3px solid var(--danger);background:linear-gradient(90deg,#7a1f1a59,#7a1f1a0f);flex-direction:column;gap:3px;margin:0;padding:9px 11px;display:flex}.tp-alert strong{color:var(--danger);font-size:13px}.tp-alert span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.g0{--grade:#a8a29a}.g1{--grade:#6fcb5a}.g2{--grade:#5aa6e8}.g3{--grade:#b27bf5}.g4{--grade:#e8a93c}.g5{--grade:#ffd866}.g6{--grade:#f0564a}.g7{--grade:#3edcef}.g8{--grade:#fff}.g9{--grade:#fff3c4}.g0,.g1,.g2,.g3,.g4,.g5,.g6,.g7,.g8,.g9{color:var(--grade)}.drawtoast{z-index:5;white-space:nowrap;pointer-events:none;animation:.16s ease-out toast-in,.3s ease-in forwards toast-out;animation-delay:0s, calc(var(--hold,1.3s));border:8px solid #0000;border-image:url(/art/ui/frame-pop.png) 32 fill/12px;align-items:baseline;gap:8px;padding:8px 16px;font-size:14px;display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.drawtoast b{font-weight:700}.drawtoast span{color:var(--fg)}.drawtoast.hi{--hold:2.1s;border-width:12px;border-image:url(/art/ui/frame-hi.png) 32 fill/14px;padding:11px 20px;font-size:15px}.drawtoast.epic{--hold:2.9s;animation:.16s ease-out toast-in,.3s ease-in forwards toast-out,1.4s ease-in-out infinite toast-pulse;animation-delay:0s, var(--hold), 0s;border-width:14px;border-image:url(/art/ui/frame-epic.png) 32 fill/16px;padding:13px 24px;font-size:17px}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,10px)scale(.94)}to{opacity:1;transform:translate(-50%)scale(1)}}@keyframes toast-out{to{opacity:0;transform:translate(-50%,-8px)}}@keyframes toast-pulse{0%,to{filter:drop-shadow(0 0 #fff3c400)}50%{filter:drop-shadow(0 0 12px #fff3c48c)}}.drawlog-wrap{z-index:7;position:fixed;inset:0}.drawlog{z-index:7;filter:drop-shadow(0 12px 26px #000000b3);cursor:pointer;border:10px solid #0000;border-image:url(/art/ui/frame-pop.png) 32 fill/13px;max-width:calc(100% - 16px);padding:4px 6px 8px;animation:.16s ease-out toast-in;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.drawlog-head{border-bottom:1px solid var(--line-2);align-items:baseline;gap:8px;padding:0 4px 5px;display:flex}.drawlog-head b{color:var(--accent-hi);letter-spacing:.04em;font-size:13px}.drawlog-head span{color:var(--dim);font-variant-numeric:tabular-nums;margin-left:auto;font-size:11px}.drawlog-grid{grid-template-columns:repeat(5,1fr);gap:5px;margin:0;padding:7px 2px 0;list-style:none;display:grid}.dl-card{border:1px solid var(--line);border-bottom:2px solid var(--grade,var(--line));opacity:.3;background:#ffffff09;flex-direction:column;align-items:center;gap:1px;min-height:84px;padding:3px 1px 4px;display:flex;transform:scale(.9)}.dl-card.in{opacity:1;transition:opacity .14s,transform .14s;transform:scale(1)}.dl-back{color:var(--dim);flex:auto;place-items:center;font-size:15px;display:grid}.usprite-box{flex:none;place-items:center;display:grid}.usprite{image-rendering:pixelated;background-repeat:no-repeat;display:block}.dl-branch{color:var(--fg);white-space:nowrap;font-size:9.5px;line-height:1.1}.dl-grade{color:var(--grade,var(--muted));white-space:nowrap;font-size:9.5px;line-height:1.1}@media (max-width:360px){.drawlog-grid{gap:4px}.dl-branch,.dl-grade{font-size:9px}}.gameover{z-index:9;text-align:center;background:radial-gradient(65% 45% at 50% 40%,#460e0a80,#040307f2);place-content:center;gap:10px;padding:24px;display:grid;position:fixed;inset:0}.gameover h2{font-family:var(--serif);letter-spacing:.04em;color:#f0d9c0;text-shadow:0 0 24px #e0574a73;margin:0;font-size:26px;font-weight:600}.gameover p{margin:0}.gameover .muted{color:var(--muted);font-size:13px}.gameover .newbest{color:var(--accent-hi);letter-spacing:.06em;font-weight:700}.gameover .records{color:var(--muted);font-size:13px}.gameover button{min-height:54px;margin-top:8px;padding:0 24px}@media (prefers-reduced-motion:reduce){.drawtoast,.drawtoast.epic{animation:.3s ease-in 1.3s forwards toast-out}.drawlog{animation:none}.dl-card.in{transition:none}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}.slots-warn,.slots-crit,.vignette-crit:after{animation:none}}@media (min-width:720px){.hud{padding:6px 24px 8px}.dock{align-items:center;padding-bottom:16px}.dock>*{width:100%;max-width:640px}.skillbar{justify-content:center}.sheet{align-self:center;width:100%;max-width:680px}}@media (max-width:380px){:root{--fr-w:7px;--fr-draw:10px}.actions button{padding:0 4px;font-size:12px}.batch-row button{font-size:12px}}.sheetview{flex-direction:column;gap:24px;padding:20px 16px 60px;display:flex}.sheetview h1{font-family:var(--serif);margin:0;font-size:20px}.sheetview h2{margin:0 0 10px;font-size:14px}.sheetview h2 span{color:var(--muted);margin-left:6px;font-size:12px;font-weight:400}.sheetview p{color:var(--muted);margin:6px 0 0;font-size:12px}.sheetview .picked{color:var(--accent);font-weight:700}.sheetview a{color:var(--accent);font-size:13px}.sheetview section{overflow-x:auto}.sheetview .grid{image-rendering:pixelated;border:1px solid var(--line);background-repeat:no-repeat;grid-template-columns:repeat(12,1fr);display:grid}.sheetview .grid button{cursor:pointer;background:0 0;border:1px solid #ffffff14;padding:0;position:relative}.sheetview .grid button:hover{background:#d9a44159}.sheetview .grid button span{color:#fff;text-shadow:0 0 3px #000,0 0 3px #000;font-variant-numeric:tabular-nums;font-size:9px;position:absolute;bottom:0;left:1px}.test-chip{z-index:2;opacity:.55;width:34px;min-height:34px;padding:0;font-size:15px;line-height:1;position:absolute;top:8px;right:10px}.test-chip[aria-expanded=true],.test-chip:hover{opacity:1}.test-sheet .set-block+.set-block{margin-top:2px}.seg-grid.g5{grid-template-columns:repeat(5,1fr)}.sheet .seg-grid.g5 button{border-left:1px solid var(--line-2);border-top:1px solid var(--line-2);padding:0 2px;font-size:12px}.sheet .seg-grid.g5 button:nth-child(5n+1){border-left:0}.sheet .seg-grid.g5 button:nth-child(-n+5){border-top:0}.test-spec{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:baseline;gap:10px;margin:0;font-size:12px;display:flex}.test-spec b{font-family:var(--serif);color:var(--accent-hi);font-size:13px}.test-acts{flex-direction:column;gap:6px;display:flex}.test-acts button{min-height:42px;font-size:12px}.reward{z-index:9;text-align:center;background:radial-gradient(70% 50% at 50% 42%,#342608ed,#040307fb);place-content:center;gap:10px;padding:24px;display:grid;position:fixed;inset:0}.reward h2{font-family:var(--serif);color:var(--accent-hi);margin:0;font-size:20px}.reward p{max-width:278px;margin:0 auto;font-size:12px;line-height:1.45}.reward-opts{gap:10px;margin-top:4px;display:flex}.reward-opts button{border:var(--fr-w) solid transparent;border-image:url(/art/ui/frame-btn.png) 32 fill / var(--fr-draw) stretch;min-width:132px;min-height:84px;color:var(--fg);font:inherit;cursor:pointer;background:0 0;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:3px;transition:filter .1s ease-out;display:flex}.reward-opts button:active{filter:brightness(1.35)}.reward-opts b{font-family:var(--serif);color:var(--accent-hi);font-size:19px}.reward-opts b i{color:var(--accent);margin-left:1px;font-size:12px;font-style:normal}.reward-opts span{color:var(--muted);font-size:11px}
