:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#0b0e14;--surface:#161b26;--surface-raised:#1d2330;--line:#262e3f;--text:#e6e9ef;--text-quiet:#8b93a7;--accent:#f5c542;font-family:system-ui,sans-serif}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{background:var(--background);color:var(--text)}.shell{height:100%;padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);flex-direction:column;display:flex}.top-bar{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;padding:12px 16px;display:flex}.top-bar h1{margin:0;font-size:1.25rem}.tagline{color:var(--text-quiet);margin:2px 0 0;font-size:.875rem}.top-controls{flex-wrap:wrap;gap:12px 16px;display:flex}.language,.picker{color:var(--text-quiet);align-items:center;gap:8px;font-size:.875rem;display:flex}select,button{border:1px solid var(--line);background:var(--surface);color:var(--text);font:inherit;border-radius:6px;padding:6px 10px}button{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:hover:not(:disabled){background:var(--surface-raised)}button:disabled{cursor:default;opacity:.45}button.primary{border-color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.board{border-radius:8px;width:100%;height:100%}.board:focus-visible{outline:none}.board canvas{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;display:block}.board-failed{color:var(--text-quiet);margin:0}.hud{border-top:1px solid var(--line);-webkit-user-select:none;user-select:none;padding:8px 16px 12px}.hud-buttons{flex-wrap:wrap;gap:8px;display:flex}.icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}.hud-button{justify-content:center;align-items:center;gap:6px;display:inline-flex}.hud-badge{font-variant-numeric:tabular-nums;font-size:.8125rem}.moves{color:var(--text-quiet);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto;font-size:.875rem}.color-dots{align-items:center;gap:4px;display:flex}.color-dot{border:1px solid var(--line);background:var(--surface);width:22px;height:22px;color:var(--text-quiet);border-radius:50%;place-items:center;font-size:.6875rem;font-weight:700;display:grid}.color-dot[data-on=true]{color:#05060a;border-color:#0000}.color-dot-r[data-on=true]{background:#ff3b3b;box-shadow:0 0 8px #ff3b3b}.color-dot-g[data-on=true]{background:#2dff5f;box-shadow:0 0 8px #2dff5f}.color-dot-b[data-on=true]{background:#3d6bff;box-shadow:0 0 8px #3d6bff}.color-dots-slash{color:var(--text-quiet)}.stability{color:var(--text-quiet);flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:8px;font-size:.875rem;display:flex}.stability progress{accent-color:#59d6ff;width:160px}.hud-notice{background:#f5c5421a;border:1px solid #c9a227;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:8px;padding:6px 10px;font-size:.875rem;display:flex}.hint{color:var(--text-quiet);margin:8px 0 0;font-size:.8125rem}.dialog-backdrop{background:#05060a4d;place-items:end center;padding:16px 16px 112px;display:grid;position:fixed;inset:0}.dialog{border:1px solid var(--line);background:var(--surface);border-radius:12px;max-width:360px;padding:20px 24px;box-shadow:0 12px 40px #00000080}.dialog h2{margin:0 0 8px;font-size:1.25rem}.dialog p{color:var(--text-quiet);margin:0 0 16px}.dialog-buttons{flex-wrap:wrap;gap:8px;display:flex}.end-reopen{position:fixed;bottom:112px;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #00000080}.title{color:inherit;text-decoration:none}.top-controls button{white-space:nowrap}.menu-toggle{align-items:center;gap:6px;display:none}@media (width<=860px),(orientation:landscape) and (height<=500px),(pointer:coarse) and (width<=1100px){.top-bar{flex-wrap:nowrap;position:relative}.menu-toggle{display:inline-flex}.top-menu .top-controls{display:none}.top-menu .top-controls.open{z-index:5;border:1px solid var(--line);background:var(--surface);border-radius:10px;flex-direction:column;align-items:stretch;gap:6px;max-height:calc(100vh - 64px);padding:10px;display:flex;position:absolute;top:calc(100% + 4px);right:12px;overflow-y:auto;box-shadow:0 12px 40px #00000080}.top-menu .top-controls.open button{text-align:left}.top-menu .language>span{clip-path:none;width:auto;height:auto;position:static}}.notice{background:var(--surface-raised);color:var(--text-quiet);margin:0;padding:8px 16px;font-size:.875rem}.notice.update{color:var(--text);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.loading{color:var(--text-quiet);padding:24px}main.menu{flex:1;min-height:0;overflow-y:auto}main.play{flex-direction:column;flex:1;min-height:0;display:flex}.screen{max-width:960px;margin:0 auto;padding:16px}.screen h2{margin:8px 0 16px;font-size:1.25rem}.back{margin-bottom:8px}.continue{text-align:left;border-radius:10px;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:8px 0 4px;padding:12px 16px;display:flex}.continue-label{font-weight:600}.continue-level{color:var(--text-quiet);font-size:.875rem}.cards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.card{text-align:left;border-radius:10px;flex-direction:column;gap:6px;width:100%;height:100%;padding:16px;display:flex}.card-title{font-size:1.0625rem;font-weight:600}.card-text,.card-progress{color:var(--text-quiet);font-size:.875rem}.levels{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.level{text-align:left;justify-content:space-between;gap:8px;width:100%;padding:10px 12px;display:flex}.level.solved{border-color:var(--accent)}.level .mark{color:var(--accent);font-size:.8125rem}.select-screen{--select-ink:var(--text);--select-quiet:var(--text-quiet);--select-edge:var(--line);--select-button:var(--surface-raised);--select-button-ink:var(--text);--select-accent:var(--accent);--select-font:inherit;border:2px solid var(--select-edge);background:var(--surface);color:var(--select-ink);border-radius:14px;margin-top:16px;margin-bottom:16px;padding:20px 24px 24px}.select-screen button{border-color:var(--select-edge);background:var(--select-button);color:var(--select-button-ink)}.select-screen button:hover:not(:disabled){background:var(--select-button);filter:brightness(1.15)}.select-kicker{color:var(--select-accent);font:700 .75rem / 1.3 var(--select-font);letter-spacing:.16em;text-transform:uppercase;margin:4px 0 0}.select-screen h2{font-family:var(--select-font);margin:4px 0 8px;font-size:1.75rem}.select-text{max-width:60ch;color:var(--select-quiet);margin:0 0 18px}.select-skills{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.select-skill{text-align:left;border-radius:10px;grid-template-columns:auto 1fr;grid-template-areas:"lamp name""meter meter""progress progress";align-items:center;gap:10px;width:100%;height:100%;padding:14px 16px;display:grid}.select-lamp{background:color-mix(in srgb, var(--select-accent) 22%, transparent);border-radius:50%;grid-area:lamp;width:12px;height:12px}.select-lamp[data-on=true]{background:var(--select-accent);box-shadow:0 0 10px var(--select-accent)}.select-skill-name{font-family:var(--select-font);grid-area:name;font-size:1.0625rem;font-weight:700}.select-meter{background:color-mix(in srgb, var(--select-button-ink) 16%, transparent);border-radius:3px;grid-area:meter;height:6px;overflow:hidden}.select-meter>span{background:var(--select-accent);height:100%;display:block}.select-progress{color:var(--select-quiet);grid-area:progress;font-size:.8125rem}.select-actions{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.select-screen .level.solved{border-color:var(--select-accent)}.select-screen .level .mark{color:var(--select-accent)}.theme-lab{--select-ink:#e1e8f3;--select-quiet:#9aa7bd;--select-edge:#3b4862;--select-button:#1f293a;--select-button-ink:#e8eef8;--select-accent:#7dff9a;--select-font:ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;background:radial-gradient(circle at 14px 14px,#55627e 3px,#0000 4px),radial-gradient(circle at calc(100% - 14px) 14px,#55627e 3px,#0000 4px),radial-gradient(circle at 14px calc(100% - 14px),#55627e 3px,#0000 4px),radial-gradient(circle at calc(100% - 14px) calc(100% - 14px),#55627e 3px,#0000 4px),linear-gradient(#1b2231,#10151e)}.theme-lab .select-skill{border-width:2px;box-shadow:inset 0 -3px #00000059,0 2px #090c12}.theme-lab .select-meter{background:repeating-linear-gradient(90deg,#0b0f16 0 9px,#2b3548 9px 10px);border-radius:2px;height:8px}.theme-school{--select-ink:#f5f2e9;--select-quiet:#cbd6c7;--select-edge:#f5f2e98c;--select-button:#ffffff0d;--select-button-ink:#f5f2e9;--select-accent:#ffe28a;--select-font:"Chalkboard SE", "Segoe Print", "Comic Sans MS", cursive;background:radial-gradient(at 25% 15%,#ffffff12,#0000 55%),radial-gradient(at 80% 90%,#ffffff0a,#0000 50%),#24392e;border:12px solid #7b4f27;border-radius:6px;box-shadow:inset 0 0 40px #00000073}.theme-school .select-skill{border:2px dashed var(--select-edge);border-radius:4px}.theme-school .select-meter>span{background:repeating-linear-gradient(90deg,#f5f2e9 0 7px,#0000 7px 10px)}.theme-classic{--select-ink:#2b2112;--select-quiet:#5a4a2f;--select-edge:#a88b55;--select-button:#f8f0da;--select-button-ink:#2b2112;--select-accent:#8c3b1f;--select-font:Georgia, "Times New Roman", serif;text-align:center;background:radial-gradient(#f7eed4,#e4d1a5);border:4px double #a88b55;border-radius:4px}.theme-classic :focus-visible{outline-color:#8c3b1f}.theme-classic .back{float:left}.theme-classic .select-text{margin-inline:auto}.theme-classic .select-skills{grid-template-columns:minmax(0,420px);justify-content:center}.theme-classic .select-skill{border-radius:2px}.theme-classic .select-actions{justify-content:center}.theme-space{--select-ink:#e6f6ff;--select-quiet:#93b6cc;--select-edge:#59d6ff73;--select-button:#0a2040b3;--select-button-ink:#e6f6ff;--select-accent:#59d6ff;--select-font:"Trebuchet MS", "Segoe UI", system-ui, sans-serif;background:radial-gradient(1px 1px at 12% 22%,#fff,#0000),radial-gradient(1px 1px at 33% 68%,#cfe9ff,#0000),radial-gradient(1.5px 1.5px at 47% 18%,#fff,#0000),radial-gradient(1px 1px at 62% 82%,#fff,#0000),radial-gradient(1.5px 1.5px at 78% 36%,#e0f2ff,#0000),radial-gradient(1px 1px at 91% 74%,#fff,#0000),radial-gradient(1px 1px at 24% 91%,#fff,#0000),radial-gradient(1px 1px at 85% 9%,#fff,#0000),radial-gradient(at 85% 115%,#59d6ff38,#0000 60%),#050817}.theme-space .select-skill{border-radius:2px 16px;box-shadow:inset 0 0 14px #59d6ff29}.theme-space h2{letter-spacing:.04em}.theme-sea{--select-ink:#fdf3dc;--select-quiet:#dccca7;--select-edge:#d9b77a;--select-button:#6b4423;--select-button-ink:#fdf3dc;--select-accent:#ffcf5c;--select-font:Georgia, "Times New Roman", serif;background:repeating-radial-gradient(circle at 50% 160%,#ffffff0d 0 2px,#0000 2px 26px),linear-gradient(#0e3652,#062033);border:3px dashed #d9b77a}.theme-sea .select-skill{background:repeating-linear-gradient(90deg,#6b4423 0 26px,#5f3c1f 26px 28px);border:2px solid #3d2613;border-radius:6px}.theme-sea .select-skill:hover:not(:disabled){background:repeating-linear-gradient(90deg,#6b4423 0 26px,#5f3c1f 26px 28px)}.theme-crypt{--select-ink:#ebe4f6;--select-quiet:#ac9fc2;--select-edge:#4b4159;--select-button:#27222f;--select-button-ink:#ebe4f6;--select-accent:#c49dff;--select-font:"Palatino Linotype", "Book Antiqua", Palatino, serif;background:linear-gradient(#0000 calc(100% - 2px),#00000073 0) 0 0/100% 42px,linear-gradient(90deg,#0000 calc(100% - 2px),#00000073 0) 0 0/84px 42px,radial-gradient(at 50% 0,#c49dff24,#0000 60%),#1b1822}.theme-crypt .select-skill{border-width:2px;border-radius:48px 48px 6px 6px;padding-top:22px}.theme-clinic{--select-ink:#10302b;--select-quiet:#46655f;--select-edge:#9fd6ca;--select-button:#fff;--select-button-ink:#10302b;--select-accent:#0b7a68;--select-font:system-ui, sans-serif;background:linear-gradient(#ecf8f5,#d6efe9)}.theme-clinic :focus-visible{outline-color:#0b7a68}.theme-clinic .select-kicker:before{color:#d93a3f;content:"✚";margin-right:6px}.theme-clinic .select-skill{border-top:6px solid #0b7a68;border-radius:6px;box-shadow:0 2px 6px #10302b1f}.card-banner{border-radius:9px 9px 0 0;height:44px;margin:-16px -16px 6px;display:block}.banner-lab{background:radial-gradient(circle at 12px,#7dff9a 3px,#0000 4px),radial-gradient(circle at 28px,#ffcf5c 3px,#0000 4px),repeating-linear-gradient(90deg,#1b2231 0 18px,#222b3d 18px 20px)}.banner-school{background:repeating-linear-gradient(90deg,#f5f2e999 0 14px,#0000 14px 20px) 16px 12px/104px 2px no-repeat,repeating-linear-gradient(90deg,#f5f2e973 0 9px,#0000 9px 15px) 16px 22px/66px 2px no-repeat,#24392e;border-bottom:5px solid #7b4f27}.banner-classic{background:radial-gradient(#f7eed4,#e4d1a5);border-bottom:3px double #a88b55}.banner-space{background:radial-gradient(1px 1px at 15% 30%,#fff,#0000),radial-gradient(1px 1px at 45% 70%,#fff,#0000),radial-gradient(1.5px 1.5px at 72% 25%,#fff,#0000),radial-gradient(circle at 92% 120%,#2e6fa8 0 26px,#0000 27px),#050817}.banner-sea{background:repeating-radial-gradient(circle at 50% 180%,#ffffff24 0 2px,#0000 2px 14px),linear-gradient(#0e3652,#062033)}.banner-crypt{background:linear-gradient(#0000 calc(100% - 2px),#00000080 0) 0 0/100% 22px,linear-gradient(90deg,#0000 calc(100% - 2px),#00000080 0) 0 0/44px 22px,#2a2533}.banner-clinic{background:linear-gradient(#d93a3f,#d93a3f) 18px/18px 6px no-repeat,linear-gradient(#d93a3f,#d93a3f) 24px/6px 18px no-repeat,linear-gradient(#ecf8f5,#d6efe9)}.level-heading{color:var(--text-quiet);margin:0;padding:8px 16px 0;font-size:.9375rem;font-weight:500}.shared-bar{flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 16px 0;display:flex}.shared-bar .level-heading{padding:0}.level-intro{align-items:baseline;gap:12px;max-width:calc(80ch + 32px);padding:4px 16px 0;font-size:.9375rem;line-height:1.45;display:flex}.intro-text{min-width:0;margin:0}.level-intro.collapsed .intro-text{-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.intro-toggle{color:var(--text-quiet);flex:none;font-size:.8125rem}.solution-bar{flex-wrap:wrap;align-items:center;gap:8px 10px;padding:8px 16px 0;display:flex}.solution-buttons{gap:8px;display:flex}.solution-message{color:#cbb8ff;flex:260px;margin:0;font-size:.9375rem}.play-area{flex-direction:column;flex:1;min-height:0;display:flex}.play-area .stage{flex:1;min-height:0;padding:8px 16px 4px}.modal-backdrop{background:#05060a99;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{border:1px solid var(--line);background:var(--surface);border-radius:12px;flex-direction:column;width:min(640px,100%);max-height:min(85vh,760px);display:flex;box-shadow:0 12px 40px #00000080}.modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.modal-header h2{margin:0;font-size:1.125rem}.modal-body{padding:16px 20px 20px;line-height:1.5;overflow-y:auto}.modal-body h3{margin:16px 0 8px;font-size:1rem}.parts{margin:0}.parts div{border-top:1px solid var(--line);padding:6px 0}.parts dt{font-weight:600}.parts dd{color:var(--text-quiet);margin:2px 0 0}.settings{gap:16px;display:grid}.settings label{gap:6px;display:grid}.bindings summary{cursor:pointer;font-weight:600}.bindings table{border-collapse:collapse;width:100%;margin:8px 0 12px}.bindings th,.bindings td{text-align:left;padding:3px 4px}.bindings tbody th{font-weight:400}.binding{font-variant-numeric:tabular-nums;min-width:7em}.binding.waiting{outline:2px solid}.settings label.check{align-items:center;gap:8px;display:flex}.profiles{gap:8px;margin:0 0 24px;padding:0;list-style:none;display:grid}.profile{border:1px solid var(--line);background:var(--surface);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:12px 16px;display:flex}.profile.active{border-color:var(--accent)}.profile-name{font-weight:600}.profile-info{color:var(--text-quiet);flex:1;font-size:.875rem}.profile-buttons,.profile form{flex-wrap:wrap;gap:8px;display:flex}.new-profile{flex-wrap:wrap;align-items:end;gap:8px 12px;margin-bottom:16px;display:flex}.new-profile label{gap:6px;display:grid}.file-button{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:6px;margin-bottom:16px;padding:6px 10px;display:inline-block}.file-button:hover:not(.disabled){background:var(--surface-raised)}.file-button:focus-within{outline:2px solid var(--accent);outline-offset:2px}.file-button.disabled{cursor:default;opacity:.45}.editor-bar .file-button{margin:0}input,textarea{border:1px solid var(--line);background:var(--surface);color:var(--text);font:inherit;border-radius:6px;padding:6px 10px}textarea{resize:vertical}input[type=range],input[type=checkbox],input[type=file]{accent-color:var(--accent);background:0 0;border:0;padding:0}.about{line-height:1.5}.about h3{margin:20px 0 4px;font-size:1.0625rem}.about h4{color:var(--text-quiet);margin:12px 0 4px;font-size:.9375rem}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}button[aria-pressed=true]{border-color:var(--accent);background:var(--surface-raised)}.intro{max-width:64ch;color:var(--text-quiet);line-height:1.5}.screen h3{margin:24px 0 12px;font-size:1.0625rem}.tabs{border:0;flex-wrap:wrap;gap:8px;margin:0 0 16px;padding:0;display:flex}.level.empty{color:var(--text-quiet);border-style:dashed}.field{min-width:0;color:var(--text-quiet);gap:6px;font-size:.875rem;display:grid}.field input,.field textarea,.field select{width:100%;color:var(--text);font-size:1rem}.field-pair{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px 12px;display:grid}.check{align-items:center;gap:8px;display:flex}.status{color:var(--text-quiet);font-size:.875rem}.pack-settings{border-top:1px solid var(--line);gap:12px;margin-top:24px;padding-top:8px;display:grid}.pack-settings h3{margin:8px 0 0}.pack-actions{margin-top:24px}.level-editor{flex-direction:column;flex:1;min-height:0;display:flex}.editor-bar{flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 16px 0;display:flex}.editor-bar .level-heading{flex:1;padding:0}.workbench{flex:1;grid-template-columns:minmax(0,1fr) 320px;min-height:0;display:grid}.workbench .stage{flex-direction:column;min-height:0;padding:8px 16px;display:flex}.workbench .board{flex:1;min-height:240px}.editor-panels{border-left:1px solid var(--line);align-content:start;gap:12px;padding:8px 16px 16px;display:grid;overflow-y:auto}.panel{border:0;border-bottom:1px solid var(--line);gap:8px;margin:0;padding:0 0 12px;display:grid}.panel h3,.panel legend{margin:0 0 4px;padding:0;font-size:.9375rem;font-weight:600}.panel p{margin:0}.tools{flex-wrap:wrap;gap:8px 16px;display:flex}.tools legend{width:100%}.choice{align-items:center;gap:6px;display:flex}.palette{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.palette legend{grid-column:1/-1}.palette button{text-align:left;padding:4px 8px;font-size:.8125rem}.colors{border:0;flex-wrap:wrap;gap:8px 16px;margin:0;padding:0;display:flex}.colors legend{color:var(--text-quiet);margin-bottom:4px;padding:0;font-size:.875rem}.turn{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.problems{gap:6px;margin:0;padding:0;list-style:none;display:grid}.problem{color:#ff8f9a}.warning{color:var(--accent)}button.link{color:inherit;text-align:left;background:0 0;border:0;padding:0;text-decoration:underline}.test-banner{border:1px solid var(--accent);color:var(--text-quiet);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:8px 16px 0;padding:8px 12px;display:flex}.colors-help{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.colors-help p{flex:220px;margin:0}.color-wheel{width:160px;height:144px}.color-wheel circle{mix-blend-mode:screen}.color-wheel text{fill:#05060a;text-anchor:middle;dominant-baseline:middle;font-size:13px;font-weight:700}@media (width<=600px),(height<=500px){.top-bar{gap:8px;padding:8px 12px}.tagline{display:none}.top-controls,.hud-buttons{gap:6px}.top-controls button,.language select,.hud-buttons button{padding:5px 8px;font-size:.875rem}.language>span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.hud{padding:6px 12px 8px}.color-dot{width:18px;height:18px;font-size:.625rem}.select-screen{margin:8px;padding:14px 14px 18px}.select-screen h2{font-size:1.375rem}.theme-school{border-width:8px}}@media (height<=500px){.top-bar h1{font-size:1rem}.hud .hint{display:none}.level-intro{font-size:.8125rem;line-height:1.35}}@media (orientation:landscape) and (height<=500px),(orientation:landscape) and (pointer:coarse) and (height<=1100px){.top-bar{flex-wrap:nowrap}.top-bar h1{white-space:nowrap}.tagline{display:none}.top-controls{scrollbar-width:none;flex-wrap:nowrap;min-width:0;overflow-x:auto}.language>span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.play-area{flex-direction:row}.play-area .stage{padding:8px 8px 8px 16px}.play-area .hud{width:var(--side-hud);border-top:0;border-left:1px solid var(--line);flex-direction:column;padding:8px 16px 8px 10px;display:flex;overflow-y:auto}.play-area .hud-buttons{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;display:grid}.play-area .hud-buttons button{padding:10px 4px}.play-area .hud-buttons .icon{width:22px;height:22px}.play-area .hud-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.play-area .moves{white-space:normal;grid-column:1/-1;margin:4px 0 0}.play-area .color-dots{grid-column:1/-1}.play-area .stability{flex-direction:column;align-items:stretch}.play-area .stability progress{width:100%}.play-area .hud .hint{display:none}.dialog-backdrop{padding:12px calc(var(--side-hud) + 12px) 12px 12px;place-items:end}.end-reopen{right:calc(var(--side-hud) + 12px);bottom:12px;left:auto;transform:none}.left-handed .play-area{flex-direction:row-reverse}.left-handed .play-area .hud{border-right:1px solid var(--line);border-left:0;padding:8px 10px 8px 16px}.left-handed .play-area .stage{padding-left:8px;padding-right:16px}.left-handed .dialog-backdrop{padding:12px 12px 12px calc(var(--side-hud) + 12px)}.left-handed .end-reopen{right:12px}}:root{--side-hud:156px}@media (orientation:landscape) and (height<=500px){:root{--side-hud:132px}.top-bar{padding:6px 12px}.top-controls button,.language select{padding:4px 7px;font-size:.8125rem}.level-heading,.shared-bar,.solution-bar,.editor-bar{padding-top:4px}.level-heading{font-size:.8125rem}.play-area .stage{padding:4px 8px 6px 12px}.play-area .hud{padding:6px 12px 8px 10px}.play-area .hud-buttons button{padding:8px 4px}.play-area .stability{font-size:.75rem}.dialog{padding:14px 18px}.dialog p{margin-bottom:10px}.modal{max-height:calc(100dvh - 16px)}.modal-backdrop{padding:8px}.modal-header{padding:10px 16px}}.turn-notice{display:none}@media (orientation:portrait) and (width<=600px) and (pointer:coarse){.turn-notice{z-index:10;background:var(--background);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px;display:flex;position:fixed;inset:0}.turn-notice h2{margin:0;font-size:1.25rem}.turn-notice p{max-width:32ch;color:var(--text-quiet);margin:0 0 8px;line-height:1.45}.turn-phone{fill:none;width:96px;height:96px;stroke:var(--accent);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.turn-phone rect{transform-box:fill-box;transform-origin:50%;animation:2.4s ease-in-out infinite turn-phone}}@keyframes turn-phone{0%,25%{transform:rotate(0)}55%,to{transform:rotate(-90deg)}}@media (prefers-reduced-motion:reduce){.turn-phone rect{animation:none}}@media (width<=800px){.workbench{grid-template-columns:1fr;overflow-y:auto}.workbench .board{min-height:320px}.editor-panels{border-left:0;border-top:1px solid var(--line);overflow-y:visible}}
