@font-face{font-display:swap;font-family:Quicksand;font-style:normal;font-weight:300 700;src:url(../assets/quicksand/quicksand-variable.woff2) format("woff2")}:root{--black: #263b53;--black-2: #f7fbff;--ink: #263b53;--muted: #536b82;--plane: #e9f4ff;--plane-2: #e6f7ed;--tile-color: #d7e8f2;--tile-high: #f8fcff;--positive: #c34744;--negative: #187b73;--violet: #7562d7;--violet-2: #9d8beb;--yellow: #a76205;--danger: #c84658;--line: rgba(38, 59, 83, .2);--actor-tween: 112ms;--actor-ease: cubic-bezier(.2, .78, .24, 1);--ease-pop: cubic-bezier(.16, .9, .23, 1.18);--ease-snap: cubic-bezier(.18, .86, .24, 1)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}html,body{cursor:url(../assets/cursors/kenney/pointer-a.png) 8 6,default;height:100%;margin:0;overflow:hidden}body{background:#cbdbe8;color:var(--ink);font-family:Quicksand,sans-serif}button{color:inherit;font:inherit;-webkit-tap-highlight-color:transparent}button:not(:disabled){cursor:url(../assets/cursors/kenney/hand-point.png) 13 5,pointer}button:focus-visible{outline:4px solid var(--yellow);outline-offset:5px}button:disabled{cursor:url(../assets/cursors/kenney/cursor-disabled.png) 8 6,not-allowed}.app-viewport{background:#cbdbe8;height:100vh;height:100dvh;overflow:hidden;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);position:relative;width:100vw;width:100dvw}.app-viewport.game-input-active{touch-action:none}.game-stage{height:var(--stage-height, 900px);left:50%;overflow:hidden;position:absolute;top:50%;transform:translate(-50%,-50%) scale(var(--scale));transform-origin:center;width:var(--stage-width, 1600px)}.splash-screen{align-items:center;background:radial-gradient(circle at 72% 44%,rgba(40,188,166,.3),transparent 27%),radial-gradient(circle at 22% 58%,rgba(239,111,91,.24),transparent 31%),#102437;color:#fff;cursor:pointer;display:flex;inset:0;isolation:isolate;justify-content:center;overflow:hidden;position:absolute;z-index:200}.splash-screen:before{animation:splash-split .82s .64s var(--ease-snap) both;background:linear-gradient(90deg,transparent 49.82%,rgba(255,255,255,.82) 49.9% 50.1%,transparent 50.18%),linear-gradient(90deg,#102437f5 0 50%,#187b73f0 50%);content:"";inset:-4%;position:absolute;transform:scaleX(.03) rotate(-2deg);z-index:-2}.splash-screen:after{animation:splash-vignette 1.5s ease-in-out infinite alternate;background:repeating-linear-gradient(112deg,transparent 0 54px,rgba(255,255,255,.025) 54px 56px),radial-gradient(ellipse at center,transparent 35%,rgba(0,0,0,.54));content:"";inset:0;pointer-events:none;position:absolute;z-index:8}.splash-screen.leaving{animation:splash-leave .28s ease-in both;pointer-events:none}.splash-aurora{animation:splash-aurora 2.4s ease-in-out both;background:conic-gradient(from 210deg at 50% 50%,transparent,rgba(42,192,169,.34),transparent 26%,rgba(239,111,91,.28),transparent 40%,rgba(255,212,93,.2),transparent 54%);filter:blur(25px);height:1100px;left:250px;opacity:.8;position:absolute;top:-100px;width:1100px}.splash-rings{height:620px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:620px}.splash-rings i{animation:splash-ring .95s calc(.13s + var(--i) * .11s) var(--ease-snap) both;border:3px solid rgba(255,255,255,.3);border-radius:50%;inset:calc(var(--i) * 66px);position:absolute}.splash-rings i:nth-child(1){--i: 0;border-color:#2fcfb57a}.splash-rings i:nth-child(2){--i: 1}.splash-rings i:nth-child(3){--i: 2;border-color:#ffd35980}.splash-year{align-items:center;animation:splash-year-away .31s .76s ease-in both;display:flex;gap:28px;justify-content:center;position:relative;z-index:3}.splash-year span{animation:splash-digit-in .57s calc(var(--i) * 70ms) var(--ease-pop) both;color:#fff;display:block;font-size:190px;font-weight:700;letter-spacing:-.1em;line-height:1;position:relative;text-shadow:0 10px 0 rgba(7,27,42,.5),0 0 38px rgba(45,205,177,.38)}.splash-year span:before{color:transparent;content:attr(data-digit);left:calc(var(--i) * -7px - 20px);opacity:.42;position:absolute;text-shadow:12px 0 #28a893,24px 0 rgba(239,111,91,.58);top:0;z-index:-1}.splash-year span:nth-child(2){color:#ffd45d}.splash-year span:nth-child(4){color:#ef6f5b}.splash-logo-reveal{animation:splash-logo-in .59s .86s var(--ease-pop) both;filter:drop-shadow(0 28px 38px rgba(0,0,0,.46));height:500px;left:50%;overflow:hidden;position:absolute;top:50%;transform:translate(-50%,-50%);width:720px;z-index:5}.splash-logo-glow{animation:splash-logo-pulse .72s 1.18s ease-out both;background:#38d3b88c;border-radius:50%;filter:blur(48px);inset:12%;position:absolute}.splash-game-logo{align-items:center;background:radial-gradient(circle at 82% 18%,rgba(83,186,222,.2),transparent 25%),#f8fcff;border:7px solid #263b53;border-radius:32px;box-shadow:0 15px #263b53,inset 0 0 0 4px #fffc;display:flex;gap:36px;height:310px;left:50%;padding:38px 44px;position:absolute;top:44%;transform:translate(-50%,-50%);width:660px;z-index:2}.splash-zero-mark{align-items:center;background:linear-gradient(145deg,rgba(255,255,255,.5),transparent 45%),#ffd45d;border:7px solid #263b53;border-radius:26px;box-shadow:inset -13px -13px #d9890b29,0 12px #263b5333;color:#263b53;display:flex;flex:0 0 190px;height:190px;justify-content:center;position:relative}.splash-zero-mark span{font-size:116px;font-weight:700;letter-spacing:-.08em;line-height:1;transform:translate(-4px)}.splash-zero-mark i{border-bottom:17px solid #187b73;border-left:11px solid transparent;border-right:11px solid transparent;bottom:20px;position:absolute;right:18px;transform:rotate(90deg)}.splash-wordmark{align-items:flex-start;color:#263b53;display:flex;flex-direction:column;line-height:.82}.splash-wordmark small{color:#187b73;font-size:14px;font-weight:700;letter-spacing:.18em;line-height:1;margin:0 0 20px 5px}.splash-wordmark strong{font-size:72px;font-weight:700;letter-spacing:-.075em}.splash-wordmark strong:last-child{color:#c34744;font-size:59px;margin-top:14px}.splash-countdown{align-items:center;bottom:22px;color:#fff;display:flex;gap:12px;justify-content:center;left:50%;position:absolute;transform:translate(-50%);z-index:3}.splash-countdown span{align-items:center;background:#f8fcff;border:3px solid #263b53;border-radius:10px;color:#263b53;display:flex;font-size:20px;font-weight:700;height:42px;justify-content:center;width:42px}.splash-countdown span:last-child{background:#bcebd9;color:#126b64}.splash-countdown i{color:#ffd45d;font-size:19px;font-style:normal}.splash-scan{animation:splash-scan .48s 1.02s ease-out both;background:linear-gradient(90deg,transparent,rgba(255,255,255,.92),transparent);filter:blur(3px);inset:-8% auto -8% -24%;position:absolute;transform:skew(-12deg);width:22%;z-index:4}.splash-particles{inset:0;pointer-events:none;position:absolute;z-index:6}.splash-particles i{--angle: calc(var(--i) * 25.714deg);animation:splash-particle .72s calc(.82s + var(--i) * 18ms) ease-out both;background:#37c7af;border-radius:2px;height:8px;left:calc(50% - 4px);position:absolute;top:calc(50% - 4px);transform:rotate(var(--angle)) translateY(0);width:6px}.splash-particles i:nth-child(3n){background:#ef6f5b;height:13px;width:9px}.splash-particles i:nth-child(2n){background:#ffd45d;border-radius:50%}.splash-particles i:nth-child(5n){background:#73c7e3}.splash-kicker,.splash-skip{font-weight:700;left:50%;letter-spacing:.18em;margin:0;position:absolute;transform:translate(-50%);z-index:10}.splash-kicker{animation:splash-copy-in .3s 1.15s ease-out both;bottom:72px;font-size:15px}.splash-skip{animation:splash-copy-in .24s 1.45s ease-out both;bottom:34px;color:#ffffff94;font-size:10px}.scene{background:#f4f8f5;height:100%;overflow:hidden;position:relative;width:100%}.scene:before{background:radial-gradient(circle at 82% 18%,rgba(91,158,235,.22),transparent 25%),radial-gradient(circle at 13% 78%,rgba(68,190,151,.2),transparent 30%),radial-gradient(circle at 54% 92%,rgba(139,111,225,.14),transparent 27%),radial-gradient(circle at 1px 1px,rgba(38,59,83,.05) 1px,transparent 1.5px),linear-gradient(125deg,var(--plane),#fffdf4 52%,var(--plane-2));background-size:auto,auto,auto,22px 22px,auto;clip-path:none;content:"";inset:-3%;pointer-events:none;position:absolute}.scene:after{background:radial-gradient(ellipse at center,transparent 55%,rgba(53,78,104,.12));content:"";inset:0;pointer-events:none;position:absolute;z-index:1}.title-screen,.menu-screen,.game-screen{height:100%;position:relative;z-index:2}.scene.phase-out>.title-screen,.scene.phase-out>.menu-screen,.scene.phase-out>.game-screen{animation:scene-out 165ms ease-in both;pointer-events:none}.scene.phase-in>.title-screen,.scene.phase-in>.menu-screen,.scene.phase-in>.game-screen{animation:scene-in .23s var(--ease-snap) both}.overline{color:var(--negative);font-size:17px;font-weight:800;letter-spacing:.18em;margin:0;text-transform:uppercase}.corner-brand{align-items:center;color:var(--muted);display:flex;font-size:15px;font-weight:750;gap:13px;left:68px;letter-spacing:.1em;position:absolute;top:40px}.title-copy{left:70px;position:absolute;top:112px;width:410px;z-index:5}.title-transform{height:235px;margin:14px 0 2px;position:relative;transform:scale(.69);transform-origin:left top;width:420px}.morph-word{align-items:center;border:5px solid transparent;color:var(--ink);display:flex;font-family:Quicksand,sans-serif;font-size:105px;font-weight:900;height:106px;justify-content:flex-start;left:0;letter-spacing:-.055em;line-height:.86;overflow:hidden;padding-left:4px;position:absolute;top:0;transform-origin:center;width:400px}.morph-push{animation:morph-push 6s var(--ease-snap) infinite}.morph-to{animation:morph-to 6s var(--ease-snap) infinite;top:103px}.morph-zero{animation:morph-zero 6s var(--ease-snap) infinite;top:206px}.morph-word .word,.morph-word .symbol{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.morph-word .word{animation:morph-word-label 6s ease infinite;width:100%}.morph-word .symbol{animation:morph-symbol-label 6s ease infinite;font-size:48px;letter-spacing:0;opacity:0}.morph-result{align-items:center;animation:morph-result 6s var(--ease-pop) infinite;background:var(--ink);border:5px solid var(--black);border-radius:12px;box-shadow:0 10px 0 var(--black),0 18px 26px #0000005c;color:var(--black);display:flex;font-family:Quicksand,sans-serif;font-size:57px;font-weight:900;height:92px;justify-content:center;left:138px;opacity:0;position:absolute;top:228px;width:112px}.tagline{color:var(--muted);font-size:23px;font-weight:620;letter-spacing:.02em;margin:0}.title-menu{display:flex;flex-direction:column;margin-top:22px;width:350px}.menu-button{align-items:center;background:transparent;border:0;border-bottom:2px solid var(--line);cursor:pointer;display:flex;font-size:23px;font-weight:760;justify-content:space-between;min-height:52px;padding:0 9px 0 2px;text-align:left;transition:border-color 85ms ease,color 85ms ease,padding .11s var(--ease-snap),transform 70ms ease;width:100%}.menu-button:hover,.menu-button:focus-visible{border-color:var(--positive);color:var(--positive);padding-left:13px}.menu-button:active{transform:translate(5px) scale(.985)}.menu-button.small{color:var(--muted);font-size:18px;min-height:46px}.menu-arrow{color:var(--positive);font-family:Quicksand,sans-serif;font-size:30px;font-weight:900;transform:translate(-8px);transition:transform .11s var(--ease-snap)}.menu-button:hover .menu-arrow,.menu-button:focus-visible .menu-arrow{transform:translate(0)}.pause-menu-icon{display:none}.pause-menu-text{display:inline}.title-vignette{height:600px;position:absolute;right:95px;top:145px;width:760px}.title-board{--demo-tile: 76px;display:grid;filter:drop-shadow(0 18px 14px rgba(0,0,0,.48));grid-template-columns:repeat(var(--demo-cols),var(--demo-tile));grid-template-rows:repeat(var(--demo-rows),var(--demo-tile));left:50%;position:absolute;top:46%;transform:translate(-50%,-50%)}.demo-cell{align-items:center;background:linear-gradient(145deg,var(--tile-high),var(--tile-color));border:5px solid var(--black);border-radius:11px;box-shadow:inset -7px -7px #5a406724;color:var(--black);display:flex;font-family:Quicksand,sans-serif;font-size:31px;font-weight:900;justify-content:center;margin:2px;position:relative}.demo-cell.void{visibility:hidden}.demo-cell.player:after{background:var(--violet);border:5px solid var(--black);border-radius:50% 50% 8px 8px;box-shadow:inset 0 -12px #5c12b8;content:"";inset:8px;position:absolute}.demo-cell.player:before{border-bottom:12px solid var(--ink);border-left:8px solid transparent;border-right:8px solid transparent;content:"";left:calc(50% - 8px);position:absolute;top:23px;transform:rotate(90deg);z-index:2}.demo-cell.positive,.demo-cell.negative{animation:demo-crate-pulse 2.1s ease-in-out infinite alternate;border-width:6px}.demo-cell.positive{background:var(--positive)}.demo-cell.negative{animation-delay:-1.05s;background:var(--negative)}.title-rule{align-items:center;bottom:42px;color:var(--muted);display:flex;font-size:16px;font-weight:800;gap:18px;justify-content:center;left:0;letter-spacing:.12em;position:absolute;right:0}.title-rule i{color:var(--ink);font-size:25px;font-style:normal}.title-rule strong{color:var(--negative)}.title-room-picker{background:#180f1db8;border:3px solid var(--line);border-radius:14px;box-shadow:0 12px #00000070;inset:44px 54px 72px 510px;overflow:hidden;position:absolute;z-index:5}.title-room-picker:before{background:linear-gradient(125deg,rgba(170,97,255,.08),transparent 55%),repeating-linear-gradient(-45deg,transparent 0 16px,rgba(255,255,255,.018) 16px 18px);content:"";inset:0;pointer-events:none;position:absolute}.title-room-header{align-items:flex-end;display:flex;justify-content:space-between;left:28px;position:absolute;right:28px;top:20px}.title-room-header h2{color:var(--ink);font-family:Quicksand,sans-serif;font-size:62px;font-weight:900;letter-spacing:-.04em;line-height:.82;margin:9px 0 0}.title-room-header>span{color:var(--muted);font-size:14px;font-weight:850;letter-spacing:.1em;padding-bottom:4px}.title-room-picker .room-grid{display:grid;gap:12px 16px;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));inset:116px 26px 22px;position:absolute}.title-room-picker .room-entry{background:#09070c57;border:2px solid var(--line);border-radius:10px;gap:4px 9px;grid-template-columns:82px 34px minmax(0,1fr);grid-template-rows:auto auto;min-height:0;padding:8px}.title-room-picker .room-entry:hover:not(:disabled),.title-room-picker .room-entry:focus-visible{background:#281833eb;border-color:var(--positive);transform:translateY(-3px)}.title-room-picker .room-entry:disabled{background:#06050859;cursor:not-allowed;opacity:.48}.title-room-picker .room-thumbnail{grid-row:1 / 3;height:58px;width:78px}.title-room-picker .room-name{align-self:end;font-size:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.title-room-picker .room-number{align-self:end;font-size:16px}.title-room-picker .room-result{color:var(--muted);font-size:12px;grid-column:2 / 4;letter-spacing:.04em}.title-room-picker .room-entry.complete{border-color:#58a99575}.title-room-picker .room-entry.complete .room-result{color:var(--negative)}.cozy-title{color:var(--ink)}.title-options-button{background:var(--black-2);border:3px solid var(--line);border-radius:9px;box-shadow:0 5px #263b532e;color:var(--ink);cursor:pointer;font-size:20px;font-weight:850;min-height:54px;min-width:142px;padding:0 18px;position:absolute;right:76px;top:42px;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease,transform .12s ease;z-index:10}.title-options-button:hover,.title-options-button:focus-visible{background:var(--black-2);border-color:var(--positive);color:var(--positive);transform:translateY(-2px)}.mobile-options-icon{fill:#f8fcff;height:48px;stroke:currentColor;stroke-linecap:round;stroke-width:4;width:48px}.cozy-title-copy{left:76px;position:absolute;top:112px;width:max-content}.cozy-title-copy h1{align-items:baseline;display:flex;font-size:74px;font-weight:700;gap:18px;letter-spacing:-.065em;line-height:1;margin:28px 0 0;white-space:nowrap}.cozy-title-copy h1 span{display:inline}.cozy-title-copy h1 em,.cozy-title-copy h1 b{font-style:normal;font-weight:inherit}.cozy-title-copy h1 em{color:var(--positive)}.cozy-title-copy h1 b{color:var(--negative)}.title-formula{height:74px;margin:0 auto;position:relative;width:300px}.formula-full{align-items:center;animation:formula-full-cycle 6.4s ease-in-out infinite;display:flex;gap:15px;inset:0;position:absolute}.title-formula b{align-items:center;background:#f8fcff;border:3px solid var(--black);border-radius:16px;box-shadow:0 7px #263b532e;display:flex;font-size:29px;height:66px;justify-content:center;width:66px}.title-formula b.zero,.title-formula b.solo-zero{background:linear-gradient(145deg,#ffe18a,#ffb52e);box-shadow:inset -7px -7px #d27d0829,0 7px #263b5333;color:var(--ink)}.title-formula i{color:var(--negative);font-size:26px;font-style:normal}.formula-solo{animation:formula-solo-cycle 6.4s ease-in-out infinite;inset:0;position:absolute}.formula-solo b{left:50%;opacity:0;position:absolute;top:0;transform:translate(-50%);z-index:3}.formula-solo .solo-two{animation:formula-two-cycle 6.4s var(--ease-snap) infinite}.formula-solo .solo-one{animation:formula-one-cycle 6.4s var(--ease-snap) infinite}.formula-solo .solo-zero{animation:formula-zero-cycle 6.4s var(--ease-pop) infinite}.formula-pusher{animation:formula-pusher-cycle 6.4s ease-in-out infinite;left:calc(50% - 98px);opacity:0;position:absolute;top:17px;z-index:4}.level-picker{background:#f8fcffe0;border:3px solid rgba(38,59,83,.15);border-radius:30px;box-shadow:0 22px 55px #2f527429;bottom:88px;padding:36px 38px;position:absolute;right:76px;top:112px;width:770px}.level-picker:after{border:1px solid rgba(255,255,255,.8);border-radius:26px;content:"";inset:7px;pointer-events:none;position:absolute}.level-picker-header{align-items:end;display:flex;justify-content:space-between;position:relative;z-index:2}.level-picker-header h2{font-size:50px;font-weight:700;letter-spacing:-.055em;line-height:.9;margin:10px 0 0}.level-picker-header>span{color:var(--muted);font-size:13px;font-weight:700;letter-spacing:.1em;padding-bottom:3px}.level-number-grid{display:grid;gap:14px;grid-template-columns:repeat(5,1fr);margin-top:20px;position:relative;z-index:2}.level-number{align-items:center;aspect-ratio:1;background:#ffe3ad;border:3px solid #a76205;border-radius:18px;box-shadow:0 6px #263b5329;cursor:pointer;display:flex;font-size:24px;font-weight:700;justify-content:center;position:relative;transition:background .11s ease,border-color .11s ease,box-shadow .11s ease,transform .11s var(--ease-snap)}.level-number-grid:not(.pinned) .level-number:hover:not(:disabled),.level-number:focus-visible{background:#ffd98f;border-color:#8b5204;box-shadow:0 7px #a762053d;transform:translateY(-3px)}.level-number.selected{border-color:var(--yellow);box-shadow:0 0 0 4px #f8fcff,0 0 0 8px var(--yellow),0 10px #263b5338;transform:translateY(-4px);z-index:4}.level-number.complete{background:#ffe3ad;border-color:#a76205}.level-number.complete.selected{background:#ffd98f}.level-number.par-matched{background:#bfeee5;border-color:#187b73}.level-number.par-matched.selected{background:#a9e3d9}.level-number-grid:not(.pinned) .level-number.par-matched:hover:not(:disabled),.level-number.par-matched:focus-visible{background:#a9e3d9;border-color:#126b64;box-shadow:0 7px #187b733d}.level-number.chapter-positive:not(.complete,.locked){background:#ffe3ad}.level-number.chapter-negative:not(.complete,.locked){background:#ffe3ad}.level-number.chapter-addition:not(.complete,.locked){background:#ffe3ad}.level-number.chapter-inverses:not(.complete,.locked){background:#ffe3ad}.level-number.chapter-mastery:not(.complete,.locked){background:#ffe3ad}.level-number.chapter-expert:not(.complete,.locked){background:#ffe3ad}.level-number.locked{background:repeating-linear-gradient(-45deg,rgba(38,59,83,.035) 0 5px,transparent 5px 10px),#e7edf2;border-color:#263b533d;box-shadow:0 4px #263b5314;color:#263b5361}.level-number i{align-items:center;background:var(--negative);border:2px solid #f8fcff;border-radius:50%;bottom:-7px;color:#fff;display:flex;font-size:12px;font-style:normal;height:24px;justify-content:center;position:absolute;right:-7px;width:24px}.level-number.par-matched i{background:#ffbd38;border-color:#f8fcff;color:var(--ink);font-size:14px}.level-selection{align-items:center;border-top:2px solid var(--line);display:grid;gap:24px;grid-template-columns:1fr auto;margin-top:27px;padding-top:22px;position:relative;z-index:2}.level-selection-copy{align-items:flex-start;display:flex;flex-direction:column;min-width:0}.level-selection-kicker{align-items:center;display:flex;font-size:13px;font-weight:700;gap:7px;letter-spacing:.12em;white-space:nowrap}.level-selection-kicker .selected-chapter{color:#187b73}.level-selection-kicker .selected-chapter.chapter-negative{color:#c34744}.level-selection-kicker .selected-chapter.chapter-addition{color:#456da0}.level-selection-kicker .selected-chapter.chapter-inverses{color:#a76205}.level-selection-kicker .selected-chapter.chapter-mastery,.level-selection-kicker .selected-chapter.chapter-expert{color:#7562d7}.level-selection-kicker .selected-level-number{color:var(--negative)}.level-selection-kicker i{color:var(--muted);font-style:normal}.level-selection-kicker .selected-performance{align-items:baseline;color:var(--ink);display:inline-flex;gap:9px;letter-spacing:.08em}.selected-performance>span{align-items:baseline;display:inline-flex;gap:4px}.selected-performance strong{color:var(--ink);font-size:1.08em;letter-spacing:0}.selected-performance .selected-par strong,.selected-performance.at-par .selected-best strong{color:#187b73}.level-selection-copy>strong{font-size:29px;font-weight:700;margin-top:6px;min-width:0}.level-selection-copy>small{color:var(--muted);font-size:14px;font-weight:600;line-height:1.35;margin-top:8px;max-width:370px;min-height:38px}.level-enter{align-items:center;align-self:center;background:#c9eee8;border:3px solid #187b73;border-radius:17px;box-shadow:0 4px 10px #187b7329;color:var(--ink);cursor:pointer;display:flex;font-size:16px;font-weight:700;gap:15px;grid-column:2;letter-spacing:.06em;min-height:66px;min-width:132px;padding:0 24px;justify-content:center;transition:background .11s ease,border-color .11s ease,box-shadow .11s ease,transform .11s ease}.level-enter:hover,.level-enter:focus-visible{background:#b5e5dc;border-color:#126b64;box-shadow:0 6px 14px #187b7333;transform:translateY(-2px)}.level-enter:active:not(:disabled){box-shadow:0 2px 6px #187b7329;transform:translateY(1px)}.level-enter:disabled{background:#e7edf2;border-color:#263b5347;box-shadow:0 3px 8px #263b531a;color:#263b5375}.menu-screen{height:100%;padding:48px 72px;position:relative}.menu-header{align-items:center;color:var(--muted);display:flex;font-size:15px;font-weight:800;justify-content:space-between;letter-spacing:.1em}.back-button{background:var(--black-2);border:3px solid var(--line);border-radius:9px;box-shadow:0 5px 0 var(--black);cursor:pointer;font-size:20px;font-weight:850;min-height:54px;min-width:142px;padding:0 18px;text-align:left;transition:border-color 90ms ease,color 90ms ease,transform 80ms ease}.back-button:hover,.back-button:focus-visible{border-color:var(--positive);color:var(--positive);transform:translateY(-2px)}.back-button:active{transform:translateY(3px)}.menu-heading{left:72px;position:absolute;right:auto;top:142px}.menu-heading h2,.options-screen h2{color:var(--ink);font-family:Quicksand,sans-serif;font-size:94px;font-weight:900;letter-spacing:-.04em;line-height:.82;margin:18px 0 0}.room-grid{display:grid;gap:18px 34px;grid-template-columns:repeat(3,1fr);left:345px;position:absolute;right:72px;top:126px}.room-entry{align-items:center;background:transparent;border:0;border-bottom:2px solid var(--line);cursor:pointer;display:grid;gap:10px;grid-template-columns:98px 40px minmax(0,1fr) auto;min-height:135px;padding:0 5px;text-align:left;transition:border-color 90ms ease,transform .1s var(--ease-snap)}.room-entry:hover:not(:disabled),.room-entry:focus-visible{border-color:var(--positive);transform:translateY(-5px)}.room-entry:active:not(:disabled){transform:translateY(1px) scale(.99)}.room-entry:disabled{color:#f7f0f53d}.room-number{color:var(--negative);font-size:18px;font-weight:850}.room-name{font-family:Quicksand,sans-serif;font-size:23px;font-weight:800;min-width:0}.room-result{color:var(--muted);font-size:15px;font-weight:760}.room-entry.complete .room-result{color:var(--negative)}.room-thumbnail{background:var(--black);border:3px solid var(--black);border-radius:7px;box-shadow:0 6px #000000b8;display:grid;gap:2px;grid-template-columns:repeat(var(--mini-cols),1fr);grid-template-rows:repeat(var(--mini-rows),1fr);height:72px;overflow:hidden;padding:4px;width:94px}.room-thumbnail.locked{filter:grayscale(1);opacity:.32}.mini-tile{background:var(--tile-color);border-radius:2px;display:block;min-height:0;min-width:0;position:relative}.mini-tile.wall{background:#27212c}.mini-tile.crate{background:var(--positive)}.mini-tile.crate.negative{background:var(--negative)}.mini-tile.player:after{background:var(--violet);border:1px solid var(--black);border-radius:50%;content:"";inset:15%;position:absolute}.menu-help{bottom:38px;color:var(--muted);font-size:15px;font-weight:720;margin:0;position:absolute}.menu-help{left:72px}.option-list{left:600px;position:absolute;right:110px;top:166px}.option-list>button,.volume-option{align-items:center;background:transparent;border:0;border-bottom:2px solid var(--line);display:flex;font-size:27px;font-weight:720;justify-content:space-between;min-height:96px;padding:0 8px;transition:border-color 90ms ease,color 90ms ease,transform 80ms ease;width:100%}.option-list>button{cursor:pointer}.option-list>button:hover,.option-list>button:focus-visible,.volume-option:hover,.volume-option:focus-within{border-color:var(--positive);color:var(--positive);transform:translate(6px)}.option-list strong{color:var(--negative);font-size:17px;font-weight:900;letter-spacing:.1em}.volume-control{align-items:center;display:grid;gap:18px;grid-template-columns:58px 280px}.volume-control strong{text-align:right}.volume-control input[type=range]{accent-color:var(--negative);cursor:url(../assets/cursors/kenney/hand-point.png) 13 5,pointer;height:34px;margin:0;width:280px}.volume-control input[type=range]:focus-visible{outline:4px solid var(--yellow);outline-offset:4px}.keycap{align-items:center;background:#342c38;border:2px solid rgba(247,240,245,.4);border-bottom-width:5px;border-radius:6px;display:inline-flex;font-family:Quicksand,sans-serif;font-size:14px;font-weight:900;justify-content:center;line-height:1;min-height:29px;min-width:30px;padding:0 7px}.mouse-prompt{align-items:center;background:#e8f2fb;border:2px solid rgba(38,59,83,.42);border-bottom-width:5px;border-radius:6px;box-sizing:border-box;display:inline-flex;flex:0 0 44px;height:42px;justify-content:center;width:44px}.mouse-prompt img{display:block;height:34px;width:34px}.credits-panel{bottom:88px;left:76px;position:absolute;width:520px}.credits-panel h3{color:var(--positive);font-size:18px;font-weight:900;letter-spacing:.12em;margin:0 0 12px}.credits-panel dl{display:grid;gap:12px 22px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.credits-panel dl>div{padding:0}.credits-panel dt{color:var(--negative);font-size:12px;font-weight:900;letter-spacing:.1em}.credits-panel dd{font-size:13px;font-weight:750;line-height:1.25;margin:4px 0 0}.credits-panel dd small{color:var(--muted);display:block;font-size:12px;font-weight:650;margin-top:3px}.game-screen{height:100%;position:relative}.game-hud{align-items:center;display:grid;grid-template-columns:1fr 1fr;height:92px;left:48px;position:absolute;right:48px;top:18px;z-index:20}.hud-pause{align-items:center;display:flex}.pause-icon{align-items:center;background:var(--black-2);border:3px solid var(--line);border-radius:9px;box-shadow:0 5px 0 var(--black);cursor:pointer;display:flex;gap:5px;height:49px;justify-content:center;transition:border-color 90ms ease,transform 80ms ease;width:49px}.pause-icon:hover{border-color:var(--positive);transform:translateY(-2px)}.pause-icon i{background:var(--ink);height:16px;width:4px}.hud-stats span{color:var(--muted);font-size:14px;font-weight:820;letter-spacing:.12em}.hud-stats{display:flex;gap:30px;justify-self:end}.hud-stats div{align-items:baseline;display:flex;gap:9px}.hud-stats strong{font-family:Quicksand,sans-serif;font-size:29px;font-weight:850}.hud-stats .par-best strong,.hud-stats .par-moves strong{color:var(--negative)}.game-body{--tile: 80px;inset:0;position:absolute}.side-swipe-zones,.side-swipe-zone{display:none}.layout-compact.input-touch .side-swipe-zones,.layout-compact.input-pen .side-swipe-zones{display:block;inset:0;pointer-events:none;position:absolute;z-index:2}.layout-compact.input-touch .side-swipe-zone,.layout-compact.input-pen .side-swipe-zone{bottom:0;display:block;pointer-events:auto;position:absolute;top:0;touch-action:none;width:max(0px,calc((100% - 930px)/2))}.layout-compact.input-touch .side-swipe-zone.left,.layout-compact.input-pen .side-swipe-zone.left{left:0}.layout-compact.input-touch .side-swipe-zone.right,.layout-compact.input-pen .side-swipe-zone.right{right:0}.room-copy{bottom:auto;left:48px;position:absolute;top:50%;transform:none;width:300px}.layout-wide .room-copy{top:calc(50% - 286px)}.layout-wide .room-kicker{position:static;transform:none}.room-kicker{left:0;padding-bottom:12px;position:absolute;top:0;transform:translateY(-100%);white-space:nowrap}.room-index{color:var(--negative);font-size:20px;font-weight:850;letter-spacing:.1em}.chapter-name{color:#187b73;font-size:20px;font-weight:850;letter-spacing:.1em;margin-left:12px}.room-copy.chapter-negative .chapter-name{color:#c34744}.room-copy.chapter-walls .chapter-name{color:var(--yellow)}.room-copy.chapter-addition .chapter-name,.room-copy.chapter-chambers .chapter-name{color:#456da0}.room-copy.chapter-inverses .chapter-name{color:#a76205}.room-copy.chapter-mastery .chapter-name,.room-copy.chapter-expert .chapter-name{color:var(--violet)}.room-copy h2{font-family:Quicksand,sans-serif;font-size:47px;font-weight:850;letter-spacing:-.03em;line-height:.9;margin:0 0 11px}.room-copy>p{color:var(--muted);font-size:18px;font-weight:650;line-height:1.35;margin:0}.help-actions{display:flex;gap:18px;margin-top:22px}.hint-toggle{align-items:center;background:transparent;border:0;color:var(--muted);cursor:pointer;display:flex;font-size:15px;font-weight:850;gap:9px;letter-spacing:.1em;margin-top:0;padding:0}.hint-control{color:var(--negative)}.steps-control,.hint-control:hover,.hint-control.active{color:var(--positive)}.steps-control:hover,.steps-control.active{color:#a76600}.help-content{animation:help-panel-in .16s var(--ease-snap) both}.hint-copy{border-left:4px solid var(--negative);color:var(--negative);margin-top:15px;padding-left:12px}.hint-copy>span,.solution-copy>span{display:block;font-size:12px;font-weight:900;letter-spacing:.12em;margin-bottom:5px}.hint-copy p{color:var(--muted);font-size:15px;font-weight:700;line-height:1.35;margin:0}.solution-copy{border-left:4px solid var(--positive);margin-top:15px;padding-left:12px}.solution-copy>span{color:var(--positive)}.solution-steps{display:flex;flex-wrap:wrap;gap:5px}.solution-steps i{align-items:center;background:#f8fcff;border:2px solid rgba(38,59,83,.42);border-radius:5px;box-shadow:0 3px #263b532e;color:var(--ink);display:inline-flex;font-size:15px;font-style:normal;font-weight:900;height:25px;justify-content:center;width:25px}.board-rig{height:720px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:930px}.board-shadow{background:#0000009e;border-radius:48%;filter:blur(25px);height:56%;left:12%;position:absolute;top:30%;width:76%}.board{--tile: 80px;background:var(--black);border:6px solid var(--black);border-radius:13px;box-shadow:0 18px #000000b8,0 28px 34px #0000005c;height:calc(var(--rows) * var(--tile) + 12px);left:50%;overflow:visible;position:absolute;top:50%;transform:translate(-50%,-50%);width:calc(var(--cols) * var(--tile) + 12px);touch-action:none;-webkit-tap-highlight-color:transparent}.board:focus,.board:focus-visible,.tile-layer:focus,.tile-layer:focus-visible{outline:none}.board,.tile-layer,.tile,.player-sprite,.crate-sprite{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.tile-layer{display:grid;grid-template-columns:repeat(var(--cols),var(--tile));grid-template-rows:repeat(var(--rows),var(--tile));height:100%;isolation:isolate;overflow:hidden;position:relative;width:100%}.tile-layer:before{background:#74bdb3;content:"";inset:0;position:absolute;z-index:0}.tile{appearance:none;border:0;border-radius:0;height:var(--tile);padding:0;position:relative;width:var(--tile);z-index:1}.tile.floor{background:linear-gradient(145deg,var(--tile-high),var(--tile-color));border:4px solid var(--black);border-radius:10px;box-shadow:inset -8px -8px #60436e21,inset 3px 3px #ffffff42}.tile.floor:before{border:3px solid transparent;border-radius:6px;content:"";inset:5px;pointer-events:none;position:absolute;transition:background 70ms ease,border-color 70ms ease,transform 65ms ease}.board-rig.building .tile-layer:before{animation:wall-foundation-place .22s var(--ease-pop) both}.board-rig.building .tile.floor{animation:tile-place .26s var(--ease-pop) both;animation-delay:calc(var(--build-index) * 3ms)}.push-preview-list{align-items:flex-end;bottom:auto;display:grid;gap:9px;grid-template-columns:repeat(var(--preview-count),minmax(0,1fr));justify-content:center;left:50%;max-width:900px;position:absolute;top:calc(50% + var(--telegraph-offset-y));transform:translate(-50%);width:var(--preview-list-width);z-index:22}.board-rig .mobile-gesture-nudge{left:50%;top:calc(50% + var(--telegraph-offset-y) + var(--preview-panel-height, 58px) + 14px);transform:translate(-50%);width:min(820px,92%);z-index:22}.push-preview{align-content:center;animation:preview-in .11s var(--ease-snap) both;background:#09080cb3;border:2px solid var(--line);border-radius:8px;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;height:58px;min-height:58px;opacity:.68;padding:6px 10px;position:relative;row-gap:1px;white-space:nowrap}.push-preview.primary{background:#1e1424f0;box-shadow:0 5px #00000085;opacity:1}.push-preview i{color:var(--muted);font-size:24px;font-style:normal;font-weight:1000;line-height:1;left:10px;position:absolute;text-shadow:.7px 0 currentColor,-.7px 0 currentColor;top:50%;transform:translateY(-50%)}.push-preview.direction-up i{top:6px;transform:none}.push-preview.direction-down i{bottom:6px;top:auto;transform:none}.push-preview span{color:var(--negative);font-size:14px;font-weight:900;grid-column:1;grid-row:1;justify-self:center;letter-spacing:.12em;padding:0 30px;text-align:center;width:100%}.push-preview strong{font-family:Quicksand,sans-serif;font-size:20px;font-weight:850;grid-column:1;grid-row:2;justify-self:center;line-height:1}.push-preview:not(.collision):not(.blocked){border-color:var(--negative)}.push-preview.collision{border-color:var(--positive)}.push-preview.collision span{color:var(--positive)}.push-preview.blocked{border-color:var(--danger)}.push-preview.blocked span{color:var(--danger)}.push-preview.blocked{grid-template-rows:1fr}.push-preview.blocked i,.push-preview.blocked span{align-self:center;grid-row:1}.player-sprite,.crate-sprite,.zero-burst{height:var(--tile);left:calc(var(--x) * var(--tile));pointer-events:none;position:absolute;top:calc(var(--y) * var(--tile));transition:left var(--actor-tween) var(--actor-ease),top var(--actor-tween) var(--actor-ease);width:var(--tile);z-index:5}@supports (translate: 1px 1px){.player-sprite,.crate-sprite,.zero-burst{left:0;top:0;translate:calc(var(--x) * var(--tile)) calc(var(--y) * var(--tile));transition:translate var(--actor-tween) var(--actor-ease);will-change:translate}}.player-sprite{transform-origin:50% 80%;z-index:7}.player-shadow,.crate-shadow{background:#0006;border-radius:50%;bottom:5%;filter:blur(5px);height:18%;left:14%;position:absolute;width:72%}.player-character{background-image:url(../assets/character/lukey-walk.png);background-position:9.0909% 0;background-repeat:no-repeat;background-size:1200% 100%;bottom:-3.4%;filter:drop-shadow(0 calc(var(--tile) * .02) 0 rgba(38,59,83,.22));height:calc(var(--tile) * 1.58);left:50%;position:absolute;transform:translate(-50%);transform-origin:50% 88%;width:calc(var(--tile) * .79)}.player-sprite:not(.walking) .player-character{animation:character-idle 1.8s ease-in-out infinite}.facing-right .player-character{background-position:36.3636% 0}.facing-up .player-character{background-position:63.6364% 0}.facing-left .player-character{background-position:90.9091% 0}.player-sprite.walking.facing-down .player-character{animation:character-walk-down var(--actor-tween) steps(1,end) both}.player-sprite.walking.facing-right .player-character{animation:character-walk-right var(--actor-tween) steps(1,end) both}.player-sprite.walking.facing-up .player-character{animation:character-walk-up var(--actor-tween) steps(1,end) both}.player-sprite.walking.facing-left .player-character{animation:character-walk-left var(--actor-tween) steps(1,end) both}.player-sprite.walking{animation:player-step var(--actor-tween) var(--actor-ease)}.crate-sprite{transform-origin:50% 76%}.board-rig.building .crate-sprite{animation:actor-place .3s var(--ease-pop) both;animation-delay:calc(.18s + var(--build-index) * 3ms)}.board-rig.building .player-sprite{animation:player-place .32s var(--ease-pop) .34s both}.crate-body{background:var(--count-color, var(--positive));border:calc(var(--tile) * .055) solid var(--black);border-radius:12%;box-shadow:inset calc(var(--tile) * -.08) calc(var(--tile) * -.08) 0 #650c132e,0 calc(var(--tile) * .07) 0 var(--black);inset:4% 8% 12%;position:absolute}.crate-body:after{border:calc(var(--tile) * .025) solid rgba(0,0,0,.22);border-radius:8%;content:"";inset:9%;position:absolute}.crate-sprite.negative .crate-body{background:var(--count-color, var(--negative));box-shadow:inset calc(var(--tile) * -.08) calc(var(--tile) * -.08) 0 #074a4033,0 calc(var(--tile) * .07) 0 var(--black)}.crate-count{align-items:center;animation:number-tick 165ms var(--ease-pop);color:var(--black);display:flex;font-family:Quicksand,sans-serif;font-size:calc(var(--tile) * .38);font-weight:900;inset:10% 14% 18%;justify-content:center;line-height:1;position:absolute;z-index:2}.crate-count.wide{font-size:calc(var(--tile) * .3);letter-spacing:-.045em}.crate-sprite.push{animation:crate-push .14s ease-out}.crate-sprite.merge{animation:crate-merge .3s var(--ease-pop)}.crate-sprite.bump{animation:crate-bump .14s ease-out}.crate-sprite.stuck:after{border:5px solid var(--danger);border-radius:13%;content:"";inset:5%;position:absolute}.stuck-mark{align-items:center;animation:warning-pulse .8s ease-in-out infinite;background:var(--danger);border:3px solid var(--black);border-radius:7px;color:var(--black);display:flex;font-family:Quicksand,sans-serif;font-size:20px;font-weight:900;height:30px;justify-content:center;position:absolute;right:-2px;top:-4px;width:30px;z-index:9}.zero-burst{z-index:30}.burst-zero{align-items:center;animation:zero-pop .82s var(--ease-pop) both;background:radial-gradient(circle at 34% 28%,rgba(255,255,255,.9),transparent 18%),#ffe36e;border:calc(var(--tile) * .055) solid var(--black);border-radius:12%;box-shadow:inset calc(var(--tile) * -.07) calc(var(--tile) * -.07) 0 #d384092e,0 calc(var(--tile) * .08) 0 var(--black);color:var(--black);display:flex;font-family:Quicksand,sans-serif;font-size:calc(var(--tile) * .46);font-weight:900;inset:11%;justify-content:center;position:absolute}.zero-burst i{--angle: calc(var(--i) * 45deg);animation:shard-fly .76s .15s ease-out both;background:var(--yellow);border:2px solid var(--black);border-radius:3px;height:10px;left:47%;position:absolute;top:43%;transform:rotate(var(--angle)) translateY(0);width:7px}.equation-pop{animation:equation-pop .78s var(--ease-pop) both;background:var(--black);border:3px solid var(--negative);border-radius:7px;box-shadow:0 6px #000000b3;color:var(--ink);font-family:Quicksand,sans-serif;font-size:20px;font-weight:850;left:calc((var(--x) + .5) * var(--tile));padding:7px 12px;pointer-events:none;position:absolute;top:calc(var(--y) * var(--tile));transform:translate(-50%,-20%);white-space:nowrap;z-index:35}.equation-pop.merge,.equation-pop.zero{border-color:var(--positive)}.board-rig.bumped{animation:rig-bump 145ms ease-out}.board-rig.zeroed{animation:rig-zero .25s ease-out}.board-rig.merged{animation:rig-merge 205ms ease-out}.no-shake .board-rig.bumped,.no-shake .board-rig.merged,.no-shake .board-rig.zeroed{animation:none}.level-clear-screen{align-items:center;animation:overlay-in .18s ease-out both;background:radial-gradient(circle at 50% 42%,rgba(255,205,74,.2),transparent 30%),#e8f4f7e6;display:flex;inset:0;justify-content:center;pointer-events:none;position:absolute;z-index:60}.clear-completion-stack{align-items:center;animation:clear-panel-in .28s var(--ease-pop) .12s both;background:#f8fcff;border:4px solid var(--black);border-radius:28px;box-shadow:0 14px #263b5333,0 28px 52px #263b532e;display:flex;flex-direction:column;padding:42px 48px 46px;pointer-events:auto;text-align:center;width:520px}.clear-completion-stack h2{color:var(--negative);font-size:48px;font-weight:900;letter-spacing:-.045em;line-height:.95;margin:0 0 28px}.clear-par-badge{align-items:center;animation:clear-badge-pop .52s var(--ease-pop) .3s both;background:linear-gradient(145deg,#ffe18a,#ffb52e);border:4px solid var(--black);border-radius:50%;box-shadow:inset -8px -8px #d27d0824,0 9px #263b5333;color:var(--ink);display:flex;flex-direction:column;height:120px;justify-content:center;position:absolute;right:-42px;top:-44px;transform:rotate(6deg);width:120px;z-index:2}.clear-par-badge:before{animation:clear-badge-ring .68s ease-out .43s both;border:4px solid rgba(167,98,5,.68);border-radius:50%;content:"";inset:-17px;pointer-events:none;position:absolute}.clear-par-badge>span{animation:clear-badge-star .43s var(--ease-pop) .42s both;font-size:46px;line-height:.78}.clear-par-badge>strong{font-size:13px;font-weight:900;letter-spacing:.08em;margin-top:8px}.clear-score-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:26px;width:100%}.clear-score-grid>div{display:flex;flex-direction:column;min-height:82px;justify-content:center}.clear-score-grid>div+div{border-left:2px solid var(--line)}.clear-score-grid span{color:var(--muted);font-size:13px;font-weight:900;letter-spacing:.1em}.clear-score-grid strong{color:var(--ink);font-size:36px;font-weight:900;line-height:1.05}.clear-score-grid .par-score strong{color:var(--negative)}.room-complete-button{align-items:center;animation:clear-button-in .24s var(--ease-pop) .26s both;background:var(--black);border:4px solid var(--negative);border-radius:9px;box-shadow:0 9px #000000b8,0 15px 26px #00000059;color:var(--ink);cursor:pointer;display:grid;grid-template-columns:1fr auto;min-height:72px;min-width:0;padding:8px 14px;position:relative;touch-action:manipulation;width:100%;text-align:center;transition:background 90ms ease,transform 80ms ease}.room-complete-button:hover,.room-complete-button:focus-visible{background:#23142f;transform:translateY(-3px)}.room-complete-button:focus-visible{outline:none}.room-complete-button>span{font-size:18px;font-weight:900;letter-spacing:.08em}.room-complete-button>strong{font-size:32px;line-height:1}.game-footer{align-items:center;bottom:0;color:var(--muted);display:grid;font-size:15px;font-weight:790;grid-template-columns:1fr auto;height:66px;left:48px;position:absolute;right:48px;z-index:75}.game-footer.cleared{color:var(--ink);grid-template-columns:1fr auto}.footer-control-group,.footer-game-actions,.clear-confirm-control,.desktop-move-control{align-items:center;display:flex}.mobile-action-rail{display:none}.mobile-action-rail button:active,.footer-game-actions button:active,.footer-action:active{transform:translateY(4px)}.mobile-action-icon{align-items:center;display:inline-flex;font-size:34px;font-weight:900;justify-content:center;line-height:1}.mobile-action-rail button:disabled{opacity:.34}.mobile-gesture-nudge{color:var(--negative);font-size:19px;font-weight:900;letter-spacing:.1em;margin:0;position:absolute;text-align:center}@media (hover: none),(pointer: coarse){button:focus{outline:none}.pause-icon,.title-options-button,.back-button{min-height:76px;min-width:76px}}.layout-portrait .game-stage{height:var(--stage-height, 1500px);width:900px}.layout-compact.input-touch .game-stage,.layout-compact.input-pen .game-stage{height:var(--stage-height, 900px);width:var(--stage-width, 1600px)}.layout-portrait .keycap{display:none}.layout-portrait .title-screen{align-content:start;display:grid;gap:18px;grid-template-rows:auto auto auto;overflow-y:auto;padding:24px 50px 32px;scrollbar-width:none}.layout-portrait .title-screen::-webkit-scrollbar{display:none}.layout-portrait .title-options-button{align-items:center;display:flex;justify-content:center;min-height:112px;min-width:112px;padding:0;right:42px;top:34px;width:112px}.layout-portrait .cozy-title-copy{left:auto;margin:46px auto 0;position:relative;top:auto;transform:none}.layout-portrait .title-formula{transform:scale(1.08)}.layout-portrait .cozy-title-copy h1{font-size:70px;gap:18px;margin-top:22px}.layout-portrait .level-picker{height:auto;inset:auto;padding:22px 28px;position:relative;width:100%}.layout-portrait .level-picker-header>span{font-size:22px}.layout-portrait .level-picker-header h2{font-size:62px}.layout-portrait .level-picker .overline{font-size:21px}.layout-portrait .level-number-grid{gap:12px;margin-top:14px}.layout-portrait .level-number{aspect-ratio:auto;border-radius:16px;font-size:30px;height:110px}.layout-portrait .level-selection{height:162px;margin-top:18px;min-height:162px;padding-top:16px}.layout-portrait .level-selection-kicker{font-size:21px}.layout-portrait .level-selection-copy>strong{font-size:35px}.layout-portrait .level-selection-copy>small{font-size:22px;height:60px;max-width:100%;min-height:60px;width:100%}.layout-portrait .selected-performance{gap:12px}.layout-portrait .level-enter{border-radius:18px;font-size:23px;min-height:112px;min-width:190px}.layout-portrait .title-credits{bottom:auto;display:block;left:auto;position:relative;top:auto;width:100%}.layout-portrait .title-credits dl{gap:10px 24px;grid-template-columns:repeat(3,minmax(0,1fr))}.layout-portrait .title-credits h3{font-size:16px;margin-bottom:6px}.layout-portrait .title-credits dt{font-size:12px}.layout-portrait .title-credits dd{font-size:13px}.layout-portrait .title-credits dd small{font-size:11px}.layout-portrait .menu-screen{padding:38px 48px}.layout-portrait .back-button{align-items:center;display:flex;font-size:52px;justify-content:center;min-height:112px;min-width:112px;padding:0;text-align:center;width:112px}.mobile-back-icon{display:block;font-size:1em;font-weight:900;line-height:1;transform:translateY(-2px)}.layout-portrait .menu-heading{left:50px;right:auto;top:180px}.layout-portrait .menu-heading h2{font-size:104px}.layout-portrait .option-list{left:50px;right:50px;top:330px}.layout-portrait .option-list>button,.layout-portrait .volume-option{font-size:30px;min-height:124px}.layout-portrait .option-list strong{font-size:21px}.layout-portrait .volume-control{gap:22px;grid-template-columns:minmax(0,1fr) 84px;width:100%}.layout-portrait .volume-option{align-items:stretch;flex-direction:column;gap:8px;justify-content:center;min-height:160px}.layout-portrait .volume-control strong{grid-column:2;grid-row:1}.layout-portrait .volume-control input[type=range]{grid-column:1;grid-row:1}.layout-portrait .volume-control input[type=range]{appearance:none;background:transparent;height:64px;width:100%}.layout-portrait .volume-control input[type=range]::-webkit-slider-runnable-track{background:var(--line);border-radius:8px;height:12px}.layout-portrait .volume-control input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--negative);border:4px solid #f8fcff;border-radius:50%;box-shadow:0 2px #263b5340;height:46px;margin-top:-17px;width:46px}.layout-portrait .volume-control input[type=range]::-moz-range-track{background:var(--line);border-radius:8px;height:12px}.layout-portrait .volume-control input[type=range]::-moz-range-thumb{background:var(--negative);border:4px solid #f8fcff;border-radius:50%;box-shadow:0 2px #263b5340;height:46px;width:46px}.layout-portrait .game-hud{left:36px;right:36px;top:20px}.layout-portrait .hud-stats,.layout-compact.input-touch .hud-stats,.layout-compact.input-pen .hud-stats{background:transparent;border:0;border-radius:0;box-shadow:none;padding:16px 0}.layout-portrait .pause-icon{height:112px;width:112px}.layout-portrait .hud-stats span{font-size:24px}.layout-portrait .hud-stats strong{font-size:42px}.layout-portrait .game-body{inset:0}.layout-portrait .room-copy{background:transparent;border:0;border-radius:0;height:240px;left:50px;overflow:visible;padding:20px 0;top:150px;transform:none;width:800px;z-index:55}.layout-portrait .room-kicker{padding-bottom:14px;position:static;transform:none}.layout-portrait .room-copy h2{font-size:50px;margin-bottom:20px;max-width:390px}.layout-portrait .room-copy>p{font-size:28px;line-height:1.4;max-width:390px}.layout-portrait .room-copy.help-open>p{display:none}.layout-portrait .room-copy.help-open{display:block}.layout-portrait .room-copy.help-open .room-kicker{position:static;transform:none}.layout-portrait .room-copy.help-open h2{font-size:50px;margin:0 0 20px}.layout-portrait .room-index,.layout-portrait .chapter-name{font-size:26px}.layout-portrait .help-actions{align-items:center;flex-wrap:nowrap;justify-content:flex-end;gap:12px;margin-top:0;position:relative;z-index:3}.layout-portrait .room-copy.help-open .help-actions{margin-top:0}.layout-portrait .help-dock{position:absolute;right:0;top:0;width:800px}.layout-portrait .hint-toggle{align-items:center;background:transparent;border:0;box-shadow:none;color:var(--ink);flex-direction:row;font-size:18px;gap:10px;isolation:isolate;justify-content:center;letter-spacing:.075em;max-width:148px;min-height:112px;min-width:148px;padding:0 16px;position:relative;white-space:nowrap;width:148px}.layout-portrait .hint-toggle:before{background:#f8fcff;border:2px solid rgba(38,59,83,.46);border-bottom-width:6px;border-radius:16px;box-shadow:0 4px #263b531f;content:"";height:70px;inset:21px 0 auto;pointer-events:none;position:absolute;transition:transform 90ms ease,border-bottom-width 90ms ease,box-shadow 90ms ease,background 90ms ease;z-index:-1}.layout-portrait .hint-toggle:active,.layout-portrait .hint-toggle.active{background:transparent;border:0;box-shadow:none;transform:none}.layout-portrait .hint-toggle:active:before,.layout-portrait .hint-toggle.active:before{background:var(--plane);border-color:#263b53ad;border-bottom-width:3px;box-shadow:0 2px #263b531f;transform:translateY(3px)}.layout-portrait .hint-control,.layout-portrait .steps-control,.layout-portrait .hint-control.active,.layout-portrait .steps-control.active{color:var(--ink)}.layout-portrait .room-copy.help-open .hint-toggle{max-width:148px;min-height:112px;min-width:148px;padding:0 16px;width:148px}.layout-portrait .hint-toggle .keycap{display:none}.layout-portrait .hint-toggle:disabled,.layout-compact.input-touch .hint-toggle:disabled,.layout-compact.input-pen .hint-toggle:disabled{opacity:.42}.layout-portrait .hint-toggle:disabled:before,.layout-compact.input-touch .hint-toggle:disabled:before,.layout-compact.input-pen .hint-toggle:disabled:before{box-shadow:0 2px #263b531a;border-bottom-width:3px}.layout-portrait .mobile-help-label{font-size:22px;font-weight:900;line-height:1}.layout-portrait .mobile-help-state{font-size:26px;font-weight:800;line-height:.8}.layout-portrait .help-content{align-items:start;background:transparent;border:0;border-radius:0;box-shadow:none;column-gap:20px;grid-template-columns:repeat(2,minmax(0,390px));left:0;margin-top:0;max-height:none;max-width:800px;overflow:visible;padding:0;position:absolute;right:auto;top:124px;width:800px;z-index:2}.layout-portrait .help-content.help-stage-2{display:grid}.layout-portrait .room-copy.help-open .help-content{margin-top:0;padding:0}.layout-portrait .help-content.help-stage-2 .hint-copy{display:block}.layout-portrait .help-content.help-stage-2 .solution-copy{margin-top:0}.layout-portrait .help-content.help-stage-2 .solution-steps{flex-wrap:wrap;gap:5px;overflow:visible}.layout-portrait .help-content .hint-copy>span,.layout-portrait .help-content .solution-copy>span{font-size:16px;margin-bottom:4px}.layout-portrait .help-content .hint-copy p{font-size:21px;line-height:1.45}.layout-portrait .help-content .solution-steps i{font-size:21px;height:27px;width:27px}.layout-portrait .help-content .hint-copy,.layout-portrait .help-content .solution-copy{border-left-width:5px;margin-top:0;min-width:0;padding-left:14px}.layout-portrait .help-content:not(.help-stage-2) .hint-copy{width:390px}.layout-portrait.input-touch .hint-toggle .keycap,.layout-portrait.input-pen .hint-toggle .keycap{display:inline-flex}.layout-portrait .board-rig{height:850px;top:50%;width:900px}.layout-portrait .board-shadow,.layout-compact.input-touch .board-shadow,.layout-compact.input-pen .board-shadow{display:none}.layout-portrait .board,.layout-compact.input-touch .board,.layout-compact.input-pen .board{background:transparent;border:0;border-radius:0;box-shadow:none;height:calc(var(--rows) * var(--tile));isolation:isolate;left:calc(50% + var(--mobile-offset-x));overflow:visible;top:calc(50% + var(--mobile-offset-y));width:calc(var(--cols) * var(--tile))}.layout-portrait .board:before,.layout-compact.input-touch .board:before,.layout-compact.input-pen .board:before{background:#74bdb3;border:6px solid var(--black);border-radius:13px;box-shadow:0 18px #263b53ad,0 28px 34px #263b5347;content:"";height:var(--mobile-frame-height);left:var(--mobile-frame-left);position:absolute;top:var(--mobile-frame-top);width:var(--mobile-frame-width);z-index:0}.layout-portrait .tile-layer,.layout-compact.input-touch .tile-layer,.layout-compact.input-pen .tile-layer{height:calc(var(--rows) * var(--tile));overflow:visible;width:calc(var(--cols) * var(--tile));z-index:1}.layout-portrait .tile-layer:before,.layout-compact.input-touch .tile-layer:before,.layout-compact.input-pen .tile-layer:before{display:none}.layout-portrait .board-rig.building .board:before,.layout-compact.input-touch .board-rig.building .board:before,.layout-compact.input-pen .board-rig.building .board:before{animation:wall-foundation-place .22s var(--ease-pop) both}.layout-portrait .game-footer{bottom:36px;height:318px;left:32px;right:32px}.layout-portrait .game-footer:not(.cleared){display:block}.layout-portrait .footer-control-group{display:none}.layout-portrait .mobile-action-rail{bottom:36px;display:flex;justify-content:space-between;left:38px;pointer-events:none;position:absolute;right:38px;z-index:75}.layout-portrait .mobile-action-rail button{align-items:center;background:#f8fcff;border:2px solid rgba(38,59,83,.54);border-radius:24px;box-shadow:0 7px #263b5329;display:flex;flex-direction:column;font-size:22px;gap:4px;justify-content:center;min-height:112px;min-width:140px;padding:10px 16px;pointer-events:auto}.layout-portrait .game-footer.cleared{bottom:36px;height:112px}.layout-portrait .footer-action{background:#f8fcff;border:2px solid rgba(38,59,83,.54);border-radius:24px;box-shadow:0 7px #263b5329;flex-direction:column;font-size:21px;min-height:112px;min-width:140px;padding:10px 16px}.layout-portrait .room-complete-button{border-radius:14px;min-height:112px;min-width:0;padding:12px 22px}.layout-portrait .clear-completion-stack{padding:46px 52px 50px;width:650px}.layout-portrait .clear-completion-stack h2{font-size:60px}.layout-portrait .clear-par-badge{height:144px;right:-48px;top:-52px;width:144px}.layout-portrait .clear-par-badge>span{font-size:56px}.layout-portrait .clear-par-badge>strong{font-size:16px}.layout-portrait .clear-score-grid>div{min-height:126px}.layout-portrait .clear-score-grid span{font-size:19px}.layout-portrait .clear-score-grid strong{font-size:48px}.layout-portrait .room-complete-button>span{font-size:23px}.layout-portrait .pause-screen nav{display:grid;gap:28px;grid-template-columns:repeat(3,140px);width:auto}.layout-portrait .pause-screen h2{font-size:110px}.layout-portrait .pause-screen>.overline{font-size:32px}.layout-portrait .pause-screen .menu-button{background:#f8fcff;border:3px solid rgba(38,59,83,.52);border-radius:24px;box-shadow:0 8px #263b532b;justify-content:center;min-height:140px;min-width:140px;padding:0;width:140px}.layout-portrait .final-completion{padding:56px 46px;width:800px}.layout-portrait .final-completion h2{font-size:62px}.layout-portrait .final-completion button{grid-template-columns:1fr;min-height:112px;width:520px}.layout-portrait .final-completion button>span{font-size:24px}.layout-portrait .final-score{min-height:88px;width:520px}.layout-portrait .final-score strong{font-size:27px}.layout-portrait .final-score span{font-size:20px}.layout-portrait .push-preview-list{bottom:auto;display:grid;grid-template-columns:repeat(var(--preview-count),minmax(0,1fr));max-width:820px;width:var(--preview-list-width)}.layout-portrait .board-rig{--preview-panel-height: 88px}.layout-compact.input-touch .keycap,.layout-compact.input-pen .keycap{display:none}.layout-compact.input-touch .title-options-button,.layout-compact.input-pen .title-options-button{align-items:center;display:flex;justify-content:center;min-height:112px;min-width:112px;padding:0;right:48px;top:24px;width:112px}.layout-compact.input-touch .back-button,.layout-compact.input-pen .back-button,.layout-compact.input-touch .pause-icon,.layout-compact.input-pen .pause-icon{min-height:112px;min-width:112px}.layout-compact.input-touch .level-picker,.layout-compact.input-pen .level-picker{bottom:auto;height:min(850px,calc(var(--stage-height) - 210px));padding:26px 30px;right:48px;top:166px;width:770px}.layout-compact.input-touch .level-number-grid,.layout-compact.input-pen .level-number-grid{gap:10px;margin-top:16px}.layout-compact.input-touch .level-selection,.layout-compact.input-pen .level-selection{margin-top:18px;padding-top:16px}.layout-compact.input-touch .back-button,.layout-compact.input-pen .back-button{align-items:center;display:flex;font-size:52px;justify-content:center;padding:0;text-align:center;width:112px}.layout-compact.input-touch .menu-heading,.layout-compact.input-pen .menu-heading{left:72px;right:auto;top:184px}.layout-compact.input-touch .menu-heading h2,.layout-compact.input-pen .menu-heading h2{margin:0;text-align:left}.layout-compact.input-touch .option-list,.layout-compact.input-pen .option-list{top:184px}.layout-compact.input-touch .level-enter,.layout-compact.input-pen .level-enter{min-height:112px;min-width:180px}.layout-compact.input-touch .title-formula,.layout-compact.input-pen .title-formula{transform:scale(1.15)}.layout-compact.input-touch .cozy-title-copy h1,.layout-compact.input-pen .cozy-title-copy h1{font-size:82px}.layout-compact.input-touch .volume-option,.layout-compact.input-pen .volume-option{align-items:stretch;flex-direction:column;gap:6px;justify-content:center;min-height:118px}.layout-compact.input-touch .volume-control,.layout-compact.input-pen .volume-control{grid-template-columns:minmax(0,1fr) 72px;width:100%}.layout-compact.input-touch .volume-control strong,.layout-compact.input-pen .volume-control strong{grid-column:2;grid-row:1}.layout-compact.input-touch .volume-control input[type=range],.layout-compact.input-pen .volume-control input[type=range]{grid-column:1;grid-row:1;width:100%}.layout-compact.input-touch .title-credits,.layout-compact.input-pen .title-credits{bottom:auto;left:72px;top:585px}.layout-portrait .pause-screen .menu-button>span:first-child,.layout-compact.input-touch .pause-screen .menu-button>span:first-child,.layout-compact.input-pen .pause-screen .menu-button>span:first-child{align-items:center;display:flex;justify-content:center}.layout-portrait .pause-menu-icon,.layout-compact.input-touch .pause-menu-icon,.layout-compact.input-pen .pause-menu-icon{display:block;fill:none;height:68px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:3.5;width:68px}.layout-portrait .pause-menu-icon.resume,.layout-compact.input-touch .pause-menu-icon.resume,.layout-compact.input-pen .pause-menu-icon.resume{fill:currentColor}.layout-portrait .pause-menu-text,.layout-compact.input-touch .pause-menu-text,.layout-compact.input-pen .pause-menu-text,.layout-portrait .pause-screen .menu-arrow,.layout-compact.input-touch .pause-screen .menu-arrow,.layout-compact.input-pen .pause-screen .menu-arrow{display:none}.layout-compact.input-touch .pause-screen nav,.layout-compact.input-pen .pause-screen nav{display:grid;gap:24px;grid-template-columns:repeat(3,128px);width:auto}.layout-compact.input-touch .pause-screen>.overline,.layout-compact.input-pen .pause-screen>.overline{font-size:28px}.layout-compact.input-touch .pause-screen .menu-button,.layout-compact.input-pen .pause-screen .menu-button{background:#f8fcff;border:3px solid rgba(38,59,83,.52);border-radius:22px;box-shadow:0 8px #263b532b;justify-content:center;min-height:128px;min-width:128px;padding:0;width:128px}.layout-portrait .game-screen,.layout-compact.input-touch .game-screen,.layout-compact.input-pen .game-screen{overscroll-behavior:none;touch-action:none}.layout-portrait .board,.layout-compact.input-touch .board,.layout-compact.input-pen .board{contain:layout style}.layout-portrait .player-sprite,.layout-portrait .crate-sprite,.layout-compact.input-touch .player-sprite,.layout-compact.input-touch .crate-sprite,.layout-compact.input-pen .player-sprite,.layout-compact.input-pen .crate-sprite{backface-visibility:hidden;will-change:left,top}@supports (translate: 1px 1px){.layout-portrait .player-sprite,.layout-portrait .crate-sprite,.layout-compact.input-touch .player-sprite,.layout-compact.input-touch .crate-sprite,.layout-compact.input-pen .player-sprite,.layout-compact.input-pen .crate-sprite{will-change:translate}}.layout-portrait .player-character,.layout-compact.input-touch .player-character,.layout-compact.input-pen .player-character{filter:none}.layout-portrait .player-shadow,.layout-portrait .crate-shadow,.layout-compact.input-touch .player-shadow,.layout-compact.input-touch .crate-shadow,.layout-compact.input-pen .player-shadow,.layout-compact.input-pen .crate-shadow{filter:none;opacity:.28}.layout-portrait .stuck-mark,.layout-compact.input-touch .stuck-mark,.layout-compact.input-pen .stuck-mark{animation:none}.layout-portrait .player-sprite:not(.walking) .player-character,.layout-compact.input-touch .player-sprite:not(.walking) .player-character,.layout-compact.input-pen .player-sprite:not(.walking) .player-character{animation:none}.layout-compact.input-touch .game-body,.layout-compact.input-pen .game-body{inset:0}.layout-compact.input-touch .board-rig,.layout-compact.input-pen .board-rig{z-index:3}.layout-compact.input-touch .room-copy,.layout-compact.input-pen .room-copy{background:transparent;border:0;border-radius:0;box-shadow:none;padding:18px 0;top:160px;transform:none;width:340px;z-index:5}.layout-compact.input-touch .room-kicker,.layout-compact.input-pen .room-kicker{padding-bottom:10px;position:static;transform:none}.layout-compact.input-touch .room-index,.layout-compact.input-touch .chapter-name,.layout-compact.input-pen .room-index,.layout-compact.input-pen .chapter-name{font-size:22px}.layout-compact.input-touch .room-copy h2,.layout-compact.input-pen .room-copy h2{font-size:50px;margin-bottom:14px}.layout-compact.input-touch .room-copy>p,.layout-compact.input-pen .room-copy>p{font-size:21px;line-height:1.45}.layout-compact.input-touch .room-copy.help-open>p,.layout-compact.input-pen .room-copy.help-open>p{display:block}.layout-compact.input-touch .hud-stats span,.layout-compact.input-pen .hud-stats span{font-size:18px}.layout-compact.input-touch .hud-stats strong,.layout-compact.input-pen .hud-stats strong{font-size:34px}.layout-compact.input-touch .help-actions,.layout-compact.input-pen .help-actions{align-items:center;flex-wrap:nowrap;gap:20px;margin-top:26px}.layout-compact.input-touch .hint-toggle,.layout-compact.input-pen .hint-toggle{align-items:center;background:transparent;border:0;box-shadow:none;color:var(--ink);flex-direction:row;font-size:16px;gap:8px;isolation:isolate;justify-content:center;letter-spacing:.1em;max-width:none;min-height:104px;min-width:124px;padding:0 12px;position:relative;white-space:nowrap;width:auto}.layout-compact.input-touch .hint-toggle:before,.layout-compact.input-pen .hint-toggle:before{background:#f8fcff;border:2px solid rgba(38,59,83,.46);border-bottom-width:5px;border-radius:14px;box-shadow:0 3px #263b531f;content:"";height:60px;inset:22px 0 auto;pointer-events:none;position:absolute;transition:transform 90ms ease,border-bottom-width 90ms ease,box-shadow 90ms ease,background 90ms ease;z-index:-1}.layout-compact.input-touch .hint-toggle:active,.layout-compact.input-pen .hint-toggle:active,.layout-compact.input-touch .hint-toggle.active,.layout-compact.input-pen .hint-toggle.active{background:transparent;border:0;box-shadow:none;transform:none}.layout-compact.input-touch .hint-toggle:active:before,.layout-compact.input-pen .hint-toggle:active:before,.layout-compact.input-touch .hint-toggle.active:before,.layout-compact.input-pen .hint-toggle.active:before{background:var(--plane);border-color:#263b53ad;border-bottom-width:2px;box-shadow:0 1px #263b531f;transform:translateY(3px)}.layout-compact.input-touch .hint-control,.layout-compact.input-pen .hint-control,.layout-compact.input-touch .steps-control,.layout-compact.input-pen .steps-control,.layout-compact.input-touch .hint-control.active,.layout-compact.input-pen .hint-control.active,.layout-compact.input-touch .steps-control.active,.layout-compact.input-pen .steps-control.active{color:var(--ink)}.layout-compact.input-touch .hint-toggle .keycap,.layout-compact.input-pen .hint-toggle .keycap{display:none}.layout-compact.input-touch .mobile-help-label,.layout-compact.input-pen .mobile-help-label{font-size:18px;font-weight:900;line-height:1}.layout-compact.input-touch .mobile-help-state,.layout-compact.input-pen .mobile-help-state{font-size:21px;font-weight:800;line-height:.8}.layout-compact.input-touch .help-content,.layout-compact.input-pen .help-content{background:transparent;border:0;box-shadow:none;max-height:none;overflow:visible;padding:0}.layout-compact.input-touch .help-content .hint-copy,.layout-compact.input-touch .help-content .solution-copy,.layout-compact.input-pen .help-content .hint-copy,.layout-compact.input-pen .help-content .solution-copy{border-left-width:5px;margin-top:16px;padding-left:14px}.layout-compact.input-touch .help-content .hint-copy>span,.layout-compact.input-touch .help-content .solution-copy>span,.layout-compact.input-pen .help-content .hint-copy>span,.layout-compact.input-pen .help-content .solution-copy>span{font-size:16px;margin-bottom:4px}.layout-compact.input-touch .help-content .hint-copy p,.layout-compact.input-pen .help-content .hint-copy p{font-size:21px;line-height:1.45}.layout-compact.input-touch .help-content .solution-steps,.layout-compact.input-pen .help-content .solution-steps{gap:5px}.layout-compact.input-touch .help-content .solution-steps i,.layout-compact.input-pen .help-content .solution-steps i{border-radius:6px;font-size:21px;height:27px;width:27px}.layout-compact.input-touch .help-content.help-stage-2 .hint-copy,.layout-compact.input-pen .help-content.help-stage-2 .hint-copy{display:block}.layout-compact.input-touch .help-content.help-stage-2 .solution-copy,.layout-compact.input-pen .help-content.help-stage-2 .solution-copy{margin-top:12px}.layout-compact.input-touch .help-content.help-stage-2 .solution-steps,.layout-compact.input-pen .help-content.help-stage-2 .solution-steps{flex-wrap:wrap;overflow:visible}.layout-compact.input-touch .game-footer:not(.cleared),.layout-compact.input-pen .game-footer:not(.cleared){bottom:18px;display:block;height:132px}.layout-compact.input-touch .footer-control-group,.layout-compact.input-pen .footer-control-group{display:none}.layout-compact.input-touch .mobile-action-rail,.layout-compact.input-pen .mobile-action-rail{bottom:20px;display:flex;justify-content:space-between;left:34px;pointer-events:none;position:absolute;right:34px;z-index:75}.layout-compact.input-touch .mobile-action-rail button,.layout-compact.input-pen .mobile-action-rail button{align-items:center;background:#f8fcff;border:2px solid rgba(38,59,83,.54);border-radius:24px;box-shadow:0 7px #263b5329;display:flex;flex-direction:column;font-size:21px;gap:4px;justify-content:center;min-height:112px;min-width:128px;padding:8px 12px;pointer-events:auto}.layout-portrait .tile.floor,.layout-compact.input-touch .tile.floor,.layout-compact.input-pen .tile.floor{border-width:4px;border-radius:11px}.layout-portrait .mobile-gesture-nudge,.layout-compact.input-touch .mobile-gesture-nudge,.layout-compact.input-pen .mobile-gesture-nudge{font-size:22px}.layout-portrait .push-preview{align-content:center;box-sizing:border-box;border-width:3px;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;height:88px;justify-content:stretch;min-height:88px;min-width:0;padding:9px 12px;row-gap:2px;width:100%}.layout-portrait .push-preview i{font-size:42px;left:12px}.layout-portrait .push-preview.direction-up i{top:8px}.layout-portrait .push-preview.direction-down i{bottom:8px}.layout-portrait .push-preview span{font-size:26px;grid-column:1;grid-row:1;justify-self:center;padding:0 48px}.layout-portrait .push-preview strong{font-size:26px;grid-column:1;grid-row:2;justify-self:center;line-height:1}.layout-portrait .push-preview.blocked{grid-template-rows:1fr}.layout-portrait .push-preview.blocked i,.layout-portrait .push-preview.blocked span{align-self:center;grid-row:1}.layout-compact.input-touch .push-preview span,.layout-compact.input-pen .push-preview span{font-size:22px}.layout-compact.input-touch .push-preview strong,.layout-compact.input-pen .push-preview strong{font-size:34px}.layout-compact.input-touch .push-preview,.layout-compact.input-pen .push-preview{align-content:center;box-sizing:border-box;border-width:3px;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;height:80px;justify-content:stretch;min-height:80px;min-width:0;padding:8px 12px;row-gap:2px;width:100%}.layout-compact.input-touch .push-preview i,.layout-compact.input-pen .push-preview i{font-size:38px;left:10px}.layout-compact.input-touch .push-preview.direction-up i,.layout-compact.input-pen .push-preview.direction-up i{top:7px}.layout-compact.input-touch .push-preview.direction-down i,.layout-compact.input-pen .push-preview.direction-down i{bottom:7px}.layout-compact.input-touch .push-preview span,.layout-compact.input-pen .push-preview span{grid-column:1;grid-row:1;justify-self:center;padding:0 44px}.layout-compact.input-touch .push-preview strong,.layout-compact.input-pen .push-preview strong{font-size:26px;grid-column:1;grid-row:2;justify-self:center;line-height:1}.layout-compact.input-touch .push-preview.blocked,.layout-compact.input-pen .push-preview.blocked{grid-template-rows:1fr}.layout-compact.input-touch .push-preview.blocked i,.layout-compact.input-touch .push-preview.blocked span,.layout-compact.input-pen .push-preview.blocked i,.layout-compact.input-pen .push-preview.blocked span{align-self:center;grid-row:1}.layout-compact.input-touch .push-preview-list,.layout-compact.input-pen .push-preview-list{display:grid;grid-template-columns:repeat(var(--preview-count),minmax(0,1fr));width:var(--preview-list-width)}.layout-compact.input-touch .board-rig,.layout-compact.input-pen .board-rig{--preview-panel-height: 80px}.layout-portrait .equation-pop{border-width:4px;border-radius:12px;font-size:42px;padding:13px 21px}.layout-compact.input-touch .equation-pop,.layout-compact.input-pen .equation-pop{border-width:4px;border-radius:11px;font-size:36px;padding:11px 18px}.layout-portrait .hint-copy>span,.layout-portrait .solution-copy>span{font-size:18px}.layout-portrait .hint-copy p{font-size:22px}.layout-portrait .solution-steps i{font-size:22px;height:40px;width:40px}.layout-compact.input-touch .game-footer.cleared,.layout-compact.input-pen .game-footer.cleared{bottom:20px;height:112px;left:34px;right:34px}.layout-compact.input-touch .room-complete-button,.layout-compact.input-pen .room-complete-button,.layout-compact.input-touch .footer-action,.layout-compact.input-pen .footer-action,.layout-compact.input-touch .final-completion button,.layout-compact.input-pen .final-completion button{min-height:112px}.layout-compact.input-touch .final-completion button,.layout-compact.input-pen .final-completion button{grid-template-columns:1fr}.layout-compact.input-touch .clear-completion-stack,.layout-compact.input-pen .clear-completion-stack{padding:38px 44px 42px;width:560px}.footer-control-group{gap:28px}.desktop-move-control,.clear-confirm-control{gap:7px}.desktop-move-control>span:last-child,.clear-confirm-control>span:last-child{margin-left:2px}.clear-confirm-control{color:var(--ink);justify-self:start}.footer-control-group>span,.footer-game-actions button{align-items:center;display:inline-flex;gap:8px}.footer-game-actions{gap:22px;justify-self:end}.footer-game-actions.clear-actions{justify-self:end}.footer-game-actions button{background:transparent;border:0;color:var(--muted);cursor:pointer;font-size:15px;font-weight:850;padding:8px 0}.footer-game-actions button:hover:not(:disabled),.footer-game-actions button:focus-visible:not(:disabled){color:var(--positive)}.footer-game-actions button:disabled{opacity:.26}.footer-action{align-items:center;background:transparent;border:0;color:var(--muted);cursor:pointer;display:inline-flex;font-size:15px;font-weight:850;gap:8px;justify-self:start;padding:8px 0}.footer-action:hover,.footer-action:focus-visible{color:var(--positive)}.pause-screen{align-items:center;animation:overlay-in .18s ease-out both;background:#09080cf2;display:flex;flex-direction:column;inset:0;justify-content:center;position:absolute;z-index:90}.pause-screen.instant{animation:none}.pause-screen h2{font-family:Quicksand,sans-serif;font-size:96px;font-weight:900;letter-spacing:-.04em;margin:12px 0 30px}.pause-screen>.overline{font-size:18px}.pause-screen nav{width:340px}.final-completion{animation:final-completion-in .3s var(--ease-pop) .18s both;background:radial-gradient(circle at 50% 0,rgba(255,205,74,.2),transparent 45%),#f8fcff;border:4px solid var(--black);border-radius:30px;box-shadow:0 17px #263b5333,0 0 0 9999px #e0eff4d1;left:50%;padding:52px 62px 58px;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);width:760px;z-index:95}.final-completion h2{color:var(--negative);font-size:66px;font-weight:900;letter-spacing:-.045em;line-height:.95;margin:14px 0 18px}.final-completion>.completion-copy{color:var(--muted);font-size:21px;font-weight:700;margin:0}.final-score{align-items:center;background:#eaf3fb;border:2px solid rgba(38,59,83,.18);border-radius:14px;display:flex;justify-content:center;gap:18px;margin:22px auto 0;min-height:64px;padding:10px 18px;width:430px}.final-score strong{font-size:21px;font-weight:900}.final-score span{color:var(--muted);font-size:15px;font-weight:850;letter-spacing:.08em}.final-completion>.thanks-for-playing{color:var(--yellow);font-size:19px;font-weight:900;letter-spacing:.12em;margin:24px 0 30px}.final-completion button{align-items:center;background:var(--black);border:0;border-radius:14px;box-shadow:0 7px #263b5333;color:#f8fcff;display:grid;grid-template-columns:1fr auto;margin:0 auto;min-height:78px;padding:12px 18px 12px 26px;text-align:center;transition:background .11s ease,transform .11s ease;width:410px}.final-completion button:hover,.final-completion button:focus-visible{background:#355779;transform:translateY(-2px)}.final-completion button>span{font-size:19px;font-weight:900}.final-completion button>.keycap{grid-column:2;grid-row:1}.back-button,.pause-icon{box-shadow:0 5px #263b532e}.keycap{background:#e8f2fb;border-color:#263b536b;color:var(--ink)}.game-footer .keycap{box-sizing:border-box;font-size:15px;height:42px;min-height:42px;min-width:44px;padding:0 9px}.board-shadow{background:#30527633;filter:blur(28px)}.board{box-shadow:0 13px #263b539e,0 28px 42px #31597e33}.tile.floor{box-shadow:inset -8px -8px #3e72971a,inset 3px 3px #ffffffad}.tile.wall{background:transparent;box-shadow:none}.push-preview{background:#f8fcffd6}.push-preview.primary{background:#f8fcfffa;box-shadow:0 5px #263b5329}.equation-pop{background:#f8fcff;box-shadow:0 6px #263b5333}.room-complete-button{background:#f8fcff;box-shadow:0 9px #263b5333,0 15px 28px #263b5321}.room-complete-button:hover,.room-complete-button:focus-visible{background:#e1edff}.pause-screen{background:radial-gradient(circle at 50% 37%,rgba(117,98,215,.17),transparent 28%),#f2f9faf7}.menu-button{border-color:#263b5338}.reduce-motion *,.reduce-motion *:before,.reduce-motion *:after{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important}.reduce-motion .splash-year,.reduce-motion .splash-rings,.reduce-motion .splash-particles,.reduce-motion .splash-scan{display:none}.reduce-motion .splash-logo-reveal,.reduce-motion .splash-kicker,.reduce-motion .splash-skip{animation:none!important;opacity:1}.reduce-motion .splash-logo-reveal{clip-path:inset(0);transform:translate(-50%,-50%)}.reduce-motion .morph-word{animation:none!important;background:transparent;border-color:transparent;box-shadow:none;height:106px;left:0;width:400px}.reduce-motion .morph-push{top:0}.reduce-motion .morph-to{top:103px}.reduce-motion .morph-zero{top:206px}.reduce-motion .morph-word .word{animation:none!important;opacity:1}.reduce-motion .morph-word .symbol,.reduce-motion .morph-result{display:none}@keyframes morph-push{0%,25%,86%,to{background:transparent;border-color:transparent;border-radius:0;box-shadow:none;height:106px;left:0;top:0;width:400px}37%,52%{background:var(--positive);border-color:var(--black);border-radius:11px;box-shadow:0 10px 0 var(--black);height:92px;left:0;top:228px;width:112px}60%,71%{background:var(--positive);border-color:var(--black);border-radius:11px;box-shadow:0 10px 0 var(--black);height:92px;left:138px;opacity:0;top:228px;width:112px}76%{opacity:0}}@keyframes morph-to{0%,25%,86%,to{background:transparent;border-color:transparent;box-shadow:none;height:106px;left:0;opacity:1;top:103px;width:400px}37%,52%{background:transparent;border-color:transparent;box-shadow:none;height:92px;left:126px;top:228px;width:74px}58%,76%{opacity:0}}@keyframes morph-zero{0%,25%,86%,to{background:transparent;border-color:transparent;border-radius:0;box-shadow:none;height:106px;left:0;top:206px;width:400px}37%,52%{background:var(--negative);border-color:var(--black);border-radius:11px;box-shadow:0 10px 0 var(--black);height:92px;left:250px;top:228px;width:112px}60%,71%{background:var(--negative);border-color:var(--black);border-radius:11px;box-shadow:0 10px 0 var(--black);height:92px;left:138px;opacity:0;top:228px;width:112px}76%{opacity:0}}@keyframes morph-word-label{0%,25%,86%,to{opacity:1}35%,78%{opacity:0}}@keyframes morph-symbol-label{0%,27%,80%,to{opacity:0}38%,55%{opacity:1}62%,76%{opacity:0}}@keyframes morph-result{0%,53%,82%,to{opacity:0;transform:scale(.45) rotate(-8deg)}62%{opacity:1;transform:scale(1.24) rotate(3deg)}68%,75%{opacity:1;transform:scale(1) rotate(0)}}@keyframes demo-crate-pulse{0%{transform:translateY(0) rotate(-1deg)}to{transform:translateY(-5px) rotate(1deg)}}@keyframes formula-full-cycle{0%,24%{opacity:1;transform:scale(1)}29%,79%{opacity:0;transform:scale(.96)}84%,to{opacity:1;transform:scale(1)}}@keyframes formula-solo-cycle{0%,25%{opacity:0}29%,78%{opacity:1}83%,to{opacity:0}}@keyframes formula-two-cycle{0%,27%{opacity:0;transform:translate(-50%) scale(.78)}30%,40%{opacity:1;transform:translate(-50%) scale(1)}44%,to{opacity:0;transform:translate(calc(-50% + 18px)) scale(.86,1.08)}}@keyframes formula-one-cycle{0%,43%{opacity:0;transform:translate(calc(-50% - 14px)) scale(.8,1.08)}47%,56%{opacity:1;transform:translate(-50%) scale(1)}60%,to{opacity:0;transform:translate(calc(-50% + 18px)) scale(.86,1.08)}}@keyframes formula-zero-cycle{0%,59%{opacity:0;transform:translate(calc(-50% - 14px)) scale(.8,1.08)}63%,76%{opacity:1;transform:translate(-50%) scale(1)}80%,to{opacity:0;transform:translate(-50%) scale(1.08)}}@keyframes formula-pusher-cycle{0%,34%,43%,50%,59%,to{opacity:0;transform:translate(0) scale(.8)}37%,53%{opacity:1;transform:translate(38px) scale(1.12)}41%,57%{opacity:0;transform:translate(60px) scale(.86)}}.app-viewport{cursor:url(../assets/cursors/kenney/pointer-a.png) 8 6,default}.app-viewport button:not(:disabled),.app-viewport.game-input-active .board{cursor:url(../assets/cursors/kenney/hand-point.png) 13 5,pointer}.app-viewport button:disabled{cursor:url(../assets/cursors/kenney/cursor-disabled.png) 8 6,not-allowed}@keyframes player-step{0%{transform:scale(1.04,.96)}56%{transform:translateY(calc(var(--tile) * -.005)) scale(.98,1.015)}to{transform:none}}@keyframes character-idle{0%,to{transform:translate(-50%) translateY(0) scale(1)}45%{transform:translate(-50%) translateY(calc(var(--tile) * -.025)) scale(1.015,.985)}}@keyframes character-walk-down{0%{background-position:0 0;transform:translate(-50%) translateY(calc(var(--tile) * -.0494))}30%{background-position:9.0909% 0;transform:translate(-50%)}64%{background-position:18.1818% 0;transform:translate(-50%)}to{background-position:9.0909% 0;transform:translate(-50%)}}@keyframes character-walk-right{0%{background-position:27.2727% 0;transform:translate(-50%) translateY(calc(var(--tile) * -.0494))}30%{background-position:36.3636% 0;transform:translate(-50%)}64%{background-position:45.4545% 0;transform:translate(-50%)}to{background-position:36.3636% 0;transform:translate(-50%)}}@keyframes character-walk-up{0%{background-position:54.5455% 0;transform:translate(-50%) translateY(calc(var(--tile) * -.0494))}30%{background-position:63.6364% 0;transform:translate(-50%)}64%{background-position:72.7273% 0;transform:translate(-50%)}to{background-position:63.6364% 0;transform:translate(-50%)}}@keyframes character-walk-left{0%{background-position:81.8182% 0;transform:translate(-50%) translateY(calc(var(--tile) * -.0494))}30%{background-position:90.9091% 0;transform:translate(-50%)}64%{background-position:100% 0;transform:translate(-50%)}to{background-position:90.9091% 0;transform:translate(-50%)}}@keyframes number-tick{0%{transform:scale(1.42) rotate(-8deg)}to{transform:scale(1)}}@keyframes crate-push{0%{transform:scale(1.18,.72)}62%{transform:scale(.88,1.16)}to{transform:none}}@keyframes crate-merge{0%{filter:brightness(1.5);transform:translate(-18%) scale(.72,1.18)}45%{transform:scale(1.28,.82) rotate(4deg)}72%{transform:scale(.92,1.07) rotate(-2deg)}to{filter:none;transform:none}}@keyframes crate-bump{0%,to{transform:translate(0)}50%{transform:translate(7px) rotate(2deg)}}@keyframes rig-bump{0%,to{transform:translate(-50%,-50%)}35%{transform:translate(calc(-50% - 7px),-50%)}70%{transform:translate(calc(-50% + 4px),-50%)}}@keyframes rig-zero{0%,to{transform:translate(-50%,-50%) scale(1)}35%{transform:translate(-50%,-50%) scale(1.018)}60%{transform:translate(-50%,-50%) scale(.996)}}@keyframes rig-merge{0%,to{transform:translate(-50%,-50%)}30%{transform:translate(calc(-50% - 5px),-50%) rotate(-.18deg)}62%{transform:translate(calc(-50% + 5px),-50%) rotate(.18deg)}}@keyframes preview-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes help-panel-in{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@keyframes tile-place{0%{filter:brightness(1.15);opacity:0;transform:translateY(-18px) scale(.72) rotate(-2deg)}68%{filter:brightness(1.06);opacity:1;transform:translateY(3px) scale(1.04) rotate(.5deg)}to{filter:none;opacity:1;transform:none}}@keyframes wall-foundation-place{0%{filter:brightness(1.12);opacity:0;transform:translateY(-10px) scale(.97)}72%{filter:brightness(1.05);opacity:1;transform:translateY(2px) scale(1.008)}to{filter:none;opacity:1;transform:none}}@keyframes actor-place{0%{filter:brightness(1.18);opacity:0;transform:translateY(-28px) scale(.68) rotate(-4deg)}62%{filter:brightness(1.08);opacity:1;transform:translateY(4px) scale(1.07) rotate(1deg)}82%{transform:translateY(-2px) scale(.98)}to{filter:none;opacity:1;transform:none}}@keyframes player-place{0%{filter:brightness(1.18);opacity:0;transform:translateY(-8%) scale(.82) rotate(-2deg)}62%{filter:brightness(1.08);opacity:1;transform:translateY(.5%) scale(1.015) rotate(.4deg)}82%{transform:translateY(-.5%) scale(.99)}to{filter:brightness(1);opacity:1;transform:none}}@keyframes equation-pop{0%{opacity:0;transform:translate(-50%,10%) scale(.72)}12%{opacity:1;transform:translate(-50%,-55%) scale(1.1)}72%{opacity:1;transform:translate(-50%,-84%) scale(1)}86%{opacity:1;transform:translate(-50%,-96%) scale(1)}to{opacity:0;transform:translate(-50%,-130%) scale(.94)}}@keyframes zero-pop{0%{opacity:1;transform:scale(.88) rotate(-3deg)}16%{opacity:1;transform:scale(1.12) rotate(2deg)}28%,62%{opacity:1;transform:scale(1) rotate(0)}78%{opacity:1;transform:scale(1.18) rotate(2deg)}to{opacity:0;transform:scale(1.55) rotate(-3deg)}}@keyframes shard-fly{0%{opacity:1;transform:rotate(var(--angle)) translateY(0)}to{opacity:0;transform:rotate(var(--angle)) translateY(calc(var(--tile) * -.76)) rotate(180deg)}}@keyframes warning-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}@keyframes note-in{0%{opacity:0;transform:translate(-50%,7px) scale(.96)}to{opacity:1;transform:translate(-50%) scale(1)}}@keyframes clear-button-in{0%{opacity:0;transform:translateY(9px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes clear-panel-in{0%{opacity:0;transform:translateY(18px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes clear-badge-pop{0%{opacity:0;transform:translateY(18px) rotate(-12deg) scale(.35)}68%{opacity:1;transform:translateY(-5px) rotate(8deg) scale(1.12)}to{opacity:1;transform:translateY(0) rotate(6deg) scale(1)}}@keyframes clear-badge-ring{0%{opacity:.78;transform:scale(.72)}to{opacity:0;transform:scale(1.24)}}@keyframes clear-badge-star{0%{opacity:0;transform:rotate(-28deg) scale(.2)}72%{opacity:1;transform:rotate(8deg) scale(1.28)}to{opacity:1;transform:rotate(0) scale(1)}}@keyframes final-completion-in{0%{opacity:0;transform:translate(-50%,calc(-50% + 18px)) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}@keyframes splash-split{0%{opacity:0;transform:scaleX(.03) rotate(-2deg)}42%{opacity:1;transform:scaleX(.08) rotate(-1deg)}to{opacity:1;transform:scaleX(1) rotate(0)}}@keyframes splash-vignette{0%{opacity:.65;transform:scale(1)}to{opacity:1;transform:scale(1.035)}}@keyframes splash-leave{0%{filter:brightness(1);opacity:1;transform:scale(1)}55%{filter:brightness(1.35);opacity:1}to{filter:brightness(1.6);opacity:0;transform:scale(1.025)}}@keyframes splash-aurora{0%{opacity:0;transform:rotate(-18deg) scale(.72)}38%{opacity:.8}to{opacity:.42;transform:rotate(26deg) scale(1.16)}}@keyframes splash-ring{0%{opacity:0;transform:scale(.28)}48%{opacity:1}to{opacity:0;transform:scale(1.25)}}@keyframes splash-digit-in{0%{filter:blur(14px);opacity:0;transform:translateY(120px) rotate(11deg) scale(.58)}68%{filter:blur(0);opacity:1;transform:translateY(-12px) rotate(-2deg) scale(1.06)}to{filter:blur(0);opacity:1;transform:translateY(0) rotate(0) scale(1)}}@keyframes splash-year-away{0%{filter:blur(0);opacity:1;transform:scale(1)}55%{filter:blur(0);opacity:1;transform:scale(.82)}to{filter:blur(12px);opacity:0;transform:scale(.3)}}@keyframes splash-logo-in{0%{clip-path:inset(0 49.8% 0 49.8%);filter:drop-shadow(0 0 0 rgba(0,0,0,0));opacity:0;transform:translate(-50%,-50%) scale(.76)}42%{clip-path:inset(0 34% 0 34%);opacity:1}78%{clip-path:inset(0);transform:translate(-50%,-50%) scale(1.045)}to{clip-path:inset(0);filter:drop-shadow(0 28px 38px rgba(0,0,0,.46));opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes splash-logo-pulse{0%{opacity:0;transform:scale(.45)}45%{opacity:.75}to{opacity:0;transform:scale(1.4)}}@keyframes splash-scan{0%{opacity:0;transform:translate(0) skew(-12deg)}18%{opacity:1}to{opacity:0;transform:translate(720px) skew(-12deg)}}@keyframes splash-particle{0%{opacity:0;transform:rotate(var(--angle)) translateY(0) scale(.4)}20%{opacity:1}to{opacity:0;transform:rotate(var(--angle)) translateY(-360px) rotate(210deg) scale(1)}}@keyframes splash-copy-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@keyframes scene-out{0%{filter:saturate(1);opacity:1;transform:translateY(0) scale(1)}to{filter:saturate(.88);opacity:0;transform:translateY(-8px) scale(.992)}}@keyframes scene-in{0%{filter:saturate(.88);opacity:0;transform:translateY(10px) scale(.992)}to{filter:saturate(1);opacity:1;transform:translateY(0) scale(1)}}
