@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./fraunces-vietnamese-wght-normal-CnvboYUG.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./fraunces-latin-wght-normal-ukD16Tqj.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./manrope-cyrillic-wght-normal-Dvxsihut.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./manrope-greek-wght-normal-DL7QRZyv.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./manrope-vietnamese-wght-normal-usUDDRr7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./manrope-latin-ext-wght-normal-Ch3YOpNY.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./manrope-latin-wght-normal-DHIcAJRg.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-family:Manrope Variable,Manrope,sans-serif;color:#f5efdb;background:#203c55;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--paper: #203c55;--ink: #f5efdb;--clay: #ffd47d;--quiet: #bfcfd6;--sage: #2d506b;--rule: #bfcfd63b;--display: "Manrope Variable", "Manrope", sans-serif}*{box-sizing:border-box;scrollbar-color:#aeb5a7 #f4f1e8}::selection{background:var(--sage);color:var(--ink)}html,body{width:100%;min-height:100%;margin:0}body{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer;transition:color .16s,background-color .16s,border-color .16s,opacity .16s,transform .16s}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible{outline:3px solid var(--clay);outline-offset:4px}button:not(:disabled):active{transform:translateY(1px)}button svg{flex:0 0 auto}[hidden]{display:none!important}#loading,.startup-error{position:fixed;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--paper);padding:32px;text-align:center}#loading strong,.startup-error h1{font-family:var(--display);font-size:40px;font-weight:450;margin:0}#loading p,.startup-error p{font-size:16px;line-height:1.7;max-width:38ch;color:var(--quiet)}.startup-error button{border:0;background:var(--clay);color:var(--paper);padding:14px 24px;border-radius:3px}#scene-container{position:fixed;inset:0;width:100%;height:100%}#scene-container canvas{display:block;width:100%;height:100%;outline:0;touch-action:none}.foldline-ui{position:relative;z-index:2;min-height:100svh;pointer-events:none}.foldline-ui button,.foldline-ui a,.foldline-ui dialog{pointer-events:auto}.game-header{position:absolute;top:28px;right:40px;left:44px;display:flex;justify-content:space-between;align-items:center;gap:24px}.wordmark{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-size:25px;font-weight:700;letter-spacing:-.03em;padding:0;border:0;background:transparent;min-height:44px}.wordmark>svg{width:25px;height:25px}.wordmark-period{color:var(--clay)}.toolbar{display:flex;align-items:center;gap:8px}.toolbar-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;background:transparent;border-radius:4px;min-height:44px;padding:8px 10px;font-size:14px;font-weight:600}.toolbar-button:hover{background:var(--sage)}.icon-button{width:44px;height:44px;padding:11px;border:0;background:transparent;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}.icon-button:not(:disabled):hover{background:var(--sage)}.xr-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid var(--rule);border-radius:4px;background:transparent;min-height:44px;padding:8px 13px;font-size:14px;font-weight:600;margin-left:10px}.xr-button:not(:disabled):hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.puzzle-panel{position:absolute;left:48px;top:clamp(112px,15vh,148px);width:316px;padding-bottom:24px}.level-title{font-family:var(--display);font-variation-settings:"SOFT" 25,"WONK" 1;font-size:clamp(40px,3.7vw,57px);line-height:1.08;font-weight:430;letter-spacing:-.035em;margin:0 0 16px;text-wrap:balance}.puzzle-goal{font-size:16px;line-height:1.55;margin:0;font-weight:600}.level-description{color:var(--quiet);font-size:14px;line-height:1.65;margin:12px 0 0}.is-guided .level-description{display:none}.guide-instruction{margin-top:16px;padding:12px 14px;background:var(--sage);border-radius:4px}.guide-instruction strong{font-size:15px;line-height:1.4;font-weight:700}.guide-instruction p{font-size:14px;line-height:1.55;margin:5px 0 4px}.guide-instruction button{padding:6px 0;min-height:32px;border:0;background:transparent;color:var(--quiet);text-decoration:underline;text-underline-offset:4px;font-size:13px}.play-controls{margin-top:28px}.hinge-heading{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px;gap:12px}.hinge-heading h2{margin:0;font-size:14px;font-weight:700}.current-angle{font-size:13px;color:var(--quiet)}.hinge-picker{display:flex;gap:7px;width:100%}.hinge-button{display:flex;flex:1 1 0;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:9px 4px 8px;border:1px solid var(--rule);background:var(--paper);border-radius:3px;min-height:58px}.hinge-button:not(:disabled):hover{border-color:var(--clay)}.hinge-button[aria-pressed=true]{color:var(--paper);background:var(--ink);border-color:var(--ink)}.hinge-label{font-size:16px;font-weight:700;font-variant-numeric:tabular-nums}.hinge-angle{font-size:12px;color:var(--quiet)}.hinge-button[aria-pressed=true] .hinge-angle{color:var(--paper)}.fold-controls{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:10px 0 14px}.fold-button{display:flex;align-items:center;justify-content:flex-start;gap:8px;min-height:48px;padding:11px 10px;border:1px solid var(--rule);background:var(--paper);border-radius:3px;font-size:14px;font-weight:700}.fold-button svg{width:19px;height:19px}.fold-button:not(:disabled):hover{color:var(--clay);border-color:var(--clay)}kbd{font:inherit;font-size:13px;color:var(--quiet);margin-left:auto}.send-button,.next-button{width:100%;min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid var(--clay);background:var(--clay);color:var(--paper);border-radius:3px;padding:13px 18px;font-size:15px;font-weight:700}.send-button:not(:disabled):hover,.next-button:hover{background:#923a27;border-color:#923a27}.send-button:disabled{opacity:.65}.is-next-action{outline:3px solid var(--clay);outline-offset:3px}.fold-button.is-next-action{background:var(--clay);border-color:var(--clay);color:var(--paper)}.fold-button.is-next-action kbd{color:var(--paper)}.fold-button.is-next-action:not(:disabled):hover{background:#923a27;color:var(--paper)}.utility-controls{display:flex;justify-content:space-between;gap:10px;margin-top:9px}.utility-controls button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;border:0;padding:6px;background:var(--paper);font-size:14px;color:var(--quiet);border-radius:3px}.utility-controls button svg{width:17px;height:17px}.utility-controls button:not(:disabled):hover{color:var(--clay);background:var(--sage)}.game-message{min-height:38px;font-size:14px;line-height:1.5;color:var(--clay);margin:8px 0}.puzzle-measures{display:flex;align-items:center;gap:13px;font-size:13px;color:var(--quiet);flex-wrap:wrap}.par-count:not(:empty):before{content:"·";margin-right:13px}.scene-footer{position:fixed;bottom:24px;left:max(402px,35%);right:40px;display:flex;align-items:center;justify-content:space-between;gap:20px}.scene-footer p{margin:0;color:var(--quiet);font-size:13px}.orbit-mark{display:inline-flex;margin-right:8px;vertical-align:-4px}.orbit-mark svg{width:18px;height:18px}.keyboard-note{margin-left:8px}.recenter-button{display:flex;gap:7px;align-items:center;justify-content:center;background:transparent;border:0;padding:8px 0 8px 10px;min-height:44px;font-size:13px;color:var(--quiet)}.recenter-button svg{width:17px;height:17px}.recenter-button:hover{color:var(--clay)}.success-panel{position:fixed;z-index:4;bottom:84px;right:48px;width:min(365px,40vw);padding:26px 28px 24px;background:var(--paper);border-top:2px solid var(--clay);box-shadow:0 16px 50px #273d3814;animation:arrive .4s ease-out both;pointer-events:auto}.success-mark{position:absolute;top:20px;right:22px;color:var(--clay)}.success-panel h2{font-family:var(--display);font-weight:420;letter-spacing:-.03em;font-size:38px;line-height:1.1;margin:0}.success-detail{font-size:14px;line-height:1.6;color:var(--quiet);margin:13px 0 21px}.success-actions{display:flex;align-items:center;gap:17px}.next-button{width:auto;flex:1;min-height:46px;padding:10px 13px;font-size:14px}.next-button svg{width:17px;height:17px}.replay-button{background:transparent;border:0;border-bottom:1px solid var(--rule);padding:7px 0;font-size:14px;white-space:nowrap;min-height:44px}.replay-button:hover{color:var(--clay)}dialog{color:var(--ink);background:var(--paper);padding:28px 34px;border:0;border-radius:4px;width:min(610px,calc(100vw - 32px));max-height:calc(100svh - 40px);overscroll-behavior:contain}dialog::backdrop{background:#273d3873}.collection-top,.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:12px}dialog h2{font-family:var(--display);font-size:clamp(30px,5vw,42px);letter-spacing:-.03em;font-weight:430;margin:12px 0}dialog p{color:var(--quiet);font-size:15px;line-height:1.65}.collection-progress{color:var(--quiet);font-size:14px;margin:0 0 22px}.daily-path{display:flex;align-items:center;justify-content:space-between;gap:18px;text-align:left;width:100%;border:0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:17px 0;margin-bottom:14px;background:transparent}.daily-path>span{display:flex;flex-direction:column;gap:4px}.daily-path strong{font-size:16px}.daily-detail{font-size:14px;color:var(--quiet)}.daily-path:hover{color:var(--clay)}.collection-levels{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.collection-level{display:flex;align-items:center;text-align:left;gap:13px;padding:17px 0;border:0;border-top:1px solid var(--rule);background:transparent}.collection-level:hover,.collection-level[aria-current=true] .collection-number{color:var(--clay)}.collection-number{font-family:var(--display);font-size:24px;color:var(--quiet);min-width:26px}.collection-title-group{display:flex;flex-direction:column;gap:5px}.collection-title-group strong{font-weight:700;font-size:14px}.collection-title-group>span{font-size:12px;color:var(--quiet)}.collection-completed{margin-left:auto;color:var(--quiet)}.collection-completed svg{width:18px;height:18px}.completed .collection-completed{color:var(--clay)}.collection-note{color:var(--quiet);font-family:var(--display);font-size:17px;font-style:italic;margin:25px 0 5px}.how-to-list{margin:24px 0;padding-left:22px;font-size:15px;line-height:1.65}.how-to-list li{padding-left:7px;margin-bottom:16px}.how-to-list strong{color:var(--ink)}.guide-replay{width:100%;min-height:50px;border:0;background:var(--clay);color:var(--paper);font-weight:700;font-size:15px;padding:12px 20px;border-radius:3px;margin-top:12px}.guide-replay:hover{background:#923a27}.settings-options{margin-top:25px}.settings-options button{display:flex;justify-content:space-between;align-items:center;gap:18px;text-align:left;border:0;border-top:1px solid var(--rule);width:100%;padding:18px 0;background:transparent}.settings-options button>span:first-child{display:flex;flex-direction:column;gap:5px}.settings-options strong{font-size:16px}.settings-options button>span:first-child>span{font-size:14px;line-height:1.55;color:var(--quiet)}.setting-value{min-width:48px;padding:7px 8px;border-radius:3px;background:var(--sage);color:var(--ink);text-align:center;font-size:14px;font-weight:700}.settings-options button[aria-pressed=true] .setting-value{background:var(--ink);color:var(--paper)}.settings-options button:hover strong{color:var(--clay)}.high-contrast{--paper: #fffdf7;--ink: #13251f;--quiet: #36483e;--clay: #8d2e1b;--sage: #d9e4d3;--rule: #13251f70}.large-controls .hinge-button{min-height:66px}.large-controls .fold-button,.large-controls .send-button,.large-controls .utility-controls button,.large-controls .toolbar-button,.large-controls .xr-button{min-height:58px}.large-controls .hinge-label{font-size:18px}.large-controls .fold-button,.large-controls .send-button{font-size:16px}.is-xr .puzzle-panel,.is-xr .scene-footer,.is-xr .success-panel{visibility:hidden}@keyframes arrive{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(min-width:701px)and (max-height:800px){.game-header{top:18px}.puzzle-panel{top:94px}.level-title{font-size:40px;margin-bottom:12px}.play-controls{margin-top:18px}.guide-instruction{margin-top:12px;padding-block:9px}.game-message{margin-top:6px;min-height:30px}.hinge-button{min-height:52px}.fold-controls{margin-bottom:10px;margin-top:8px}.utility-controls{margin-top:5px}}@media(min-width:701px)and (max-width:1040px){.game-header{left:26px;right:25px}.puzzle-panel{left:28px;width:280px}.level-title{font-size:40px}.scene-footer{left:340px;right:26px}.keyboard-note,.orbit-mark{display:none}.fold-button{padding-inline:7px;gap:6px}.fold-button kbd{display:none}.success-panel{right:25px}.toolbar{gap:2px}.toolbar-button{padding-inline:8px}}@media(max-width:700px){.foldline-ui{min-height:100svh}.game-header{left:18px;right:18px;top:12px;gap:8px}.wordmark{font-size:21px;gap:6px}.wordmark>svg{display:none}.toolbar{gap:1px}.toolbar-button{font-size:12px;padding-inline:6px}.toolbar-button svg{display:none}.xr-button{border:0;padding:8px 5px;margin:0;gap:4px;font-size:12px}.xr-button svg{width:17px;height:17px}.xr-button span{display:none}.puzzle-panel{inset:74px 20px 16px;width:auto;padding:0;display:flex;flex-direction:column;justify-content:space-between}.level-title{font-size:31px;line-height:1.08;letter-spacing:-.03em;margin:0 0 9px}.puzzle-goal{font-size:14px;line-height:1.5}.level-description{font-size:14px;line-height:1.5;margin-top:8px}.guide-instruction{margin-top:10px;padding:9px 12px}.guide-instruction strong{font-size:14px}.guide-instruction p{font-size:13px;line-height:1.4;margin-top:3px}.guide-instruction button{font-size:12px;min-height:30px}.play-controls{margin-top:0;padding-top:8px}.hinge-heading{margin-bottom:7px}.hinge-heading h2{font-size:14px}.current-angle{font-size:12px}.hinge-picker{gap:6px}.hinge-button{min-height:48px;padding:5px 3px;gap:2px}.hinge-label{font-size:15px}.hinge-angle{font-size:12px}.fold-controls{gap:10px;margin:9px 0 10px}.fold-button{min-height:46px;padding:9px 10px;justify-content:center;font-size:14px}.fold-button kbd{display:none}.send-button{min-height:48px;padding:11px 15px;font-size:15px}.utility-controls{margin-top:5px}.utility-controls button{min-height:40px;font-size:14px;padding:5px}.game-message{margin:5px 0 0;min-height:36px;font-size:13px;line-height:1.4}.puzzle-measures{font-size:12px;margin-top:4px;gap:10px}.par-count:not(:empty):before{margin-right:10px}.scene-footer{left:20px;right:20px;bottom:321px;gap:12px;justify-content:flex-end}.scene-footer p{font-size:12px;margin-right:auto}.orbit-mark,.keyboard-note{display:none}.recenter-button{padding:5px 0;font-size:12px;gap:5px;min-height:36px}.recenter-button svg{width:15px;height:15px}.large-controls .scene-footer{bottom:385px}.success-panel{left:20px;right:20px;bottom:326px;width:auto;padding:18px 20px}.success-panel h2{font-size:32px}.success-detail{margin:8px 0 13px;font-size:14px}.success-actions{gap:16px}.next-button{max-width:215px}.large-controls .success-panel{bottom:388px}dialog{padding:20px;max-height:calc(100svh - 32px)}.collection-levels{grid-template-columns:1fr}.collection-level{padding:15px 0}.collection-title-group{gap:3px}.collection-title-group strong{font-size:15px}.collection-title-group>span{font-size:13px}}@media(max-width:370px){.game-header{left:12px;right:12px;gap:4px}.wordmark{font-size:18px}.toolbar-button{padding-inline:5px;font-size:12px}.puzzle-panel{left:16px;right:16px}.puzzle-measures{gap:7px;font-size:11px}.par-count:not(:empty):before{margin-right:7px}.current-angle{font-size:11px}.hinge-picker{gap:4px}.hinge-button{min-width:40px}.hinge-label{font-size:14px}.hinge-angle{font-size:11px}.scene-footer{left:16px;right:16px}.scene-footer p,.recenter-button{font-size:11px}.success-panel{left:16px;right:16px}}@media(max-width:700px)and (max-height:720px){.puzzle-panel{top:65px;bottom:10px}.level-title{font-size:28px}.puzzle-goal{font-size:13px}.guide-instruction{margin-top:8px;padding-block:6px}.guide-instruction p{font-size:12px}.guide-instruction button{min-height:26px}.level-description{font-size:13px}.scene-footer{bottom:311px}.success-panel{bottom:315px}.large-controls .scene-footer{bottom:376px}.large-controls .success-panel{bottom:380px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.reduce-motion *,.reduce-motion *:before,.reduce-motion *:after{animation:none!important;transition:none!important}.coach-button{color:var(--clay)!important}.coach-message{font-size:14px;line-height:1.55;color:var(--ink);padding:10px 12px;background:var(--sage);border-radius:3px;margin:8px 0 12px}.partner-role{font-size:13px;line-height:1.5;color:var(--ink);margin:8px 0 12px}.friend-path{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;text-align:left;border:0;border-bottom:1px solid var(--rule);background:transparent;padding:12px 0 17px;margin-bottom:15px}.friend-path>span{display:flex;flex-direction:column;gap:5px}.friend-path strong{font-size:16px}.friend-path>span>span{font-size:14px;color:var(--quiet)}.friend-path:hover{color:var(--clay)}.room-start{display:flex;flex-direction:column;gap:26px;padding-top:10px}.room-host,.room-join button{border:0;background:var(--clay);color:var(--paper);border-radius:3px;min-height:50px;padding:12px 18px;font-size:15px;font-weight:700}.room-host:hover,.room-join button:hover{background:#923a27}.room-join label{font-size:15px;font-weight:700;display:block;margin-bottom:10px}.room-join>div{display:flex;gap:10px}.room-join input{min-width:0;flex:1;font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--quiet);border-radius:3px;min-height:50px;padding:12px;text-transform:uppercase;caret-color:var(--clay)}.room-join input::placeholder{color:var(--quiet);text-transform:none}.room-join input:focus-visible{outline:3px solid var(--clay);outline-offset:3px}.room-code-display{font-family:var(--display);font-size:30px!important;color:var(--ink)!important;margin-bottom:10px}.room-role-display,.room-presence{margin-block:10px}.room-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.room-actions button{min-height:48px;padding:10px 16px;font-size:15px;border:1px solid var(--ink);background:transparent;border-radius:3px}.room-actions button:hover{background:var(--ink);color:var(--paper)}.room-message{margin-bottom:0}@media(max-width:700px){.utility-controls{gap:4px}.coach-button{font-size:13px!important}}.is-guided[data-guide-step=fold] .hinge-heading,.is-guided[data-guide-step=fold] .hinge-picker,.is-guided[data-guide-step=fold] .utility-controls,.is-guided[data-guide-step=send] .hinge-heading,.is-guided[data-guide-step=send] .hinge-picker,.is-guided[data-guide-step=send] .utility-controls{display:none}@media(max-width:700px){.is-guided[data-guide-step=fold] .scene-footer,.is-guided[data-guide-step=send] .scene-footer{bottom:215px}.is-guided.large-controls[data-guide-step=fold] .scene-footer,.is-guided.large-controls[data-guide-step=send] .scene-footer{bottom:245px}}.village-ui .game-header{top:18px;left:28px;right:28px}.village-ui .wordmark{font-size:23px}.village-ui .puzzle-panel{inset:92px 28px 22px;width:auto;padding:0}.village-ui .puzzle-intro{max-width:430px}.village-ui .level-title{font-family:var(--display);font-size:clamp(24px,2.6vw,36px);font-weight:700;letter-spacing:-.025em;margin-bottom:8px}.village-ui .puzzle-goal{max-width:40ch;font-size:14px;line-height:1.6;color:var(--quiet)}.village-ui .level-description{display:none}.village-progress{position:absolute;top:85px;right:30px;color:var(--clay);font-size:14px;font-weight:650}.village-ui .guide-instruction{background:transparent;padding:0;max-width:38ch;margin-top:12px}.village-ui .guide-instruction strong{color:var(--clay)}.village-ui .guide-instruction p{font-size:13px;color:var(--quiet)}.village-ui .guide-instruction button{color:var(--quiet)}.village-ui .play-controls{position:absolute;bottom:0;right:0;width:330px;margin:0;padding:14px 18px 10px;background:#193247;border-radius:14px}.village-ui .hinge-heading{margin-bottom:8px}.village-ui .hinge-button{min-height:45px;border-radius:7px}.village-ui .fold-controls{margin:9px 0}.village-ui .fold-button{border-radius:7px;min-height:45px}.village-ui .fold-button.is-next-action{background:var(--clay);color:#203c55;border-color:var(--clay);outline:none}.village-ui .fold-button.is-next-action kbd{color:#203c55}.village-ui .fold-button.is-next-action:hover{background:#ffe4ad;color:#203c55}.village-ui .send-button{min-height:42px;padding:9px 12px;border-radius:7px;background:transparent;color:var(--quiet);border-color:var(--rule);font-size:13px}.village-ui .send-button:hover{background:var(--sage);color:var(--ink);border-color:var(--quiet)}.village-ui .utility-controls{margin-top:4px}.village-ui .utility-controls button{min-height:36px;background:transparent;font-size:13px}.village-ui .game-message{color:var(--clay);font-size:12px;min-height:18px;margin:5px 0}.village-ui .puzzle-measures{font-size:11px;margin-top:5px}.village-ui .scene-footer{left:28px;right:400px;bottom:25px}.village-ui .scene-footer p{max-width:38ch;font-size:12px;line-height:1.6}.village-ui .success-panel{bottom:26px;left:28px;right:auto;width:350px;background:#193247;border:0;border-radius:14px;box-shadow:0 14px 32px #07152240}.village-ui .success-panel h2{font-size:27px;font-weight:650;letter-spacing:-.025em}.village-ui .success-panel .next-button{color:#203c55;background:var(--clay);border-color:var(--clay);border-radius:7px}.village-ui .success-panel .next-button:hover{background:#ffe4ad}.village-ui.is-complete .scene-footer{visibility:hidden}.village-ui.is-guided .send-button{display:none}.village-ui.high-contrast{--paper:#11283c;--ink:#ffffff;--quiet:#e5edf2;--clay:#ffe3a0;--sage:#315470;--rule:#c6deec99}.village-ui.large-controls .hinge-button{min-height:58px}.village-ui.large-controls .fold-button,.village-ui.large-controls .send-button,.village-ui.large-controls .utility-controls button{min-height:54px}.village-ui.is-xr .village-progress{visibility:hidden}.village-ui .recenter-button:hover,.village-ui .replay-button:hover{color:var(--clay)}dialog{border-radius:12px}dialog .guide-replay{background:var(--clay);color:#203c55;border-radius:7px}dialog .guide-replay:hover{background:#ffe4ad}@media(max-width:700px){.village-ui .game-header{top:10px;left:16px;right:16px}.village-ui .wordmark{font-size:20px}.village-ui .puzzle-panel{inset:74px 16px 12px}.village-ui .puzzle-intro{max-width:100%}.village-ui .level-title{font-size:24px;margin-bottom:5px}.village-ui .puzzle-goal{font-size:12px;max-width:29ch}.village-ui .guide-instruction{margin-top:9px;max-width:30ch}.village-ui .guide-instruction p{font-size:12px}.village-ui .guide-instruction button{min-height:28px}.village-ui .village-progress{top:72px;right:16px;font-size:11px}.village-ui .play-controls{width:100%;padding:10px 14px 9px}.village-ui .hinge-heading,.village-ui .current-angle{font-size:12px}.village-ui .hinge-button{min-height:40px}.village-ui .hinge-picker{gap:5px}.village-ui .fold-controls{margin:7px 0}.village-ui .fold-button{min-height:43px}.village-ui .send-button{min-height:36px}.village-ui .utility-controls button{min-height:32px}.village-ui .game-message{min-height:16px;font-size:11px;margin:4px 0}.village-ui .puzzle-measures{font-size:10px}.village-ui .scene-footer{left:16px;right:16px;bottom:265px}.village-ui .scene-footer p{display:none}.village-ui .scene-footer .recenter-button{margin-left:auto}.village-ui.is-guided .scene-footer{bottom:139px}.village-ui .success-panel{left:16px;right:16px;bottom:16px;width:auto;padding:18px 20px}.village-ui.is-complete .play-controls{visibility:hidden}.village-ui.large-controls .scene-footer{bottom:335px}.village-ui.large-controls.is-guided .scene-footer{bottom:165px}}@media(max-height:650px)and (min-width:701px){.village-ui .puzzle-panel{top:75px}.village-ui .guide-instruction p{max-width:26ch}.village-ui .play-controls{padding:8px 14px}}.letter-message{color:var(--quiet);font-size:13px;line-height:1.55;margin:12px 0 0;max-width:330px}.arrival-letter{font-size:13px;line-height:1.55;color:var(--ink);border-top:1px solid var(--rule);padding-top:12px}.journal-dialog{width:min(610px,calc(100% - 32px));max-height:85dvh;border:1px solid var(--rule);border-radius:12px;background:#193247;color:var(--ink);padding:28px;overflow:auto}.journal-dialog::backdrop{background:#11283caa}.garden-progress{font-size:14px;color:var(--quiet);line-height:1.6}.garden-rewards{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 28px}.garden-rewards span{font-size:12px;color:var(--quiet);border:1px solid var(--rule);border-radius:4px;padding:6px 9px}.garden-rewards .earned{color:var(--clay);border-color:var(--clay)}.village-letters{list-style:none;padding:0;margin:0}.village-letters li{padding:16px 0;border-top:1px solid var(--rule)}.village-letters strong{font-size:15px}.village-letters p{font-size:14px;line-height:1.6;color:var(--quiet);margin:7px 0 0}.village-letters .delivered strong{color:var(--clay)}@media(max-width:700px){.letter-message{font-size:12px;max-width:250px;margin-top:8px}.village-ui .toolbar{gap:10px}.village-ui .toolbar-button{font-size:12px}.journal-dialog{padding:20px}.village-ui .success-panel{max-height:calc(100dvh - 215px);overflow:auto}}body.landing-open{overflow-y:auto}.landing-open #scene-container,.landing-open .foldline-ui,.landing-open #loading{display:none}.foldline-landing{position:relative;z-index:6;min-height:100svh;color:var(--ink);background:var(--paper)}.landing-header,.landing-main,.landing-footer{width:min(1240px,calc(100% - 96px));margin-inline:auto}.landing-header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:28px}.landing-wordmark{font-size:27px;font-weight:750;letter-spacing:-.03em;color:var(--ink);text-decoration:none}.landing-wordmark span,.landing-period{color:var(--clay)}.landing-how-link{font-size:14px;font-weight:600;color:var(--quiet);text-decoration-thickness:1px;text-underline-offset:5px;padding:10px 0}.landing-how-link:hover{color:var(--clay)}.landing-hero{display:grid;grid-template-columns:1.02fr 1fr;gap:clamp(36px,5vw,76px);align-items:center;padding:63px 0 85px}.landing-intro h1{font-family:var(--display);font-size:clamp(46px,4.3vw,66px);line-height:1.06;font-weight:430;letter-spacing:-.035em;text-wrap:balance;margin:0 0 24px}.landing-intro>p{font-size:18px;line-height:1.65;margin:0;color:var(--quiet);max-width:38ch}.landing-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 22px;margin-top:30px}.landing-primary{display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:54px;border:0;border-radius:3px;background:var(--clay);color:var(--paper);font-size:16px;font-weight:700;padding:14px 20px}.landing-primary:hover{background:#923a27}.landing-continue{border:0;border-bottom:1px solid var(--ink);background:transparent;font-size:15px;font-weight:600;min-height:48px;padding:10px 0}.landing-continue:hover{color:var(--clay);border-color:var(--clay)}.landing-intro>.landing-play-note{font-size:14px;line-height:1.6;margin-top:15px}.village-preview{margin:0;min-width:0}.village-preview img{display:block;width:100%;height:auto;border-radius:16px}.village-preview figcaption{color:var(--quiet);font-size:13px;line-height:1.6;text-align:center;margin-top:14px}.landing-instructions{border-top:1px solid var(--rule);padding:42px 0 52px;display:grid;grid-template-columns:.9fr 1.6fr;gap:48px}.landing-instructions h2,.landing-daily h2{font-family:var(--display);font-weight:430;letter-spacing:-.025em;font-size:34px;line-height:1.17;text-wrap:balance;margin:0}.landing-steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:0;padding:0;counter-reset:steps}.landing-steps li{counter-increment:steps}.landing-steps li:before{content:counter(steps);display:block;width:28px;height:28px;border:1px solid var(--rule);border-radius:50%;color:var(--clay);font-size:14px;line-height:26px;text-align:center;margin-bottom:14px;font-weight:700}.landing-steps strong{font-size:16px;display:block;margin-bottom:8px}.landing-steps span{font-size:15px;line-height:1.65;color:var(--quiet)}.landing-daily{display:flex;justify-content:space-between;align-items:center;gap:48px;border-top:1px solid var(--rule);padding:45px 0}.landing-daily h2{font-size:36px}.landing-daily p{font-size:16px;line-height:1.65;color:var(--quiet);max-width:59ch;margin:15px 0 0}.landing-daily button{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:52px;border:1px solid var(--ink);border-radius:3px;padding:13px 18px;background:transparent;font-size:15px;font-weight:700;white-space:nowrap}.landing-daily button:hover{background:var(--ink);color:var(--paper)}.landing-devices{display:grid;grid-template-columns:1fr 1fr;gap:48px;border-top:1px solid var(--rule);padding:34px 0 52px}.landing-devices p{margin:0;max-width:55ch}.landing-devices strong{display:block;font-size:16px;margin-bottom:9px}.landing-devices span{display:block;color:var(--quiet);font-size:15px;line-height:1.65}.landing-footer{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 0 30px;border-top:1px solid var(--rule)}.landing-footer>span{font-size:19px;font-weight:700;letter-spacing:-.025em}.landing-footer p{color:var(--quiet);font-size:14px;line-height:1.6;margin:0}@media(max-width:1050px){.landing-header,.landing-main,.landing-footer{width:calc(100% - 64px)}.landing-hero{gap:30px;padding-block:52px 65px}.landing-intro h1{font-size:48px}.landing-instructions{grid-template-columns:1fr;gap:28px}.landing-instructions h2{max-width:25ch}}@media(max-width:700px){.landing-header,.landing-main,.landing-footer{width:calc(100% - 40px)}.landing-header{padding-block:18px}.landing-wordmark{font-size:24px}.landing-how-link{font-size:13px}.landing-hero{grid-template-columns:1fr;gap:20px;padding:31px 0 38px}.landing-intro h1{font-size:clamp(40px,10.5vw,56px);margin-bottom:20px}.landing-intro>p{font-size:16px;line-height:1.6;max-width:37ch}.landing-actions{margin-top:24px;gap:14px 20px}.landing-primary{min-height:52px;font-size:16px}.landing-continue{font-size:14px}.landing-intro>.landing-play-note{font-size:13px;margin-top:13px}.fold-example{padding-top:3px}.example-caption{padding-top:10px}.example-status,.example-fold-button{font-size:13px}.example-label{font-size:17px}.landing-instructions{padding-block:32px 38px;gap:25px}.landing-instructions h2,.landing-daily h2{font-size:31px}.landing-steps{grid-template-columns:1fr;gap:22px}.landing-steps li{display:grid;grid-template-columns:28px 1fr;gap:4px 14px}.landing-steps li:before{grid-column:1;grid-row:1 / 3;margin:0}.landing-steps strong{grid-column:2;margin:0;font-size:16px}.landing-steps span{grid-column:2;font-size:15px}.landing-daily{align-items:flex-start;flex-direction:column;padding-block:34px 38px;gap:22px}.landing-daily p{font-size:15px;margin-top:12px}.landing-daily button{font-size:15px;min-height:50px}.landing-devices{grid-template-columns:1fr;padding-block:30px 36px;gap:25px}.landing-devices span{font-size:15px}.landing-footer{flex-direction:column;align-items:flex-start;gap:12px;padding-bottom:24px}.landing-footer p{font-size:13px}}@media(max-width:360px){.landing-header,.landing-main,.landing-footer{width:calc(100% - 32px)}.landing-intro h1{font-size:38px}.example-caption{gap:10px}.example-status,.example-fold-button{font-size:12px}}@media(prefers-reduced-motion:reduce){.example-second-panel,.example-path-second,.example-direction{transition:none}}.landing-intro h1{font-weight:650;letter-spacing:-.03em;font-size:clamp(38px,4vw,58px);line-height:1.13}.landing-primary{color:#203c55;border-radius:8px}.landing-primary:hover{background:#ffe4ad}.landing-instructions h2,.landing-daily h2{font-size:30px;font-weight:600}.landing-daily button{border-radius:8px}@media(max-width:700px){.landing-intro h1{font-size:40px}.landing-instructions h2,.landing-daily h2{font-size:27px}}
