.stage-content{position:relative;display:flex;flex:1 1 auto;min-height:0;overflow:hidden}.stage-page{position:relative;display:flex;flex:1 1 auto;min-width:0;min-height:0}.forge-panel{position:absolute;z-index:5;inset:0;overflow:auto;padding:clamp(12px,3vw,24px);color:var(--wp-ui-text, #eef9f6);background:var(--wp-ui-surface, #0b2630)}.forge-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.forge-heading p{margin:4px 0;color:var(--wp-ui-muted, #b4c8cd);font-size:13px}.forge-heading b{color:#ffda72;white-space:nowrap}.upgrade-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}.upgrade-card{min-width:0;padding:12px;border:1px solid #46616b;border-radius:8px;background:#102f3b}.upgrade-card p{min-height:42px;color:#b4c8cd;font-size:13px}.upgrade-card button,.lens-buy{width:100%;min-height:40px;border:1px solid #637b83;border-radius:4px;background:linear-gradient(#245260,#153a46);color:#f5fbf8;font-weight:800}.lens-buy{margin-top:6px}#forgeFeedback{min-height:34px;margin:8px 0 0;padding:7px 9px;border:1px solid #72d7bb;border-radius:6px;color:#caffed;font-weight:800;line-height:1.25}#forgeFeedback[hidden]{display:none!important}.battle-content{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:8px;box-sizing:border-box;width:100%;height:100%;min-width:0;min-height:0;padding:8px}.objective-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) 36px;align-items:center;gap:8px;min-width:0;padding:4px 10px;border:1px solid #46616b;border-radius:6px;background:#102f3b;font-size:13px}.objective-row>*{min-width:0;overflow-wrap:anywhere;line-height:1.2}#nextTerrain{color:#ffda72;text-align:end}#battleHelp{display:grid;place-items:center;width:36px;height:36px;min-width:36px;min-height:36px;padding:0;border:1px solid #637b83;border-radius:4px;background:#173c48;color:#f5fbf8;font-weight:900}.race-scene{position:relative;min-width:0;min-height:0;overflow:hidden;border:2px solid #397765;border-radius:8px;background:#153c32;isolation:isolate}.race-scene canvas{display:block;width:100%;height:100%}#raceRibbon{position:absolute;top:16px;left:18px;right:18px;height:5px;border-radius:5px;background:#193d4e55;direction:ltr;pointer-events:none}#raceRibbon i{position:absolute;top:-3px;width:11px;height:11px;border:2px solid #fff7d4;border-radius:3px;box-shadow:0 2px 5px #173b4b66;transition:left .1s linear}.player-marker{left:calc(var(--player, 0%) * .97);z-index:2;background:#31a497}.rival-marker{left:calc(var(--rival, 0%) * .97);transform:translateY(7px);background:#e4876b}#coursePreview{position:absolute;top:35px;inset-inline:12px;display:flex;flex-wrap:wrap;justify-content:center;gap:5px;pointer-events:none}#coursePreview span{padding:4px 7px;border:1px solid #ffffff55;border-radius:4px;background:#163a49cf;color:#ecf8ee;font-size:11px;font-weight:700;transition:background .18s,opacity .18s}#coursePreview .current{border-color:#fff0c2;background:#f7d27f;color:#203847}#coursePreview .passed{opacity:.4}#momentum{position:absolute;inset-inline-end:14px;bottom:48px;padding:5px 8px;border-radius:4px;background:#163b4ee8;color:#e2f8ed;font-size:11px;font-weight:800;letter-spacing:.06em;pointer-events:none}#momentum.boosting{background:#ffe2a0;color:#2a4145}.feedback{position:absolute;left:50%;bottom:12px;max-width:94%;min-height:30px;transform:translate(-50%);padding:7px 12px;border:1px solid #bfe1d233;border-radius:8px;background:#122e3bed;color:#fff;text-align:center;font-size:12px;font-weight:800;pointer-events:none}.feedback.warn{background:#6b281fe8}.draw-controls{display:grid;grid-template-columns:130px minmax(0,1fr) minmax(0,1.2fr);align-items:center;gap:10px;min-width:0;padding:10px;border:1px solid #46616b;border-radius:8px;background:#102c37}.draw-copy{display:grid;gap:8px;min-width:0}.draw-copy strong{color:#ffdf94}.draw-copy span{color:#a8c7ce;font-size:12px;line-height:1.5;font-variant-numeric:tabular-nums}#wheelPad{width:100%;height:132px;border:1px solid #82988c;border-radius:6px;background:#102b38;cursor:crosshair;touch-action:none}.blueprints{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;min-width:0}.blueprints button{height:86px;min-width:0;border:1px solid #4f6f79;border-radius:6px;background:#213f4e;color:#fff;transition:background .16s,border-color .16s,box-shadow .16s}.blueprints button[aria-pressed=true]{border-color:#ffe29c;background:#3e524f;box-shadow:inset 0 0 0 2px #ffe29c}.blueprints button.recommended{border-color:#83f5da}.blueprints button:active{filter:brightness(1.25)}.blueprints span{display:block;width:38px;height:38px;margin:2px auto 5px;border:5px solid #ffdf94}.shape.circle{border-radius:50%}.shape.tall{width:25px;border-radius:45%}.shape.spike{border:0!important;background:#ffdf94;clip-path:polygon(50% 0,62% 30%,100% 50%,62% 68%,50% 100%,38% 68%,0 50%,38% 30%)}.shape.wide{width:55px;height:27px;border-radius:45%}.blueprints b{font-size:11px}.modal-layer{position:absolute;inset:0;z-index:20;display:grid;place-items:center;padding:20px;background:#031714d9}.modal-layer[hidden]{display:none!important}.dialog-card,.result-card{width:min(540px,94%);max-height:92%;overflow:auto;padding:24px;border:2px solid #67dcb8;border-radius:12px;background:linear-gradient(140deg,#234650,#122d3a);box-shadow:0 22px 60px #000b}.dialog-card h2,.result-card h2{margin-top:0}.dialog-card li{margin:12px 0;line-height:1.5}.modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:18px}.modal-actions.three{grid-template-columns:repeat(3,1fr)}.modal-actions button,.dialog-card>.primary{min-height:46px;border:1px solid #4c907f;border-radius:6px;background:#173f37;color:#fff;font-weight:900}.modal-actions .primary,.dialog-card>.primary{background:linear-gradient(#ffe276,#f3aa25);color:#302200}.modal-actions button:disabled{cursor:not-allowed;opacity:.48}.result-card{text-align:center;background:linear-gradient(#0c3e34,#071d1b)}.result-rux{display:block;width:110px;height:84px;margin:auto;border-radius:8px;background:url(../../assets/animal-sketchwheel-rally/animal-sketchwheel-rally-cover-v18.webp) center 48% / cover;box-shadow:0 4px 18px #071f3270}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.result-stats span{display:grid;padding:10px;border-radius:6px;background:#061b18}.result-stats b{color:#a8c7ce;font-size:11px}.terrain-guide{display:grid;grid-template-columns:1fr 1fr;gap:8px}.terrain-guide div{padding:9px;border-radius:6px;background:#15483c}.terrain-guide strong,.terrain-guide small{display:block}.terrain-guide small{margin-top:2px;color:#c3ded5}#renderRecovery[hidden]{display:none!important}@media(max-width:650px){.upgrade-list{grid-template-columns:1fr}.upgrade-card p{min-height:0}.battle-content{gap:5px;padding:6px}.objective-row{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr) 32px;gap:5px;padding-inline:7px;font-size:11px}#battleHelp{width:32px;height:32px;min-width:32px;min-height:32px}#raceRibbon{top:10px}#coursePreview{top:27px}#coursePreview span{padding:2px 5px;font-size:10px}.feedback{bottom:5px;min-height:24px;padding:4px 8px;font-size:11px}.draw-controls{grid-template-columns:minmax(0,1fr) 150px;grid-template-rows:38px 112px;gap:6px;padding:7px}.draw-copy{grid-column:1 / -1;grid-template-columns:1fr 1fr;gap:8px}#wheelPad{height:112px}.blueprints{grid-template-columns:repeat(2,minmax(0,1fr))}.blueprints button{height:53px}.blueprints span{width:24px;height:24px;border-width:3px}.shape.tall{width:16px}.shape.wide{width:35px;height:18px}.modal-actions.three{grid-template-columns:1fr}.terrain-guide{grid-template-columns:1fr 1fr}}@media(max-height:500px)and (orientation:landscape){.battle-content{grid-template-rows:auto minmax(0,1fr) 90px;gap:5px;padding:5px}.draw-controls{grid-template-columns:110px 230px minmax(0,1fr);grid-template-rows:1fr;padding:5px;gap:6px}.draw-copy{display:grid}#wheelPad{height:76px}.blueprints{grid-template-columns:repeat(4,minmax(0,1fr))}.blueprints button{height:72px}#coursePreview{top:24px}#coursePreview span{padding:2px 5px;font-size:10px}.feedback{bottom:5px;min-height:24px;padding:4px 8px;font-size:11px}}@media(prefers-reduced-motion:reduce){#raceRibbon i,.blueprints button,#coursePreview span{transition:none}}
