
:root{color-scheme:dark;--bg:#101817;--panel:#18211f;--line:#2c3631;--text:#e0e2d7;--muted:#86928a;--jade:#b5c89d;--gold:#c4a776}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:13px system-ui,'Microsoft YaHei',sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit;background:none;border:0}button:focus-visible,a:focus-visible{outline:2px solid var(--jade);outline-offset:4px}header{height:90px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 4.5%;gap:25px}.brand{display:flex;align-items:center;gap:13px;color:var(--text);text-decoration:none;font:600 23px 'Noto Serif SC',serif;letter-spacing:3px}.brand small{display:block;font:8px system-ui;letter-spacing:3px;margin-top:5px;color:var(--muted)}.seal{display:grid;place-items:center;border:1px solid #b6bea0;width:39px;height:44px;color:#c9d1b5;border-radius:4px;font-size:27px}nav{display:flex;height:100%;gap:40px}nav button{color:var(--muted);position:relative}nav button.active{color:var(--jade)}nav button.active:after{content:'';position:absolute;bottom:0;left:22%;right:22%;height:2px;background:var(--jade)}nav button span{background:#2b3530;padding:2px 6px;border-radius:4px;font-size:10px}.profile{display:flex;align-items:center;gap:9px;color:#aab3a8;font-size:12px}.profile i{height:20px;border-left:1px solid var(--line);margin:0 10px}.live{display:inline-block;width:6px;height:6px;border-radius:50%;background:#a8bb8d;box-shadow:0 0 8px #a8bb8d30}.avatar{display:grid;place-items:center;background:#343e32;border:1px solid #667256;border-radius:50%;width:32px;height:32px;font-family:serif}main{max-width:1580px;margin:auto;padding:34px 4.5% 0}.heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.eyebrow{font-size:10px;letter-spacing:4px;color:var(--gold)}h1{font:600 38px 'Noto Serif SC',serif;letter-spacing:4px;margin:12px 0}h1 em{font-style:normal;color:var(--jade)}.heading p{color:var(--muted);margin:0;font-size:12px;letter-spacing:1px}.chapter{display:flex;align-items:center;gap:15px;color:#b5b9a5}.chapter>span{font:32px 'Noto Serif SC',serif;border:1px solid #455042;padding:12px}.chapter small{display:block;color:var(--muted);font-size:10px;letter-spacing:2px;margin-top:8px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 286px;gap:22px}.game-panel{border:1px solid #394238;border-radius:5px;overflow:hidden;display:flex;flex-direction:column}.game-top,.game-footer{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;background:#1c2520;font-size:11px}.game-top b{margin-left:7px;font-weight:500}.muted{color:var(--muted);margin-left:8px}.weather{color:#b1b7a5}.weather span{margin-left:20px;color:var(--muted)}.weather b{color:var(--gold)}.viewport{position:relative;min-height:530px;flex:1;overflow:hidden;background:#354139}canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 100px #07140a80}.location{position:absolute;top:25px;left:26px;font:24px 'Noto Serif SC',serif;letter-spacing:6px;pointer-events:none}.location small{display:block;font:7px system-ui;letter-spacing:3px;margin-top:8px;color:#aab5a3}.location>span{font:10px system-ui;display:block;letter-spacing:2px;margin-top:14px;color:#afbaa8}.timer{position:absolute;right:24px;top:26px;text-align:right}.timer small{font-size:10px;color:#aeb5a5}.timer strong{display:block;font:25px Georgia;letter-spacing:3px;margin-top:6px}.map-key{position:absolute;bottom:103px;left:22px;display:flex;gap:18px;font-size:9px;color:#c4c9b2}.map-key span:first-child{color:#d5b36d}.map-key span:nth-child(2){color:#b6d9c4}.bottom-hud{position:absolute;bottom:15px;left:17px;right:17px;display:flex;align-items:center;justify-content:space-between;background:#111d19e8;border:1px solid #60705c66;border-radius:3px;padding:15px;gap:15px}.bottom-hud>div:first-child{display:flex;gap:10px;align-items:center}.bottom-hud b{font-size:11px}.bottom-hud small{display:block;font-size:8px;color:var(--muted);margin-top:6px}.bars{width:35%;max-width:230px}.bars label{display:flex;justify-content:space-between;color:#b6bfae;font-size:8px}.bar{height:4px;background:#3a4439;margin:4px 0 7px}.bar i{display:block;height:100%;background:#b3c589;width:100%;transition:width .15s}.bar.qi i{background:#7baea9}.ability{display:flex;align-items:center;gap:7px;font-size:9px;color:#a8b3a5}kbd{display:inline-grid;place-items:center;width:27px;height:27px;background:#29372e;border:1px solid #495b47;color:#d2d9c3;border-radius:3px}.game-footer{padding:12px 18px;color:var(--muted);font-size:9px}.game-footer .live{margin-right:6px}.dot{margin:0 8px}.game-footer button{font-size:9px}aside{display:flex;flex-direction:column;gap:15px}.card{padding:20px;background:var(--panel);border:1px solid var(--line);border-radius:4px}.card-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.card-title h3{font:600 15px 'Noto Serif SC',serif;margin:0;letter-spacing:2px}.card-title>span{color:var(--muted);font-size:9px}.quest{display:flex;gap:13px;margin-top:22px}.quest-icon{display:grid;place-items:center;flex-shrink:0;width:28px;height:28px;border:1px solid #514f3c;color:var(--gold);font-family:serif}.quest b{font-size:11px;font-weight:500}.quest p{font-size:9px;color:var(--muted);margin:7px 0}.quest small{font-size:9px;color:#b5b9a2}.quest-icon.jade{border-color:#455c4c;color:#a2c6ac}.quest .jade-text{color:#9dbba0}.inventory{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.slot{height:47px;border:1px solid #344139;border-radius:2px;background:#131d19;display:flex;align-items:center;justify-content:center;color:#455246;font-size:17px}.slot.filled{font-size:9px;color:var(--gold);background:#302f20;border-color:#776343;padding:3px;text-align:center}.value{display:flex;align-items:center;justify-content:space-between;margin:17px 0;font-size:10px;color:var(--muted)}.value b{font:22px Georgia;color:var(--gold)}.value small{font:9px system-ui}.heal{width:100%;border:1px solid #3c4a3c;background:#253125;padding:10px;font-size:10px;text-align:left;color:#becdb2}.heal span{float:right;color:var(--muted);font-size:9px}.school{padding-top:17px;padding-bottom:14px}.school .card-title{margin-bottom:13px}.schools{display:flex;gap:6px}.schools button{flex:1;border:1px solid #354237;padding:8px 2px;font-size:10px;color:var(--muted)}.schools button.selected{background:#384330;border-color:#83936a;color:#d8e0c9}.school p{font-size:9px;color:var(--muted);margin:13px 0 0}.instructions{display:flex;align-items:center;gap:5%;border:1px solid var(--line);margin-top:22px;padding:19px 23px;border-radius:4px;background:#151f1b}.instructions>div{display:flex;align-items:center;gap:13px}.instructions>div>span{font:27px 'Noto Serif SC',serif;color:#79866c}.instructions p{margin:0}.instructions b{font-size:11px;font-weight:400;letter-spacing:2px}.instructions small{display:block;font-size:9px;color:var(--muted);margin-top:6px}.instructions .quote{margin-left:auto;font:12px 'Noto Serif SC',serif;color:#78866f;letter-spacing:1px}footer{display:flex;align-items:center;gap:20px;padding:23px 0;color:#69766b;font:11px 'Noto Serif SC',serif}footer span{font:9px system-ui}footer span:last-child{margin-left:auto}.intro{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#101c1670;backdrop-filter:blur(2px);text-align:center}.intro-mark{font:55px 'Noto Serif SC',serif;color:#d4dab7;margin-bottom:12px;text-shadow:0 3px 20px #000}.intro h2{font:600 27px 'Noto Serif SC',serif;letter-spacing:3px;margin:17px 0}.intro p{line-height:2;color:#c1c9b6;font-size:11px}.primary{background:#bfcea6;color:#1c2b1b;padding:15px 35px;min-width:205px;font-weight:600;letter-spacing:3px;margin:18px 0;border:1px solid #dae4c8}.primary:hover{background:#d6e2c2}.primary span{float:right;margin-left:30px}.intro>small{color:#a4b19a;font-size:9px;letter-spacing:1px}#toast{position:absolute;left:50%;top:22px;transform:translateX(-50%);background:#15231bed;color:#d5dec6;padding:10px 18px;border:1px solid #61705277;border-radius:3px;font-size:11px;opacity:0;transition:opacity .2s;pointer-events:none;white-space:nowrap}dialog{border:1px solid #667656;background:#18251f;color:var(--text);max-width:520px;width:90%;padding:35px;line-height:1.9}dialog::backdrop{background:#07120dd9;backdrop-filter:blur(5px)}dialog h2{font-family:'Noto Serif SC',serif;color:var(--jade)}dialog p,dialog li{color:#aebaab;font-size:13px}#closeDialog{position:absolute;right:12px;top:8px;font-size:23px}dialog .stash-item{padding:8px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.hidden{display:none!important}@media(min-width:1500px){.viewport{min-height:620px}}@media(max-width:1050px){header{padding:0 3%}nav{gap:20px}.profile{display:none}main{padding:25px 3%}.layout{grid-template-columns:minmax(0,1fr) 250px;gap:15px}.card{padding:15px}.instructions{gap:20px}.quote{display:none!important}.ability{display:none}.chapter{display:none}}@media(max-width:750px){header{height:75px}.brand{font-size:18px}nav{gap:15px}nav button{font-size:11px}nav button:last-child{display:none}h1{font-size:29px}.layout{grid-template-columns:1fr}.viewport{min-height:500px}aside{display:grid;grid-template-columns:1fr 1fr}.mission{grid-row:span 2}.school{grid-column:2}.instructions{flex-wrap:wrap;gap:20px}.instructions small{font-size:8px}.location{font-size:18px}.intro h2{font-size:22px}.weather{display:none}footer span:last-child{display:none}}

