:root{color-scheme:dark;--ink:#352b23;--paper:#f4ead2;--gold:#c4a061;--muted:#c3b9a7;--serif:'Songti SC','STSong','Noto Serif CJK SC','SimSun',serif;--ui:'PingFang SC','Microsoft YaHei',sans-serif;}
*{box-sizing:border-box}html,body{margin:0;width:100%;min-height:100%;background:#0b0b0a}body{font-family:var(--serif);color:#eee6d6;overflow-x:hidden}button,input{font:inherit}button{color:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}button:focus-visible,input:focus-visible{outline:2px solid #b09a65;outline-offset:5px}button{border:0;background:none}button:focus:not(:focus-visible){outline:none}#game{position:relative;min-height:100svh;isolation:isolate}.scene{width:100%;min-height:100svh;position:relative;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
.toolbar{position:fixed;left:0;right:0;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:12px max(20px,env(safe-area-inset-right));pointer-events:none;background:linear-gradient(#0807068c,transparent)}.toolbar button{pointer-events:auto;min-width:44px;min-height:44px;font:14px var(--ui);letter-spacing:.12em;color:#e9dfcd;background:#100d0980;border:1px solid #e6d0a126;border-radius:2px;padding:10px 13px;backdrop-filter:blur(12px)}.toolbar button:hover{background:#382c1dcc}.toolbar-left{display:flex;gap:8px;pointer-events:auto}.brand{font-size:15px;letter-spacing:.5em;opacity:.68;margin:0 12px}.toolbar-right{display:flex;gap:8px}.scene-hint{margin:0;text-align:center;font-family:var(--ui);font-size:14px;line-height:1.7;letter-spacing:.18em;color:#d9cbae;position:absolute;bottom:max(23px,env(safe-area-inset-bottom));left:20px;right:20px;animation:hint-in 1.6s ease both;pointer-events:none}.paused *{animation-play-state:paused!important}.paused .scene{filter:blur(3px) brightness(.5)}
.dialog{color:#e7dcc5;background:#1d1914;border:1px solid #766343;box-shadow:0 25px 100px #000b;width:min(420px,calc(100vw - 32px));max-height:calc(100svh - 30px);padding:30px;border-radius:3px;overflow:auto}.dialog::backdrop{background:#080706ae;backdrop-filter:blur(5px)}.dialog h2{font-size:24px;letter-spacing:.15em;font-weight:400;margin:0 0 24px}.dialog p{font:14px/1.7 var(--ui);color:#beb09a}.dialog label{font:16px var(--ui);display:flex;gap:12px;align-items:center;justify-content:space-between;margin:25px 0}.dialog input{accent-color:#c4a061;min-width:22px;min-height:22px}.dialog input[type=range]{max-width:180px;min-height:32px}.dialog-actions{display:grid;gap:10px;margin-top:24px}.dialog-actions button{border:1px solid #766343;padding:13px;min-height:44px;font:15px var(--ui)}.dialog-actions .primary{background:#c4a061;color:#1d1914}.dialog .quiet{color:#a99a85}.error-panel{position:fixed;inset:0;z-index:100;background:#111;display:grid;place-content:center;text-align:center;padding:30px;gap:20px}.error-panel button{padding:15px;border:1px solid #aaa}.load-note{position:fixed;bottom:14px;right:18px;color:#c8bda8;z-index:21;font:13px var(--ui)}
@keyframes hint-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes breathe{0%,100%{opacity:.35}50%{opacity:.95}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important}}.reduce-motion *{animation-duration:.01s!important;transition-duration:.01s!important}
@media(max-width:600px){.toolbar{padding:8px 12px}.toolbar button{font-size:13px;padding:8px 10px}.brand{display:none}.scene-hint{font-size:13px;letter-spacing:.08em;bottom:20px}.dialog{padding:24px}}
