@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:600 900;font-display:swap;src:url('fonts/BarlowCondensed-ExtraBold.ttf') format('truetype')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:100 1000;font-display:swap;src:url('fonts/DM-Sans.ttf') format('truetype')}
@font-face{font-family:'Space Mono';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/SpaceMono-Regular.ttf') format('truetype')}
@font-face{font-family:'Space Mono';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/SpaceMono-Bold.ttf') format('truetype')}

:root{--paper:#f2eee3;--ink:#282822;--muted:#89877b;--red:#e94d38;--gold:#efd776;--line:#d7d3c7;--display:'Barlow Condensed',Impact,'Arial Narrow',sans-serif;--body:'DM Sans',Arial,sans-serif;--mono:'Space Mono',monospace}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased}body:before{content:'';position:fixed;inset:0;pointer-events:none;opacity:.15;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23958d79' opacity='.2' filter='url(%23n)' d='M0 0h160v160H0z'/%3E%3C/svg%3E")}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid var(--red);outline-offset:4px}button:disabled{opacity:.45;cursor:default}button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.page-shell{max-width:1500px;margin:auto;padding:0 48px}.masthead{height:92px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:13px;color:inherit;text-decoration:none;font-size:13px;letter-spacing:.5px;font-weight:900}.brand-sub{display:block;font-family:var(--mono);font-size:7px;font-weight:400;letter-spacing:1px;margin-top:5px;color:#77786e}.brand-ball{height:35px;width:35px;border:2px solid var(--ink);border-radius:50%;background:var(--red);transform:rotate(-15deg);display:flex;align-items:center;justify-content:flex-end;padding-right:5px;gap:2px;box-shadow:-3px 3px 0 #282822}.brand-ball i{display:block;width:7px;height:10px;background:#fff7de;border-radius:50%;border:1px solid var(--ink);position:relative}.brand-ball i:after{content:'';width:2px;height:4px;background:var(--ink);position:absolute;right:1px;top:3px;border-radius:50%}.jam-tag{font-family:var(--mono);font-size:10px;letter-spacing:1px;display:flex;align-items:center;gap:10px}.tiny-star{font-size:25px;color:var(--red);line-height:1}.edition{font-family:var(--mono);font-size:10px;letter-spacing:.8px;display:flex;align-items:center;gap:7px}.status-dot,.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--red)}.edition-number{color:var(--muted);margin-left:6px}.arcade-layout{display:grid;grid-template-columns:minmax(210px,1fr) minmax(300px,520px) minmax(195px,1fr);gap:clamp(28px,3.8vw,64px);align-items:center;padding:28px 0 24px;max-width:1260px;margin:auto}.intro-panel{padding-bottom:14px}.eyebrow{display:flex;align-items:center;gap:7px;font-family:var(--mono);font-size:9px;letter-spacing:1px;font-weight:700}.eyebrow>span{width:17px;height:2px;background:var(--red)}h1{font-family:var(--display);font-size:clamp(48px,5vw,75px);line-height:.91;letter-spacing:-1px;font-weight:800;margin:22px 0 20px}h1 em{color:var(--red);font-style:normal}h1 .title-dot{color:var(--red)}.intro-copy{font-size:13px;line-height:1.7;color:#76776e;letter-spacing:-.2px}.paper-note{background:var(--gold);border:1px solid #c8af54;box-shadow:2px 3px 0 #d3cbb5;transform:rotate(-5deg);padding:13px 14px;max-width:222px;display:flex;align-items:center;gap:10px;margin:32px 0;font:800 13px/1.15 var(--display);letter-spacing:.4px}.note-star{font-size:32px;line-height:1}.note-arrow{font:36px var(--body);margin-left:auto}.micro-label{font-family:var(--mono);font-size:8px;letter-spacing:1.15px;font-weight:400}.control-reference{border-top:1px solid var(--line);padding-top:22px;max-width:240px}.control-options{display:flex;align-items:center;gap:9px;margin-top:12px}.control-options kbd{font:700 9px var(--mono);border:1px solid #aaa99d;border-bottom:3px solid #aaa99d;border-radius:4px;padding:6px 12px;background:#faf6ec}.control-options>span{font-size:10px;display:flex;align-items:center;gap:4px;color:#7a7b70}.control-options svg{height:19px;width:23px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.control-reference p{font-size:11px;line-height:1.8;color:#89897f;margin:12px 0 0}.game-column{width:100%;max-width:calc((100dvh - 226px)*.75);justify-self:center}.cabinet-topline{display:flex;align-items:center;justify-content:space-between;margin:0 1px 10px;height:23px}.cabinet-topline>span{font-family:var(--mono);font-size:9px;letter-spacing:1.7px;display:flex;align-items:center;gap:7px}.live-dot{width:5px;height:5px}.utility-controls{display:flex;gap:9px}.icon-button{background:transparent;border:0;padding:3px;display:flex;align-items:center;justify-content:center;color:#74776b;border-radius:3px}.icon-button:hover{color:var(--red);background:#e4dfd2}.icon-button svg{width:16px;height:16px}.game-machine{border:3px solid var(--ink);border-radius:9px;overflow:hidden;background:#e9dfc3;box-shadow:7px 7px 0 var(--ink);position:relative;user-select:none;-webkit-user-select:none}.viewport{aspect-ratio:3/4;position:relative;overflow:hidden;background:#ecd8ad;touch-action:none}canvas{display:block;width:100%;height:100%;touch-action:none;outline:none!important}.hud{position:absolute;inset:18px 20px auto;display:flex;justify-content:space-between;pointer-events:none;z-index:2}.hud-score,.hud-depth{display:flex;flex-direction:column;gap:2px}.hud span:not(.up-arrow),.hud-depth>span{font:8px var(--mono);letter-spacing:1.5px;color:#8c6144}.hud strong{font:700 27px var(--mono);letter-spacing:-1.7px;color:#4b3829}.hud-depth{text-align:right}.hud-depth strong>span{font:700 21px var(--mono)!important;letter-spacing:-1px!important;color:#4b3829!important}.hud-depth small{font:11px var(--mono);letter-spacing:0;margin-left:3px}.hud-depth .up-arrow{font:24px var(--body)!important;margin-left:4px}.game-overlay{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;flex-direction:column}.start-copy{position:absolute;top:17%;width:100%;padding:0 14px;text-align:center;pointer-events:none}.scene-eyebrow{font:7.5px var(--mono);letter-spacing:1.5px;color:#876647}.start-copy h2{font:800 clamp(27px,3vw,44px)/.95 var(--display);letter-spacing:-.4px;margin:14px 0 13px;color:#44372b}.start-copy h2 span{color:#d74731}.start-copy p{font-size:9px;color:#876647}.start-bottom{position:absolute;bottom:6.5%;width:78%;text-align:center}.primary-button{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;background:var(--red);color:#fff7e7;border:2px solid #472f24;border-radius:4px;box-shadow:3px 3px 0 #472f24;padding:16px 19px;font:700 17px var(--display);letter-spacing:.8px;transition:transform .12s,box-shadow .12s}.primary-button:hover{background:#f25a42;transform:translate(-1px,-1px);box-shadow:4px 4px 0 #472f24}.primary-button:active{transform:translate(3px,3px);box-shadow:0 0 0 #472f24}.primary-button svg{height:19px;width:19px}.start-bottom>span{display:block;font:6.5px var(--mono);letter-spacing:.9px;color:#8c7250;margin-top:14px}.jump-button{display:flex;align-items:center;justify-content:center;gap:11px;width:100%;height:66px;background:#eee6d0;border:0;border-top:3px solid var(--ink);position:relative;overflow:hidden;touch-action:none}.jump-button:before{content:'';position:absolute;inset:0;background:var(--gold);transform:scaleX(var(--charge,0));transform-origin:left;transition:background .1s;opacity:.8}.jump-button.charging:before{background:#f2be63}.jump-icon{font-size:30px;font-family:var(--body);z-index:1;font-weight:500}.jump-label{font:600 16px var(--display);letter-spacing:1px;position:relative;z-index:1}.jump-label b{color:var(--red);font-weight:800}.charge-indicator{display:flex;gap:2px;height:16px;width:21px;border:1px solid #aaa188;margin-left:8px;padding:2px;position:relative;z-index:1;align-items:flex-end}.charge-indicator i{display:block;background:#d35538;width:100%;height:var(--charge,0%)}.under-cabinet{display:flex;align-items:center;justify-content:space-between;font:6.5px var(--mono);letter-spacing:.3px;color:#8a897c;margin:17px 0 0 2px;gap:12px;white-space:nowrap}.key-dot{display:inline-block;background:#8c9d76;width:4px;height:4px;border-radius:50%;margin-right:3px}.under-cabinet>span:last-child{font-size:6px}.field-guide{max-width:244px;width:100%;justify-self:end;padding-top:5px}.best-card{border:1px solid #cecdbe;padding:17px 18px;background:rgba(255,255,255,.15);position:relative}.best-card:before{content:'';position:absolute;inset:-4px 5px 4px -5px;border:1px solid #e0ddcf;z-index:-1;transform:rotate(2deg)}.best-card>div{display:flex;align-items:center;gap:13px;margin:12px 0 9px}.trophy{font-size:23px;color:#a9975d}.best-card strong{font:700 clamp(23px,2.3vw,31px) var(--mono);letter-spacing:-2px}.best-caption{font:6.5px var(--mono);letter-spacing:.6px;color:#959386}.guide-heading{display:flex;align-items:center;justify-content:space-between;margin:34px 0 15px}.guide-heading>span:last-child{font-size:23px;transform:rotate(15deg)}.guide-good{display:flex;align-items:center;gap:12px;border:1px solid #b7bc9d;background:#e6e8d7;padding:14px 10px}.guide-good h3,.enemy-row h3{font-size:11px;margin:0 0 4px;font-weight:800}.guide-good p,.enemy-row p{font-size:8px;line-height:1.6;color:#828477;margin:0}.brick-icon{display:flex;flex-wrap:wrap;width:32px;gap:2px;flex-shrink:0;transform:rotate(-8deg)}.brick-icon i{width:14px;height:11px;background:#cb8b52;border:1px solid #76452e;border-radius:1px}.brick-icon i:last-child{margin-left:8px}.good-mark{font-size:18px;color:#7a865c;margin-left:auto}.bad-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;font:7px var(--mono);letter-spacing:.7px;color:#9b8370;margin:22px 0 10px;white-space:nowrap}.bad-heading>span{height:1px;background:#d8cebc;flex:1}.enemy-row{display:flex;align-items:center;gap:12px;padding:7px 0}.enemy-icon{width:44px;height:40px;flex-shrink:0}.enemy-row:nth-child(2) .enemy-icon{transform:rotate(-7deg)}.enemy-row:nth-child(3) .enemy-icon{transform:rotate(8deg)}.guide-footnote{border-top:1px solid var(--line);padding-top:13px;margin:15px 0 0;font-size:8px;color:#929081;line-height:1.8;font-style:italic}.satisfaction-seal{margin-top:27px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;display:flex;gap:11px;align-items:center;transform:rotate(-3deg);color:#827f68}.satisfaction-seal>span{font:700 29px var(--display);letter-spacing:-.8px}.satisfaction-seal>div{font:8px/1.5 var(--mono);letter-spacing:1px}.satisfaction-seal>i{font:32px var(--body);margin-left:auto}.page-footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:51px;font:6.5px var(--mono);letter-spacing:.7px;color:#99988a}.page-footer b{font-weight:400;color:#686b5f}.footer-help{border:0;background:none;font:8px var(--mono);letter-spacing:.7px;padding:10px 0;color:#78796b}.footer-help:hover{color:var(--red)}.footer-help span{margin-left:8px}.footer-theme{display:flex;gap:5px;align-items:center}.footer-theme b{margin-right:8px}.combo-badge{position:absolute;left:50%;transform:translate(-50%,-15px) scale(.8);top:74px;background:#ecce63;color:#4a3a28;border:1.5px solid #6d5739;padding:5px 9px;font:7px var(--mono);letter-spacing:.8px;opacity:0;pointer-events:none;transition:.2s}.combo-badge.visible{transform:translate(-50%,0) scale(1);opacity:1}.combo-badge>span{font:800 17px var(--display);vertical-align:middle;margin-right:5px}.toast{position:absolute;top:28%;left:50%;transform:translate(-50%,10px);max-width:86%;width:max-content;text-align:center;padding:10px 14px;background:#fff3d8ed;border:1px solid #c4ab7f;font:10px/1.5 var(--mono);color:#725638;pointer-events:none;opacity:0;transition:.2s;z-index:5;border-radius:3px}.toast.visible{opacity:1;transform:translate(-50%,0)}.overlay-card{width:84%;text-align:center;background:#f6edd8f7;border:2px solid #6d5239;box-shadow:5px 5px 0 #674c3440;padding:30px 23px;position:relative;border-radius:4px}.overlay-card h2{font:800 54px/.95 var(--display);color:#d94c35;margin:13px 0 15px;letter-spacing:-.5px}.overlay-card p{font-size:11px;line-height:1.7;color:#89735b;margin:0 0 22px}.overlay-card .primary-button{font-size:15px;padding:14px 15px;text-align:left}.text-button{border:0;background:none;font:9px var(--mono);text-decoration:underline;text-underline-offset:3px;margin-top:20px}.run-stats{display:grid;grid-template-columns:1.5fr 1fr 1fr;padding:17px 0;border-top:1px solid #d7c9ae;border-bottom:1px solid #d7c9ae;margin-bottom:21px}.run-stats>div{display:flex;flex-direction:column;gap:7px}.run-stats span{font:7px var(--mono);letter-spacing:1px;color:#8a765e}.run-stats strong{font:700 22px var(--mono);letter-spacing:-1px;color:#4b3829}.retry-hint{display:block;font:7px var(--mono);color:#9c8768;margin-top:16px}.death-stamp{position:absolute;top:-21px;left:50%;transform:translateX(-50%) rotate(-5deg);font:700 11px var(--mono);white-space:nowrap;padding:7px 10px;border:2px solid #ac4f3c;color:#ac4f3c;background:#f1e2c9}.new-best{font:7px var(--mono);letter-spacing:.4px;color:#a78034;margin:-7px 0 16px}.hidden{display:none!important}#pause-overlay{backdrop-filter:blur(3px);background:#ead5ad60}#end-overlay{background:#ead5ad60;backdrop-filter:blur(2px)}dialog{border:2px solid var(--ink);border-radius:5px;background:var(--paper);color:var(--ink);padding:37px 35px;max-width:480px;width:calc(100% - 32px);box-shadow:7px 7px 0 var(--ink)}dialog::backdrop{background:#28251c88;backdrop-filter:blur(4px)}dialog h2{font:800 46px/.94 var(--display);margin:20px 0;color:var(--red)}dialog ol{padding-left:18px;font-size:12px;line-height:1.7}dialog li{padding-left:3px;margin-bottom:14px}dialog>p{font-size:11px;line-height:1.7;color:#878575}dialog .primary-button{margin-top:25px}.dialog-close{position:absolute;right:10px;top:5px;background:none;border:0;font-size:28px}.game-column:fullscreen{max-width:none;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--paper);padding:20px}.game-column:fullscreen .game-machine{width:min(540px,calc((100dvh - 145px)*.75))}.game-column:fullscreen .cabinet-topline{width:min(540px,calc((100dvh - 145px)*.75))}.game-column:fullscreen .under-cabinet{width:min(540px,calc((100dvh - 145px)*.75))}
@media(min-width:1550px){.arcade-layout{gap:75px}.game-column{max-width:520px}h1{font-size:82px}}
@media(max-width:1130px){.page-shell{padding:0 28px}.arcade-layout{gap:28px;grid-template-columns:minmax(170px,1fr) minmax(290px,450px) minmax(165px,.8fr)}h1{font-size:59px}.field-guide{max-width:206px}.best-card{padding:14px}.enemy-row{gap:7px}.enemy-row p{font-size:7.5px}.guide-good{padding:11px 8px;gap:8px}.guide-good p{font-size:7px}.micro-label{font-size:7px}.under-cabinet>span:last-child{display:none}.paper-note{padding:11px 10px;font-size:12px}.control-options{gap:6px}.control-options>span{font-size:8px}.jam-tag{font-size:8px}.guide-heading{margin-top:25px}}
@media(max-width:900px){.arcade-layout{grid-template-columns:minmax(160px,1fr) minmax(300px,480px);gap:35px;max-width:760px}.field-guide{display:none}.game-column{max-width:calc((100dvh - 216px)*.75)}.masthead{height:78px}.jam-tag{display:none}.page-footer{min-height:48px}.footer-theme{display:none}h1{font-size:clamp(48px,7vw,69px)}}
@media(max-width:600px){.page-shell{padding:0 15px}.masthead{height:60px;gap:10px}.brand{font-size:10px;gap:9px}.brand-ball{width:27px;height:27px;box-shadow:-2px 2px 0 var(--ink)}.brand-ball i{width:5px;height:8px}.brand-sub{font-size:5.5px;letter-spacing:.7px;margin-top:3px}.edition{font-size:7px;gap:5px;letter-spacing:.3px}.edition-number{margin-left:1px}.status-dot{width:4px;height:4px}.arcade-layout{display:flex;flex-direction:column;padding:14px 0 16px;gap:0}.intro-panel{display:none}.game-column{max-width:min(100%,calc((100dvh - 177px)*.75));min-width:min(100%,245px)}.cabinet-topline{margin-bottom:8px;height:20px}.cabinet-topline>span{font-size:8px}.icon-button svg{height:16px;width:16px}.game-machine{box-shadow:5px 5px 0 var(--ink);border-radius:7px}.jump-button{height:58px}.jump-label{font-size:15px}.jump-icon{font-size:26px}.under-cabinet{margin-top:13px;font-size:6px;justify-content:center}.under-cabinet>span:last-child{display:none}.page-footer{min-height:35px;gap:10px;align-items:center;font-size:5px;letter-spacing:.2px}.page-footer>span:first-child{max-width:230px;line-height:1.8}.page-footer>span:first-child b{display:block}.footer-help{font-size:6.5px;letter-spacing:.2px;white-space:nowrap}.footer-help span{margin-left:2px}.hud{inset:13px 14px auto}.hud strong{font-size:23px}.hud span:not(.up-arrow){font-size:6px}.hud-depth strong>span{font-size:19px!important}.start-copy h2{font-size:clamp(28px,9vw,43px)}.start-copy p{font-size:8px}.scene-eyebrow{font-size:6px;letter-spacing:1px}.primary-button{padding:13px 14px;font-size:15px}.start-bottom{width:80%;bottom:6%}.start-bottom>span{font-size:5.5px;letter-spacing:.5px}.overlay-card{padding:22px 18px}.overlay-card h2{font-size:44px}.overlay-card p{font-size:9px;margin-bottom:15px}.overlay-card .primary-button{font-size:13px}.run-stats{padding:13px 0;margin-bottom:16px}.run-stats strong{font-size:18px}.run-stats span{font-size:6px}.retry-hint{font-size:6px}.death-stamp{font-size:9px}.combo-badge{top:62px}dialog{padding:30px 25px}dialog h2{font-size:40px}}
@media(max-width:600px) and (max-height:660px){.masthead{height:48px}.game-column{max-width:calc((100dvh - 153px)*.75)}.arcade-layout{padding-top:9px;padding-bottom:12px}.under-cabinet{margin-top:10px}.jump-button{height:48px}.start-copy{top:19%}.start-copy h2{font-size:29px}.hud strong{font-size:20px}.start-bottom .primary-button{padding:10px;font-size:12px}.start-copy p{font-size:7px}.overlay-card h2{font-size:35px}.overlay-card{padding:18px 13px}.overlay-card .primary-button{padding:11px;font-size:11px}.run-stats{padding:9px 0}.overlay-card p{font-size:8px}.under-cabinet{font-size:5px}}
@media(max-height:650px) and (min-width:601px){.masthead{height:60px}.arcade-layout{padding-top:15px;padding-bottom:15px}.game-column{max-width:calc((100dvh - 177px)*.75)}h1{font-size:44px;margin:15px 0}.intro-copy{font-size:11px}.paper-note{margin:16px 0}.control-reference{padding-top:14px}.field-guide .satisfaction-seal,.guide-footnote{display:none}.guide-heading{margin-top:15px}.enemy-row{padding:3px 0}.enemy-icon{width:35px;height:33px}.best-card{padding:10px}.page-footer{min-height:38px}.jump-button{height:48px}.start-copy h2{font-size:30px}.start-copy p{font-size:7px}.scene-eyebrow{font-size:5.5px}.start-bottom .primary-button{padding:11px;font-size:12px}.hud strong{font-size:23px}.start-bottom>span{font-size:5px}.under-cabinet{margin-top:12px}.overlay-card{padding:19px 14px}.overlay-card h2{font-size:36px}.overlay-card p{font-size:8px}.overlay-card .primary-button{font-size:11px;padding:11px}.run-stats{padding:10px 0}.run-stats strong{font-size:17px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* The cabinet stays fully on screen at laptop heights; side notes tighten around it. */
@media(min-width:601px){.masthead{height:76px}.arcade-layout{padding-top:20px;padding-bottom:20px}.game-column{max-width:calc((100dvh - 272px)*.75)}.page-footer{min-height:43px}}
@media(min-width:901px) and (max-height:820px){h1{font-size:55px;margin:16px 0}.intro-copy{font-size:11px;line-height:1.65}.paper-note{margin:22px 0;padding:11px 10px}.control-reference{padding-top:16px}.control-reference p{font-size:9px;line-height:1.7;margin-top:9px}.control-reference .micro-label{font-size:6.5px}.control-options{margin-top:9px}.intro-panel{padding-bottom:0}.field-guide{padding-top:0}.best-card{padding:13px 15px}.best-card>div{margin:8px 0}.guide-heading{margin:21px 0 10px}.guide-good{padding:10px}.bad-heading{margin:16px 0 6px}.enemy-row{padding:4px 0}.enemy-icon{height:35px;width:39px}.guide-footnote{padding-top:10px;margin-top:10px}.satisfaction-seal{margin-top:16px;padding:9px 0}}
@media(min-width:601px) and (max-height:720px){.masthead{height:64px}.arcade-layout{padding-top:16px;padding-bottom:16px}.game-column{max-width:calc((100dvh - 246px)*.75)}h1{font-size:47px}.paper-note{margin:17px 0;max-width:205px}.guide-footnote,.satisfaction-seal{display:none}.field-guide{max-width:225px}.guide-heading{margin-top:18px}.best-card{padding:12px}.control-reference{padding-top:14px}.control-reference p{font-size:9px}.jump-button{height:58px}.under-cabinet{margin-top:13px}.page-footer{min-height:38px}}
@media(max-width:600px){.game-column{max-width:min(100%,calc((100dvh - 232px)*.75))}}
@media(max-width:600px) and (max-height:660px){.game-column{max-width:calc((100dvh - 212px)*.75);min-width:0}}
.hud{left:16.5%;right:16.5%}.hud-score,.hud-depth{text-shadow:0 1px #f6e6c8}
@media(min-width:601px) and (max-height:820px){.overlay-card{padding:23px 20px}.overlay-card h2{font-size:39px;margin:12px 0}.overlay-card p{font-size:10px;margin-bottom:17px}.run-stats{padding:13px 0;margin-bottom:18px}.overlay-card .primary-button{padding:13px;font-size:13px}.run-stats strong{font-size:20px}}
.power-status{position:absolute;bottom:17px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;background:#fff0b9ed;border:1.5px solid #b18a39;border-radius:4px;padding:9px 12px 13px;color:#7b5b25;box-shadow:2px 2px 0 #8e6b2a33;pointer-events:none;z-index:2;white-space:nowrap}.power-status b{font:800 15px var(--display);letter-spacing:1px}.power-star{font-size:20px;line-height:1;color:#b58a29}#power-seconds{font:700 11px var(--mono);margin-left:4px}.power-track{position:absolute;height:3px;bottom:0;left:0;right:0;background:#dcc992;overflow:hidden}.power-track i{display:block;background:#b38827;height:100%;width:100%;transition:width .1s linear}.power-status.expiring{animation:power-warning .45s ease-in-out infinite alternate}@keyframes power-warning{to{background:#ffe097;border-color:#d19638}}.pellet-guide{display:flex;align-items:center;gap:12px;padding:12px 3px 0}.pellet-guide-icon{flex-shrink:0;display:grid;place-items:center;width:27px;height:27px;background:#ffe58b;border:1px solid #b18a39;border-radius:50%;color:#b58a29;box-shadow:0 0 0 4px #e9c75420;font-size:22px}.pellet-guide h3{font-size:10px;margin:0 0 4px;font-weight:800}.pellet-guide p{font-size:8px;line-height:1.6;color:#8d826a;margin:0}
@media(min-width:901px) and (max-height:820px){.field-guide .guide-heading{margin-top:15px}.field-guide .enemy-row{padding:3px 0}.field-guide .bad-heading{margin-top:13px}.pellet-guide{padding-top:10px}.pellet-guide p{font-size:7.5px}}
@media(max-width:600px){.power-status{bottom:13px;padding:7px 10px 11px;gap:6px}.power-status b{font-size:13px}.power-star{font-size:17px}#power-seconds{font-size:10px}}
@media(prefers-reduced-motion:reduce){.power-status.expiring{animation:none}.power-track i{transition:none}}
.brick-guide-art{width:35px;height:33px;flex-shrink:0;transform:rotate(-8deg)}.hud-score,.hud-depth{background:linear-gradient(#fff7e5e3,#f6ead4ce);border:1px solid #b9a17b7a;border-radius:4px;padding:4px 7px;box-shadow:1px 2px 0 #8c77551a}.hud{top:14px}.hud-score>span,.hud-depth>span{color:#80654b!important}.hud strong{color:#57412f}.hud-depth strong>span{color:#57412f!important}
@media(max-width:600px){.hud{top:11px}.hud-score,.hud-depth{padding:3px 6px}.brick-guide-art{width:32px;height:30px}}

/* A little arcade ticket for a spectacularly bad decision. */
#end-overlay{--result-accent:#ca7650;background:#694d3670;backdrop-filter:blur(4px);padding:14px 0;isolation:isolate}
#end-overlay:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 13% 23%,#ffe8a780 0 2px,transparent 3px),radial-gradient(circle at 88% 74%,#ffe8a780 0 3px,transparent 4px),radial-gradient(ellipse at center,#ffedbc33,transparent 75%);pointer-events:none}
#end-overlay .result-card{width:90%;max-height:calc(100% - 12px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;padding:20px 17px 14px;border:2px solid #694b34;border-radius:8px;background:linear-gradient(135deg,#fff8e7,#f4e6c8);box-shadow:5px 6px 0 #382d2490,inset 0 0 0 4px #fff9e55c;text-align:center}
#end-overlay:not(.hidden)~.toast{display:none}
#end-overlay:not(.hidden) .result-card{animation:result-enter .36s cubic-bezier(.17,.89,.3,1.25) both}
#end-overlay .result-culprit{position:absolute;left:5px;top:5px;width:32px;height:32px;transform:rotate(-12deg);opacity:.9;pointer-events:none}
#end-overlay .death-stamp{position:relative;top:auto;left:auto;display:table;margin:-9px auto 9px;transform:rotate(-5deg);padding:4px 9px;background:#f7e7c8;color:#96553a;border:2px solid var(--result-accent);border-radius:2px;font:700 8px var(--mono);letter-spacing:.7px;box-shadow:2px 2px 0 #a3764430}
#end-overlay .scene-eyebrow{display:block;font-size:6px;line-height:1.5;letter-spacing:1px;color:#9b8161;padding:0 5px}
#end-overlay h2{font-size:37px;line-height:.94;margin:7px 0 8px;letter-spacing:-.4px;text-shadow:1px 2px #ecd4aa}
#end-overlay #death-description{font-size:9px;line-height:1.45;margin:0 0 11px;color:#8d7255}
.result-score{position:relative;display:flex;align-items:center;flex-direction:column;padding:10px 4px 9px;background:linear-gradient(#51402e,#3a3026);border:2px solid #332a23;border-radius:5px;box-shadow:inset 0 2px 0 #ffffff16,0 3px 0 #d5bd94;overflow:visible}
.result-score-label{font:7px var(--mono);letter-spacing:2px;color:#d6bf91}
#end-overlay .result-score>strong{display:block;font:700 35px/1.22 var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-1.8px;color:#fff0bb;text-shadow:0 2px #1f1a17;margin:2px 0;white-space:nowrap}
.score-note{font:6px/1.5 var(--mono);letter-spacing:.35px;color:#c2aa87;min-height:9px}
#end-overlay .new-best{position:absolute;right:-8px;top:-10px;margin:0;transform:rotate(7deg);font:800 10px var(--display);letter-spacing:.7px;color:#684421;background:#f7d66c;border:1.5px solid #9c7433;padding:4px 7px;box-shadow:2px 2px 0 #1f1a1740}
#end-overlay:not(.hidden) .new-best{animation:record-stamp .4s .8s cubic-bezier(.1,.8,.3,1.3) both}
#end-overlay .result-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;border:0;padding:0;margin:11px 0 12px}
#end-overlay .result-stats>div{position:relative;gap:3px;padding:7px 2px 6px;border:1px solid #ccb58f;border-radius:4px;background:#fff8e680;box-shadow:0 2px 0 #cbb38a40}
#end-overlay .result-stats strong{font:700 19px/1.1 var(--mono);letter-spacing:-.8px;color:#5b412d;white-space:nowrap}
#end-overlay .result-stats span:not(.stat-symbol){font:5.5px/1.3 var(--mono);letter-spacing:.3px;color:#957c5b}
#end-overlay .result-stats strong #final-altitude{font:inherit;color:inherit;letter-spacing:inherit}
#end-overlay .result-stats strong small{font-size:9px;margin-left:1px;font-weight:400}
#end-overlay .result-stats .stat-symbol{position:absolute;right:5px;top:3px;font-size:9px;color:#b7935e;opacity:.65}
#end-overlay:not(.hidden) .result-stats>div{animation:stat-arrive .32s .2s backwards}
#end-overlay:not(.hidden) .result-stats>div:nth-child(2){animation-delay:.28s}
#end-overlay:not(.hidden) .result-stats>div:nth-child(3){animation-delay:.36s}
#end-overlay .result-retry{position:relative;display:flex;align-items:center;gap:9px;width:100%;padding:11px 10px;background:#e75b40;border:2px solid #743c2c;border-radius:4px;box-shadow:0 5px 0 #89442f;color:#fff6dc;text-shadow:0 1px #a4402a;overflow:hidden;transition:transform .12s,box-shadow .12s,background .12s}
#end-overlay .retry-copy{display:flex;flex-direction:column;gap:3px;text-align:left;position:relative;z-index:1}
#end-overlay .retry-copy b{font:800 16px/1 var(--display);letter-spacing:.6px;white-space:nowrap}
#end-overlay .retry-copy small{font:5px/1.2 var(--mono);letter-spacing:.6px;color:#ffd2ac}
#end-overlay .retry-orbit{display:grid;place-items:center;flex-shrink:0;width:25px;height:25px;border:1px solid #ffddad88;border-radius:50%;font:25px/1 var(--display);transition:transform .25s}
#end-overlay .retry-arrow{margin-left:auto;font-size:21px;line-height:1}
#end-overlay .result-retry:before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,#fff5cb30 45%,transparent 60%);transform:translateX(-130%);pointer-events:none}
#end-overlay.results-complete .result-retry:before{animation:retry-gleam 3.2s .4s ease-in-out infinite}
#end-overlay .result-retry:hover{background:#f06a49;transform:translateY(-2px);box-shadow:0 7px 0 #89442f}
#end-overlay .result-retry:hover .retry-orbit{transform:rotate(-35deg)}
#end-overlay .result-retry:active{transform:translateY(4px);box-shadow:0 1px 0 #89442f}
#end-overlay .result-retry:focus-visible{outline:3px solid #edbe55;outline-offset:3px}
#end-overlay .retry-hint{font:5.5px/1.5 var(--mono);letter-spacing:.3px;margin-top:12px;color:#9c8160}
#end-overlay .retry-hint kbd{font:inherit;border:1px solid #cdb991;padding:1px 3px;border-radius:2px;background:#fff7df}
.result-announcement{position:absolute;width:1px;height:1px;margin:-1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
#end-overlay.results-complete .result-score>strong{animation:score-lock .32s cubic-bezier(.15,.85,.3,1.5) both}
@keyframes result-enter{from{opacity:0;transform:translateY(15px) scale(.88) rotate(-2deg)}to{opacity:1;transform:none}}
@keyframes stat-arrive{from{opacity:0;transform:translateY(9px) rotate(-4deg)}to{opacity:1;transform:none}}
@keyframes record-stamp{from{opacity:0;transform:scale(1.6) rotate(15deg)}to{opacity:1;transform:scale(1) rotate(7deg)}}
@keyframes score-lock{0%{transform:scale(1)}40%{transform:scale(1.1);color:#ffe27a}100%{transform:scale(1);color:#fff0bb}}
@keyframes retry-gleam{0%,65%,100%{transform:translateX(-130%)}35%{transform:translateX(130%)}}
@media(max-width:600px){#end-overlay .result-card{padding:16px 14px 12px}#end-overlay h2{font-size:34px}#end-overlay .result-score>strong{font-size:33px}#end-overlay #death-description{font-size:8px}#end-overlay .result-retry{padding:10px 9px}}
@media(max-height:660px){#end-overlay .result-card{padding:12px 10px 10px}#end-overlay h2{font-size:29px;margin:5px 0 6px}#end-overlay #death-description{font-size:7px;margin-bottom:8px}#end-overlay .death-stamp{font-size:7px;margin-bottom:6px}#end-overlay .result-score{padding:7px 3px}#end-overlay .result-score>strong{font-size:28px}#end-overlay .result-stats{margin:8px 0 10px}#end-overlay .result-stats>div{padding:5px 2px}#end-overlay .result-retry{padding:8px}#end-overlay .retry-copy b{font-size:14px}#end-overlay .retry-hint{margin-top:10px}}
@media(prefers-reduced-motion:reduce){#end-overlay *,#end-overlay *:before{animation:none!important;transition:none!important}}
@media(max-height:600px){#end-overlay .result-card{padding:10px 9px 9px}#end-overlay h2{font-size:27px;margin:4px 0 5px}#end-overlay #death-description{line-height:1.35;margin-bottom:6px}#end-overlay .result-score{padding:5px 3px}#end-overlay .result-stats{margin:7px 0 9px}#end-overlay .result-stats>div{padding:4px 2px}#end-overlay .result-retry{gap:7px}#end-overlay .retry-copy b{font-size:13px}}

/* The title lands in three beats. The play control is ready from the first frame. */
.viewport.is-menu .hud{visibility:hidden}
#start-overlay{background:linear-gradient(#f3e6c912,transparent 70%)}
#start-overlay .start-copy{top:11%;left:8%;width:84%;padding:0 8px;isolation:isolate}
#start-overlay .start-copy:before{content:'';position:absolute;inset:-20px -10px -14px;z-index:-1;background:radial-gradient(ellipse,#fff3dbe8 25%,#f8ecd5b0 60%,#f8ecd500 76%);pointer-events:none}
.start-ticket{display:table;margin:0 auto;padding:5px 8px;border-top:1px solid #b38e5e;border-bottom:1px solid #b38e5e;font:6px/1.3 var(--mono);letter-spacing:.9px;color:#8c6846;transform:rotate(-3deg)}
#start-overlay .start-title{display:flex;flex-direction:column;align-items:center;margin:12px 0 10px;font-weight:800;line-height:.9;letter-spacing:-.6px;color:#523c2b;text-shadow:1px 2px 0 #fff9e9,-1px -1px 0 #fff9e9,3px 4px 0 #aa7e4d30}
#start-overlay .start-title>span{display:block;transform-origin:50% 75%;color:inherit}
#start-overlay .start-title .start-title-risk{font-size:29px;letter-spacing:-.3px}
#start-overlay .start-title .start-title-breaks{font-size:40px;letter-spacing:.1px;margin-top:4px}
#start-overlay .start-title .start-title-brick{position:relative;color:#e65339;font-size:76px;letter-spacing:-1px;margin-top:1px;text-shadow:1px 1px 0 #fff0d0,3px 4px 0 #a3493338;z-index:0}
#start-overlay .start-title-brick:after{content:'';position:absolute;height:10px;background:#efcb68;bottom:-2px;left:-10px;right:-10px;z-index:-1;transform:rotate(-3deg);border:1px solid #bb914b66}
#start-overlay .start-title-dot{color:#543b2c}
#start-overlay:not(.hidden) .start-title-risk{animation:title-pop .55s cubic-bezier(.16,.78,.3,1.3) both}
#start-overlay:not(.hidden) .start-title-breaks{animation:title-pop .55s .09s cubic-bezier(.16,.78,.3,1.3) both}
#start-overlay:not(.hidden) .start-title-brick{animation:brick-slam .6s .18s cubic-bezier(.16,.78,.3,1.25) both}
#start-overlay .start-tagline{font:italic 10px/1.4 var(--body);color:#8b6849;margin:0 0 10px}
.start-controls{display:inline-flex;align-items:center;gap:7px;font:6px var(--mono);letter-spacing:.7px;color:#826342}
.start-controls>span{background:#fff4dacc;border:1px solid #cdb58b;border-radius:3px;padding:4px 5px;box-shadow:0 2px 0 #ba9a6d25}
.start-controls>i{font-size:10px;font-style:normal;color:#bc8650}
.start-shards{position:absolute;inset:43% 0 auto;height:55px;pointer-events:none}
.start-shards>i{position:absolute;top:50%;left:50%;width:10px;height:6px;background:#d58c58;border:1px solid #95613d;border-radius:1px;--chip-x:-105px;--chip-y:-24px;--chip-turn:-65deg;opacity:0}
.start-shards>i:nth-child(2){--chip-x:112px;--chip-y:-34px;--chip-turn:80deg;background:#efbf75;width:8px;height:8px}
.start-shards>i:nth-child(3){--chip-x:-122px;--chip-y:27px;--chip-turn:-120deg;width:7px;height:5px}
.start-shards>i:nth-child(4){--chip-x:105px;--chip-y:38px;--chip-turn:130deg;background:#f0cb85}
.start-shards>i:nth-child(5){--chip-x:-65px;--chip-y:-60px;--chip-turn:35deg;width:5px;height:5px}
.start-shards>i:nth-child(6){--chip-x:74px;--chip-y:-54px;--chip-turn:95deg;width:5px;height:5px}
#start-overlay:not(.hidden) .start-shards>i{animation:title-chips .65s .37s ease-out both}
#start-overlay .start-bottom{bottom:5%;width:84%}
#start-overlay .start-play{position:relative;justify-content:flex-start;align-items:center;gap:10px;padding:10px 11px;border:2px solid #75412b;background:linear-gradient(#f06a49,#e9563b);box-shadow:0 5px 0 #8b482f,0 7px 0 #f8df9d77;border-radius:5px;overflow:hidden;transition:transform .13s,box-shadow .13s,filter .13s}
.start-play-copy{display:flex;flex-direction:column;gap:4px;text-align:left;position:relative;z-index:1}
#start-overlay .start-play-copy b{font:800 18px/1 var(--display);letter-spacing:.5px;color:#fff5dc;white-space:nowrap;text-shadow:0 1px #a64b30}
#start-overlay .start-play-copy small{font:5px/1 var(--mono);letter-spacing:.6px;color:#ffd8b4}
#start-overlay .start-play-arrow{margin-left:auto;font:27px/1 var(--display);position:relative;z-index:1;transition:transform .15s}
.start-button-ball{display:flex;align-items:center;justify-content:flex-end;gap:2px;width:29px;height:29px;flex-shrink:0;padding-right:3px;background:#eb6b48;border:2px solid #723f2b;border-radius:50%;box-shadow:inset -3px -4px 0 #c64a32,0 0 0 2px #ffe3a8;transform:rotate(-15deg);transition:transform .18s cubic-bezier(.15,.8,.3,1.4)}
.start-button-ball>i{width:6px;height:10px;border-radius:50%;background:#fff5da;position:relative;border:1px solid #895138}
.start-button-ball>i:after{content:'';width:2px;height:4px;position:absolute;right:0;top:3px;background:#4e3525;border-radius:50%}
#start-overlay .start-play:before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,#fff3bf33 45%,transparent 60%);transform:translateX(-130%);pointer-events:none}
#start-overlay:not(.hidden) .start-play:before{animation:start-gleam 3.6s 1.2s ease-in-out infinite}
#start-overlay .start-play:hover{transform:translateY(-2px);box-shadow:0 7px 0 #8b482f,0 9px 0 #f8df9d77;filter:brightness(1.05)}
#start-overlay .start-play:hover .start-button-ball{transform:rotate(8deg) scale(1.16,.86)}
#start-overlay .start-play:hover .start-play-arrow{transform:translate(2px,-2px)}
#start-overlay .start-play:active{transform:translateY(4px);box-shadow:0 1px 0 #8b482f}
#start-overlay .start-play:active .start-button-ball{transform:rotate(-8deg) scale(1.3,.7)}
#start-overlay .start-play:focus-visible{outline:3px solid #e9bd57;outline-offset:4px}
#start-overlay .start-input-hint{display:block;font:6px/1.5 var(--mono);letter-spacing:.5px;color:#8c714e;margin-top:12px}
.start-input-hint kbd{font:inherit;border:1px solid #bda27a;background:#fff1d2;border-radius:2px;padding:1px 3px}
.start-input-hint i{display:inline-block;color:#c28d47;font-style:normal;margin-left:5px}
@keyframes title-pop{0%{opacity:0;transform:translateY(12px) scale(.76) rotate(-4deg)}65%{opacity:1;transform:translateY(-2px) scale(1.06) rotate(1deg)}100%{opacity:1;transform:none}}
@keyframes brick-slam{0%{opacity:0;transform:translateY(-20px) scale(1.2,.8) rotate(3deg)}48%{opacity:1;transform:translateY(4px) scale(1.09,.85) rotate(-2deg)}73%{transform:translateY(-2px) scale(.98,1.05) rotate(.5deg)}100%{opacity:1;transform:none}}
@keyframes title-chips{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}15%{opacity:1}100%{opacity:0;transform:translate(var(--chip-x),var(--chip-y)) rotate(var(--chip-turn)) scale(.7)}}
@keyframes start-gleam{0%,65%,100%{transform:translateX(-130%)}35%{transform:translateX(130%)}}
@media(max-width:600px){#start-overlay .start-copy{top:10%}#start-overlay .start-title .start-title-risk{font-size:27px}#start-overlay .start-title .start-title-breaks{font-size:36px}#start-overlay .start-title .start-title-brick{font-size:67px}#start-overlay .start-play-copy b{font-size:17px}.start-ticket{font-size:5.5px;letter-spacing:.7px}}
@media(max-height:660px){#start-overlay .start-copy{top:9%}#start-overlay .start-title{margin:9px 0 8px}#start-overlay .start-title .start-title-risk{font-size:24px}#start-overlay .start-title .start-title-breaks{font-size:31px}#start-overlay .start-title .start-title-brick{font-size:55px}#start-overlay .start-tagline{font-size:8px;margin-bottom:8px}.start-ticket{font-size:5px;padding:4px 5px}.start-controls{font-size:5px;gap:4px}.start-controls>span{padding:3px 4px}#start-overlay .start-play{gap:8px;padding:8px 9px}#start-overlay .start-play-copy b{font-size:15px}#start-overlay .start-play-copy small{font-size:4.5px}.start-button-ball{width:26px;height:26px}#start-overlay .start-play-arrow{font-size:24px}#start-overlay .start-input-hint{font-size:5px;margin-top:10px}}
@media(max-height:600px){#start-overlay .start-copy{top:8%}#start-overlay .start-bottom{bottom:4%}#start-overlay .start-title .start-title-risk{font-size:22px}#start-overlay .start-title .start-title-breaks{font-size:29px}#start-overlay .start-title .start-title-brick{font-size:49px}#start-overlay .start-tagline{font-size:7px}#start-overlay .start-play{padding:8px}#start-overlay .start-play-copy b{font-size:14px}#start-overlay .start-play-copy small{font-size:4px}.start-ticket{letter-spacing:.3px}}
@media(prefers-reduced-motion:reduce){#start-overlay *,#start-overlay *:before{animation:none!important;transition:none!important}.start-shards{display:none}}

/* A tiny intermission. The ticket breathes; the entire run stays frozen. */
#pause-overlay{background:#67492c63;backdrop-filter:blur(3px);padding:12px}
#pause-overlay .pause-card{width:88%;max-width:350px;padding:14px 18px 12px;border:2px solid #765136;border-radius:5px;background:linear-gradient(125deg,#fff5db,#f4e4bf);box-shadow:6px 7px 0 #422f2659,0 0 0 4px #f5d99240;color:#694a32}
#pause-overlay:not(.hidden) .pause-card{animation:pause-ticket-in .36s cubic-bezier(.16,.75,.25,1.25) both}
.pause-card:before,.pause-card:after{content:'';position:absolute;width:9px;height:9px;border:1px solid #98713e;background:#e9c86e;top:-5px;transform:rotate(45deg)}
.pause-card:before{left:16px}.pause-card:after{right:16px}
.pause-ticket{display:flex;align-items:center;justify-content:space-between;border-bottom:1px dashed #bca073;padding-bottom:8px;font:6px/1 var(--mono);letter-spacing:.7px}
.pause-ticket>span{display:flex;align-items:center;gap:5px;font-weight:700}.pause-ticket svg{width:9px;height:10px;fill:none;stroke:#ac6b34}
.pause-ticket>i{font-style:normal;color:#a78650;font-size:5px;letter-spacing:.4px}
#pause-overlay .pause-portrait{width:136px;height:65px;display:block;margin:7px auto 0;overflow:visible}
.pause-napper{transform-origin:77px 54px}.pause-snooze{transform-origin:115px 24px}
#pause-overlay:not(.hidden) .pause-napper{animation:pause-breathe 2.8s ease-in-out infinite}
#pause-overlay:not(.hidden) .pause-snooze{animation:pause-snooze 2.8s ease-in-out infinite}
#pause-overlay .scene-eyebrow{display:block;font:6px/1.4 var(--mono);letter-spacing:1.1px;color:#977648;margin-top:5px}
#pause-overlay h2{font:900 64px/.84 var(--display);letter-spacing:-1px;color:#d95236;margin:5px 0 9px;text-shadow:1px 1px 0 #fff3cb,3px 3px 0 #d6ae6e;transform:rotate(-3deg)}
#pause-overlay p{font:9px/1.4 var(--body);margin:0 0 12px;color:#8b6d4d}
.pause-stats{display:grid;grid-template-columns:1.4fr 1fr 1fr;border-top:1px dashed #c8ad80;border-bottom:1px dashed #c8ad80;padding:8px 0;margin-bottom:13px;gap:4px}
.pause-stats>div{display:flex;flex-direction:column;justify-content:center;gap:4px;border-right:1px solid #d8c39b;min-width:0}.pause-stats>div:last-child{border:0}
.pause-stats strong{font:800 24px/.95 var(--display);color:#775231;font-variant-numeric:tabular-nums;white-space:nowrap}
.pause-stats strong small{font:9px/1 var(--mono);margin-left:2px;color:#a7834f}
.pause-stats>div>span{font:5px/1 var(--mono);letter-spacing:.8px;color:#a08257}
#pause-overlay .pause-resume{width:100%;min-height:44px;display:flex;align-items:center;gap:9px;padding:11px 10px;background:#dc5339;border:1px solid #a2462f;border-radius:4px;box-shadow:0 5px 0 #924930,0 7px 0 #d3b17677;color:#fff2d2;position:relative;overflow:hidden;transition:transform .13s,box-shadow .13s,filter .13s}
.pause-resume>span:nth-child(2){display:flex;flex-direction:column;gap:4px;min-width:0}
#pause-overlay .pause-resume b{font:800 18px/1 var(--display);letter-spacing:.2px;white-space:nowrap}
#pause-overlay .pause-resume small{font:4.7px/1 var(--mono);letter-spacing:.6px;color:#ffd6ad}
#pause-overlay .resume-disc{width:27px;height:27px;border-radius:50%;background:#f3b568;color:#a44c2d;display:grid;place-items:center;flex-shrink:0;box-shadow:0 2px 0 #ac4b2e;transition:transform .18s cubic-bezier(.2,.8,.3,1.4)}
#pause-overlay .resume-disc svg{width:16px;height:16px;fill:#fff1c7;stroke:#9d542e;stroke-width:1.5}
#pause-overlay .pause-resume>i{font:24px/1 var(--display);font-style:normal;margin-left:auto;transition:transform .15s}
#pause-overlay .pause-resume:before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,#fff1b52b 45%,transparent 60%);transform:translateX(-130%);pointer-events:none}
#pause-overlay:not(.hidden) .pause-resume:before{animation:start-gleam 3.6s 1s ease-in-out infinite}
#pause-overlay .pause-resume:hover{transform:translateY(-2px);box-shadow:0 7px 0 #924930;filter:brightness(1.05)}
#pause-overlay .pause-resume:hover .resume-disc{transform:rotate(-10deg) scale(1.12)}
#pause-overlay .pause-resume:hover>i{transform:translateX(3px)}
#pause-overlay .pause-resume:active{transform:translateY(4px);box-shadow:0 1px 0 #924930}
#pause-overlay .pause-resume:active .resume-disc{transform:scale(1.2,.8)}
#pause-overlay .pause-resume:focus-visible{outline:2px solid #bb872f;outline-offset:4px}
#pause-overlay .text-button{font:7px/1.3 var(--mono);margin-top:16px;color:#8c6a49;padding:4px;min-height:24px}
.pause-input-hint{display:block;font:5px/1.5 var(--mono);letter-spacing:.2px;color:#9f8053;margin-top:2px}
.pause-input-hint kbd{font:inherit;background:#fbedcb;border:1px solid #cdb186;border-radius:2px;padding:0 2px}
.is-paused .hud,.is-paused .combo-badge,.is-paused .power-status,.is-paused .power-status *{animation-play-state:paused!important}
.is-paused .toast{visibility:hidden}
.viewport.is-paused+.jump-button{background:#e7d8b7;color:#a18b65}.viewport.is-paused+.jump-button .jump-label b{color:#a87941}.viewport.is-paused+.jump-button .jump-icon{opacity:.35}
.resume-pop{position:absolute;top:22%;left:50%;z-index:2;pointer-events:none;opacity:0;white-space:nowrap;background:#ffe8a6;border:1px solid #ad7939;box-shadow:3px 3px 0 #6f4c3440;padding:6px 10px;color:#98623b;font:700 8px/1 var(--mono);letter-spacing:.4px;transform:translate(-50%,8px) rotate(-4deg)}
.resume-pop>span{color:#d99436;margin-left:4px}
.is-resuming .resume-pop{animation:resume-pop .7s ease-out both}
@keyframes pause-ticket-in{0%{opacity:0;transform:translateY(16px) scale(.87) rotate(-4deg)}65%{opacity:1;transform:translateY(-2px) scale(1.025) rotate(1deg)}100%{opacity:1;transform:none}}
@keyframes pause-breathe{0%,100%{transform:scale(1.025,.965) rotate(-3deg)}50%{transform:scale(.98,1.025) rotate(-1deg)}}
@keyframes pause-snooze{0%,100%{opacity:.45;transform:translateY(2px)}50%{opacity:1;transform:translateY(-3px)}}
@keyframes resume-pop{0%{opacity:0;transform:translate(-50%,10px) scale(.8) rotate(-7deg)}18%,65%{opacity:1;transform:translate(-50%,0) scale(1) rotate(-4deg)}100%{opacity:0;transform:translate(-50%,-12px) scale(.95) rotate(-4deg)}}
@media(max-width:600px){#pause-overlay .pause-card{width:90%;padding:12px 15px 10px}#pause-overlay .pause-resume b{font-size:17px}}
@media(max-height:660px){#pause-overlay .pause-card{padding:10px 12px 8px}#pause-overlay .pause-portrait{width:114px;height:54px;margin-top:5px}#pause-overlay h2{font-size:56px}#pause-overlay p{font-size:8px;margin-bottom:9px}.pause-stats{padding:7px 0;margin-bottom:11px}.pause-stats strong{font-size:22px}#pause-overlay .pause-resume{padding:9px 8px;gap:7px}#pause-overlay .pause-resume b{font-size:16px}#pause-overlay .text-button{margin-top:13px}}
@media(max-height:600px){#pause-overlay{padding:8px}#pause-overlay .pause-card{width:94%;padding:9px 11px 7px}.pause-ticket{padding-bottom:6px;font-size:5.5px}.pause-ticket>i{font-size:4.5px}#pause-overlay .pause-portrait{width:102px;height:48px;margin-top:3px}#pause-overlay .scene-eyebrow{font-size:5px;margin-top:2px}#pause-overlay h2{font-size:48px;margin:4px 0 7px}#pause-overlay p{font-size:7.5px;margin-bottom:8px}.pause-stats{padding:6px 0;margin-bottom:10px}.pause-stats strong{font-size:20px}#pause-overlay .pause-resume{padding:8px;gap:7px}#pause-overlay .pause-resume b{font-size:15px}#pause-overlay .pause-resume small{font-size:4.3px}#pause-overlay .resume-disc{width:24px;height:24px}#pause-overlay .text-button{font-size:6px;margin-top:11px}.pause-input-hint{font-size:4.5px}}
@media(prefers-reduced-motion:reduce){#pause-overlay *,#pause-overlay *:before{animation:none!important;transition:none!important}.resume-pop{display:none}}

/* A pocket-sized power marquee. Gold stays readable all the way to zero. */
.power-status{bottom:17px;gap:9px;padding:9px 12px 13px;border:2px solid #ad7c2f;background:linear-gradient(125deg,#fff4bf,#f3d171);box-shadow:0 3px 0 #946b2c66,0 0 0 3px #ffe8a140;transition:box-shadow .15s,scale .15s;isolation:isolate}
.power-copy{display:flex;flex-direction:column;gap:3px;text-align:left}.power-copy small{font:5px/1 var(--mono);letter-spacing:.7px;color:#a17d37}.power-status b{font-size:17px;line-height:1;letter-spacing:.8px;color:#805c25}
.power-star{display:grid;place-items:center;width:26px;height:26px;background:#e9bc4e;border:1px solid #c09339;border-radius:50%;box-shadow:inset 0 0 0 2px #fff0a0;color:#fff4b6;text-shadow:1px 1px #aa7d28;font-size:21px}
#power-seconds{font:800 26px/1 var(--display);color:#8d6529;min-width:23px;text-align:right;margin-left:4px;font-variant-numeric:tabular-nums}
.power-track{height:4px;background:#cfa75055}.power-track i{background:linear-gradient(90deg,#c99131,#fff1a7);box-shadow:0 0 5px #fff2ad;transition:width .09s linear}
.power-status.power-impact{scale:1.045;box-shadow:0 4px 0 #946b2c66,0 0 0 5px #fff1b566}
.power-status.expiring{animation:power-low .65s ease-in-out infinite alternate;border-color:#b47833}.power-status.expiring .power-copy small{color:#a16e35}.power-status.expiring b{color:#9b6028;font-size:16px}
@keyframes power-low{to{box-shadow:0 3px 0 #946b2c66,0 0 0 4px #e4a44955;background:#f3ce83}}
@media(max-width:600px){.power-status{bottom:13px;padding:8px 10px 12px;gap:7px}.power-status b{font-size:16px}.power-status.expiring b{font-size:15px}.power-copy small{font-size:4.5px;letter-spacing:.5px}#power-seconds{font-size:24px}.power-star{width:24px;height:24px;font-size:19px}}
@media(max-height:600px){.power-status{bottom:11px;padding:7px 8px 10px;gap:6px}.power-status b{font-size:14px}.power-status.expiring b{font-size:13px}.power-copy small{font-size:4px;letter-spacing:.3px}#power-seconds{font-size:22px}.power-star{width:22px;height:22px;font-size:17px}}
@media(prefers-reduced-motion:reduce){.power-status,.power-status.expiring,.power-track i{animation:none;transition:none}.power-status.power-impact{scale:1}}

/* The scoreboard rolls; points and streak timing remain authoritative. */
.hud{left:15%;right:15%;top:12px;align-items:flex-start;gap:12px}
.hud-score{position:relative;min-width:0;padding:6px 9px 7px;border:1.5px solid #b38a4f;background:linear-gradient(125deg,#fff8df,#f2dfb1);box-shadow:0 3px 0 #8d683e55,0 0 0 2px #fff0c840;transform:translateY(calc(var(--score-kick,0)*-1.5px)) scale(calc(1 + var(--score-kick,0)*.045));transform-origin:50% 70%;isolation:isolate}
.hud .hud-score>span:first-child{display:flex;justify-content:space-between;align-items:center;font:6px/1.3 var(--mono);letter-spacing:1.6px;color:#977343!important}
.hud-score>span>i{font-style:normal;color:#d3a449;font-size:10px;line-height:.8;margin-left:12px}
.hud #score{font:800 33px/.95 var(--display);letter-spacing:.5px;color:#69472d;white-space:nowrap;font-variant-numeric:tabular-nums;text-shadow:0 1px #fff5cd}
.hud .long-score #score{font-size:27px;letter-spacing:0}
.hud #score-gain{position:absolute;right:-4px;top:calc(100% - 2px);border:1px solid #b6863a;border-radius:2px;background:#f7d57c;box-shadow:1px 2px 0 #a6753433;padding:2px 6px;font:800 15px/1 var(--display);letter-spacing:.5px;color:#9d6129!important;opacity:0;transform:translateY(4px) rotate(-5deg);white-space:nowrap;transition:opacity .1s,transform .15s;z-index:1}
.hud .has-gain #score-gain{opacity:var(--gain-fade,1);transform:translateY(0) rotate(-5deg)}
.hud .hud-depth{padding:5px 7px;border-color:#bda07b99;box-shadow:0 2px 0 #8d683e22;background:#fff4dddf;flex-shrink:0}
.hud .hud-depth>span{font-size:6px;letter-spacing:1.4px}
.combo-badge{--combo-kick:0;--combo-accent:#b57b32;top:100px;z-index:2;display:flex;align-items:center;gap:7px;width:max-content;max-width:75%;padding:7px 12px 9px 8px;background:linear-gradient(125deg,#fff0b2,#ecc268);border:1.5px solid #a77b35;border-radius:4px;box-shadow:0 3px 0 #8d653644,0 0 0 2px #ffecc066;letter-spacing:0;transform:translate(-50%,-8px) scale(.88);opacity:0;transition:opacity .15s,background .15s,border-color .15s;transform-origin:center}
.combo-badge.visible{opacity:1;transform:translate(-50%,calc(var(--combo-kick)*-1px)) scale(calc(1 + var(--combo-kick)*.055)) rotate(calc(var(--combo-kick)*-1.2deg))}
.combo-badge #combo-number{font:900 35px/.9 var(--display);letter-spacing:-.6px;color:#9c5c2c;text-shadow:1px 1px #fff2b3;font-variant-numeric:tabular-nums}
.combo-flame{width:22px;height:29px;overflow:visible;flex-shrink:0;transform-origin:50% 100%}
.combo-flame>path:first-child{fill:#d77939;stroke:#a56630;stroke-width:1.2;stroke-linejoin:round}.combo-flame>path:last-child{fill:#fff1b3}
.combo-copy{display:flex;flex-direction:column;gap:4px;white-space:nowrap;text-align:left}
.combo-copy b{font:800 13px/1 var(--display);letter-spacing:.65px;color:#895527}
.combo-copy small{font:5px/1 var(--mono);letter-spacing:.35px;color:#a17a3e}
.combo-sparks{position:absolute;right:-7px;top:-8px;font-size:19px;color:#b68135;text-shadow:0 1px #fff4c4;transform:rotate(12deg)}
.combo-track{position:absolute;bottom:0;left:0;right:0;height:3px;background:#bb8d4033;overflow:hidden;border-radius:0 0 2px 2px}
.combo-track i{display:block;height:100%;background:linear-gradient(90deg,#c68635,#fff0b0);width:100%;transform-origin:left}
.combo-badge.streak-hot{background:linear-gradient(125deg,#ffe4a0,#efaa5a);border-color:#b06c36;--combo-accent:#d68338}
.streak-hot .combo-flame>path:first-child{fill:#df6937;stroke:#a95e2d}.streak-hot .combo-copy b{color:#9a502c}.streak-hot #combo-number{color:#aa4d2a}
.combo-badge.streak-max{background:linear-gradient(125deg,#ed7550,#ce4b35);border-color:#9e4931;box-shadow:0 3px 0 #884b364d,0 0 0 3px #f1c76888;--combo-accent:#fff0a7}
.combo-badge.streak-max #combo-number,.streak-max .combo-copy b{color:#fff0bd;text-shadow:1px 1px #a14b31}.streak-max .combo-copy small{color:#ffdb99}.streak-max .combo-sparks{color:#f9dc86}.streak-max .combo-flame>path:first-child{fill:#ffd66e;stroke:#a75a32}.streak-max .combo-flame>path:last-child{fill:#fff0bb}.streak-max .combo-track i{background:#ffe8a1}
.combo-badge:before{content:'';position:absolute;inset:-5px;border:2px solid var(--combo-accent);border-radius:7px;opacity:0;pointer-events:none}
.combo-badge.tier-up:before{animation:streak-tier .5s ease-out both}.combo-badge.tier-up .combo-flame{animation:streak-flame .38s ease-out both}
.combo-badge.streak-low .combo-track i{background:#c3673c}.combo-badge.streak-low .combo-sparks{opacity:.45}
.hud-announcement{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.is-paused .hud *,.is-paused .combo-badge *,.is-paused .combo-badge:before{animation-play-state:paused!important}
@keyframes streak-tier{0%{opacity:.75;transform:scale(.96)}100%{opacity:0;transform:scale(1.12,1.3)}}
@keyframes streak-flame{0%{transform:scale(.85,1.2) rotate(-8deg)}45%{transform:scale(1.2,.9) rotate(7deg)}100%{transform:none}}
@media(max-width:600px){.hud{top:11px;gap:10px}.hud-score{padding:5px 8px 6px}.hud #score{font-size:31px}.hud .hud-depth{padding:4px 6px}.combo-badge{top:94px;padding:6px 10px 8px 7px;gap:6px}.combo-badge #combo-number{font-size:32px}.combo-flame{width:20px;height:27px}.combo-copy b{font-size:12px}.combo-copy small{font-size:4.5px}}
@media(max-height:600px){.hud{top:9px;gap:8px}.hud-score{padding:4px 7px 5px}.hud #score{font-size:27px}.hud .long-score #score{font-size:23px}.hud .hud-score>span:first-child{font-size:5px}.hud .hud-depth{padding:3px 5px}.hud .hud-depth>span{font-size:5px}.hud .hud-depth strong>span{font-size:17px!important}.hud .hud-depth .up-arrow{font-size:19px!important}.hud #score-gain{font-size:12px;padding:2px 5px}.combo-badge{top:80px;padding:5px 8px 7px 6px;gap:5px}.combo-badge #combo-number{font-size:28px}.combo-flame{width:18px;height:24px}.combo-copy b{font-size:11px;letter-spacing:.4px}.combo-copy small{font-size:4px}.combo-sparks{font-size:16px}}
@media(prefers-reduced-motion:reduce){.hud-score,.combo-badge.visible{transform:translateX(0)}.combo-badge.visible{transform:translateX(-50%)}.combo-badge:before,.combo-flame,.hud #score-gain{animation:none!important;transition:none!important}.hud #score-gain,.hud .has-gain #score-gain{transform:none}}

/* The same patched-up rascal appears in every little portrait. */
.brand-ball{display:block;width:42px;height:42px;flex-shrink:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;transform:rotate(-12deg)}
.start-button-ball{display:block;width:36px;height:36px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;transform:rotate(-12deg)}
#end-overlay .retry-ball{display:block;width:32px;height:32px;border:0;border-radius:0;background:none}
#pause-overlay .pause-portrait{position:relative}
.pause-portrait>svg{display:block;width:100%;height:100%;overflow:visible}
#pause-overlay .pause-ball{position:absolute;left:25%;top:-13%;width:48%;height:100%;transform-origin:50% 80%;pointer-events:none}
@media(max-width:600px){.brand-ball{width:34px;height:34px}}
@media(max-height:660px){.start-button-ball{width:32px;height:32px}#end-overlay .retry-ball{width:28px;height:28px}}

/* A cabinet-sized iframe. No surrounding website layout. */
html{width:100%;height:100%;overflow:hidden;background:#f2eee3}
body{width:100%;height:100%;min-height:0;overflow:hidden;padding:12px;display:grid;grid-template-columns:minmax(0,1fr);place-items:center;background:transparent;overscroll-behavior:none}
body:before{display:none}
.game-column{width:min(100%,540px,calc((100dvh - 118px)*.75));max-width:none;min-width:0;margin:0 auto;align-self:center;justify-self:center}
.cabinet-topline{height:24px;margin:0 1px 10px}
.cabinet-topline>span{font-size:9px;letter-spacing:1.7px}
.utility-controls{gap:9px}.icon-button{min-width:22px;min-height:24px;padding:3px}
.game-machine{border-width:3px;border-radius:9px;box-shadow:7px 7px 0 var(--ink)}
.viewport{aspect-ratio:3/4}.jump-button{height:64px}.jump-label{font-size:16px}.jump-icon{font-size:28px}
dialog{max-width:min(480px,calc(100vw - 28px));max-height:calc(100dvh - 28px);overflow:auto}
@media(max-width:380px),(max-height:560px){body{padding:8px}.game-column{width:min(100%,540px,calc((100dvh - 100px)*.75))}.cabinet-topline{height:22px;margin-bottom:8px}.jump-button{height:48px}.jump-label{font-size:14px}.icon-button{min-height:22px}}
.game-column:fullscreen{width:100vw;max-width:none;height:100dvh;padding:12px;display:grid;grid-template-columns:1fr;align-content:center;justify-items:center;background:var(--paper)}
.game-column:fullscreen .game-machine,.game-column:fullscreen .cabinet-topline{width:min(100%,540px,calc((100dvh - 118px)*.75))}
