:root{--ink: #1a1330;--paper: #fff8e9;--sky-1: #7dd3fc;--sky-2: #fde68a;--sand: #f6c971;--grass: #6ed47a;--pink: #ff9bb3;--accent: #ff5c8a;--good: #2dbd6e;--bad: #ff4f6d;--hp: #2dbd6e;--hp-low: #ff4f6d;--hp-bg: rgba(26, 19, 48, .18);--shadow: 0 6px 0 rgba(26, 19, 48, .85);--shadow-sm: 0 4px 0 rgba(26, 19, 48, .85)}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;overflow:hidden}body{font-family:Fredoka,system-ui,sans-serif;color:var(--ink);background:linear-gradient(to bottom,#fff8e9,#f5e0b3 55%,#e2c089);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}#root{width:100%;height:100%}button{font-family:inherit;cursor:pointer;border:none;background:none}.screen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:32px 16px;gap:28px;overflow:hidden}.title-card{background:var(--paper);border:5px solid var(--ink);border-radius:28px;padding:14px 36px;box-shadow:var(--shadow);transform:rotate(-2deg);text-align:center;z-index:2}.title-card h1{font-family:Bangers,Fredoka,sans-serif;font-size:clamp(36px,6vw,64px);letter-spacing:2px;margin:0;color:var(--accent);text-shadow:2px 2px 0 var(--ink),-2px 2px 0 var(--ink),2px -2px 0 var(--ink),-2px -2px 0 var(--ink),4px 4px 0 #ffe16b}.title-card .sub{margin:4px 0 0;font-weight:600;font-size:14px;letter-spacing:1.5px;opacity:.75;text-transform:uppercase}.game-logo{display:block;width:auto;height:auto;max-width:min(360px,76%);max-height:28vh;margin:4px auto 0;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 5px 0 rgba(26,19,48,.35))}.menu-screen{gap:0;padding:16px}.menu-screen .spacer{flex:1 1 auto}.menu-screen .game-logo{margin:0 auto}.menu-screen .tile-grid{margin-top:0}.bottom-row{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:12px;padding:0 4px}.bottom-row .credits-link{font-family:inherit;font-weight:700;font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--ink);padding:8px 14px;background:none;border:none;opacity:.55;cursor:not-allowed;margin:0}.theme-picker{display:flex;align-items:center;gap:6px;font-family:inherit}.theme-picker label{font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink);opacity:.7}.theme-picker select{font-family:inherit;font-size:12px;font-weight:700;letter-spacing:.5px;padding:7px 26px 7px 12px;border-radius:999px;background:var(--paper);border:2px solid var(--ink);color:var(--ink);cursor:pointer;box-shadow:var(--shadow-sm);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(-45deg,transparent 50%,var(--ink) 50%);background-position:calc(100% - 14px) 50%,calc(100% - 9px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.theme-picker select:hover{transform:translateY(-1px)}.theme-picker select:active{transform:translateY(1px);box-shadow:0 1px #1a1330d9}.tile-grid{display:grid;gap:16px;width:min(720px,92%)}.tile{background:var(--paper);border:4px solid var(--ink);border-radius:18px;box-shadow:var(--shadow-sm);padding:18px 22px;display:flex;align-items:center;gap:16px;transition:transform .12s ease,box-shadow .12s ease;text-align:left;color:var(--ink);width:100%}.tile:hover:not(.locked){transform:translateY(-3px) rotate(-.5deg);box-shadow:0 8px #1a1330d9}.tile:active:not(.locked){transform:translateY(2px);box-shadow:0 2px #1a1330d9}.tile.locked{cursor:not-allowed;opacity:.55;background:repeating-linear-gradient(45deg,#f0e6cc,#f0e6cc 12px,#e7daad 12px,#e7daad 24px)}.tile .tile-icon{font-family:Fraunces,serif;font-weight:900;font-size:36px;width:56px;height:56px;display:grid;place-items:center;border-radius:14px;background:var(--accent);color:var(--paper);flex:0 0 auto}.tile .tile-body{flex:1 1 auto}.tile .tile-title{font-weight:700;font-size:18px;letter-spacing:.5px}.tile .tile-hint{font-size:13px;opacity:.7;margin-top:2px}.tile .lock-pill{background:var(--ink);color:var(--paper);font-size:11px;font-weight:700;letter-spacing:1px;padding:4px 10px;border-radius:999px;text-transform:uppercase}.pick-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;width:min(960px,94%)}.pick{background:var(--paper);border:4px solid var(--ink);border-radius:18px;box-shadow:var(--shadow-sm);padding:12px;min-height:160px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:8px;transition:transform .12s ease,box-shadow .12s ease;color:var(--ink);text-align:center}.pick:hover:not(.locked){transform:translateY(-3px) rotate(-.5deg);box-shadow:0 8px #1a1330d9}.pick.locked{cursor:not-allowed;opacity:.55;background:repeating-linear-gradient(45deg,#f0e6cc,#f0e6cc 12px,#e7daad 12px,#e7daad 24px)}.pick .pick-icon{font-family:Fraunces,serif;font-weight:900;font-size:44px;color:var(--accent)}.pick .pick-portrait{width:100%;height:96px;object-fit:contain;filter:drop-shadow(0 3px 0 rgba(26,19,48,.25))}.pick .pick-name{font-weight:700;font-size:14px;letter-spacing:.5px;text-transform:uppercase}.pick .pick-tagline{font-size:11px;opacity:.6;line-height:1.25}.pick .pick-variant-count{margin-top:4px;font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--accent)}.fighter-select-screen{display:grid;grid-template-columns:1fr auto 1fr;grid-template-rows:auto auto auto auto 1fr auto;gap:12px;padding:16px 14px 20px;align-items:center;justify-items:center;justify-content:center}.fighter-select-title{grid-column:1 / 4;grid-row:1}.fighter-select-stage{display:contents}.fighter-select-player,.fighter-select-enemy{display:flex;flex-direction:column;align-items:center;gap:8px;grid-row:2;align-self:end}.fighter-select-player{grid-column:1}.fighter-select-enemy{grid-column:3}.fighter-select-vs{grid-column:2;grid-row:2;font-family:Bangers,sans-serif;font-size:clamp(36px,6vw,56px);letter-spacing:4px;color:var(--accent);text-shadow:-3px 0 0 var(--ink),3px 0 0 var(--ink),0 -3px 0 var(--ink),0 3px 0 var(--ink);align-self:center;padding:0 8px}.fighter-select-screen .variant-preview-stage{width:clamp(130px,28vw,200px);height:clamp(130px,28vw,200px)}.fighter-select-player .variant-preview-name,.fighter-select-enemy .variant-preview-name{min-height:2.6em;line-height:1.2;display:flex;align-items:center;text-align:center}.fighter-select-reroll{grid-column:3;grid-row:3;align-self:start;justify-self:center}.fighter-select-screen .fighter-select-player-variants,.fighter-select-screen .fighter-select-enemy-variants{grid-row:4;display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;justify-content:flex-start;width:100%;padding:8px 10px;gap:10px;background:#fff8e98c;border:2px solid var(--ink);border-radius:14px;box-shadow:var(--shadow-sm);scrollbar-width:thin;scrollbar-color:var(--ink) rgba(26,19,48,.12);align-self:start}.fighter-select-screen .fighter-select-player-variants{grid-column:1}.fighter-select-screen .fighter-select-enemy-variants{grid-column:3}.fighter-select-screen .fighter-select-player-variants::-webkit-scrollbar,.fighter-select-screen .fighter-select-enemy-variants::-webkit-scrollbar{height:8px}.fighter-select-screen .fighter-select-player-variants::-webkit-scrollbar-thumb,.fighter-select-screen .fighter-select-enemy-variants::-webkit-scrollbar-thumb{background:var(--ink);border-radius:999px}.fighter-select-screen .fighter-select-player-variants .variant-card,.fighter-select-screen .fighter-select-enemy-variants .variant-card{flex:0 0 auto;width:92px;padding:6px}.fighter-select-screen .fighter-select-player-variants .variant-card-portrait,.fighter-select-screen .fighter-select-enemy-variants .variant-card-portrait{width:68px;height:68px}.fighter-select-screen .fighter-select-roster{grid-column:1 / 4;grid-row:5;align-self:stretch;min-height:0;overflow-y:auto;align-content:start;padding:4px;scrollbar-width:thin}.fighter-select-screen .fighter-select-roster .pick-tagline{display:none}.fighter-select-fight-btn{grid-column:1 / 4;grid-row:6;align-self:end}@media(orientation:landscape){.fighter-select-screen{grid-template-columns:minmax(220px,1fr) minmax(300px,1.4fr) minmax(220px,1fr);grid-template-rows:auto auto auto auto auto;gap:14px 20px;padding:16px 24px 24px;align-items:start}.fighter-select-title{padding:6px 22px}.fighter-select-title h1{font-size:clamp(22px,3.2vw,36px)}.fighter-select-title .sub{font-size:11px}.fighter-select-vs{display:none}.fighter-select-screen .variant-preview-stage{width:clamp(220px,26vw,320px);height:clamp(220px,26vw,320px)}.fighter-select-screen .fighter-select-roster{grid-column:2;grid-row:2;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:100%;padding:0;align-self:stretch}.fighter-select-roster .pick{min-height:0;padding:8px;gap:2px}.fighter-select-roster .pick .pick-portrait{height:60px}.fighter-select-screen .fighter-select-player-variants .variant-card,.fighter-select-screen .fighter-select-enemy-variants .variant-card{width:100px}.fighter-select-screen .fighter-select-player-variants .variant-card-portrait,.fighter-select-screen .fighter-select-enemy-variants .variant-card-portrait{width:72px;height:72px}.fighter-select-fight-btn{grid-row:6}}.variant-preview-label{font-family:Bangers,sans-serif;letter-spacing:2px;font-size:18px;color:var(--paper);text-shadow:-2px 0 0 var(--ink),2px 0 0 var(--ink),0 -2px 0 var(--ink),0 2px 0 var(--ink)}.variant-preview-stage{display:grid;place-items:end center;position:relative;max-width:280px;max-height:280px}.variant-preview-stage>img{width:100%;height:100%;object-fit:contain;object-position:50% 100%;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.variant-preview-stage.flipped>img{transform:scaleX(-1)}.variant-preview-name{font-weight:800;font-size:14px;letter-spacing:1px;text-transform:uppercase;color:var(--paper);text-shadow:-1px 0 0 var(--ink),1px 0 0 var(--ink),0 -1px 0 var(--ink),0 1px 0 var(--ink)}.reroll-btn{background:var(--paper);border:2px solid var(--ink);border-radius:999px;padding:4px 12px;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--ink);cursor:pointer;box-shadow:var(--shadow-sm)}.reroll-btn:hover{transform:translateY(-2px)}.reroll-btn:active{transform:translateY(1px)}.variant-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;max-width:min(900px,95vw)}.variant-card{display:flex;flex-direction:column;align-items:center;gap:4px;width:140px;background:var(--paper);border:3px solid var(--ink);border-radius:14px;padding:10px;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .12s ease,box-shadow .12s ease}.variant-card:hover{transform:translateY(-3px)}.variant-card.selected{outline:4px solid var(--accent);outline-offset:-2px}.variant-card-portrait{width:100px;height:100px;object-fit:contain;object-position:50% 100%;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.variant-card-name{font-weight:800;font-size:13px;letter-spacing:.5px;color:var(--ink)}.variant-fight-btn{margin-top:4px;min-width:220px}.back-btn{position:absolute;top:18px;left:18px;z-index:3;background:var(--paper);border:3px solid var(--ink);border-radius:999px;padding:8px 16px;font-weight:700;font-size:14px;letter-spacing:.5px;box-shadow:var(--shadow-sm);color:var(--ink)}.back-btn:hover{transform:translateY(-2px)}.back-btn:active{transform:translateY(1px);box-shadow:0 2px #1a1330d9}.fight-stage{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;background:linear-gradient(to bottom,#58c5f0,#cfeefc 70%);contain:layout paint}.parallax-stage{backface-visibility:hidden}.vignette{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:20;background:radial-gradient(120% 90% at 50% 55%,transparent 60%,rgba(8,28,50,.22) 100%);mix-blend-mode:multiply}[data-layer=sun]{animation:sunGlow 6s ease-in-out infinite}@keyframes sunGlow{0%,to{filter:drop-shadow(0 0 60px rgba(255,246,170,.55))}50%{filter:drop-shadow(0 0 90px rgba(255,246,170,.8))}}.actor-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;pointer-events:none;transform-origin:50% 100%;transform:translate3d(var(--sway-x, 0px),var(--sway-y, 0px),0) scale(var(--world-scale, 1))}.actor{position:absolute;bottom:60px;width:320px;height:320px;pointer-events:none}.actor img{width:100%;height:100%;object-fit:none;object-position:50% 100%;image-rendering:auto;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.actor.player{left:8%}.actor.enemy{right:8%}.actor.flipped{transform:scaleX(-1)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a13308c;z-index:60;display:grid;place-items:center;animation:fade .2s ease}@keyframes fade{0%{opacity:0}to{opacity:1}}.modal-card{background:var(--paper);border:5px solid var(--ink);border-radius:28px;box-shadow:0 10px #1a1330d9;padding:32px 36px 28px;max-width:480px;width:92%;text-align:center;animation:pop .26s cubic-bezier(.34,1.56,.64,1)}@keyframes pop{0%{transform:scale(.7) rotate(-3deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.modal-card h2{font-family:Bangers,sans-serif;letter-spacing:2px;font-size:40px;margin:0 0 8px}.modal-card h2.win{color:var(--good)}.modal-card h2.lose{color:var(--bad)}.modal-card p{font-size:15px;color:#1a1330b3;margin:0 0 20px}.modal-actions{display:flex;flex-direction:column;gap:10px}.btn-primary,.btn-secondary{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:3px solid var(--ink);border-radius:999px;padding:12px 22px;font-weight:700;font-size:15px;letter-spacing:1px;text-transform:uppercase;box-shadow:var(--shadow-sm);transition:transform .12s ease,box-shadow .12s ease}.btn-primary{background:var(--accent);color:var(--paper)}.btn-secondary{background:var(--paper);color:var(--ink)}.btn-primary:hover,.btn-secondary:hover{transform:translateY(-2px)}.btn-primary:active,.btn-secondary:active{transform:translateY(2px);box-shadow:0 2px #1a1330d9}.menu-list{display:flex;flex-direction:column;gap:14px;width:min(380px,90%)}.menu-list .btn-primary,.menu-list .btn-secondary{width:100%;font-size:18px;padding:16px 22px}.credits-link{font-family:inherit;font-weight:700;font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--ink);padding:8px 14px;background:none;border:none}.hud-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#1a13308c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:grid;place-items:center;animation:hud-menu-fade .18s ease both}@keyframes hud-menu-fade{0%{opacity:0}to{opacity:1}}.hud-menu-modal{background:var(--paper);border:4px solid var(--ink);border-radius:18px;box-shadow:0 10px #1a1330d9;padding:22px 26px;min-width:280px;max-width:90vw;display:flex;flex-direction:column;gap:6px;color:var(--ink);animation:hud-menu-pop .22s cubic-bezier(.2,.8,.2,1.2) both}@keyframes hud-menu-pop{0%{transform:scale(.85) rotate(-1deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.hud-menu-info{padding:4px 0 12px;border-bottom:2px solid rgba(26,19,48,.12);margin-bottom:8px;text-align:center}.hud-menu-info-level{font-family:Bangers,sans-serif;letter-spacing:2px;font-size:22px}.hud-menu-info-topic{font-weight:700;font-size:13px;letter-spacing:1px;text-transform:uppercase;margin-top:2px}.hud-menu-info-cpu-speed{font-weight:700;font-size:12px;letter-spacing:2px;opacity:.7;text-transform:uppercase;margin-top:4px}.hud-menu-settings{display:flex;flex-direction:column;gap:10px;padding-bottom:12px;margin-bottom:8px;border-bottom:2px solid rgba(26,19,48,.12)}.hud-menu-setting{display:flex;align-items:center;gap:8px}.hud-menu-setting-label{flex:0 0 56px;text-align:right;font-weight:700;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;opacity:.7}.hud-menu-setting-pills{display:flex;flex-wrap:wrap;gap:6px}.hud-menu-pill{background:var(--paper);border:2px solid var(--ink);border-radius:999px;color:var(--ink);font-weight:700;font-size:11px;letter-spacing:.5px;text-transform:uppercase;padding:4px 12px;cursor:pointer;transition:transform .12s ease,background .12s ease}.hud-menu-pill:hover{transform:translateY(-1px)}.hud-menu-pill.is-on{background:#ffd23f;transform:translateY(-1px)}.hud-menu-item{background:var(--paper);border:3px solid var(--ink);border-radius:10px;color:var(--ink);text-shadow:none;font-weight:700;font-size:14px;letter-spacing:1px;text-transform:uppercase;padding:10px 16px;cursor:pointer;text-align:center;transition:transform .12s ease,box-shadow .12s ease;box-shadow:var(--shadow-sm)}.hud-menu-item:hover{transform:translateY(-2px)}.hud-menu-item:active{transform:translateY(1px);box-shadow:0 2px #1a1330d9}.camera-shake{position:fixed;top:0;right:0;bottom:0;left:0;will-change:transform}.camera-shake.shaking{animation:camShake .28s cubic-bezier(.36,.07,.19,.97)}@keyframes camShake{0%,to{transform:translate(0)}10%{transform:translate(calc(-6px * var(--shake-intensity, 1)),calc(-4px * var(--shake-intensity, 1)))}20%{transform:translate(calc(8px * var(--shake-intensity, 1)),calc(2px * var(--shake-intensity, 1)))}35%{transform:translate(calc(-10px * var(--shake-intensity, 1)),calc(4px * var(--shake-intensity, 1)))}50%{transform:translate(calc(6px * var(--shake-intensity, 1)),calc(-4px * var(--shake-intensity, 1)))}65%{transform:translate(calc(-4px * var(--shake-intensity, 1)),calc(6px * var(--shake-intensity, 1)))}80%{transform:translate(calc(4px * var(--shake-intensity, 1)),calc(-2px * var(--shake-intensity, 1)))}}.actor.is-stunned img{animation:stunWobble .6s ease-in-out infinite;filter:brightness(.9) saturate(.7)}.actor-layer.paused .actor img{animation-play-state:paused}@keyframes stunWobble{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}.actor{transition:left .6s cubic-bezier(.4,0,.2,1),right .6s cubic-bezier(.4,0,.2,1)}.actor.walking{transition:left 1s linear,right 1s linear}.actor.jumping{transition:left .7s cubic-bezier(.2,.7,.3,1),right .7s cubic-bezier(.2,.7,.3,1)}.actor.jumping img{animation:entry-jump-arc .7s ease-out forwards}@keyframes entry-jump-arc{0%{transform:translateY(0)}50%{transform:translateY(-180px)}to{transform:translateY(0)}}.actor.finisher-retreat{transition:left .4s ease-out,right .4s ease-out}.actor.finisher-retreat img{animation:finisher-jump-arc .4s ease-out forwards}.actor.finisher-windup{transition:none}.actor.finisher-launch{transition:left .5s cubic-bezier(.45,0,.2,1),right .5s cubic-bezier(.45,0,.2,1)}.actor.finisher-recover{transition:none}.actor.finisher-return{transition:left .4s cubic-bezier(.4,0,.2,1),right .4s cubic-bezier(.4,0,.2,1)}@keyframes finisher-jump-arc{0%{transform:translateY(0)}50%{transform:translateY(-120px)}to{transform:translateY(0)}}.mm-stage{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;display:grid;place-items:center;overflow:hidden;--u: min(calc(100vh / 1080), calc(100vw / 1920))}.mm-rotate-gate{display:none}@media(orientation:portrait){.mm-rotate-gate{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3vh;padding:8vw;text-align:center;background:#1a1330;color:#ffd34d;font-family:Bowlby One,system-ui,sans-serif}.mm-stage{visibility:hidden}}.mm-rotate-phone{font-size:18vw;line-height:1;animation:mm-rotate-wobble 1.8s ease-in-out infinite}.mm-rotate-title{font-size:7vw}.mm-rotate-sub{font-size:4vw;color:#fff;font-family:Fredoka,system-ui,sans-serif;opacity:.85}@keyframes mm-rotate-wobble{0%,to{transform:rotate(-12deg)}50%{transform:rotate(78deg)}}.mm-install{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:5vmin;background:radial-gradient(circle at 50% 30%,#2a1d52,#140f28 70%);overflow:auto}.mm-install-card{width:min(92vw,460px);display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:clamp(20px,5vw,36px);border-radius:22px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 50px #00000073;color:#f3f0ff}.mm-install-icon{width:96px;height:96px;border-radius:22px;box-shadow:0 8px 20px #0006}.mm-install-title{font-family:Bowlby One,system-ui,sans-serif;font-size:clamp(28px,8vw,40px);margin:4px 0 0;color:#ffd34d;letter-spacing:1px}.mm-install-tag{font-family:Fredoka,system-ui,sans-serif;letter-spacing:3px;text-transform:uppercase;font-size:12px;opacity:.7;margin:0}.mm-install-primary{font-family:Fredoka,system-ui,sans-serif;font-weight:700;font-size:18px;padding:14px 22px;width:100%;border:none;border-radius:14px;background:#ff4d6d;color:#fff;cursor:pointer;box-shadow:0 6px #c9304f}.mm-install-primary:disabled{opacity:.6}.mm-install-steps{font-family:Fredoka,system-ui,sans-serif;font-size:15px;line-height:1.5;text-align:left;margin:4px 0;padding-left:22px}.mm-install-steps li{margin:6px 0}.mm-install-glyph{font-size:17px}.mm-install-secondary{font-family:Fredoka,system-ui,sans-serif;font-size:14px;background:none;border:none;color:#b8a6ff;text-decoration:underline;cursor:pointer;padding:6px}.mm-install-note{font-family:Fredoka,system-ui,sans-serif;font-size:12px;opacity:.6;margin:0}.mm-canvas{position:relative;width:calc(1920 * var(--u));height:calc(1080 * var(--u));overflow:hidden;font-family:Bowlby One,system-ui,sans-serif;color:#1a2237}.mm-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.mm-veil{position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffff4d;pointer-events:none}.mm-mascot{position:absolute;left:calc(100 * var(--u));bottom:calc(100 * var(--u));width:calc(520 * var(--u));height:auto;transform:rotate(-4deg);-webkit-user-select:none;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 calc(8 * var(--u)) 0 rgba(26,34,55,.25))}.mm-logo{position:absolute;top:calc(50 * var(--u));left:50%;transform:translate(-50%);height:calc(280 * var(--u));width:auto;display:block;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.mm-menu{position:absolute;top:calc(370 * var(--u));left:50%;transform:translate(-50%);width:calc(600 * var(--u));display:flex;flex-direction:column;gap:calc(16 * var(--u))}.mm-btn{position:relative;width:100%;height:calc(72 * var(--u));padding:0 calc(36 * var(--u));display:inline-flex;align-items:center;justify-content:center;gap:calc(14 * var(--u));border:calc(5 * var(--u)) solid #1a2237;border-radius:calc(24 * var(--u));box-shadow:0 calc(7 * var(--u)) 0 0 #1a2237;font-family:Bowlby One,system-ui,sans-serif;font-size:calc(28 * var(--u));letter-spacing:calc(1.5 * var(--u));text-transform:uppercase;cursor:pointer;transition:transform .1s ease,box-shadow .1s ease}.mm-btn.primary{background:#ff5d7a;color:#fff6e3}.mm-btn.ghost{background:#fff6e3;color:#1a2237}.mm-btn:hover:not(.is-disabled){transform:translateY(calc(-2 * var(--u)));box-shadow:0 calc(9 * var(--u)) 0 0 #1a2237}.mm-btn:active:not(.is-disabled){transform:translateY(calc(7 * var(--u)));box-shadow:0 0 #1a2237}.mm-btn.is-disabled{opacity:.7;cursor:not-allowed}.mm-btn-icon{font-size:calc(32 * var(--u));line-height:1}.mm-btn-label{line-height:1}.mm-btn-pill{position:absolute;right:calc(14 * var(--u));top:50%;transform:translateY(-50%);background:#1a2237;font-size:calc(14 * var(--u));letter-spacing:calc(2 * var(--u));padding:calc(6 * var(--u)) calc(10 * var(--u));border-radius:999px}.mm-btn.ghost .mm-btn-pill{color:#fff6e3}.mm-btn.primary .mm-btn-pill{color:#ff5d7a}.level-select-canvas{font-family:Bowlby One,system-ui,sans-serif}.mm-back-btn{position:absolute;top:calc(32 * var(--u));left:calc(32 * var(--u));height:calc(64 * var(--u));padding:0 calc(28 * var(--u)) 0 calc(22 * var(--u));background:#fff6e3;color:#1a2237;border:calc(5 * var(--u)) solid #1a2237;border-radius:999px;box-shadow:0 calc(5 * var(--u)) 0 0 #1a2237;font-family:Bowlby One,system-ui,sans-serif;font-size:calc(22 * var(--u));letter-spacing:calc(1.5 * var(--u));text-transform:uppercase;cursor:pointer;display:inline-flex;align-items:center;gap:calc(10 * var(--u));z-index:10;transition:transform .1s ease,box-shadow .1s ease}.mm-back-btn svg{width:calc(22 * var(--u));height:calc(22 * var(--u))}.mm-back-btn:hover{transform:translateY(calc(-2 * var(--u)));box-shadow:0 calc(7 * var(--u)) 0 0 #1a2237}.mm-back-btn:active{transform:translateY(calc(2 * var(--u)));box-shadow:0 calc(2 * var(--u)) 0 0 #1a2237}.mm-title-sticker{position:absolute;top:calc(80 * var(--u));left:50%;transform:translate(-50%) rotate(-3deg);display:inline-block;background:#fff6e3;border:calc(5 * var(--u)) solid #1a2237;border-radius:calc(22 * var(--u));padding:calc(16 * var(--u)) calc(36 * var(--u)) calc(14 * var(--u));box-shadow:0 calc(7 * var(--u)) 0 0 #1a2237;text-align:center;z-index:5}.mm-title-sticker-title{font-family:Bowlby One,system-ui,sans-serif;font-size:calc(56 * var(--u));line-height:1;color:#ff5d7a;-webkit-text-stroke:calc(3 * var(--u)) #1a2237;text-shadow:0 calc(4 * var(--u)) 0 #1a2237;letter-spacing:calc(2 * var(--u))}.mm-title-sticker-sub{margin-top:calc(6 * var(--u));font-family:Bowlby One,system-ui,sans-serif;font-size:calc(18 * var(--u));letter-spacing:calc(4 * var(--u));color:#1a2237;text-transform:uppercase}.age-filter-bar{position:absolute;top:calc(260 * var(--u));left:50%;transform:translate(-50%);display:flex;gap:calc(10 * var(--u));z-index:5}.age-filter-pill{min-width:calc(72 * var(--u));height:calc(40 * var(--u));padding:0 calc(14 * var(--u));background:#fff6e3;color:#1a2237;border:calc(4 * var(--u)) solid #1a2237;border-radius:999px;box-shadow:0 calc(4 * var(--u)) 0 0 #1a2237;font-family:Bowlby One,system-ui,sans-serif;font-size:calc(15 * var(--u));letter-spacing:calc(1.2 * var(--u));cursor:pointer;transition:transform .1s ease,box-shadow .1s ease,background .1s ease,color .1s ease}.age-filter-pill:hover{transform:translateY(calc(-2 * var(--u)));box-shadow:0 calc(6 * var(--u)) 0 0 #1a2237}.age-filter-pill:active{transform:translateY(calc(2 * var(--u)));box-shadow:0 calc(2 * var(--u)) 0 0 #1a2237}.age-filter-pill.is-active{background:#1a2237;color:#ffd23f}.level-path{position:absolute;top:calc(300 * var(--u));left:50%;transform:translate(-50%);width:calc(1700 * var(--u));height:calc(560 * var(--u));overflow:visible;z-index:4}.signpost{cursor:pointer;outline:none}.signpost:hover .signpost-body,.signpost:focus .signpost-body,.signpost.is-highlighted .signpost-body{transform:translateY(-4px)}.signpost.is-locked{cursor:default}.signpost.is-locked:hover .signpost-body,.signpost.is-locked:focus .signpost-body{transform:translateY(-2px)}.signpost.is-dimmed{cursor:default}.signpost.is-dimmed:hover .signpost-body,.signpost.is-dimmed:focus .signpost-body,.signpost.is-dimmed.is-highlighted .signpost-body{transform:none}.level-detail-card{position:absolute;bottom:calc(28 * var(--u));left:50%;transform:translate(-50%);width:calc(1100 * var(--u));height:calc(150 * var(--u));background:#fff6e3;border:calc(5 * var(--u)) solid #1a2237;border-radius:calc(20 * var(--u));padding:calc(14 * var(--u)) calc(24 * var(--u));box-shadow:0 calc(8 * var(--u)) 0 0 #1a2237;display:flex;align-items:center;gap:calc(24 * var(--u));font-family:Bowlby One,system-ui,sans-serif;z-index:5}.level-detail-info{flex:1 1 calc(260 * var(--u));min-width:calc(220 * var(--u));text-align:left}.level-detail-caption{font-size:calc(12 * var(--u));letter-spacing:calc(3 * var(--u));color:#5a4a2a}.level-detail-title{margin-top:calc(2 * var(--u));font-size:calc(24 * var(--u));letter-spacing:calc(1 * var(--u));color:#1a2237}.level-detail-body{margin-top:calc(4 * var(--u));font-size:calc(13 * var(--u));color:#5a4a2a;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;height:calc(34 * var(--u))}.tier-ladder{flex:0 0 auto;display:flex;flex-wrap:nowrap;justify-content:flex-end;gap:calc(10 * var(--u))}.tier-ladder-empty{font-family:Bowlby One,system-ui,sans-serif;font-size:calc(13 * var(--u));letter-spacing:calc(1.5 * var(--u));color:#5a4a2a;text-transform:uppercase;padding:calc(14 * var(--u)) calc(20 * var(--u));border:calc(3 * var(--u)) dashed #b5b1a4;border-radius:calc(12 * var(--u))}.tier-tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:calc(108 * var(--u));padding:calc(8 * var(--u)) calc(8 * var(--u)) calc(10 * var(--u));background:#ff5d7a;color:#fff6e3;border:calc(4 * var(--u)) solid #1a2237;border-radius:calc(12 * var(--u));box-shadow:0 calc(4 * var(--u)) 0 0 #1a2237;font-family:Bowlby One,system-ui,sans-serif;cursor:pointer;transition:transform .1s ease,box-shadow .1s ease}.tier-tile:hover{transform:translateY(calc(-2 * var(--u)));box-shadow:0 calc(6 * var(--u)) 0 0 #1a2237}.tier-tile:active{transform:translateY(calc(2 * var(--u)));box-shadow:0 calc(2 * var(--u)) 0 0 #1a2237}.tier-tile-index{font-size:calc(18 * var(--u));letter-spacing:calc(1 * var(--u));line-height:1}.tier-tile-age{margin-top:calc(2 * var(--u));font-size:calc(10 * var(--u));letter-spacing:calc(1.5 * var(--u));color:#1a2237;background:#ffd23f;border-radius:calc(7 * var(--u));padding:calc(1 * var(--u)) calc(5 * var(--u))}.tier-tile-title{margin-top:calc(5 * var(--u));font-size:calc(11 * var(--u));letter-spacing:calc(.8 * var(--u));text-transform:uppercase}.tier-tile--locked{background:#b5b1a4;cursor:default}.tier-tile--locked:hover{transform:none;box-shadow:0 calc(4 * var(--u)) 0 0 #1a2237}.tier-tile-lock{position:absolute;top:calc(-9 * var(--u));right:calc(-9 * var(--u));background:#1a2237;color:#ffd23f;font-size:calc(10 * var(--u));letter-spacing:calc(1.5 * var(--u));padding:calc(3 * var(--u)) calc(7 * var(--u));border-radius:calc(10 * var(--u));border:calc(2 * var(--u)) solid #1a2237}.tier-tile--age-4-6{background:linear-gradient(160deg,#5dc1e0,#3a9fc2);color:#fff6e3}.tier-tile--age-7-9{background:linear-gradient(160deg,#3ec0a8,#2a9b85);color:#fff6e3}.tier-tile--age-10-12{background:linear-gradient(160deg,#7dc46a,#5aa44a);color:#1a2237}.tier-tile--age-13-15{background:linear-gradient(160deg,#ed7a30,#b8531a);color:#fff6e3}.tier-tile--age-16-18{background:linear-gradient(160deg,#e34d3d,#b8302a);color:#fff6e3}.tier-tile--age-18plus{background:linear-gradient(160deg,#9b6cff,#6d4ad6);color:#fff6e3}.tier-tile--olympic{background:linear-gradient(160deg,#ffd23f,#ffb12a);color:#1a2237;box-shadow:0 calc(4 * var(--u)) 0 0 #1a2237,0 0 calc(12 * var(--u)) #ffd23f8c}.tier-tile-age--olympic{background:#1a2237;color:#ffd23f;letter-spacing:calc(1.2 * var(--u))}.tile-grid.themed{width:min(360px,88%)}.tile-grid.themed .tile{background-color:transparent;border:none;box-shadow:none;border-radius:0;padding:10px 76px;min-height:0;background-repeat:no-repeat;background-size:100% 100%;position:relative;transition:transform .1s ease;gap:0;display:flex;align-items:center;justify-content:center}.tile-grid.themed .tile:hover:not(.locked){transform:translateY(-1px)}.tile-grid.themed .tile:active:not(.locked){transform:translateY(1px)}.tile-grid.themed .tile-body{flex:1 1 auto;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.tile-grid.themed .tile-title{font-family:Bangers,Fredoka,sans-serif;font-size:22px;letter-spacing:2px;text-transform:uppercase;line-height:1;color:#4a230d;text-shadow:0 1px 0 rgba(255,255,255,.5)}.tile-grid.themed .tile-icon{position:absolute;left:38px;top:50%;transform:translateY(-50%);background:transparent;border:none;border-radius:0;width:auto;height:auto;font-family:Fraunces,serif;font-weight:900;font-size:30px;line-height:1;color:#4a230d}.tile-grid.themed .lock-pill{position:absolute;right:24px;top:50%;transform:translateY(-50%);background:#4a230d;color:#fff8e9}.tile-grid.themed .tile{background-image:url(/assets/ui/cards/t12-panel-04.webp);aspect-ratio:525 / 134}.tile-grid.themed .tile.theme-1{filter:hue-rotate(15deg) sepia(.9) saturate(.85) brightness(1.55)}.tile-grid.themed .tile.theme-1.locked{filter:hue-rotate(15deg) sepia(.9) saturate(.35) brightness(1.4)}.tile-grid.themed .tile.theme-2{filter:hue-rotate(22deg) sepia(.45) saturate(1) brightness(1.35)}.tile-grid.themed .tile.theme-2.locked{filter:hue-rotate(22deg) sepia(.45) saturate(.45) brightness(1.2)}.tile-grid.themed .tile.theme-3{filter:hue-rotate(55deg) sepia(.75) saturate(.55) brightness(1.7)}.tile-grid.themed .tile.theme-3.locked{filter:hue-rotate(55deg) sepia(.75) saturate(.25) brightness(1.55)}.tile-grid.themed .tile.theme-4{filter:hue-rotate(40deg) sepia(.9) saturate(.35) brightness(1.8)}.tile-grid.themed .tile.theme-4.locked{filter:hue-rotate(40deg) sepia(.9) saturate(.15) brightness(1.6)}.battle-stage,.battle-canvas{background:transparent;pointer-events:none}.battle-canvas>*{pointer-events:auto}.battle-hud{position:absolute;top:calc(28 * var(--u));left:calc(60 * var(--u));right:calc(60 * var(--u));display:grid;grid-template-columns:1fr auto 1fr;gap:calc(60 * var(--u));align-items:flex-start;z-index:10}.battle-hud-center{display:flex;flex-direction:column;align-items:center;gap:calc(6 * var(--u))}.hud-logo-btn{background:transparent;border:none;padding:0;cursor:pointer;display:block}.hud-logo-shell{position:relative;display:block;line-height:0}.hud-logo{height:calc(130 * var(--u));width:auto;display:block;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.hud-logo-base{filter:grayscale(1) brightness(1.15) opacity(.32) drop-shadow(0 calc(4 * var(--u)) 0 rgba(26,34,55,.18))}.hud-logo-fill{position:absolute;top:0;right:0;bottom:0;left:0;filter:drop-shadow(0 calc(4 * var(--u)) 0 rgba(26,34,55,.25))}.hud-logo-btn.has-timer .hud-logo-fill{clip-path:inset(var(--drain, 0%) 0 0 0);transition:clip-path .25s linear}.hud-logo-btn.is-low{animation:logoTimerFlash .6s steps(2,end) infinite}@keyframes logoTimerFlash{0%,to{filter:none}50%{filter:brightness(1.25) saturate(1.35)}}.slim-hud{display:flex;flex-direction:column;gap:calc(8 * var(--u));width:100%;font-family:Bowlby One,system-ui,sans-serif;color:#1a2237}.slim-hud.right{align-items:flex-end}.slim-hud-top{display:flex;flex-direction:row;align-items:baseline;justify-content:space-between;width:100%}.slim-hud.right .slim-hud-top{flex-direction:row-reverse}.slim-hud-name{font-size:calc(36 * var(--u));letter-spacing:calc(3 * var(--u));text-transform:uppercase;text-shadow:0 calc(4 * var(--u)) 0 #ffd23f}.slim-hud-score{font-size:calc(28 * var(--u));letter-spacing:calc(1 * var(--u));opacity:.85}.slim-hud-foot{display:flex;flex-direction:row;align-items:center;gap:calc(12 * var(--u));width:100%}.slim-hud.right .slim-hud-foot{flex-direction:row-reverse}.combo-bar{position:relative;align-self:center;width:70%;height:calc(36 * var(--u));background:#fff6e3;border:calc(3 * var(--u)) solid #1a2237;border-radius:calc(14 * var(--u)) calc(14 * var(--u)) 0 0;overflow:hidden;margin-bottom:calc(-3 * var(--u))}.combo-bar-fill{position:absolute;top:0;bottom:0;left:0;background:linear-gradient(180deg,#ff9a4d,#d62224);transition:width .22s cubic-bezier(.2,.8,.2,1)}.combo-bar-fill.mirror{left:auto;right:0}.combo-bar-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:calc(8 * var(--u));font-family:Bowlby One,system-ui,sans-serif;color:#1a2237;animation:comboBarTextPop .24s cubic-bezier(.2,.8,.2,1.2);pointer-events:none}.combo-bar-x{font-size:calc(22 * var(--u));letter-spacing:calc(1 * var(--u));color:#ffd23f;text-shadow:-1.5px 0 0 #1a2237,1.5px 0 0 #1a2237,0 -1.5px 0 #1a2237,0 1.5px 0 #1a2237,calc(2 * var(--u)) calc(2 * var(--u)) 0 #1a2237}.combo-bar-label{font-size:calc(14 * var(--u));letter-spacing:calc(3 * var(--u));color:#fff;text-shadow:-1px 0 0 #1a2237,1px 0 0 #1a2237,0 -1px 0 #1a2237,0 1px 0 #1a2237}.combo-bar.armed{box-shadow:0 0 0 calc(2 * var(--u)) #ffd23f;animation:comboBarArmed .6s ease-in-out infinite alternate}@keyframes comboBarArmed{0%{filter:brightness(1)}to{filter:brightness(1.2) saturate(1.2)}}@keyframes comboBarTextPop{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}.hp-bar-sf{width:100%;height:calc(28 * var(--u));background:#1a2237;border:calc(4 * var(--u)) solid #1a2237;border-radius:calc(8 * var(--u));position:relative;overflow:hidden;direction:ltr}.hp-bar-sf.mirror{direction:rtl}.hp-residual{position:absolute;top:0;bottom:0;left:0;background:linear-gradient(180deg,#ff7a3b,#d62224);transition:width .6s cubic-bezier(.4,0,.2,1)}.hp-current{position:absolute;top:0;bottom:0;left:0;background:linear-gradient(180deg,#fff36b,#ffd23f);transition:width .22s cubic-bezier(.2,.8,.2,1)}.round-stars{display:flex;gap:calc(4 * var(--u))}.round-stars.mirror{flex-direction:row-reverse}.cartoon-glyph{display:inline-block;position:relative;font-family:Bowlby One,system-ui,sans-serif;line-height:.9;letter-spacing:-1px}.cartoon-glyph-face{position:relative;-webkit-text-stroke:1px #1a2237;paint-order:stroke fill;text-shadow:-2px 0 0 #1a2237,2px 0 0 #1a2237,0 -2px 0 #1a2237,0 2px 0 #1a2237,-2px -2px 0 #1a2237,2px -2px 0 #1a2237,-2px 2px 0 #1a2237,2px 2px 0 #1a2237,0 6px 0 rgba(0,0,0,.25)}.problem-glyph-wrap .cartoon-glyph-face{-webkit-text-stroke:3px #1a2237;text-shadow:-3px 0 0 #1a2237,3px 0 0 #1a2237,0 -3px 0 #1a2237,0 3px 0 #1a2237,-3px -3px 0 #1a2237,3px -3px 0 #1a2237,-3px 3px 0 #1a2237,3px 3px 0 #1a2237,-2px -3px 0 #1a2237,2px -3px 0 #1a2237,-2px 3px 0 #1a2237,2px 3px 0 #1a2237,-3px -2px 0 #1a2237,3px -2px 0 #1a2237,-3px 2px 0 #1a2237,3px 2px 0 #1a2237,0 8px 0 rgba(0,0,0,.3)}.cartoon-glyph-hilite{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(255,255,255,.55) 0%,rgba(255,255,255,.15) 35%,transparent 55%);-webkit-background-clip:text;background-clip:text;color:transparent;pointer-events:none}.chunky3d{position:relative;display:inline-block;font-family:Bowlby One,system-ui,sans-serif;line-height:.9;letter-spacing:-2px;paint-order:stroke fill}.chunky3d-face{position:relative;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-stroke:4px #1a2237;filter:drop-shadow(1px 1px 0 #1a2237) drop-shadow(1px 1px 0 #1a2237) drop-shadow(1px 1px 0 #1a2237) drop-shadow(1px 1px 0 #1a2237) drop-shadow(1px 1px 0 #1a2237) drop-shadow(1px 1px 0 #1a2237) drop-shadow(1px 1px 0 #1a2237) drop-shadow(1px 1px 0 #1a2237)}.fight-banner{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;align-items:center;justify-content:center;pointer-events:none}.fight-banner-word{font-family:Bowlby One,system-ui,sans-serif;font-size:calc(160 * var(--u));letter-spacing:calc(6 * var(--u));color:#ffd23f;text-transform:uppercase;-webkit-text-stroke:calc(6 * var(--u)) #1a2237;text-shadow:calc(8 * var(--u)) calc(8 * var(--u)) 0 #1a2237,0 calc(14 * var(--u)) calc(28 * var(--u)) rgba(0,0,0,.45);transform-origin:center;animation:fightBannerPop 1.1s cubic-bezier(.34,1.56,.64,1)}@keyframes fightBannerPop{0%{transform:scale(.2) rotate(-12deg);opacity:0}20%{transform:scale(1.18) rotate(4deg);opacity:1}35%{transform:scale(1) rotate(0);opacity:1}75%{transform:scale(1) rotate(0);opacity:1}to{transform:scale(1.4) rotate(0);opacity:0}}.battle-problem{position:absolute;top:calc(180 * var(--u));left:50%;transform:translate(-50%);z-index:6;display:flex;flex-direction:column;align-items:center;justify-content:center}.solver-caption-slot{min-height:calc(48 * var(--u));display:flex;align-items:flex-start;justify-content:center;margin-top:calc(12 * var(--u))}.solver-caption{display:inline-flex;align-items:baseline;gap:calc(8 * var(--u));background:#fff6e3;border:calc(4 * var(--u)) solid #1a2237;border-radius:999px;padding:calc(8 * var(--u)) calc(20 * var(--u)) calc(6 * var(--u));box-shadow:0 calc(5 * var(--u)) 0 0 #1a2237;font-family:Bowlby One,system-ui,sans-serif;font-size:calc(22 * var(--u));letter-spacing:calc(1 * var(--u));color:#1a2237;animation:solverCaptionPop .22s cubic-bezier(.34,1.56,.64,1)}.solver-caption .solver-caption-name{text-transform:uppercase}.solver-caption .solver-caption-answer{font-size:calc(26 * var(--u))}.solver-caption.tone-player .solver-caption-name{color:#2f8fa8}.solver-caption.tone-enemy .solver-caption-name{color:#c4651a}.solver-caption.tone-neutral{background:#ebe7df}.solver-caption.tone-neutral .solver-caption-name{color:#6b7280}@keyframes solverCaptionPop{0%{transform:scale(.6) rotate(-4deg);opacity:0}60%{transform:scale(1.08) rotate(2deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}.problem-card{position:relative;display:inline-flex;flex-direction:column;align-items:center;gap:calc(6 * var(--u))}.problem-glyphs{display:inline-flex;align-items:center;gap:calc(22 * var(--u))}.problem-glyph-wrap{display:inline-flex;align-items:center;transition:filter .2s ease}.problem-glyph-wrap.glow-right{filter:drop-shadow(0 0 calc(8 * var(--u)) #ffd23f)}.problem-glyph-wrap.glow-wrong{filter:drop-shadow(0 0 calc(8 * var(--u)) #ff5d7a)}.problem-card.shake{animation:shakeProblem .36s cubic-bezier(.36,.07,.19,.97)}@keyframes shakeProblem{10%,90%{transform:translate(-4px)}20%,80%{transform:translate(6px)}30%,50%,70%{transform:translate(-10px)}40%,60%{transform:translate(10px)}}.problem-prompt{display:inline-flex;align-items:center;background:#fff6e3;color:#1a2237;border:calc(5 * var(--u)) solid #1a2237;border-radius:999px;padding:calc(12 * var(--u)) calc(28 * var(--u)) calc(10 * var(--u));box-shadow:0 calc(6 * var(--u)) 0 0 #1a2237;font-family:Bowlby One,system-ui,sans-serif;font-size:calc(24 * var(--u));letter-spacing:calc(2 * var(--u));text-transform:uppercase;text-align:center;transform:rotate(-2deg);margin-bottom:calc(36 * var(--u))}.problem-parchment-yellow,.problem-parchment-3d{background:#fff6e3;border:calc(7 * var(--u)) solid #1a2237;border-radius:calc(22 * var(--u));padding:calc(30 * var(--u)) calc(64 * var(--u));box-shadow:0 calc(10 * var(--u)) 0 0 #1a2237,inset 0 0 0 calc(6 * var(--u)) #ffd23f40}.problem-floating{background:transparent;padding:calc(18 * var(--u)) calc(24 * var(--u))}.problem-floating .problem-glyphs{gap:calc(20 * var(--u))}.problem-stack{display:grid;grid-template-columns:auto auto;align-items:center;row-gap:calc(4 * var(--u));column-gap:calc(14 * var(--u))}.stack-op-slot{display:flex;align-items:center;justify-content:center;min-width:calc(60 * var(--u))}.stack-digits{display:flex;align-items:center;justify-content:flex-end;gap:calc(4 * var(--u))}.stack-rule{grid-column:1 / -1;height:calc(8 * var(--u));background:#1a2237;border-radius:calc(4 * var(--u));margin:calc(6 * var(--u)) 0}.problem-stacked.problem-floating .problem-stack{row-gap:calc(2 * var(--u))}.problem-stacked.problem-parchment-yellow,.problem-stacked.problem-parchment-3d{padding:calc(24 * var(--u)) calc(56 * var(--u))}.problem-proportion{gap:calc(30 * var(--u))}.problem-fraction{display:inline-flex;flex-direction:column;align-items:center;gap:calc(2 * var(--u))}.fraction-bar{align-self:stretch;min-width:calc(90 * var(--u));height:calc(8 * var(--u));background:#1a2237;border-radius:calc(4 * var(--u));margin:calc(4 * var(--u)) 0}.problem-roman{gap:calc(8 * var(--u))}.card-stud{position:absolute;width:calc(14 * var(--u));height:calc(14 * var(--u));border-radius:50%;background:#ffd23f;border:calc(3 * var(--u)) solid #1a2237;z-index:3}.card-stud.tl{top:calc(8 * var(--u));left:calc(8 * var(--u))}.card-stud.tr{top:calc(8 * var(--u));right:calc(8 * var(--u))}.card-stud.bl{bottom:calc(8 * var(--u));left:calc(8 * var(--u))}.card-stud.br{bottom:calc(8 * var(--u));right:calc(8 * var(--u))}.battle-keypads{position:absolute;bottom:calc(40 * var(--u));left:calc(60 * var(--u));right:calc(60 * var(--u));display:flex;justify-content:space-between;align-items:flex-end;z-index:5}.keypad-wrap{display:flex;flex-direction:column;align-items:stretch}.keypad-slot,.keypad-answer-wrap{position:relative}.cpu-telegraph{position:absolute;top:calc(4 * var(--u));left:calc(32 * var(--u));right:calc(32 * var(--u));bottom:calc(12 * var(--u));border-radius:calc(10 * var(--u));background:#ffffffbf;transform-origin:right;animation-name:cpuTelegraph;animation-timing-function:linear;animation-fill-mode:forwards;pointer-events:none;will-change:transform;backface-visibility:hidden;z-index:3}@keyframes cpuTelegraph{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.cpu-telegraph-slots{top:auto;left:0;right:0;bottom:0;height:calc(3 * var(--u));border-radius:calc(2 * var(--u));background:#1a22378c}.keypad-card{position:relative;background:#fff6e3;border:calc(6 * var(--u)) solid #1a2237;border-radius:calc(24 * var(--u));box-shadow:0 calc(10 * var(--u)) 0 #1a2237;padding:calc(18 * var(--u));width:calc(380 * var(--u))}.keypad-card.dim{opacity:.85}.keypad-card.dim .keypad-key{opacity:.55}.keypad-answer{position:relative;overflow:hidden;margin:calc(4 * var(--u)) calc(32 * var(--u)) calc(12 * var(--u));border:calc(3 * var(--u)) solid #1a2237;border-radius:calc(10 * var(--u));padding:calc(4 * var(--u)) calc(12 * var(--u));font-family:Bowlby One,system-ui,sans-serif;font-size:calc(28 * var(--u));color:#1a2237;text-align:right;letter-spacing:calc(2 * var(--u));min-height:calc(32 * var(--u));box-shadow:inset 0 calc(2 * var(--u)) 0 #fff9,inset 0 calc(-2 * var(--u)) 0 #00000014;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.keypad-answer-value{position:relative;z-index:2;display:block}.keypad-slots-wrap{margin:calc(4 * var(--u)) calc(32 * var(--u)) calc(12 * var(--u));display:flex;align-items:center;justify-content:center;min-height:calc(42 * var(--u))}.keypad-slot-row{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:calc(4 * var(--u));min-height:calc(32 * var(--u));transition:color .12s ease}.keypad-slot-row.right{color:#2d6c20}.keypad-slot-row.wrong{color:#b32a3f}.keypad-slot-row.right .keypad-digit-slot{border-bottom-color:#2d6c20}.keypad-slot-row.wrong .keypad-digit-slot{border-bottom-color:#b32a3f}.keypad-sign-indicator{display:inline-flex;align-items:center;justify-content:center;width:calc(20 * var(--u));height:calc(32 * var(--u));font-family:Bowlby One,system-ui,sans-serif;font-size:calc(28 * var(--u));color:#1a2237;opacity:.22;margin-right:calc(2 * var(--u));transition:opacity .12s ease,text-shadow .12s ease}.keypad-sign-indicator.active{opacity:1;text-shadow:0 0 calc(6 * var(--u)) rgba(118,212,238,.85)}.keypad-digit-slot{display:inline-flex;align-items:flex-end;justify-content:center;width:calc(22 * var(--u));height:calc(32 * var(--u));font-family:Bowlby One,system-ui,sans-serif;font-size:calc(28 * var(--u));color:inherit;border-bottom:calc(3 * var(--u)) solid #1a2237;line-height:1;transition:border-bottom-color .12s ease}.keypad-digit-slot.empty{border-bottom-color:#1a223773}.keypad-digit-slot.dot{width:calc(10 * var(--u));border-bottom:none;align-items:flex-end}.keypad-digit-slot.cursor{animation:slotCursorBlink .9s steps(2,end) infinite}@keyframes slotCursorBlink{0%,49.99%{border-bottom-color:#1a2237}50%,to{border-bottom-color:#1a22372e}}.keypad-answer.right{background:linear-gradient(180deg,#9bd766cc,#9bd76673 60%,#9bd76699)}.keypad-answer.wrong{background:linear-gradient(180deg,#ff7a8fcc,#ff7a8f73 60%,#ff7a8f99);animation:shakeProblem .28s cubic-bezier(.36,.07,.19,.97)}.keypad-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:calc(86 * var(--u));gap:calc(4 * var(--u))}.keypad-choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:calc(12 * var(--u))}.keypad-key{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform 80ms ease}.keypad-key:disabled{cursor:default}.keypad-key:active:not(:disabled){transform:translateY(2px)}.keypad-slot-empty{display:block}.keypad-key.span-row{grid-column:1 / -1}.keypad-key.minus-hint{animation:minusHintPulse .7s ease-in-out infinite}@keyframes minusHintPulse{0%,to{filter:drop-shadow(0 0 0 rgba(118,212,238,0));transform:translateY(0)}50%{filter:drop-shadow(0 0 calc(8 * var(--u)) rgba(118,212,238,.95));transform:translateY(calc(-2 * var(--u)))}}.keypad-key.minus-toggle-active{filter:drop-shadow(0 0 calc(5 * var(--u)) rgba(118,212,238,.85))}.keypad-choice-key{flex-direction:column;gap:calc(4 * var(--u));padding:calc(12 * var(--u)) 0}@keyframes stageRerollSpin{to{transform:rotate(360deg)}}
