/* Readability and responsive pass, based on the Mornye observation palette. */
:root{--ink:#29384e;--ink-soft:#596b83;--ink-faint:#718099;--ink-caption:#718099;--rail-w:188px;--detail-w:316px}
body{font-size:14px;background-image:none}
.topbar{height:76px;background:#f7f9fc}
.brand{width:218px;gap:12px;padding-left:25px}
.brand__text b{font-size:20px;letter-spacing:.12em}
.brand__text small{font-size:8px;letter-spacing:.05em}
.brand__mark{width:32px;height:36px}
.terminal__title{font-size:13px}.terminal__meta,.terminal__status{font-size:10px;letter-spacing:.06em}
.shell{max-width:1740px;margin:auto;padding:24px;gap:24px}
.rail__block{border:0;border-radius:0;background:transparent;padding:12px 0 22px}
.rail__block+.rail__block{border-top:1px solid var(--line);margin-top:0;padding-top:24px}
.eyebrow{font-size:10px;letter-spacing:.12em;color:var(--ink-soft)}
.mode-btn{height:48px;border-radius:3px;font-size:14px}
.mode-btn .mono{font-size:9px}
.hint{font-size:12px;line-height:1.8;color:var(--ink-soft)}
.rail-btn{height:42px;font-size:13px;border-radius:3px}
.kv{font-size:11px;gap:8px}.rail__block--foot{border-style:solid}
.ledger-intro{position:relative;padding:6px 0 10px;border-bottom:1px solid var(--line);margin-bottom:14px}
.ledger-intro .eyebrow{color:var(--orbit-deep);margin:0 0 12px}
.ledger-intro h1{margin:0;font-size:32px;font-weight:500;letter-spacing:.08em;line-height:1.4}
.ledger-intro p:last-child{font-size:12px;color:var(--ink-soft);margin:12px 0 0;line-height:1.8}
.ledger-intro::after{content:'＋';position:absolute;right:5px;top:8px;font-size:24px;font-weight:200;color:var(--gold)}
.controls{position:static;padding:14px 0;border:0;background:transparent;border-radius:0;gap:14px;grid-template-columns:minmax(160px,2fr) repeat(3,minmax(98px,1fr))}
.ctl--search{grid-column:span 2}.ctl--actions{grid-column:span 2;justify-content:flex-end}
.ctl label,.ctl__label{font-size:11px;color:var(--ink-soft);letter-spacing:.04em}
.ctl input,.ctl select{height:40px;font-size:13px;border-radius:4px;background:#fbfcfe}
.seg button{font-size:12px;min-height:40px}.seg{border-radius:4px}
.btn{font-size:12px;min-height:38px;border-radius:4px}
.result-count{font-size:11px;color:var(--ink-soft)}
.ledger-note{margin:0 0 14px;color:var(--ink-soft);font-size:11px;line-height:1.7}
.tablewrap{border-radius:5px;border-color:var(--line);box-shadow:none;overflow:hidden}
.records{table-layout:fixed;min-width:0;width:100%}
.records thead,.records th{position:static!important}
.records thead{background:#eef2f8}
.records th{font-size:10px;height:42px;padding:10px 8px;letter-spacing:.02em;color:var(--ink-soft)}
.records td{padding:13px 8px;vertical-align:middle}
.records .rid,.records th:nth-child(2),.col-id{display:none}
.col-rank{width:7%}.col-player{width:19%}.col-team{width:39%}.col-floor{width:9%}.col-value{width:13%}.col-src{width:7%}.col-fav{width:6%}
.records .rank{font-size:12px}.records .player{font-size:13px;font-weight:500;white-space:normal;overflow-wrap:anywhere}
.records td.team{display:table-cell}
.records .team .unit{display:flex;width:max-content;max-width:100%;margin:3px 0;gap:6px}
.unit .name{font-size:12px}.unit .iv{font-size:10px}.unit .glyph{width:5px;height:5px}
.records .floor{font-size:11px}.records .value{font-size:18px;font-weight:500;white-space:nowrap}
.records .value small{font-size:10px;display:block}.srcbadge{font-size:9px}.favbtn{font-size:14px;min-width:28px;min-height:30px}
.record-context{display:block;font-size:10px;font-weight:400;color:var(--ink-soft);margin-top:5px}
.detail{border-radius:5px;background:#f4f7fb;box-shadow:none}
.panel{padding:19px}.panel__head{flex-wrap:wrap}.panel__title{font-size:22px;letter-spacing:.03em;font-weight:500}
.stage{height:270px;background:#edf2fa;border:0;border-radius:2px}
.stage__lab{opacity:.08}.stage__ring{width:230px;height:230px;animation:none;opacity:.55}
.stage__avatar{width:205px;height:270px;right:0;opacity:.9;filter:saturate(.7);mask-image:linear-gradient(#000 70%,transparent 100%);-webkit-mask-image:linear-gradient(#000 70%,transparent 100%)}
.stage__cross{opacity:.35}.stage__coords{font-size:8px;z-index:2;max-width:120px;overflow-wrap:anywhere;bottom:14px;background:#f1f5fbe6;padding:6px}
.feature-list__label{font-size:10px;letter-spacing:.05em;line-height:1.8}
.feature-list button{padding:10px;border-radius:3px}.feature-list .fl__top{font-size:13px}.feature-list .fl__value{font-size:16px}.feature-list .fl__meta{font-size:10px;line-height:1.7;letter-spacing:0}
.dl{font-size:12px;gap:9px}.dl dt{font-size:10px}.dl dd .mono{font-size:11px}
.notice{font-size:11px;border-radius:3px;line-height:1.8}.chip{font-size:9px}
.unit-row .zh{font-size:14px}.unit-row .en{display:block;font-size:10px}.unit-row .wp{font-size:12px}.unit-row .wp small{display:none}.unit-row .iv{font-size:11px}
.actions .btn{font-size:12px}.status-line{font-size:11px;overflow-wrap:anywhere;letter-spacing:0;line-height:1.7}
.detail-close{display:none}
@media(min-width:1180px){.rail,.detail{top:100px;max-height:calc(100vh - 124px)}.shell{grid-template-columns:var(--rail-w) minmax(0,1fr) var(--detail-w)}}
@media(min-width:760px) and (max-width:1179px){.shell{grid-template-columns:160px minmax(0,1fr);gap:20px}.terminal__status{display:none}.detail{display:none}.detail.has-selection{display:block;position:fixed;z-index:40;right:18px;top:90px;bottom:18px;width:360px;overflow:auto;box-shadow:0 10px 70px #20365530}.detail-close{display:block;margin-bottom:15px}.ledger-intro h1{font-size:28px}}
@media(max-width:759px){
 .topbar{position:static;min-height:64px;padding:0 16px;align-items:center;flex-wrap:nowrap}.brand{padding:12px 0;width:auto}.brand__text b{font-size:18px}.brand__text small{font-size:7px}.terminal{padding:0;flex:1;justify-content:flex-end}.terminal__title,.terminal__meta{display:none}.terminal__status{font-size:9px;letter-spacing:0}.terminal__status i{width:5px;height:5px;margin-right:4px}
 .shell{padding:12px 16px;gap:16px}.rail{display:flex;gap:8px;align-items:stretch}.rail__block--source,.rail__block--foot{display:none}.rail__block--mode{display:flex;flex:1;gap:6px;padding:0;min-width:0}.rail__block--mode .eyebrow,.rail__block--mode .hint,.mode-btn .mono{display:none}.rail__block--saved{padding:0!important;margin:0!important;border:0!important}.rail__block--saved .hint,.rail__block--saved .eyebrow{display:none}.mode-btn{font-size:13px;height:42px;justify-content:center;padding:0 8px}.mode-btn+.mode-btn{margin:0}.rail-btn{height:42px;padding:0 9px;font-size:12px;gap:6px}
 .ledger-intro{padding:6px 0 10px;margin-bottom:10px}.ledger-intro h1{font-size:26px}
 .controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px 0}.ctl--search{grid-column:1/-1}.ctl--actions{grid-column:auto;display:flex;flex-wrap:wrap}.ctl input,.ctl select{font-size:13px;height:42px}.ctl label,.ctl__label{font-size:11px}.seg button{min-height:42px}.ledger-note{font-size:10px}
 .cards{padding:0}.card-rec{border-radius:0;padding:16px 13px;border-bottom:1px solid var(--line);margin:0;gap:12px}.card-rec__player{font-size:14px}.card-rec__value{font-size:22px}.card-rec__meta{font-size:10px;color:var(--ink-soft);letter-spacing:0;line-height:1.7}.card-rec .team{display:flex;flex-wrap:wrap;gap:6px 12px}.card-rec .unit{margin:0}.card-rec .unit .name{font-size:11px}
 .detail{display:none}.detail.has-selection{display:block;position:fixed;inset:14px 12px;z-index:50;overflow:auto;background:#f7f9fc;box-shadow:0 0 0 100vmax #253b5766}.detail-close{display:block;min-height:40px;margin-bottom:16px}.stage{height:230px}.stage__avatar{height:230px;width:180px}.panel{padding:18px}.empty{padding:38px 18px}
}

#tier-seg{display:flex;flex-wrap:wrap;gap:4px} #tier-seg button{flex:0 0 auto} #tier-seg + small{display:block;max-width:480px;margin-top:8px;line-height:1.6;color:#536078}

#tier-more[hidden]{display:none!important}
#tier-more{display:flex;flex-wrap:wrap;gap:6px;border:0;background:#eef2f8;padding:10px;border-radius:5px}
#tier-more button{flex:0 0 auto;min-width:48px;padding:0 12px;height:40px;font:12px var(--sans);border:1px solid #dfe5ef;border-radius:4px;background:#f7f9fc}
#tier-more button[aria-pressed="true"]{background:#6f84bd;color:white;border-color:#6f84bd}
/* Layout revision: horizontal navigation, full-width chain filters, quiet evidence. */
.topbar{height:64px}
.shell{max-width:1480px;padding:24px 32px 48px;grid-template-columns:minmax(0,1fr);grid-template-areas:"rail" "ledger";gap:24px}
.rail{grid-area:rail;position:static;max-height:none;overflow:visible;display:flex;align-items:center;gap:20px;padding:0 0 18px;border-bottom:1px solid var(--line)}
.rail__block--mode{display:flex;gap:8px;flex:1;padding:0;align-items:center}
.rail__block--saved{padding:0!important;border:0!important;margin:0!important}
.rail__block--source,.rail__block--foot,.rail .eyebrow,.rail .hint,.mode-btn .mono{display:none}
.mode-btn,.rail-btn{width:auto;min-width:130px;height:44px;margin:0!important;padding:0 20px;justify-content:center;font-size:14px}
.mode-btn[aria-pressed="true"]{background:#e9eef8;border-color:#8c9ec6;box-shadow:inset 0 -2px #c69b48}
.ledger{grid-area:ledger;min-width:0}
.ledger-intro{padding:6px 0 8px;margin:0;border:0}
.ledger-intro h1{font-size:32px;letter-spacing:.04em}
.ledger-intro .eyebrow{font-family:var(--sans);font-size:12px;letter-spacing:.12em;margin-bottom:8px}
.ledger-intro p:last-child{font-size:13px;margin-top:10px;max-width:none}
.controls{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:16px 12px;padding:20px;background:#fff;border:1px solid #dfe5ef;border-radius:8px;box-shadow:0 4px 20px #52678704;margin-bottom:14px}
.ctl--search,.ctl--chain{grid-column:1/-1}
.ctl--search input{height:44px;background:#f7f9fc}
.ctl label,.ctl__label{font-family:var(--sans);font-size:12px;letter-spacing:0;color:#536078}
.ctl--chain{position:relative;gap:10px}
#tier-seg{gap:6px;border:0;overflow:visible;background:transparent;border-radius:0}
#tier-seg button{flex:0 0 auto;min-width:48px;height:38px;min-height:38px;padding:0 13px;font-family:var(--sans);font-size:13px;border:1px solid #dfe5ef;border-radius:4px;background:#f7f9fc;white-space:nowrap}
#tier-seg button[aria-pressed="true"]{background:#6f84bd;color:#fff;border-color:#6f84bd;box-shadow:none}
#tier-seg button[data-tier="all01"]{border-color:#c9b68e}
.group-help{font-size:12px;line-height:1.8;color:#596b83}
.group-help summary{cursor:pointer;width:max-content;color:#586fa3}
.group-help p{margin:8px 0 0;padding:10px 12px;background:#f4f6fa;border-left:2px solid #c69b48}
.group-help:not([open]){position:absolute;top:0;right:0}
.ctl--actions{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid #e8ecf3}
.result-count{order:-1;font-size:13px;font-family:var(--sans);color:#435570}
.ctl--actions .btn{height:34px;min-height:34px;background:transparent}
.ledger-note{font-family:var(--sans);font-size:11px;line-height:1.7;padding:0 2px;margin-bottom:12px}
.records th{font-family:var(--sans);font-size:12px;font-weight:500}
.records td{padding:16px 12px}.records .player{font-size:14px}.records .value{font-size:22px}.record-context{line-height:1.6;font-size:11px}
.records .team .unit{margin:5px 0}.unit .name{font-size:13px}.unit .iv{font-size:11px}.records .floor{font-size:12px}.srcbadge{font-size:10px}
.detail .notice{margin:12px 0;line-height:1.8}.detail .stage__coords{display:none}
.detail .unit-row .en{display:none}.detail .panel__head .eyebrow{font-family:var(--sans)}
.detail .actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.detail .actions a{grid-column:1/-1;text-align:center}
@media(min-width:1180px){
 .shell{grid-template-columns:minmax(0,1fr) 310px;grid-template-areas:"rail rail" "ledger detail";gap:24px 28px}
 .detail{grid-area:detail;top:96px;max-height:calc(100vh - 120px)}
 .panel{padding:20px}.stage{height:260px}
}
@media(min-width:760px){
 .controls .ctl--search{grid-column:span 2}
 .ctl--chain{order:1}
 .ctl:has(#floor),.ctl:has(#sort){order:2}
 .ctl--actions{order:2;grid-column:span 2;align-self:end;border:0;padding:0;height:40px}
}
@media(min-width:760px) and (max-width:1179px){
 .shell{padding:22px 28px;grid-template-columns:minmax(0,1fr);grid-template-areas:"rail" "ledger"}
 .detail.has-selection{width:400px;max-width:calc(100vw - 36px);box-shadow:0 0 0 100vmax #253b5766}
}
@media(max-width:759px){
 .shell{padding:14px 16px 28px;gap:20px;grid-template-columns:minmax(0,1fr);grid-template-areas:"rail" "ledger"}
 .topbar{min-height:62px;height:62px}.brand__text small{font-family:var(--sans);font-size:10px;letter-spacing:.08em}.terminal__status{display:none}
 .rail{gap:8px;padding-bottom:14px}.rail__block--mode{gap:6px}
 .mode-btn,.rail-btn{min-width:0;padding:0 12px;height:42px;font-size:13px}.mode-btn{flex:1}.rail-btn{gap:5px}
 .ledger-intro{padding:4px 0 10px}.ledger-intro h1{font-size:27px}
 .controls{grid-template-columns:repeat(2,minmax(0,1fr));padding:15px;gap:14px 10px}.ctl--search,.ctl--chain,.ctl--actions{grid-column:1/-1}
 #tier-seg{gap:6px}#tier-seg button{min-width:42px;padding:0 10px;min-height:40px;height:40px}
 .ctl input,.ctl select{height:42px}.group-help{font-size:11px}
 .cards{gap:0}.card-rec{padding:18px 16px;background:#fff}.card-rec__player{font-size:15px}.card-rec__value{font-size:24px}.card-rec .team{gap:8px 12px}.card-rec .unit .name{font-size:12px}.card-rec__meta{font-size:11px}
}

/* Header links share the title baseline; keep account actions on the right. */
.topbar .portal-entry{display:flex;align-items:center;align-self:stretch;flex:0 0 auto;gap:6px;padding:0 24px 0 8px;white-space:nowrap}
.topbar .portal-entry a{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 12px;border:1px solid transparent;border-radius:6px;color:var(--ink-soft);font-size:13px;text-decoration:none;line-height:20px}
.topbar .portal-entry a:hover{background:#edf2f9;color:var(--orbit-deep)}
.topbar .portal-entry a:first-child{color:var(--orbit-deep);border-color:var(--line-strong);background:#f1f5fb}
@media(max-width:759px){.topbar .terminal{display:none}.topbar .portal-entry{margin-left:auto;padding:0;gap:2px}.topbar .portal-entry a{font-size:12px;padding:7px 8px}.topbar .brand{border-right:0}}
@media(max-width:359px){.topbar{height:auto;flex-wrap:wrap}.topbar .portal-entry{width:100%;justify-content:flex-end;padding-bottom:8px}}
