@font-face{font-family:Anuphan Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/anuphan-thai-wght-normal-M2SYPT7d.woff2)format("woff2-variations");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Anuphan Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/anuphan-vietnamese-wght-normal-BNxdSFSW.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Anuphan Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/anuphan-latin-ext-wght-normal-CLfxpfVx.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Anuphan Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/anuphan-latin-wght-normal-DvQ8j10x.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#1d140e;--panel:#20160feb;--panel-solid:#22180f;--ink:#f6ead6;--muted:#cbb89b;--accent:#e9a44a;--accent-ink:#1d140e;--red:#b23a29;--line:#f6ead62e;--font:"Anuphan Variable", "Noto Sans Thai", "Leelawadee UI", "Thonburi", system-ui, -apple-system, "Segoe UI", sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{background:var(--bg);height:100%;color:var(--ink);font-family:var(--font);overscroll-behavior:none;-webkit-tap-highlight-color:transparent;margin:0;line-height:1.5;overflow:hidden}button{font:inherit;color:var(--ink);border:1px solid var(--line);cursor:pointer;background:#ffffff14;border-radius:10px;justify-content:center;align-items:center;gap:6px;min-width:44px;min-height:44px;padding:0 14px;display:inline-flex}button:hover{background:#ffffff29}button:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:2px}button.primary{background:var(--accent);color:var(--accent-ink);border-color:#0000;font-weight:600}button.primary:hover{background:#f3b762}button.ghost{background:0 0}button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.canvas-wrap{touch-action:none;position:fixed;inset:0}.canvas-wrap canvas{touch-action:none;display:block}.screen{text-align:center;z-index:30;flex-direction:column;justify-content:center;align-items:center;padding:24px 16px;display:flex;position:fixed;inset:0}.screen h1{margin:8px 0 4px;font-size:clamp(28px,6vw,48px);font-weight:600;line-height:1.25}.screen .sub{color:var(--muted);margin:0 0 20px}.loading{background:radial-gradient(at 50% 75%,#6b3a1f 0%,#2a1d15 55%,#140d09 100%)}.loading .hint{color:var(--muted);font-size:14px}.mark{width:min(240px,60vw);color:var(--accent)}.bar{background:#ffffff1f;border-radius:99px;width:min(360px,80vw);height:8px;overflow:hidden}.bar.small{width:min(220px,40vw);height:6px}.bar .fill{background:var(--accent);height:100%;transition:width .3s}.start{background:linear-gradient(#140d0900 40%,#140d09d9 100%);justify-content:flex-end}.start-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;width:min(460px,100%);padding:20px 20px 16px}.row{flex-wrap:wrap;justify-content:center;gap:10px;margin:12px 0;display:flex}.lang{justify-content:center;gap:6px;display:inline-flex}.hud{top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));z-index:10;flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:calc(100vw - 24px);display:flex;position:fixed}.hud button{background:var(--panel);width:46px;height:46px;padding:0}.zone-label,.notice{left:max(12px, env(safe-area-inset-left));z-index:10;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:6px 12px;font-size:14px;position:fixed}.zone-label{top:max(12px, env(safe-area-inset-top))}.notice{bottom:max(12px, env(safe-area-inset-bottom));color:var(--muted);max-width:calc(100vw - 24px);font-size:12px}.tourbar{bottom:max(16px, env(safe-area-inset-bottom));background:var(--panel);border:1px solid var(--line);z-index:10;border-radius:14px;align-items:center;gap:12px;max-width:calc(100vw - 32px);padding:8px 12px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.tour-chapter,.tourbar button{white-space:nowrap;font-weight:600}.tourbar button{font-weight:inherit}.tour-buttons{gap:4px;display:flex}.tour-progress{position:relative;overflow:visible}.tour-progress .fill{border-radius:inherit;transition:width .1s linear}.tour-progress .tick{background:var(--ink);opacity:.55;border-radius:1px;width:2px;height:12px;margin-left:-1px;position:absolute;top:-3px}@media (max-width:640px){.tourbar{flex-wrap:wrap;justify-content:center;gap:8px}.tour-progress{order:5;width:100%}}.tour-caption{left:50%;bottom:calc(max(16px, env(safe-area-inset-bottom)) + 76px);background:var(--panel);border:1px solid var(--line);text-align:center;z-index:10;border-radius:14px;flex-direction:column;align-items:center;gap:2px;max-width:calc(100vw - 32px);padding:10px 18px 8px;animation:.45s ease-out both caption-in;display:flex;position:fixed;transform:translate(-50%)}.tour-caption .chapter{color:var(--accent);letter-spacing:.04em;font-size:12px}.tour-caption strong{font-size:clamp(20px,4vw,26px);font-weight:600;line-height:1.3}@keyframes caption-in{0%{opacity:0;transform:translate(-50%,8px)}}@media (max-width:640px){.tour-caption{bottom:calc(max(16px, env(safe-area-inset-bottom)) + 120px)}}button.link{min-height:32px;color:var(--muted);text-underline-offset:3px;background:0 0;border:none;font-size:14px;text-decoration:underline}button.link:hover{color:var(--ink);background:0 0}.crosshair{pointer-events:none;z-index:5;background:#ffffffbf;border-radius:50%;width:8px;height:8px;margin:-4px 0 0 -4px;position:fixed;top:50%;left:50%;box-shadow:0 0 0 1px #00000080}.crosshair.aimed{border:3px solid var(--accent);background:0 0;width:18px;height:18px;margin:-9px 0 0 -9px}.prompt{background:var(--panel);z-index:6;white-space:nowrap;border-radius:10px;padding:6px 12px;position:fixed;top:calc(50% + 28px);left:50%;transform:translate(-50%)}.prompt.subtle{color:var(--muted);pointer-events:none;white-space:normal;text-align:center;max-width:calc(100vw - 32px);font-size:13px;top:auto;bottom:56px}.prompt.tap{border:1px solid var(--accent)}.fade,.time-fade{pointer-events:none;opacity:0;z-index:25;transition:opacity .2s;position:fixed;inset:0}.fade{background:#000;transition-duration:.3s}.fade.on,.time-fade.on{opacity:1}.time-fade.day{background:#cfdbe5}.time-fade.sunset{background:#d9a68a}.modal-backdrop{z-index:20;background:#00000073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--panel-solid);border:1px solid var(--line);border-radius:16px;width:min(420px,100%);max-height:calc(100vh - 32px);overflow:auto}.modal.wide{width:min(620px,100%)}.modal header{justify-content:space-between;align-items:center;padding:12px 12px 4px 18px;display:flex}.modal h2{margin:0;font-size:22px;font-weight:600}.modal .close{font-size:26px;line-height:1}.modal-body{padding:4px 18px 18px;line-height:1.7}.modal-body img{border-radius:10px;max-width:100%}.draft{color:#ffd9a0;background:#b23a2940;border:1px solid #e9a44a80;border-radius:8px;padding:6px 10px;font-size:13px}.list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.list button{justify-content:flex-start;width:100%}.field{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:10px 0;display:flex}.field.check{justify-content:flex-start}.field input[type=range]{min-width:140px;accent-color:var(--accent);flex:1}.field input[type=checkbox]{width:22px;height:22px;accent-color:var(--accent)}.seg{gap:6px;display:inline-flex}.keys{gap:6px;margin:0 0 16px;display:grid}.keys div{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:4px 0;display:flex}.keys dt{font-weight:600}.keys dd{color:var(--muted);text-align:right;margin:0}.muted{color:var(--muted)}.small{font-size:12px}.dim{background:#000000b3}.toast{background:var(--panel);border:1px solid var(--red);z-index:15;border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;max-width:calc(100vw - 32px);padding:8px 12px;display:flex;position:fixed;bottom:64px;left:50%;transform:translate(-50%)}.touch-layer{z-index:4;touch-action:none;display:flex;position:fixed;inset:0}.touch-layer.off{pointer-events:none}.touch-left,.touch-right{touch-action:none;flex:1;position:relative}.touch-actions{right:max(16px, env(safe-area-inset-right));bottom:max(56px, calc(env(safe-area-inset-bottom) + 40px));align-items:flex-end;gap:12px;display:flex;position:absolute}.touch-actions button{touch-action:none;-webkit-user-select:none;user-select:none;background:#20160f8c;border-color:#f6ead659;border-radius:50%;width:68px;height:68px;padding:0;font-size:14px}.touch-actions button:active,.touch-actions button.on{background:var(--accent);color:var(--accent-ink)}.fallback{text-align:center;flex-direction:column;align-items:center;gap:8px;height:100%;padding:32px 16px;display:flex;overflow:auto}.fallback h1{margin:8px 0;font-size:clamp(24px,5vw,36px);font-weight:600;line-height:1.25}.fallback p{max-width:560px}.fallback-video{border-radius:12px;width:min(960px,100%)}.gallery{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;width:min(960px,100%);display:grid}.gallery img{border-radius:10px;width:100%}.debug-stats{z-index:50;color:#9f9;pointer-events:none;background:#000000b3;border-radius:6px;padding:4px 8px;font:12px ui-monospace,monospace;position:fixed;bottom:40px;left:8px}@media (prefers-reduced-motion:reduce){.fade,.time-fade,.bar .fill{transition:none}.tour-caption{animation:none}}
