:root{--cream-0: #fff8e8;--cream-1: #f4eddd;--cream-2: #ded4c0;--ink: #181329;--espresso: #211937;--muted: #665b79;--orange: #ff4f8b;--orange-dark: #d62568;--olive: #8fdc3b;--olive-dark: #4f8e23;--gold: #ffad3d;--cyan: #2dd9e8;--purple: #6d57ff;--line: rgba(33, 25, 55, .18);--shadow: 0 24px 64px rgba(45, 30, 89, .18), 0 5px 0 rgba(33, 25, 55, .12);--serif: "Arial Black", Impact, Haettenschweiler, ui-sans-serif, sans-serif;--sans: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif}*{box-sizing:border-box}html{min-width:320px;background:var(--ink)}body{margin:0;color:var(--ink);background:radial-gradient(circle at 9% 8%,rgba(45,217,232,.34) 0 2px,transparent 2.5px) 0 0 / 31px 31px,radial-gradient(circle at 91% 84%,rgba(255,79,139,.24) 0 1.5px,transparent 2px) 0 0 / 23px 23px,linear-gradient(135deg,rgba(255,248,232,.4),transparent 52%),var(--cream-1);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--orange);outline-offset:4px}::selection{color:var(--cream-0);background:var(--orange)}.app-shell{width:min(1440px,100%);min-height:100vh;margin:0 auto;padding:clamp(22px,4vw,56px) clamp(18px,5vw,78px) 28px}.masthead{display:flex;align-items:center;justify-content:space-between;gap:28px;max-width:1240px;margin:0 auto clamp(25px,4vw,48px)}.brand{display:inline-flex;align-items:center;gap:15px;color:inherit;text-decoration:none}.brand-mark{position:relative;display:block;width:45px;height:44px;flex:0 0 auto}.brand-mark-cup{position:absolute;right:2px;bottom:4px;width:31px;height:22px;border:3px solid var(--espresso);border-radius:3px 3px 10px 10px;background:var(--orange);transform:skew(-7deg)}.brand-mark-cup:after{position:absolute;top:3px;right:-11px;width:9px;height:10px;border:3px solid var(--espresso);border-left:0;border-radius:0 9px 9px 0;content:""}.brand-mark-cup:before{position:absolute;bottom:-8px;left:-4px;width:37px;height:3px;border-radius:4px;background:var(--espresso);content:""}.brand-mark-steam{position:absolute;top:1px;width:7px;height:18px;border:2px solid var(--espresso);border-bottom:0;border-radius:50% 50% 0 0;transform:rotate(9deg)}.brand-mark-steam-one{left:13px}.brand-mark-steam-two{left:26px;top:4px;transform:rotate(-11deg)}.brand-copy{display:grid;gap:2px}.brand-kicker,.chapter-kicker,.overlay-kicker,.aside-kicker,.controls-kicker,.hud-label,.roast-stamp,.sound-label,.site-footer,.progress-percent{font-size:10px;font-weight:750;letter-spacing:.18em;line-height:1.1;text-transform:uppercase}.brand-kicker{color:var(--orange-dark);font-size:8px;letter-spacing:.14em}.brand-name{font-family:var(--serif);font-size:clamp(29px,3vw,39px);font-weight:900;letter-spacing:.06em;line-height:.86}.brand-title{color:var(--muted);font-family:var(--serif);font-size:12px;font-style:italic;letter-spacing:.02em}.masthead-meta{display:flex;align-items:center;gap:16px;color:var(--muted)}.roast-stamp{font-size:9px;letter-spacing:.13em;white-space:nowrap}.masthead-rule{display:block;width:38px;height:1px;background:var(--line)}.level-select{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:7px 0;border:0;color:var(--ink);background:transparent;cursor:pointer;font-size:9px;font-weight:800;letter-spacing:.13em;line-height:1.1;text-transform:uppercase;transition:color .16s ease,transform .16s ease}.level-select:hover{color:var(--orange-dark);transform:translateY(-1px)}.sound-button{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:7px 0 7px 10px;border:0;color:var(--ink);background:transparent;cursor:pointer;transition:color .16s ease,transform .16s ease}.sound-button:hover{color:var(--orange-dark);transform:translateY(-1px)}.sound-icon{position:relative;display:inline-block;width:21px;height:17px}.sound-cone{position:absolute;top:4px;left:1px;width:7px;height:10px;background:currentColor;clip-path:polygon(0 27%,100% 0,100% 100%,0 73%)}.sound-cone:before{position:absolute;top:3px;left:-3px;width:5px;height:7px;border-radius:1px;background:currentColor;content:""}.sound-wave{position:absolute;top:2px;border:1.5px solid currentColor;border-left:0;border-top-color:transparent;border-bottom-color:transparent;border-radius:0 50% 50% 0;transform:rotate(0)}.sound-wave-one{left:8px;width:7px;height:13px}.sound-wave-two{top:0;left:11px;width:10px;height:17px}.sound-button[aria-pressed=false] .sound-wave{opacity:.35}.sound-button[aria-pressed=false] .sound-wave-two{opacity:0}.sound-label{font-size:9px;letter-spacing:.13em}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(155px,205px);align-items:end;gap:clamp(22px,4vw,58px);max-width:1240px;margin:0 auto}.game-card{min-width:0;padding:clamp(15px,2.2vw,27px);border:1px solid rgba(58,40,34,.13);border-radius:9px;background:#fffaf0b8;box-shadow:var(--shadow)}.game-card-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;padding:0 1px clamp(15px,2.2vw,24px)}.chapter-kicker{margin:0 0 7px;color:var(--orange-dark);font-size:9px;letter-spacing:.16em}.chapter-kicker span{color:var(--gold);padding:0 5px}.game-card h1{margin:0;font-family:var(--serif);font-size:clamp(23px,3vw,36px);font-weight:850;letter-spacing:-.03em;line-height:.98}.fresh-seal{display:grid;place-items:center;width:67px;height:67px;flex:0 0 auto;border:1px solid var(--orange);border-radius:50%;color:var(--orange-dark);font-family:var(--serif);font-size:7px;font-weight:800;letter-spacing:.15em;line-height:1.1;text-align:center;transform:rotate(9deg)}.fresh-seal:before,.fresh-seal:after{width:42px;height:1px;background:var(--orange);content:""}.fresh-seal:before{margin-bottom:-53px}.fresh-seal:after{margin-top:-53px}.fresh-seal span,.fresh-seal strong{display:block}.fresh-seal strong{font-size:10px;letter-spacing:.08em}.stage{position:relative;width:100%;min-height:400px;overflow:hidden;isolation:isolate;border:2px solid var(--espresso);border-radius:5px;background:#d49b61;box-shadow:inset 0 0 0 1px #fffaf05c,0 6px #3a28221f;aspect-ratio:16 / 9}#game{position:absolute;inset:0;display:block;width:100%;height:100%;touch-action:none}.stage-frame,.stage-grain{position:absolute;inset:0;pointer-events:none}.stage-frame{z-index:2;border:1px solid rgba(255,245,216,.2);box-shadow:inset 0 0 0 5px #2d1f1b1f,inset 0 0 80px #1f140f38}.stage-grain{z-index:3;opacity:.16;background-image:radial-gradient(circle at 12% 21%,#fff 0 .7px,transparent 1px),radial-gradient(circle at 74% 48%,#231710 0 .7px,transparent 1px),radial-gradient(circle at 42% 81%,#fff 0 .8px,transparent 1.1px);background-size:17px 19px,23px 29px,31px 27px;mix-blend-mode:soft-light}.overlay{position:absolute;inset:0;z-index:5;display:grid;place-items:center;padding:clamp(24px,7vw,72px);background:linear-gradient(90deg,#291b16ab,#291b1638 68%,#291b160d);transition:opacity .22s ease,visibility .22s ease}.overlay.is-hidden,.overlay[hidden]{visibility:hidden;opacity:0;pointer-events:none}.overlay-card{width:min(100%,520px);margin-right:auto;color:var(--cream-0)}.overlay-kicker{display:flex;align-items:center;gap:12px;margin:0 0 18px;color:#f7c476;font-size:9px;letter-spacing:.16em}.overlay-kicker:after{display:block;width:46px;height:1px;background:#f7c476a6;content:""}.overlay h2{max-width:560px;margin:0;color:var(--cream-0);font-family:var(--serif);font-size:clamp(39px,6.5vw,76px);font-weight:900;letter-spacing:-.055em;line-height:.9;text-wrap:balance}.overlay-copy{max-width:410px;margin:22px 0 26px;color:#fffaf0cc;font-family:var(--serif);font-size:clamp(14px,1.6vw,17px);line-height:1.45}.start-button{display:inline-flex;align-items:center;gap:18px;min-height:48px;padding:12px 14px 12px 20px;border:2px solid var(--cream-0);border-radius:2px;color:var(--espresso);background:var(--cream-0);box-shadow:4px 4px #26171259;cursor:pointer;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;transition:background .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}.start-button:hover{color:var(--cream-0);background:var(--orange);box-shadow:6px 6px #26171259;transform:translate(-2px,-2px)}.start-button:active{box-shadow:2px 2px #26171259;transform:translate(2px,2px)}.button-arrow{display:grid;width:22px;height:22px;place-items:center;border:1px solid currentColor;border-radius:50%;font-size:15px;letter-spacing:0;line-height:1}.overlay-note{margin:23px 0 0 2px;color:#fffaf094;font-size:10px;letter-spacing:.1em;text-transform:uppercase}.overlay-note span{margin-right:6px;color:#f7c476}.next-level-button[hidden]{display:none}.level-menu{position:absolute;inset:0;z-index:20;display:block;height:100%;max-height:100%;overflow-x:hidden;overflow-y:auto;padding:clamp(22px,4vw,42px) clamp(18px,4.5vw,48px) calc(clamp(22px,4vw,42px) + env(safe-area-inset-bottom));color:var(--ink);background:radial-gradient(circle at 91% 8%,rgba(226,173,95,.25) 0 2px,transparent 2.5px) 0 0 / 20px 20px,linear-gradient(135deg,#fffaf0e0,#ead9b9bd),var(--cream-0);box-shadow:inset 0 0 0 5px #2d1f1b1c,inset 0 0 70px #39251c1a;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-color:var(--orange) rgba(58,40,34,.1);scrollbar-width:thin}.level-menu[hidden]{display:none!important}.level-menu-inner{display:flex;flex-direction:column;width:min(100%,980px);min-height:100%;margin:0 auto}.level-menu-heading{margin-bottom:clamp(18px,3vw,30px)}.level-menu-kicker{margin:0 0 10px;color:var(--orange-dark);font-size:9px;font-weight:800;letter-spacing:.16em;line-height:1.2;text-transform:uppercase}.level-menu-kicker span{padding:0 5px;color:var(--gold)}.level-menu h2{max-width:700px;margin:0;color:var(--espresso);font-family:var(--serif);font-size:clamp(35px,5.5vw,60px);font-weight:900;letter-spacing:-.055em;line-height:.9;text-wrap:balance}.level-menu-intro{max-width:530px;margin:14px 0 0;color:var(--muted);font-family:var(--serif);font-size:clamp(13px,1.5vw,16px);line-height:1.4}.level-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch;margin:0 0 auto}.level-card{display:grid;grid-template-areas:"number name" "number description" "difficulty difficulty" "result result";grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto minmax(42px,1fr) auto auto;column-gap:12px;row-gap:8px;min-width:0;min-height:156px;padding:15px 16px 14px;border:1px solid rgba(58,40,34,.24);border-radius:4px;color:var(--ink);background:#fffaf0c7;box-shadow:3px 3px #3a282221;cursor:pointer;font-weight:inherit;text-align:left;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.level-card:hover{border-color:var(--orange);background:var(--cream-0);box-shadow:5px 5px #3a282229;transform:translate(-2px,-2px)}.level-card:active{box-shadow:1px 1px #3a282229;transform:translate(2px,2px)}.level-card[aria-current=true]{border-color:var(--olive);background:#efeed3e6}.level-card:disabled,.level-card[aria-disabled=true]{cursor:not-allowed;opacity:.58}.level-card:disabled:hover,.level-card[aria-disabled=true]:hover{border-color:#3a28223d;background:#fffaf0c7;box-shadow:3px 3px #3a282221;transform:none}.level-number{display:inline-grid;grid-area:number;place-items:center;align-self:start;min-width:36px;height:30px;padding:0 8px;border:1px solid var(--orange);border-radius:18px;color:var(--orange-dark);font-size:8px;font-weight:800;letter-spacing:.1em;line-height:1;text-transform:uppercase;white-space:nowrap;transform:rotate(-3deg)}.level-name{grid-area:name;align-self:end;min-width:0;color:var(--espresso);font-family:var(--serif);font-size:clamp(18px,2vw,24px);font-weight:850;letter-spacing:-.03em;line-height:.98}.level-description{grid-area:description;align-self:start;min-width:0;margin:0;color:var(--muted);font-family:var(--serif);font-size:12px;line-height:1.35}.level-difficulty,.level-result{align-self:end;min-width:0;font-size:8px;font-weight:800;letter-spacing:.12em;line-height:1.2;text-transform:uppercase}.level-difficulty{grid-area:difficulty;color:var(--olive-dark)}.level-result{grid-area:result;color:var(--orange-dark);text-align:right}.level-menu-close{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;min-height:42px;margin-top:clamp(18px,3vw,28px);padding:10px 16px;border:1px solid var(--espresso);border-radius:2px;color:var(--espresso);background:transparent;box-shadow:3px 3px #3a28222e;cursor:pointer;font-size:9px;font-weight:800;letter-spacing:.14em;line-height:1.1;text-transform:uppercase;transition:background .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}.level-menu-close:hover{color:var(--cream-0);background:var(--espresso);box-shadow:5px 5px #3a282238;transform:translate(-2px,-2px)}.level-menu-close:active{box-shadow:1px 1px #3a282238;transform:translate(2px,2px)}.touch-controls{position:absolute;right:16px;bottom:16px;left:16px;z-index:6;display:none;grid-template-columns:44px 44px 1fr 58px 58px;gap:8px;pointer-events:none}.touch-button{display:grid;min-width:0;min-height:44px;place-items:center;padding:4px;border:1px solid rgba(255,250,240,.5);border-radius:4px;color:var(--cream-0);background:#2c211d9e;box-shadow:0 3px #2c211d47;cursor:pointer;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;transition:transform .1s ease,background .1s ease}.touch-button:active,.touch-button.is-pressed{background:var(--orange);transform:translateY(2px)}.touch-left,.touch-right{font-size:23px;line-height:1}.touch-spacer{pointer-events:none}.touch-action{align-content:center;gap:1px;font-size:17px;line-height:1}.touch-button-caption{font-size:7px;font-weight:800;letter-spacing:.1em}.hud{display:grid;grid-template-columns:auto 1px auto 1px minmax(150px,1fr) auto;align-items:center;gap:clamp(13px,2.1vw,24px);padding:17px 4px 14px;border-bottom:1px solid var(--line)}.hud-block{display:grid;gap:7px}.hud-label{color:var(--muted);font-size:8px;letter-spacing:.15em}.health-meter,.bean-counter{display:flex;align-items:center;gap:5px}.health-dot{display:block;width:12px;height:12px;border:2px solid var(--orange);border-radius:50%;background:var(--orange);transform:rotate(45deg) scale(.7)}.hud-value{color:var(--espresso);font-family:var(--serif);font-size:20px;font-weight:800;line-height:1}.hud-divider{display:block;width:1px;height:31px;background:var(--line)}.bean-glyph{display:inline-block;color:var(--orange);font-size:16px;line-height:1;transform:rotate(45deg) scaleX(.75)}.progress-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.progress-percent{color:var(--olive);font-size:8px;letter-spacing:.12em}progress{display:block;width:100%;height:6px;overflow:hidden;border:0;border-radius:0;background:var(--cream-2);appearance:none}progress::-webkit-progress-value{background:var(--olive);transition:width .26s ease}progress::-moz-progress-bar{background:var(--olive)}.hud-status{min-width:95px;color:var(--orange-dark);font-size:8px;font-weight:800;letter-spacing:.11em;line-height:1.2;text-align:right}.control-strip{display:flex;align-items:center;gap:clamp(13px,2vw,23px);padding:13px 4px 0}.controls-kicker{flex:0 0 auto;margin:0;color:var(--orange-dark);font-size:8px;letter-spacing:.12em}.controls-list{display:flex;align-items:center;flex-wrap:wrap;gap:9px 15px}.control{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:10px;white-space:nowrap}kbd{display:inline-grid;min-width:20px;height:20px;padding:0 4px;place-items:center;border:1px solid rgba(58,40,34,.3);border-bottom-width:2px;border-radius:3px;color:var(--espresso);background:var(--cream-0);font-family:var(--sans);font-size:9px;font-weight:800;line-height:1}.key-pair{display:inline-flex;gap:2px}.key-wide{min-width:48px;font-size:7px;letter-spacing:.05em}.controls-tip{display:inline-flex;align-items:center;gap:5px;margin:0 0 0 auto;color:var(--muted);font-family:var(--serif);font-size:11px;font-style:italic;white-space:nowrap}.controls-tip span{color:var(--orange);font-family:var(--sans);font-style:normal}.game-aside{position:relative;max-width:190px;padding:0 0 24px}.aside-kicker{margin:0 0 18px;color:var(--orange-dark);font-size:9px;letter-spacing:.14em}.aside-kicker span{color:var(--gold);padding:0 4px}.aside-copy{margin:0;font-family:var(--serif);font-size:clamp(22px,2.6vw,31px);font-weight:800;letter-spacing:-.04em;line-height:.99}.aside-rule{width:66px;height:2px;margin:26px 0 19px;background:var(--olive)}.aside-small{margin:0;color:var(--muted);font-family:var(--serif);font-size:14px;line-height:1.43}.aside-mark{display:block;margin-top:42px;color:var(--orange);font-family:var(--serif);font-size:34px;line-height:1;transform:rotate(-12deg)}.site-footer{display:flex;align-items:center;justify-content:center;gap:12px;max-width:1240px;margin:clamp(28px,5vw,62px) auto 0;color:#846f62d1;font-size:8px;letter-spacing:.16em}.footer-dot{color:var(--orange);font-size:13px}@media(max-width:980px){.game-layout{grid-template-columns:minmax(0,1fr)}.game-aside{display:grid;grid-template-columns:auto minmax(150px,310px);align-items:start;column-gap:22px;max-width:none;padding:2px 4px 0}.aside-kicker{grid-column:1 / -1;margin-bottom:8px}.aside-rule{display:none}.aside-mark{margin:0 0 0 auto}}@media(max-width:680px){.app-shell{padding:18px 12px 21px}.masthead{align-items:flex-start;margin-bottom:21px}.brand{gap:10px}.brand-mark{width:38px;transform:scale(.84);transform-origin:left center}.brand-kicker{max-width:170px;font-size:7px;line-height:1.3}.brand-name{font-size:30px}.brand-title{font-size:11px}.masthead-meta{gap:6px}.roast-stamp,.masthead-rule,.sound-label{display:none}.sound-button{padding:8px}.game-card{padding:12px}.game-card-heading{align-items:center;padding-bottom:13px}.chapter-kicker{max-width:180px;margin-bottom:6px;font-size:8px;line-height:1.3}.game-card h1{max-width:250px;font-size:clamp(22px,7vw,30px)}.fresh-seal{width:54px;height:54px;font-size:6px}.fresh-seal strong{font-size:8px}.stage{min-height:320px;aspect-ratio:4 / 3}.overlay{align-items:end;padding:25px 22px 27px;background:linear-gradient(0deg,#291b16c7,#291b1626 75%)}.overlay-kicker{margin-bottom:13px;font-size:8px}.overlay h2{max-width:300px;font-size:clamp(38px,12vw,58px)}.overlay-copy{max-width:330px;margin:15px 0 19px;font-size:13px}.start-button{min-height:44px;padding:10px 11px 10px 16px;font-size:10px}.overlay-note{margin-top:17px;font-size:8px}.level-menu{padding:20px 16px calc(22px + env(safe-area-inset-bottom))}.level-menu-heading{margin-bottom:18px}.level-menu h2{font-size:clamp(31px,10vw,48px)}.level-menu-intro{margin-top:10px;font-size:13px}.level-cards{grid-template-columns:1fr;gap:10px}.level-card{min-height:126px;padding:13px}.level-number{min-width:36px;height:28px;padding:0 7px;font-size:8px}.level-menu-close{width:100%}.touch-controls{display:grid}.hud{grid-template-columns:auto 1px auto 1px minmax(80px,1fr);gap:10px;padding:13px 2px 11px}.hud-status{display:none}.health-dot{width:10px;height:10px}.hud-value{font-size:17px}.progress-heading{display:block}.progress-percent{display:none}.control-strip{display:block;padding-top:11px}.controls-kicker{margin-bottom:8px}.controls-list{gap:8px 12px}.controls-tip{display:none}.game-aside{grid-template-columns:1fr auto;padding:0 4px}.aside-copy{max-width:290px;font-size:25px}.aside-small{grid-column:1 / -1;max-width:420px;margin-top:11px;font-size:13px}.aside-mark{font-size:28px}.site-footer{flex-wrap:wrap;gap:7px;margin-top:30px;font-size:7px;text-align:center}}@media(hover:none)and (pointer:coarse){.touch-controls{display:grid}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.boss-hud{position:absolute;z-index:2;top:12px;left:50%;transform:translate(-50%);width:min(340px,80%);padding:10px 16px;border:2px solid #34231c;background:#f9e8c9ed;border-radius:5px;display:grid;gap:5px;text-align:center;pointer-events:none;color:#3a2822;box-shadow:0 4px #34231c35}.boss-hud[hidden]{display:none}.boss-hud strong{font-size:12px;letter-spacing:1px}.boss-hud small{font-size:9px;letter-spacing:1px}.boss-hud progress{width:100%;height:12px;accent-color:#b64021}.stage:has(#overlay:not([hidden])) .touch-controls{visibility:hidden}.stage:has(#level-menu:not([hidden])) .touch-controls{visibility:hidden;pointer-events:none}@media(max-width:680px){.stage{min-height:400px}.overlay h2{font-size:clamp(32px,10vw,48px)}}.power-status{padding:8px 14px;margin:0;color:#674f38;font:700 10px monospace;letter-spacing:.05em;background:#efe2c5}#game{cursor:crosshair}.route-label{position:absolute;top:18px;left:20px;right:20px;z-index:3;pointer-events:none;color:#3f2b23;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;text-shadow:0 1px 3px #fff2d9}.app-shell{max-width:1480px;padding-top:clamp(18px,3.5vw,46px)}.masthead{margin-bottom:clamp(21px,3.2vw,38px)}.brand-mark-cup{border-color:var(--ink);background:var(--orange);box-shadow:4px 4px 0 var(--cyan)}.brand-mark-steam{border-color:var(--purple)}.brand-kicker,.chapter-kicker,.overlay-kicker,.level-menu-kicker,.shop-kicker,.controls-kicker,.aside-kicker{color:var(--purple)}.brand-name{color:var(--ink);font-family:var(--sans);font-weight:950;letter-spacing:-.08em;text-shadow:4px 4px 0 var(--cyan)}.brand-title{color:var(--orange-dark);font-family:var(--sans);font-style:normal;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.roast-stamp{color:var(--orange-dark)}.level-select,.sound-button{min-height:38px;padding:8px 12px;border:2px solid var(--ink);border-radius:999px;color:var(--ink);background:var(--cream-0);box-shadow:3px 3px 0 var(--cyan)}.level-select:hover,.sound-button:hover{color:var(--ink);background:var(--olive);box-shadow:5px 5px 0 var(--orange)}.game-card{padding:clamp(13px,2vw,24px);border:2px solid var(--ink);border-radius:18px;background:#fff8e8d6;box-shadow:11px 11px #2119372e,0 0 0 5px #2dd9e81a}.game-card-heading{padding-bottom:clamp(14px,2vw,20px)}.chapter-kicker{font-family:var(--sans);font-weight:950}.chapter-kicker span,.level-menu-kicker span,.shop-kicker span{color:var(--orange)}.game-card h1{color:var(--ink);font-family:var(--sans);font-weight:950;letter-spacing:-.08em;text-transform:uppercase}.fresh-seal{border:2px solid var(--ink);color:var(--ink);background:var(--cyan);box-shadow:5px 5px 0 var(--orange);font-family:var(--sans);font-weight:950}.fresh-seal:before,.fresh-seal:after{background:var(--ink)}.stage{min-height:420px;border:4px solid var(--ink);border-radius:16px;background:radial-gradient(circle at 78% 20%,rgba(45,217,232,.24),transparent 26%),radial-gradient(circle at 16% 78%,rgba(255,79,139,.24),transparent 28%),linear-gradient(135deg,#2a1c59,#17132d 58%,#31143d);box-shadow:10px 10px 0 var(--orange),0 0 0 4px var(--cyan)}.stage:before{position:absolute;inset:0;z-index:1;pointer-events:none;border:2px solid rgba(255,248,232,.22);border-radius:11px;content:""}.stage-frame{z-index:4;border:0;box-shadow:inset 0 0 0 5px #18132947,inset 0 0 90px #09071473}.stage-grain{z-index:5;opacity:.09}.overlay{z-index:10;background:linear-gradient(105deg,#181329e6,#211937ad 56%,#ff4f8b2e),radial-gradient(circle at 82% 20%,rgba(45,217,232,.32),transparent 25%)}.overlay-card{max-width:600px}.overlay-kicker{color:var(--olive);font-family:var(--sans);font-weight:950}.overlay-kicker:after{background:var(--cyan)}.overlay h2{color:var(--cream-0);font-family:var(--sans);font-weight:950;letter-spacing:-.09em;line-height:.87;text-transform:uppercase;text-shadow:5px 5px 0 var(--orange-dark)}.overlay-copy{color:#fff8e8d1;font-family:var(--sans);font-size:clamp(14px,1.6vw,17px);font-weight:540}.start-button,.continue-run-button,.new-run-button{border:3px solid var(--ink);border-radius:7px;color:var(--ink);background:var(--olive);box-shadow:5px 5px 0 var(--orange);font-family:var(--sans);font-weight:950;letter-spacing:.11em}.start-button:hover,.continue-run-button:hover,.new-run-button:hover{color:var(--ink);background:var(--cyan);box-shadow:7px 7px 0 var(--orange)}.button-arrow{border-color:var(--ink)}.overlay-note{color:#fff8e8a3;font-family:var(--sans);font-weight:750}.overlay-note span{color:var(--cyan)}.level-menu,.shop{background:radial-gradient(circle at 88% 8%,rgba(45,217,232,.24) 0 2px,transparent 2.5px) 0 0 / 22px 22px,radial-gradient(circle at 12% 88%,rgba(255,79,139,.2) 0 1.5px,transparent 2px) 0 0 / 19px 19px,linear-gradient(135deg,#fff8e8,#f4eddd 56%,#e4f4e0)}.level-menu{z-index:30;padding:clamp(20px,4vw,40px)}.level-menu-heading{margin-bottom:clamp(16px,2.5vw,24px)}.level-menu h2,.shop h2{color:var(--ink);font-family:var(--sans);font-weight:950;letter-spacing:-.09em;text-transform:uppercase}.level-menu-intro,.shop-intro{color:var(--muted);font-family:var(--sans);font-weight:540}.level-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.level-card{min-height:148px;border:3px solid var(--ink);border-radius:10px;color:var(--ink);background:#fff8e8d1;box-shadow:5px 5px 0 var(--cyan);font-family:var(--sans)}.level-card:hover{border-color:var(--orange);background:var(--cream-0);box-shadow:7px 7px 0 var(--purple)}.level-card[aria-current=true]{border-color:var(--olive-dark);background:#c4f1858c;box-shadow:5px 5px 0 var(--orange)}.level-number{border:2px solid var(--orange);color:var(--orange-dark);font-family:var(--sans);font-weight:950}.level-name{color:var(--ink);font-family:var(--sans);font-weight:950;letter-spacing:-.06em;text-transform:uppercase}.level-description,.level-difficulty,.level-result{font-family:var(--sans)}.level-difficulty{color:var(--olive-dark)}.level-result{color:var(--orange-dark)}.level-menu-close,.new-run-button{min-height:44px;border:2px solid var(--ink);border-radius:7px;color:var(--ink);background:var(--cream-0);box-shadow:4px 4px 0 var(--cyan);font-family:var(--sans);font-weight:950}.level-menu-close:hover,.new-run-button:hover{color:var(--ink);background:var(--cyan);box-shadow:6px 6px 0 var(--orange)}.new-run-button{align-self:flex-start;margin-top:clamp(15px,2vw,22px);padding:10px 16px;background:var(--orange)}.level-menu-close{margin-top:12px}.shop{position:absolute;inset:0;z-index:40;display:grid;place-items:center;overflow:auto;padding:clamp(18px,4vw,46px);color:var(--ink)}.shop[hidden]{display:none!important}.shop-card{width:min(100%,800px);padding:clamp(20px,4vw,38px);border:4px solid var(--ink);border-radius:15px;background:#fff8e8f0;box-shadow:10px 10px 0 var(--orange),0 0 0 4px var(--cyan)}.shop-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.shop-kicker{margin:0 0 9px;font-size:9px;font-weight:950;letter-spacing:.16em;text-transform:uppercase}.shop h2{margin:0;font-size:clamp(38px,7vw,68px);line-height:.84}.shop-wallet-wrap{display:grid;gap:4px;min-width:126px;padding:10px 12px;border:2px solid var(--ink);border-radius:9px;background:var(--olive);box-shadow:4px 4px 0 var(--purple);text-align:right}.shop-wallet-label{color:var(--ink);font-size:8px;font-weight:950;letter-spacing:.13em}#shop-wallet{color:var(--ink);font-size:17px;font-weight:950;letter-spacing:-.04em}.shop-intro{max-width:560px;margin:17px 0 22px;font-size:14px;line-height:1.4}.upgrade-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.upgrade-card{display:grid;align-content:start;min-width:0;min-height:148px;padding:15px;border:3px solid var(--ink);border-radius:10px;color:var(--ink);background:var(--cream-0);box-shadow:4px 4px 0 var(--cyan);cursor:pointer;text-align:left;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.upgrade-card:hover,.upgrade-card:focus-visible{background:#ecffd0;box-shadow:6px 6px 0 var(--orange);transform:translate(-2px,-2px)}.upgrade-card:active{box-shadow:2px 2px 0 var(--orange);transform:translate(2px,2px)}.upgrade-card[disabled],.upgrade-card[aria-disabled=true]{cursor:not-allowed;opacity:.54;transform:none}.upgrade-card-title,.upgrade-name{font-size:16px;font-weight:950;letter-spacing:-.04em;text-transform:uppercase}.upgrade-card-copy,.upgrade-description{margin:8px 0 auto;color:var(--muted);font-size:11px;line-height:1.35}.upgrade-card-cost,.upgrade-cost{margin-top:14px;color:var(--orange-dark);font-size:10px;font-weight:950;letter-spacing:.1em;text-transform:uppercase}.upgrade-card.is-owned,.upgrade-card[data-owned=true],.upgrade-card[aria-pressed=true]{border-color:var(--olive-dark);background:#c4f185ad;box-shadow:4px 4px 0 var(--olive-dark);animation:reward-pop .26s ease-out}.continue-run-button{display:inline-flex;align-items:center;gap:14px;min-height:48px;margin-top:22px;padding:11px 16px 11px 19px}.continue-run-button span{display:grid;width:22px;height:22px;place-items:center;border:2px solid currentColor;border-radius:50%}.hud{grid-template-columns:auto 2px auto 2px minmax(145px,1fr) auto auto;gap:clamp(11px,1.8vw,21px);padding:18px 5px 14px}.hud-label,.progress-percent,.hud-status,.control,.controls-kicker,.power-status{font-family:var(--sans);font-weight:850}.health-dot{border-color:var(--orange);background:var(--orange);box-shadow:2px 2px 0 var(--cyan)}.hud-value{color:var(--ink);font-family:var(--sans);font-weight:950}.bean-glyph{color:var(--orange);text-shadow:2px 2px 0 var(--cyan)}.progress-heading{font-family:var(--sans)}progress{height:9px;border:2px solid var(--ink);background:var(--cream-2)}progress::-webkit-progress-bar{background:var(--cream-2)}progress::-webkit-progress-value{background:linear-gradient(90deg,var(--orange),var(--purple),var(--cyan))}progress::-moz-progress-bar{background:var(--purple)}.hud-combo{min-width:72px;padding:7px 9px;border:2px solid var(--ink);border-radius:999px;color:var(--ink);background:var(--gold);box-shadow:3px 3px 0 var(--orange);font-size:9px;font-weight:950;letter-spacing:.09em;text-align:center;text-transform:uppercase}.hud-combo.is-hot,.hud-combo[data-hot=true]{background:var(--orange);animation:combo-pulse .52s ease-in-out infinite alternate}.hud-status{color:var(--orange-dark)}.power-status{border:2px solid var(--ink);border-radius:7px;color:var(--ink);background:var(--cyan);box-shadow:3px 3px 0 var(--purple)}.control-strip{padding-top:16px}kbd{border:2px solid var(--ink);border-bottom-width:4px;border-radius:5px;color:var(--ink);background:var(--cream-0);font-weight:950}.controls-tip{color:var(--purple);font-family:var(--sans);font-weight:750}.controls-tip span{color:var(--orange)}.aside-copy{color:var(--ink);font-family:var(--sans);font-weight:950;letter-spacing:-.07em;text-transform:uppercase}.aside-small{color:var(--muted);font-family:var(--sans)}.aside-mark{color:var(--orange);text-shadow:4px 4px 0 var(--cyan)}.site-footer{color:var(--muted);font-family:var(--sans);font-weight:850}.footer-dot{color:var(--orange)}.run-seed{position:absolute;top:auto;right:18px;bottom:16px;z-index:7;padding:5px 8px;border:2px solid var(--cyan);border-radius:999px;color:var(--cream-0);background:#181329b8;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;font-weight:850;letter-spacing:.08em}.hit-flash{position:absolute;inset:0;z-index:9;pointer-events:none;opacity:0;background:radial-gradient(circle at center,rgba(255,248,232,.75),rgba(255,79,139,.35) 42%,transparent 74%);mix-blend-mode:screen;transition:opacity 90ms ease-out}.hit-flash.is-active,.hit-flash.active,.hit-flash[data-active=true]{opacity:.85;animation:hit-flash .18s ease-out}@keyframes combo-pulse{0%{transform:scale(1)}to{transform:scale(1.06) rotate(-2deg)}}@keyframes hit-flash{0%{opacity:.9}to{opacity:0}}@keyframes reward-pop{0%{transform:scale(.96)}70%{transform:scale(1.03)}to{transform:scale(1)}}.touch-controls{grid-template-columns:42px 42px 1fr 58px 58px 58px;right:13px;bottom:13px;left:13px;gap:7px}.touch-button{min-height:46px;border:2px solid var(--cream-0);border-radius:8px;background:#181329c2;box-shadow:3px 3px 0 var(--purple);font-family:var(--sans);font-weight:950}.touch-button:active,.touch-button.is-pressed{color:var(--ink);background:var(--olive);box-shadow:1px 1px 0 var(--orange)}.boss-hud{z-index:8;border:3px solid var(--ink);border-radius:9px;background:#fff8e8f0;box-shadow:5px 5px 0 var(--orange);font-family:var(--sans)}.boss-hud progress{border-color:var(--ink)}.route-label{z-index:8;color:var(--cream-0);text-shadow:2px 2px 0 var(--ink)}@media(max-width:980px){.game-layout{gap:30px}.game-aside{padding-top:8px}}@media(max-width:680px){.app-shell{padding-right:11px;padding-left:11px}.masthead-meta{gap:5px}.level-select,.sound-button{min-height:34px;padding:6px 8px;box-shadow:2px 2px 0 var(--cyan)}.game-card{padding:11px;border-radius:13px;box-shadow:6px 6px #21193729}.stage{min-height:360px;border-width:3px;border-radius:12px;box-shadow:6px 6px 0 var(--orange),0 0 0 3px var(--cyan)}.overlay{padding:23px 19px 24px}.overlay h2{font-size:clamp(34px,11vw,52px)}.level-menu{padding:18px 14px calc(20px + env(safe-area-inset-bottom))}.level-menu h2{font-size:clamp(32px,11vw,50px)}.level-card{min-height:120px;padding:12px}.shop{align-items:start;padding:18px 13px calc(21px + env(safe-area-inset-bottom))}.shop-card{margin:auto 0;padding:18px 14px;border-width:3px;box-shadow:6px 6px 0 var(--orange),0 0 0 3px var(--cyan)}.shop-heading{align-items:start;flex-direction:column;gap:15px}.shop-wallet-wrap{min-width:0;width:100%;text-align:left}.upgrade-cards{grid-template-columns:1fr;gap:9px}.upgrade-card{min-height:106px;padding:12px}.upgrade-card-copy,.upgrade-description{margin-top:5px}.upgrade-card-cost,.upgrade-cost{margin-top:9px}.hud{grid-template-columns:auto 1px auto 1px minmax(65px,1fr) auto;gap:8px;padding:12px 2px 10px}.hud-combo{min-width:60px;padding:6px 5px;font-size:8px}.hud-status{display:none}.run-seed{top:auto;right:11px;bottom:10px;font-size:8px}.touch-controls{grid-template-columns:38px 38px 1fr 52px 52px 52px;right:9px;bottom:9px;left:9px;gap:5px}.touch-button{min-height:42px}.touch-button-caption{font-size:6px}.power-status{font-size:8px}}@media(prefers-reduced-motion:reduce){.upgrade-card,.upgrade-card:hover,.level-card,.start-button,.continue-run-button,.new-run-button,.level-menu-close,.touch-button{transition:none!important}.hud-combo.is-hot,.hud-combo[data-hot=true],.upgrade-card.is-owned,.upgrade-card[data-owned=true],.upgrade-card[aria-pressed=true],.hit-flash.is-active,.hit-flash.active,.hit-flash[data-active=true]{animation:none!important}}#shop-newrun{margin-top:12px}@media(max-width:600px){.run-seed{bottom:62px}}
