:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#e9e5d9;--muted:#a9aaa1;--line:#d5d3bc28;--accent:#d4bc7c;--surface:#252725;font-synthesis:none;color:var(--ink);background:#101211;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{overscroll-behavior:none;width:100%;height:100%;margin:0;overflow:hidden}button,select,input{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;color:inherit}button:disabled{opacity:.45;cursor:default}button,a,select,input{outline-offset:4px}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,canvas:focus-visible{outline:2px solid var(--accent)}[hidden]{display:none!important}h1,h2,p{margin-top:0}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;overflow:hidden;position:absolute!important}.app{isolation:isolate;width:100%;height:100dvh;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);background:radial-gradient(at 50% 38%,#262923 0,#181b18 44%,#0e1110 100%);position:fixed;inset:0;overflow:hidden}.cabinet{--bezel:7px;aspect-ratio:1.16;background:linear-gradient(140deg,#56594f 0,#393d36 3%,#242823 42%,#2e322b 100%);border-radius:12px;width:min(92vw,112dvh);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 0 1px #bcc0a873,inset 1px 0 #999e8b40,inset -1px -2px #080c09,0 2px #080b09,0 18px 55px #0008}.display{inset:var(--bezel);background:#000;border-radius:2px;position:absolute;overflow:clip;box-shadow:0 0 0 2px #090d09,0 0 0 3px #6e746345}.display canvas{width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges;touch-action:none;outline-offset:-3px;border:0;display:block}#menu{position:absolute;inset:0}.app[data-screen=menu] #game,.app[data-screen=boot] #game{visibility:hidden}.boot-enter{touch-action:manipulation;background:#000;border:0;width:100%;height:100%;padding:0;display:block;position:absolute;inset:0}.boot-enter:disabled{opacity:1}#menu-loading{width:80%;height:78.125%;image-rendering:pixelated;image-rendering:crisp-edges;position:absolute;top:0;left:10%}.boot-enter:focus-visible{outline-offset:-4px}#menu-targets{pointer-events:none;position:absolute;inset:0}.menu-icon{pointer-events:auto;touch-action:manipulation;background:0 0;border:0;padding:0;position:absolute}.menu-icon:focus-visible{outline-offset:-4px;outline:1px dashed #fff6}.app[data-screen=boot] #menu-targets{display:none}.screen-tools{top:max(12px,env(safe-area-inset-top));z-index:4;pointer-events:none;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:12px;height:44px;display:flex;position:absolute;left:12px;right:12px}.utility-tools,.context-tools,#menu-dock{align-items:center;gap:8px;display:flex}.context-tools{min-width:0}#menu-dock{gap:4px}.screen-button{color:#d2d5be;pointer-events:auto;touch-action:manipulation;background:linear-gradient(145deg,#3b4135,#252c23);border:1px solid #6a705744;border-radius:12px;flex-shrink:0;place-items:center;width:44px;height:44px;padding:0;transition:transform .12s cubic-bezier(.23,1,.32,1);display:grid;box-shadow:inset 0 1px #aeb69a30,inset 0 -2px #10160e80,0 3px 8px #0004}.screen-button svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;width:21px;height:21px}#menu-settings{color:#ead5a2;background:linear-gradient(145deg,#494a37,#303526);border-color:#9a8e574d}.screen-button:active{transition:none;transform:translateY(1px)scale(.96);box-shadow:inset 0 2px 4px #0006}.screen-button:focus-visible{outline-offset:4px;transition:none}.screen-button.text-key{letter-spacing:1px;width:auto;min-width:52px;padding:0 13px;font:600 11px ui-monospace,monospace}#menu-select{min-width:44px;padding:0 8px}.app[data-screen=boot] .screen-tools,.app:not([data-screen=boot]) #boot-status,.app:not([data-screen=menu]) #menu-dock{display:none}.app[data-screen=paused] .screen-tools{visibility:hidden}@media (hover:hover) and (pointer:fine){.screen-button:hover{color:#fff0c5;background:linear-gradient(145deg,#4b5341,#31392b);border-color:#b9c29188}#menu-settings:hover{background:linear-gradient(145deg,#5b5c42,#3c442e);border-color:#d1ba7180}}.touch-controls{pointer-events:none;z-index:3;-webkit-user-select:none;user-select:none;position:absolute;inset:0}.direction-controls,.action-controls{pointer-events:none;touch-action:none;width:144px;height:136px;position:absolute}.touch-controls button{pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:0 0;border:0;place-items:center;padding:5px;display:grid;position:absolute}.touch-controls button span{letter-spacing:1px;pointer-events:none;place-items:center;width:100%;height:100%;font:600 10px ui-monospace,monospace;transition:color 80ms,background 80ms,box-shadow 80ms;display:grid}.direction-controls:before{content:"";background:#33382f;width:42px;height:35px;position:absolute;top:33px;left:51px;box-shadow:inset 0 1px #6a715c,inset 0 -3px #161b14}.direction-controls:after{content:"";background:#22281e;border-radius:1px;width:5px;height:5px;position:absolute;top:48px;left:69px;box-shadow:0 1px #59624d}.direction-controls button{width:58px;height:64px;top:16px}.direction-controls [data-input=left]{left:0}.direction-controls [data-input=right]{right:0}.direction-controls button span{color:#c6cdb8;text-shadow:0 1px #000;background:linear-gradient(#41473b,#30362a);border-radius:6px;font-size:17px;box-shadow:inset 0 1px #7a826a,inset 0 -4px #171e12,0 4px 7px #0006}.direction-controls [data-input=down]{height:56px;top:80px;left:43px}.direction-controls [data-input=down] span{color:#737c65;background:linear-gradient(#2c3227,#252c20);font-size:13px;box-shadow:inset 0 1px #4d5840,inset 0 -3px #141b0e,0 3px 6px #0004}.touch-controls[data-return=true] [data-input=down] span{color:#eed595;background:linear-gradient(#5b6048,#414831);box-shadow:inset 0 1px #a4a981,inset 0 -3px #232b17,0 0 0 1px #8a936155}.action-controls button{width:64px;height:64px;top:59px;left:0}.action-controls [data-input=jump]{width:78px;height:78px;top:5px;left:66px}.action-controls button span{color:#fae5c9;text-shadow:0 1px #612a1b;background:linear-gradient(145deg,#bd7966,#975440);border-radius:50%;box-shadow:inset 0 2px 1px #e9b091,inset 0 -5px 1px #572c20,0 5px #10140e,0 7px 12px #0006}.action-controls [data-input=jump] span{color:#343a2b;text-shadow:0 1px #eee5ca;background:linear-gradient(145deg,#ded4b7,#b4af96);box-shadow:inset 0 2px 1px #f9f0d5,inset 0 -5px 1px #77795f,0 5px #10140e,0 7px 12px #0006}.touch-controls button.held span{color:#fff2cc;filter:brightness(.88);transition:none;transform:translateY(3px);box-shadow:inset 0 2px 4px #0008,0 1px #0b1008}.touch-controls button:focus-visible{outline-offset:-2px;border-radius:7px}.app[data-screen=paused] .touch-controls{visibility:hidden}.app:not([data-screen=menu]) #menu-settings,.app:not([data-screen=menu]) #continue-save,.app:not([data-menu-screen=menu]) #continue-save{display:none}.primary,.secondary{border:1px solid #89917055;border-radius:10px;justify-content:center;align-items:center;gap:12px;width:100%;min-height:48px;padding:12px 16px;font-size:15px;font-weight:600;transition:transform .12s cubic-bezier(.23,1,.32,1);display:flex}.primary{color:#303727;background:linear-gradient(150deg,#e2d9bd,#bab79d);border-color:#efe5c480;box-shadow:inset 0 1px #fff5d4b3,inset 0 -3px #777b5f,0 3px #141b10,0 5px 8px #0003}.secondary{color:#e0e3cd;background:linear-gradient(145deg,#404737,#2e3729);box-shadow:inset 0 1px #a4ae8244,inset 0 -2px #1a2414,0 2px 4px #0003}.primary:active,.secondary:active{transition:none;transform:translateY(2px);box-shadow:inset 0 2px 4px #0004}.menu-action,.text-button{color:#c4cbb6;text-align:center;background:0 0;border:0;border-radius:8px;width:100%;min-height:44px;padding:12px;font-size:14px;display:block}.menu-action:active,.text-button:active{background:#10180d66}.screen-overlay{z-index:6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#080e09b8;place-items:center;padding:16px;display:grid;position:absolute;inset:0;overflow:auto}.pause-panel,dialog{color:#e4e6d5;background:linear-gradient(145deg,#3b4335,#2b3426);border:1px solid #747d5d80;border-radius:18px;box-shadow:inset 0 1px #b9c09955,inset 0 -2px #182013,0 0 0 3px #11180fb3,0 20px 64px #0009}.pause-panel{flex-direction:column;gap:4px;width:min(100%,304px);padding:24px;display:flex}.pause-heading{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:22px;display:flex}.pause-panel h1,dialog h2{letter-spacing:-.4px;margin:0;font-size:21px;font-weight:600;line-height:1.3}.pause-heading span{color:#a7b096;white-space:nowrap;font-size:12px}.pause-panel .primary{margin-bottom:8px}.muted{color:#aeb79e;line-height:1.6}.small{font-size:12px}.eyebrow{color:#aeb79e;letter-spacing:1px;font-size:10px}.save-status{left:50%;top:max(16px,env(safe-area-inset-top));z-index:9;border:1px solid var(--line);text-align:center;pointer-events:none;opacity:0;background:#2b3826f2;border-radius:8px;max-width:min(480px,100% - 144px);margin:0;padding:10px 14px;font-size:12px;line-height:1.5;transition:opacity .15s;position:absolute;transform:translate(-50%);box-shadow:0 8px 24px #0006}.save-status[data-visible=true]{opacity:1}.save-status:empty{display:none}.save-status[data-error=true]{pointer-events:auto;border-color:#e39875}.loading-error{z-index:7;color:#fff;text-align:center;background:#101722;place-items:center;padding:24px;font-size:14px;display:grid;position:absolute;inset:0}dialog{--panel-width:340px;inset:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);height:fit-content;width:min(var(--panel-width),calc(100% - 32px));max-height:calc(100dvh - max(16px,env(safe-area-inset-top)) - max(16px,env(safe-area-inset-bottom)));overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#84906b #263121;margin:auto;padding:24px;position:fixed}dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#080e09b8}body:has(dialog[open]) .screen-overlay{visibility:hidden}dialog h2{margin:2px 40px 22px 0}dialog p{font-size:13px;line-height:1.6}dialog .primary{margin-top:18px}.close-dialog{color:#b4bea4;background:0 0;border:0;border-radius:10px;place-items:center;width:44px;height:44px;font:24px/1 -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:grid;position:absolute;top:14px;right:14px}.close-dialog:active{background:#10180d66}.settings-rows{flex-direction:column;display:flex}.setting-row{color:#e0e4d1;text-align:left;background:0 0;border:0;border-bottom:1px solid #95a17b26;border-radius:0;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:54px;padding:0;font-size:14px;display:flex}.setting-row:last-child{border-bottom:0}.setting-value{color:#b8c2a6;align-items:center;gap:10px;font-size:13px;display:flex}.key-light{background:#c3d598;border-radius:50%;width:6px;height:6px;box-shadow:0 0 5px #c3d59833}.setting-row[aria-pressed=false] .key-light{background:#192114;box-shadow:inset 0 1px 2px #0008}#edit-player-name{white-space:nowrap;text-overflow:ellipsis;letter-spacing:.5px;max-width:100px;font:12px ui-monospace,monospace;overflow:hidden}.setting-row select{width:auto;min-width:70px;max-width:50%;min-height:44px;box-shadow:none;color:#b8c2a6;text-align:right;cursor:pointer;background:0 0;border:0;padding:8px 4px;font-size:13px}#settings-status{color:#edbb96;margin:12px 0 0}#settings-status:empty{display:none}input,select{color:#dce3c9;background:#1d2919;border:1px solid #82926766;border-radius:8px;max-width:100%;padding:12px;font-size:14px;line-height:1.5;box-shadow:inset 0 2px 5px #101b0d66}input::placeholder{color:#909c7e}label{font-size:13px}#player-nickname{letter-spacing:8px;text-transform:uppercase;color:#e8d9a1;width:100%;padding:14px 16px;font:600 24px ui-monospace,monospace;display:block}#nickname-help{margin:10px 0 0}#nickname-skip{margin-top:8px}.form-error{color:#ffc09b;margin:12px 0 0;font-size:12px}.form-error:empty{display:none}#developer-dialog,#saves-dialog,#help-dialog,#credits-dialog{--panel-width:500px}.demo-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin:18px 0;display:grid}.demo-grid button{min-height:44px;font-size:13px}#saves-dialog label{color:#bfc7af;margin:20px 0 8px;display:block}#saves-dialog input,#saves-dialog select{width:100%}#saves-dialog select[size]{min-height:120px}.save-row{align-items:center;gap:10px;margin-top:12px;display:flex}.save-row>*{flex:1;min-width:0}#saves-dialog button:not(.close-dialog){font-size:13px}#use-player-save{margin-top:12px}#saves-dialog input[type=file]{margin-top:8px}#developer-status{overflow-wrap:anywhere;background:#1c2a16;border:1px solid #7e916055;border-radius:8px;padding:12px;font-size:12px}#developer-status:empty{display:none}dialog dl{grid-template-columns:60px 1fr;gap:0 14px;margin:20px 0;font-size:13px;line-height:1.6;display:grid}dialog dt,dialog dd{border-bottom:1px solid #9aa77922;padding:12px 0}dialog dt{color:#e2d5a4;font-weight:600}dialog dd{color:#bdc9ad;margin:0}.help-notes summary{cursor:pointer;min-height:44px;padding:12px 0;font-size:13px}@media (hover:hover) and (pointer:fine){.primary:hover{background:linear-gradient(150deg,#eee3c7,#c7c2a7)}.secondary:hover{background:linear-gradient(145deg,#505b42,#3b4731)}.menu-action:hover,.text-button:hover,.close-dialog:hover{color:#edeedb;background:#9aac7714}button.setting-row:hover{color:#f7f5dd}button.setting-row:hover .setting-value{color:#e0d7b5}}@media (max-width:600px){.save-status{top:auto;bottom:max(14px,env(safe-area-inset-bottom));width:max-content;max-width:calc(100% - 40px)}.save-row{flex-wrap:wrap}}@media (max-width:350px){dialog{padding:20px}.setting-row{font-size:13px}.setting-value,.setting-row select{font-size:12px}}@media (max-height:400px){dialog{padding:20px 24px}dialog h2{margin-bottom:14px}.setting-row{min-height:48px}.pause-panel{padding:20px 24px}.pause-heading{margin-bottom:16px}.screen-overlay{padding:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (prefers-contrast:more){.touch-controls button span{color:#fff;outline:1px solid #d9dfc3}.screen-button,.primary,.secondary,input,select{border-color:#d9dfc3}.muted,.setting-value,dialog dd{color:#e0e6d2}}@media (prefers-reduced-transparency:reduce){.screen-overlay,dialog::backdrop{background:#101611}}

