@font-face{font-family:Ubuntu;src:url(/fonts/Ubuntu-Regular.ttf);font-weight:400;font-display:swap}@font-face{font-family:Ubuntu;src:url(/fonts/Ubuntu-Medium.ttf);font-weight:500;font-display:swap}@font-face{font-family:Ubuntu;src:url(/fonts/Ubuntu-Bold.ttf);font-weight:700;font-display:swap}@font-face{font-family:Preah Vihear;src:url(/fonts/Preahvihear-Regular.ttf);font-display:swap;unicode-range:U+1780-17FF,U+19E0-19FF}:root{--ui-font-body:"Ubuntu", "Preah Vihear", sans-serif;--ui-font-display:Georgia, "Preah Vihear", serif;--ui-bg-rgb:5 6 6;--ui-bg:rgb(var(--ui-bg-rgb));--ui-surface:#0c0d0d;--ui-surface-hover:#191a19;--ui-text:#d9d6cc;--ui-muted:#aeaba2;--ui-subtle:#94918a;--ui-border:#3b3a37;--ui-accent:#a3150f;--ui-accent-bright:#e05a4a;--ui-primary-bg:#a3150f38;--ui-primary-border:var(--ui-accent);--ui-primary-text:var(--ui-text);--ui-primary-hover:var(--ui-accent);--ui-paper:#e8dfcb;--ui-ink:#30291f;--ui-paper-muted:#685a45;--ui-paper-border:#b5a588;--ui-paper-accent:#7d3f35;--ui-paper-success:#59634e;--ui-focus:var(--ui-text);--ui-caption:.8125rem;--ui-small:.875rem;--ui-body:1rem;--ui-reading:1.125rem;--ui-subtitle:clamp(1.125rem, 1.6vw, 1.375rem);--ui-section:clamp(1.375rem, 2.2vw, 1.75rem);--ui-heading:clamp(1.75rem, 3vw, 2.5rem);--ui-display:clamp(2.4rem, 5vw, 3.9rem);--ui-title:clamp(1.125rem, 1.8vw, 1.375rem);--ui-title-tracking:.22em;--ui-label-tracking:.14em;--ui-leading:1.65;--ui-heading-leading:1.16;--ui-space-1:.25rem;--ui-space-2:.5rem;--ui-space-3:.75rem;--ui-space-4:1rem;--ui-space-6:1.5rem;--ui-space-8:2rem;--ui-space-12:3rem;--ui-panel-padding:clamp(var(--ui-space-6), 4vw, var(--ui-space-8));--ui-radius:1px;--ui-safe-x:clamp(1rem, 3vw, 3rem);--ui-safe-bottom:max(1.25rem, env(safe-area-inset-bottom));--ui-motion-fast:.18s;--ui-motion-fade:.65s;--ui-shadow:0 18px 64px #05040380;--ui-backdrop:rgb(var(--ui-bg-rgb) / .85);--ui-hud-bg:rgb(var(--ui-bg-rgb) / .9);--ui-overlay-bg:rgb(var(--ui-bg-rgb) / .94);--ui-z-hud:10;--ui-z-panel:20;--ui-z-caught:30;--ui-z-fade:35;--ui-z-menu:40;--ui-z-entry:50;--ui-z-resolution:1500;--ui-z-book-controls:1700;--ui-z-reader:1800}:root:lang(km){--ui-title-tracking:0;--ui-label-tracking:0}:where(.welcome,.welcome-dialog,.story-card,.story-hint,.road-stealth-status,.story-subtitles,.story-saving,.story-satchel,.document-reader,.notebook-reader,.notebook-controls,.resolution,.walker-caught,.requirements,.render-stall,.taxi-skip){font-family:var(--ui-font-body);font-size:var(--ui-body);line-height:var(--ui-leading);letter-spacing:.01em;overflow-wrap:break-word;scrollbar-width:thin;scrollbar-color:var(--ui-border) transparent;-webkit-font-smoothing:antialiased}:where(.welcome,.story-card,.story-hint,.road-stealth-status,.story-subtitles,.story-saving,.story-satchel,.document-reader,.notebook-reader,.notebook-controls,.resolution,.requirements,.render-stall)::selection{color:var(--ui-bg);background:var(--ui-accent-bright)}:where(.welcome,.story-card,.story-hint,.road-stealth-status,.story-subtitles,.story-satchel,.document-reader,.notebook-reader,.resolution,.requirements,.render-stall) ::selection{color:var(--ui-bg);background:var(--ui-accent-bright)}:where(.welcome-dialog,.story-card,.story-satchel,.resolution,.document-reader,.notebook-reader,.notebook-controls) button,.taxi-skip,.welcome .ui-button,.ui-button{box-sizing:border-box;min-height:44px;padding:var(--ui-space-3) var(--ui-space-4);border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-control-bg,var(--ui-surface));color:var(--ui-text);font:500 var(--ui-caption) / 1.4 var(--ui-font-body);letter-spacing:var(--ui-label-tracking);text-transform:uppercase;cursor:pointer;pointer-events:auto;transition:background-color var(--ui-motion-fast) ease, border-color var(--ui-motion-fast) ease, color var(--ui-motion-fast) ease, transform var(--ui-motion-fast) ease}:where(.welcome-dialog,.story-card,.story-satchel,.resolution,.document-reader,.notebook-reader,.notebook-controls) button:enabled:hover,.taxi-skip:enabled:hover,.ui-button:enabled:hover{background:var(--ui-surface-hover);border-color:var(--ui-muted)}:where(.welcome-dialog,.story-card,.story-satchel,.resolution,.document-reader,.notebook-reader,.notebook-controls) button:enabled:active,.taxi-skip:enabled:active,.ui-button:enabled:active{transform:translateY(1px)}:where(.welcome,.story-card,.story-satchel,.resolution,.document-reader,.notebook-reader,.notebook-controls) :is(button,input,[tabindex]):focus-visible,.taxi-skip:focus-visible,.ui-button:focus-visible{outline:2px solid var(--ui-focus);outline-offset:4px}:where(.welcome,.story-card,.story-satchel,.resolution,.document-reader,.notebook-reader,.notebook-controls) button:disabled,.ui-button:disabled{opacity:.5;cursor:default}:where(.document-reader,.notebook-reader,.resolution-paper){--ui-focus:var(--ui-paper-accent);--ui-border:var(--ui-paper-border);--ui-surface:#ded3ba;--ui-surface-hover:#d4c6aa;--ui-text:var(--ui-ink);--ui-muted:var(--ui-paper-muted);--ui-control-bg:transparent;--ui-primary-bg:var(--ui-paper-accent);--ui-primary-border:var(--ui-paper-accent);--ui-primary-text:var(--ui-paper);--ui-primary-hover:var(--ui-ink);--ui-primary-hover-text:var(--ui-paper);scrollbar-color:var(--ui-paper-border) transparent}.ui-button.ui-button-primary{border-color:var(--ui-primary-border);background:var(--ui-primary-bg);color:var(--ui-primary-text)}.ui-button.ui-button-primary:enabled:hover{border-color:var(--ui-primary-hover);background:var(--ui-primary-hover);color:var(--ui-primary-hover-text,var(--ui-primary-text))}.welcome-dialog h2,.welcome-error h1,.story-satchel h2,.requirements h1,.render-stall h1{margin:0 0 var(--ui-space-6);font:500 var(--ui-title) / 1.4 var(--ui-font-body);letter-spacing:var(--ui-title-tracking);text-transform:uppercase;text-wrap:balance}.welcome-dialog h2:after,.welcome-error h1:after,.story-satchel h2:after,.requirements h1:after,.render-stall h1:after{content:"";width:28px;height:2px;margin-top:var(--ui-space-3);background:linear-gradient(90deg, var(--ui-accent), transparent);display:block}:where(.welcome,.story-hint,.road-stealth-status,.story-card,.story-satchel,.notebook-controls,.document-reader,.notebook-reader,.resolution,.taxi-skip) kbd{border:1px solid var(--ui-border);border-bottom:2px solid var(--ui-accent);border-radius:var(--ui-radius);min-width:1.2em;color:inherit;font:500 .8em / 1.45 var(--ui-font-body);letter-spacing:.03em;text-align:center;vertical-align:.04em;white-space:nowrap;padding:.12em .45em;display:inline-block}@media (prefers-reduced-motion:reduce){:root{--ui-motion-fast:0s;--ui-motion-fade:0s}}:root{--paper:#efe4cf;--ink:#1f1b18;--night:#17120f;--flame:#ff9a3c}html,body{background:var(--ui-bg);height:100%;font-family:var(--ui-font-body);margin:0;overflow:hidden}#game{outline:none;width:100%;height:100%;display:block}#overlay{place-items:center;display:grid;position:fixed;inset:0}#overlay[hidden]{display:none}.requirements,.render-stall{box-sizing:border-box;width:min(38rem, calc(100vw - 2 * var(--ui-safe-x)));padding:var(--ui-panel-padding);border:1px solid var(--ui-border);border-top-color:var(--ui-accent);border-radius:var(--ui-radius);background:var(--ui-surface);color:var(--ui-text);box-shadow:var(--ui-shadow);max-height:calc(100dvh - 2 * var(--ui-safe-bottom));overflow-y:auto}.requirements p,.render-stall p{max-width:65ch;color:var(--ui-muted);text-wrap:pretty}.requirements dt{margin-top:var(--ui-space-6);color:var(--ui-accent-bright);font-size:var(--ui-small);font-weight:500}.requirements dd{margin:var(--ui-space-2) 0 0;font-size:var(--ui-small);color:var(--ui-muted)}.render-stall{z-index:var(--ui-z-entry);left:50%;bottom:var(--ui-safe-bottom);position:fixed;transform:translate(-50%)}.render-stall[hidden]{display:none}.render-stall p{margin:0}.render-stall pre{margin:var(--ui-space-4) 0 0;color:var(--ui-subtle);font-size:var(--ui-caption);white-space:pre-wrap}.spike-hud{max-width:26rem;color:var(--paper);pointer-events:none;background:#17120fd1;border-radius:6px;padding:.8rem 1rem;font-size:13px;line-height:1.45;position:fixed;top:12px;left:12px}.spike-hud h1{color:var(--flame);margin:0 0 .3rem;font-size:15px;font-weight:500}.spike-hud p{margin:0 0 .4rem}.spike-hud .spike-controls{opacity:.75}.spike-hud ul{margin:.4rem 0;padding:0;list-style:none}.spike-hud li.done{color:#9fd38a}.spike-hud pre,.perf-overlay{white-space:pre-wrap;margin:.4rem 0 0;font-family:Ubuntu Mono,ui-monospace,monospace;font-size:12px}.spike-report{border-radius:4px;padding:.5rem}.spike-report.pass{background:#508c3c59}.spike-report.fail{background:#aa322866}.perf-overlay{color:var(--paper);pointer-events:none;background:#17120fd1;border-radius:6px;padding:.5rem .7rem;position:fixed;top:12px;right:12px}.welcome{--title-bone:#d9d6cc;--title-red:#a3150f;z-index:var(--ui-z-menu);min-height:100dvh;color:var(--title-bone);isolation:isolate;background:#050606;grid-template-rows:1fr auto;display:grid;position:fixed;inset:0;overflow:auto}.welcome-stage{z-index:-2;pointer-events:none;animation:3.2s ease-out both welcome-arrive;position:absolute;inset:0;overflow:hidden}.welcome-frame{width:max(100%,177.78vh);height:max(100%,56.25vw);animation:60s ease-out both welcome-creep;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.welcome-shake{position:absolute;inset:0}.welcome-plate{background:url(/assets/ui/welcome-hall.webp) 50%/100% 100% no-repeat;position:absolute;inset:0}.welcome-far,.welcome-near{visibility:hidden}.welcome-far{background-image:url(/assets/ui/welcome-hall-far.webp)}.welcome-near{background-image:url(/assets/ui/welcome-hall-near.webp)}.welcome-cords{background-image:url(/assets/ui/welcome-cords.webp)}.welcome-stage[data-presence=far] .welcome-cords{background-image:url(/assets/ui/welcome-cords-far.webp)}.welcome-stage[data-presence=near] .welcome-cords{background-image:url(/assets/ui/welcome-cords-near.webp)}.welcome-cords-live{width:100%;height:100%;position:absolute;inset:0}.welcome-cords-ready .welcome-cords{visibility:hidden}.welcome-stage[data-presence=far] .welcome-far,.welcome-stage[data-presence=near] .welcome-near{visibility:visible}.welcome-stage[data-presence=near] .welcome-shake{animation:.42s linear both welcome-jolt}.welcome-blood{opacity:0;mix-blend-mode:multiply;background:radial-gradient(at 55% 55%,#0000 38%,#4600006b 78%,#1e0000bf);position:absolute;inset:0}.welcome-stage[data-presence=near] .welcome-blood{animation:2.6s ease-out both welcome-bleed}.welcome-dust{clip-path:polygon(73.5% 35%,77% 35%,86% 100%,69% 100%);opacity:.28;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000 35%,#000 50% 72%,#0000);mask-image:linear-gradient(#0000 35%,#000 50% 72%,#0000)}.welcome-dust:before,.welcome-dust:after{content:"";background-image:radial-gradient(circle,#dce6ebb3 0 1px,#0000 1.5px),radial-gradient(circle,#dce6eb73 0 .8px,#0000 1.3px);background-position:0 0,23px 41px;background-size:97px 131px,61px 83px;animation:38s linear infinite welcome-dust;position:absolute;inset:-20%}.welcome-dust:after{opacity:.6;background-size:143px 173px,79px 109px;animation-duration:57s;animation-direction:reverse}.welcome-dark{opacity:0;background:#000;position:absolute;inset:0}.welcome-flicker .welcome-dark{animation:.95s step-end both welcome-gutter}.welcome-grain{opacity:.16;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.5 0 0 0 0 0.5 0 0 0 0 0.5 0 0 0 1.4 -0.2'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)'/%3E%3C/svg%3E");animation:.6s steps(6,end) infinite welcome-grain;position:absolute;inset:-50%}.welcome:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(90deg,#040505b8,#04050561 26%,#0000 46%);position:absolute;inset:0}.welcome-paused .welcome-dust:before,.welcome-paused .welcome-dust:after,.welcome-paused .welcome-grain,.welcome-paused .welcome-frame{animation-play-state:paused}.welcome-content{box-sizing:border-box;flex-direction:column;min-height:0;padding:clamp(28px,6vh,72px) 24px clamp(16px,3vh,32px) clamp(40px,6vw,120px);display:flex}.welcome-brand{width:min(42vw,72vh,780px)}.welcome-khmer{color:var(--title-red);text-shadow:0 0 14px #a3150f59;align-items:center;gap:12px;margin:0 0 6px 3%;font-family:Preah Vihear,sans-serif;font-size:1.0625rem;line-height:1.5;animation:2s ease-out 1.4s both welcome-reveal;display:flex}.welcome-khmer:before{content:"";background:linear-gradient(90deg, transparent, var(--title-red));width:28px;height:2px}.welcome-brand h1{margin:0;line-height:0}.welcome-logo{filter:drop-shadow(0 2px 10px #0000008c);width:100%;height:auto;animation:2.4s cubic-bezier(.2,.7,.2,1) .9s both welcome-title}.welcome-chapter{letter-spacing:.32em;text-transform:uppercase;color:#d9d6cc8c;margin:10px 0 0 3%;font-size:.6875rem;animation:2s ease-out 1.8s both welcome-reveal}.welcome-chapter span{color:var(--title-red);margin:0 .6em}.welcome-menu{flex-direction:column;align-items:flex-start;margin-top:auto;padding-top:clamp(24px,5vh,56px);animation:1.6s ease-out 2.2s both welcome-reveal;display:flex}.welcome button:not(.ui-button){font:inherit;color:inherit;cursor:pointer;transition:color var(--ui-motion-fast) ease, opacity var(--ui-motion-fast) ease;background:0 0;border:0}.welcome-menu button{min-height:44px;font:500 1rem / 1.2 var(--ui-font-body);letter-spacing:.22em;text-transform:uppercase;text-align:left;color:#d9d6cc94;padding:6px 0 6px 34px;position:relative}.welcome-menu button:before{content:"";background:var(--title-red);clip-path:polygon(0 40%,18% 10%,55% 0,100% 30%,92% 80%,60% 100%,22% 85%,4% 100%);transform-origin:0;width:22px;height:5px;transition:transform .18s ease-out;position:absolute;top:50%;left:0;transform:translateY(-50%)scaleX(0)}.welcome-menu button:enabled:hover,.welcome-menu button:focus-visible{color:var(--title-bone)}.welcome-menu button:enabled:hover:before,.welcome-menu button:focus-visible:before{transform:translateY(-50%)scaleX(1)}.welcome-menu button:disabled{color:#d9d6cc33;cursor:default}.welcome[data-resume=false] [data-action=continue]{display:none}.welcome button:not(.ui-button):focus-visible{outline:none}.welcome-footer button:focus-visible{outline-offset:4px;outline:1px solid var(--ui-focus)!important}.welcome-status{white-space:nowrap;text-overflow:ellipsis;color:#d9d6cc73;margin:14px 0 0 34px;font-size:.75rem;line-height:1.6;animation:1.6s ease-out 2.4s both welcome-reveal;overflow:hidden}.welcome-footer{color:#d9d6cc6b;letter-spacing:.14em;text-transform:uppercase;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;padding:8px clamp(40px,6vw,120px) 16px;font-size:.6875rem;animation:1.6s ease-out 2.6s both welcome-reveal;display:flex}.welcome-footer p{margin:0}.welcome-listening span{color:var(--title-red);margin:0 .6em}.welcome-footer-actions{flex-wrap:wrap;gap:4px 28px;display:flex}.welcome-footer button{letter-spacing:.14em;text-transform:uppercase;min-height:44px;font-size:.6875rem}.welcome-footer button:hover{color:var(--title-bone)}.welcome-dialog{box-sizing:border-box;width:min(32rem, calc(100vw - 2 * var(--ui-safe-x)));max-width:none;max-height:calc(100dvh - 2 * var(--ui-safe-bottom));border:1px solid var(--ui-border);border-top-color:var(--ui-accent);border-radius:var(--ui-radius);background:var(--ui-surface);color:var(--ui-text);box-shadow:var(--ui-shadow);padding:0;overflow:hidden}.welcome-dialog[open]{flex-direction:column;display:flex}.welcome-dialog::backdrop{background:var(--ui-backdrop)}.welcome-dialog-content{min-height:0;padding:var(--ui-panel-padding);scrollbar-width:thin;scrollbar-color:var(--ui-border) transparent;overflow-y:auto}.welcome-dialog-content:focus-visible{outline-offset:-4px}.welcome-dialog p{margin:var(--ui-space-4) 0;max-width:65ch;font-size:var(--ui-body);text-wrap:pretty}.welcome-dialog-content>:last-child{margin-bottom:0}.welcome-dialog .welcome-note{color:var(--ui-muted);font-size:var(--ui-small)}.welcome button:not(.ui-button):enabled:active{transform:translateY(1px)}.welcome-dialog-actions{justify-content:flex-end;gap:var(--ui-space-2);margin:0 var(--ui-panel-padding);padding-block:var(--ui-space-4) var(--ui-space-6);border-top:1px solid var(--ui-border);flex-wrap:wrap;flex-shrink:0;display:flex}.welcome-dialog-actions button{max-width:100%}.welcome-setting{justify-content:space-between;align-items:center;gap:var(--ui-space-4);min-height:44px;margin:var(--ui-space-4) 0 var(--ui-space-2);font-size:var(--ui-body);display:flex}.welcome-dialog input{accent-color:var(--ui-accent)}.welcome-dialog input[type=range]{width:100%;min-height:44px}.welcome-dialog input[type=checkbox]{width:20px;height:20px}.welcome-controls{gap:var(--ui-space-3) var(--ui-space-4);font-size:var(--ui-body);grid-template-columns:max-content minmax(0,1fr);display:grid}.welcome-controls dt{color:var(--ui-accent-bright)}.welcome-controls dd{margin:0}.welcome-loading .welcome-status{color:var(--title-bone)}.welcome-error{padding:var(--ui-safe-bottom) var(--ui-safe-x);box-sizing:border-box;place-items:center;display:grid}.welcome-error section{box-sizing:border-box;width:min(38rem,100%);max-height:calc(100dvh - 2 * var(--ui-safe-bottom));padding:var(--ui-panel-padding);border:1px solid var(--ui-border);border-top-color:var(--ui-accent);border-radius:var(--ui-radius);background:var(--ui-surface);color:var(--ui-text);box-shadow:var(--ui-shadow);overflow-y:auto}.welcome-error p{margin:var(--ui-space-4) 0 var(--ui-space-6);color:var(--ui-muted);text-wrap:pretty;max-width:65ch}@keyframes welcome-arrive{0%{opacity:0}to{opacity:1}}@keyframes welcome-creep{0%{transform:translate(-50%,-50%)scale(1.06)}to{transform:translate(-50%,-50%)scale(1)}}@keyframes welcome-title{0%{opacity:0;filter:drop-shadow(0 2px 10px #0000008c)blur(6px);transform:scale(1.03)}to{opacity:1;filter:drop-shadow(0 2px 10px #0000008c)blur();transform:none}}@keyframes welcome-reveal{0%{opacity:0}to{opacity:1}}@keyframes welcome-gutter{0%{opacity:0}8%{opacity:.55}14%{opacity:.1}22%{opacity:.92}44%{opacity:.6}52%{opacity:.85}64%{opacity:.25}76%{opacity:.45}88%,to{opacity:0}}@keyframes welcome-jolt{0%{transform:scale(1.04)translate(0)}20%{transform:scale(1.035)translate(-.6%,.4%)}40%{transform:scale(1.03)translate(.5%,-.3%)}60%{transform:scale(1.02)translate(-.3%,.2%)}to{transform:none}}@keyframes welcome-bleed{0%{opacity:0}12%{opacity:1}to{opacity:.55}}@keyframes welcome-dust{0%{transform:translate(0)}to{transform:translate(-60px,-140px)}}@keyframes welcome-grain{0%{transform:translate(0)}17%{transform:translate(-7%,4%)}33%{transform:translate(5%,-9%)}50%{transform:translate(-3%,8%)}67%{transform:translate(9%,2%)}83%{transform:translate(-8%,-5%)}to{transform:translate(0)}}@media (max-width:760px){.welcome-content{padding-inline:24px}.welcome-brand{width:min(86vw,60vh)}.welcome-frame{animation:none;left:58%;transform:translate(-58%,-50%)}.welcome:before{background:linear-gradient(90deg,#040505c7,#04050573)}.welcome-footer{padding-inline:24px}}@media (max-height:620px){.welcome-menu button{min-height:36px;padding-block:2px}.welcome-brand{width:min(42vw,60vh,780px)}}@media (prefers-reduced-motion:reduce){.welcome-stage,.welcome-frame,.welcome-logo,.welcome-khmer,.welcome-chapter,.welcome-menu,.welcome-status,.welcome-footer,.welcome-grain,.welcome-dust:before,.welcome-dust:after,.welcome-shake,.welcome-blood{animation:none!important}.welcome-menu button,.welcome-menu button:before{transition:none}}.welcome-menu[hidden]{display:none}.welcome-menu[hidden]+.welcome-status{margin-top:auto}
