:root{font-family:Segoe UI,system-ui,sans-serif;color:#e7eee9;background:#111b20;font-synthesis:none;color-scheme:dark}*{box-sizing:border-box}body{margin:0}main{max-width:1400px;margin:0 auto;padding:38px 40px 20px}.page-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:30px}.eyebrow{font-size:11px;font-weight:650;letter-spacing:.18em;color:#a6bd9a;margin:0 0 12px}h1{font-size:clamp(25px,3vw,38px);line-height:1.15;font-weight:500;letter-spacing:-.04em;margin:0}.phase-tag{white-space:nowrap;font-size:10px;letter-spacing:.1em;padding:10px 13px;border:1px solid #3d514a;border-radius:5px;color:#b9c7b8}i{display:inline-block;height:6px;width:6px;border-radius:50%;background:#b1d18e;margin-right:7px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 342px;gap:22px}.screen-card,.control-card{border:1px solid #344249;border-radius:10px;background:#172329;overflow:hidden}.card-top,.screen-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:17px 20px;font-size:10px;letter-spacing:.1em;color:#99aaa9}.card-top{border-bottom:1px solid #344249}#scene-name{font-family:Consolas,monospace;color:#b3c69b;letter-spacing:0}#lab-panel{height:clamp(340px,64vh,790px);min-width:192px;background:#0c1418;display:flex;justify-content:center;align-items:center;outline:none;cursor:pointer}#lab-panel:focus-visible{outline:2px solid #b3cf8d;outline-offset:-3px}#screen-space{flex:none;box-shadow:0 0 0 7px #243432,0 0 0 8px #45594c}#game,#game canvas{display:block;image-rendering:pixelated}.screen-footer{padding-bottom:6px;letter-spacing:0}label{display:flex;align-items:center;gap:8px}select{padding:5px 8px;border:1px solid #50615f;border-radius:4px;background:#172329;color:#e7eee9}.scale-note{margin:0;padding:0 20px 16px;color:#9dacac;font-size:11px}.control-card{padding:24px}h2{font-size:24px;font-weight:500;letter-spacing:-.025em;margin:0 0 10px}.intro{font-size:13px;line-height:1.65;color:#afbcbd;margin:0 0 17px}kbd{font-family:inherit;font-size:11px;background:#2a3b40;border:1px solid #4b5e60;padding:1px 4px;border-radius:3px;color:#eef4ec}.input-status{font-size:11px;color:#c4c4aa;min-height:20px}.input-status[data-active=true]{color:#b3d68c}#activate-input{margin-top:7px;border:1px solid #526a5d;color:#d7e6c7;background:#263b35;border-radius:4px;padding:7px 12px;cursor:pointer;font:inherit;font-size:11px}#activate-input:hover,#restart-lab:hover,#to-map:hover{background:#355043}#to-map{margin-top:7px;border:1px solid #d4b571;color:#ffe5a3;background:#263b35;border-radius:4px;padding:9px 12px;cursor:pointer;font:inherit;font-size:12px}#restart-lab{margin-top:7px;border:1px solid #526a5d;color:#d7e6c7;background:#263b35;border-radius:4px;padding:7px 12px;cursor:pointer;font:inherit;font-size:11px}.lab-readout{margin-top:15px;font-family:Consolas,monospace;color:#c8dbac;font-size:11px}.lab-readout p{margin:0 0 5px}.lab-readout small{color:#94a8a7;font-size:10px}a{color:#c8dbac}button:focus-visible,select:focus-visible{outline:2px solid #c7e69e;outline-offset:3px}.controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:26px 0 13px}.dpad{display:grid;grid-template-columns:repeat(3,36px);grid-template-rows:repeat(3,36px);gap:3px}.key{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;background:#26363b;border:1px solid #4a5a5a;border-radius:5px;color:#d6e0d6;-webkit-user-select:none;user-select:none}.key b{font-size:14px;line-height:1;font-weight:600}.key small{font-size:8px;color:#aebeb5}.key[data-pressed=true]{background:#c6df99;color:#1b3528;border-color:#e4f6bd;box-shadow:0 0 15px #b3d68c26;transform:translateY(2px)}.key[data-pressed=true] small{color:#264231}.up{grid-column:2}.left{grid-row:2;grid-column:1}.right{grid-row:2;grid-column:3}.down{grid-row:3;grid-column:2}.dpad-center{grid-row:2;grid-column:2;border:1px solid #34494b;border-radius:3px;background:#223136}.action-pair{display:flex;gap:12px;padding-top:12px}.round{width:47px;height:47px;border-radius:50%}.raised{position:relative;top:-18px}.start-row{display:flex;align-items:center;gap:18px;font-size:10px;color:#92a5a4}.start{padding:8px 14px;border-radius:14px}.start b{font-size:9px;letter-spacing:.12em}.mapping{margin:24px 0 0;font-size:11px}.mapping div{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 0;border-top:1px solid #334349}dt{color:#d0dccd}dt span{color:#899c9d;font-size:10px}dd{margin:0;color:#9bb0ad}.footnote{color:#94a8a7;font-size:11px;line-height:1.6;margin:15px 0 0}.page-footer{display:flex;justify-content:space-between;gap:16px;padding-top:17px;color:#8fa3a3;font-size:10px}@media(max-width:900px){main{padding:22px 18px}.workspace{grid-template-columns:1fr}.page-header{flex-wrap:wrap;gap:16px}.control-card{max-width:none}.controls{justify-content:flex-start;gap:48px}#lab-panel{height:min(65vh,650px);min-height:320px}.page-footer,.screen-footer{flex-wrap:wrap}}@media(max-width:360px){main{padding:18px 10px}.card-top,.screen-footer{padding-left:12px;padding-right:12px}.control-card{padding:18px}.controls{gap:25px}}.visual-validation main{max-width:1600px;padding:12px 20px}.visual-validation .page-header{margin-bottom:10px}.visual-validation .page-header .eyebrow,.visual-validation .card-top,.visual-validation .page-footer{display:none}.visual-validation h1{font-size:24px}.visual-validation .phase-tag{padding:7px 10px}.visual-validation .workspace{grid-template-columns:minmax(0,1fr) 310px;gap:18px}.visual-validation #lab-panel{height:calc(100vh - 110px);min-height:440px}.visual-validation .screen-footer{padding:7px 16px 3px}.visual-validation .scale-note{padding:0 16px 8px}.visual-validation .control-card{padding:20px}#console-shell{flex:none;padding:16px 24px 12px;background:#686084;border:2px solid #9287ac;border-radius:18px 18px 38px}#console-shell #screen-space{box-shadow:0 0 0 8px #26272e}.console-brand{text-align:center;font-size:9px;letter-spacing:.15em;color:#e4ddec;padding:12px 0 0}#console-shell .controls{margin:8px 0 4px;height:66px;justify-content:space-between}#console-shell .dpad{grid-template-columns:repeat(3,21px);grid-template-rows:repeat(3,21px);gap:1px}#console-shell .key small{display:none}#console-shell .key{border-radius:2px;background:#292a35}#console-shell .key[data-pressed=true]{background:#c6df99}#console-shell .round{border-radius:50%;width:38px;height:38px}#console-shell .start-row{justify-content:center;gap:12px;color:#e4ddec}#console-shell .start{padding:4px 10px;border-radius:10px}#visual-options{margin:18px 0;border:1px solid #45594c;border-radius:5px;padding:12px;font-size:12px}#visual-options label{margin:8px 0}#visual-options p{font-size:11px;line-height:1.5;color:#9dacac;margin-bottom:0}@media(max-width:1000px){.visual-validation .workspace{grid-template-columns:1fr}.visual-validation .page-header{flex-wrap:wrap}.visual-validation #lab-panel{min-height:440px}}.level-link{display:block;margin-top:6px}.adventure-link{display:block;margin-top:10px;font-weight:700}:root{--ui-font:"Trebuchet MS",Arial,sans-serif;--ui-surface:#edf1eee8;--ui-ink:#193a3b;--ui-muted:#466264;--ui-border:#ffffffa6;--ui-accent:#256b69}.control-key{display:inline-block;vertical-align:baseline;font:700 .96em/1.15 var(--ui-font);min-width:1.65em;padding:2px 5px;margin:0 1px;border:1px solid #8da7a3;border-bottom-width:3px;border-radius:5px;background:#fbfcf9;color:var(--ui-ink);text-align:center;white-space:nowrap}.control-key.console-button{border-radius:50%}.game-panel,.cinematic-console .control-card.game-panel{--panel-ink:var(--ui-ink);--panel-muted:var(--ui-muted);--panel-accent:var(--ui-accent);position:fixed;left:50%;top:50%;right:auto;bottom:auto;transform:translate(-50%,-50%);width:min(400px,calc(100vw - 32px));max-height:calc(100svh - 32px);max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:0 0 16px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;z-index:180;box-sizing:border-box;border:1px solid var(--ui-border);border-radius:18px;background:var(--ui-surface);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:var(--panel-ink);color-scheme:light;box-shadow:0 16px 50px #15353440,inset 0 1px #ffffffa6;font:400 15px/1.4 var(--ui-font);letter-spacing:0;text-align:left}.game-panel[hidden]{display:none!important}.game-panel .panel-heading{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 12px 8px 20px;background:#edf1ee;border-bottom:1px solid #b5c8c1}.game-panel .panel-heading h2{margin:0;color:var(--panel-ink);font:700 24px/1.15 var(--ui-font);letter-spacing:0}.game-panel .panel-close{flex:none;display:grid;place-items:center;width:44px;height:44px;padding:10px;border:1px solid #a0b8b0;border-radius:12px;background:#f3f6f2;color:var(--ui-ink);font:400 28px/1 var(--ui-font);cursor:pointer;box-shadow:0 2px #9bb2aa}.game-panel .panel-close:hover{background:#dae7e0}.game-panel .panel-close:active{transform:translateY(2px);box-shadow:none}.game-panel .panel-close svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.game-panel :focus-visible{outline:2px solid var(--panel-accent);outline-offset:2px}.game-panel .panel-body{padding:12px 20px 0}.game-panel .panel-note{margin:12px 0 0;color:var(--panel-muted);font-size:13px;line-height:1.4}.game-help .help-summary{padding:4px 20px 10px}.game-help .help-device{margin:8px 0;font-weight:700;color:var(--ui-ink)}.game-help .help-summary dl{margin:0}.game-help .help-summary dl>div{display:grid;grid-template-columns:86px 1fr;gap:10px;padding:8px 0;border-bottom:1px solid #becfc7}.game-help .help-summary dt{font-weight:700;color:var(--panel-accent)}.game-help .help-summary dt span{font:inherit;color:inherit}.game-help .help-summary dd{margin:0;color:var(--panel-ink)}.game-help .help-touch{display:none}.touch-console .game-help .help-touch{display:inline}.touch-console .game-help .help-keyboard{display:none}.game-help>:not(.panel-heading):not(.help-summary):not(#activate-input):not(#restart-lab):not(#to-map):not(#practice-again):not(#restart-game){display:none!important}.cinematic-console .game-help>button:is(#activate-input,#restart-lab,#to-map,#practice-again,#restart-game),.restart-options button{margin:4px 0 0 20px;padding:10px 12px;min-height:44px;border:1px solid #a0b8b0;border-radius:10px;background:#f3f6f2;color:var(--ui-ink);box-shadow:0 2px #9bb2aa;font:700 14px/1.25 var(--ui-font);cursor:pointer}.cinematic-console .game-help>button:hover,.restart-options button:hover{background:#dae7e0}.cinematic-console .game-help>button:active,.restart-options button:active{transform:translateY(2px);box-shadow:none}.game-help>button[hidden]{display:none}.touch-console .game-help>#activate-input{display:none}.restart-dialog{margin:0}.restart-dialog::backdrop{background:#0a20246b;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.restart-dialog .panel-body>p:first-child{margin-top:0}.restart-options{display:grid;gap:10px;margin-top:20px}.restart-options button{margin:0}.restart-options #restart-confirm{background:#234747;color:#f3f6f2;border-color:#234747;box-shadow:0 2px #163535}.restart-options #restart-confirm:hover{background:#315b58}@media(max-width:360px){.game-panel,.cinematic-console .control-card.game-panel{font-size:13px}.game-panel .panel-heading{padding-left:16px}.game-help .help-summary,.game-panel .panel-body{padding-left:16px;padding-right:16px}.game-help .help-summary dl>div{grid-template-columns:74px 1fr;gap:8px;padding:7px 0}}#power-start{position:absolute;z-index:8;top:16px;left:50%;transform:translate(-50%);width:max-content;max-width:calc(100% - 110px);padding:12px 22px;border:1px solid #ffffffa6;border-radius:14px;background:#edf1eee8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#193a3b;box-shadow:0 4px 18px #24474122;cursor:pointer;text-align:center;font-family:Trebuchet MS,Arial,sans-serif}#power-start strong{display:block;font-size:clamp(18px,2.8vw,28px);line-height:1.15}#power-start span{display:block;margin-top:6px;font-size:12px;color:#466264}#power-start:after{content:"↓";position:absolute;left:calc(50% - 10px);top:100%;font-size:25px;line-height:1;color:#294a4b;animation:invite-console 2s ease-in-out infinite}#power-start:focus-visible{outline:3px solid #135f66;outline-offset:3px}#power-start[hidden],#console-coach[hidden],.coach-ring[hidden]{display:none}#console-shell[data-power=off]{cursor:pointer}#console-coach{position:absolute;z-index:7;transform:translate(-50%);padding:10px 18px;border:1px solid #7e9892;border-radius:14px;background:#e5ede7;color:#193a3b;box-shadow:0 3px 14px #0b242355;font:400 14px/1.3 var(--ui-font);max-width:calc(100% - 110px);width:max-content;text-align:center;pointer-events:none}#console-coach small{display:block;margin-bottom:4px;font-size:12px;color:var(--ui-muted)}#console-coach strong{display:block;font-size:17px;line-height:1.25}#console-coach small:empty,#console-coach>span:empty{display:none}@media(max-height:500px){body:not(.touch-console) #console-coach{padding:6px 12px}body:not(.touch-console) #console-coach small,body:not(.touch-console) #console-coach>span{display:none}body:not(.touch-console) #console-coach strong{font-size:15px}}#console-coach>span{display:block;margin-top:5px;max-width:390px;color:var(--ui-muted);font-size:13px}.coach-ring{position:absolute;z-index:6;box-sizing:border-box;border:2px solid #f2f3c4;border-radius:50%;box-shadow:0 0 0 4px #f2f3c424,0 0 13px #142c28;pointer-events:none}.touch-console #power-start{top:12px;max-width:calc(100% - 100px);padding:10px 12px}.touch-console #power-start strong{font-size:19px}.touch-console #power-start span{font-size:11px}.touch-console #console-coach{transform:none;box-sizing:border-box;max-width:calc(100% - 20px);padding:8px 12px}.touch-console #console-coach strong{font-size:16px}.touch-console #console-coach>span{display:none}.touch-console #console-coach small{font-size:11px}.touch-console #console-coach[data-target]:not([data-target=""]):after{content:"";position:absolute;left:var(--arrow-x);top:100%;transform:translate(-50%);height:18px;width:14px;background:#edf1ee;clip-path:polygon(38% 0,62% 0,62% 52%,100% 52%,50% 100%,0 52%,38% 52%)}@keyframes invite-console{50%{transform:translateY(4px)}}@media(prefers-reduced-motion:reduce){#power-start:after{animation:none}}.cinematic-console{background:#dfe9e4;color:var(--ui-ink);font-family:var(--ui-font)}.cinematic-console main{max-width:none;padding:0}.cinematic-console .page-header,.cinematic-console .page-footer,.cinematic-console .card-top,.cinematic-console .screen-footer,.cinematic-console .scale-note{display:none}.cinematic-console .workspace{display:block}.cinematic-console .screen-card{border:0;border-radius:0;background:none;overflow:visible}.cinematic-console .control-card{display:none}.cinematic-console.console-help-open .control-card{display:block}.cinematic-console #activate-input,.cinematic-console #restart-lab,.cinematic-console #to-map,.cinematic-console #practice-again{display:none!important}.console-menu-open #console-coach,.console-menu-open .coach-ring,.console-menu-open .console-guide{visibility:hidden!important}.cinematic-console #lab-panel{position:relative;height:calc(100svh - 100px);min-height:280px;min-width:0;overflow:hidden;display:block;cursor:default;background:radial-gradient(ellipse at 48% 40%,#f5f5ed,#dfe9e4 48%,#b9cdc7);perspective:1500px}.cinematic-console #lab-panel:focus-visible{outline:none}.cinematic-console #console-shell{position:absolute;left:50%;top:50%;flex:none;padding:0;border:0;border-radius:0;background:transparent;transform:translate(-50%,calc(-50% + var(--camera-y,0px))) scale(var(--camera-zoom,1));transform-origin:50% 50%;transition:transform 1.5s cubic-bezier(.2,.72,.14,1);filter:drop-shadow(12px 18px 12px #28454055)}.console-photo{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none}.cinematic-console #console-shell #screen-space{position:absolute;left:25.1784%;top:11.409%;width:49.5413%!important;height:27.27%!important;box-shadow:none;overflow:hidden;background:#474f47;isolation:isolate}.cinematic-console #game,.cinematic-console #game canvas{width:100%!important;height:100%!important}.cinematic-console #game{opacity:0;transition:opacity .3s}.cinematic-console [data-power=ready] #game{opacity:1}.lcd-boot{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:radial-gradient(ellipse,#26393a,#142425);opacity:0;transition:opacity .35s;box-shadow:inset 0 0 12px #07171988;pointer-events:none}[data-power=logo] .lcd-boot,[data-power=zoom] .lcd-boot{opacity:1}.boot-logo{position:relative;width:92%;aspect-ratio:466/80;overflow:hidden;mix-blend-mode:screen;transform:translateY(-10px);opacity:0;transition:transform .9s ease-out,opacity .8s}.boot-logo-image{position:absolute;width:210.515021%;height:2005%;max-width:none;left:-55.793991%;top:-842.5%;filter:contrast(1.6);-webkit-user-select:none;user-select:none;pointer-events:none}[data-power=logo] .boot-logo,[data-power=zoom] .boot-logo{transform:translateY(0);opacity:1}.power-led{position:absolute;left:12.97%;top:19.27%;width:2.5%;height:1.55%;border-radius:50%;background:#360b10;box-shadow:inset 0 0 1px #17080a;transition:background .25s,box-shadow .25s}[data-power=logo] .power-led,[data-power=zoom] .power-led,[data-power=ready] .power-led{background:radial-gradient(circle at 35% 30%,#ffd7cc,#fb3028 42%,#a90b1a 75%);box-shadow:0 0 6px 2px #ff332b88}.cinematic-console .console-brand,.cinematic-console .dpad-center,.cinematic-console .key b,.cinematic-console .key small,.cinematic-console .start-row>span{display:none}.cinematic-console #console-shell .controls,.cinematic-console #console-shell .start-row{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;margin:0;padding:0;display:block;pointer-events:none}.cinematic-console #console-shell .dpad,.cinematic-console #console-shell .action-pair{display:contents}.cinematic-console #console-shell .photo-key{position:absolute;right:0;bottom:0;left:0;top:0;width:100%;height:100%;border:0;border-radius:0;margin:0;padding:0;background:url(/assets/console-teal.png) center/100% 100% no-repeat;opacity:0;box-shadow:none;transform:none;transition:opacity 65ms;filter:brightness(.4) saturate(.75)}.cinematic-console #console-shell .photo-key[data-pressed=true]{opacity:1;background-color:transparent;transform:none}.photo-key[data-action=up]{clip-path:polygon(20% 58.3%,27.7% 58.3%,27.7% 63.2%,23.8% 65%,20% 63.2%)}.photo-key[data-action=down]{clip-path:polygon(20% 66.1%,23.8% 64.9%,27.7% 66.1%,27.7% 71.5%,20% 71.5%)}.photo-key[data-action=left]{clip-path:polygon(12.7% 62.8%,20.7% 62.8%,24% 65%,20.7% 67.2%,12.7% 67.2%)}.photo-key[data-action=right]{clip-path:polygon(26.8% 62.8%,34.5% 62.8%,34.5% 67.2%,26.8% 67.2%,23.8% 65%)}.photo-key[data-action=a]{clip-path:ellipse(5.9% 3.6% at 82.4% 63.55%)}.photo-key[data-action=b]{clip-path:ellipse(6.1% 3.65% at 66.4% 66.65%)}.photo-key[data-action=start]{clip-path:ellipse(4.5% 1.1% at 57% 81.1%)}.console-toolbar{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 12px 0;position:relative;z-index:20}.console-toolbar button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;font:700 15px/1.2 var(--ui-font);border:1px solid var(--ui-border);background:var(--ui-surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--ui-ink);border-radius:12px;padding:11px 16px;box-shadow:0 3px #b1c5bb,0 4px 18px #24474122;cursor:pointer;transition:transform 80ms,box-shadow 80ms,border-color .12s}.console-toolbar button:hover{background:#f6f8f4;border-color:#8ba8a0}.console-toolbar button:active{transform:translateY(2px);box-shadow:0 1px #a0b8ac}.console-toolbar button[aria-expanded=true]{background:#cfdfd8;border-color:#668e81;color:var(--ui-ink)}.console-toolbar button:focus-visible{outline:3px solid var(--ui-accent);outline-offset:3px}.console-toolbar button:before{content:"";width:15px;height:15px;flex:none;background:currentColor;mask:var(--button-icon) center/contain no-repeat}.console-toolbar button:not(#console-help):not(#touch-map):not(#audio-toggle):before{display:none}#console-help{--button-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 6h10l4 11c1 4-4 4-5 0H8c-1 4-6 4-5 0ZM6 11h6m-3-3v6m7-4v1m2 2v1'/%3E%3C/svg%3E")}#touch-map{--button-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='m3 5 6-2 6 2 6-2v16l-6 2-6-2-6 2Zm6-2v16m6-14v16'/%3E%3C/svg%3E")}#audio-toggle{--button-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m11 5-5 4H3v6h3l5 4Zm4 3a6 6 0 0 1 0 8m3-11a10 10 0 0 1 0 14'/%3E%3C/svg%3E")}#audio-toggle[data-muted=true]{--button-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m11 5-5 4H3v6h3l5 4Zm4 4 6 6m0-6-6 6'/%3E%3C/svg%3E")}.console-toolbar button[hidden]{display:none}.console-caption{text-align:center;font:13px/1.4 var(--ui-font);color:var(--ui-muted);margin:9px 12px}.console-guide{position:fixed;left:50%;bottom:100px;transform:translate(-50%);z-index:30;margin:0;width:max-content;max-width:calc(100vw - 32px);background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:12px;padding:9px 15px;font:600 15px/1.4 var(--ui-font);color:var(--ui-ink);pointer-events:none;text-align:center}.console-guide[hidden]{display:none}#ending-actions{position:absolute;z-index:6;left:4.375%;right:4.375%;top:62.5%;height:34.7222%;margin:0;padding:0}#ending-actions[hidden]{display:none}.cinematic-console #console-shell:not([data-power=ready]) #ending-actions{visibility:hidden;pointer-events:none}.ending-options{display:grid;grid-template-rows:1fr 1fr;gap:4%;height:100%}.ending-options button{display:block;width:100%;min-width:0;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;cursor:pointer;touch-action:manipulation}.ending-options button:hover,.ending-options button:focus-visible{outline:1px solid #fff0ae;outline-offset:-2px;background:#fff0ae15}.ending-options button:active{background:#fff0ae30}.cinematic-console.ending-menu-open .console-guide,.ending-menu-open .console-caption{display:none}@media(max-width:600px){.cinematic-console #lab-panel{height:calc(100svh - 128px)}.console-toolbar button{padding:10px 12px;font-size:13px}.console-caption{font-size:12px}.console-guide{bottom:134px;font-size:13px}}@media(prefers-reduced-motion:reduce){.cinematic-console #console-shell,.lcd-boot,.boot-logo{transition:none}}.touch-controls{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none}.touch-hit,.touch-pad{position:absolute;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.touch-hit{border:0;padding:0;margin:0;background:transparent;color:transparent;cursor:pointer}.touch-hit:focus-visible{outline:2px solid #fff0ba;outline-offset:0;border-radius:6px}.touch-pad{left:6.8%;top:54.6%;width:34%;height:20.8%}.touch-pad .touch-up{left:33.333%;top:0;width:33.334%;height:50%}.touch-pad .touch-down{left:33.333%;top:50%;width:33.334%;height:50%}.touch-pad .touch-left{left:0;top:25%;width:33.333%;height:50%}.touch-pad .touch-right{right:0;top:25%;width:33.333%;height:50%}.touch-a,.touch-b{width:15%;height:9.18%;transform:translate(-50%,-50%);border-radius:50%}.touch-a{left:82.4%;top:63.55%}.touch-b{left:66.4%;top:66.65%}.touch-start{left:57%;top:81.1%;width:16%;height:8%;transform:translate(-50%,-50%);border-radius:15px}#touch-map,.rotate-phone{display:none}.touch-console .touch-pad{left:23.8%;top:65%;transform:translate(-50%,-50%);width:max(34%,110px);height:max(20.8%,110px)}.touch-console .touch-a,.touch-console .touch-b{min-width:44px;min-height:44px}.touch-console .touch-start{min-width:48px;min-height:44px}.touch-console{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);overscroll-behavior-y:contain}.touch-console #lab-panel{height:calc(100svh - 104px - env(safe-area-inset-top) - env(safe-area-inset-bottom));min-height:320px;touch-action:none}.touch-console #console-shell{transition:none}.touch-console #console-shell[data-power=zoom]{transition:transform 1.5s cubic-bezier(.2,.72,.14,1)}.touch-console .console-guide{position:static;transform:none;width:calc(100% - 24px);max-width:520px;margin:4px auto;height:48px;overflow:auto;box-sizing:border-box;display:flex;align-items:center;justify-content:center;padding:4px 9px;font:600 12px/1.3 var(--ui-font)}.touch-console .console-guide[hidden]{display:flex;visibility:hidden}.touch-console .console-toolbar{margin:5px 8px 12px;gap:8px;flex-wrap:wrap}.touch-console .console-toolbar button{min-height:44px;padding:10px 12px;gap:6px;font-size:13px}.touch-console #touch-map:not([hidden]){display:inline-flex}.touch-console .console-caption{display:none}.touch-console #quick-mute{width:40px;height:40px;top:max(6px,env(safe-area-inset-top));right:max(6px,env(safe-area-inset-right))}.touch-console .touch-start:after{content:"START";position:absolute;top:80%;left:50%;transform:translate(-50%);font:700 9px/1 system-ui;letter-spacing:1px;color:#d6eee6;text-shadow:0 1px 1px #073c44;pointer-events:none}.touch-landscape .rotate-phone{display:grid;place-items:center;position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;background:#102e2df2;padding:30px;text-align:center;font:600 18px/1.5 system-ui;color:#fff0c6}.touch-landscape #lab-panel{min-height:160px}@media(prefers-reduced-motion:reduce){.touch-console #console-shell[data-power=zoom]{transition:none}}#audio-panel #audio-status{margin:0 0 16px;color:var(--panel-muted);font-size:13px}#audio-panel label{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:12px}#audio-panel .audio-mute{justify-content:flex-start}#audio-panel input[type=range]{display:block;margin:0;width:100%;height:40px;accent-color:var(--ui-accent);cursor:pointer}#audio-panel input[type=checkbox]{accent-color:var(--ui-accent);width:20px;height:20px}#audio-panel output{font-variant-numeric:tabular-nums;color:var(--panel-accent)}#audio-panel .audio-mute{min-height:38px;margin-top:0}#audio-toggle:focus-visible{outline:2px solid #f4d880;outline-offset:3px}#quick-mute{position:fixed;top:max(14px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));z-index:150;width:46px;height:46px;display:grid;place-items:center;border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-surface);color:var(--ui-ink);box-shadow:0 3px #b1c5bb,0 4px 18px #24474122;cursor:pointer}#quick-mute svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}#quick-mute .sound-off,#quick-mute[data-muted=true] .sound-waves{display:none}#quick-mute[data-muted=true] .sound-off{display:initial}#quick-mute[data-muted=true]{color:#71483d;background:#ede6e0}#quick-mute:hover{border-color:#89b9a9}#quick-mute:active{transform:translateY(2px)}#quick-mute:focus-visible{outline:3px solid #147d78;outline-offset:3px}
