
:root{font:16px/1.55 system-ui,"Microsoft YaHei",sans-serif;color:#24362d;background:#f3f2eb;--ink:#20392e;--muted:#607168;--line:#d9e0d5;--paper:#fffefa;--green:#216244}
*{box-sizing:border-box} [hidden]{display:none!important}
*{scrollbar-width:thin;scrollbar-color:#94ad9a transparent}
*::-webkit-scrollbar{width:9px;height:9px}
*::-webkit-scrollbar-track{background:transparent}
*::-webkit-scrollbar-thumb{background:#9ab19e;border:2px solid transparent;border-radius:99px;background-clip:padding-box}
*::-webkit-scrollbar-thumb:hover{background:#5f866b;background-clip:padding-box}
html,body{min-width:0} body{margin:0;overflow-wrap:anywhere;background:radial-gradient(circle at 95% 0%,#e1e9dd,transparent 36rem),linear-gradient(#f5f4ee,#eef1e9)}
/* 页面、弹层和表格均自动换行，不用隐藏溢出掩盖内容。 */
main{width:min(100%,1360px);min-height:100dvh;margin:auto;padding:18px 24px 34px;display:grid;align-content:start;gap:14px}
main *,main *::before,main *::after{min-width:0}
.card{background:var(--paper);border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 24px #233b2909}
.card{padding:22px}.siteHeader{padding:5px 8px;display:flex;align-items:center;gap:12px}
.brandMark{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border-radius:10px;background:var(--ink);color:#f3dfba;font:700 21px/1 "Songti SC","STSong",serif}
h1,h2,h3,p{overflow-wrap:anywhere}h1,h2,h3{color:var(--ink)}
h1{font:700 24px/1.15 "Songti SC","STSong",serif;letter-spacing:.07em;margin:0}h2{font-size:25px;line-height:1.35;margin:0 0 12px}h3{font-size:18px;margin:0}p{margin:0}
.siteHeader p,.hint,.small{color:var(--muted)}.siteHeader p{font-size:12px}.hint{font-size:14px}.small{font-size:13px}
.eyebrow{font-size:12px;font-weight:800;letter-spacing:.12em;color:var(--green)}
.row,.quick,.actions,.role,.heroActions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.row,.role{justify-content:space-between}.role{padding:13px 0;border-top:1px solid var(--line)}.role small{display:block;color:var(--muted)}
.roleSelectionRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px}
.roleSelectionRow>button{grid-column:2;grid-row:1}
.roleStatus{grid-column:1/-1;display:grid;gap:4px}
.roleStatusLabel{display:flex;justify-content:space-between;flex-wrap:wrap;gap:2px 8px;color:var(--muted);font-size:12px}
.roleStatusLabel b{color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.roleProgressTrack{--role-fill:#287a51;position:relative;height:3px;overflow:hidden;border-radius:99px;background:#dce4d9}
.roleProgressTrack.travel{--role-fill:#5980a2}
.roleProgressTrack.mine,.roleProgressTrack.caravan{--role-fill:#a48745}
.roleProgressTrack.craft{--role-fill:#8d76a4}
.roleProgressFill{position:relative;width:0;height:100%;overflow:hidden;border-radius:inherit;background:var(--role-fill);transition:width .25s linear}
.roleProgressTrack.isActive .roleProgressFill::after{content:"";position:absolute;top:-6px;bottom:-6px;left:-108px;width:108px;transform:skewX(-45deg);background:linear-gradient(90deg,transparent,#fff2 10%,#fff4 25%,#fff6 40%,#fff9 48%,#fff9 52%,#fff6 60%,#fff4 75%,#fff2 90%,transparent);filter:blur(.6px);animation:roleProgressSweep 4.2s linear infinite}
.roleProgressTrack progress{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none}
@keyframes roleProgressSweep{0%,5%{left:-108px;opacity:0}12%{opacity:.78}55%{left:100%;opacity:.78}63%,100%{left:100%;opacity:0}}
@media(prefers-reduced-motion:reduce){.roleProgressFill{transition:none}.roleProgressTrack.isActive .roleProgressFill::after{animation:none;display:none}}
button{border:1px solid #b6cbb8;color:#174a35;background:#f6faf4;border-radius:11px;padding:10px 15px;cursor:pointer;font:600 14px/1.35 system-ui,sans-serif;min-height:42px;transition:background-color .12s,transform .12s}
button:hover:not(:disabled){background:#e9f4e9}button:active:not(:disabled){transform:translateY(1px)}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #75b68b;outline-offset:2px}
button.primary{background:var(--green);color:white;border-color:var(--green)}button.primary:hover:not(:disabled){background:#174a35}
button:disabled{opacity:.52;cursor:not-allowed}.quick button,.actions button{min-height:38px;padding:7px 12px}
#auth [aria-pressed=true]{background:var(--green);color:white;border-color:var(--green)}
.qqMailField{display:flex;align-items:stretch}.qqMailField input{flex:1;border-radius:10px 0 0 10px}.qqMailField span{display:grid;place-items:center;flex:none;padding:0 12px;border:1px solid #b8c9b8;border-left:0;border-radius:0 10px 10px 0;background:#f5f8f2;color:var(--muted);font-weight:500}
form{padding:0}.fields,.stack,.panel{display:grid;gap:14px}.fields{margin:14px 0}label{display:grid;gap:6px;font-weight:650;font-size:14px}
input,textarea,select{display:block;width:100%;min-width:0;padding:10px 12px;border:1px solid #b8c9b8;border-radius:10px;font:inherit;color:var(--ink);background:white}input[type=number]{max-width:180px}
@media(max-width:560px){input,textarea,select{font-size:16px}}
.status{margin:8px 0 0;color:#a44431}.status.success{color:var(--green)}#accountStatus:empty,#channelListStatus:empty{display:none}#notice{border-color:#9fbea6;color:#174a35}
#mapPanel:has(> .loadError)>:not(.loadError){opacity:.55}
#game{display:grid;grid-template-columns:198px minmax(0,1fr);align-items:start;gap:14px;padding-bottom:64px}
#game>.roleBanner{grid-column:1/-1}#game>.tabbar{grid-column:1;grid-row:2/span 2}#game>section[id$=Panel]{grid-column:2}
.roleBanner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 18px;border:1px solid var(--line);border-radius:14px;color:var(--ink);background:#fffefa}
.roleBanner>div{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;min-width:0}.roleBanner h2{font-size:19px;margin:0;overflow-wrap:anywhere}.roleBanner .small{color:var(--muted)}.roleBanner button{min-height:34px;padding:5px 10px;background:#f7faf4;white-space:nowrap;flex:none}
.tabbar{display:grid;align-content:start;gap:4px;position:sticky;top:14px;padding:7px;background:var(--paper);border:1px solid var(--line);border-radius:15px;box-shadow:0 8px 24px #233b2908}
.tabbar button{width:100%;text-align:left;color:#43584a;border:0;background:transparent;padding:11px 12px;font-weight:650}.tabbar button:hover:not(:disabled){background:#edf4ea}.tabbar button[aria-current=page],.tabbar button[aria-current=page]:hover:not(:disabled){background:var(--green);color:white}
#backToTop{position:fixed;right:16px;bottom:16px;z-index:9;min-height:38px;padding:6px 11px;box-shadow:0 6px 20px #173d2950;background:var(--paper)}
.hero{border-color:#234934;background:linear-gradient(118deg,#193e2f,#2a6244 65%,#365f44);color:#f9f7ec;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 18px;padding:12px 16px}.heroCopy{display:grid;gap:3px}
.hero .eyebrow{color:#e5ca91}.hero h2{margin:0;color:#fffdf4;font:700 clamp(21px,2.2vw,27px)/1.2 "Songti SC","STSong",serif}.hero p{color:#d7e7d8}.heroSubline{font-size:12px}.heroGuide{font-size:13px;max-width:62ch}.heroActions{justify-content:flex-end;max-width:265px}.heroActions button{min-height:38px;padding:7px 11px}.hero button.primary{background:#e2bd7e;color:#24402d;border-color:#e2bd7e}.hero button.primary:hover:not(:disabled){background:#f0cf95}.hero button:not(.primary){color:#f4f7ee;border-color:#85ad91;background:#ffffff15}.hero button:not(.primary):hover:not(:disabled){background:#ffffff2b}
.panels,.mapGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.panel{align-content:start}#channelsHome .panels{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}#channelCreateOpen{justify-self:start}
.panelHeader{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.badge{display:inline-flex;border-radius:999px;background:#edf4e9;color:#174a35;padding:4px 9px;font:700 12px/1.3 system-ui,sans-serif}.badge.warn{background:#fbefdb;color:#8c5120}.badge.danger{background:#fbe8e4;color:#9b302c}
.listrow{display:grid;gap:6px;padding:14px 0;border-top:1px solid var(--line)}.listrow:first-child{border-top:0}.listrow .quick{margin-top:3px}#myChannels .listrow,#publicChannels .listrow{grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:12px}#myChannels .listrow>button,#publicChannels .listrow>button{grid-column:2;grid-row:1/3;justify-self:end}#myChannels .listrow>strong,#publicChannels .listrow>strong{min-width:0;overflow-wrap:anywhere}
.placeList{display:grid;gap:7px;max-height:65dvh;overflow-y:auto}.placeChoice{width:100%;min-height:64px;text-align:left;display:grid;grid-auto-rows:min-content;align-content:center;gap:3px;padding:11px 12px;border-color:var(--line);background:var(--paper)}.placeChoice strong{font-size:15px}.placeChoice span{color:var(--muted);font-size:12px;font-weight:400}.placeChoice[aria-pressed=true]{background:#edf5e9;border-color:#60946b;box-shadow:inset 3px 0 var(--green)}
.mapDetail{position:sticky;top:16px}.mapCaravanStatus,.mapStopChoices{margin-top:7px}#mapStatusBar{padding:13px 18px}.mapCargoGuide{display:grid;gap:5px;margin-top:9px;padding-top:9px;border-top:1px solid var(--line)}.mapCargoGuide strong{color:var(--ink)}.mapCargoGuide>.row{gap:5px 12px;justify-content:flex-start}.mapCargoGuide>.row button{min-height:32px;padding:5px 9px}.mapCargoGuide summary{font-size:12px;font-weight:600}.mapCargoGuide .quick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:7px}.mapCargoGuide button{display:grid;gap:2px;text-align:left}.mapCargoGuide button span{font-size:12px;font-weight:400;color:var(--muted)}.mapCargoControls{align-items:end}.mapCargoControls input{width:110px}.mapStopChoices p{margin-top:8px}.mapCargoQuoteInfo{white-space:pre-wrap}.routeLine{display:flex;flex-wrap:wrap;align-items:center;gap:5px;color:#174a35;font-weight:650}.routeLine span{border:1px solid var(--line);border-radius:8px;padding:4px 8px;background:#f5f8f2}.routeMeta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:7px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.routeMeta div{padding:0}.routeMeta strong{display:block;font-size:17px}.routeMeta span{font-size:12px;color:var(--muted)}
.result{white-space:pre-wrap;overflow-wrap:anywhere;max-height:340px;overflow-y:auto}#gameNotice{width:min(560px,calc(100% - 24px));border-left:4px solid #bb8852}#gameNotice.battle{width:min(760px,calc(100% - 24px))}#gameNotice h3{margin-bottom:8px}
.battleGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}.battleSide{display:grid;gap:7px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#f7f9f4}.battleSide.attacker{border-left:3px solid #b66d48}.battleSide.defender{border-left:3px solid #8c71a3}.battleSide strong{font-size:18px}.battleSide progress{width:100%;height:12px;accent-color:#287a51}.battleSide progress.energy{accent-color:#5980a2}.battleSide .small{display:flex;justify-content:space-between;gap:8px}.battleOutcome{padding:10px 12px;border-radius:10px;background:#f4f6f2;white-space:pre-wrap;overflow-wrap:anywhere}.battleOutcome .battleLoss{color:#a14430}.battleOutcome .battleGain{color:#26734c}
.battleResult{display:inline-block;padding:2px 7px;border-radius:7px;background:#edf5e9;color:#17553a;font-size:12px;font-weight:700}.battleResult.loss{background:#fbebe5;color:#9b4430}.battleResult.draw{background:#f3f2e9;color:#776549}.battleHistoryMeta{display:flex;flex-wrap:wrap;align-items:center;gap:5px 10px;color:var(--muted);font-size:13px}.battleTimeline{display:grid;gap:12px;margin-top:15px;border-left:2px solid #bed3bd;padding-left:15px}.battleRound{position:relative;display:grid;gap:6px}.battleRound::before{content:'';position:absolute;left:-22px;top:8px;width:11px;height:11px;border:2px solid var(--paper);border-radius:50%;background:#568866}.battleRoundHead{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 11px}.battleRoundHead strong{font-size:15px}.battleRoundHead span{font-size:12px;color:var(--muted)}.battleEvent{padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:#fafbf8;font-size:13px;white-space:pre-wrap}.battleEvent.damage{border-left:3px solid #b66d48;background:#fff8f3}.battleEvent.heal{border-left:3px solid #53a16d;background:#f5fbf5}.battleEvent.energy{border-left:3px solid #5980a2;background:#f4f8fb}.battleEvent.status{border-left:3px solid #9b82aa;background:#faf7fc}.battleEvent.medicine{border-left:3px solid #8b9b5e;background:#f9faf2}.battleEvent.quiet{border-left:3px solid #bec8bb;color:var(--muted)}.battleEvent.turn{border:0;background:transparent;padding:3px 1px;font-weight:700;color:var(--green)}.battleEventTag{font-size:11px;font-weight:700;color:#8b4b31}.battleEvent.heal .battleEventTag{color:#28734a}.battleEvent.energy .battleEventTag{color:#446988}.battleEvent.status .battleEventTag{color:#765386}.battleEvent.medicine .battleEventTag{color:#61742e}.battleEvent.quiet .battleEventTag{color:var(--muted)}.battleEvent progress{display:block;width:100%;height:6px;margin-top:5px;accent-color:#ba7955}.battleEvent.heal progress{accent-color:#4b9a67}.battleEvent.energy progress{accent-color:#5980a2}.battleEvent.quiet progress{accent-color:#aab8a9}#battleHistoryPanel>.panelHeader{margin-bottom:12px}#battleHistoryMore{margin-top:10px}
.battleRound{scroll-margin-top:54px}.battleRound>summary{list-style:none;cursor:pointer}.battleRound>summary::-webkit-details-marker{display:none}.battleRound>summary::before{content:'▸';color:var(--green)}.battleRound[open]>summary::before{content:'▾'}
.battleLogDetails{margin-top:12px;border-top:1px solid var(--line);padding-top:8px}.battleLogDetails>summary{cursor:pointer;color:var(--green);font-size:13px;font-weight:650}
.battleDigest{border-top:1px solid var(--line)}.battleDigestRound{border-bottom:1px solid var(--line);padding:8px 0}.battleDigestHead{display:flex;align-items:baseline;gap:8px}.battleDigestHead strong{flex:none;font-size:13px}.battleDigestHead span{min-width:0;font-size:12px;overflow-wrap:anywhere}.battleDigestSummary{display:flex;flex-wrap:wrap;gap:2px 8px}.battleDigestSummary .damage,.battleDigestAction.damage .battleDigestImpact{color:#a93133}.battleDigestSummary .heal,.battleDigestAction.heal .battleDigestImpact{color:#28734a}.battleDigestSummary .quiet{color:var(--muted)}.battleDigestActions{padding:5px 0 0 17px}.battleDigestAction{display:flex;align-items:baseline;flex-wrap:wrap;gap:1px 7px;padding:5px 0;border-top:1px dashed var(--line);font-size:13px;line-height:1.5}.battleDigestAction>span{min-width:0;overflow-wrap:anywhere}.battleDigestSkill{color:var(--muted)}.battleDigestImpact{white-space:nowrap;font-size:13px;font-variant-numeric:tabular-nums}.battleDigestAction.energy .battleDigestImpact{color:#446988}.battleDigestAction.status .battleDigestImpact{color:#765386}.battleFull{margin-top:10px}.battleFull>summary{cursor:pointer;color:var(--green);font-size:12px;font-weight:650}
.battleRound[hidden]{display:none}.battleReplayControls{position:sticky;top:53px;z-index:1;display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:12px;padding:6px 0;background:var(--paper)}.battleReplayControls button{min-height:40px;padding:5px 8px;font-size:12px}.battleReplayControls button:first-child,.battleReplayControls button:nth-child(3){min-width:40px}.battleReplayControls span{min-width:88px;text-align:center;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}.battleReplayControls button:last-child{margin-left:auto}.battleFlow button[aria-pressed=true]{background:#e5f1e5;border-color:#79a884;color:var(--green)}
@media(max-width:560px){.battleReplayControls{display:grid;grid-template-columns:40px minmax(0,1fr) 40px auto auto;gap:4px}.battleReplayControls span{min-width:0;white-space:nowrap}.battleReplayControls button{padding:4px 5px}.battleReplayControls button:last-child{margin-left:0}}
.battleRoster progress{display:block;width:100%;height:6px;margin-top:4px;accent-color:#287a51}
.battleFlow{display:flex;align-items:end;flex-wrap:wrap;gap:5px;padding:8px 0 5px;border-bottom:1px solid var(--line)}.battleFlowLabel{align-self:center;flex:none;max-width:90px;margin-right:5px;color:var(--muted);font-size:12px}.battleFlow button{flex:none;display:grid;align-content:end;justify-items:center;gap:4px;min-width:43px;height:65px;padding:4px 5px;border-color:transparent;background:transparent;color:var(--muted);font-size:11px}.battleFlow button:hover,.battleFlow button:focus-visible{background:#edf4e9;border-color:#a8c5ae}.battleFlowBars{display:flex;align-items:end;gap:2px;height:34px}.battleFlowBars i{display:block;width:9px;min-height:2px;border-radius:2px 2px 0 0;background:#b66d48}.battleFlowBars i.defender{background:#8c71a3}.battleFlowBars i.other{background:#8e938a}.battleFlowBars i.heal{background:#53a16d}.battleFlowBars i.quiet{background:#bec8bb}.battleActionRow{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;align-items:center;gap:5px}.battleActionRow strong{min-width:0;overflow-wrap:anywhere}.battleActionRow .battleArrow{color:var(--muted)}.battleActionRow .battleImpact{white-space:nowrap;font-size:17px;color:#a04d2d;font-variant-numeric:tabular-nums}.battleEvent.heal .battleImpact{color:#28734a}.battleSkill{color:var(--muted);font-size:12px}
.battleRoundHealth{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:6px 0 10px}.battleRoundHealth>div{min-width:0;display:grid;gap:3px}.battleRoundHealth span{display:flex;justify-content:space-between;gap:4px;overflow-wrap:anywhere;font-size:12px}.battleRoundHealth>.battleRoundHealthCaption{grid-column:1/-1;justify-content:start;color:var(--muted);font-size:11px}.battleRoundHealth progress{width:100%;height:7px;accent-color:#b66d48}.battleRoundHealth .defender progress{accent-color:#8c71a3}.battleTurn{display:grid;gap:4px;margin:9px 0 0;padding:2px 0 2px 11px;border-left:3px solid #b66d48}.battleTurn.defender{border-color:#8c71a3}.battleTurn.other{border-color:#9aa9a0}.battleTurnHead{display:flex;align-items:baseline;gap:7px;margin:0;font-size:14px}.battleTurnHead span{font-size:11px;font-weight:500;color:var(--muted)}.battleTurn .battleEvent{padding:5px 7px;border:0;border-radius:6px;background:transparent}.battleTurn .battleEvent.damage{background:#fff5ee}.battleTurn .battleEvent.heal{background:#eff8ef}.battleTurn .battleEvent.energy{background:#f0f6fa}.battleTurn .battleEvent.status{background:#f7f3fa}.battleTurn .battleEvent.medicine{background:#f6f8eb}
.battleFlowLabel{display:grid;gap:2px}.battleFlowLabel .attacker{color:#a04d2d}.battleFlowLabel .defender{color:#765386}.battleFlowLabel .other{color:#686f65}.battleFlowLabel .heal{color:#28734a}
.battleStatusRow{display:flex;align-items:center;flex-wrap:wrap;gap:4px 7px}.battleStatusName{padding:1px 7px;border-radius:999px;background:#eee5f3;color:#6d4c83;font-weight:700}
.battleStage{display:grid;gap:8px;margin-top:12px;padding:11px 13px;border:1px solid #c6d5c3;border-radius:11px;background:linear-gradient(105deg,#fff8f1,#f7f9f4 50%,#f7f3fa)}.battleStageCaption{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:12px}.battleStageCaption strong{color:var(--ink)}.battleStageSides{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px}.battleStageFighter{min-width:0;display:grid;gap:4px}.battleStageFighter strong{overflow-wrap:anywhere;font-size:14px}.battleStageFighter .small{font-size:11px}.battleStageFighter progress{width:100%;height:10px;accent-color:#b66d48}.battleStageFighter.defender progress{accent-color:#8c71a3}.battleStageVersus{color:#8a9c85;font-size:12px;font-weight:800}.battleReplay.hasStage:not(.showAll) .battleRoundHealth{display:none}.battleStage progress::-webkit-progress-value{transition:width .45s ease}
.battleStageFighter.active strong{color:#a04d2d}.battleStageFighter.defender.active strong{color:#765386}.battleStageMoment{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;padding-top:7px;border-top:1px solid var(--line)}.battleStageMoment strong{min-width:0;overflow-wrap:anywhere;font-size:13px}.battleStageMoment span{min-width:0;overflow-wrap:anywhere;color:var(--muted);font-size:12px}.battleStageMoment b{grid-column:2;grid-row:1/3;align-self:center;color:#a04d2d;font-size:18px;font-variant-numeric:tabular-nums}.battleStageMoment.heal b{color:#28734a}.battleStageMoment.energy b{color:#446988}.battleStageMoment.status b{color:#765386}.battleEvent.active{border-color:#b69b61!important;background:#fff9e7!important}
.battleReplay:not(.showAll) .battleEvent.future{opacity:.48}
.battleEvent.selectable{cursor:pointer}.battleEvent.selectable:hover{background:#edf4e9}.battleEvent.selectable:focus-visible{outline:3px solid #75b68b;outline-offset:2px}
.battleStageTarget{display:grid;gap:4px;padding-top:6px;border-top:1px solid var(--line)}.battleStageTarget span{font-size:12px;color:var(--muted)}.battleStageTarget progress{width:100%;height:7px;accent-color:#8c71a3}
.battleActionTrack{display:flex;flex-wrap:wrap;gap:5px;padding-top:7px;border-top:1px solid var(--line)}.battleActionTrack[hidden]{display:none}.battleActionTrack button{flex:0 0 auto;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1px 6px;max-width:210px;min-height:44px;padding:4px 7px;text-align:left;font-size:11px;border-color:var(--line);background:var(--paper)}.battleActionTrack button>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.battleActionTrack button>small{grid-column:2/4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.battleActionTrack button>span:first-child{grid-row:1/3;color:var(--muted);font-variant-numeric:tabular-nums}.battleActionTrack button>b{font-size:12px;color:#a04d2d;white-space:nowrap}.battleActionTrack button.heal>b{color:#28734a}.battleActionTrack button.energy>b{color:#446988}.battleActionTrack button.status>b{color:#765386}.battleActionTrack button[aria-pressed=true]{border-color:#a98055;background:#fff8ec}
.battleFinal{margin-top:9px}.battleFinal>summary{font-size:12px}.battleFinal .battleGrid{margin:8px 0 0}
@media(max-width:560px){#battleHistoryDialog .battleGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}#battleHistoryDialog .battleSide{padding:8px;gap:4px}#battleHistoryDialog .battleSide strong{font-size:14px}#battleHistoryDialog .battleSide .small{flex-wrap:wrap;gap:0 4px;font-size:11px}#battleHistoryDialog .battleSide progress{height:7px}}
@media(prefers-reduced-motion:reduce){.battleStage progress::-webkit-progress-value{transition:none}}
.activityCards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.activityCard{min-width:0}.activityCard.active{grid-column:1/-1;order:-1;border-color:#a9c6af}.activityCard:not([open]){padding:16px 20px}.activityCard summary{display:grid;gap:5px;list-style:none;cursor:pointer}.activityCard summary::-webkit-details-marker{display:none}.activityCard summary::after{content:'展开详情';font-size:12px;color:#547461}.activityCard[open] summary::after{content:'收起详情'}.activityName{font-size:18px;font-weight:700;color:var(--ink)}.activityBrief{display:block;color:var(--muted);font-size:13px}.activityMiniProgress{width:min(160px,100%);height:5px;accent-color:#287a51}.activityCard[open] .activityMiniProgress{display:none}.activityBody{margin-top:14px}.activityProgress{width:100%;height:11px;accent-color:#287a51}
.cultivationMeter{display:grid;grid-template-columns:156px minmax(0,1fr);align-items:center;gap:12px}
.cultivationFigure{position:relative;width:156px;height:156px;isolation:isolate}
.cultivationFigure>div{position:absolute;inset:0}
.cultivationBase,.cultivationLiquid,.cultivationSheen{-webkit-mask:url(/assets/cultivator-silhouette.e91cff8a6f52.webp) center/contain no-repeat;mask:url(/assets/cultivator-silhouette.e91cff8a6f52.webp) center/contain no-repeat}
.cultivationBase{background:#b9cfbe}.cultivationLiquid{overflow:hidden}
.cultivationHalo{background:radial-gradient(ellipse,#f2d58a99 15%,#f2d58a00 68%);filter:blur(8px);opacity:0;transform:scale(1.15)}
#cultivationWater{position:absolute;inset:0;transform:translateY(105%);transition:transform .25s linear}
.cultivationWaves{display:block;width:100%;height:100%}
.cultivationWave{animation:cultivationFlow 4s linear infinite}
.cultivationWave.back{animation-duration:5s;animation-direction:reverse;opacity:.55}
.cultivationSheen{background:#fff0b2;opacity:0}
.cultivationReadout{display:grid;gap:8px;font-variant-numeric:tabular-nums}#cultivationBrief,#trialInfo,#overviewCultivationRemaining{font-variant-numeric:tabular-nums}.cultivationProgressRow{display:flex;align-items:center;gap:8px}.cultivationProgressRow progress{flex:1;min-width:0}.cultivationProgressRow span{min-width:42px;text-align:right;font-variant-numeric:tabular-nums}
.cultivationFigure[data-full=true] .cultivationHalo{animation:cultivationBreathe 3s cubic-bezier(.77,0,.175,1) infinite alternate}
.cultivationFigure[data-full=true] .cultivationSheen{animation:cultivationShine 3s cubic-bezier(.77,0,.175,1) infinite alternate}
@keyframes cultivationFlow{to{transform:translateX(80px)}}
@keyframes cultivationBreathe{from{opacity:.4}to{opacity:.85}}
@keyframes cultivationShine{from{opacity:.04}to{opacity:.18}}
@media(max-width:560px){.cultivationMeter{grid-template-columns:116px minmax(0,1fr);gap:9px}.cultivationFigure{width:116px;height:116px}}
@media(prefers-reduced-motion:reduce){#cultivationWater{transition:none}.cultivationWave{animation:none}.cultivationFigure[data-full=true] .cultivationHalo{animation:none;opacity:.65}.cultivationFigure[data-full=true] .cultivationSheen{animation:none;opacity:.1}}
#confirmDialog,#gameNotice{max-width:none;max-height:80dvh;padding:24px;border-top:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:18px;box-shadow:0 24px 80px #12271c73;color:var(--ink);background:var(--paper);overflow-y:auto;overflow-wrap:anywhere}
#confirmDialog{width:min(520px,calc(100% - 24px));border-left:1px solid var(--line)}
#confirmDialog[open],#gameNotice[open]{display:grid;gap:16px}#confirmDialog::backdrop,#gameNotice::backdrop{background:#10251abb;backdrop-filter:blur(3px)}
#inviteRewardsDialog,#prayerDialog,#realmDialog,#statsDialog,#renameDialog{width:min(520px,calc(100% - 24px));max-width:none;max-height:86dvh;padding:22px;border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 80px #12271c73;color:var(--ink);background:var(--paper);overflow:auto}
#inviteRewardsDialog[open],#prayerDialog[open],#realmDialog[open],#statsDialog[open],#renameDialog[open]{display:grid;gap:14px}#inviteRewardsDialog::backdrop,#prayerDialog::backdrop,#realmDialog::backdrop,#statsDialog::backdrop,#renameDialog::backdrop{background:#10251abb;backdrop-filter:blur(3px)}#prayerDialog:has(#actionReport) #prayerForm,#renameDialog:has(#actionReport) #renameForm{display:none}
#renameDialog:has(#actionReport) #renameInfo,#renameStatus:empty{display:none}
#inviteRewardsDialog,#inviteRewardsBody{grid-template-columns:minmax(0,1fr)}
#inviteRewardsBody .dataTableWrap{margin-top:12px}
#realmDialogCurrent{margin:0}.realmAbilityTable{width:100%;border-collapse:collapse;font-size:13px}.realmAbilityTable th,.realmAbilityTable td{padding:9px 6px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}.realmAbilityTable th{width:72px;white-space:nowrap}.realmAbilityTable th small{display:block;color:var(--muted);font-size:11px;font-weight:400}.realmAbilityTable tr.current{background:#edf6eb}.realmAbilityTable tr.locked{color:var(--muted)}
@media(max-width:560px){#inviteRewardsDialog,#prayerDialog,#realmDialog,#statsDialog,#renameDialog{padding:16px}}
#confirmDialog h2{margin:0}#confirmMessage{white-space:pre-wrap;overflow-wrap:anywhere;color:#43584a}
#confirmDialog form{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px}
#mailComposer,#channelCreateDialog,#sectOperationDialog,#sectTasksDialog,#marketListDialog,#marketSelected,#gearOperationDialog,#itemOperationDialog,#materialCompose,#loadoutSwapDialog,#forgeDialog,#skillDialog,#medicineDialog,#bossAutoDialog,#dummyManage,#battleHistoryDialog,#activityPanel,#shopPanel{width:min(760px,calc(100% - 24px));max-width:none;max-height:86dvh;padding:22px;border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 80px #12271c73;color:var(--ink);background:var(--paper);overflow:auto}
#mailComposer[open],#channelCreateDialog[open],#sectOperationDialog[open],#sectTasksDialog[open],#marketListDialog[open],#marketSelected[open],#gearOperationDialog[open],#itemOperationDialog[open],#materialCompose[open],#loadoutSwapDialog[open],#forgeDialog[open],#skillDialog[open],#medicineDialog[open],#bossAutoDialog[open],#dummyManage[open],#battleHistoryDialog[open],#activityPanel[open],#shopPanel[open]{display:grid;gap:14px}#mailComposer::backdrop,#channelCreateDialog::backdrop,#sectOperationDialog::backdrop,#sectTasksDialog::backdrop,#marketListDialog::backdrop,#marketSelected::backdrop,#gearOperationDialog::backdrop,#itemOperationDialog::backdrop,#materialCompose::backdrop,#loadoutSwapDialog::backdrop,#forgeDialog::backdrop,#skillDialog::backdrop,#medicineDialog::backdrop,#bossAutoDialog::backdrop,#dummyManage::backdrop,#battleHistoryDialog::backdrop,#activityPanel::backdrop,#shopPanel::backdrop{background:#10251abb;backdrop-filter:blur(3px)}
.operationDialogHeader{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 0 10px;border-bottom:1px solid var(--line);background:var(--paper)}.operationDialogHeader h2{margin:0;font-size:22px}.operationDialogHeader button{flex:none;min-height:34px;padding:5px 10px}.operationDialogBody{min-width:0}.operationDialogBody>.card{padding:0;border:0;box-shadow:none}.operationDialogBody>.card>h3:first-child,.operationDialogBody>#forgePanel>.panelHeader{display:none}.sectActionBar{display:flex;gap:4px;max-width:560px}.sectActionBar button{position:relative;flex:1 1 0;min-width:0;min-height:36px;padding:5px 2px;font-size:12px;white-space:nowrap}.sectActionBar button[data-pending]::after{content:attr(data-pending);position:absolute;top:-5px;right:-3px;min-width:14px;height:14px;padding:1px 2px;border-radius:999px;background:#903047;color:#fff;font-size:10px;line-height:12px}
@media(max-width:560px){#mailComposer,#channelCreateDialog,#sectOperationDialog,#sectTasksDialog,#marketListDialog,#marketSelected,#gearOperationDialog,#itemOperationDialog,#materialCompose,#loadoutSwapDialog,#forgeDialog,#skillDialog,#medicineDialog,#bossAutoDialog,#dummyManage,#battleHistoryDialog,#activityPanel,#shopPanel{padding:16px}#bossAutoDialog .combatSetup{grid-template-columns:minmax(0,1fr)}}
#toast{position:fixed;z-index:10;inset:max(12px,env(safe-area-inset-top)) auto auto 50%;margin:0;border:0;transform:translateX(-50%);width:min(520px,calc(100% - 24px));padding:12px 16px;color:white;background:#244e38;border-radius:12px;box-shadow:0 12px 28px #14261e42;font-size:14px;pointer-events:none}#toast.error{background:#923d31}dialog #toast{inset:auto auto 18px 50%}
.actionReport{flex-basis:100%;min-width:0;display:grid;gap:8px;margin-top:10px;padding-top:12px;border-top:1px solid var(--line)}.actionReport .row{gap:8px}.actionReport .result{font-size:14px}.loadError{padding:10px 12px;border:1px solid #dcbbac;border-radius:10px;color:#883f2b;background:#fff6f0;font-size:13px}.loadError button{margin-left:8px;min-height:30px;padding:4px 8px}
#marketSelected:has(#actionReport) #marketSelectedActions,#marketSelected:has(#actionReport) #marketPurchaseTotal{display:none}
#gearOperationDialog:has(#actionReport) #gearOperationBody>.quick,#gearOperationDialog:has(#actionReport) #gearOperationBody>.gearEnhance,#gearOperationDialog:has(#actionReport) #gearOperationBody>.gearManage{display:none}
#marketSelectedRemark:empty{display:none}
#marketListDialog:has(#actionReport) #marketListForm,#marketListDialog:has(#actionReport) > .hint{display:none}
#history,#channelHistory{display:flex;flex-direction:column;gap:10px}article{min-width:0;padding:13px 15px;background:#f5f7f2;border:1px solid var(--line);border-radius:13px}article.player{margin-left:10%;background:#e6f3e8}article.reply{margin-right:7%}.who{font-size:12px;color:#53715b;font-weight:700;margin-bottom:4px}.body{white-space:pre-wrap;overflow-wrap:anywhere}.actions{border-top:1px solid var(--line);margin-top:12px;padding-top:10px}
.chatlog{max-height:58dvh;overflow-y:auto;padding:12px;border:1px solid var(--line);border-radius:12px;background:#f7f8f3}#channelHistory:empty::before{content:'还没有消息，发一句话开始交流。';color:var(--muted);font-size:13px}#channelHistory:empty[data-loading=true]::before{content:'正在读取消息…'}#channelHistory:empty[data-loading=error]::before{content:'消息暂时无法读取，正在自动重试。'}#channelMemberDialog{width:min(520px,calc(100% - 24px));max-width:none;max-height:86dvh;overflow:auto}#channelMemberDialog[open]{display:grid;gap:14px}#channelMemberDialog::backdrop{background:#10251abb;backdrop-filter:blur(3px)}#channelForm{border-top:1px solid var(--line);padding-top:14px}.composer{display:flex;flex-wrap:wrap;gap:10px;align-items:end}textarea{flex:1;resize:vertical;min-height:70px;max-height:180px}details>summary{cursor:pointer;font-weight:700;color:#174a35}details>summary+*{margin-top:12px}
#loading,#auth,#account{width:min(100%,700px);margin:12px auto}#loading,#auth{width:min(100%,560px);margin:clamp(24px,5vh,72px) auto;border-top:4px solid var(--green);box-shadow:0 18px 48px #233b2912}#loading p{margin-bottom:0}#auth h2,#account h2{font-family:"Songti SC","STSong",serif;font-size:30px}#auth form{margin-top:18px}#auth form button[type=submit]{width:100%}.mailLetter{border-top:1px solid var(--line);padding:16px 0;display:grid;gap:8px}.mailLetter:first-child{border-top:0}.mailLetter details[open] summary{margin-bottom:8px}
.accountHeading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 10px}.accountHeading .eyebrow{grid-column:1;grid-row:1}.accountHeading h2{grid-column:1/-1;grid-row:2;margin:0}.accountHeading #logout{grid-column:2;grid-row:1;min-height:36px;padding:5px 8px;font-size:13px}.accountMeta{display:flex;align-items:center;justify-content:space-between;gap:6px 10px;margin:8px 0 2px}.accountMeta #accountEmail{min-width:0;margin:0;overflow-wrap:anywhere}.accountMeta #refresh{flex:none;min-height:36px;padding:5px 8px;font-size:13px}
.accountPreference{display:flex;align-items:flex-start;gap:10px;padding:14px 0;border-top:1px solid var(--line)}.accountPreference input{width:20px;height:20px;flex:none;margin:1px 0 0;accent-color:var(--green)}.accountPreference span{display:grid;gap:2px}.accountPreference .hint{font-weight:400}
.sectionIntro{padding:3px 2px 1px}.sectionIntro .eyebrow{margin-bottom:3px}.sectionIntro h2{margin-bottom:4px;font-family:"Songti SC","STSong",serif;font-size:29px}.sectionIntro .hint{max-width:72ch}
.overviewCards{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:12px;align-items:start}.overviewCards>.profilePanel,.overviewCards>.quickFacts{grid-column:1/-1}
.overviewCards .panelHeader{margin-bottom:8px}.overviewCards .eyebrow{margin-bottom:3px}.vitalsGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.vitalCell{display:grid;align-content:start;gap:4px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#f8faf6}.vitalCell .small{font-size:12px}.vitalCell strong{font-size:17px;line-height:1.3}.vitalCell progress,.growthPanel progress{width:100%;height:8px;accent-color:#2c7852}.vitalCell progress.energy{accent-color:#537ea0}.vitalCell progress.qihai{accent-color:#b08a4f}.vitalsFooter{display:flex;flex-wrap:wrap;gap:5px 14px;align-items:center;margin-top:7px}.vitalsFooter button{min-height:30px}
button.statAction{min-height:30px;padding:2px 4px;border:0;background:transparent;color:#356b4c;font-size:13px;text-decoration:underline;text-underline-offset:3px}button.statAction:hover:not(:disabled){background:#edf4e9;color:var(--green)}
.growthPanel{display:grid;align-content:start;gap:6px}.growthHeading{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:2px 10px}.growthPanel .growthRealm{font:700 23px/1.25 "Songti SC","STSong",serif;color:var(--ink)}.growthPanel .growthValue{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}.growthPanel button{justify-self:start;min-height:32px;padding:5px 9px}
.growthActivity{display:grid;gap:5px;margin-top:5px;padding-top:9px;border-top:1px solid var(--line)}.growthActivity .quick{gap:6px}.growthActivity progress{height:6px}
.growthActivity.idle{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:5px 9px}.vitalsPanel summary{display:flex;justify-content:space-between;flex-wrap:wrap;gap:2px 10px;list-style:none}.vitalsPanel summary::-webkit-details-marker{display:none}.vitalsPanel summary strong::after{content:' ▸';color:var(--green)}.vitalsPanel[open] summary strong::after{content:' ▾'}.vitalsPanel summary .small{font-size:12px;font-weight:400;font-variant-numeric:tabular-nums}
.profilePanel{display:grid;gap:10px}.profileHeader{display:flex;align-items:end;justify-content:space-between;flex-wrap:wrap;gap:6px 16px}.profileHeader h3{font-size:20px}.profileHeaderActions{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px}.profileScore{color:var(--ink);font-size:14px;font-weight:700}.profileGrid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:18px}.profileSection{display:grid;align-content:start;gap:9px}.profileSection+.profileSection{border-left:1px solid var(--line);padding-left:18px}.profileAttributes{display:grid;gap:7px}.profileSubhead{display:flex;justify-content:space-between;align-items:center;gap:8px}.profileSubhead h4{margin:0;color:var(--ink);font-size:14px}.profileSubhead .small{font-size:11px}.statGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.statCell{display:grid;align-content:center;gap:1px;padding:7px 9px;min-height:51px;border-radius:8px;background:#f5f8f3}.statCell dt{font-size:11px;color:var(--muted)}.statCell dd{margin:0;font-size:15px;font-weight:700;color:var(--ink)}.gearOverview{display:grid;gap:5px}.gearOverview details{border:1px solid var(--line);border-radius:9px;background:#f8faf6}.gearOverview summary{display:flex;align-items:center;gap:7px;padding:7px 9px;list-style:none;min-height:40px;font-size:13px}.gearOverview summary::-webkit-details-marker{display:none}.gearOverview summary span:first-child{flex:none;color:var(--muted);font-size:11px}.gearOverview summary strong{flex:1}.gearOverview summary span:last-child{color:var(--muted);font-size:11px}.gearOverview details[open]{border-color:#8db398}.gearOverview details>summary+*{margin-top:0}.gearAttributes{display:grid;gap:4px;padding:0 9px 9px;color:#4f6758;font-size:12px}.gearAttributes p{margin:0}.profileLink{border:0;background:transparent;padding:2px 4px;min-height:28px;color:var(--green);font-size:12px;text-decoration:underline;text-underline-offset:3px}.skillOverviewList{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.skillOverviewList details{border:1px solid var(--line);border-radius:9px;background:#f8faf6}.skillOverviewList summary{list-style:none;display:grid;gap:2px;min-height:42px;padding:6px 8px;font-size:12px}.skillOverviewList summary::-webkit-details-marker{display:none}.skillOverviewList .small{font-size:11px}.skillOverviewList details>summary+*{margin-top:0}.skillOverviewList p{padding:0 8px 8px;white-space:pre-wrap;color:#4f6758;font-size:12px}.quickFacts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.quickFact{text-align:left;display:grid;gap:1px;min-height:50px;padding:6px 9px;background:#f8faf6}.quickFact span{font-size:11px;color:var(--muted);font-weight:500}.quickFact strong{font-size:15px;overflow-wrap:anywhere}.checkinRow{background:#f8faf5}.checkinRow .panelHeader{justify-content:flex-start;margin-bottom:5px}.checkinRow .hint{max-width:68ch}
.growthGuide[open]{display:grid;gap:12px}.growthGuide>summary{display:flex;align-items:center;gap:8px;list-style:none}.growthGuide>summary>div{margin-right:auto}.growthGuide>summary::-webkit-details-marker{display:none}.growthGuide>summary::before{content:'▸';color:var(--green)}.growthGuide[open]>summary::before{content:'▾'}.growthGuide .panelHeader{margin:0}.growthSteps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.growthStep{display:grid;grid-template-rows:auto auto 1fr auto;gap:6px;min-width:0;padding:13px;border:1px solid var(--line);border-radius:12px;background:#f8faf6}.growthStep.current{border-color:#7fad89;background:#edf6ec}.growthStep.done{background:#fafbf8}.growthStep h4{margin:0;color:var(--ink);font-size:16px}.growthStep p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.growthStep .quick{gap:5px}.growthStep button{min-height:36px;padding:6px 9px;font-size:12px}.growthStep .badge{justify-self:start}
.filters{gap:6px}.filters button{min-height:32px;padding:5px 11px;font-size:13px}.filters button[aria-pressed=true]{background:var(--green);color:white;border-color:var(--green)}.filters button[aria-pressed=true]:hover:not(:disabled){background:#174a35}
.placeChoice{border:1px solid var(--line)}.placeChoice .placeFacts{font-size:12px;color:#527260}.placeChoice.unavailable{opacity:.7}.placeChoice[aria-pressed=true]{opacity:1}.mapDetail .routeMeta{margin:3px 0 2px}.mapActionRow{display:flex;gap:6px}.mapActionRow #mapTravel{flex:1;min-width:0}.mapActionRow #mapRouteFit{flex:none}
.mapLayout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,330px);gap:12px;align-items:start}.mapCanvas{padding:8px;overflow:hidden}.mapViewport{position:relative;overflow:hidden;border-radius:11px;background:#e5dbc5}.mapViewport svg{display:block;width:100%;aspect-ratio:4/3;touch-action:none;cursor:grab;user-select:none}.mapViewport svg.dragging{cursor:grabbing}.mapViewport image{pointer-events:none}.mapRoute{fill:none;stroke:#245b88;stroke-width:18;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 3px #fff9e6);pointer-events:none}.mapRoute.active{stroke:#713921;stroke-width:14}.mapRouteArrow{fill:none;stroke:#fff6df;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.mapPlaceLabel{font-family:"Microsoft YaHei","Noto Serif CJK SC",serif;text-anchor:middle;fill:#342c21;stroke:#f8eed2;stroke-width:4;stroke-linejoin:round;paint-order:stroke;pointer-events:none}.mapPlaceLabel.matched{fill:#813044;stroke:#fff8e5;stroke-width:5;font-weight:700}.mapPlaceLabel.dimmed{opacity:.58}.mapMarker{cursor:pointer;outline:none}.mapMarker .hit{fill:transparent}.mapMarker .halo{fill:#fff9e7d9;stroke:#ae3c51;stroke-width:8;filter:drop-shadow(0 2px 6px #2816249e);pointer-events:none}.mapMarker .dot{fill:#185b40;stroke:#fff9dc;stroke-width:5;filter:drop-shadow(0 2px 4px #253420a8)}.mapMarker.matched .dot{fill:#903047}.mapMarker.dimmed:not(.current):not(.selected) .dot{opacity:.34}.mapMarker.current .dot{fill:#ba742e}.mapMarker.selected .dot{fill:#f1cc79;stroke:#174f39;stroke-width:7}.mapMarker:focus-visible .hit{fill:#f4d07655;stroke:#175d3a;stroke-width:5}.mapToolsDetails{margin-top:4px}.mapToolsDetails>summary{display:none}.mapToolsDetails>.mapTools{margin-top:0}.mapTools{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:8px 4px 2px}.mapTools button{min-height:34px;padding:5px 9px}.mapTools .small{margin-right:auto}.mapZoomControl{display:flex;align-items:center;gap:7px;flex:1 1 150px;max-width:210px;min-height:34px;white-space:nowrap;font-size:12px;color:var(--muted)}.mapZoomControl input{width:100%;min-width:72px;padding:0;border:0;background:transparent;accent-color:#206342;cursor:pointer}.mapHighlights{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:8px 4px 2px;border-top:1px solid var(--line)}.mapHighlights .small{margin-right:4px}.mapHighlights button{min-height:32px;padding:4px 9px;border-radius:999px}.mapHighlights button span{font-size:11px;opacity:.75}.mapSearch{display:grid;gap:12px}.mapSearch .placeList{max-height:340px}.mapSearch .filters{margin:2px 0}.mapSearch label{font-size:13px}.marketControls{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:7px}.marketList{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:8px}.marketItem{display:grid;align-content:start;gap:5px;text-align:left;background:#fafbf7;border-color:var(--line)}.marketItem strong{font-size:16px}.marketItem span{color:var(--muted);font-size:12px;font-weight:400}.marketItem em{font-style:normal;color:var(--green);font-size:16px}.marketItem[aria-pressed=true]{background:#ecf5eb;border-color:#5d966b}.marketPager{display:flex;align-items:center;justify-content:space-between;gap:8px}.marketBuy{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}.marketBuy.owned{grid-template-columns:minmax(0,1fr)}.marketBuy input{max-width:110px}.sectHero{display:grid;gap:6px;background:linear-gradient(115deg,#193f30,#356c4d);color:#f5f6e9}.sectHero h2,.sectHero .eyebrow,.sectFacts strong{color:#f8e1a3}.sectHero h2{margin:0}.sectHero .small{color:#d5e6d6}.sectFacts{display:flex;flex-wrap:wrap;gap:4px 12px}.sectFacts span,.sectFacts strong{padding:0}.sectHero .quick{gap:6px}.sectHero .quick button{min-height:34px;padding:6px 10px}.mapHighlights button[aria-pressed=true]{color:#fff;background:#903047;border-color:#903047}
.mapImageStatus{position:absolute;z-index:1;top:8px;left:8px;right:8px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px 8px;min-height:32px;padding:4px 8px;border:1px solid #d5c8ad;border-radius:8px;background:#fbf7edee;color:#4e5947;font-size:12px;text-align:center;box-shadow:0 3px 10px #302c2122;pointer-events:none}.mapImageStatus[hidden]{display:none}.mapImageStatus button{min-height:28px;padding:3px 8px;pointer-events:auto}
.mapTraveler{fill:#d58b37;stroke:#fff8db;stroke-width:7;filter:drop-shadow(0 2px 5px #342b1ea8);pointer-events:none}
#mapFlight{margin-top:8px}#mapFly{width:100%}#mapFlyHint{margin:6px 0 0}
.routeSettings{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:8px}.routeSettings input{width:100%}.savedRoute{margin-top:10px}.savedRoute h4{margin:0}
#routeStopEditor{margin:12px 0}#routeStopList{margin:8px 0}#routeStopStatus{margin:8px 0}
#socialTeam{display:grid;gap:6px;padding-bottom:12px;border-bottom:1px solid var(--line)}#socialTeam h4{margin:0;color:var(--ink);font-size:15px}#socialTeam button{justify-self:start}
.destinationOpportunities{display:grid;gap:0;margin-top:10px;padding-top:2px;border-top:1px solid var(--line)}.destinationOpportunities[hidden]{display:none}.destinationOpportunity{display:grid;gap:5px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:#f8faf6}.mapDetail .destinationOpportunity{padding:10px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:none}.mapDetail .destinationOpportunity:last-child{border-bottom:0}.destinationOpportunity strong{font-size:14px}.destinationOpportunity .small{margin:0}.arrivalControls{display:flex;gap:6px;flex-wrap:wrap;align-items:end}.arrivalControls label{min-width:65px;flex:1 1 65px;font-size:12px}.arrivalControls input,.arrivalControls select{width:100%;min-height:36px;padding:5px 7px}.destinationOpportunity button{justify-self:start;min-height:36px;padding:6px 10px}
.mapPointTip:not([hidden]){position:absolute;z-index:2;display:grid;gap:3px;width:min(260px,calc(100% - 16px));padding:9px 11px;border:1px solid #cbbd9b;border-radius:10px;background:#fffdf5f5;box-shadow:0 10px 24px #2d271b33;pointer-events:none;font-size:12px;line-height:1.45}.mapPointTip strong{color:#203c30;font-size:15px}.mapPointTip .small{font-size:11px}.mapPointTip .feature{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.activityFocus{border-color:#b9cfba;background:#f4f8f0;display:grid;gap:4px}.activityFocus strong{font-size:19px;color:var(--ink)}.activityFocus p{color:var(--muted);font-size:14px}.activityCard.active{box-shadow:0 10px 26px #27684514}.activityCard:not(.active):not([open]){background:#fcfcf9}
#activityCards[inert],#shopPanel .shopPanel[inert],#savedRoutesPanel[inert],#overviewPanel > [inert],#inventoryPanel [inert],#mailPanel > [inert],#sectPanel > [inert],#marketSelectedActions[inert],#tradeList[inert],#tradeDetail[inert],#socialNearby[inert],#socialTeam[inert],#companionInvites[inert],#companionRecords[inert],#dummyResultHost[inert],#dummyManage .dummyManageTools[inert],#dummyConfigure[inert],#dummyCreateDetails[inert],#myChannels[inert],#publicChannels[inert],#channelCreateOpen[inert]{opacity:.58}
#activityPanel .activityCards{display:block}#activityPanel .activityCard{padding:0;border:0;box-shadow:none;background:transparent}#activityPanel .activityCard:not([open]),#activityPanel .activityBrief{display:none}#activityPanel .activityCard summary::after{display:none}#activityPanel .activityCard summary{gap:2px;cursor:default;pointer-events:none}
#shopPanel .shopPanel{box-shadow:none}#shopPanel>details{padding:14px}#shopPanel>details:not([open]){min-height:0}#shopPanel[data-section=buy]>details,#shopPanel[data-section=trade]>.shopPanel,#shopPanel[data-section=trade]>#savedRoutesPanel,#shopPanel[data-section=routes]>.shopPanel,#shopPanel[data-section=routes]>#tradeMarkets,#shopPanel[data-section=ledger]>.shopPanel,#shopPanel[data-section=ledger]>details{display:none}#shopPanel [data-shop-section][aria-pressed=true]{color:white;background:var(--green);border-color:var(--green)}#shopPanel:not([data-section=ledger])>#cargoLedgerPanel{display:none}.mapLocalActions{margin-top:8px;padding-top:8px;border-top:1px solid var(--line);gap:6px}.mapLocalActions button{min-height:32px;padding:5px 9px}
#cargoLedgerPanel{gap:6px}#cargoLedgerRows .ledgerGain{color:#28734a;font-weight:700}#cargoLedgerRows .ledgerLoss{color:#9b4430;font-weight:700}
@media(max-width:560px){#mapStatusBar{padding:12px}.mapCargoGuide .quick{grid-template-columns:minmax(0,1fr)}}
.inventoryWorkbench{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:12px;align-items:start}.inventoryWorkbench>*{min-width:0}.inventoryEquipment{gap:10px}.inventoryGearHeader{display:flex;align-items:end;justify-content:space-between;flex-wrap:wrap;gap:7px;border-top:1px solid var(--line);padding-top:10px}.inventoryGearHeader h4{margin:0;font-size:16px}.inventorySearch{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px}.inventoryGearHeader .inventorySearch{white-space:nowrap}.inventorySearch input{min-height:34px;width:min(190px,100%)}.inventoryItems>.inventorySearch{align-self:start}.inventoryTools{margin:0}.inventoryTools button{min-height:36px}.wornGear{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.wornSlot{display:grid;align-content:start;gap:2px;min-width:0;min-height:74px;padding:8px;text-align:left;background:#f5f8f2}.wornSlot strong{font-size:12px}.wornSlot span{font-size:13px;line-height:1.3;overflow-wrap:anywhere}.wornSlot small{color:var(--muted);font-size:11px}.inventoryGearTable{min-width:0}.inventoryGearTable td:first-child button{border:0;padding:0;min-height:28px;text-align:left;background:transparent;color:var(--green)}.inventoryGearTable td:first-child button:hover{text-decoration:underline}.inventoryGroup{margin:12px 0 2px;color:var(--ink);font-size:15px}.inventoryGroup:first-child{margin-top:0}.itemGroup>summary{padding:9px 0}
.itemGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr));gap:6px;margin-top:7px}.itemTile{display:flex;align-items:center;justify-content:space-between;gap:5px;min-width:0;min-height:40px;padding:7px 9px;text-align:left;font-size:13px;background:#f8faf6}.itemTile span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.itemTile span:last-child{flex:none;color:var(--muted);font-size:12px}.itemTile:hover,.itemTile:focus-visible{border-color:#84a98b;background:#f0f6ed}
.itemTile[data-rarity=rare]{border-color:#c9b9d5;background:#fbf8fd}.itemTile[data-rarity=legendary]{border-color:#dfc397;background:#fffaf0}
.forgeFields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.forgeFields label{min-width:0}.forgeFields select{width:100%}.forgeExtras[hidden]{display:none}#forgeInfo{min-height:1.5em}
.skillHeader{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 18px}
.skillHeader>div:first-child{display:grid;gap:2px}.skillHeader h3{font-size:20px}
.skillTopActions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px 12px}
.skillTopActions button{min-height:34px;padding:6px 11px}.skillTopActions .small{white-space:nowrap}
.skillQihai{display:inline-flex;align-items:center;flex-wrap:wrap;gap:2px 5px}.skillQihai #skillResource{white-space:normal}.skillQihai button{min-height:30px;padding:2px 5px}
#skillsPanel{gap:12px}.skillCurrent{display:flex;flex-wrap:wrap;gap:6px}.skillCurrent span{padding:5px 9px;border:1px solid var(--line);border-radius:8px;background:#f8faf6;font-size:13px}.skillGrid{display:flex;flex-wrap:wrap;gap:7px}.skillSlotBox{position:relative;flex:1 1 155px;min-width:0;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.skillSlot{width:100%;display:grid;gap:0;text-align:left;min-height:64px;padding:7px 42px 7px 10px;background:#fafbf8;border-color:var(--line)}
.skillSlot strong{font-size:15px;line-height:1.3}.skillSlot .small{font-size:11px;font-weight:500}
.skillSlot.selected{border-color:#5d966b;background:#e7f3e7}.skillSlot.dropTarget{border-color:#237b4e;background:#d9eedb;box-shadow:0 0 0 3px #67ac7345}
.skillClear{position:absolute;right:1px;top:10px;min-width:44px;min-height:44px;padding:0;border:0;background:transparent;font-size:18px;line-height:1}
.skillClearSelected{display:none}
.skillLibrary{border-top:1px solid var(--line);padding-top:11px;display:grid;gap:7px}.skillLibrary h4{margin:0;font-size:14px;font-weight:650;color:var(--muted)}
.skillLibraryHeader{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px}.skillFilters{display:flex;flex-wrap:wrap;gap:4px}.skillFilters button{min-height:32px;padding:5px 8px;font-size:11px}
.skillList{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));align-items:start;gap:7px}.skillEmpty{grid-column:1/-1}.skillEmpty p{flex-basis:100%}.skillEntry{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 8px;padding:5px 7px;border:1px solid var(--line);border-radius:12px;background:#fafbf8;cursor:grab;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.skillEntry.dragging{opacity:.55;cursor:grabbing}.skillPick{display:grid;gap:2px;text-align:left;min-height:43px;padding:3px 4px;align-content:center;border:0;background:transparent;cursor:grab}
.skillTitle{display:flex;align-items:center;flex-wrap:wrap;gap:3px 5px}.skillType{padding:1px 4px;border:1px solid var(--line);border-radius:5px;color:#527260;background:#f1f6ef;font-size:10px;font-weight:650;line-height:1.35}
.skillPick strong{font-size:14px}.skillPick .small{font-weight:500}.skillPick[aria-pressed=true]{background:#e4f1e5}
.skillDescription{grid-column:1/-1;margin:2px 4px 1px;padding-top:5px;border-top:1px solid var(--line);color:var(--muted);user-select:text;-webkit-user-select:text}
.skillTrain{display:flex;align-items:center;gap:7px}.skillTrain .small{font-size:11px;white-space:nowrap}.skillTrain button{min-height:31px;padding:4px 9px}
.skillReason{grid-column:1/-1;color:#8c5120;font-size:11px;padding-left:4px}
.skillGhost{position:fixed;z-index:30;pointer-events:none;max-width:min(320px,80vw);box-shadow:0 14px 32px #1c3d2c40;cursor:grabbing}
.loadouts{border-top:1px solid var(--line);padding-top:11px}.loadouts>summary{padding:2px 0;font-size:13px;font-weight:600}.loadouts form{margin:14px 0}.loadouts .listrow{padding:11px 0}.skillPresetEntry{display:inline-flex;align-items:center;gap:2px}.skillPresetEntry .statAction{padding:2px 8px}#skillPresetSaveDetails{margin-top:8px}#skillPresetSaveDetails>summary{font-size:12px}
.gearEnhance,.gearManage{border-top:1px solid var(--line);padding-top:7px}.gearEnhance>summary,.gearManage>summary{font-size:13px;font-weight:650;color:var(--green)}.gearEnhanceBody{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:8px;margin-top:9px}.gearEnhanceSection{display:grid;align-content:start;gap:7px;min-width:0;padding:10px;border:1px solid var(--line);border-radius:10px;background:#f8faf6}.gearEnhanceSection h4{margin:0;font-size:14px}.gearEnhanceSection p{margin:0}.gearEnhanceSection select{width:100%}.gearManageBody{display:grid;gap:8px;margin-top:9px}.gearManageBody label{max-width:240px}.gearManageBody input{max-width:160px}.gearManageBody .small{margin:0}
#gearOperationBody>.gearEnhance,#gearOperationBody>.gearManage{padding-top:9px}
#gearContextMenu{position:fixed;inset:auto;margin:0;width:210px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow-y:auto;padding:8px;border:1px solid var(--line);border-radius:11px;background:var(--paper);box-shadow:0 8px 30px #10251a33}#gearContextMenu:popover-open{display:grid;gap:4px}#gearContextMenu button{text-align:left;white-space:normal;overflow-wrap:anywhere}#gearContextMenu p{margin:0 0 4px;overflow-wrap:anywhere}
.gearProperties{display:grid;gap:9px;padding:12px;border:1px solid #b9d0bb;border-radius:11px;background:#f4f8f2}.gearProperties .quick{margin:0}.gearPropertyGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.gearProperty{padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:var(--paper)}.gearProperty h4{margin:0 0 6px;font-size:13px}.gearStatGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 8px;margin:0}.gearStatGrid div{display:flex;justify-content:space-between;gap:5px;font-size:12px}.gearStatGrid dt{color:var(--muted)}.gearStatGrid dd{margin:0;font-weight:700;color:var(--ink)}.sectCreateBlockers{margin:8px 0 0;padding-left:20px;color:#8c5120;font-size:14px}
.tradeMarketControls{display:flex;align-items:end;flex-wrap:wrap;gap:8px;margin:12px 0}.tradeMarketControls label{flex:1 1 180px}.tradeMarketControls select{width:100%}.tradeMarketDetail{display:grid;gap:10px}.tradeMarketSummary{display:flex;flex-wrap:wrap;gap:4px 16px;color:var(--muted);font-size:13px}.tradeMarketSummary strong{color:var(--ink)}.tradeMarketFacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tradeMarketFacts div{border:1px solid var(--line);border-radius:10px;background:#f7faf5;padding:9px 11px}.tradeMarketFacts strong{display:block;color:var(--ink)}.tradeMarketFacts span{font-size:12px;color:var(--muted)}.tradeMarketDetail h4{margin:0;font-size:15px}
.tradeMarketEvents{display:grid;gap:4px;padding:7px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px}.tradeMarketEvents[hidden]{display:none}.tradeMarketEvents strong{color:var(--ink)}.tradeMarketEvent{display:flex;flex-wrap:wrap;gap:4px 10px}.tradeMarketEvent .up{color:#28734a}.tradeMarketEvent .down{color:#9b4430}
@media(max-width:560px){.gearPropertyGrid,.tradeMarketFacts{grid-template-columns:minmax(0,1fr)}}
.tradeCards{display:flex;flex-wrap:wrap;gap:7px}.tradeCards button{text-align:left}.tradeCards button[aria-pressed=true]{background:#e7f2e7;border-color:#4e8960}.tradeParties{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tradeParty{padding:10px;border:1px solid var(--line);border-radius:10px;background:#f8faf6}.tradeParty p{margin-top:5px}.tradeOfferForm{display:grid;gap:10px;max-width:760px;border-top:1px solid var(--line);padding-top:12px}.tradeOfferForm>button.primary{justify-self:start}.tradeAdd{display:grid;grid-template-columns:minmax(0,1fr) 110px auto;gap:7px;align-items:end}.tradeAdd input{width:100%}.tradeDraft{display:flex;flex-wrap:wrap;gap:6px}.tradeDraft button{min-height:32px;padding:4px 9px}
.battleToolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:7px}.battleToolbar .filters,.battleToolbar>.quick{gap:5px}.battleToolbar .filters button{min-height:38px}.battleToolbar .badge{margin-left:3px}#combatPanel{max-width:860px}.combatBlock{display:grid;gap:9px}.combatBlock h4{margin:0;color:var(--ink);font-size:16px}.combatBlock .small{margin:0}.combatBlock label{font-size:13px}.combatBlock details{padding:5px 0}.combatBlock details>summary{font-weight:650;color:var(--green)}.combatSetup{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0}.combatSetup input{width:100%;max-width:none}.combatBlock .quick{gap:6px}.combatBlock .badge{justify-self:start}#medicineDialog .combatSetup{margin-bottom:0}#battleHistoryPanel>.quick{margin-top:10px}#battleHistoryList>.hint{padding:12px}
@media(max-width:560px){#battleTabs{width:100%;flex-wrap:wrap}#battleTabs button{flex:none}}
.teamBattleMembers{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:7px}.teamBattleMember{display:grid;gap:2px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:#f8faf6}.teamBattleMember .small{font-size:12px}.teamBattleMember.ready{border-color:#a9c9aa;background:#f1f8ef}.teamBattleMember.blocked{border-color:#dbbfa3;background:#fff8ef}
.siegeReadout{display:flex;flex-wrap:wrap;gap:6px}.siegeReadout span{padding:5px 9px;border:1px solid var(--line);border-radius:8px;background:#f5f8f2;font-size:12px}.siegeManual{display:grid;gap:9px;padding:8px 0}.siegeManual input{max-width:130px}
@media(max-width:560px){.tradeParties{grid-template-columns:minmax(0,1fr)}.tradeAdd{grid-template-columns:minmax(0,1fr) 90px}.tradeAdd button{grid-column:1/-1}.tradeOfferForm>button.primary{justify-self:stretch}}
@media(max-width:560px){.skillTopActions{justify-content:flex-start}.skillGrid .skillSlotBox{flex-basis:calc(50% - 4px)}.skillHeader{align-items:flex-start}}

.mailTools{padding:0;border:0;box-shadow:none;background:transparent}.mailTools button{min-height:34px;padding:6px 10px}.mailSection{margin:6px 0 4px;font-size:17px}.mailSection:not(:first-child){border-top:1px solid var(--line);padding-top:20px;margin-top:16px}.mailLetter.unread{border-left:3px solid #6a9a71;padding-left:12px}.mailLetter .small{font-size:12px}.quietTools{background:#fafbf7}.quietTools>summary{font-size:14px}.quietTools .hint{margin:10px 0}.quietTools form{margin-top:14px}
.mailPreviewFacts{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:6px 12px;margin:0}.mailPreviewFacts dt{color:var(--muted)}.mailPreviewFacts dd{margin:0;font-weight:600;overflow-wrap:anywhere}
#channelSettings{width:min(520px,calc(100% - 24px));max-width:none;max-height:86dvh;overflow:auto;box-shadow:0 24px 80px #12271c73}#channelSettings[open]{display:grid;gap:14px}#channelSettings::backdrop{background:#10251abb;backdrop-filter:blur(3px)}#channelSettings form+form{padding-top:14px;border-top:1px solid var(--line)}#channelSettingsStatus:empty{display:none}
#channelRoom{width:min(100%,900px)}.roomHeading{padding-bottom:12px;border-bottom:1px solid var(--line)}.roomHeading h2{margin:2px 0}.roomHeading .eyebrow{color:#51785b}.catalog{display:grid;gap:7px;max-height:520px;overflow-y:auto}.catalogChoice{width:100%;text-align:left;display:grid;gap:3px;padding:11px 13px;min-height:0;background:#fffefa;border-color:var(--line)}.catalogChoice strong{font-size:15px}.catalogChoice span{font-size:12px;color:var(--muted);font-weight:400}.catalogChoice[aria-pressed=true]{background:#edf5e9;border-color:#5e9169;box-shadow:inset 3px 0 var(--green)}.shopGrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.65fr);gap:16px;align-items:start}.shopPurchase{position:sticky;top:14px;gap:9px;border-left:1px solid var(--line);padding:3px 0 3px 16px}.shopPurchase strong{font-size:17px}.shopPanel>div.quick{margin-top:6px}.shopPanel .panelHeader{margin-bottom:4px}
@media(max-width:980px){.overviewCards{grid-template-columns:minmax(0,1fr)}.overviewCards>.profilePanel,.overviewCards>.quickFacts{grid-column:1}.shopGrid,.mapLayout{grid-template-columns:minmax(0,1fr)}.shopPurchase{position:static;border-left:0;border-top:1px solid var(--line);padding:12px 0 0}.mapDetail{position:static}.mapToolsDetails>summary{display:block;padding:8px 5px 4px;font-size:13px}}
@media(max-width:900px){main{padding:12px 14px 28px}#game{grid-template-columns:minmax(0,1fr)}#game>.roleBanner,#game>.tabbar,#game>section[id$=Panel]{grid-column:1;grid-row:auto}.tabbar{position:static;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.tabbar button{text-align:center;padding:9px 4px;font-size:13px}.hero{grid-template-columns:minmax(0,1fr)}.heroActions{justify-content:flex-start;max-width:none}.profileGrid{grid-template-columns:minmax(0,1fr)}.profileSection:nth-child(2){order:-1;border:0;padding:0}.profileSection:first-child{border-top:1px solid var(--line);padding-top:12px}.mapDetail{position:static}.mapGrid,.activityCards{grid-template-columns:minmax(0,1fr)}.growthSteps{grid-template-columns:repeat(2,minmax(0,1fr))}.placeList{max-height:360px}}
@media(max-width:560px){main{padding:9px 10px 24px;gap:9px}.siteHeader{gap:9px}.card{padding:16px}.brandMark{width:36px;height:36px;flex-basis:36px;font-size:19px}h1{font-size:22px}h2{font-size:21px}.sectionIntro h2{font-size:25px}.roleBanner{padding:10px 12px}.roleBanner h2{font-size:18px}.roleBanner button{min-height:34px;padding:5px 8px}.hero{padding:12px}.hero h2{font-size:23px}.tabbar{padding:5px;grid-template-columns:repeat(4,minmax(0,1fr))}.panels,.battleGrid,.forgeFields{grid-template-columns:minmax(0,1fr)}.growthSteps{grid-template-columns:minmax(0,1fr)}.vitalsGrid{grid-template-columns:minmax(0,1fr)}.vitalCell{grid-template-columns:auto 1fr;align-items:center}.vitalCell progress{grid-column:1/-1}.statGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.quickFacts{grid-template-columns:repeat(3,minmax(0,1fr))}.quickFact strong{font-size:13px}.shopGrid{grid-template-columns:minmax(0,1fr)}.marketControls{grid-template-columns:minmax(0,1fr) 120px}.catalog{max-height:400px}article.player{margin-left:5%}article.reply{margin-right:0}#confirmDialog,#gameNotice{padding:18px}}
@media(max-width:350px){.tabbar{grid-template-columns:repeat(4,minmax(0,1fr))}.tabbar button{padding:8px 2px;font-size:12px;text-align:center}.skillOverviewList,.skillEntry{grid-template-columns:minmax(0,1fr)}.skillTrain{justify-content:flex-start}.skillPick{min-height:0}.hero h2{font-size:24px}}
@media(max-width:560px){#medicinePanel .combatSetup{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){button{transition:none}*,*::before,*::after{scroll-behavior:auto!important}}
.sectMemberMore>summary{font-size:13px;font-weight:500;color:var(--muted)}
.dataTableWrap{width:fit-content;max-width:100%;border:1px solid var(--line);border-radius:11px}.dataTable{width:auto;max-width:100%;table-layout:auto;border-collapse:collapse;font-size:13px}.dataTable th,.dataTable td{padding:10px 12px;text-align:left;vertical-align:middle;border-bottom:1px solid var(--line);white-space:normal;overflow-wrap:anywhere}.dataTable th{font-size:12px;color:var(--muted);background:#f4f7f1}.dataTable tr:last-child td{border-bottom:0}.dataTable tr[hidden]{display:none}.dataTable tbody tr:hover{background:#f6faf4}.dataTable td:first-child,.dataTable th:first-child{position:sticky;left:0;z-index:1;background:var(--paper)}.dataTable th:first-child{background:#f4f7f1}.dataTable .skillCell{min-width:0;max-width:none;white-space:normal;line-height:1.5}.dataTable .number{font-variant-numeric:tabular-nums}.dataTable button{min-height:32px;min-width:0;max-width:100%;padding:4px 6px;white-space:normal;overflow-wrap:anywhere}.dataTable input,.dataTable select{min-width:0;max-width:100%}.dataTable .tableSortButton{border:0;background:none;padding:0;text-align:left;color:inherit;font:inherit;font-weight:700}@media(max-width:560px){.dataTable th,.dataTable td{padding:8px 4px}}.tableHint{margin:0;color:var(--muted);font-size:12px}
.dataTable td:first-child button.tableNameButton{min-height:28px;padding:0;border:0;background:transparent;color:var(--ink);font-size:13px;font-weight:700;text-align:left;text-decoration:underline;text-decoration-color:#aac6ae;text-underline-offset:3px}.dataTable td:first-child button.tableNameButton:hover{color:var(--green)}
.dataTable th:first-child,.dataTable td:first-child{max-width:min(44vw,180px);white-space:normal;overflow-wrap:anywhere}.dataTable td:first-child .tableNameButton{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.nearbyTable th,.nearbyTable td{padding:8px 9px}.nearbyTable th:first-child,.nearbyTable td:first-child{min-width:100px;max-width:160px;white-space:normal}
#nearbyPlayerDialog,#teamMemberDialog{width:min(520px,calc(100% - 24px));max-width:none;max-height:86dvh;overflow:auto}#nearbyPlayerDialog[open],#teamMemberDialog[open]{display:grid;gap:14px}#nearbyPlayerDialog::backdrop,#teamMemberDialog::backdrop{background:#10251abb;backdrop-filter:blur(3px)}
.dataTable th button.tableSortButton{min-height:28px;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px}.tableSortButton::after{content:" ↕";color:var(--green)}.tableSortButton[data-order=price_asc]::after{content:" ↑"}.tableSortButton[data-order=price_desc]::after{content:" ↓"}
.battleHistoryTable th,.battleHistoryTable td{padding:8px 7px}.battleHistoryTable td:first-child,.battleHistoryTable th:first-child{min-width:130px;max-width:210px;white-space:normal}.battleRecordTarget{display:flex;align-items:center;gap:6px}.battleRecordTarget button{flex:1;white-space:normal;overflow-wrap:anywhere}.battleRecordTarget .battleResult{flex:none}@media(max-width:560px){.battleHistoryTable td:first-child,.battleHistoryTable th:first-child{max-width:160px}}
.tradeMarketDetail .dataTable tr.mine td{background:#edf6ec}
.buildBlock{color:#8b442d;font-weight:650}
.gearOverview>.loadoutChoice{width:100%;display:flex;align-items:center;gap:7px;min-height:42px;padding:7px 9px;text-align:left;font-size:13px;background:#f8faf6;border-color:var(--line)}.gearOverview>.loadoutChoice span:first-child{flex:none;font-size:11px;color:var(--muted)}.gearOverview>.loadoutChoice strong{flex:1}.gearOverview>.loadoutChoice span:last-child{font-size:11px;color:var(--green)}.skillOverviewList>.loadoutChoice{display:grid;gap:2px;min-height:44px;padding:6px 8px;text-align:left;font-size:12px;background:#f8faf6;border-color:var(--line)}.skillOverviewList>.loadoutChoice .small{font-size:11px}.loadoutChoice:hover{border-color:#76a184;background:#edf5eb}
@media(max-width:900px){.profileGrid .profileSection:first-child{border:0;padding:0}.profileGrid .profileSection:nth-child(2){order:0;border:0;border-top:1px solid var(--line);padding:12px 0 0}}
@media(max-width:560px){.profilePanel .skillOverviewList{grid-template-columns:repeat(2,minmax(0,1fr))}}
.sectSearch{display:flex;flex-wrap:wrap;gap:7px}.sectSearch input{flex:1 1 150px;min-width:0}
.sectDiscoveryTable th,.sectDiscoveryTable td{padding:7px 8px}
#sectDirectoryDialog{width:min(760px,calc(100% - 24px));max-width:none;max-height:86dvh;padding:22px;border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 80px #12271c73;color:var(--ink);background:var(--paper);overflow:auto}#sectDirectoryDialog[open]{display:grid;gap:14px}#sectDirectoryDialog::backdrop{background:#10251abb;backdrop-filter:blur(3px)}@media(max-width:560px){#sectDirectoryDialog{padding:16px}}
.sectMetrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:7px 0;border-block:1px solid #ffffff45}.sectMetrics dt{font-size:12px;color:#d5e6d6}.sectMetrics dd{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 5px;margin:0}.sectMetrics strong{color:#f8e1a3;font-size:21px;line-height:1.3;font-variant-numeric:tabular-nums}.sectMetrics .small{color:#d5e6d6}
.timedActivityProgress:not([hidden]){animation:timedProgressPulse 2.4s ease-in-out infinite alternate}.timedActivityProgress::-webkit-progress-value{background:linear-gradient(100deg,#2b7753,#67ad7d,#2b7753);background-size:200% 100%;animation:timedProgressFlow 2.4s linear infinite;transition:width .25s linear}.timedActivityProgress::-moz-progress-bar{background:linear-gradient(100deg,#2b7753,#67ad7d,#2b7753);background-size:200% 100%;animation:timedProgressFlow 2.4s linear infinite}@keyframes timedProgressFlow{to{background-position:200% 0}}@keyframes timedProgressPulse{to{filter:brightness(1.15)}}@media(prefers-reduced-motion:reduce){.timedActivityProgress:not([hidden]){animation:none}.timedActivityProgress::-webkit-progress-value{animation:none;transition:none}.timedActivityProgress::-moz-progress-bar{animation:none}}
.mapProductionStatus{display:grid;gap:5px;margin-top:9px;padding-top:9px;border-top:1px solid var(--line)}.mapProductionStatus .row{justify-content:flex-start;gap:5px 12px}.mapProductionStatus .small{font-variant-numeric:tabular-nums}.mapProductionStatus button{min-height:30px;padding:3px 9px}.mapProductionStatus progress{width:100%;height:8px}
@media(max-width:1150px){.inventoryWorkbench{grid-template-columns:minmax(0,1fr)}}
@media(max-width:390px){.inventorySearch{flex-wrap:wrap}.inventorySearch input{width:100%}.wornSlot{padding:6px;min-height:82px}}
.overviewCards{grid-template-columns:minmax(0,1fr)}.overviewStatusBoard{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:18px;align-items:start}.overviewStatusBoard>.vitalsPanel{display:grid;gap:9px;border-left:1px solid var(--line);padding-left:18px}.vitalsPanel .vitalsSummary{font-size:15px}.vitalsGrid{gap:0}.vitalCell{border:0;border-radius:0;background:transparent;padding:0 7px}.vitalCell+.vitalCell{border-left:1px solid var(--line)}.vitalCell strong{font-size:15px}.vitalsFooter{margin-top:0}.fatigueStatus{display:grid;gap:4px;padding-top:8px;border-top:1px solid var(--line)}.fatigueStatus .row{justify-content:flex-start;gap:5px 12px}.fatigueStatus progress{width:100%;height:8px;accent-color:#568b68}.fatigueStatus.warn progress{accent-color:#b18741}.fatigueStatus.danger progress{accent-color:#b35e47}
.inventoryWorkbench{grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr)}.skillCurrent{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.skillCurrent>span{display:flex;align-items:baseline;gap:3px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:5px 6px;font-size:12px}.skillCurrent strong{min-width:0;overflow:hidden;text-overflow:ellipsis}.skillCurrent small{flex:none;font-size:10px}#skillDialog{width:min(900px,calc(100% - 24px))}.skillGrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.skillSlotBox{min-width:0}.skillSlot{overflow:hidden}.skillSlot strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.skillSlotBox.dragging{opacity:.55}
#dummyManage[open]{gap:9px}#dummyManage p{margin:0}#dummyManage>.operationDialogHeader::before{content:"";position:absolute;bottom:100%;left:0;right:0;height:36px;background:var(--paper)}.dummyManageTools{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px}.dummyManageTools label{min-width:0}.dummyManageTools .statAction{min-height:38px;padding:5px 7px}#dummyConfigure{gap:14px;padding-top:9px;border-top:1px solid var(--line)}#dummyConfigure .combatSetup{margin:0}.dummySection{display:grid;gap:8px}.dummySection h3{font-size:15px}#dummyAttributeFields,.dummyAttributeGroup{display:grid;gap:8px}.dummyAttributeGroup h4{margin:0;font-size:13px;color:var(--green)}.dummyAttributeGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dummyAttributeGrid input{max-width:none}.dummySkillRow{display:grid;grid-template-columns:60px minmax(0,1fr) 86px;align-items:end;gap:8px;padding:8px 0;border-top:1px solid var(--line)}.dummySkillRow strong{align-self:center}.dummySkillRow input{max-width:none}.dummySaveBar{position:sticky;bottom:-16px;z-index:1;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 0 0;border-top:1px solid var(--line);background:var(--paper)}.dummySaveBar .small{flex:1 1 100%}#dummyCreateDetails{padding-top:9px;border-top:1px solid var(--line)}
@media(max-width:560px){#dummyCreateDetails .combatSetup{grid-template-columns:minmax(0,1fr)}.dummySkillRow{grid-template-columns:minmax(0,1fr) 90px}.dummySkillRow strong{grid-column:1/-1}}
@media(max-width:1150px){.inventoryWorkbench{grid-template-columns:minmax(0,1fr)}}
@media(max-width:1300px){.overviewStatusBoard{grid-template-columns:minmax(0,1fr)}.overviewStatusBoard>.vitalsPanel{border-left:0;border-top:1px solid var(--line);padding:12px 0 0}}
@media(max-width:620px){.skillCurrent{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;overflow:visible}.skillCurrent>span{display:grid;align-content:start;gap:1px;min-height:54px;padding:4px 3px;white-space:normal}.skillCurrent strong{font-size:12px;line-height:1.15;overflow-wrap:anywhere}.skillCurrent .skillLevel{display:none}.skillGrid{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;overflow:visible}.skillGrid .skillSlot{min-height:72px;padding:5px 3px}.skillGrid .skillSlot strong{font-size:12px;line-height:1.15;white-space:normal;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.skillGrid .skillSlot .small{font-size:11px}.skillGrid .skillClear{display:none}.skillClearSelected:not([hidden]){display:inline-flex;justify-self:start;min-height:40px}.vitalsGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.vitalCell strong{font-size:12px}.vitalCell{display:grid;grid-template-columns:1fr;padding:0 4px}.vitalCell progress{grid-column:1}.vitalCell:first-child{padding-left:0}}
@media(max-width:560px){#game button:not([hidden]),#account button:not([hidden]),#auth button:not([hidden]){min-height:40px}}
@media(max-width:350px){.quickFacts{grid-template-columns:repeat(2,minmax(0,1fr))}.quickFacts>.quickFact:first-child{grid-column:1/-1}}
