/* 全系统视觉主题：靛蓝军旗、暗红印记、旧金装饰与暖白纸面；红绿仅表达数据优劣。 */
:root{
  --ink:#283044;--accent:#863d49;--paper:#f1ede5;--muted:#6c6a72;--line:#ddd6c9;
  --gold:#a78349;--shadow:0 4px 16px #23283b08;
  --navy:#20263c;--navy-deep:#161b2d;--crimson:#863d49;--surface:#fffdf8;
  --tint:#f6f2eb;--soft-blue:#edf0f6;--positive:#287048;--negative:#a64046;
  --serif:Georgia,'Noto Serif SC','Source Han Serif SC','Songti SC','SimSun',serif;--nav-height:66px;
}
body{background-color:var(--paper);background-image:radial-gradient(ellipse at 50% 0,#fffaf0a8,transparent 850px),repeating-linear-gradient(0deg,#62533b03 0,#62533b03 1px,transparent 1px,transparent 4px);color:var(--ink);font-family:system-ui,'Microsoft YaHei',sans-serif;-webkit-font-smoothing:antialiased}
::selection{background:#e5d1ae;color:#20263c}
body>header{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(110deg,var(--navy-deep),#30364e 62%,#392837);border:0;border-bottom:3px solid var(--gold);color:#fcf7ec;min-height:106px;padding:22px max(4%,calc((100vw - 1420px)/2));box-shadow:0 3px 0 #20263c;display:flex;align-items:center;justify-content:space-between;gap:18px}
body>header:before{content:'';position:absolute;z-index:-1;inset:0;background:repeating-linear-gradient(120deg,transparent 0,transparent 72px,#d9bd8209 73px,#d9bd8209 74px,transparent 75px,transparent 150px)}
body>header:after{content:'';position:absolute;z-index:-1;right:17%;top:-72px;width:245px;height:245px;background:url('/crest.svg') center/contain no-repeat;opacity:.08;transform:rotate(15deg);pointer-events:none}
.brand{gap:17px}.brand-mark{display:block;width:48px;height:60px;border:0;border-radius:0;background:url('/crest.svg') center/contain no-repeat;font-size:0;flex:none}
.brand small,body>header small{color:#d4bd91;font-size:10px;letter-spacing:2.5px}
body>header h1{font:600 29px/1.35 var(--serif);letter-spacing:3px;color:#fff8e8;margin:3px 0}
.header-note{color:#d3ced4;font-size:11px;letter-spacing:1px}#count{color:#f2dfb5;font-size:12px;margin-bottom:4px}
body>header>a{color:#f2dfb5;border:1px solid #d8b77955;border-radius:3px;padding:7px 12px;text-decoration:none;font-size:11px;background:#ffffff05;white-space:nowrap}
body>header>a:hover{background:#ffffff12;border-color:#d8b779}
.secondary-brand{display:flex;align-items:center;gap:16px}.secondary-brand:before{content:'';background:url('/crest.svg') center/contain no-repeat;width:42px;height:54px;flex:none}
main{padding-top:0;padding-bottom:36px}
h2,h3,.profile-heading strong{font-family:var(--serif);color:var(--ink);font-weight:700}h2{letter-spacing:.6px}h3{letter-spacing:.3px}
.section-heading{margin:22px 0 18px}.section-heading h2{font-size:27px;letter-spacing:1px}.section-heading .eyebrow{font-size:10px;letter-spacing:2px;color:#8b6b43;margin-bottom:4px}.section-heading p{color:var(--muted)}
.section-heading h2:before{content:'';display:inline-block;width:4px;height:21px;margin-right:10px;background:var(--crimson);vertical-align:-2px}
nav{display:flex;align-items:center;position:sticky;top:0;z-index:10;overflow-x:auto;white-space:nowrap;border-bottom:1px solid #cfc5b4;background:#f1ede5f5;padding:12px 0;margin-bottom:20px;gap:4px;scrollbar-width:thin;scrollbar-color:#c0b5a2 transparent}
nav button,nav a{border:1px solid transparent;border-radius:3px;padding:9px 14px;font-size:12px;font-weight:600;line-height:1.7;color:#696573;transition:background .15s,color .15s,border-color .15s}
nav button:hover,nav a:hover{background:#e7e0d5;color:var(--ink);border-color:#d7cbb9}
nav button.active{background:var(--navy);color:#f8ead0;box-shadow:inset 0 -2px var(--gold),0 2px 6px #20263c15;border-color:var(--navy)}
nav a{color:#6f5360}nav a:first-of-type{margin-left:auto}
.nav-index{font:italic 10px Georgia,serif;color:#85715a;margin-right:7px}nav button.active .nav-index{color:#d6ba81}
.page-nav{margin-bottom:18px}.page-nav a,.page-nav a:first-of-type{margin-left:0}.page-nav a[aria-current=page]{background:var(--navy);color:#f8ead0;box-shadow:inset 0 -2px var(--gold)}
.reference-page .toolbar{top:var(--nav-height)}.reference-page #comboTitle{scroll-margin-top:82px}
button,input,select{border-color:#cfc7b9;border-radius:4px;color:var(--ink)}button{background:var(--surface);font-weight:550}button:hover{background:#f0e9dc;border-color:#b4a488}button:disabled{opacity:.55;cursor:default}
button.primary,button.active,.tabs button.active{background:var(--crimson);border-color:var(--crimson);color:#fff8f0;box-shadow:inset 0 1px #ffffff15,0 2px 6px #863d4914}
button.primary:hover{background:#6c2f3a;border-color:#6c2f3a}.quiet,button.quiet{color:var(--crimson)}button.quiet:hover{background:#f3e9e6}
input,select{background:#fffefb;border-color:#cfc7b9}input:hover,select:hover{border-color:#9b8d78}input:focus,select:focus{background:#fff;outline:2px solid #a78b5d;outline-offset:1px}
input[type=checkbox]{accent-color:var(--crimson)}select:disabled{background:#ece8e0;color:#79737a}
:is(button,a,input,select,summary):focus-visible{outline:2px solid #a17a39;outline-offset:3px}
label{color:#655f6b}a{color:var(--crimson)}.muted{color:var(--muted)}
.card,.data-group{background:var(--surface);border-color:var(--line);border-radius:6px;box-shadow:var(--shadow)}
.card{position:relative}.filters-card,.filters{background:#fbf8f1;border-color:#d6cdbd}.filter-options{border-color:var(--line)}
.overview-metrics{gap:12px}.metric{position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-top:2px solid #a48758;border-radius:4px;padding:12px 18px}
.metric:after{content:'';position:absolute;width:45px;height:45px;right:-20px;bottom:-20px;border:1px solid #ba9c6938;transform:rotate(45deg)}
.metric strong{font:600 29px/1.4 Georgia,serif;color:var(--navy)}.metric>span{color:#746756;letter-spacing:1px}.metric small{color:var(--muted)}
.character-heading{padding-bottom:13px;border-bottom:1px solid var(--line)}.character-heading h3{font:700 21px/1.4 var(--serif);letter-spacing:1px}.character-heading button{font-size:11px;border-color:#c9b795;background:#f8f1e4;color:#725b3d}
#list{gap:16px}#list .card{padding:17px}.coverage{color:#77717b;border-color:#d8d1c6;background:#f5f2eb;border-radius:2px}
.coverage.recorded{color:#815343;background:#f6e9e2;border-color:#dec2b4}.coverage.recorded.tone-1{color:#3e5d88;background:#eaf0f8;border-color:#c3d1e4}.coverage.recorded.tone-2{color:#77528b;background:#f0eaf5;border-color:#d7c6e2}.coverage.recorded.tone-3{color:#866a2f;background:#f8f1df;border-color:#e2d2a6}
.tablewrap{border-radius:4px;scrollbar-width:thin;scrollbar-color:#bfb4a1 #f1ece2}
th,td{border-bottom-color:#e9e1d4}thead th,th{background:#efe9de;color:#645c62;font-weight:550}
tbody tr:hover td{box-shadow:inset 0 0 0 999px #6a527404}
.line-columns tbody th,.compare-table th:first-child{background:#f4efe5;color:#6a6067}
.line-columns thead th:not(:first-child),.line-summary{border-top-color:#b47c67}.line-columns thead th.tone-1,.line-summary.tone-1{border-top-color:#8099bc}.line-columns thead th.tone-2,.line-summary.tone-2{border-top-color:#aa8bb9}.line-columns thead th.tone-3,.line-summary.tone-3{border-top-color:#c4a45d}
.line-meta{color:#716a75}.line-meta b{color:#4c5570}.line-actions button{background:#fffaf2;border-color:#d5c9b5;border-radius:3px;color:#6c5361}
.stat-value{font-family:Georgia,system-ui,serif;font-size:20px;line-height:1.4}.status-label{font-size:10px;letter-spacing:.2px}
.excellent{color:var(--positive);background:#e9f3e9}.insufficient{color:var(--negative);background:#faeae7}.neutral{color:#696670;background:#fcfaf5}.unknown{color:#776e69}.swatch.gray{background:#e4ded3}
.delta-badge{color:#615d68;background:#fffdf8;border-color:#d8d0c3;border-radius:3px}.delta-badge.equal{color:#716a74;background:#f0ece5}.delta-badge.unknown{color:#80766f;background:#f4f0e9}
.delta-badge.above{color:#24663f;background:#e5f0e3;border-color:#bcd3ba}.delta-badge.below{color:#a33d43;background:#f7e3de;border-color:#e6bdb3}
.count{color:#716044;background:#eee5d5;border-radius:3px}.notice{color:#745d39;background:#f8f0df;border-color:var(--gold);border-radius:0 4px 4px 0}.comparison-note{background:#e9e4d9;color:#68616c;border-radius:4px}
.grid label{background:var(--tint);border:1px solid #e5dccd;border-radius:4px}.grid input,.grid select{background:var(--surface)}
.route{background:#f6f1e8;border-color:#ded3c3;border-left-color:#ac8e5e;border-radius:4px}.route label{color:#6b626c}.route button{color:#994754}
.route-reference{background:#f1ece2;border-radius:4px;color:#6b626b}.route-reference b{color:#73533f}.route-assumptions,.calculation-details{border-color:var(--line);color:#6e636f}
.savebar{background:#fffaf1f5;border-color:#cdbf9f;border-radius:5px;box-shadow:0 5px 25px #26283b14}.edit-status{color:#615c68}.edit-status:before{background:#8c85a0}.edit-status.edited{color:#8a621f}.edit-status.edited:before{background:#b98e3e}.has-changes{box-shadow:0 0 0 3px #c4a66b38}
.form-steps{color:#6e6473}.step-number{color:#8d6644;border-color:#ccb995;background:#f7f0e3}
.forecast-stat{background:#fbf7ef;border-color:#ddd0ba;border-radius:4px;border-top:2px solid #a28bb0}.forecast-stat>span{color:#726174}.forecast-stat strong{color:var(--navy);font-size:29px}.forecast-stat small{color:#706975}.forecast-stat small.growth{color:#38674c;background:#e8f0df}
.forecast-placeholder{background:#faf6ef;border-color:#d2c3a8;border-radius:5px;color:#756e79}.forecast-placeholder>span,.empty-symbol{color:#b29769}.empty-state h3{font-family:var(--serif)}
.line-summary{background:var(--surface);border-color:var(--line);border-top-width:3px;border-radius:4px}
.fusion-plan{background:linear-gradient(120deg,#f6efe0,#fffdf8 65%,#f0edf5);border-color:#cbb58c;border-top:3px solid var(--gold)}
.fusion-heading h2{font:700 24px/1.4 var(--serif)}.fusion-heading .eyebrow{color:#886940}
.fusion-stat{background:#fffdf8;border-color:#dfd3bd;border-radius:4px;padding:10px}.fusion-stat>span{color:#75644e}.fusion-stat strong{color:var(--navy)}.fusion-stat small{color:#716a74}.fusion-stat .fusion-provider{color:#77576a}.fusion-baseline{color:#766b70;border-color:#ded2bc}
.source-tag{color:#5d5c78;background:#edeaf3;border-radius:3px}.source-tag.reference-start{color:#87632c;background:#f3e7cc}.profile-traits .source-tag{color:#806b49;background:transparent}
.planning-line-heading h3{font-family:var(--serif);font-size:20px}.plan-option{background:#fbf7f0;border-color:#ded3c0;border-radius:4px}.plan-option h4,.planning-line .plan-option h4{color:#7b4050}.planner-route{color:#655f75}.plan-metrics{color:#756c77}.plan-metrics b{color:#4b526d}.benefit-label{color:#7b6858}.plan-calculation{border-color:var(--line);color:#6b626e}.more-plans{color:#726176}
.plan-gain.equal,.plan-effects .equal{color:#716975;background:#eee9df}.plan-gain.above,.plan-effects .above{color:#286747;background:#e6efdf}.plan-effects .below{color:#a23f45;background:#f6e2dc}
.character-profile{border-top:3px solid var(--crimson)}.profile-heading strong{letter-spacing:1px}.profile-growth>div{background:#f7f2e8;border-color:#e3d6c1;border-radius:4px;padding:10px}.profile-growth span{color:#78644f}.profile-growth strong{color:var(--navy);font-size:25px}.profile-affinities>div{background:#f3eee5;border-radius:4px}
.profile-skill{background:#fffaf2;border-color:#ddd0bc;border-radius:3px;color:#444459}.profile-skill:hover,.profile-skill:focus-visible{background:#f4ead9;border-color:#b99b6a}.profile-skill-rank{color:#815e2d;background:#eee2c9;border-radius:2px}.profile-skill-group h4{color:#7b4956}
.profile-skill-tooltip{background:#252a40;color:#fff8e8;border-color:#bfa16b;border-radius:5px;box-shadow:0 10px 35px #171c3340}.profile-skill-tooltip>span:last-child{color:#d7c8b5}
.character-search-results{background:var(--surface);border-color:#cbb893;border-radius:4px;box-shadow:0 6px 18px #23283b20}
.good{color:var(--positive)}.bad,#error{color:var(--negative)}
#message{background:#edf2e8;color:#315c3f;border-color:#c0ceb5;border-radius:4px;box-shadow:0 8px 34px #20263c25}#message.bad{background:#fae8e3;color:#9d3b41;border-color:#e1b5ad}
dialog{background:var(--surface);color:var(--ink);border-color:#bea778;border-radius:6px}dialog::backdrop{background:#161b2d88}pre{background:#f1ece2;color:var(--ink);border-radius:4px}
footer{color:#766b70;border-color:var(--line)}
.reference-block{background:#f7f2e8;border-color:#ddd0ba;border-radius:4px}.reference-detail,.trait,.job{border-color:var(--line)}.skill-card{background:var(--surface);border-color:#ddd0bb;border-radius:4px}.reference-block h3{font-family:var(--serif)}
/* 职业与坐骑速查继续使用紧凑分栏，颜色深浅只辅助读数。 */
.reference-page main{max-width:1640px;padding-top:0}.reference-page .toolbar{background:#f1ede5f5;border-color:#d4c8b4;padding:10px 0}.reference-page .card{padding:13px 15px}.reference-page .data-group{box-shadow:0 2px 8px #23283b06;border-top:2px solid #b39869}.reference-page .group-heading{border-bottom:1px solid #e8decb;margin-bottom:6px}.reference-page .group-heading h3{font:700 16px/1.5 var(--serif);color:#614453}
.reference-page .data-group[data-category="基础"]{border-top-color:#bdb3a2}.reference-page .data-group[data-category="初级"]{border-top-color:#aa8c63}.reference-page .data-group[data-category="中级"]{border-top-color:#7c8eaa}.reference-page .data-group[data-category="上级"]{border-top-color:#9e81a9}.reference-page .data-group[data-category="最上级"]{border-top-color:#a86674}.reference-page .data-group[data-category="神将"]{border-top-color:#b38c42}
.pick-row{background:#f2ede3;border-radius:4px}.pick-row b{color:#8b4552}.reference-page td:first-child{background:var(--surface)}.reference-page .row-name{background:#f5efe3;color:#5f4e60;white-space:normal}.reference-page .difference th,.reference-page .difference td{background:#f3eee5;border-top-color:#cdb78f}
.reference-page .positive{color:#287048;background:#eaf2e5}.reference-page .positive.strong{background:#deebd4;color:#265c38}.reference-page .negative{color:#a43c43;background:#fae8e3}.reference-page .zero{color:#786e68;font-weight:400}.reference-page .difference td.positive{background:#e0ecd6}.reference-page .difference td.negative{background:#f4ded6}
.reference-page .growth-table th.sorted{background:#e8ddc6;box-shadow:inset 0 -2px #a98346}.reference-page .name-button{color:#3d3d54}.reference-page .name-button:hover{color:#8c3e4b;background:#f0e6d5}.reference-page .name-button:after{color:#af9365}.reference-page .detail-cell{background:#f3ede1!important;color:#655d6d}.reference-page .detail-cell b{color:#76505b}.section-note{color:#776d71}.reference-page details.extra{color:#74666f}
@media(max-width:800px){body>header{padding:17px 20px;min-height:94px}.brand-mark{width:40px;height:50px}.brand{gap:12px}body>header h1{font-size:26px}.header-note{display:none}nav{padding:9px 0;gap:3px}nav button,nav a{padding:8px 10px;font-size:11px}.nav-index{margin-right:5px}.secondary-brand{gap:10px}.secondary-brand:before{width:33px;height:43px}.section-heading h2{font-size:24px}}
@media(max-width:800px){:root{--nav-height:57px}}
@media(max-width:480px){.reference-page .toolbar{position:static}}
@media(max-width:480px){body>header{padding:15px 16px;gap:8px}body>header h1{font-size:24px;letter-spacing:2px}body>header small{font-size:9px;letter-spacing:1px}body>header>a{font-size:10px;padding:5px 7px}.secondary-brand:before{width:28px;height:38px}.section-heading{gap:10px}.metric strong{font-size:26px}.character-heading h3{font-size:19px}.reference-page .card{padding:11px}.reference-page .group-heading h3{font-size:15px}.profile-growth strong{font-size:23px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* 本地角色头像与职业像素图：保留紧凑行高和原有数值对齐。 */
.entity-name{display:inline-flex;align-items:center;gap:6px;vertical-align:middle;max-width:100%;line-height:1.3}
.entity-icon{width:24px;height:24px;flex:none;object-fit:contain;vertical-align:middle}
.entity-icon.characters{width:30px;height:30px;object-fit:cover;border-radius:4px;border:1px solid #ccb992;background:#ece3d2}
.entity-icon.characters.large{width:48px;height:48px;border-radius:5px;box-shadow:0 2px 5px #24304d12}
.entity-icon.classes{image-rendering:pixelated}
.entity-icon[hidden]{display:none}
select.entity-select{background-repeat:no-repeat;background-position:7px center;background-size:22px 22px;padding-left:35px!important}
.character-heading h3,.member-heading h2,.profile-heading strong{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.profile-heading .eyebrow{display:block;margin-bottom:4px}
.line-meta .entity-icon.classes{width:20px;height:20px}
.reference-page .growth-table .entity-icon{width:22px;height:22px}
.reference-page .growth-table .entity-name{gap:3px}
.reference-page .growth-table th:first-child,.reference-page .growth-table td:first-child{width:112px}
.reference-page .growth-table .name-button:after{display:none}
.reference-page .name-button[aria-expanded=true]{box-shadow:inset 2px 0 var(--crimson)}
.reference-page .row-name>.entity-icon{margin-right:4px}
.member-pick strong{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
@media(max-width:480px){.entity-icon.characters.large{width:40px;height:40px}}
