:root{--bg: #1d1a24;--panel: #f7f1e3;--ink: #1d1d2a;--muted: #5d5a6b;--line: #1d1d2a;--accent: #b23b2e;--player: #f2b33d;--opponent: #5b9bff;--ok: #2f8a4e;--ko: #a33b3b;--font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--fs: 1;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--bg);font-family:var(--font);font-size:calc(16px * var(--fs));color:var(--ink)}body{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}button,#dialog{touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer}#game{position:fixed;inset:0}#game canvas{display:block}[hidden]{display:none!important}.rush{position:fixed;top:calc(max(8px,env(safe-area-inset-top)) + 64px);left:50%;transform:translate(-50%);padding:4px 10px;background:var(--panel);border:2px solid var(--line);border-radius:6px;font-weight:700;font-size:calc(13px * var(--fs));pointer-events:none;z-index:5}.rush.cold{color:var(--ko)}#hud{position:fixed;top:max(8px,env(safe-area-inset-top));left:8px;right:8px;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none}.hud-card,.hud-menu{pointer-events:auto;background:var(--panel);border:2px solid var(--line);border-radius:6px;box-shadow:0 2px 0 var(--line)}.hud-card{display:flex;gap:10px;align-items:center;padding:6px 10px}.hud-place{font-weight:700;font-size:calc(14px * var(--fs))}.hud-stats{font-size:calc(12px * var(--fs));color:var(--muted)}.hud-injury{color:var(--ko);font-weight:700}.hud-gauges{display:flex;align-items:center;gap:8px}.gauge{display:inline-flex;align-items:center;gap:3px}.gauge img{width:16px;height:16px;image-rendering:pixelated}.gauge-bar{width:36px;height:7px;border:1.5px solid var(--ink);border-radius:2px;background:#e4dccb;overflow:hidden}.gauge-bar i{display:block;height:100%}.gauge-bar.ok i{background:var(--ok)}.gauge-bar.mid i{background:#e69965}.gauge-bar.low i{background:var(--ko)}.condition p{margin:0;font-size:calc(.9rem * var(--fs))}.condition .injury{color:var(--ko);font-weight:700}.hud-menu{width:40px;height:40px;font-size:calc(20px * var(--fs))}.belt{position:relative;display:inline-block;width:44px;height:12px;border:2px solid var(--line);border-radius:2px;background:var(--belt)}.belt-tip{position:absolute;right:4px;top:-2px;bottom:-2px;width:20px;background:#1d1d1d;display:flex;gap:2px;justify-content:center;align-items:stretch;padding:0 2px}.belt[style*="#1d1d1d"] .belt-tip{background:var(--accent)}.belt-tip i{width:2px;background:#fff}#dialog{position:fixed;left:0;right:0;bottom:0;padding:12px 12px max(12px,env(safe-area-inset-bottom));display:flex;justify-content:center;z-index:5}.dialog-box{position:relative;width:min(680px,100%);background:var(--panel);border:3px solid var(--line);border-radius:8px;padding:12px 16px 14px;box-shadow:0 3px 0 var(--line);font-size:calc(17px * var(--fs));line-height:1.45;max-height:calc(100dvh - 24px - env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain}.dialog-box p{margin:0}.dialog-speaker{display:flex;align-items:center;gap:8px;font-weight:800;color:var(--accent);margin-bottom:4px;font-size:calc(14px * var(--fs));text-transform:uppercase;letter-spacing:.04em}.odds{width:14px;height:14px;border-radius:50%;border:2px solid var(--ink);display:inline-block}.odds-easy{background:#4caf50}.odds-even{background:#f0a030}.odds-hard{background:#d8432f}.legend{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:4px;font-size:.9em}.legend li{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.legend-intent{border-left:6px solid var(--intent);padding-left:8px;display:block!important}.style-tag{font-size:.75em;font-weight:600;padding:1px 8px;border:2px solid var(--ink);border-radius:999px;background:#fff}.dialog-next{position:absolute;right:12px;bottom:6px;font-size:calc(12px * var(--fs));animation:blink 1s steps(2) infinite}@keyframes blink{50%{opacity:0}}.choices{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.choice{padding:10px 14px;border:2px solid var(--line);background:#fff;border-radius:6px;min-height:44px}.choice.selected{background:var(--ink);color:#fff}.choice.card{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:6px 12px 6px 6px}.choice.card img{width:48px;height:48px;flex:none;image-rendering:pixelated;background:var(--panel);border-radius:4px}.card-text{display:flex;flex-direction:column;flex:1;min-width:0}.card-text small{opacity:.75;font-size:.85em}.card-text small.card-owned{opacity:1;font-weight:700}.card-text small.card-timer{opacity:1;font-weight:800;color:#b4521a;font-variant-numeric:tabular-nums}.card-price{font-weight:700;white-space:nowrap}.choices.grid{display:grid;grid-template-columns:1fr 1fr}.choices.grid .choice:not(.card){grid-column:1 / -1}.choices.grid .choice.card{flex-direction:column;justify-content:center;text-align:center;padding:10px 6px;gap:4px}.choices.grid .choice.card img{width:56px;height:56px}.choices.grid .card-text{align-items:center}#touch{position:fixed;inset:auto 0 0;height:0;z-index:4}.dpad{position:fixed;left:max(16px,env(safe-area-inset-left));bottom:max(20px,env(safe-area-inset-bottom));width:156px;height:156px;display:grid;grid-template:repeat(3,1fr) / repeat(3,1fr)}.pad,.btn-a{border:2px solid rgba(255,255,255,.7);background:#14121c8c;color:#fff;border-radius:10px;font-size:calc(20px * var(--fs));touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.pad:active,.btn-a:active{background:#ffffff59}.pad-up{grid-area:1 / 2}.pad-left{grid-area:2 / 1}.pad-right{grid-area:2 / 3}.pad-down{grid-area:3 / 2}.btn-a{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:max(48px,env(safe-area-inset-bottom));width:76px;height:76px;border-radius:50%;font-weight:800;font-size:calc(26px * var(--fs));transition:opacity .15s,transform .15s}.btn-a.off{opacity:0;transform:scale(.8);pointer-events:none}#combat{position:fixed;inset:0;z-index:10;overflow-y:auto;background:#121018eb;-webkit-user-select:text;user-select:text;padding:max(12px,env(safe-area-inset-top)) 12px max(16px,env(safe-area-inset-bottom))}.combat{width:min(760px,100%);margin:0 auto;background:var(--panel);border:3px solid var(--line);border-radius:10px;padding:14px;display:grid;gap:12px}.combat h2{margin:0;font-size:calc(18px * var(--fs))}.combat-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap}.clock{font-size:calc(13px * var(--fs));color:var(--muted);font-variant-numeric:tabular-nums}.fighters{display:grid;grid-template-columns:1fr 1fr;gap:10px}.fighter{border:2px solid var(--line);border-left:8px solid var(--who);border-radius:6px;padding:8px;background:#fff}.fighter.active{box-shadow:0 0 0 3px var(--who)}.fighter-name{display:flex;justify-content:space-between;font-weight:800}.points{font-variant-numeric:tabular-nums}.fighter-meta{font-size:calc(12px * var(--fs));color:var(--muted);display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:4px}.bar{height:10px;border:2px solid var(--line);border-radius:3px;background:#e2dccd;overflow:hidden;margin-top:6px}.bar span{display:block;height:100%;background:var(--ok);transition:width .3s}.bar span.low{background:var(--ko)}.bar.xp span{background:var(--player)}.badge{padding:1px 6px;border-radius:10px;font-size:calc(11px * var(--fs));font-weight:700;color:#fff}.badge.prep{background:#8a5a12}.badge.guard{background:#3d5a8a}.position{display:grid;grid-template-columns:minmax(140px,220px) 1fr;gap:10px;align-items:center;background:#2a2733;color:#f7f1e3;border-radius:8px;padding:10px}.position-art{display:block;width:100%;aspect-ratio:16 / 9;color:#f7f1e3}.position-text{display:grid;gap:6px}.position-text strong{font-size:calc(17px * var(--fs))}.dominance{font-weight:800;font-size:calc(14px * var(--fs))}.dominance.up{color:#7fdc8f}.dominance.down{color:#ff8a80}.dominance.even{color:#d9d4c4}.ladder{grid-column:1 / -1;display:flex;gap:4px;list-style:none;margin:0;padding:0;flex-wrap:wrap}.ladder li{font-size:calc(12px * var(--fs));padding:3px 8px;border-radius:10px;border:1px solid #5d5a6b;color:#b9b4a6}.ladder li.current{background:#f7f1e3;color:var(--ink);border-color:#f7f1e3;font-weight:800}.ladder li+li:before{content:none}.events{display:grid;gap:6px}.event{border-left:6px solid var(--who);padding:4px 10px;background:#fff;border-radius:4px}.event p{margin:0;font-size:calc(14px * var(--fs))}.event.ko p:first-child{color:var(--ko)}.event .why{font-size:calc(12px * var(--fs));color:var(--muted);margin-top:2px}.hint{margin:0;color:var(--muted)}.actions{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.turn{grid-column:1 / -1;margin:0;font-weight:700}.action{text-align:left;display:grid;gap:3px;padding:9px 10px;min-height:48px;background:#fff;border:2px solid var(--line);border-radius:6px;border-left:8px solid var(--intent)}.action:not(:disabled):hover{background:#fff8e6}.action:not(:disabled):active{transform:translateY(1px)}.action:disabled{opacity:.45;cursor:not-allowed}.action-top{display:flex;gap:6px;align-items:center}.key{font-size:calc(11px * var(--fs));border:1px solid var(--muted);border-radius:3px;padding:0 4px;color:var(--muted)}.name{font-weight:800;flex:1}.tag{font-size:calc(11px * var(--fs));font-weight:700;padding:1px 6px;border-radius:10px;background:var(--intent);color:#fff}.meta{font-size:calc(12px * var(--fs));font-weight:700}.desc{font-size:calc(12px * var(--fs));color:var(--muted)}.intent-position{--intent: #2f6bb0}.intent-prepare{--intent: #8a5a12}.intent-attack{--intent: #b23b2e}.intent-defend{--intent: #3d5a8a}.intent-recover{--intent: #2f8a4e}.verdict{display:grid;gap:8px;justify-items:start}.verdict p{margin:0;font-size:calc(17px * var(--fs));font-weight:700}.primary{padding:12px 18px;min-height:48px;border:2px solid var(--line);border-radius:6px;background:var(--accent);color:#fff;font-weight:800;box-shadow:0 2px 0 var(--line)}.journal summary{cursor:pointer;font-size:calc(13px * var(--fs));color:var(--muted)}.journal ol{padding-left:20px;display:grid;gap:4px}.results{max-width:520px}.results p{margin:0}.rewards{margin:0;padding-left:20px}.rank{display:flex;gap:12px;align-items:center}.rank-text{display:grid;gap:4px;flex:1}.news{font-weight:800;color:var(--ok)}.mastery h3{margin:0;font-size:calc(1rem * var(--fs))}.mastery>small{display:block;margin-bottom:6px;opacity:.75}.mastery ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.mastery li{display:grid;grid-template-columns:1fr auto;gap:2px 8px;font-size:calc(.9rem * var(--fs))}.mastery li .bar{grid-column:1 / -1;height:6px;margin-top:0}.mastery-level{opacity:.75}.mastery li.up .mastery-level{opacity:1;font-weight:800;color:var(--ok)}@media(max-width:520px){.position{grid-template-columns:1fr}.position-art{max-width:240px;justify-self:center}.combat{padding:10px}}#combat:has(.cb){overflow:hidden;padding:0;background:#1d1a24}.cb{position:absolute;inset:0;display:flex;flex-direction:column;gap:8px;padding:max(8px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom));width:min(760px,100%);margin:0 auto;color:#f7f1e3}.cb-top{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:stretch}.cb-fighter{background:var(--panel);color:var(--ink);border:2px solid var(--line);border-top:6px solid var(--who);border-radius:6px;padding:5px 8px;min-width:0}.cb-fighter-name{display:flex;justify-content:space-between;gap:4px;font-weight:800;font-size:calc(14px * var(--fs))}.cb-fighter-name{flex-wrap:wrap}.cb-fighter-name .points{white-space:nowrap;margin-left:auto}.cb-fighter .bar{margin-top:4px;height:8px}.cb-fighter-meta{font-size:calc(11px * var(--fs));color:var(--muted);display:flex;gap:4px;align-items:center;margin-top:2px;font-variant-numeric:tabular-nums}.cb-mid{display:flex;flex-direction:column;justify-content:space-between;align-items:center;gap:4px}.cb-mid .clock{color:#d9d4c4;font-size:calc(12px * var(--fs))}.cb-journal-btn{font-size:calc(12px * var(--fs));padding:6px 8px;border-radius:6px;border:2px solid #f7f1e3;background:transparent;color:#f7f1e3}.cb-stage{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;background:#2a2733;border-radius:8px;padding:8px;gap:6px}.cb-stage .position-art{flex:1;min-height:0;width:100%;height:100%}.cb-label{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}.cb-label strong{font-size:calc(16px * var(--fs))}.cb-box{width:100%;font-size:calc(16px * var(--fs));min-height:120px}.cb-box .why{font-size:calc(13px * var(--fs));color:var(--muted);margin-top:4px}.cb-prompt{font-weight:800;margin-bottom:8px!important}.cb-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.cb-action{text-align:left;display:grid;gap:1px;padding:7px 8px;min-height:48px;background:#fff;border:2px solid var(--line);border-left:6px solid var(--intent);border-radius:6px}.cb-action:disabled{opacity:.4}.cb-action .name{font-weight:800;font-size:calc(14px * var(--fs));display:flex;gap:5px;align-items:center;line-height:1.15}.cb-action .meta{font-size:calc(12px * var(--fs));color:var(--muted)}.cb-action .meta .intent{display:none;color:var(--intent);font-weight:800}.a11y-labels .cb-action .meta .intent{display:inline}.cb-action .meta .risk{display:block;color:var(--ko)}.cb-action .meta .risk img{width:14px;height:14px;margin-right:3px;vertical-align:-2px;image-rendering:pixelated}.cb-journal{position:absolute;inset:0;background:#121018e6;display:flex;align-items:center;justify-content:center;padding:12px}.cb-journal-box{max-height:100%;overflow-y:auto;color:var(--ink)}.cb-journal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.cb-journal ol{margin:0;padding-left:0;list-style:none;display:grid;gap:6px}.cb-journal li{border-left:5px solid var(--who);padding-left:8px;font-size:calc(14px * var(--fs))}.cb-journal li .speaker{font-weight:800}.cb-journal small{color:var(--muted)}@media(min-width:700px){.cb-actions{grid-template-columns:repeat(3,1fr)}}.cb-box{color:var(--ink)}.cb-stage .position-art{max-width:none;justify-self:auto;align-self:stretch}.cb-action{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation}.cb-hint{display:block;font-weight:400;font-size:calc(12px * var(--fs));color:var(--muted);margin-top:2px}@media(orientation:landscape)and (max-height:560px){.cb{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,1.1fr);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"top box" "stage box";gap:6px 10px;padding:max(6px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.cb-top{grid-area:top;gap:6px}.cb-fighter{padding:3px 6px;border-top-width:4px}.cb-fighter-name{font-size:calc(13px * var(--fs))}.cb-fighter .bar{margin-top:2px;height:6px}.cb-fighter-meta{margin-top:1px}.cb-journal-btn{padding:4px 6px}.cb-stage{grid-area:stage;padding:6px;gap:4px}.cb-label strong{font-size:calc(14px * var(--fs))}.ladder{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.ladder::-webkit-scrollbar{display:none}.ladder li{flex:none;font-size:calc(11px * var(--fs));padding:2px 7px}.cb-box{grid-area:box;align-self:stretch;min-height:0;max-height:none;padding:8px 10px;font-size:calc(15px * var(--fs));line-height:1.35;box-shadow:none}.cb-prompt{margin-bottom:6px!important}.cb-actions,.cb-box .cb-actions{grid-template-columns:1fr 1fr;gap:5px}.cb-action{padding:5px 7px;min-height:44px}.cb-action .name{font-size:calc(13px * var(--fs))}.cb-action .meta{font-size:calc(11px * var(--fs))}}#setup{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;background:#121018e6;padding:16px}.setup{width:min(420px,100%);max-height:100%;overflow-y:auto}.setup-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0 12px}.setup-card{display:grid;justify-items:center;gap:6px;padding:10px;border:2px solid var(--line);border-radius:6px;background:#fff;font-weight:700}.setup-card.selected{background:var(--ink);color:#fff}.setup-sprite{width:64px;height:104px;image-rendering:pixelated}.setup-label{display:grid;gap:4px;font-size:calc(14px * var(--fs));font-weight:700;margin-bottom:10px}.setup-swatches{display:flex;gap:10px}.setup-swatch{width:40px;height:40px;border-radius:50%;border:3px solid #fff;background:var(--swatch);box-shadow:0 0 0 2px var(--line)}.setup-swatch.selected{box-shadow:0 0 0 3px var(--ink)}.fb{max-height:100%;overflow-y:auto;-webkit-user-select:text;user-select:text}.fb-q{display:grid;gap:4px;margin-top:12px;font-size:calc(14px * var(--fs));font-weight:700}.fb-stars{display:flex;gap:6px}.fb-star{font-size:calc(30px * var(--fs));line-height:1;padding:2px 4px;border:0;background:none;color:#c9c2b0}.fb-star.on{color:#e8a317}.fb-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.fb-chip{padding:6px 12px;border:2px solid var(--line);border-radius:999px;background:#fff;font-size:calc(14px * var(--fs));min-height:36px}.fb-chip.on{background:var(--ink);color:#fff}.fb-text{font:inherit;font-size:calc(16px * var(--fs));font-weight:400;padding:8px 10px;border:2px solid var(--line);border-radius:6px;resize:vertical;width:100%}.fb>.choices{position:sticky;bottom:-14px;margin:10px -16px -14px;padding:8px 16px 14px;background:var(--panel);border-top:2px solid var(--line)}.fb-hint{color:var(--ko);font-weight:700;margin-top:8px!important}.setup-name{font:inherit;font-size:calc(17px * var(--fs));padding:10px;border:2px solid var(--line);border-radius:6px}.ceremony-canvas{width:100%;height:auto;image-rendering:pixelated;border:2px solid var(--line);border-radius:6px}.ceremony-foot{display:flex;gap:12px;align-items:center}.ceremony-foot p{margin:0}.ceremony-badge.pop{animation:pop .5s ease-out}@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.5)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.ceremony-badge.pop{animation:none}}.credits{width:min(560px,100%);height:100%;margin:0 auto;display:flex;flex-direction:column;gap:12px;text-align:center;color:#f5ecd8}.credits-window{flex:1;min-height:60vh;overflow:hidden;position:relative}.credits-roll{animation:credits-roll 45s linear forwards}.credits-roll section{margin-bottom:36px}.credits-roll h3{margin:0 0 6px;color:#d9a520;font-size:calc(15px * var(--fs));text-transform:uppercase;letter-spacing:.08em}.credits-roll p{margin:2px 0;font-size:calc(18px * var(--fs))}@keyframes credits-roll{0%{transform:translateY(60vh)}to{transform:translateY(-100%)}}@media(prefers-reduced-motion:reduce){.credits-window{overflow-y:auto}.credits-roll{animation:none}}#title{--fs: 1;font-size:16px;position:fixed;inset:0;z-index:50;display:grid;place-items:center;cursor:pointer;overflow:hidden;background:radial-gradient(circle at 50% 38%,#5aa1b0,#263f4f 72%);transition:opacity .45s,transform .45s}#title.halloween{background:radial-gradient(circle at 50% 38%,#7a4a9a,#1f1030 72%)}.title-season{margin:-12px 0 0;padding:4px 12px;border-radius:999px;background:#e07a2c;color:#1f1030;font-weight:800;letter-spacing:.04em;box-shadow:0 3px #1d1a24}.title-season-offer{margin:-8px 0 0;padding:3px 10px;border:2px dashed #e07a2c;border-radius:6px;background:#1f1030cc;color:#ffd9a8;font-size:.82em;font-weight:700;text-align:center}#title.leaving{opacity:0;transform:scale(1.08)}.title-rays{position:absolute;left:50%;top:38%;width:220vmax;height:220vmax;margin:-110vmax 0 0 -110vmax;background:repeating-conic-gradient(from 0deg,color-mix(in srgb,var(--next) 38%,transparent) 0 10deg,transparent 10deg 20deg);animation:rays 30s linear infinite;opacity:.55;mask-image:radial-gradient(circle,#000 0 18%,transparent 52%);-webkit-mask-image:radial-gradient(circle,#000 0 18%,transparent 52%)}@keyframes rays{to{transform:rotate(360deg)}}.title-screen{position:relative;display:grid;justify-items:center;gap:22px;padding:24px 16px;text-align:center}.title-logo-wrap{position:relative;animation:drop .9s cubic-bezier(.3,1.6,.5,1) both}.title-logo{margin:0;display:grid;line-height:.9;font-size:clamp(64px,22vw,128px);font-weight:900;letter-spacing:.02em;color:#efd77e;animation:float 3s ease-in-out .9s infinite;text-shadow:0 0 0 #2a4a8a,3px 3px 0 #2a4a8a,-3px -3px 0 #2a4a8a,3px -3px 0 #2a4a8a,-3px 3px 0 #2a4a8a,0 4px 0 #2a4a8a,4px 0 0 #2a4a8a,-4px 0 0 #2a4a8a,0 -4px 0 #2a4a8a,6px 9px 0 #1d1a24}.title-logo span:last-child{font-size:.78em;letter-spacing:.12em;color:#fff8e6}@keyframes drop{0%{transform:translateY(-120vh) rotate(-4deg)}to{transform:translateY(0) rotate(-4deg)}}@keyframes float{50%{transform:translateY(-6px) scale(1.03)}}.title-spark{position:absolute;width:14px;height:14px;background:#fff8e6;pointer-events:none;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);left:calc(8% + var(--i) * 17%);top:var(--y);animation:twinkle 1.6s ease-in-out calc(var(--i) * .27s + .9s) infinite both}@keyframes twinkle{0%,to{transform:scale(0) rotate(0);opacity:0}50%{transform:scale(1) rotate(90deg);opacity:1}}.title-belt{position:relative;display:flex;align-items:center;justify-content:center;min-width:min(320px,86vw);height:46px;padding:0 64px 0 18px;background:var(--belt);border:3px solid #1d1d2a;border-radius:4px;box-shadow:0 4px #1d1d2a;animation:slide .6s cubic-bezier(.2,1.4,.4,1) .7s both}@keyframes slide{0%{transform:translate(-120vw) skew(-12deg)}to{transform:none}}.title-road{font-weight:800;font-size:calc(21px * var(--fs));color:#fff;text-shadow:0 2px 0 #1d1d2a;letter-spacing:.03em}.title-tip{position:absolute;right:12px;top:-3px;bottom:-3px;width:34px;background:#1d1d1d}.title-belt.black{padding:0}.title-belt.black .title-tip{right:40px;width:64px;background:#c8282e;display:flex;justify-content:flex-end;gap:5px;padding:0 7px}.title-stripe{width:6px;background:#fff}.title-duel{width:min(360px,84vw);image-rendering:pixelated;animation:rise .5s ease-out 1.1s both}@keyframes rise{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}.title-import{margin:0;padding:6px 14px;color:#fff8e6;background:#1d1d2a8c;border:2px solid #fff8e6;border-radius:999px;font:inherit;font-size:calc(.85rem * var(--fs));font-weight:700;cursor:pointer;touch-action:manipulation}.title-start{margin:0;padding:8px 16px;color:#1d1d2a;background:#fff8e6;border:3px solid #1d1d2a;border-radius:999px;font-weight:800;box-shadow:0 3px #1d1d2a;animation:rise .5s ease-out 1.4s both,pulse 1s ease-in-out 1.9s infinite}.title-countdown{margin:0;padding:8px 18px 10px;text-align:center;color:#1d1d2a;background:#fff8e6;border:3px solid #1d1d2a;border-radius:14px;box-shadow:0 3px #1d1d2a;cursor:default;animation:rise .5s ease-out 1.4s both}.title-countdown p{margin:0}.title-countdown-head{font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.title-countdown-clock{font-size:1.35rem;font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap}.title-countdown-date{font-size:.85rem;font-weight:700;color:#4a3a2a}@keyframes pulse{50%{transform:scale(1.06)}}@media(prefers-reduced-motion:reduce){.title-rays,.title-logo,.title-logo-wrap,.title-spark,.title-belt,.title-duel,.title-countdown,.title-start{animation:none}}#drill{position:fixed;inset:0;z-index:11;display:grid;place-items:center;padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));background:#121018eb;touch-action:none}#drill[hidden]{display:none}.drill{display:grid;gap:8px;width:min(440px,100%)}.drill-hint{color:var(--muted);font-size:calc(15px * var(--fs))}.drill-stage{position:relative}.drill-canvas{display:block;width:100%;height:auto;border:2px solid var(--line);border-radius:6px}.drill-banner{position:absolute;inset:0;display:grid;place-items:center;font-size:calc(44px * var(--fs));font-weight:900;color:var(--ok);text-shadow:0 2px 0 var(--panel);pointer-events:none}.drill-banner.ko{color:var(--ko)}.drill-status{font-weight:700;text-align:center}.drill-rules{max-height:100%;overflow-y:auto;touch-action:pan-y}.drill-rule-list{display:grid;gap:6px;margin:0;padding-left:18px;font-size:calc(15px * var(--fs));line-height:1.35}button.drill-tap{width:100%;font-family:inherit;cursor:pointer}.drill-tap{padding:18px;text-align:center;font-size:calc(22px * var(--fs));font-weight:900;letter-spacing:.08em;color:var(--panel);background:var(--accent);border:3px solid var(--line);border-radius:10px}.title-a11y{min-height:44px;padding:8px 14px;border:2px solid #fff;border-radius:22px;background:#0000008c;color:#fff;font-weight:800;font-size:15px}.title-a11y-text{position:absolute;z-index:2;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));font-size:calc(15px * var(--fs-user, 1))}.title-a11y-row{position:absolute;z-index:2;bottom:max(16px,env(safe-area-inset-bottom));left:12px;right:12px;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.hc{--panel: #fff;--ink: #000;--muted: #1d1d2a;--line: #000;--ko: #8f1d1d;--ok: #1b5e33}.hc .dialog-box,.hc .hud-card,.hc .hud-menu,.hc .choice,.hc .cb-action{border-width:3px}.hc .cb-action{border-left-width:8px}.hc .cb-action:disabled{opacity:.6}.hc #combat,.hc .cb-journal{background:#000}.hc .pad,.hc .btn-a{border:3px solid #fff;background:#000000d9}.odds{color:#fff;font-size:10px;font-weight:900;line-height:10px;text-align:center;vertical-align:middle}.odds-easy:before{content:"+"}.odds-even:before{content:"=";color:var(--ink)}.odds-hard:before{content:"−"}.demo-consent-label{display:flex;gap:10px;align-items:flex-start;margin-top:12px;font-size:calc(14px * var(--fs))}.demo-consent{flex:none;width:22px;height:22px;margin:2px 0 0}
