:root{--ink: oklch(.23 .025 125);--mist: oklch(.96 .012 115);--leaf: oklch(.53 .09 132);--water: oklch(.58 .055 205);--clay: oklch(.57 .075 55);--veil: oklch(.25 .02 125 / .78);--veil-deep: oklch(.18 .018 125 / .92);--line: oklch(.88 .018 120 / .35);font-family:Noto Sans SC,Microsoft YaHei,sans-serif;color:var(--mist);background:#161d0e;font-synthesis:none;color-scheme:dark}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{min-width:320px;overscroll-behavior:none}button,input{font:inherit}button{min-height:44px;border:0;border-radius:5px;cursor:pointer;touch-action:manipulation}button:disabled{cursor:wait;opacity:.55}button:focus-visible,input:focus-visible{outline:3px solid oklch(.82 .08 125);outline-offset:3px}.experience-root{position:relative;isolation:isolate}.experience-root>canvas{position:absolute;inset:0;width:100%;height:100%}.experience-surface{position:absolute;z-index:20;inset:0;min-width:0}.is-hidden{display:none!important}.start-surface{display:flex;align-items:flex-end;padding:clamp(24px,5vw,72px);background:#090d0538}.start-content{width:min(100%,620px);text-shadow:0 2px 20px oklch(.13 .02 125 / .88);animation:surface-in .56s ease-out both}.surface-eyebrow{margin:0 0 12px;color:#dbe2c8;font-size:.78rem;font-weight:600;line-height:1.4}.start-content h1,.pause-heading h1,.error-content h1{margin:0;font-family:"Noto Serif SC",Songti SC,serif;font-weight:600;letter-spacing:0}.start-content h1{font-size:clamp(3.25rem,7vw,5.5rem);line-height:1}.start-subtitle{margin:16px 0 32px;color:#e7e9dc;font-family:"Noto Serif SC",Songti SC,serif;font-size:1.05rem;line-height:1.7}.seed-form{width:min(100%,560px)}.seed-form>label,.setting-row legend{display:block;margin-bottom:8px;color:#dde0d2;font-size:.82rem;font-weight:600}.seed-row,.start-actions,.pause-actions{display:flex;flex-wrap:wrap;gap:10px}.seed-row input{flex:1 1 230px;min-width:0;height:46px;padding:0 14px;border:1px solid var(--line);border-radius:5px;color:var(--mist);background:#12150cad}.start-actions{margin-top:14px}.primary-action,.secondary-action,.quiet-action{padding:0 18px;transition:background-color .18s ease,color .18s ease,border-color .18s ease,opacity .18s ease}.primary-action{color:var(--mist);background:var(--leaf);font-weight:700}.primary-action:hover{background:#678a49}.secondary-action{border:1px solid oklch(.9 .025 120 / .6);color:var(--mist);background:#2b30229e}.secondary-action:hover,.quiet-action:hover{background:#d9ddce24}.quiet-action{border:1px solid var(--line);color:var(--mist);background:transparent}.save-note,.compatibility-notice{margin:16px 0 0;color:#caccbf;font-size:.78rem;line-height:1.55}.compatibility-notice{width:100%;max-width:500px;padding:10px 12px;border:1px solid oklch(.72 .06 55 / .55);border-radius:4px;overflow-wrap:anywhere}.pause-surface{overflow-y:auto;background:var(--veil);backdrop-filter:blur(14px) saturate(.75)}.pause-layout{display:grid;grid-template-columns:minmax(250px,.75fr) minmax(500px,1.25fr);gap:clamp(48px,8vw,128px);width:min(100%,1280px);min-height:100%;margin:0 auto;padding:clamp(40px,7vw,96px)}.pause-heading{align-self:start;position:sticky;top:clamp(40px,7vw,96px)}.pause-heading h1{max-width:12ch;font-size:clamp(2rem,4vw,3.5rem);line-height:1.25}.pause-actions{margin-top:32px}.settings-form{align-self:center;min-width:0}.setting-row{min-width:0;margin:0;padding:18px 0;border:0;border-bottom:1px solid var(--line)}.segmented-control{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:4px;padding:4px;border:1px solid oklch(.85 .02 120 / .22);border-radius:5px;background:#080a055c}.segmented-control label{min-width:0}.segmented-control input{position:absolute;opacity:0;pointer-events:none}.segmented-control span{display:grid;min-height:38px;padding:7px 8px;place-items:center;border-radius:3px;color:#c3c5bb;font-size:.82rem;text-align:center;cursor:pointer}.segmented-control input:checked+span{color:var(--mist);background:#58773ecc}.segmented-control input:focus-visible+span{outline:3px solid oklch(.82 .08 125);outline-offset:1px}.settings-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}.comfort-group{grid-template-columns:repeat(3,minmax(0,1fr))}.toggle-setting,.range-setting{display:grid;align-items:center}.toggle-setting{grid-template-columns:minmax(0,1fr) 48px;gap:16px;cursor:pointer}.toggle-setting input{position:absolute;opacity:0}.toggle-setting i{position:relative;width:44px;height:24px;border:1px solid oklch(.8 .02 120 / .45);border-radius:999px;background:#10130ab3;transition:background-color .18s ease}.toggle-setting i:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--mist);transition:transform .18s ease}.toggle-setting input:checked+i{background:var(--leaf)}.toggle-setting input:checked+i:after{transform:translate(20px)}.toggle-setting input:focus-visible+i{outline:3px solid oklch(.82 .08 125);outline-offset:3px}.range-setting{grid-template-columns:100px minmax(120px,1fr) 52px;gap:16px}.range-setting input{width:100%;accent-color:var(--leaf)}.range-setting output{color:#d3d6c7;font-size:.8rem;font-variant-numeric:tabular-nums;text-align:right}.controls-hint,.interaction-hint{position:absolute;z-index:12;bottom:max(28px,env(safe-area-inset-bottom));left:50%;max-width:calc(100% - 32px);transform:translate(-50%);border-radius:4px;color:var(--mist);background:#0c0e08b8;font-size:.78rem;line-height:1.45;text-align:center;pointer-events:none}.controls-hint{padding:10px 14px;animation:hint-in .24s ease-out both}.controls-hint p{margin:0}.interaction-hint{bottom:max(42px,env(safe-area-inset-bottom));padding:8px 12px}.error-surface{position:absolute;z-index:30;inset:0;display:flex;align-items:flex-end;padding:clamp(24px,6vw,88px);background:var(--veil-deep)}.mobile-controls{position:absolute;z-index:14;inset:0;pointer-events:none;user-select:none;-webkit-user-select:none;touch-action:none}.touch-look-zone{position:absolute;inset:0 0 0 44%;pointer-events:auto;touch-action:none}.joystick-zone{position:absolute;bottom:max(24px,calc(env(safe-area-inset-bottom) + 16px));left:max(20px,calc(env(safe-area-inset-left) + 16px));display:grid;width:148px;height:148px;place-items:center;pointer-events:auto;touch-action:none}.joystick-base{position:relative;display:grid;width:116px;height:116px;place-items:center;border:1px solid oklch(.92 .02 115 / .35);border-radius:50%;background:#090c055c;box-shadow:inset 0 0 0 12px #bbc0af06}.joystick-base:before,.joystick-base:after{content:"";position:absolute;background:#e4e6d81f}.joystick-base:before{width:54px;height:1px}.joystick-base:after{width:1px;height:54px}.joystick-knob{position:relative;z-index:1;width:54px;height:54px;border:1px solid oklch(.96 .02 115 / .52);border-radius:50%;background:#75955bd1;box-shadow:0 4px 8px #0506034d;transition:background-color .12s ease;will-change:transform}.joystick-zone:active .joystick-knob{background:#87ac69f0}.touch-actions{position:absolute;right:max(22px,calc(env(safe-area-inset-right) + 18px));bottom:max(28px,calc(env(safe-area-inset-bottom) + 20px));display:flex;align-items:flex-end;gap:14px;pointer-events:auto}.touch-action,.touch-pause{display:grid;min-width:56px;min-height:56px;padding:0 10px;place-items:center;border:1px solid oklch(.92 .02 115 / .4);border-radius:50%;color:var(--mist);background:#090c059e;box-shadow:0 4px 8px #05060338;font-size:.75rem;font-weight:650;pointer-events:auto;touch-action:manipulation;transition:background-color .14s ease,border-color .14s ease,opacity .14s ease,transform .1s ease}.touch-action.is-pressed,.touch-action:active,.touch-pause:active{transform:scale(.94)}.touch-interact{opacity:.48}.touch-interact.is-available{border-color:#a6cc88bf;background:#4a6830e0;opacity:1}.touch-crouch.is-active{background:#4a6830e0}.touch-pause{position:absolute;top:max(16px,calc(env(safe-area-inset-top) + 12px));right:max(16px,calc(env(safe-area-inset-right) + 12px));width:52px;min-width:52px;height:52px;min-height:52px}.touch-pause span,.touch-pause span:after{display:block;width:4px;height:20px;border-radius:1px;background:currentColor}.touch-pause span{position:relative;transform:translate(-5px)}.touch-pause span:after{content:"";position:absolute;left:10px}.touch-controls-hint{position:absolute;bottom:max(184px,calc(env(safe-area-inset-bottom) + 176px));left:50%;margin:0;padding:7px 10px;border-radius:4px;color:var(--mist);background:#090c05b3;font-size:.72rem;opacity:0;transform:translate(-50%,6px);transition:opacity .18s ease,transform .18s ease;white-space:nowrap}.touch-controls-hint.is-visible{opacity:1;transform:translate(-50%)}.error-content{max-width:620px}.error-content h1{font-size:clamp(2rem,5vw,4rem)}.error-content>p:not(.surface-eyebrow){margin:18px 0 28px;color:#d0d3c5;line-height:1.7}.boot-placeholder{display:grid;width:100%;height:100%;place-items:center;background:#304426;font-size:.95rem}@keyframes surface-in{0%{opacity:0;transform:translateY(10px)}}@keyframes hint-in{0%{opacity:0;transform:translate(-50%,8px)}}@media(max-width:899px){.start-surface{padding:24px}.pause-layout{display:block;padding:32px 24px 56px}.pause-heading{position:static;margin-bottom:36px}.settings-pair,.comfort-group{grid-template-columns:1fr}}@media(pointer:coarse)and (orientation:landscape){.joystick-zone{bottom:max(10px,calc(env(safe-area-inset-bottom) + 6px));width:132px;height:132px}.joystick-base{width:104px;height:104px}.touch-actions{bottom:max(16px,calc(env(safe-area-inset-bottom) + 10px))}.touch-controls-hint{bottom:max(144px,calc(env(safe-area-inset-bottom) + 136px))}}@media(max-width:520px){.start-content h1{font-size:3rem}.seed-row>*,.start-actions>*,.pause-actions>*{width:100%}.segmented-control{grid-template-columns:repeat(2,minmax(0,1fr))}.range-setting{grid-template-columns:72px minmax(100px,1fr) 46px;gap:10px}.controls-hint{width:calc(100% - 32px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
