:root{font-family:Segoe UI,Microsoft JhengHei,sans-serif;color:#e9e9d9;background:#10272a;font-synthesis:none;color-scheme:dark;--gold: #d2b880;--muted: #a8b7ac;--line: #c2b48744}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}button{color:inherit;cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #e8ce91;outline-offset:4px}button{background:transparent;border:0}#game{position:fixed;inset:0;width:100%;height:100%;touch-action:none}#app{position:fixed;inset:0;pointer-events:none}#app button,#app input,#app select,#panel{pointer-events:auto}.vignette{position:absolute;inset:0;box-shadow:inset 0 0 180px 40px #030b0b99;background:linear-gradient(90deg,#091818d9 0%,#0a171766 35%,transparent 72%);pointer-events:none}.topbar{height:100px;display:flex;justify-content:space-between;align-items:center;padding:0 4.5vw;position:relative;z-index:4}.brand{font-family:Georgia,PMingLiU,serif;font-size:23px;letter-spacing:5px;display:flex;align-items:center;gap:12px}.brand-mark{font-size:32px;color:var(--gold)}.brand small{font:12px Microsoft JhengHei,sans-serif;letter-spacing:2px;color:var(--muted);border-left:1px solid var(--line);padding-left:16px}.top-actions{display:flex;align-items:center;gap:22px;font-size:13px}.top-actions button{padding:10px 0;border-bottom:1px solid var(--line)}.environment{font-size:12px;letter-spacing:1px;color:#c7cfb6}.environment:before{content:"";display:inline-block;background:#9ec9aa;width:5px;height:5px;margin-right:9px;border-radius:50%}#pause{font-size:23px;min-width:40px}.menu{position:absolute;left:8.8vw;top:18%;width:365px}.eyebrow{font-size:12px;letter-spacing:4px;color:var(--gold);display:flex;align-items:center;gap:16px}.eyebrow>span{width:32px;height:1px;background:var(--gold)}h1{font-family:Georgia,PMingLiU,"Noto Serif TC",serif;font-weight:400;font-size:clamp(70px,6.3vw,106px);line-height:1.15;margin:26px 0 0;text-shadow:0 2px 35px #0007;letter-spacing:8px}h1 span{display:block;font-family:Microsoft JhengHei,sans-serif;font-size:19px;letter-spacing:13px;margin:17px 0 29px;color:#c4cfbf}.intro{font-size:14px;color:#b5c3b7;line-height:2;letter-spacing:2px;margin:0 0 28px}.menu-buttons{display:grid;gap:8px}.menu-buttons button,.dialog>button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:51px;padding:12px 19px;border:1px solid #b8ba9440;text-align:left;font-size:15px;letter-spacing:2px;background:#14211f6b;transition:background .2s,border-color .2s}.menu-buttons button:hover,.dialog>button:hover{background:#4b50383d;border-color:#cdb886}.menu-buttons button.primary,.dialog>button.primary{background:#d5bf8c;color:#1b2b27;border:1px solid #e9d6a4;font-weight:600}.menu-buttons button.primary:hover,.dialog>button.primary:hover{background:#ecdbab}.menu-buttons small,.dialog button small{font-size:11px;letter-spacing:1px;color:#9fab9e}.primary span{font-size:24px}.chapter-note{display:flex;gap:15px;align-items:center;margin-top:25px}.chapter-note>span{font:32px Georgia;color:#a5b09a80;border-right:1px solid var(--line);padding-right:15px}.chapter-note p{font-size:12px;letter-spacing:3px;margin:0}.chapter-note small{display:block;font-size:10px;letter-spacing:1px;color:#93a693;margin-top:8px}.scene-caption{position:absolute;right:6vw;bottom:17%;text-align:right;border-right:1px solid #bcad7955;padding-right:24px}.scene-caption>span{font-size:11px;letter-spacing:3px;color:#a4b3a0}.scene-caption strong{display:block;font-family:Georgia,PMingLiU,serif;font-size:28px;font-weight:400;letter-spacing:7px;margin:16px 0}.scene-caption p{font-size:12px;color:#a6b4a5;letter-spacing:1px}#footer{position:absolute;bottom:25px;left:4.5vw;right:4.5vw;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:10px;letter-spacing:1px;color:#91a391}#footer nav{display:flex;gap:12px}#footer button{font-size:11px;padding:6px 0;color:#9aaa9d}#footer.playing{display:none}#panel{position:absolute;inset:100px 0 65px;display:flex;align-items:center;justify-content:center;overflow:auto}#panel:has(.menu){inset:0;pointer-events:none}#panel[hidden],[hidden]{display:none!important}.dialog{width:min(490px,calc(100% - 32px));margin:auto;padding:32px 35px;background:linear-gradient(150deg,#182b29f5,#0c191bf5);border:1px solid #b2a27170;box-shadow:0 24px 100px #0009;backdrop-filter:blur(12px);max-height:100%;overflow:auto;pointer-events:auto}.dialog>small{display:block;color:var(--gold);font-size:12px;letter-spacing:3px}.dialog h2{font-family:Georgia,PMingLiU,serif;font-weight:400;letter-spacing:5px;font-size:36px;margin:18px 0 22px}.dialog p{color:#b7c4b7;line-height:1.9;font-size:14px}.dialog>button{margin-top:12px;letter-spacing:1px}.dialog .fine{font-size:12px;line-height:1.8}.dialog .muted{letter-spacing:0;font-size:11px;margin-top:12px}.expansions{border-block:1px solid var(--line);margin:20px 0}.expansions article{display:flex;gap:17px;align-items:center;padding:12px 0}.expansions article+article{border-top:1px solid #afbd8e22}.expansions b{font:34px Georgia;color:var(--gold)}.expansions h3{font-size:16px;font-weight:500;letter-spacing:3px;margin:0}.expansions p{font-size:11px;margin:7px 0 0}.reward{padding:18px;border:1px solid var(--line);color:var(--gold);font-size:13px}.death h2{color:#e2a39a}.test-note{color:#e9c78c;font-size:12px}.policy-draft{padding:12px;border-left:2px solid #d2ad73;background:#d2ad7311;font-size:12px!important}.legal p{font-size:16px;line-height:2}.settings label{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;margin:20px 0}.settings select{background:#20322d;padding:9px;border:1px solid var(--line);max-width:65%}.settings input{accent-color:var(--gold)}.settings label.checkbox{justify-content:flex-start}.controls-guide{border-block:1px solid var(--line);padding:8px 0}.controls-guide p{font-size:12px}.vitals{position:absolute;left:4.5vw;top:110px;width:245px}.vital-label{display:flex;justify-content:space-between;font-size:12px;margin-bottom:9px;color:#dee4d2}.bar{height:9px;background:#061312c9;border:1px solid #bdbea94a;padding:1px}.bar i{display:block;height:100%;transition:width .15s}.health i{background:linear-gradient(90deg,#683c31,#c18b64)}.stamina{height:5px;margin-top:6px;border:0;padding:0}.stamina i{background:#8eaf9b}.vitals small{color:#acbdac;font-size:10px;display:block;margin-top:10px}.quest{position:absolute;right:4.5vw;top:112px;text-align:right;max-width:340px}.quest small{color:var(--gold);font-size:11px;letter-spacing:2px}.quest p{font-size:14px;margin:12px 0 8px;text-shadow:0 1px 5px #000}.quest>span{font-size:13px;color:#c4cbb7;letter-spacing:3px}#boss-hud{position:absolute;top:25%;left:50%;transform:translate(-50%);width:min(440px,55vw);text-align:center}#boss-hud>div:first-child{display:flex;justify-content:space-between;align-items:center;font-size:14px;margin-bottom:10px;letter-spacing:2px}#boss-phase{font-size:11px;color:#d3a897}.boss{height:8px}.boss i{background:linear-gradient(90deg,#603b37,#be796b)}#boss-move{font-size:12px;color:#ffc89c;display:block;margin-top:12px}.actionbar{position:absolute;bottom:35px;left:50%;transform:translate(-50%);display:flex;gap:20px;align-items:center;white-space:nowrap;padding:14px 21px;background:#0b171be0;border:1px solid #9ba47c55;font-size:11px;color:#b9c7b3}.actionbar span{display:flex;gap:6px;align-items:center}.actionbar button{font-size:11px;display:flex;gap:6px;align-items:center}kbd{font:11px Segoe UI,sans-serif;padding:4px 6px;border:1px solid #bec4a84d;color:#dedfcd}.actionbar b{font-weight:400}.actionbar em{font-size:10px;font-style:normal;color:#dec493}#touch-controls{display:none}#toast{position:absolute;left:50%;bottom:115px;transform:translate(-50%,12px);background:#142823ed;border:1px solid #baaa7180;padding:13px 22px;color:#e3ddc3;font-size:13px;line-height:1.7;opacity:0;transition:.2s;width:max-content;max-width:88%;text-align:center}#toast.show{opacity:1;transform:translate(-50%)}#rotate{display:none}#performance{position:absolute;left:15px;bottom:10px;color:#c5e6bd;font:11px monospace;background:#000a;padding:6px}.order-number{font-family:monospace;font-size:12px!important;overflow-wrap:anywhere}@media(min-width:1500px){.menu{top:23%}}@media(max-height:750px)and (min-width:850px){.menu{top:17%;width:330px}h1{font-size:72px;margin-top:14px}h1 span{margin:8px 0 16px}.intro{margin-bottom:18px}.chapter-note{margin-top:15px}.menu-buttons button{min-height:45px}.dialog{padding:24px 30px}.dialog h2{margin:12px 0;font-size:30px}}@media(pointer:coarse),(max-width:850px){.topbar{height:75px;padding:0 22px}.brand{font-size:19px;gap:4px}.brand small{display:none}.top-actions{gap:14px;font-size:11px}.environment{font-size:10px}.menu{left:7%;top:18%;width:300px}h1{font-size:68px}.scene-caption{right:5%;bottom:20%}.scene-caption p{display:none}#footer{font-size:9px;bottom:12px;left:22px;right:22px;align-items:flex-end}#footer>span{display:none}#footer nav{flex-wrap:wrap;gap:5px 14px}#footer button{font-size:10px}#panel{inset:80px 0 50px}.actionbar{display:none}#touch-controls{display:block;pointer-events:none}#joystick{position:absolute;bottom:max(28px,env(safe-area-inset-bottom));left:max(32px,env(safe-area-inset-left));width:120px;height:120px;border-radius:50%;background:#102a2c66;border:1px solid #c8d0b757;display:grid;place-items:center;touch-action:none;pointer-events:auto}#joystick i{width:49px;height:49px;border:1px solid #d4dcbd77;background:#91a28a55;border-radius:50%;pointer-events:none}.touch-actions{position:absolute;right:max(24px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));width:225px;height:165px;pointer-events:none}.touch-actions button{position:absolute;border-radius:50%;border:1px solid #d0be8e8c;background:#182b2acf;touch-action:none;width:60px;height:60px;font-size:13px;pointer-events:auto}.touch-actions button:active{background:#a08c62}.touch-actions .attack{width:80px;height:80px;right:0;bottom:28px;border-color:#edcf8e;background:#8b785bba;font-size:17px}.touch-actions .roll{right:85px;bottom:0}.touch-actions .skill{right:85px;top:0}.touch-actions .block{left:0;top:45px}.touch-actions .potion{right:6px;top:0;width:48px;height:48px;font-size:11px}.vitals{left:22px;top:85px;width:185px}.quest{right:22px;top:85px;max-width:280px}.quest p{font-size:12px}.quest small{font-size:10px}#toast{bottom:195px;font-size:12px}#boss-hud{top:30%;width:50vw}.dialog{padding:24px}.settings .controls-guide p{font-size:12px}}@media(max-width:600px)and (orientation:portrait){.menu{top:20%;width:82%;left:9%}.menu h1{font-size:72px}.menu .intro{font-size:13px}.scene-caption{display:none}.eyebrow{font-size:10px}.top-actions{gap:10px}.environment{display:none}.quest{top:215px;left:22px;text-align:left;max-width:90%}.quest p{margin:7px 0}.vitals{width:220px}.chapter-note{margin-top:20px}#rotate{display:block;position:absolute;top:70px;left:50%;transform:translate(-50%);font-size:13px;color:#f0e8d0;text-align:center;width:90%;background:#122829ed;border:1px solid var(--gold);border-radius:8px;padding:8px 12px;z-index:3;pointer-events:none}.vitals{top:140px}#boss-hud{top:34%;width:80vw}.touch-actions{transform:scale(.88);transform-origin:right bottom;right:10px}#joystick{left:16px;width:102px;height:102px}#toast{bottom:205px}.topbar{padding:0 16px}.brand{font-size:18px}.dialog h2{font-size:30px}#panel{inset:104px 0 60px}}@media(max-height:500px)and (orientation:landscape){.topbar{height:55px}.menu{top:17%;width:300px;left:7%}.eyebrow{font-size:9px}.menu h1{font-size:49px;margin-top:8px}.menu h1 span{font-size:13px;margin:5px 0 10px;letter-spacing:9px}.intro{font-size:11px;line-height:1.7;margin-bottom:10px}.menu-buttons{gap:5px}.menu-buttons button{min-height:35px;font-size:12px;padding:6px 12px}.chapter-note{display:none}.scene-caption{bottom:23%;font-size:11px}.vitals{top:60px;width:160px}.quest{top:60px;max-width:280px}.quest p{font-size:11px;margin:6px 0}.vitals small{display:none}.touch-actions{transform:scale(.82);transform-origin:right bottom;bottom:12px}#joystick{width:96px;height:96px;bottom:20px}#boss-hud{top:36%;width:38vw}#panel{inset:55px 0 38px}.dialog{padding:20px 28px}.dialog h2{font-size:26px;margin:10px 0}.dialog p{font-size:12px}#toast{bottom:25px;max-width:42%;font-size:11px}#rotate{display:none}}#hud{position:absolute;inset:0;pointer-events:none}#fullscreen{min-width:48px;min-height:44px;white-space:nowrap}#rotate>span{font-size:28px;color:var(--gold);margin-right:10px}#rotate>div{display:inline-block;vertical-align:middle}#rotate strong,#rotate small{display:block}#rotate small{margin-top:3px;font-size:11px;color:var(--muted)}@media(max-width:380px){.top-actions{gap:6px}.brand{font-size:16px;letter-spacing:2px}}
