:root{color:#ece9e0;font-synthesis:none;text-rendering:optimizelegibility;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#11151a;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-weight:400}*{box-sizing:border-box}body{min-width:320px;margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;min-height:44px}button:disabled{opacity:.35;cursor:default}button:hover:not(:disabled){color:#fff5d9}button:focus-visible,a:focus-visible,.board:focus-visible{outline-offset:6px;border-radius:8px;outline:2px solid #e9d39c}button[hidden],[hidden]{display:none!important}#app{background:radial-gradient(at 50% 38%,#23282a80 0,#0000 58%);flex-direction:column;min-height:100svh;display:flex}.masthead{justify-content:space-between;align-items:center;width:100%;max-width:1600px;margin:0 auto;padding:28px 5.5%;display:flex}.brand{color:#f1ede2;align-items:center;gap:11px;font-weight:500;text-decoration:none;display:flex}.brand-mark{color:#dbc998;font-size:34px;font-weight:300;line-height:1}.brand-copy{flex-direction:column;gap:2px;display:flex}.brand-name{letter-spacing:-1.2px;font-size:29px;line-height:.9}.brand-subtitle{letter-spacing:1.35px;color:#b9b5a8;font-size:10px;font-weight:400;line-height:1.2}.menu-button{color:#b6b8b9;align-items:center;gap:12px;font-size:13px;display:flex}.menu-button>span:first-child{font-size:18px;transform:scaleX(1.15)}.game{width:min(100% - 40px,480px);margin:auto;padding:28px 0 40px;position:relative}.chapter-label{letter-spacing:3px;color:#d0bf98;align-items:center;gap:12px;font-size:10px;font-weight:550;display:flex}.tiny-light{background:#e6d3a4;border-radius:50%;width:5px;height:5px;box-shadow:0 0 10px #dcc99a77}.chapter-number{color:#a1a4a6;letter-spacing:1.5px;margin-left:4px}h1{letter-spacing:-.7px;margin:17px 0 9px;font-size:clamp(23px,4.5vw,30px);font-weight:400}.subtitle{color:#acb0b3;margin:0 0 32px;font-size:14px;line-height:1.6}.board-frame{background:#151a1e88;border:1px solid #586067;border-radius:17px;padding:13px;box-shadow:0 24px 70px #00000026}.board{touch-action:none;-webkit-user-select:none;user-select:none;border-radius:8px;width:100%;height:auto;display:block;overflow:visible}.board>*{pointer-events:none}.cell{fill:#161b20;stroke:#747a8033;stroke-width:.6px;transition:fill .2s}.cell.visited{fill:#e1ce9a0d}.grid-dot{fill:#7b838c}.wall{stroke:#a3a5a3;stroke-width:2px;stroke-linecap:round}.board path{fill:none;stroke-linejoin:round;stroke-linecap:round;pointer-events:none}.path-halo{stroke:#ead9ab;stroke-width:14px;opacity:.2;filter:url(#light-halo)}.path-body{stroke:#d4c292;stroke-width:4px;opacity:.5}.path-core{stroke:#f9e8bc;stroke-width:1.9px}.path-tip{fill:#fff2d0}.beacon-aura{fill:#ebd8a408;stroke:#a9987233;stroke-width:.7px}.beacon-ring{fill:#1e2428;stroke:#c9c5b4;stroke-width:1px}.beacon text{fill:#e8e5da;font-family:inherit;font-size:15px}.beacon.next .beacon-aura{stroke:#d9c28b;opacity:.8;animation:3.5s ease-in-out infinite breathe}.beacon.reached .beacon-ring{fill:#e9dab8;stroke:#fff2d4}.beacon.reached text{fill:#25282a}.completed .cell{stroke-opacity:.25}.completed .path-core{stroke:#fff6df;stroke-width:2.4px}.rejected .path-tip{fill:#d7ad83}.under-board{color:#aeb1b3;justify-content:space-between;align-items:center;gap:12px;padding:17px 2px;font-size:11px;display:flex}.beacon-guide{color:#c7b995}.tools{justify-content:center;align-items:center;gap:17px;margin:15px auto 8px;display:flex}.tools button{color:#bfc1c0;align-items:center;gap:8px;padding:0 12px;font-size:12px;display:flex}.tools button span{color:#c5b68f;font-size:23px}.tool-divider{background:#394047;width:1px;height:17px}.keyboard-note{text-align:center;color:#a0a5a8;letter-spacing:.15px;margin-top:18px;font-size:10px}.keyboard-note span{margin:0 8px}.feedback{color:#d0bf9f;text-align:center;min-height:32px;margin:10px 0 0;font-size:12px;line-height:1.5}.completion{text-align:center;margin-top:20px;animation:.45s arrive}.completion-word{letter-spacing:1px;color:#ead9af;font-size:26px}.completion p{color:#afb3b4;font-size:13px}.primary{color:#20262a;background:#e5d4aa;border-radius:6px;min-width:160px;padding:12px 22px;font-size:13px}.primary:hover:not(:disabled){color:#171c20;background:#f1e3c4}.primary span{margin-left:18px}footer{color:#979ea4;letter-spacing:1.2px;justify-content:space-between;align-items:center;gap:24px;width:100%;max-width:1600px;margin:0 auto;padding:18px 5.5% 24px;font-size:9px;line-height:1.5;display:flex}footer a{color:inherit;text-align:right;align-items:center;min-height:44px;text-decoration:none;display:flex}footer a:hover{color:#eee2bf}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}dialog{color:#e8e5db;background:#1a2026;border:1px solid #64676a;border-radius:16px;width:min(100% - 32px,430px);padding:26px}dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#070b10c9}dialog h2{margin:18px 0;font-size:24px;font-weight:400;line-height:1.3}dialog p{color:#bfc2c3;font-size:14px;line-height:1.7}dialog .primary{margin-top:10px}.dialog-top{justify-content:space-between;align-items:center;display:flex}.close{color:#bfc2c3;width:44px;font-size:26px}@keyframes breathe{50%{opacity:.35}}@keyframes arrive{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@media (width<=600px){.masthead{padding:20px 22px}.brand-name{font-size:25px}.brand-subtitle{font-size:9px}.brand-mark{font-size:29px}.game{padding-top:24px;padding-bottom:20px}.board-frame{padding:9px}.menu-button{font-size:12px}footer{text-align:center;letter-spacing:.7px;flex-direction:column;gap:0;padding:14px 20px 18px;font-size:9px}footer a{text-align:center;min-height:36px}.subtitle{margin-bottom:25px}}@media (width<=600px) and (height<=860px){.masthead{padding-block:14px}.game{padding-top:10px;padding-bottom:0}.game h1{margin:12px 0 6px}.subtitle{margin-bottom:14px;line-height:1.45}.under-board{padding:10px 2px}.tools{margin:6px auto 2px}.keyboard-note{margin-top:10px}.feedback{min-height:12px;margin-top:4px}footer{padding:6px 20px 8px}}:root[data-motion=reduced] *,:root[data-motion=reduced] :before,:root[data-motion=reduced] :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.debug-panel{border:1px solid #68717a;max-width:600px;margin:24px auto;padding:24px}.debug-panel label{margin:12px 0;display:block}.debug-panel input,.debug-panel select{font:inherit;padding:8px}.debug-panel button{border:1px solid #68717a;margin:5px;padding:10px}.debug-panel pre{white-space:pre-wrap;max-height:280px;font-size:11px;overflow:auto}.completion #replay{color:#bfc1c0;margin:10px auto;font-size:12px;display:block}.menu-link{text-align:left;border-top:1px solid #56606a;width:100%;margin-top:18px;padding-top:14px;display:block}.map-nodes{grid-template-columns:repeat(5,1fr);gap:9px;display:grid}.map-node{aspect-ratio:1;border:1px solid #727b80;border-radius:50%;font-size:12px}.map-node.done{color:#1b2228;background:#ddd0aa;border-color:#ddd0aa}.map-node[aria-current]{outline-offset:3px;outline:2px solid #e5d4aa}.map-node:disabled{opacity:1;color:#9aa0a6;border-color:#484f56}.map-legend{font-size:11px!important}#map-dialog{max-height:90svh;overflow:auto}#map-dialog h3{color:#d8caa5;margin:22px 0 12px;font-size:14px;font-weight:400}:root{--light:#ead9ab;--core:#f9e8bc;--beam:#d4c292}:root[data-chapter=ray]{--light:#c0e1ef;--core:#e2f4fb;--beam:#a7cbdc}:root[data-chapter=radiance]{--light:#d7ccec;--core:url(#spectrum);--beam:#c1b8d5}.path-halo{stroke:var(--light)}.path-body{stroke:var(--beam)}.path-core,.completed .path-core{stroke:var(--core)}.beacon.final:not(.reached) .beacon-ring{stroke-width:2px;stroke-dasharray:2 2}.path-wave{stroke:#fff9e9;stroke-width:5px;stroke-dasharray:12 88;opacity:0}.completed .path-wave{animation:.8s ease-out light-wave}.completed .beacon-aura{animation:.8s ease-out beacon-echo}.completed .wall{stroke:#878c91}.rejected .beacon.next .beacon-ring{stroke:#edb992;stroke-width:2px}.setting{justify-content:space-between;align-items:center;gap:15px;margin-top:20px;font-size:13px;display:flex}.setting select{font:inherit;color:#ece9e0;background:#252d34;border:1px solid #737d85;border-radius:6px;max-width:60%;min-height:44px;padding:6px}.setting select:focus-visible{outline-offset:3px;outline:2px solid #e9d39c}.grid-dot{r:1.7}.board-frame{max-width:440px;margin-inline:auto}.game{width:min(100% - 32px,440px)}@keyframes light-wave{0%{stroke-dashoffset:12px;opacity:0}10%{opacity:.8}90%{opacity:.8}to{stroke-dashoffset:-100px;opacity:0}}@keyframes beacon-echo{50%{fill:#eee3b822;stroke:#e9debe;stroke-width:1.5px}}#map-dialog{padding:20px}.map-nodes{gap:5px}.map-node{min-width:44px}:root{--completion-duration:.8s}:root[data-chapter=ray]{background:#101925}:root[data-chapter=ray] .cell{fill:#14202a}:root[data-chapter=radiance]{background:#151723}:root[data-chapter=radiance] .cell{fill:#1b1f2b}.completed .path-wave,.completed .beacon-aura{animation-duration:var(--completion-duration)}:root[data-chapter=ray] .cell.visited{fill:#1c2c38}:root[data-chapter=radiance] .cell.visited{fill:#292a3c}.header-actions{align-items:center;gap:15px;display:flex}#sound-toggle{color:#a6adaf;width:44px;font-size:23px}#sound-toggle[aria-pressed=true]{color:#eee0b5}.setting input{accent-color:#d8c697;width:44px;height:44px}.completion-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.completion-links button{color:#bfc1c0;font-size:12px}.completion #replay{margin:0}.notice{color:#cec3aa;text-align:center;max-width:440px;margin:12px auto 20px;padding-inline:16px;font-size:12px;line-height:1.6}.share-copy{-webkit-user-select:all;user-select:all;white-space:pre-line;border:1px solid #717b84;border-radius:6px;padding:12px}.menu-link#share-game{margin-top:24px}.menu-link#share-game+*{margin-bottom:0}#sound-toggle[aria-pressed=false]{text-decoration:line-through}.offline-toast{white-space:nowrap;color:#dbdfdf;pointer-events:none;z-index:5;background:#202932;border:1px solid #67747d;border-radius:30px;padding:10px 18px;font-size:12px;position:fixed;bottom:14px;left:50%;transform:translate(-50%)}@media (height<=650px) and (width>=650px){.game{grid-template-columns:290px 1fr;column-gap:30px;width:620px;padding:8px 0;display:grid}.board-frame{grid-area:1/1/9;width:290px;margin:0}.chapter-label,h1,.subtitle,.under-board,.tools,.completion,.keyboard-note,.feedback{grid-column:2}.masthead{padding-block:12px}.game h1{margin:10px 0}.game .subtitle{margin-bottom:6px}.game .tools{margin:0}.game .under-board{flex-wrap:wrap;padding:7px 0}.game .completion{margin-top:0}.keyboard-note{margin:5px 0}footer{padding-block:10px}}
