:root{color:#ede8db;font-synthesis:none;--line:#2a3039;--panel:#11151b;--panel-2:#161b22;--muted:#89919d;--gold:#f3bd42;--red:#d84a39;--green:#43d278;background:#090b10;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}*{box-sizing:border-box}body{background:linear-gradient(#ffffff06 1px,#0000 1px) 0 0/100% 32px,radial-gradient(circle at 40% -20%,#25303b 0,#0000 42rem),#090b10;min-width:320px;min-height:100vh;margin:0}button,select,input{font:inherit}button,.file-button{color:#e8e3d8;cursor:pointer;background:#191e25;border:1px solid #414955;border-radius:2px;min-height:36px;transition:border-color .12s,color .12s,background .12s}button:hover:not(:disabled),.file-button:hover{border-color:var(--gold);color:#ffd66f}.file-button:focus-within{outline:2px solid var(--gold);outline-offset:2px}button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}select:focus-visible{outline:2px solid var(--gold);outline-offset:2px}input:focus-visible{outline:2px solid var(--gold);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.36}.app-shell{width:min(1420px,100% - 40px);margin:0 auto;padding:28px 0 38px}.masthead{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:18px;display:flex}.eyebrow,.section-kicker{color:#cc8632;letter-spacing:.17em;margin:0 0 7px;font-size:10px;display:block}h1,h2,p{margin-top:0}h1{color:#f3eddf;letter-spacing:.055em;margin-bottom:0;font-family:Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;font-size:max(42px,min(6vw,76px));line-height:.85}h2{letter-spacing:.02em;margin-bottom:0;font-size:17px}.header-status{border:1px solid var(--line);min-width:180px;color:var(--muted);background:#11151bcc;justify-content:space-between;align-items:center;gap:18px;padding:11px 13px;font-size:11px;display:flex}.header-tools{align-items:stretch;gap:8px;display:flex}.mode-toggle{color:#f2c45e;letter-spacing:.06em;border-color:#a56e30;min-width:104px;padding:0 13px;font-size:10px}.mode-toggle[aria-pressed=true]{color:#fff2d5;background:#7d2940;border-color:#6d2536}.status-light{background:var(--green);border-radius:50%;width:8px;height:8px;box-shadow:0 0 12px #43d27888}.workspace{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:16px;display:grid}.game-column,.panel{border:1px solid var(--line);background:var(--panel);box-shadow:0 18px 55px #0005}.game-column{min-width:0;padding:12px}.stage-bar{justify-content:space-between;align-items:center;gap:16px;min-height:60px;padding:4px 4px 12px;display:flex}.stage-bar strong{text-overflow:ellipsis;white-space:nowrap;max-width:55vw;font-size:14px;display:block;overflow:hidden}.stage-bar select{color:#e8e3d8;background:#191e25;border:1px solid #414955;border-radius:2px;width:min(260px,34vw);height:36px;padding:0 28px 0 10px}.screen-frame{background:#000;border:2px solid #545c67;position:relative;overflow:hidden;box-shadow:inset 0 0 0 5px #101318}.screen-meta{color:#a8afb8;letter-spacing:.08em;background:#0a0c10;border-bottom:1px solid #252a30;justify-content:space-between;align-items:center;height:28px;padding:0 9px;font-size:9px;display:flex}.screen-meta span:last-child{color:var(--gold)}.game-scroll{scrollbar-width:none;background:#000;place-items:start center;width:100%;min-height:min(56vw,416px);display:grid;overflow:hidden}.game-scroll::-webkit-scrollbar{display:none}#game-canvas{width:min(100%, var(--game-display-width));height:auto;image-rendering:pixelated;image-rendering:crisp-edges;display:block}.game-overlay{text-align:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#05070bdc;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px;display:flex;position:absolute;top:28px;bottom:0;left:0;right:0}.game-overlay[hidden]{display:none}.game-overlay strong{color:#ffd35c;letter-spacing:.09em;font-size:max(22px,min(4vw,40px))}.game-overlay span{color:#aab1bb;font-size:12px}.overlay-actions{gap:8px;margin-top:8px;display:flex}.overlay-actions button{padding:0 16px}.game-actions{align-items:center;gap:8px;padding:12px 2px 0;display:flex}.game-actions button{padding:0 14px}.action-note{color:#737c87;margin-left:auto;font-size:9px}.key-guide{grid-template-columns:1.4fr repeat(4,1fr);gap:7px;margin-top:11px;display:grid}.key-guide>div{color:#737c87;background:#0c1015;border:1px solid #252c34;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:54px;font-size:9px;display:flex}.handheld-controls{display:none}kbd{color:#f3c658;font:inherit;font-size:11px}.control-column{gap:12px;display:grid}.panel{padding:15px}.panel-heading{border-bottom:1px solid #293039;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:15px;padding-bottom:13px;display:flex}.pill{color:#7f8994;border:1px solid #3e474f;padding:5px 7px;font-size:8px}.setting-row{grid-template-columns:1fr auto;gap:7px 12px;margin-bottom:14px;display:grid}.setting-row>span,.toggle-row>span{gap:4px;display:grid}.setting-row b,.toggle-row b{font-size:11px;font-weight:600}.setting-row small,.toggle-row small,.level-panel p,.mechanic-note p{color:#7f8995;font-size:9px;line-height:1.65}.setting-row output{color:var(--gold);font-size:10px}.setting-row select{color:#e5e7eb;min-width:88px;font:inherit;background:#10141a;border:1px solid #3e474f;border-radius:2px;align-self:center;padding:7px 24px 7px 8px;font-size:10px}.speed-warning{color:#f2a092;background:#2a1514;border-left:2px solid #e75b49;margin:-4px 0 14px;padding:8px 9px;font-size:9px;line-height:1.55}.setting-row input[type=range]{accent-color:#d99736;grid-column:1/-1;width:100%}.toggle-row{justify-content:space-between;align-items:center;gap:12px;margin:4px 0 16px;display:flex}.toggle-row input{accent-color:#d99736;width:18px;height:18px}.primary-button{color:#11100c;background:#d49135;border-color:#d49135;font-weight:700}.primary-button:hover:not(:disabled){color:#11100c;background:#f0b94a}#apply-rules-button{width:100%}.level-panel p{margin-bottom:13px}.puzzle-lab-entry{color:var(--gold);background:#18150f;border:1px solid #57462a;justify-content:space-between;align-items:center;gap:12px;margin:0 0 15px;padding:10px 11px;text-decoration:none;display:flex}.puzzle-lab-entry>span:first-child{gap:4px;display:grid}.puzzle-lab-entry b{font-size:10px}.puzzle-lab-entry small{color:#8e8679;font-size:8px;line-height:1.5}.puzzle-lab-entry:hover{border-color:var(--gold);color:#ffd66f;background:#211c12}.puzzle-lab-entry:focus-visible{border-color:var(--gold);color:#ffd66f;background:#211c12}.level-actions{gap:7px;display:grid}.mechanic-note{background:#11151b;border-left:2px solid #c94c39;padding:13px 15px}.mechanic-note p{margin-bottom:0}.editor-dialog{color:#e8e3d8;background:#0f1318;border:1px solid #4a535e;border-radius:2px;width:min(1140px,100% - 24px);max-width:none;max-height:calc(100vh - 24px);padding:0;box-shadow:0 30px 100px #000b}.editor-dialog:not([open]){display:none}.editor-dialog.fallback-dialog[open]{z-index:1000;margin:auto;display:block;position:fixed;top:12px;bottom:12px;left:12px;right:12px}.editor-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#030509d9}.editor-shell{gap:13px;padding:16px;display:grid}.editor-header,.editor-footer{justify-content:space-between;align-items:center;gap:10px;display:flex}.editor-header{border-bottom:1px solid var(--line);padding-bottom:12px}.editor-header button,.editor-footer button,.file-button{padding:0 13px}.editor-fields{grid-template-columns:1fr 90px 90px auto;align-items:end;gap:8px;display:grid}.editor-fields label{color:#8d96a1;gap:5px;font-size:9px;display:grid}.editor-fields input{color:#e8e3d8;background:#080b0f;border:1px solid #3a424c;border-radius:2px;width:100%;height:36px;padding:0 9px}.brushes{flex-wrap:wrap;gap:6px;display:flex}.brushes button{min-height:31px;padding:0 10px;font-size:9px}.brushes button.active{border-color:var(--gold);color:#ffd66f;background:#3b2b14}.editor-scroll{background:#05070a;border:1px solid #343c46;min-height:260px;max-height:calc(100vh - 330px);overflow:auto}#editor-canvas{min-width:100%;height:auto;image-rendering:pixelated;display:block}.editor-message{color:#89939e;min-height:18px;margin-bottom:0;font-size:9px}.editor-message[data-state=error]{color:#f16b5a}.editor-footer{border-top:1px solid var(--line);justify-content:flex-end;padding-top:12px}.file-button{place-items:center;font-size:11px;display:inline-grid}.file-button input{clip-path:inset(50%);width:1px;height:1px;position:absolute}.sr-only{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}@media (max-width:1040px){.workspace{grid-template-columns:1fr}.control-column{grid-template-columns:repeat(2,minmax(0,1fr))}.mechanic-note{grid-column:1/-1}}@media (max-width:680px){.app-shell{width:calc(100% - 16px);padding-top:18px}.masthead,.stage-bar{flex-direction:column;align-items:stretch}.header-tools,.header-status,.stage-bar select{width:100%}.header-tools{grid-template-columns:auto 1fr;display:grid}.stage-bar strong{max-width:90vw}.game-scroll{min-height:0}.key-guide{grid-template-columns:repeat(2,1fr)}.control-column{grid-template-columns:1fr}.mechanic-note{grid-column:auto}.editor-fields{grid-template-columns:1fr 1fr}.editor-fields label:first-child{grid-column:1/-1}.editor-footer{flex-direction:column;align-items:stretch}}.handheld-mode body{background:radial-gradient(circle at 50% -10%,#5c6164 0,#0000 35rem),repeating-linear-gradient(135deg,#202326 0,#202326 2px,#1c1f21 2px,#1c1f21 4px)}.handheld-mode .app-shell{width:min(720px,100% - 20px);padding:18px 0 30px}.handheld-mode .masthead{align-items:center;margin-bottom:12px}.handheld-mode .masthead .eyebrow{color:#bcad8c;margin-bottom:4px}.handheld-mode h1{color:#e6dcc5;font-size:max(30px,min(7vw,48px))}.handheld-mode .workspace{display:block}.handheld-mode .control-column{display:none}.handheld-mode .game-column{background:radial-gradient(circle at 15px 15px,#716857 0,#716857 2px,#ded2b8 2px,#ded2b8 4px,#0000 4px),radial-gradient(circle at calc(100% - 15px) 15px,#716857 0,#716857 2px,#ded2b8 2px,#ded2b8 4px,#0000 4px),linear-gradient(145deg,#d7c9aa,#bdae91);border:3px solid #8b806c;border-radius:34px 34px 58px;padding:22px 22px 27px;position:relative;overflow:hidden;box-shadow:inset 0 2px #f3e8d0,inset 0 -7px 12px #796f5d55,0 26px 70px #0009}.handheld-mode .stage-bar{color:#2d302f;min-height:50px;padding:1px 6px 12px}.handheld-mode .stage-bar .section-kicker{color:#764052}.handheld-mode .stage-bar select{color:#f0e8d7;background:#3f4340;border-color:#756c5b;border-radius:5px}.handheld-mode .screen-frame{background:#050607;border:10px solid #303338;border-radius:17px 17px 30px;overflow:hidden;box-shadow:inset 0 0 0 2px #090a0d,0 2px #e8dcc4,0 8px 15px #665d4e88}.handheld-mode .screen-meta{color:#aeb2ae;background:#191c20}.handheld-mode .game-actions,.handheld-mode .key-guide{display:none}.handheld-mode .handheld-controls{--pad-unit:clamp(48px, 11vw, 64px);--control-press-duration:20ms;color:#403b34;touch-action:none;-webkit-user-select:none;user-select:none;grid-template-columns:1fr 1fr;align-items:center;gap:16px 24px;padding:max(42px,min(8vw,56px)) 5px 0;display:grid}.handheld-mode .handheld-controls button{-webkit-tap-highlight-color:transparent}.d-pad{grid-template:repeat(3, var(--pad-unit)) / repeat(3, var(--pad-unit));filter:drop-shadow(0 7px 4px #5d5447bb);justify-self:start;display:grid}.d-pad-button{z-index:1;width:var(--pad-unit);min-height:0;height:var(--pad-unit);color:#666968;touch-action:none;transition:color var(--control-press-duration) ease, background var(--control-press-duration) ease, box-shadow var(--control-press-duration) ease, transform var(--control-press-duration) ease;background:linear-gradient(#383a3a,#242627);border:0;border-radius:7px 7px 2px 2px;place-items:center;padding:0;display:grid;position:relative;box-shadow:inset 2px 2px 2px #555858,inset -2px -2px 2px #111213}.d-pad-button:hover:not(:disabled){color:#d7d2c3;border-color:#0000}.d-pad-button.is-pressed{color:#ffe09a;background:linear-gradient(#202222,#151617);transform:translateY(4px)scale(.95);box-shadow:inset 3px 5px 8px #090a0b,0 0 0 2px #b99a5d}.d-pad-arrow{color:#c3c5bf;fill:currentColor;filter:drop-shadow(0 1px #080909)drop-shadow(0 0 3px #fff3);width:38%;height:38%}.d-pad-button.is-pressed .d-pad-arrow{color:#ffe09a;filter:drop-shadow(0 0 4px #f3bd4288)}.d-pad-up{grid-area:1/2}.d-pad-left{border-radius:7px 2px 2px 7px;grid-area:2/1}.d-pad-left .d-pad-arrow{transform:rotate(-90deg)}.d-pad-right{border-radius:2px 7px 7px 2px;grid-area:2/3}.d-pad-right .d-pad-arrow{transform:rotate(90deg)}.d-pad-down{border-radius:2px 2px 7px 7px;grid-area:3/2}.d-pad-down .d-pad-arrow{transform:rotate(180deg)}.d-pad-center{z-index:2;background:radial-gradient(circle,#343636 0,#343636 20%,#0000 21%),linear-gradient(#383a3a,#242627);grid-area:2/2;position:relative;box-shadow:inset 2px 2px 2px #555858,inset -2px -2px 2px #111213}.action-cluster{background:#a99b80aa;border-radius:999px;justify-self:end;align-items:center;gap:max(8px,min(3vw,16px));padding:12px;display:flex;transform:rotate(-10deg);box-shadow:inset 0 2px 5px #6e655588}.action-button{color:#f7dfc4;text-shadow:0 1px #54152b;touch-action:none;width:max(50px,min(16vw,66px));height:max(50px,min(16vw,66px));min-height:0;transition:background var(--control-press-duration) ease, box-shadow var(--control-press-duration) ease, transform var(--control-press-duration) ease;background:linear-gradient(145deg,#b83e61,#71243d);border:2px solid #66233a;border-radius:50%;align-content:center;place-items:center;gap:1px;padding:0;display:grid;transform:rotate(10deg);box-shadow:inset 3px 3px 3px #d55b79,inset -3px -4px 4px #4a1428,0 5px 5px #665947}.action-button:hover:not(:disabled){color:#fff2d9;border-color:#66233a}.action-button.is-pressed{color:#ffe09a;background:linear-gradient(145deg,#702039,#4e152b);transform:rotate(10deg)translateY(5px)scale(.94);box-shadow:inset 4px 6px 8px #350b1c,0 0 0 3px #d0ad69,0 1px 1px #665947}.action-button strong{font-size:max(17px,min(5vw,24px));line-height:1}.action-button small{font-size:8px}.action-b{margin-top:18px}.action-a{margin-bottom:18px}.system-controls{grid-column:1/-1;justify-content:center;align-items:center;gap:12px;display:flex}.system-button{color:#e1d6be;letter-spacing:.08em;min-width:78px;min-height:28px;transition:color var(--control-press-duration) ease, box-shadow var(--control-press-duration) ease, transform var(--control-press-duration) ease;background:linear-gradient(#777264,#4c4b44);border:2px solid #615949;border-radius:999px;padding:0 13px;font-size:9px;transform:rotate(-4deg);box-shadow:inset 0 2px 1px #9b9585,0 3px 2px #746a58}.system-button:hover:not(:disabled){color:#fff2d7;border-color:#615949}.system-button:active:not(:disabled),.system-button.is-pressed:not(:disabled){color:#ffe09a;transform:rotate(-4deg)translateY(4px)scale(.96);box-shadow:inset 0 4px 6px #292824,0 0 0 2px #b99a5d}.console-mark{color:#7d2940;letter-spacing:.08em;font-family:Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;font-size:15px;font-style:italic}.speaker-slots{grid-column:1/-1;justify-content:flex-end;gap:7px;padding:0 12px 0 0;display:flex;transform:rotate(-12deg)}.speaker-slots i{background:#716754;border-radius:999px;width:5px;height:28px;display:block;box-shadow:inset 1px 1px 2px #4e493f}@media (max-width:680px){.handheld-mode .app-shell{width:calc(100% - 10px);padding-top:8px}.handheld-mode .masthead{grid-template-columns:1fr;gap:8px;display:grid}.handheld-mode .masthead>div:first-child{display:none}.handheld-mode .header-tools{grid-template-columns:auto 1fr}.handheld-mode .game-column{border-radius:25px 25px 45px;padding:15px 13px 22px}.handheld-mode .stage-bar{grid-template-columns:minmax(0,1fr) minmax(118px,42%);align-items:center;gap:8px;display:grid}.handheld-mode .stage-bar select{width:100%}.handheld-mode .screen-frame{border-width:7px;border-radius:12px 12px 22px}.handheld-mode .handheld-controls{--pad-unit:clamp(44px, 14vw, 56px);padding-top:max(56px,min(14vh,118px));padding-top:max(56px,min(14dvh,118px));padding-bottom:max(4px, env(safe-area-inset-bottom));gap:13px 16px}.action-cluster{padding:8px}.system-controls{gap:8px}.system-button{min-width:70px;padding:0 10px}}@media (max-width:360px){.handheld-mode .header-status{min-width:0}.handheld-mode .stage-bar{grid-template-columns:1fr 112px}.handheld-mode .stage-bar strong{font-size:12px}.handheld-mode .handheld-controls{--pad-unit:44px;gap:10px}.action-button{width:47px;height:47px}}
