:root{--lead-paper:#e5dfd0;--lead-ink:#343b37;--lead-gold:#9a7c43;--lead-line:#c8beaa}
.lead-launch{position:fixed;left:18px;top:320px;z-index:20;display:flex;align-items:center;gap:12px;border:1px solid #bfa77388;border-radius:10px;background:#17222ee8;color:#f1e6d1;padding:10px 15px;cursor:pointer;box-shadow:0 6px 24px #0003;font-family:inherit;pointer-events:auto}.hud-top-left .lead-launch{position:static}.lead-launch small{display:block;color:#bdc7cb;font-size:10px;margin-bottom:2px;letter-spacing:2px}.lead-launch strong{font-size:17px;letter-spacing:3px}.lead-launch .lead-launch-mark{font:24px Georgia,serif;color:#d3bb83}.lead-launch kbd{font-size:11px;opacity:.6}.lead-launch:hover{background:#2d3c48}
body.hud-minimized .lead-launch,body.hud-minimized .touch-travel{display:none}
#lead-gallery{position:fixed;inset:0;max-width:none;max-height:none;width:100%;height:100%;margin:0;padding:0;border:0;color:var(--lead-ink);background:transparent;overflow:hidden;font-family:"Songti SC","Noto Serif SC",serif}
#lead-gallery[open]{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-template-rows:90px minmax(0,1fr)}
#lead-gallery::backdrop{background:transparent}.lead-gallery-header{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;background:var(--lead-paper);padding:20px 32px;border-bottom:1px solid var(--lead-line)}
.lead-eyebrow{font:10px system-ui,sans-serif;letter-spacing:3px;color:#7f795f}.lead-gallery-header h2{font-weight:500;letter-spacing:8px;font-size:25px;margin:8px 0 0}.lead-close{background:none;border:0;color:var(--lead-ink);padding:12px;cursor:pointer;font:13px inherit}.lead-close span{font:26px sans-serif;vertical-align:middle;margin-left:12px}
.lead-stage{position:relative;min-height:0;touch-action:none;outline:none}.lead-stage:focus-visible{box-shadow:inset 0 0 0 2px var(--lead-gold)}.lead-stage-note{position:absolute;left:28px;top:20px;color:#857e6d;letter-spacing:2px;font:11px system-ui,sans-serif;pointer-events:none}
.lead-view-controls{position:absolute;bottom:24px;left:0;right:0;display:flex;justify-content:center;gap:5px;flex-wrap:wrap}.lead-view-controls button{background:#f8f4e8d9;border:1px solid #c6bca6;color:#545544;border-radius:3px;padding:8px 12px;cursor:pointer;font:12px inherit}
.lead-details{background:#f1ecdf;padding:30px 26px;overflow-y:auto;border-left:1px solid var(--lead-line)}.lead-details h3{font-size:48px;font-weight:500;letter-spacing:12px;margin:20px 0 8px}.lead-caption{color:var(--lead-gold);letter-spacing:5px;font-size:13px;margin:0 0 20px}.lead-description{font:13px/1.9 system-ui,sans-serif;color:#747366;min-height:50px}.lead-rule{height:1px;background:var(--lead-line);margin:24px 0}
.lead-roster{display:grid;grid-template-columns:repeat(5,1fr);gap:15px 4px}.lead-roster button{border:0;background:none;display:grid;justify-items:center;gap:8px;font:12px inherit;color:#72746a;cursor:pointer;padding:5px}.lead-seal{display:grid;place-items:center;width:42px;height:48px;border:1px solid var(--lead-color);border-radius:20px 20px 4px 4px;color:var(--lead-color);font-size:22px;transition:background .15s}.lead-roster .selected{color:#2c3831}.lead-roster .selected .lead-seal{background:var(--lead-color);color:#fff5dc;box-shadow:0 0 0 3px #f1ecdf,0 0 0 4px var(--lead-color)}
.lead-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:28px 0 20px}.lead-actions button{padding:9px 0;background:transparent;border:1px solid var(--lead-line);font:12px inherit;color:#777669;cursor:pointer}.lead-actions .selected{background:#3b4b43;border-color:#3b4b43;color:#fff5e2}.lead-use{position:sticky;bottom:0;z-index:1;box-shadow:0 -10px 14px -6px #f1ecdf;width:100%;padding:14px;background:#3c4d43;color:#fff5df;border:0;letter-spacing:4px;font:15px inherit;cursor:pointer}.lead-use:hover{background:#526455}#lead-feedback{font-size:12px;min-height:14px}.lead-extra{color:#88816d;font:11px/1.7 system-ui,sans-serif;margin-top:8px}.lead-extra summary{cursor:pointer}.lead-extra a{color:#7e673e}.lead-extra button{display:block;margin:12px 0;border:1px solid var(--lead-line);padding:6px 12px;background:transparent;cursor:pointer;color:inherit}.lead-extra [aria-pressed=true]{background:#d4c8af}
.lead-gallery-open .hud,.lead-gallery-open .lead-launch,.lead-gallery-open .touch-travel{visibility:hidden;pointer-events:none}
.touch-travel{display:none;position:fixed;bottom:100px;left:12px;z-index:24;gap:6px;pointer-events:auto;user-select:none}.touch-travel button{width:42px;height:42px;border:1px solid #d8c18a55;border-radius:8px;background:#1c2b37c9;color:#eee1bf;touch-action:none;font:17px sans-serif}.touch-travel button.pressed{background:#9b7e47;color:white}.touch-travel .touch-directions{display:grid;grid-template-columns:repeat(3,42px);gap:5px}.touch-travel [data-travel=forward]{grid-column:2}.touch-travel [data-travel=left]{grid-column:1}.touch-travel .touch-extra{display:grid;gap:5px;margin-left:8px}.touch-extra button{font-size:12px}
@media(max-width:900px){.lead-launch{top:90px;left:14px;padding:8px 12px}.lead-launch kbd{display:none}#lead-gallery[open]{grid-template-columns:minmax(0,1fr) 270px}.lead-details{padding:22px 18px}.lead-details h3{font-size:40px}.lead-gallery-header{padding:14px 22px}.lead-actions{margin-top:20px}}
@media(pointer:coarse),(max-width:700px){.touch-travel{display:flex}.lead-launch{top:75px;left:12px}.lead-launch strong{font-size:14px}.lead-launch small{font-size:9px}}
@media(max-width:600px){#lead-gallery[open]{grid-template-columns:1fr;grid-template-rows:66px minmax(180px,1fr) auto}.lead-gallery-header{padding:10px 16px}.lead-gallery-header h2{font-size:21px;margin-top:5px}.lead-eyebrow{font-size:9px}.lead-close{font-size:12px}.lead-details{grid-row:3;border-left:0;border-top:1px solid var(--lead-line);padding:12px 16px max(12px,env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr auto;gap:5px 12px;max-height:45vh}.lead-details h3{font-size:25px;letter-spacing:5px;margin:0;grid-column:1}.lead-details>#lead-number,.lead-caption,.lead-description,.lead-rule,.lead-extra,#lead-feedback{display:none}.lead-roster{grid-column:1/-1;grid-row:2;grid-template-columns:repeat(6,1fr);gap:3px}.lead-roster button{font-size:10px;gap:5px;padding:3px}.lead-seal{width:29px;height:33px;font-size:17px}.lead-actions{grid-column:1/-1;grid-row:3;grid-template-columns:repeat(7,1fr);gap:4px;margin:8px 0 0}.lead-actions button{padding:8px 0;font-size:11px}.lead-use{grid-row:1;grid-column:2;width:auto;padding:7px 12px;font-size:12px;letter-spacing:1px}.lead-stage-note{top:12px;left:16px;font-size:10px}.lead-view-controls{bottom:12px;gap:4px}.lead-view-controls button{padding:6px 9px;font-size:10px}}
@media(max-height:560px) and (min-width:601px){#lead-gallery[open]{grid-template-rows:60px 1fr}.lead-gallery-header{padding:8px 20px}.lead-gallery-header h2{font-size:20px}.lead-details{padding:12px 20px}.lead-details h3{font-size:28px;margin:6px 0}.lead-description,.lead-rule,.lead-extra,.lead-caption{display:none}.lead-roster{gap:7px}.lead-seal{width:30px;height:34px;font-size:18px}.lead-actions{margin:16px 0}.lead-use{padding:10px}.lead-stage-note{top:8px}}
.lead-forms{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;margin:18px 0 0;border:1px solid var(--lead-line)}.lead-forms[hidden]{display:none}.lead-forms button{padding:9px 0;background:transparent;border:0;font:13px inherit;color:#72746a;cursor:pointer;letter-spacing:.2em}.lead-forms .selected{background:#3b4b43;color:#f3ecd9}
.combat-hp{position:fixed;left:50%;bottom:122px;transform:translateX(-50%);width:min(320px,60vw);z-index:22;pointer-events:none;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;font:12px "Noto Serif SC","Songti SC",serif;color:#efe6d3;text-shadow:0 1px 3px #000a}.combat-hp-track{height:8px;background:#0d0c10c4;border:1px solid #e6c26488;border-radius:5px;overflow:hidden}.combat-hp-fill{display:block;height:100%;background:linear-gradient(90deg,#c6382f,#e4623f);transform-origin:left;transition:transform .15s}.combat-hp b{font-weight:600;color:#e6c264}
.combat-hurt{position:fixed;inset:0;z-index:21;pointer-events:none;opacity:0;box-shadow:inset 0 0 140px 40px #c0201acc;transition:opacity .35s}.combat-hurt.on{opacity:1;transition:none}
.combat-toast{position:fixed;left:50%;top:18%;transform:translateX(-50%);z-index:23;pointer-events:none;font:22px "Noto Serif SC","Songti SC",serif;letter-spacing:.2em;color:#f4ead2;text-shadow:0 2px 8px #000;opacity:0;transition:opacity .4s}.combat-toast.on{opacity:1;transition:none}
.combat-dmg{position:fixed;z-index:22;pointer-events:none;font:700 20px Georgia,serif;color:#ffe9b4;text-shadow:0 1px 3px #000,0 0 8px #d8433c;animation:combat-rise .75s ease-out forwards}@keyframes combat-rise{from{opacity:1;transform:translate(-50%,0) scale(1.25)}to{opacity:0;transform:translate(-50%,-46px) scale(.95)}}
@media(max-width:700px){.combat-hp{bottom:auto;top:118px;left:auto;right:12px;transform:none;width:44vw}}
.lead-gallery-open .combat-hp{visibility:hidden}
.combat-boss{position:fixed;left:50%;top:84px;transform:translateX(-50%);width:min(460px,70vw);z-index:22;pointer-events:none;display:none;flex-direction:column;align-items:center;gap:5px;font:15px "Noto Serif SC","Songti SC",serif;letter-spacing:.24em;color:#f1e6cc;text-shadow:0 1px 4px #000c}.combat-boss.on{display:flex}.combat-boss-track{display:block;width:100%;height:9px;background:#0d0c10d0;border:1px solid #e6c264a8;border-radius:2px;overflow:hidden}.combat-boss-fill{display:block;height:100%;background:linear-gradient(90deg,#8f2a22,#d6613a);transform-origin:left;transition:transform .18s}
.lead-gallery-open .combat-boss{visibility:hidden}

/* 队伍栏 */
.party-bar[hidden]{display:none}
.party-bar{position:fixed;right:20px;top:82px;z-index:21;display:flex;flex-direction:column;gap:4px;width:150px;pointer-events:auto;font-family:"Noto Serif SC","Songti SC",serif}
.party-member{display:flex;align-items:center;gap:8px;width:100%;min-height:36px;padding:3px 8px 3px 4px;border:1px solid #bfa77333;border-radius:8px;background:#17222ec4;color:#f1e6d1;text-align:left;font:inherit;cursor:pointer;transition:background .15s,border-color .15s,opacity .15s}
.party-member:hover{background:#2d3c48e8}
.party-member:focus-visible{outline:2px solid #e6c264;outline-offset:1px}
.party-member.is-player{border-color:#e6c264;background:#2c3a45f0;box-shadow:inset 3px 0 0 #e6c264}
.party-member.is-fight{border-color:#c6382f99}
.party-member.is-down{opacity:.5;cursor:not-allowed}
.party-seal{flex:none;display:grid;place-items:center;width:27px;height:27px;border-radius:6px;background:var(--lead-color);color:#fffaf0;font-size:15px;text-shadow:0 1px 2px #0009}
.party-info{flex:1;min-width:0;display:grid;grid-template-columns:1fr auto;align-items:baseline;column-gap:4px;row-gap:3px}
.party-name{font-size:12px;letter-spacing:1px;white-space:nowrap}
.party-status{font-size:10px;color:#bdc7cb;white-space:nowrap}
.party-member.is-player .party-status{color:#e6c264}
.party-member.is-fight .party-status{color:#ef8b73}
.party-track{grid-column:1/-1;height:4px;border-radius:3px;background:#0d0c10c4;overflow:hidden}
.party-fill{display:block;height:100%;background:linear-gradient(90deg,#c6382f,#e4623f);transform-origin:left;transition:transform .15s}
.party-seal{position:relative}
.party-member.has-agent .party-seal::after{content:"";position:absolute;right:-3px;top:-3px;width:9px;height:9px;border-radius:50%;background:#7fd6c2;box-shadow:0 0 0 2px #17222e}
.party-bubble{position:fixed;z-index:23;transform:translate(-50%,-100%);max-width:min(220px,44vw);padding:5px 10px;border-radius:9px;background:#f6efdfee;color:#2a2b33;font:13px/1.35 "Noto Serif SC","Songti SC",serif;box-shadow:0 2px 10px #0004;pointer-events:none;text-align:center}
.party-bubble[hidden]{display:none}
body.hud-minimized .party-bar,.lead-gallery-open .party-bar,.lead-gallery-open .party-bubble{display:none}
@media(max-width:900px),(max-height:620px){.party-bar{right:8px;top:64px;width:auto;gap:3px;max-height:calc(100dvh - 72px);overflow-y:auto;scrollbar-width:none}.party-member{width:36px;min-height:36px;padding:3px;justify-content:center}.party-info{display:none}.party-member.is-player{box-shadow:0 0 0 2px #e6c264}}
