:root{color-scheme:dark;--gold:#c4ab72;--paper:#ebe4d5;--muted:#94988e;--line:#c4ab7240;--panel:#101412ed;--blood:#a8312a;--steel:#9fb0bd}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#0b0d0e;color:var(--paper);font-family:PingFang SC,Microsoft YaHei,sans-serif;user-select:none}button{font:inherit;color:inherit;cursor:pointer;background:none;border:0}button:hover{color:#fff}[hidden]{display:none!important}kbd{display:inline-block;min-width:22px;padding:2px 6px;margin:0 3px;border:1px solid #c4ab7266;border-bottom-width:2px;border-radius:3px;font:11px/16px PingFang SC,sans-serif;color:var(--paper);background:#0007;text-align:center}#world{position:fixed;inset:0;width:100%;height:100%;display:block}#battle-ui{position:fixed;inset:0;pointer-events:none;z-index:2}#battle-ui>*{pointer-events:auto}#b-hud,#b-letterbox,#b-flash,#b-title,#b-fps{pointer-events:none!important}.eyebrow{font-size:10px;color:var(--gold);letter-spacing:3.5px;display:flex;align-items:center;gap:12px}.line{height:1px;width:32px;background:var(--gold)}#battle-ui:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 46%,transparent 42%,#05070899 100%);z-index:0}#battle-ui:after{content:"";position:fixed;inset:-50%;pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 1s steps(6) infinite;z-index:0}@keyframes grain{0%{transform:translate(0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}}#b-loading{position:fixed;inset:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0b0d0e;transition:opacity .9s}#b-loading.done{opacity:0}#b-loading .sigil{font:44px Georgia,serif;color:var(--gold)}#b-loading h1{font:400 44px Songti SC,STSong,serif;letter-spacing:12px;margin:14px 0 26px}.load-track{width:min(360px,60vw);height:2px;background:#ffffff1a}.load-track i{display:block;height:100%;width:0;background:linear-gradient(90deg,#8d7748,#e2cd98);transition:width .3s}.load-label{font-size:12px;letter-spacing:3px;color:#a9ad9f;margin:18px 0 6px}#b-loading small{font-size:11px;color:#6d7366;letter-spacing:3px}#b-menu{position:fixed;inset:0;z-index:6;background:linear-gradient(90deg,#090b0cf0 0%,#0a0d0eb0 32%,transparent 66%)}#b-menu header{height:116px;padding:34px 4.7%;display:flex;align-items:center}.wordmark{display:flex;align-items:center;gap:14px;color:var(--gold);font:34px Georgia,serif}.wordmark span{font-size:21px;letter-spacing:5px}.wordmark small{display:block;font:10px PingFang SC,sans-serif;letter-spacing:7px;margin-top:7px;color:#b1b5a6}.chapter-tag{font-size:11px;letter-spacing:3px;color:#bec2b0;margin-left:auto}.chapter-tag i,#b-menu footer i{display:inline-block;width:4px;height:4px;background:var(--gold);transform:rotate(45deg);margin:0 12px 3px 0}.chapter-tag span{color:#6b735f;padding:0 18px}.menu-copy{position:absolute;left:8%;top:24%;max-width:600px}.menu-copy h1{font-family:Songti SC,STSong,Georgia,serif;font-size:clamp(42px,4.4vw,74px);font-weight:400;line-height:1.4;letter-spacing:7px;margin:23px 0 18px}.menu-copy h1 em{font-style:normal;color:#ceb785}.menu-copy p{font-size:13px;line-height:2.3;letter-spacing:2px;color:#aeb4a5;margin:0 0 30px}.primary{display:flex;align-items:center;justify-content:space-between;gap:70px;min-width:262px;background:linear-gradient(100deg,#bfa879,#dbc997);color:#172018;padding:18px 25px;font-size:14px;letter-spacing:5px;border:1px solid #e6d6a9;box-shadow:0 6px 35px #0004;transition:background .2s,transform .2s}.primary:hover{color:#0b100c;background:#eadbb0;transform:translateY(-2px)}.primary span{font-size:22px;line-height:16px}.secondary{display:block;padding:16px 1px;color:var(--gold);font-size:13px;letter-spacing:3px;text-align:left}.secondary span{padding-left:60px}.menu-links{display:flex;gap:19px;align-items:center;margin-top:18px;font-size:11px;letter-spacing:2px;color:#a4aa9c}.menu-links span{color:#6f7668}#b-menu footer{position:absolute;bottom:0;left:4.7%;right:4.7%;height:66px;border-top:1px solid #a49a7a33;display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:3px;color:#8a8f82}#b-letterbox i{position:fixed;left:0;right:0;height:0;background:#050606;transition:height 1.4s cubic-bezier(.6,0,.2,1);z-index:3}#b-letterbox i:first-child{top:0}#b-letterbox i:last-child{bottom:0}#b-letterbox.on i{height:9vh}#b-hud{position:fixed;inset:0;z-index:4}.b-objective{position:absolute;left:3.4%;top:6%;max-width:340px;padding-left:16px;border-left:1px solid var(--gold);text-shadow:0 1px 6px #000c}.b-objective h3{font:400 21px Songti SC,serif;letter-spacing:4px;margin:10px 0 6px}.b-objective p{font-size:12px;letter-spacing:1.5px;line-height:1.9;color:#cfd2c6;margin:0}.b-objective .dist{display:block;margin-top:6px;color:var(--gold);font-size:11px;letter-spacing:2px}.b-vitals{position:absolute;left:3.4%;bottom:6.5%;width:300px;text-shadow:0 1px 4px #000}.b-vitals .name{font:15px Songti SC,serif;letter-spacing:4px;margin-bottom:9px}.b-vitals .name small{font:9px sans-serif;letter-spacing:3px;color:var(--gold);margin-left:8px}.b-vitals .hp,.b-vitals .st{height:6px;background:#0008;border:1px solid #ffffff22;margin-bottom:5px}.b-vitals .st{height:3px;width:78%}.b-vitals .hp i{display:block;height:100%;background:linear-gradient(90deg,#7e2019,#c4473a);transition:width .25s}.b-vitals .st i{display:block;height:100%;background:linear-gradient(90deg,#8d7748,#e2cd98)}.b-vitals.low .hp{animation:lowhp 1s infinite}@keyframes lowhp{50%{box-shadow:0 0 14px #c4473a}}.b-squad{position:absolute;right:3.4%;bottom:6.5%;text-align:right;text-shadow:0 1px 4px #000}.b-squad .eyebrow{justify-content:flex-end}.b-squad .pips{display:flex;gap:8px;justify-content:flex-end;margin:10px 0 12px}.b-squad .pips i{position:relative;width:16px;height:30px;border:1px solid #c4ab7277;background:#0007}.b-squad .pips i b{position:absolute;left:0;right:0;bottom:0;background:#8fa6b8}.b-squad .pips i small{position:absolute;top:34px;left:50%;transform:translate(-50%);font-size:9px;white-space:nowrap;color:#a9ae9f;letter-spacing:1px}.b-squad .pips i.down{opacity:.4}.b-squad .cmds{display:flex;gap:16px;margin-top:24px;font-size:12px;letter-spacing:2px;color:#b9bdb0}.b-squad .cmds span{padding:6px 10px;border:1px solid transparent;transition:.2s}.b-squad .cmds span.on{border-color:var(--gold);color:#fff;background:#c4ab7222}.b-marker{position:absolute;left:0;top:0;transform-origin:0 0;display:flex;flex-direction:column;align-items:center;margin:-30px 0 0 -40px;width:80px;text-shadow:0 1px 4px #000}.b-marker b{font:400 13px Songti SC,serif;letter-spacing:3px;color:#f1dfae}.b-marker b:after{content:"";display:block;width:9px;height:9px;margin:5px auto 0;border:1px solid var(--gold);transform:rotate(45deg);background:#c4ab7244}.b-marker small{font-size:10px;color:#cfc6a7;letter-spacing:1px;margin-top:4px}.b-reticle{position:absolute;left:50%;top:50%;width:4px;height:4px;margin:-2px;border-radius:50%;background:#fff6}.b-threats{position:absolute;left:50%;top:50%}.b-threats .threat{position:absolute;left:-26px;top:-6px;width:52px;height:12px;border-top:3px solid #e2483a;border-radius:50% 50% 0 0;filter:drop-shadow(0 0 6px #e2483a);opacity:0;transition:opacity .08s}.b-threats .threat.spear{border-top-color:#ffb43a;filter:drop-shadow(0 0 8px #ffb43a)}.b-prompt{position:absolute;left:50%;top:62%;transform:translate(-50%);font-size:14px;letter-spacing:3px;padding:8px 16px;background:#0009;border:1px solid var(--line)}.b-hint{position:absolute;left:50%;bottom:16%;transform:translate(-50%);font-size:12px;letter-spacing:2px;color:#d8d6c8;padding:9px 18px;background:#000a;border-top:1px solid var(--line);opacity:0;transition:opacity .6s;white-space:nowrap}.b-hint.on{opacity:1}.b-sub{position:absolute;left:50%;bottom:23%;transform:translate(-50%);text-align:center;opacity:0;transition:opacity .4s;text-shadow:0 2px 8px #000,0 0 2px #000;max-width:70vw}.b-sub.on{opacity:1}.b-sub small{display:block;font-size:11px;letter-spacing:3px;color:var(--gold);margin-bottom:6px}.b-sub p{margin:0;font:400 20px Songti SC,serif;letter-spacing:3px}.b-warn{position:absolute;left:50%;top:18%;transform:translate(-50%);font:400 26px Songti SC,serif;letter-spacing:12px;color:#ffcf9a;text-shadow:0 0 20px #e2483a}.b-warn.pulse{animation:warn 2.4s ease-out}@keyframes warn{0%{opacity:0;letter-spacing:30px}15%{opacity:1;letter-spacing:12px}75%{opacity:1}to{opacity:0}}.b-kills{position:absolute;right:3.4%;top:6%;font:14px Songti SC,serif;letter-spacing:3px;color:#d8cfb2;text-shadow:0 1px 4px #000}.b-kills.pop{animation:pop .5s}@keyframes pop{30%{transform:scale(1.25);color:#fff}}#b-flash{position:fixed;inset:0;z-index:5;opacity:0}#b-flash.f-hurt{background:radial-gradient(ellipse,transparent 35%,#a8312ab0);animation:fl .5s ease-out}#b-flash.f-parry{background:radial-gradient(ellipse,#fff4d622 0%,transparent 60%);animation:fl .35s ease-out}#b-flash.f-break{background:radial-gradient(ellipse,#ffd58a1a 0%,transparent 70%);animation:fl .3s ease-out}@keyframes fl{0%{opacity:1}to{opacity:0}}#b-title{position:fixed;left:0;right:0;top:36%;z-index:6;text-align:center;text-shadow:0 2px 18px #000;animation:tin 1.6s ease-out}#b-title.out{opacity:0;transition:opacity 1.2s}#b-title small{font-size:12px;letter-spacing:8px;color:var(--gold)}#b-title h2{font:400 clamp(36px,4vw,60px) "Songti SC",serif;letter-spacing:14px;margin:14px 0 10px}#b-title p{font-size:11px;letter-spacing:6px;color:#c3c5b9;max-width:640px;margin:0 auto;line-height:2}@keyframes tin{0%{opacity:0;letter-spacing:30px}to{opacity:1}}#b-dialog{position:fixed;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;background:#05070888}#b-dialog .panel{width:min(520px,90vw);background:var(--panel);border:1px solid var(--line);padding:30px 34px;box-shadow:0 30px 80px #000a}#b-dialog h2{font:400 26px Songti SC,serif;letter-spacing:5px;margin:12px 0 18px}#b-dialog .body{font-size:13px;line-height:2.1;letter-spacing:1px;color:#c5c8bc}#b-dialog .body b{color:var(--gold);font-weight:400}#b-dialog .rows>div{display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:1px solid #ffffff10}#b-dialog .actions{margin-top:22px;display:flex;flex-direction:column;gap:4px}#b-dialog select,#b-dialog input{accent-color:var(--gold);background:#0008;color:var(--paper);border:1px solid var(--line);padding:4px}#b-fps{position:fixed;right:10px;bottom:6px;font-size:10px;color:#ffffff40;z-index:6}#b-fade{position:fixed;inset:0;background:#000;opacity:0;pointer-events:none;z-index:30}#b-doc{position:fixed;left:50%;top:30%;transform:translate(-50%);z-index:7;width:min(460px,80vw);padding:26px 30px;background:linear-gradient(#d9ccb0,#c7b68f);color:#2a2116;box-shadow:0 20px 60px #000c;font:16px/2.1 Songti SC,serif;letter-spacing:2px;animation:tin 1s ease-out;pointer-events:none}#b-doc small{display:block;font-size:11px;letter-spacing:5px;color:#6b5634;margin-bottom:10px}#b-doc p{margin:0}#b-doc b{color:#7a1d16}.b-potions{position:absolute;left:calc(3.4% + 316px);bottom:6.5%;font:15px Songti SC,serif;color:#d8cfb2;text-shadow:0 1px 4px #000}.b-potions small{font-size:10px;color:#a9ae9f;margin-left:6px}.b-foe{position:absolute;left:50%;top:7%;transform:translate(-50%);width:min(420px,50vw);text-align:center;font:13px Songti SC,serif;letter-spacing:4px;text-shadow:0 1px 4px #000}.b-foe div{height:4px;background:#0008;border:1px solid #ffffff22;margin-top:7px}.b-foe i{display:block;height:100%;background:linear-gradient(90deg,#7e2019,#c4473a)}.b-foe.boss{top:10%;font-size:17px}.b-foe.boss div{height:7px}.b-area{position:absolute;left:0;right:0;top:28%;text-align:center;opacity:0;text-shadow:0 2px 14px #000}.b-area.on{animation:area 5s ease-out}.b-area small{font-size:11px;letter-spacing:7px;color:var(--gold)}.b-area h2{font:400 34px Songti SC,serif;letter-spacing:12px;margin:10px 0}@keyframes area{0%{opacity:0}15%{opacity:1}75%{opacity:1}to{opacity:0}}.b-toast{position:absolute;left:50%;bottom:30%;transform:translate(-50%);font-size:13px;letter-spacing:2px;padding:8px 18px;background:#000a;border:1px solid var(--line);opacity:0;transition:opacity .4s;white-space:nowrap}.b-toast.on{opacity:1}.b-skills{position:absolute;left:50%;bottom:4.2%;transform:translate(-50%);display:flex;gap:10px}.b-skills .sk{position:relative;width:62px;height:58px;border:1px solid #c4ab7266;background:#000a;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;overflow:hidden;font-size:11px;letter-spacing:2px;color:#e2dccb}.b-skills .sk b{font-weight:400}.b-skills .sk kbd{margin:0}.b-skills .sk i{position:absolute;left:0;right:0;bottom:0;height:0;background:#0009;pointer-events:none}.b-skills .sk.cd{color:#7d7f76;border-color:#c4ab7222}.b-skills .sk.fire{animation:skf .4s}@keyframes skf{0%{box-shadow:0 0 #e2cd98;background:#c4ab7255}to{box-shadow:0 0 22px #e2cd9800;background:#000a}}.lang-toggle{margin-left:28px;border:1px solid var(--line);padding:6px 12px;font-size:11px;letter-spacing:2px;color:var(--gold)}.cat-bubble{position:fixed;left:0;top:0;z-index:5;pointer-events:none;max-width:260px;padding:8px 14px;background:#f4ecd9;color:#2a2116;border-radius:14px;font:14px/1.5 Songti SC,serif;letter-spacing:1px;box-shadow:0 6px 20px #0008;opacity:0;transition:opacity .25s;white-space:normal}.cat-bubble:after{content:"";position:absolute;left:50%;bottom:-7px;margin-left:-7px;border:7px solid transparent;border-top-color:#f4ecd9;border-bottom:0}.cat-bubble.on{opacity:1}.cat-mood{position:fixed;left:3.4%;bottom:calc(6.5% + 64px);z-index:4;font:12px Songti SC,serif;letter-spacing:3px;color:#e9dfc4;text-shadow:0 1px 4px #000;pointer-events:none;display:flex;align-items:center;gap:8px}.cat-mood i{width:10px;height:10px;border-radius:50%;background:#c4ab72;box-shadow:0 0 8px currentColor}.cat-mood .mood-scared,.cat-mood .mood-hurt{background:#d2544a}.cat-mood .mood-proud,.cat-mood .mood-brave{background:#f0c048}.cat-mood .mood-bored{background:#8a8f99}.cat-mood .mood-dizzy{background:#b48cf0}.cat-mood .mood-sad{background:#6f9fd8}.cat-mood .mood-tender{background:#8fd0a0}
