#save-status{position:fixed;bottom:max(10px,env(safe-area-inset-bottom));right:12px;z-index:80;max-width:min(390px,calc(100vw - 24px));padding:5px 9px;border-radius:6px;background:var(--panel-bg);color:var(--text-dim);font-size:11px;line-height:1.4;pointer-events:none}#save-status[data-status=error],#save-status[data-status=fallback]{border:1px solid var(--panel-border);color:var(--danger)}#save-status[data-status=error]{pointer-events:auto}#retry-save-btn{margin-left:6px;padding:3px 5px;color:var(--text);cursor:pointer}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg: #eee9df;--bg2: #172d31;--grid-line: #6d8581;--cell-size: 64px;--grid-cols: 8;--grid-rows: 8;--board-size: calc(var(--cell-size) * var(--grid-cols) + 2px);--board-max-size: 514px;--accent: #8b6c42;--accent-glow: #947144;--text: #1c3538;--text-dim: #667362;--panel-bg: #f4f0e7;--panel-border: #bdbfae;--success: #4b7150;--danger: #a65343}html,body{width:100%;height:100%}html{overflow:hidden}body{font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:radial-gradient(ellipse at 50% 30%,#222e3a 0%,var(--bg) 75%);color:var(--text);display:flex;justify-content:center;align-items:center;height:100vh;height:100dvh;min-height:0;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));overflow:hidden;user-select:none}#app{display:flex;gap:clamp(12px,2vw,24px);align-items:flex-start;width:max-content;max-width:100%;height:100%;max-height:720px;min-width:0;min-height:0}#toolbar{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:16px;padding:16px 12px;display:flex;flex-direction:column;align-items:center;gap:8px;min-width:80px;max-height:100%;flex:0 0 auto;box-shadow:0 8px 32px #0006}#toolbar h2{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-dim);text-align:center;margin-bottom:4px}.tool-btn{width:56px;height:56px;border:2px solid var(--panel-border);border-radius:12px;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;position:relative}.tool-btn:hover{border-color:var(--accent);background:#7c5cfc1a;transform:translateY(-2px)}.tool-btn.active{border-color:var(--accent);background:#7c5cfc33;box-shadow:0 0 16px #7c5cfc4d}.tool-btn canvas{width:36px;height:36px}.tool-btn .tool-label{position:absolute;bottom:-18px;font-size:8px;color:var(--text-dim);white-space:nowrap;opacity:0;transition:opacity .2s}.tool-btn:hover .tool-label{opacity:1}.delete-tool-btn{margin-top:4px;border-color:#ff555573}.delete-tool-btn.active{border-color:var(--danger);background:#ff555524;box-shadow:0 0 16px #ff555538}.delete-tool-icon{width:23px;height:23px;color:#d5a5a5}.control-icon{display:inline-flex;flex:0 0 auto;width:18px;height:18px;align-items:center;justify-content:center}.ui-icon{display:block;flex:0 0 auto;pointer-events:none}.control-icon .ui-icon{width:100%;height:100%}#game-container{display:flex;flex-direction:column;gap:16px;align-items:center;width:var(--board-max-size);max-width:100%;height:100%;min-width:0;min-height:0}#game-main{display:flex;flex:1 1 auto;flex-direction:column;align-items:center;gap:16px;width:100%;min-width:0;min-height:0}#board-slot{display:grid;flex:1 1 auto;place-items:center;width:100%;min-width:0;min-height:0;overflow:hidden}#header{display:flex;align-items:center;justify-content:space-between;width:100%}#header h1{font-size:20px;font-weight:700;background:linear-gradient(135deg,var(--accent-glow),#f472b6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}#level-info{font-size:13px;color:var(--text-dim)}.header-status{display:flex;align-items:center;gap:10px}.header-icon-btn{background:var(--panel-bg);border:1px solid var(--panel-border);color:var(--text-dim);border-radius:8px;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;padding:4px}.header-icon-btn:hover{color:var(--text);border-color:var(--accent);background:#7c5cfc26}.header-icon-btn[aria-pressed=true]{color:var(--text-muted, #71717a);opacity:.55;border-color:var(--grid-line)}#grid-area{position:relative;flex:0 0 auto;width:var(--board-size);height:calc(var(--cell-size) * var(--grid-rows) + 2px);border:1px solid var(--grid-line);border-radius:8px;overflow:hidden;background:radial-gradient(ellipse at 25% 0%,#34414b80,transparent 75%),repeating-linear-gradient(0deg,#ffffff02 0px,#ffffff02 1px,transparent 1px,transparent 4px),var(--bg2);box-shadow:inset 0 1px #ffffff12,inset 0 0 36px #0005,0 8px 24px #0008}#grid{display:grid;grid-template-columns:repeat(var(--grid-cols),var(--cell-size));grid-template-rows:repeat(var(--grid-rows),var(--cell-size));position:absolute;top:0;left:0;width:100%;height:100%}.cell{border:0;box-shadow:inset -1px -1px #b3c7d014;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s;position:relative}.cell:hover{background:#c8dcf00b;outline:1px solid #b6cce044;outline-offset:-2px}.cell:before{content:"";position:absolute;width:3px;height:3px;top:5px;left:5px;border-radius:50%;background:#0b1219;box-shadow:0 1px #ffffff12;pointer-events:none}.cell.has-element{cursor:pointer}.cell.fixed{cursor:default}.cell-icon{width:min(94%,60px);height:min(94%,60px);pointer-events:none}.source-icon,.target-icon{width:min(94%,60px);height:min(94%,60px);position:relative;pointer-events:none;z-index:11}.source-icon .cell-icon,.target-icon .cell-icon{display:block;width:100%;height:100%}.target-icon.activated{filter:drop-shadow(0 0 4px var(--receiver-color))}.receiver-color-label{position:absolute;top:0;left:50%;transform:translate(-50%);min-width:15px;padding:0 2px;border:1px solid var(--receiver-color);border-radius:4px;background:#09131c;color:#fff;font:700 11px/14px sans-serif;text-align:center}#receiver-legend{color:#c5d4e0;font-size:11px;line-height:1.4;text-align:center}body.editor-mode #receiver-legend{display:none}.tool-btn .source-icon,.tool-btn .target-icon{width:48px;height:48px}#beam-canvas{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10}#controls{display:flex;flex-wrap:wrap;gap:12px;flex:0 0 auto;width:100%}#controls .btn{flex:1 1 108px;min-width:0;padding:12px 10px;display:flex;align-items:center;justify-content:center;gap:6px}.btn{flex:1;padding:12px 16px;border:1px solid var(--panel-border);border-radius:10px;background:var(--panel-bg);color:var(--text);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.btn:hover{border-color:var(--accent);background:#7c5cfc26;transform:translateY(-1px)}.btn:disabled{opacity:.38;cursor:not-allowed;transform:none}.btn:disabled:hover{border-color:var(--panel-border);background:var(--panel-bg)}.btn[aria-busy=true]:disabled{opacity:.72;cursor:progress}.btn-success{border-color:var(--success);color:var(--success);box-shadow:0 0 16px #50fa7b26;animation:btn-appear .4s ease}.btn-success:hover{background:#50fa7b26;border-color:var(--success)}@keyframes btn-appear{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.btn-danger{border-color:var(--danger);color:var(--danger)}.btn-danger:hover{background:#ff555526;border-color:var(--danger)}#next-btn{display:none}#win-overlay{display:none;position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(transparent 60%,#10151bcc);z-index:20;justify-content:center;align-items:flex-end;padding:12px;pointer-events:none;border-radius:8px}#win-overlay.show{display:flex}#win-text{padding:8px 14px;border:1px solid #50fa7b55;border-radius:8px;background:#101b18ed;font-size:clamp(12px,calc(var(--cell-size) * .38),22px);font-weight:700;color:var(--success);text-shadow:0 0 30px var(--success);animation:btn-appear .3s ease}@keyframes win-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.85}}#level-desc{font-size:12px;color:var(--text-dim);text-align:center;width:100%;max-width:100%;line-height:1.5}.tutorial-panel{flex:0 0 auto;width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid rgba(124,92,252,.65);border-radius:12px;background:linear-gradient(135deg,#7c5cfc2e,#f472b614);box-shadow:0 8px 28px #00000047}.tutorial-panel[hidden]{display:none}.tutorial-panel.complete{border-color:#50fa7ba6;background:#50fa7b14}.tutorial-copy{min-width:0;display:flex;flex-direction:column;gap:3px;font-size:12px;line-height:1.4}.tutorial-copy strong{color:var(--text);font-size:14px}.tutorial-progress{color:var(--accent-glow);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.tutorial-demo{align-self:flex-start;margin-top:2px;padding:2px 7px;border:1px solid rgba(167,139,250,.28);border-radius:999px;background:#0f0f1a73;color:var(--accent-glow);font-size:11px;font-weight:700;letter-spacing:.04em;white-space:nowrap}.tutorial-actions{flex:0 0 auto;display:flex;align-items:center;gap:6px}.tutorial-next,.tutorial-skip{min-height:36px}.tutorial-next{padding:8px 10px;border:1px solid rgba(124,92,252,.72);border-radius:8px;background:#7c5cfc38;color:var(--text);font:inherit;font-size:11px;font-weight:700;cursor:pointer}.tutorial-next[hidden]{display:none}.tutorial-skip{flex:0 0 auto;padding:8px 10px;border:1px solid var(--panel-border);border-radius:8px;background:#0f0f1a8c;color:var(--text-dim);font:inherit;font-size:11px;cursor:pointer}.tutorial-focus{position:relative;z-index:12;outline:3px solid var(--accent-glow)!important;outline-offset:-3px;box-shadow:0 0 0 4px #7c5cfc40,0 0 24px #a78bfabf!important;animation:tutorial-pulse 1.15s ease-in-out infinite}@keyframes tutorial-pulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.35)}}@media(max-width:700px){:root{--cell-size: 38px}body{align-items:stretch;padding:max(6px,env(safe-area-inset-top)) max(6px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left))}#app{flex-direction:column;align-items:center;gap:6px;width:100%;height:100%;max-height:none}#toolbar{flex:0 0 auto;flex-direction:row;flex-wrap:wrap;justify-content:center;width:min(100%,514px);min-width:0;max-width:none;max-height:none;padding:4px 6px;gap:4px;border-radius:10px}#toolbar h2{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.tool-btn{flex:0 0 42px;width:42px;height:42px;border-radius:9px}.tool-btn canvas{width:30px!important;height:30px!important}.delete-tool-btn{margin-top:0}#game-container{flex:1 1 auto;gap:4px;width:min(100%,var(--board-max-size));height:auto}#game-main{gap:4px}#header h1{font-size:16px}#level-info{font-size:11px}#controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}#controls .btn{display:flex;flex:none;align-items:center;justify-content:center;gap:3px;width:100%;min-width:0;min-height:44px;padding:3px 2px;font-size:10px;line-height:1.05;white-space:normal}.control-icon{flex:0 0 auto;width:15px;height:15px}.control-label{min-width:0;font-size:9px}#level-desc{max-height:28px;overflow:hidden;font-size:10px;line-height:1.3}.tutorial-panel{align-items:center;gap:8px;padding:6px 8px;border-radius:9px}.tutorial-copy{min-width:0;gap:1px;font-size:10px;line-height:1.2}.tutorial-copy strong{font-size:12px}.tutorial-progress{font-size:8px}.tutorial-demo{margin-top:1px;padding:1px 5px;font-size:9px}.tutorial-actions{gap:3px}.tutorial-next,.tutorial-skip{min-width:44px;min-height:44px;padding:5px 7px;font-size:9px}}#welcome-screen{display:flex;justify-content:center;align-items:center;width:auto;height:100vh;height:100dvh;min-height:0;position:fixed;inset:0;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));overflow:auto;z-index:100;background:var(--bg)}.welcome-content{text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px;width:min(100%,420px);min-height:0;animation:fadeInUp .6s ease}.welcome-logo{font-size:72px;background:linear-gradient(135deg,var(--accent-glow),#f472b6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:pulse-logo 3s ease-in-out infinite;filter:drop-shadow(0 0 30px rgba(124,92,252,.4))}@keyframes pulse-logo{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.welcome-title{font-size:48px;font-weight:700;background:linear-gradient(135deg,var(--accent-glow),#f472b6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.welcome-subtitle{font-size:16px;color:var(--text-dim);letter-spacing:4px;text-transform:uppercase}.welcome-instructions{margin-top:16px;padding:20px 28px;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:16px;max-width:420px}.welcome-instructions p{font-size:14px;color:var(--text);margin-bottom:12px}.level-load-error{max-width:420px;padding:10px 14px;border:1px solid var(--danger);border-radius:10px;background:#ff55551a;color:var(--danger);font-size:12px;line-height:1.45}.welcome-hints{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.welcome-hints span{font-size:11px;color:var(--text-dim);background:#7c5cfc14;padding:6px 12px;border-radius:8px;border:1px solid var(--panel-border)}.welcome-play-btn{padding:16px 48px!important;font-size:18px!important;border-color:var(--accent)!important;color:var(--accent-glow)!important;box-shadow:0 0 24px #7c5cfc40;transition:all .3s ease!important}.welcome-play-btn:hover{box-shadow:0 0 40px #7c5cfc66!important;transform:translateY(-3px)!important}.welcome-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px;width:min(100%,280px);margin-top:12px}.welcome-levels-btn{color:var(--text-dim);background:transparent;border-color:transparent;box-shadow:none}.welcome-levels-btn:hover{color:var(--text);background:#7c5cfc14}#level-select-screen{display:flex;justify-content:center;align-items:center;width:auto;height:100vh;height:100dvh;min-height:0;position:fixed;inset:0;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));overflow:auto;z-index:100;background:var(--bg)}.level-select-content{text-align:center;display:flex;flex-direction:column;align-items:center;gap:20px;width:min(100%,420px);min-height:0;animation:fadeInUp .4s ease}.level-select-title{font-size:24px;font-weight:700;background:linear-gradient(135deg,var(--accent-glow),#f472b6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.level-select-subtitle{font-size:13px;color:var(--text-dim);text-transform:uppercase;letter-spacing:2px}.level-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;max-width:380px;width:100%}.level-btn{width:64px;height:64px;border:2px solid var(--panel-border);border-radius:14px;background:var(--panel-bg);color:var(--text);font-family:inherit;font-size:18px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;position:relative}.level-btn:hover:not(.locked){border-color:var(--accent);background:#7c5cfc26;transform:translateY(-3px);box-shadow:0 4px 16px #7c5cfc33}.level-btn.completed{border-color:var(--success);color:var(--success)}.level-btn.completed:after{content:"✓";position:absolute;top:2px;right:5px;font-size:10px;color:var(--success)}.level-btn.locked{opacity:.3;cursor:not-allowed}.level-btn.current{border-color:var(--accent);box-shadow:0 0 16px #7c5cfc4d;animation:level-pulse 2s ease-in-out infinite}@keyframes level-pulse{0%,to{box-shadow:0 0 16px #7c5cfc4d}50%{box-shadow:0 0 28px #7c5cfc80}}.result-screen{display:none;justify-content:center;align-items:center;width:auto;height:100vh;height:100dvh;min-height:0;position:fixed;inset:0;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));overflow:auto;z-index:100;background:var(--bg)}.result-content{text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px;width:min(100% - 32px,680px);padding:36px 28px;border:1px solid var(--panel-border);border-radius:24px;background:radial-gradient(circle at top,rgba(124,92,252,.16),transparent 55%),var(--panel-bg);box-shadow:0 24px 80px #00000073;animation:fadeInUp .8s ease}.result-icon{font-size:80px;line-height:1;filter:drop-shadow(0 0 28px rgba(124,92,252,.45))}.final-star{animation:spin-star 3s ease-in-out infinite}.milestone-icon{color:var(--accent-glow);animation:pulse-logo 3s ease-in-out infinite}@keyframes spin-star{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.15) rotate(10deg)}}.result-title{font-size:40px;font-weight:700;line-height:1.15}.final-title{background:linear-gradient(135deg,var(--success),#a3f7bf);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.milestone-title{background:linear-gradient(135deg,var(--accent-glow),#f472b6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.result-subtitle{font-size:18px;color:var(--text)}.result-desc{font-size:14px;color:var(--text-dim)}.result-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;width:100%;margin-top:12px}.result-buttons .btn{flex:1 1 170px}.btn-share{border-color:var(--accent);color:var(--accent-glow);box-shadow:0 0 18px #7c5cfc29}.btn-link{flex:0 0 auto;padding:6px 10px;color:var(--text-dim);background:transparent;border-color:transparent}.share-status{min-height:20px;color:var(--success);font-size:13px}.feedback-panel{width:100%;padding:16px;border:1px solid var(--panel-border);border-radius:14px;background:#0f0f1a7a}.feedback-panel[hidden]{display:none}.feedback-panel p{margin-bottom:12px;font-size:13px;color:var(--text-dim)}.feedback-options{display:flex;flex-wrap:wrap;gap:8px}.feedback-options .btn{flex:1 1 130px;padding:10px 12px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:960px){#editor-panel{position:fixed;z-index:60;top:max(60px,calc(env(safe-area-inset-top) + 52px));left:max(8px,env(safe-area-inset-left));width:min(280px,calc(100vw - 16px));max-height:calc(100dvh - 68px);padding:10px;gap:4px;overflow:auto}#editor-panel h2{margin-bottom:2px}#editor-panel .editor-help{margin-bottom:4px!important;padding:6px!important;font-size:9px!important;line-height:1.25!important}#inventory-setup{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px}.inventory-item{gap:4px;font-size:10px}.inventory-item input{width:40px;min-height:30px}#export-btn{min-height:38px;margin-top:4px!important;padding:6px 8px}body.editor-mode #editor-toggle-btn{position:fixed;z-index:70;top:max(8px,env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right));width:auto;min-width:44px}}@media(orientation:landscape)and (max-height:600px){:root{--cell-size: 34px}body{padding:max(4px,env(safe-area-inset-top)) max(4px,env(safe-area-inset-right)) max(4px,env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-left))}#app{flex-direction:row;align-items:stretch;gap:6px;width:100%;height:100%;max-height:none}#toolbar{flex:0 0 48px;flex-flow:column wrap;align-content:center;justify-content:center;width:48px;min-width:0;height:100%;max-height:100%;padding:4px;gap:4px}body.editor-mode #toolbar{flex-basis:92px;width:92px}#toolbar h2{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.tool-btn{flex:0 0 40px;width:40px;height:40px}#game-container{display:grid;flex:1 1 auto;grid-template-columns:minmax(0,1fr) 120px;gap:6px;width:auto;max-width:none;height:100%}#game-main{gap:3px;height:100%}#header h1{font-size:15px}#level-info{font-size:10px}#level-desc{max-height:24px;font-size:9px;line-height:1.15}#controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(38px,auto);align-content:center;gap:4px;width:120px;height:100%}#controls .btn{flex-direction:column;gap:0;min-height:38px;padding:2px 1px}.control-label{font-size:8px}.tutorial-panel{gap:6px;padding:4px 6px}.tutorial-copy{font-size:9px;line-height:1.1}.tutorial-copy strong{font-size:10px}.tutorial-demo{font-size:8px}.tutorial-next,.tutorial-skip{min-height:38px}#editor-panel{top:max(48px,calc(env(safe-area-inset-top) + 44px));left:max(56px,calc(env(safe-area-inset-left) + 52px));width:min(340px,calc(100vw - 116px));max-height:calc(100dvh - 52px);padding:8px}#editor-panel .editor-help{display:none}body.editor-mode #editor-toggle-btn{top:max(4px,env(safe-area-inset-top));right:max(4px,env(safe-area-inset-right))}}@media(max-width:520px),(max-height:680px){.welcome-content{gap:6px}.welcome-logo{font-size:40px;line-height:1}.welcome-title{font-size:30px;line-height:1.1}.welcome-subtitle{font-size:11px;letter-spacing:2px}.welcome-instructions{width:100%;margin-top:2px;padding:8px}.welcome-instructions p{margin-bottom:6px;font-size:12px}.welcome-hints{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.welcome-hints span{padding:4px;font-size:9px}.welcome-actions{gap:4px;margin-top:2px}.welcome-actions .btn{min-height:44px}.welcome-play-btn{padding:8px 24px!important;font-size:15px!important}.level-select-content{gap:8px}.level-select-title{font-size:20px}.level-select-subtitle{font-size:10px}.level-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;width:100%;max-width:320px}.level-btn{width:100%;height:auto;min-width:0;min-height:44px;aspect-ratio:1;border-radius:10px;font-size:15px}.level-select-content>.btn{min-height:44px;padding:8px 16px}.result-content{width:min(100%,680px);max-height:100%;gap:6px;padding:12px;border-radius:16px;overflow:auto}.result-icon{font-size:40px}.result-title{font-size:clamp(22px,7vw,28px)}.result-subtitle{font-size:14px}.result-desc{font-size:12px}.result-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin-top:2px}.result-buttons .btn,.feedback-options .btn,.btn-link{width:100%;min-width:0;min-height:44px;padding:5px;font-size:11px}.final-buttons .btn:last-child{grid-column:1 / -1}.feedback-panel{padding:8px}.feedback-panel p{margin-bottom:6px}.feedback-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.share-status{min-height:0;font-size:11px}}:where(.btn,.tool-btn,.level-btn,.tutorial-next,.tutorial-skip):focus-visible{outline:3px solid var(--accent-glow);outline-offset:2px}:where(button,.cell){touch-action:manipulation}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}#editor-panel{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:8px;width:260px;box-shadow:0 8px 32px #0006}#editor-panel h2{font-size:12px;text-transform:uppercase;color:var(--text-dim);text-align:center;margin-bottom:8px}.inventory-item{display:flex;justify-content:space-between;align-items:center;font-size:12px}.inventory-item input{width:48px;background:var(--bg);color:var(--accent-glow);font-weight:700;border:1px solid var(--grid-line);padding:4px;border-radius:4px;text-align:center}:root{--paper-edge: #d6cebd;--board-ink: #f2ebda;--board-muted: #a8baac;--brass-light: #e4c490}body,#welcome-screen,#level-select-screen,.result-screen{background:radial-gradient(ellipse at 100% 10%,#e5dece,transparent 70%),var(--bg)}button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}#toolbar,#editor-panel{border-color:#bdbfae;border-radius:10px;background:linear-gradient(135deg,#f8f5ed,#e5dfd2);box-shadow:inset 0 1px #fff9,0 5px #d6cebd,0 12px 28px #1c353812}#toolbar h2{color:#677563;font-weight:600;letter-spacing:1.8px}.tool-btn{border-width:1px;border-color:#b3b9a7;border-radius:8px;background:#dce0d355;box-shadow:inset 0 1px #fff8}.tool-btn:hover,.tool-btn.active{border-color:#96764a;background:#e4dcc6;box-shadow:inset 0 1px #fff8,0 3px #c7baa0}.delete-tool-btn{border-color:#a6534366}.delete-tool-icon{color:#945747}.delete-tool-btn.active{background:#a6534314;border-color:var(--danger);box-shadow:0 2px #a6534328}#header h1,.level-select-title{background:none;color:var(--text);-webkit-text-fill-color:currentColor;font-family:Segoe UI,system-ui,sans-serif;font-size:15px;font-weight:650;letter-spacing:3px;text-transform:uppercase}.brand-mark{display:inline-block;width:24px;height:24px;margin-right:4px;vertical-align:-6px}.brand-mark svg{display:block;width:100%;height:100%}#level-info{color:#687463;font-size:11px;letter-spacing:.04em}.header-icon-btn{border-radius:5px;background:#f4f0e788}.header-icon-btn:hover{background:#e4dcc6;border-color:var(--accent)}#board-slot{padding:10px}#grid-area{border-color:#6d8581;border-radius:10px;background:radial-gradient(ellipse at 45% 35%,#294043,#112227 90%);box-shadow:0 0 0 6px #0e1f24,0 6px 0 6px #09191d,0 11px 20px #12262a30,inset 0 1px #b3c5b847}.cell{background:linear-gradient(145deg,#82978b08,#0b1c2108);box-shadow:inset 1px 1px #abc2b314,inset -1px -3px #07181c38}.cell:before{width:2px;height:2px;top:4px;left:4px;background:#091a1e;box-shadow:0 1px #a9bda52b}.cell:after{content:"";position:absolute;inset:1px 1px 3px;border-radius:2px;border-top:1px solid #c5d5bf08;border-left:1px solid #c5d5bf08;box-shadow:0 2px #08191d30;pointer-events:none}.cell:hover{background:#e4c49012;outline:1px solid #e4c49065;outline-offset:-3px}.cell.fixed:hover{background:#c8dfc307;outline-color:#8ba79740}.cell-icon{position:relative;z-index:1}.receiver-color-label{top:1px;z-index:2;background:#12262a;border-radius:3px;color:var(--board-ink)}.combiner-port-label{position:absolute;z-index:2;padding:0 1px;border:1px solid var(--port-color);border-radius:2px;background:#12262a;color:var(--port-color);font:700 clamp(8px,calc(var(--cell-size) * .2),12px)/1.1 sans-serif;white-space:nowrap;transform:translate(-50%,-50%) rotate(calc(-1 * var(--board-yaw))) scaleY(var(--board-label-stretch));transform-origin:center}.target-icon.activated{filter:drop-shadow(0 2px 3px #07191b) drop-shadow(0 0 3px var(--receiver-color))}#receiver-legend{color:#526859}.btn,.header-icon-btn,.tutorial-next,.tutorial-skip{border-color:#b8bca9;border-radius:6px;box-shadow:inset 0 1px #fff8,0 2px #d9d2c3}.btn:hover,.tutorial-next:hover,.tutorial-skip:hover{background:#e4dcc6;border-color:#9b8055;box-shadow:inset 0 1px #fff8,0 3px #d1c5ae}.btn:active,.tool-btn:active{transform:translateY(1px);box-shadow:inset 0 1px 3px #1c353815}.btn-success{background:#dce3ca;border-color:#78916a;color:#345b3f;box-shadow:0 2px #bac8a6}.btn-success:hover{background:#d2ddbc;border-color:#78916a}.btn-danger:hover{background:#a6534310;border-color:var(--danger)}.btn-share{color:#765930;border-color:#a58a61;box-shadow:0 2px #d9cfb9}.btn-link{background:transparent;box-shadow:none;border-color:transparent}#level-desc{color:#4f6457;font-size:13px}#win-overlay{background:linear-gradient(transparent 55%,#102529d9)}#win-text{background:#1b3431f2;border-color:#9fb48c77;color:#dce8bf;font-weight:500;text-shadow:none;box-shadow:0 3px 12px #07191b55}.tutorial-panel{border-color:#899a78;border-radius:7px;background:linear-gradient(135deg,#e1e5d1,#d8dfc7);box-shadow:0 3px #c3cbb0,0 7px 15px #1c353810}.tutorial-panel.complete{border-color:#80946a;background:#dce5cb}.tutorial-progress{color:#607b54}.tutorial-demo{color:#735b35;border-color:#ac987155;background:#f1ead966}.tutorial-next{background:#e9ddbf;color:#243c34}.tutorial-skip{color:#4f6457;background:#eee9df66}.tutorial-next:hover,.tutorial-skip:hover{color:var(--text)}.tutorial-focus{outline-color:#e4c490!important;box-shadow:inset 0 0 0 2px #e4c49055,0 0 18px #e4c49020!important}.welcome-content{gap:18px;width:min(100% - 24px,440px)}.welcome-logo{width:52px;height:52px;background:none;color:#244043;-webkit-text-fill-color:currentColor;filter:none;animation:none}.welcome-logo svg{display:block;width:100%;height:100%}.welcome-title{background:none;color:var(--text);-webkit-text-fill-color:currentColor;font-family:Georgia,Times New Roman,serif;font-size:clamp(48px,11vw,68px);font-weight:400;letter-spacing:-2px}.welcome-subtitle{color:#947144;font-size:12px;letter-spacing:3px}.welcome-instructions{margin-top:10px;padding:22px;border-radius:8px;background:#f6f2e866;border-color:#bdbfae;box-shadow:inset 0 1px #fff9}.welcome-instructions p{font-size:15px;line-height:1.55}.welcome-hints{gap:8px}.welcome-hints span{border:0;border-radius:3px;background:#d8ddcf77;color:#526859;padding:7px 9px}.welcome-play-btn{border-color:#253d35!important;color:#f2ebda!important;background:#243c34;box-shadow:0 4px #142c25;font-weight:500}.welcome-play-btn:hover{background:#314f42;box-shadow:0 5px #142c25!important;transform:translateY(-1px)!important}.welcome-levels-btn{background:transparent;box-shadow:none}.welcome-levels-btn:hover{background:#ddd7c855;box-shadow:none}.level-select-title{font-size:19px}.level-select-subtitle{color:#7a7967;letter-spacing:2.5px}.level-btn{border-width:1px;border-color:#b6bca8;border-radius:6px;background:#dedfd1;color:#395347;font-weight:400;box-shadow:inset 0 1px #fff8,0 3px #c8cbb8}.level-btn:hover:not(.locked){background:#e6ddc7;border-color:#96764a;box-shadow:0 4px #c5b897}.level-btn.completed{background:#d3d9bd;color:#345b3f;border-color:#829774}.level-btn.current{background:#243c34;color:#eee7d4;border-color:#516e58;box-shadow:0 3px #142c25;animation:none}.level-btn.current.completed:after{color:#d3dfb5}.result-content{border-radius:12px;border-color:#b5bea5;background:radial-gradient(circle at top,#dce3cc,transparent 65%),#f4f0e7;box-shadow:0 8px #d4ccba,0 24px 60px #1c353818}.result-icon{color:#947144;filter:none}.result-title{font-family:Georgia,Times New Roman,serif;font-weight:400;letter-spacing:-1px}.final-title,.milestone-title{background:none;color:#244b38;-webkit-text-fill-color:currentColor}.feedback-panel{background:#dde2d177;border-color:#b4bea3;border-radius:7px}.feedback-options .btn.selected{background:#d3ddbe;border-color:#779265}#editor-panel input,#editor-panel textarea{color:#243c34;background:#f8f5eb;border-color:#b4bea3}#app{--board-yaw: 35deg;--board-tilt: 52deg;--board-frame: 6px;--board-depth: 18px;--board-label-stretch: 1.6242692;--instrument-height: calc(var(--cell-size) * .14)}#app[data-board-view=flat]{--board-yaw: 0deg;--board-tilt: 0deg;--board-depth: 0px;--board-label-stretch: 1;--instrument-height: 0px}#game-container{width:744px}#controls{max-width:514px}#level-desc{max-width:640px}#board-slot{padding:18px 14px 26px}#board-stage{position:relative;width:var(--projected-board-width, 100%);height:var(--projected-board-height, 100%);min-width:0;min-height:0}#board-platform{position:absolute;left:50%;top:calc(50% - var(--board-center-offset, 0px));width:calc(var(--board-size) + var(--board-frame) * 2);height:calc(var(--cell-size) * var(--grid-rows) + 2px + var(--board-frame) * 2);border-radius:10px;background:linear-gradient(135deg,#506763,#152c31 35%,#0c2025);box-shadow:inset 0 0 0 1px #91a49180,inset 0 0 0 3px #122b2c;transform:translate(-50%,-50%) rotateX(var(--board-tilt)) rotate(var(--board-yaw));transform-style:preserve-3d}#grid-area{position:absolute;top:var(--board-frame);left:var(--board-frame);border-radius:5px;box-shadow:inset 0 1px #b3c5b847,inset 0 0 22px #06171b40}.board-base,.board-side{position:absolute;pointer-events:none;backface-visibility:hidden}.board-base{inset:0;border-radius:10px;background:#08191d;transform:translateZ(calc(-1 * var(--board-depth)));box-shadow:16px 16px 25px #0b222847,28px 28px 42px #0b222822}.board-side-front{top:100%;left:0;width:100%;height:var(--board-depth);background:linear-gradient(#385451,#152c2d 35%,#091b20);border-top:1px solid #78948b88;border-bottom:2px solid #07161a;transform-origin:top;transform:rotateX(-90deg)}.board-side-right{top:0;left:100%;width:var(--board-depth);height:100%;background:linear-gradient(90deg,#263f40,#0d2227 45%,#06161b);border-left:1px solid #657f7977;border-right:2px solid #07161a;transform-origin:left;transform:rotateY(90deg)}#app[data-board-view=flat] .board-base,#app[data-board-view=flat] .board-side{display:none}#app[data-board-view=flat] #board-platform{box-shadow:0 5px #09191d,0 12px 24px #12262a30}#board-stage #win-overlay{background:none;align-items:flex-end;padding:0 0 2px}#board-stage #win-text{font-size:clamp(12px,2vw,18px)}#board-stage .receiver-color-label{transform:translate(-50%) rotate(calc(-1 * var(--board-yaw))) scaleY(var(--board-label-stretch));transform-origin:center}#board-view-btn[aria-pressed=true]{color:#765930;background:#e5dcc6;opacity:1}#grid-area,#grid,#grid .cell{overflow:visible;transform-style:preserve-3d}#grid .cell{transform:translateZ(.1px)}#grid .instrument-icon{position:relative;width:86%;height:86%;pointer-events:none;z-index:auto;transform-style:preserve-3d;transform:translateZ(var(--instrument-height))}#grid .instrument-icon>.cell-icon{position:absolute;inset:0;display:block;width:100%;height:100%;z-index:auto}#grid .instrument-foot,#grid .instrument-front,#grid .instrument-right{position:absolute;pointer-events:none;backface-visibility:hidden}#grid .instrument-foot{inset:12.5%;border-radius:4px;background:#0a1d20;transform:translateZ(calc(-1 * var(--instrument-height)));box-shadow:3px 4px 5px #07191b88}#grid .instrument-front{top:87.5%;left:12.5%;width:75%;height:var(--instrument-height);transform-origin:top;transform:rotateX(-90deg);border-top:1px solid #a5b6a777;border-bottom:1px solid #06191d;background:linear-gradient(#6e837a,#324b48 35%,#162e31)}#grid .instrument-right{top:12.5%;left:87.5%;width:var(--instrument-height);height:75%;transform-origin:left;transform:rotateY(90deg);border-left:1px solid #7b968d77;border-right:1px solid #06191d;background:linear-gradient(90deg,#425c55,#1b3637 35%,#0f252a)}#grid [data-instrument-type=block] .instrument-front{background:repeating-linear-gradient(90deg,transparent 0 32%,#102a2b 32% 35%),linear-gradient(#718174,#405951)}#grid [data-instrument-type=block] .instrument-right{background:repeating-linear-gradient(0deg,transparent 0 32%,#102a2b 32% 35%),linear-gradient(90deg,#40584e,#213b38)}#grid [data-instrument-type=prism] .instrument-front{border-top-color:#c0dcd0}#grid [data-instrument-type=phase_shifter] .instrument-front{border-top-color:#b6a8db}#grid .target-icon.activated{filter:none}#grid .target-icon.activated .cell-icon{filter:drop-shadow(0 0 3px var(--receiver-color))}#beam-canvas{transform:translateZ(calc(var(--instrument-height) + .2px))}#app[data-board-view=flat] #grid .instrument-icon{width:min(94%,60px);height:min(94%,60px)}@media(min-width:701px)and (min-height:601px){#app{max-height:800px}}@media(max-width:700px){#game-container{width:100%}#board-slot{padding:14px 8px 22px}}@media(orientation:landscape)and (max-height:600px){#game-container{width:auto}#board-slot{padding:10px 12px 18px}}@media(max-width:600px){#header h1{font-size:13px;letter-spacing:2px}#level-info{font-size:10px}#level-desc{font-size:11px}.welcome-content{gap:14px}.welcome-instructions{padding:16px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}#app[data-board-geometry=hex]{--board-frame: 0px;--hex-board-width: calc(var(--cell-size) * 8.5 + 2px);--hex-board-height: calc(var(--cell-size) * 7.216878365 + 2px)}#app[data-board-geometry=hex] #board-platform{width:calc(var(--hex-board-width) + var(--board-frame) * 2);height:calc(var(--hex-board-height) + var(--board-frame) * 2);background:none;border-radius:0;box-shadow:none}#app[data-board-geometry=hex] .board-base,#app[data-board-geometry=hex] .board-side{display:none}#app[data-board-geometry=hex][data-board-view=flat] #board-platform{box-shadow:none}#app[data-board-geometry=hex] #grid-area{width:var(--hex-board-width);height:var(--hex-board-height);border:0;border-radius:0;background:none;box-shadow:none}#app[data-board-geometry=hex] #grid{display:block}#app[data-board-geometry=hex] #grid .cell{position:absolute;width:var(--cell-size);height:calc(var(--cell-size) * 1.154700538);background:none;box-shadow:none;outline:none;pointer-events:none}#app[data-board-geometry=hex] .cell:before,#app[data-board-geometry=hex] .cell:after{display:none}.hex-tile{position:absolute;inset:0;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:#6d85816b;pointer-events:auto;cursor:pointer}.hex-tile-base,.hex-tile-side{position:absolute;pointer-events:none}.hex-tile-base{inset:0;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:#08191d;transform:translateZ(calc(-1 * var(--board-depth)))}.hex-tile-side{width:calc(var(--cell-size) * .5773502692);height:var(--board-depth);background:linear-gradient(#385451,#152c2d 35%,#091b20);border-top:1px solid #78948b88;border-bottom:1px solid #07161a;transform-origin:0 0;transform:rotate(var(--hex-edge-angle)) rotateX(-90deg)}.hex-tile:before{content:"";position:absolute;inset:1px;clip-path:inherit;background:linear-gradient(145deg,#294043,#172d31 60%,#112227);box-shadow:inset 0 2px #abc2b32b,inset 0 -3px #07181c77}.hex-tile:hover{background:#c4a77b}.hex-tile:hover:before{background:linear-gradient(145deg,#3c514d,#223b3c)}.cell.fixed .hex-tile{cursor:default}.cell.fixed .hex-tile:hover{background:#6d85816b}.cell.hex-focused .hex-tile{background:#c4a77b}.prism-spectrum-btn{font-size:11px;color:var(--accent-glow);white-space:nowrap}.splitter-port-label{position:absolute;padding:0 2px;border:1px solid #91cce0;border-radius:2px;background:#12262a;color:#e5faff;font:700 clamp(8px,calc(var(--cell-size) * .18),11px)/1.1 sans-serif;transform:translate(-50%,-50%) rotate(calc(-1 * var(--board-yaw))) scaleY(var(--board-label-stretch));pointer-events:none}.instrument-rotation-label{position:absolute;right:0;top:0;font:700 9px/12px sans-serif;color:#eee7d4;background:#12262a;border:1px solid #8b6c42;border-radius:3px;padding:0 2px;transform:rotate(calc(-1 * var(--board-yaw))) scaleY(var(--board-label-stretch))}#app[data-board-geometry=hex] #grid .instrument-icon{width:calc(var(--cell-size) * .86);height:calc(var(--cell-size) * .86)}#app[data-board-geometry=hex][data-board-view=flat] #grid .instrument-icon{width:min(94%,60px);height:min(calc(var(--cell-size) * .94),60px)}.recovery-link{border:0;background:transparent;color:#526859;padding:8px 6px;font:inherit;font-size:12px;text-decoration:underline;text-underline-offset:4px;cursor:pointer;line-height:1.5}.recovery-link:hover{color:#243c34}.recovery-link:disabled{opacity:.5;cursor:wait}.recovery-link:focus-visible{outline:2px solid #8b6c42;outline-offset:3px}#recovery-dialog{position:fixed;inset:0;margin:auto;width:min(480px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow-y:auto;padding:clamp(20px,5vw,32px);border:1px solid #a58a6166;border-radius:14px;background:#eee9df;color:#243c34;box-shadow:0 24px 80px #10272b55}#recovery-dialog::backdrop{background:#10272b99;backdrop-filter:blur(4px)}.recovery-kicker{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:#8b6c42}#recovery-dialog h2{margin:8px 0 12px;font-size:clamp(21px,5vw,26px);line-height:1.2}#recovery-description,.recovery-note{font-size:13px;line-height:1.65;color:#526859}#recovery-dialog label{display:block;margin:22px 0 8px;font-size:12px;font-weight:600}#recovery-dialog input,#recovery-dialog select{width:100%;min-height:44px;padding:10px 12px;border:1px solid #8b927d;border-radius:6px;background:#faf7ee;color:#243c34;font:inherit;font-size:15px}#recovery-dialog input:focus-visible,#recovery-dialog select:focus-visible{outline:2px solid #8b6c42;outline-offset:2px}.recovery-selection{min-height:20px;margin-top:9px;font-size:12px;color:#667362}.recovery-note{margin-top:16px;padding:12px 0;border-top:1px solid #a58a6133}.recovery-error{font-size:12px;color:#a33a33;margin-top:10px;line-height:1.5}.recovery-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:18px}.recovery-actions .btn{min-height:44px;font-size:12px}#recovery-submit:not(:disabled){background:#294d40;border-color:#294d40;color:#faf7ee;box-shadow:none;animation:none}#recovery-submit:not(:disabled):hover{background:#1c3c31;border-color:#1c3c31}@media(max-width:420px){.recovery-actions{flex-direction:column-reverse}}#level-select-screen{align-items:flex-start}.level-select-content{width:min(100%,540px);gap:16px;margin-block:auto}.level-grid{display:flex;flex-direction:column;gap:24px;max-width:none}.level-chapter{width:100%;text-align:left}.chapter-header{display:flex;align-items:center;gap:14px;margin-bottom:16px}.chapter-symbol{width:42px;height:42px;flex:0 0 42px;color:#526859}.chapter-symbol svg{width:100%;height:100%;stroke:currentColor;stroke-width:1.3}.chapter-copy{flex:1;min-width:0}.chapter-kicker{display:block;margin-bottom:3px;color:#7a7967;font-size:10px;letter-spacing:1.4px;text-transform:uppercase}.chapter-copy h2{color:#243c34;font-size:19px;font-weight:600}.chapter-copy p{color:#667362;font-size:12px;margin-top:4px}.chapter-progress{color:#526859;font-size:12px;font-variant-numeric:tabular-nums}.chapter-levels{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px}.chapter-levels .level-btn{width:100%;height:auto;min-height:44px;aspect-ratio:1;font-size:17px}.level-chapter[data-geometry=hex]{border-top:1px solid #a58a6166;padding-top:22px}.level-chapter[data-geometry=hex] .chapter-symbol,.level-chapter[data-geometry=hex] .chapter-kicker{color:#8b6c42}.level-chapter[data-geometry=hex] .level-btn{aspect-ratio:.8660254;border:0;border-radius:0;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);box-shadow:none;background:#d5dbc8}.level-chapter[data-geometry=hex] .level-btn:hover:not(.locked){background:#e6ddc7;box-shadow:none}.level-chapter[data-geometry=hex] .level-btn.completed{background:#cbd7b7}.level-chapter[data-geometry=hex] .level-btn.current{background:#243c34;color:#eee7d4}.level-chapter[data-geometry=hex] .level-btn.completed:after{top:15%;right:20%}.level-chapter[data-geometry=hex] .level-btn:focus-visible{background:#e6ddc7;color:#243c34;outline:0;box-shadow:inset 0 0 0 4px #8b6c42}.chapter-note{color:#667362;text-align:center;font-size:12px;line-height:1.5;margin-top:13px}.level-chapter[data-fog=memory] .level-btn{isolation:isolate;opacity:1;color:#f1ead5;background:#10272b}.level-chapter[data-fog=memory] .level-btn:before{content:"";position:absolute;inset:2px;clip-path:inherit;background:#10272b;z-index:-1;pointer-events:none}.level-chapter[data-fog=memory] .level-btn[data-exploration=explored]{background:#7e9b8c55}.level-chapter[data-fog=memory] .level-btn[data-exploration=explored]:before{background:radial-gradient(ellipse at 40% 30%,#3b5552,#253e3f 80%)}.level-chapter[data-fog=memory] .level-btn[data-exploration=revealed]{background:#bed0b49c;color:#fff1cf}.level-chapter[data-fog=memory] .level-btn[data-exploration=revealed]:before{background:radial-gradient(ellipse at 40% 30%,#718879,#47645e 80%)}.level-chapter[data-fog=memory] .level-btn.completed:after{color:#eee4bb}.level-chapter[data-fog=memory] .level-btn:hover:not(.locked){background:#c4a77b}.level-chapter[data-fog=memory] .level-btn.current{background:#6d8c7b}.level-chapter[data-fog=memory] .level-btn:focus-visible{background:#ecd4a2;color:#fff1cf}@media(max-width:600px){.level-select-content{gap:12px}.level-grid{gap:20px}.chapter-header{gap:10px;margin-bottom:12px}.chapter-symbol{width:34px;height:34px;flex-basis:34px}.chapter-copy h2{font-size:16px}.chapter-kicker{font-size:9px;letter-spacing:.7px}.chapter-copy p,.chapter-progress{font-size:11px}.chapter-levels{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.chapter-levels .level-btn{font-size:15px}.level-chapter[data-geometry=hex]{padding-top:18px}.chapter-note{font-size:11px}}@media(max-height:600px)and (orientation:landscape){#level-select-screen{align-items:flex-start}.level-select-content{padding:8px 0}}.language-switcher{display:inline-flex;align-self:flex-end;align-items:center;gap:2px;flex-shrink:0;padding:2px;border:1px solid var(--panel-border);border-radius:6px;background:var(--panel-bg)}.language-switcher[hidden]{display:none}.language-switcher button{border:0;border-radius:4px;background:transparent;color:var(--text-dim);font:600 10px Segoe UI,sans-serif;padding:4px 6px;min-width:24px;min-height:26px;cursor:pointer}#level-desc{max-height:none;overflow:visible;flex-shrink:0}.language-switcher button[aria-pressed=true]{color:#eee7d4;background:#243c34}.language-switcher button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.header-status .language-switcher{align-self:center}@media(max-width:600px){.header-status{gap:4px}.header-status .language-switcher button{padding-inline:4px;min-height:24px}}@media(max-width:360px){#header{flex-wrap:wrap;row-gap:4px}.header-status{margin-left:auto}}#fog-panel{display:flex;align-items:center;justify-content:center;gap:8px 14px;flex-wrap:wrap;padding:5px 8px;flex-shrink:0}#fog-panel[hidden]{display:none}#fog-status{color:var(--text-dim);font-size:12px;max-width:360px}#fog-reveal-btn{padding:6px 10px;font-size:12px}.editor-fog-setting{display:flex;align-items:center;gap:8px;font-size:12px;padding:10px 0}#fog-canvas{position:absolute;top:0;left:0;pointer-events:none;transform:translateZ(0)}#fog-canvas[hidden]{display:none}#app[data-fog-active=true] #grid .cell{background:none;box-shadow:none}#app[data-fog-active=true] #grid .cell:before,#app[data-fog-active=true] #grid .cell:after{opacity:0}#app[data-fog-active=true] #grid .hex-tile,#app[data-fog-active=true] #grid .hex-tile:before{background:none;box-shadow:none}#app[data-fog-active=true] #grid .cell:not(.fog-unknown):hover{outline-color:#c4a77b66}#app[data-fog-active=true] #grid .cell:not(.fog-unknown) .hex-tile:hover,#app[data-fog-active=true] #grid .hex-focused .hex-tile{background:#e4dcc51a}#app[data-fog-active=true] #grid .fog-unknown{outline:none;cursor:help}#app[data-fog-active=true] #grid .fog-unknown .hex-tile{cursor:help}#app[data-fog-active=true] #grid .fog-unknown .hex-tile:hover{background:#c8d4c605}#app[data-fog-active=true] #grid .fog-unknown .hex-tile-side{background:linear-gradient(#193336,#10262b 35%,#091b20);border-top-color:#78948b20}#grid .fog-known .cell-icon{filter:brightness(.8) saturate(.75)}#grid .fog-beacon .target-icon{outline:1px solid #c4a77b80;outline-offset:2px;border-radius:50%}@media(max-width:600px){#fog-panel{gap:4px 8px}#fog-status{font-size:11px;max-width:230px}#fog-reveal-btn{min-height:40px}}
