@import"https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap";:root{font-family:DM Sans,Arial,sans-serif;color:#e6ece6;background:#101212;font-synthesis:none;color-scheme:dark}*{box-sizing:border-box}body{margin:0}main{max-width:1440px;margin:auto;padding:0 5.5%}header{height:106px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #292d2b}.brand{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:700;letter-spacing:2px}.brand-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;background:#ccff70;color:#172114;font-size:25px;font-weight:800;letter-spacing:-2px}.brand-icon span{font-size:13px;margin-top:10px}.brand-sub{display:block;font-size:9px;letter-spacing:2.9px;font-weight:400;color:#879187;margin-top:4px}.edition{display:flex;align-items:center;gap:14px;color:#89918b;font:11px monospace;letter-spacing:1.6px}.edition i{height:3px;width:3px;background:#849079}.game-section{padding-top:44px}.title-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.eyebrow{font:11px monospace;letter-spacing:2px;color:#89928a;margin-bottom:10px}h1{font-family:Barlow Condensed,Arial Narrow,Impact,sans-serif;font-size:clamp(32px,4vw,54px);line-height:1;margin:0;letter-spacing:.2px;font-weight:700}h1 em{font-style:normal;color:#ccff70}.attempt{border:1px solid #3a4236;background:#1e251b;border-radius:6px;padding:12px 18px;font-size:14px;white-space:nowrap;display:flex;gap:18px;align-items:center}.attempt span{color:#a4af9f}.attempt strong{color:#ccff70;font:22px monospace}.game-frame{border:1px solid #3b443b;border-radius:8px;overflow:hidden;box-shadow:0 16px 48px #0003}canvas{display:block;width:100%;aspect-ratio:2;height:auto;outline:none}canvas:focus-visible{outline:2px solid #ccff70;outline-offset:-3px}.statusbar{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;background:#1b201d;border-top:1px solid #333c32;color:#a5afa3;font:11px monospace;letter-spacing:1px}.statusbar>span{display:flex;align-items:center;gap:9px}.statusbar b{display:inline-block;width:6px;height:6px;border-radius:50%;background:#ccff70}.statusbar b.dead{background:#ff8b7f}button{font:inherit;color:#bdc7b9;border:none;background:transparent;cursor:pointer;display:flex;gap:10px;align-items:center}button:hover{color:#ccff70}button:focus-visible{outline:2px solid #ccff70;outline-offset:3px}kbd{font:12px DM Sans,sans-serif;border:1px solid #3b423c;border-bottom-width:2px;background:#202521;border-radius:4px;min-width:26px;height:26px;padding:3px 7px;text-align:center;color:#d1d8cc}.statusbar kbd{font-size:10px;height:21px;min-width:21px;padding:2px 5px}.instructions{display:flex;justify-content:center;gap:42px;padding:26px 0 30px;color:#899589;font-size:13px}.instructions>div{display:flex;align-items:center;gap:6px}.instructions span:last-child{margin-left:5px}footer{display:flex;justify-content:space-between;border-top:1px solid #292d2b;padding:24px 0 30px;color:#606c61;font:10px monospace;letter-spacing:1.4px}.lime{color:#ccff70;margin-left:8px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mobile-controls{display:none}@media(max-width:700px){main{padding:0 5%}header{height:76px}.edition{font-size:9px;gap:6px;letter-spacing:0}.game-section{padding-top:28px}.eyebrow{font-size:9px;letter-spacing:1px}h1{font-size:32px}.attempt{padding:8px 10px;gap:8px;font-size:12px}.instructions{gap:12px;flex-wrap:wrap;padding:20px 0;font-size:12px}.instructions kbd{font-size:10px;min-width:21px;height:23px;padding:3px 4px}.statusbar{padding:10px;font-size:9px;letter-spacing:0}.statusbar button span{display:none}footer{font-size:8px;gap:15px;line-height:1.8}}@media(pointer:coarse){.mobile-controls{display:flex;gap:12px;margin:0 0 24px}.mobile-controls button{border:1px solid #536248;background:#222c1b;border-radius:6px;min-width:64px;min-height:48px;justify-content:center;touch-action:none}.mobile-controls button:last-child{margin-left:auto;min-width:110px}}.canvas-wrap{position:relative}.play-again{position:absolute;top:61%;left:50%;transform:translate(-50%);background:#ccff70;color:#172114;border:1px solid #ccff70;border-radius:4px;padding:12px 22px;font:700 13px monospace;letter-spacing:1px;min-height:44px}.play-again:hover{background:#ddff9c;color:#172114}.game-actions{display:flex;align-items:center;gap:15px}.attempt-pop{animation:attempt-pop .24s ease-out}@keyframes attempt-pop{0%{transform:scale(1.15)}to{transform:scale(1)}}.play-again{animation:completion-in .25s .1s both}@keyframes completion-in{0%{opacity:0;margin-top:8px}to{opacity:1;margin-top:0}}@media(pointer:coarse){.mobile-controls{position:absolute;bottom:12px;left:12px;right:12px;display:flex;gap:8px;margin:0;pointer-events:none}.mobile-controls button{pointer-events:auto;min-width:54px;min-height:44px;background:#222c1b99;color:#d1d8cc;border-color:#97af8660;font:11px monospace;touch-action:none;user-select:none;-webkit-user-select:none}.mobile-controls button:last-child{min-width:74px}.mobile-controls button:active{background:#97af8655}.canvas-wrap canvas{touch-action:none}}@media(prefers-reduced-motion:reduce){.attempt-pop,.play-again{animation:none}}.screen-content{opacity:1}.screen-out{opacity:0;transition:opacity .15s ease;pointer-events:none}.screen-in{animation:screen-in .16s ease both}@keyframes screen-in{0%{opacity:0}to{opacity:1}}.menu-section{padding-top:44px}.menu-surface{border:1px solid #3b443b;border-radius:8px;background-color:#141818;background-image:linear-gradient(#ffffff06 1px,transparent 1px),linear-gradient(90deg,#ffffff06 1px,transparent 1px);background-size:40px 40px;min-height:470px;padding:55px}.title-screen{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.menu-title{font-size:clamp(64px,8vw,104px);line-height:.97;margin:20px 0;animation:title-enter .35s ease both;outline:none}.menu-title em{display:inline-block;animation:title-enter .35s .1s both}.menu-tagline{font:12px monospace;letter-spacing:2px;color:#89928a;line-height:1.6;margin:18px 0 26px}.title-actions{display:flex;flex-direction:column;gap:16px;align-items:center;animation:title-enter .35s .2s both}.title-actions>button{min-width:230px;justify-content:center;min-height:44px;font:13px monospace;letter-spacing:1.5px}.primary-button{background:#ccff70;color:#172114;border:1px solid #ccff70;border-radius:4px;padding:12px 22px;font:700 13px monospace;letter-spacing:1px;justify-content:center;min-height:44px}.primary-button:hover{background:#ddff9c;color:#172114}@keyframes title-enter{0%{opacity:.01;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.menu-status{display:flex;justify-content:space-between;align-items:center;padding:16px 3px;color:#899589;font:11px monospace;letter-spacing:1px}.select-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.back-button{font:11px monospace;padding:8px;white-space:nowrap}.level-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:18px}.level-card{display:flex;align-items:stretch;flex-direction:column;text-align:left;border:1px solid #3b443b;background:#1b201d;border-radius:6px;min-height:200px;padding:26px;gap:28px;transition:border-color .15s}.level-card:hover:enabled{border-color:#ccff70;color:#e6ece6}.level-card:disabled{opacity:.45;cursor:not-allowed}.card-top{display:flex;justify-content:space-between;gap:20px;color:#a5afa3;font:11px monospace;letter-spacing:1px}.level-card strong{font:600 32px Barlow Condensed,Impact,sans-serif;color:#e6ece6}.card-score{color:#899589;font:11px monospace;letter-spacing:1px}.reset-progress{font:10px monospace;letter-spacing:1px;color:#778174;margin:28px 0 0;padding:6px 0}.reset-dialog{background:#1b201d;border:1px solid #536248;border-radius:6px;color:#e6ece6;max-width:440px;padding:30px}.reset-dialog::backdrop{background:#080c0bd9}.reset-dialog h2{font:600 32px Barlow Condensed,Impact,sans-serif;margin:0}.reset-dialog p{font-size:14px;line-height:1.6;color:#a5afa3}.dialog-actions{display:flex;justify-content:flex-end;gap:20px;margin-top:26px}.dialog-actions button{font:12px monospace;min-height:44px}.level-intro{position:absolute;left:0;right:0;top:16%;text-align:center;pointer-events:none;animation:level-intro .9s both;color:#ccff70}.level-intro span{display:block;font:12px monospace;letter-spacing:2px}.level-intro strong{display:block;font:600 clamp(18px,3vw,32px) "Barlow Condensed",Impact,sans-serif;margin-top:6px}@keyframes level-intro{0%{opacity:0;transform:translateY(5px)}15%,60%{opacity:1;transform:translateY(0)}to{opacity:0;visibility:hidden}}.completion-actions{position:absolute;left:0;right:0;top:64%;display:flex;justify-content:center;align-items:center;gap:18px;animation:completion-in .25s .1s both}.completion-actions button{font:12px monospace;letter-spacing:.5px;min-height:40px;justify-content:center}.completion-actions button:disabled{opacity:.2;cursor:default}.select-heading h1:focus{outline:none}@media(max-width:700px){.menu-section{padding-top:28px}.menu-surface{padding:30px 22px;min-height:400px}.level-cards{gap:14px;grid-template-columns:1fr}.level-card{min-height:160px;gap:18px;padding:20px}.select-heading{flex-direction:column;gap:0}.select-heading .menu-tagline{margin-bottom:12px}.card-top{font-size:10px}.menu-tagline{font-size:10px;letter-spacing:1.2px}.completion-actions{gap:9px}.completion-actions button{font-size:9px;min-height:32px;padding:7px 8px}.game-actions{gap:8px}.game-actions>button[aria-label="Level select"]{font-size:9px}}@media(prefers-reduced-motion:reduce){.screen-in,.menu-title,.menu-title em,.title-actions,.completion-actions{animation:none}.screen-out{transition:none}.level-intro{animation:level-intro .9s both}}.adventure-badge{margin-top:24px;color:#ccff70;font:11px monospace;letter-spacing:1.5px}.final-completion-actions{top:77%;gap:14px}.finale-intro{animation-duration:1.5s}.level-intro>span:not(:first-child){margin-top:12px}.intro-first{animation:intro-first .7s step-end forwards}.intro-last{position:absolute;left:0;right:0;bottom:0;opacity:0;animation:intro-last .1s .7s forwards}@keyframes intro-first{to{opacity:0}}@keyframes intro-last{to{opacity:1}}@media(max-width:700px){.final-completion-actions{gap:4px;flex-wrap:wrap;padding:0 8px}.final-completion-actions button{font-size:8px;padding:5px;min-height:28px}}.touch-hint{display:none}@media(any-pointer:coarse),(max-width:700px){.mobile-controls{position:static;display:flex;gap:12px;margin:0;padding:12px;background:#1b201d;border-top:1px solid #333c32;pointer-events:auto;touch-action:none}.mobile-controls button{min-width:64px;min-height:56px;border:1px solid #536248;border-radius:6px;background:#222c1b;color:#d1d8cc;font:12px monospace;justify-content:center;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.mobile-controls button:last-child{margin-left:auto;min-width:100px}.mobile-controls button:active{background:#536248;color:#ccff70}.canvas-wrap canvas{touch-action:none}.touch-hint{display:block;text-align:center;color:#899589;font:11px monospace;line-height:1.6;margin:14px 0}.game-section>.instructions{display:none}.completion-actions,.final-completion-actions{position:static;display:flex;flex-wrap:wrap;padding:12px;gap:10px;background:#1b201d}.completion-actions button,.final-completion-actions button{min-height:44px;font-size:11px;padding:10px 12px}.game-actions button{min-height:44px;min-width:44px;justify-content:center}.statusbar{flex-wrap:wrap;gap:4px 12px;padding:4px 10px}.statusbar>span{flex:1;min-width:145px}.title-row{gap:10px}.title-row h1{font-size:clamp(23px,6vw,32px)}.attempt{padding:8px;gap:6px}.attempt strong{font-size:20px}.back-button,.menu-status button,.reset-progress{min-height:44px}}@media(max-width:700px){main{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.edition{display:none}.title-row{margin-bottom:18px}.game-section{padding-top:20px}.menu-title{font-size:clamp(48px,14vw,72px)}.reset-dialog{max-width:calc(100vw - 28px)}}@media(orientation:landscape)and (max-height:550px)and (any-pointer:coarse){main.is-playing>header,main.is-playing>footer,.is-playing .eyebrow,.is-playing .touch-hint{display:none}.is-playing .game-section{padding-top:6px}.is-playing .title-row{margin-bottom:6px}.is-playing .title-row h1{font-size:22px}.is-playing .attempt{padding:3px 8px}.is-playing .attempt strong{font-size:18px}.is-playing .game-frame{max-width:calc((100svh - 154px)*2);margin:auto}.is-playing .mobile-controls{padding:6px 12px}.is-playing .mobile-controls button{min-height:48px}.is-playing .statusbar{font-size:9px}.is-playing .game-actions button{min-height:36px}}
