﻿:root{color-scheme:dark;--bg:#111310;--side:#171a16;--surface:#1c201b;--raised:#22271f;--line:#353a30;--line2:#484b3b;--text:#eae9da;--muted:#959b89;--dim:#6f7769;--accent:#c1ae7e;--green:#8ea98a;--red:#c67d6d;--chip:#2a3125;--shadow:rgba(0,0,0,.2)}
:root[data-theme=light]{color-scheme:light;--bg:#f2f1e9;--side:#ebece2;--surface:#fffef7;--raised:#f5f5ec;--line:#dedfd3;--line2:#c9cbb9;--text:#263a2e;--muted:#788677;--dim:#8b9687;--accent:#8b7445;--green:#577a5b;--red:#a85349;--chip:#e9eee1;--shadow:rgba(38,58,46,.08)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,"Microsoft YaHei","PingFang SC",system-ui,sans-serif;font-size:13px}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.43}.shell{min-height:100vh;display:grid;grid-template-columns:220px 1fr}.sidebar{background:var(--side);border-right:1px solid var(--line);padding:29px 15px 20px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow:auto}.brand{display:flex;align-items:center;gap:11px;padding:0 10px 30px}.brand-mark{width:39px;height:39px;border:1px solid #b19c6a;color:#d2bd88;display:grid;place-items:center;font-family:serif;font-size:25px;background:linear-gradient(135deg,#3c402b,#1b251b);position:relative}.brand-mark:after{content:'';position:absolute;inset:3px;border:1px solid #81734e}.brand-name{font-family:Georgia,"Songti SC",serif;font-size:17px;letter-spacing:2px;font-weight:700}.brand-sub{font-size:9px;letter-spacing:2px;color:var(--dim);margin-top:5px}.nav-label{font-size:10px;letter-spacing:2px;color:var(--dim);padding:0 13px;margin:9px 0 9px}.nav{display:grid;gap:3px}.nav-btn{color:var(--muted);border:0;background:none;text-align:left;padding:11px 13px;border-radius:4px;display:flex;gap:12px;align-items:center;position:relative}.nav-btn:hover{background:var(--raised);color:var(--text)}.nav-btn.active{background:#34402e;color:#e6e8d5;font-weight:600}.nav-btn.active:before{content:'';position:absolute;left:0;width:2px;height:20px;background:#b7ae7a}.nav-icon{font-size:15px;width:18px;text-align:center;color:#a3ae96}.nav-separator{height:1px;background:var(--line);margin:23px 10px}.sidebar-bottom{margin-top:auto;padding:20px 10px 0}.sidebar-card{padding:14px;border:1px solid var(--line);background:var(--surface);line-height:1.8}.sidebar-card strong{font-size:12px}.sidebar-card p{font-size:11px;margin:6px 0;color:var(--muted)}.side-link{background:none;border:0;padding:0;color:var(--accent);font-size:11px}.side-foot{display:flex;justify-content:space-between;color:var(--dim);font-size:10px;padding:20px 0 0;letter-spacing:1px}.main{min-width:0}.topbar{height:69px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;gap:16px;background:var(--bg)}.breadcrumb{color:var(--muted);font-size:12px}.breadcrumb b{color:var(--text);font-weight:500}.top-actions{display:flex;align-items:center;gap:12px}.preview-pill,.tag{font-size:10px;letter-spacing:.3px;color:var(--accent);background:rgba(194,173,120,.09);border:1px solid rgba(194,173,120,.22);padding:5px 8px;border-radius:2px}.top-button,.icon-button{border:1px solid var(--line);color:var(--text);background:var(--surface);padding:9px 12px;border-radius:3px}.icon-button{padding:8px 10px}.content{padding:28px 34px 45px;max-width:1700px;margin:0 auto}.eyebrow{color:var(--accent);letter-spacing:2.8px;font-size:10px;text-transform:uppercase}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}.page-heading h1{font-family:Georgia,"Songti SC","SimSun",serif;font-weight:600;letter-spacing:2px;font-size:27px;margin:8px 0}.page-heading p{color:var(--muted);margin:0;line-height:1.7}.heading-side{text-align:right;white-space:nowrap;font-size:11px;color:var(--dim);line-height:1.8}.heading-side strong{color:var(--green);font-weight:500}.demo-banner{display:flex;justify-content:space-between;align-items:center;gap:16px;border:1px solid #5d5740;background:linear-gradient(90deg,rgba(157,131,73,.16),rgba(157,131,73,.04));padding:12px 16px;margin-bottom:20px;color:var(--accent);font-size:12px;line-height:1.5}.demo-banner span{color:var(--muted);margin-left:8px}.demo-banner button{background:none;border:0;color:var(--accent);white-space:nowrap}.toolbar{border:1px solid var(--line);background:var(--surface);padding:14px 16px;display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:20px}.field{display:grid;gap:7px;min-width:135px}.field label{font-size:10px;letter-spacing:1px;color:var(--muted)}select,input{color:var(--text);background:var(--bg);border:1px solid var(--line2);border-radius:3px;padding:9px 10px;min-width:0}select{min-width:135px}.search-field{flex:1;min-width:190px}.search-field input{width:100%}.check{display:flex;align-items:center;gap:6px;color:var(--muted);padding:10px 3px;font-size:12px}.check input{accent-color:#a7ad83}.toolbar-note{width:100%;border-top:1px solid var(--line);padding-top:12px;display:flex;gap:12px;flex-wrap:wrap}.toolbar-note .field{min-width:150px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}.metric{background:var(--surface);border:1px solid var(--line);padding:17px 19px;min-height:104px;position:relative;overflow:hidden}.metric:after{content:'';position:absolute;width:48px;height:48px;border:1px solid var(--line);transform:rotate(45deg);right:-28px;bottom:-28px}.metric-label{color:var(--muted);font-size:11px;letter-spacing:.5px}.metric-value{font-family:Georgia,serif;font-size:27px;color:var(--text);margin-top:12px;font-variant-numeric:tabular-nums}.metric-value small{font-family:system-ui,sans-serif;font-size:11px;color:var(--dim);margin-left:5px}.metric-sub{font-size:10px;color:var(--dim);margin-top:5px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.panel{background:var(--surface);border:1px solid var(--line);min-width:0}.panel-head{padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line)}.panel-head h2{font-size:15px;font-weight:600;margin:0;letter-spacing:.5px}.panel-head p{font-size:11px;margin:6px 0 0;color:var(--muted)}.panel-action{background:none;border:0;color:var(--accent);font-size:11px}.panel-body{padding:17px 20px}.overview-row{display:grid;grid-template-columns:26px 1fr auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.overview-row:last-child{border-bottom:0}.rank-number{font-family:Georgia,serif;font-size:16px;color:var(--dim)}.rank-number.top{color:var(--accent)}.team-title{font-size:13px;font-weight:600;letter-spacing:.4px}.team-meta{color:var(--dim);font-size:10px;margin-top:6px}.ratio{font-family:Georgia,serif;color:var(--accent);font-size:19px;text-align:right}.ratio small{font-family:system-ui;font-size:10px;color:var(--dim);display:block;margin-top:4px}.note{color:var(--muted);font-size:11px;line-height:1.8;padding:13px 16px;border:1px solid var(--line);border-left:2px solid var(--accent);margin-top:16px;background:var(--surface)}.section-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.section-top .note{flex:1;margin-top:0}.section-top+.panel{margin-top:16px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:780px;text-align:left;font-variant-numeric:tabular-nums}.data-table th{background:var(--raised);color:var(--muted);font-size:10px;font-weight:500;letter-spacing:.4px;padding:13px 15px;white-space:nowrap}.data-table td{padding:15px;border-top:1px solid var(--line);white-space:nowrap}.data-table tbody tr:hover{background:var(--raised)}.data-table .team-title{min-width:210px}.trusted{font-family:Georgia,serif;color:var(--accent);font-size:20px}.sub-number{font-size:11px;color:var(--dim)}.status{font-size:10px;padding:4px 7px;color:var(--green);background:rgba(112,151,111,.1);border:1px solid rgba(112,151,111,.2)}.status.observed{color:var(--muted);border-color:var(--line2);background:transparent}.action-link{border:0;background:transparent;color:var(--accent);padding:4px 6px}.button{border:1px solid var(--line2);background:var(--raised);color:var(--text);padding:9px 13px;border-radius:3px}.button.primary{background:#71835f;border-color:#71835f;color:#fff}.button:hover{filter:brightness(1.15)}.button-row{display:flex;gap:8px;flex-wrap:wrap}.empty{padding:55px 20px;text-align:center;color:var(--muted);line-height:2}.lock{border:1px solid var(--line);background:var(--surface);padding:65px 20px;text-align:center}.lock-icon{font-size:30px;color:var(--accent)}.lock h2{font-family:serif;letter-spacing:1px}.lock p{color:var(--muted);line-height:1.8}.split{display:grid;grid-template-columns:260px 1fr;gap:16px}.team-list{max-height:600px;overflow:auto}.team-button{width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);padding:14px 18px}.team-button.selected{background:var(--chip);border-left:2px solid var(--accent)}.team-button small{display:block;color:var(--dim);margin-top:6px}.config-card{border:1px solid var(--line);padding:18px;margin-bottom:12px}.config-card:last-child{margin-bottom:0}.config-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.config-lines{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:17px 0}.config-lines div{background:var(--raised);padding:12px;color:var(--muted);line-height:1.7}.config-lines b{display:block;color:var(--accent);font-size:10px;margin-bottom:5px}.filters-inline{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:10;display:grid;place-items:center;padding:20px}.modal{width:min(620px,100%);max-height:90vh;overflow:auto;background:var(--surface);border:1px solid var(--line2);box-shadow:0 20px 80px var(--shadow)}.modal-head{padding:20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.modal-head h2{margin:0;font-size:17px}.modal-body{padding:22px;line-height:1.8;color:var(--muted)}.modal-body input{width:100%;margin:5px 0 14px}.modal-body label{font-size:11px;color:var(--text)}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:0 22px 22px}.vs{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:start;text-align:center}.vs strong{color:var(--text)}.vs-mark{color:var(--accent);font-family:Georgia;font-size:22px}.footer{display:flex;justify-content:space-between;gap:12px;color:var(--dim);font-size:10px;margin-top:30px;padding-top:18px;border-top:1px solid var(--line);letter-spacing:.4px}.mobile-menu{display:none}
@media(max-width:1000px){.shell{grid-template-columns:68px 1fr}.sidebar{padding:25px 9px}.brand{padding:0 3px 28px}.brand-text,.nav-label,.nav-btn span:not(.nav-icon),.sidebar-bottom,.nav-separator{display:none}.nav-btn{justify-content:center;padding:12px 0}.nav-icon{width:auto}.topbar{padding:0 22px}.content{padding:24px 22px}.stats-grid{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}}
@media(max-width:650px){.shell{display:block}.sidebar{position:static;width:100%;height:auto;display:block;padding:10px;overflow:visible}.brand{padding:0 2px 10px}.brand-text{display:block}.brand-mark{width:32px;height:32px;font-size:20px}.nav{display:flex;overflow-x:auto;gap:4px}.nav-btn{min-width:max-content;padding:8px}.nav-btn span:not(.nav-icon){display:inline;font-size:11px}.nav-btn.active:before{display:none}.nav-icon{font-size:12px}.topbar{height:auto;min-height:57px;padding:10px 14px}.breadcrumb{display:none}.top-actions{width:100%;justify-content:space-between;gap:5px}.content{padding:20px 14px}.page-heading{align-items:start}.page-heading h1{font-size:23px}.heading-side{display:none}.demo-banner{align-items:start}.demo-banner span{display:block;margin:3px 0 0}.stats-grid{gap:8px}.metric{padding:14px;min-height:92px}.metric-value{font-size:23px}.split{grid-template-columns:1fr}.team-list{max-height:180px}.config-lines{grid-template-columns:1fr}.footer{display:block;line-height:2}.toolbar .field{flex:1}.toolbar select{width:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.unit-detail{text-align:left;border:1px solid var(--line);background:var(--raised);padding:11px;margin-top:8px;font-size:11px;line-height:1.7}.unit-detail strong{font-size:12px}.unit-detail span{color:var(--muted)}
@media(max-width:650px){.top-actions{flex-wrap:wrap}.top-actions .preview-pill{display:none}.top-actions select{min-width:105px;flex:1}.top-actions .top-button{padding:8px}.unit-detail{padding:8px}.vs{gap:8px}}

/* 赤旌玄甲：以客户端的装饰素材与布局为基准，数据仍由 HTML 实时绘制。 */
:root{color-scheme:dark;--bg:#100f10;--side:#141516;--surface:#16191a;--raised:#1e2021;--line:#383333;--line2:#5d4b3c;--text:#f1e9df;--muted:#b9aca0;--dim:#9b8d80;--accent:#d4af70;--green:#b7a18c;--red:#e16b58;--chip:#30221d;--shadow:rgba(0,0,0,.3)}
:root[data-theme=light]{--bg:#f5f3ed;--side:#ecece3;--surface:#fffefa;--raised:#ecefe8;--line:#dedfd5;--line2:#c9cbb9;--text:#233b35;--muted:#65776d;--dim:#879087;--accent:#957648;--green:#24574b;--red:#b6504c;--chip:#f7f2e4}
body{font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;font-size:14px}.shell{grid-template-columns:244px minmax(0,1fr)}
.sidebar{padding:0 10px 14px;border-right:2px solid #5d4530;background:linear-gradient(180deg,rgba(8,9,10,.40),rgba(10,10,11,.76)),url('assets/sidebar-iron.png') repeat;background-size:auto,135px 35px;position:sticky}
.sidebar:before{content:'';position:absolute;top:0;left:0;width:50px;height:205px;background:url('assets/sidebar-flag.png') no-repeat;background-size:100% 100%;pointer-events:none;z-index:0}
.sidebar:after{content:'';position:absolute;bottom:0;left:0;right:0;height:140px;background:linear-gradient(0deg,rgba(0,0,0,.25),rgba(0,0,0,.88)),url('assets/sidebar-battlement.png') bottom center/100% 80px no-repeat;pointer-events:none;z-index:0}
.sidebar>*{position:relative;z-index:1}.brand{height:189px;display:flex;flex-direction:column;gap:6px;justify-content:center;padding:13px 0 12px;margin:0 2px 12px 7px;border-bottom:1px solid #594838}.brand-mark{width:68px;height:71px;background:url('assets/brand-seal.png') center/contain no-repeat;border:0}.brand-mark:after{display:none}.brand-text{text-align:center}.brand-name{font-family:"STSong","SimSun",serif;font-weight:bold;font-size:35px;letter-spacing:2px;color:#efddc6;text-shadow:0 2px 2px #120c0a}.brand-sub{font-family:"STSong","SimSun",serif;font-size:15px;letter-spacing:2px;font-weight:bold;color:#d5b68d;margin-top:3px}
.nav{gap:1px}.nav-label{padding:0 14px;margin:6px 0 7px;font-size:12px;letter-spacing:1px;color:#c1a88e}.nav-btn{padding:9px 14px;color:#c8b5a3;font-size:15px;border-radius:0;min-height:38px}.nav-icon{color:#c4ad99;font-size:18px}.nav-btn:hover{background:rgba(135,78,62,.2)}.nav-btn.active{background:linear-gradient(90deg,rgba(109,14,20,.85),rgba(88,9,16,.65)),url('assets/banner-texture.png') center/cover;color:#fff2e3;border:1px solid #a37a48;padding:8px 13px}.nav-btn.active:before{height:28px;width:3px;left:0;background:#e2bd7b}.nav-separator{margin:10px 10px;border:0;height:0}.sidebar-bottom{margin-top:auto;padding:40px 0 0;text-align:center}.side-foot{display:block;color:#d8bb89;text-shadow:0 2px 3px #000;font-family:"STSong","SimSun",serif;font-weight:bold;font-size:25px;letter-spacing:2px;padding:0}.side-link{font-size:11px;margin-top:5px;color:#b49b81}
.topbar{height:52px;padding:0 14px 0 23px;background:#131516;border-color:#493a30}.breadcrumb{color:#dfd0c3;font-size:12px}.breadcrumb b{font-weight:bold}.top-actions{gap:8px}.top-actions select{min-width:100px;padding:6px 8px;font-size:11px}.top-button,.icon-button{padding:8px 11px;color:#e7d9cc;background:#17191a;border-color:#5a493b}.top-button:last-child{background:linear-gradient(#7e1f25,#5b1119);border-color:#995853;color:#fff1e5}.preview-pill{color:#e3c48e}.content{padding:12px 13px 32px;max-width:none}
.page-heading{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;margin:0 0 10px;min-height:180px;padding:18px 39px;color:#fff4e8;background:linear-gradient(90deg,rgba(108,5,15,.52),rgba(93,14,19,.50)),url('assets/banner-texture.png') center/100% 100%;border:2px solid #8c6843;box-shadow:inset 0 0 0 2px rgba(226,185,124,.2)}.hero-map{position:absolute;z-index:-1;right:3px;top:3px;bottom:3px;width:48%;background:url('assets/banner-map.png') center/100% 100% no-repeat}.frame-corner{position:absolute;width:38px;height:38px;background-size:100% 100%;pointer-events:none}.frame-corner.tl{left:0;top:0;background-image:url('assets/corner-tl.png');clip-path:polygon(0 0,100% 0,0 100%)}.frame-corner.tr{right:0;top:0;background-image:url('assets/corner-tr.png');clip-path:polygon(0 0,100% 0,100% 100%)}.frame-corner.bl{left:0;bottom:0;background-image:url('assets/corner-bl.png');clip-path:polygon(0 0,0 100%,100% 100%)}.frame-corner.br{right:0;bottom:0;background-image:url('assets/corner-br.png');clip-path:polygon(100% 0,0 100%,100% 100%)}.hero-title{flex:0 1 44%;min-width:0;text-shadow:0 1px 3px #300}.page-heading h1{font-family:"STSong","SimSun",serif;font-size:47px;line-height:1.08;font-weight:800;color:#fff4e5;margin:0 0 6px;letter-spacing:2px}.page-heading p{font-family:"STSong","SimSun",serif;font-size:21px;color:#fff2e3;font-weight:700;line-height:1.3}.hero-caption{font-size:13px;color:#f5e8d8;line-height:1.4;margin-top:6px}.heading-side{border-left:1px solid rgba(225,184,132,.65);padding:3px 0 3px 22px;margin-left:10px;text-align:left;z-index:1;font-size:15px;color:#fff2e6;white-space:normal;min-width:210px}.heading-side strong{display:block;color:#ebc57e;font-family:Georgia,serif;font-size:58px;line-height:1.05;margin:3px 0}.heading-side span{display:block;color:#fff2e6;font-size:12px}
.demo-banner{padding:6px 12px;margin-bottom:9px;font-size:11px;border-color:#5d4b38;background:rgba(132,91,56,.08)}.stats-grid{gap:0;background:var(--surface);border:1px solid var(--line);margin-bottom:10px}.metric{border:0;padding:13px 18px;min-height:81px}.metric:not(:last-child):before{content:'';position:absolute;right:0;top:24%;height:52%;width:1px;background:var(--line)}.metric:after{display:none}.metric-label{font-size:13px;color:var(--muted)}.metric-value{font-family:Inter,"Microsoft YaHei",sans-serif;font-weight:700;font-size:29px;line-height:1;margin-top:10px}.metric-sub{display:none}
.toolbar{gap:10px;padding:9px;margin-bottom:10px;border-color:#4c3e35}.field{gap:3px;min-width:115px}.field label{font-size:10px}.toolbar select,.toolbar input{padding:8px 10px}.toolbar-note{padding-top:6px}.check{padding:5px 3px}.panel-head{padding:11px 16px}.panel-head h2{font-size:14px}.panel-head p{margin-top:3px}.data-table{font-size:14px}.data-table th{background:#39151b;color:#efe1d4;font-size:13px;font-weight:600;padding:12px 15px}.data-table td{padding:13px 15px}.data-table .team-title{font-size:16px}.data-table tbody tr:first-child{background:#2b241e}.rank-number{color:#d1b393;font-weight:700}.trusted{font-weight:700;font-family:Inter,"Microsoft YaHei",sans-serif;font-size:23px;color:#e7bd76}.team-meta{font-size:10px}.note{margin-top:10px;padding:9px 13px}.section-top{margin-bottom:10px}.section-top+.panel{margin-top:0}.footer{margin-top:20px}
:root[data-theme=light] .sidebar{background:#e7e8de;border-color:#c7c9b9}:root[data-theme=light] .sidebar:before,:root[data-theme=light] .sidebar:after{display:none}:root[data-theme=light] .brand-name{color:#263c32;text-shadow:none}:root[data-theme=light] .brand-sub{color:#8d724a}:root[data-theme=light] .nav-btn{color:#506558}:root[data-theme=light] .nav-btn.active{background:#24574b;color:#fff;border-color:#24574b}:root[data-theme=light] .page-heading{background:linear-gradient(90deg,#234d41,#3f6e5e);border-color:#a68d59}:root[data-theme=light] .hero-map{opacity:.4}:root[data-theme=light] .frame-corner{display:none}:root[data-theme=light] .data-table th{background:#e1e8dc;color:#344b3d}:root[data-theme=light] .data-table tbody tr:first-child{background:#f7f2e4}
@media(max-width:1000px){.shell{grid-template-columns:74px minmax(0,1fr)}.sidebar{padding:0 7px}.brand{height:91px;padding:10px 0;margin:0 0 10px}.brand-mark{width:55px;height:57px}.brand-text,.nav-label,.sidebar-bottom,.nav-separator{display:none}.nav-btn{justify-content:center;padding:10px 0}.nav-btn.active{padding:9px 0}.nav-btn span:not(.nav-icon){display:none}.content{padding:12px}.page-heading h1{font-size:36px}.heading-side strong{font-size:46px}}
@media(max-width:650px){.shell{display:block}.sidebar{position:static;height:auto;padding:8px;overflow:visible}.sidebar:before,.sidebar:after{display:none}.brand{height:auto;flex-direction:row;justify-content:flex-start;gap:10px;margin:0 0 8px;padding:0 0 8px}.brand-mark{width:37px;height:39px}.brand-text{display:block;text-align:left}.brand-name{font-size:21px}.brand-sub{font-size:11px}.nav{display:flex;overflow-x:auto}.nav-btn,.nav-btn.active{min-width:max-content;padding:8px;font-size:12px}.nav-btn span:not(.nav-icon){display:inline}.topbar{padding:8px 10px;min-height:54px;height:auto}.content{padding:9px}.page-heading{min-height:135px;padding:15px 20px}.page-heading h1{font-size:29px}.page-heading p{font-size:15px}.hero-caption{font-size:11px}.hero-title{flex:1}.hero-map{width:56%;opacity:.65}.heading-side{display:none}.stats-grid{grid-template-columns:repeat(2,1fr)}.metric{min-height:72px;padding:11px 14px}.metric-value{font-size:22px}.data-table td{padding:11px 12px}}
.page-heading{justify-content:flex-start}.loss-diff{color:#e16b58;font-weight:700}.red-count{color:#d6b477}.nav-btn{min-height:35px;padding-top:7px;padding-bottom:7px}.nav-btn.active{padding-top:6px;padding-bottom:6px}
:root[data-theme=light] .topbar .breadcrumb,:root[data-theme=light] .topbar .breadcrumb b{color:#ecdfd2}:root[data-theme=light] .sidebar-bottom .side-foot{color:#8d724a;text-shadow:none}@media(min-width:1001px){.heading-side strong{font-size:68px}}

/* Match desktop typography.py: Noto Sans SC / Source Han Serif SC / Inter. */
@font-face{font-family:'Client Sans';src:url('assets/fonts/client-body.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:'Client Serif';src:url('assets/fonts/client-title.woff2') format('woff2');font-style:normal;font-weight:900;font-display:swap}
@font-face{font-family:'Client Number';src:url('assets/fonts/client-number.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
body,button,input,select{font-family:'Client Sans','Noto Sans SC','Microsoft YaHei UI',sans-serif;font-synthesis:none}
body{font-size:15px}.brand-name,.brand-sub,.side-foot{font-family:'Client Serif','Source Han Serif SC','SimSun',serif;font-weight:900}.brand-name{font-size:39px}.brand-sub{font-size:16px}.side-foot{font-size:32px}
.page-heading{min-height:192px}.page-heading h1{font-family:'Client Serif','Source Han Serif SC','SimSun',serif;font-size:56px;font-weight:900}.page-heading p{font-family:'Client Serif','Source Han Serif SC','SimSun',serif;font-size:26px;font-weight:900}.hero-caption{font-size:15px}.heading-side{font-size:18px}.heading-side strong{font-family:'Client Number','Inter',sans-serif;font-size:72px;font-weight:600}.heading-side span{font-size:15px}
.real-table{font-family:'Client Number','Client Sans',sans-serif;min-width:1040px;table-layout:auto}.real-table th{font-family:'Client Sans',sans-serif;font-size:15px;font-weight:600;padding:12px 14px}.real-table td{height:52px;padding:10px 14px;font-size:18px;font-weight:400;line-height:1.35}.real-table .team-title{font-family:'Client Sans',sans-serif;font-size:20px;font-weight:600;letter-spacing:0;white-space:nowrap;display:block;min-width:265px}.real-table .trusted{font-family:'Client Number','Client Sans',sans-serif;font-size:26px;font-weight:600;text-align:right}.real-table .rank-number{font-family:'Client Number','Client Sans',sans-serif;font-size:20px;font-weight:500}.real-table td:not(:nth-child(2)){text-align:center}.real-table .loss-diff{font-weight:600}.real-table .negative{color:#72a68f}.real-table .red-count{font-weight:400;font-size:17px}.real-table .action-link{font-size:21px}.real-table th:nth-child(2){text-align:left}
.metric-value,.trusted,.ratio{font-family:'Client Number','Client Sans',sans-serif;font-variant-numeric:tabular-nums}.metric-value{font-size:30px;font-weight:600}.metric-label{font-size:15px}.snapshot-filter-note{width:100%;font-size:11px;color:var(--dim);line-height:1.6}.pagination{padding:12px 15px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:10px;color:var(--muted);font-size:12px}.real-toolbar .field{min-width:140px}.real-toolbar .search-field{min-width:220px}.demo-banner{font-size:12px;line-height:1.7}.data-table .team-meta{display:none}
@media(min-width:1001px) and (max-width:1399px){.page-heading{min-height:158px}.page-heading h1{font-size:38px}.page-heading p{font-size:22px}.heading-side strong{font-size:52px}.hero-caption{font-size:13px}.heading-side span{font-size:13px}}
@media(max-width:1000px){.page-heading h1{font-size:36px}.page-heading p{font-size:22px}.heading-side strong{font-size:52px}.brand-name{font-size:30px}}
@media(max-width:650px){.brand-name{font-size:23px}.brand-sub{font-size:12px}.page-heading{min-height:140px}.page-heading h1{font-size:29px}.page-heading p{font-size:17px}.hero-caption{font-size:11px}.pagination{flex-wrap:wrap}.metric-label{font-size:12px}.metric-value{font-size:25px}.real-table .team-title{font-size:18px}.real-table td{font-size:16px}.real-table .trusted{font-size:24px}}
.variant-controls{display:flex;gap:14px;flex-wrap:wrap;padding:12px 18px;border-bottom:1px solid var(--line)}.variant-controls .field{min-width:165px;max-width:100%}.variant-controls select{max-width:100%}.variant-stats{display:flex;gap:9px 18px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.variant-stats b{color:var(--text)}.config-lines{grid-template-columns:2fr 1fr 1fr}.config-lines div{overflow-wrap:anywhere;font-size:12px}.load-library{margin:12px}.modal:has(.unit-detail){width:min(920px,100%)}.unit-detail strong{font-family:"Client Sans",sans-serif;font-size:15px}.unit-detail{font-size:12px;line-height:1.9}.team-list .team-button b{font-family:"Client Sans",sans-serif;font-weight:600;font-size:15px}@media(max-width:650px){.config-lines{grid-template-columns:1fr}.vs{grid-template-columns:1fr}.vs-mark{padding:10px}.variant-controls .field{width:100%}.variant-controls select{width:100%}}
.real-toolbar{align-items:center;gap:10px;padding:10px 12px}.real-toolbar>.field>label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.real-toolbar>.field{min-width:130px}.real-toolbar>.search-field{min-width:190px}.real-toolbar select,.real-toolbar input{height:35px}.advanced-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:end;flex-basis:100%;border-top:1px solid var(--line);padding-top:12px;margin-top:3px}.advanced-filters[hidden]{display:none}.real-toolbar button{min-height:35px}.real-toolbar .button{padding:7px 10px}.real-table tbody tr:first-child{background:#2b241d}.data-table.real-table tbody tr:hover{background:#272321}.snapshot-filter-note{font-weight:400}.demo-banner span{font-weight:400}@media(max-width:650px){.real-toolbar>.field{min-width:110px;flex:1}.real-toolbar>.search-field{min-width:100%;order:5}.real-toolbar>.button{flex:1}}
/* V2: actual configuration comparisons + responsive shell. */
.nav-toggle,.nav-close,.mobile-page-title,.library-toggle,.mobile-selected{display:none}.nav-backdrop[hidden]{display:none}
.main,.content,.panel,.config-results,.split>*,.table-wrap{min-width:0}.table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
.config-split{grid-template-columns:minmax(220px,29%) minmax(0,1fr);align-items:start}.config-library .panel-head{gap:8px}.config-lines{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr);gap:15px}.config-lines p{margin:7px 0;line-height:1.8}.config-head{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.config-head .trusted{margin-left:auto}.sample-badge{color:#e1bd82;background:#5a43202e;border:1px solid #785e36;padding:4px 7px;font-size:11px}.config-explanation{padding:14px 18px;border-bottom:1px solid var(--line);font-size:12px;line-height:1.85;color:var(--muted)}.variant-pagination{display:flex;flex-wrap:wrap;gap:10px}.config-lines>div{min-width:0}.config-lines b{display:block;color:var(--accent)}.variant-controls .field{flex:1;min-width:140px}.variant-controls select{width:100%}.config-card{margin-bottom:16px}.team-button{width:100%;text-align:left}.config-results h2{overflow-wrap:anywhere}
@media(min-width:768px) and (max-width:1199px){
 .shell{display:grid;grid-template-columns:72px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100dvh;padding:10px 7px;display:flex;overflow:auto}.sidebar:before{width:30px;height:140px}.brand{height:105px;margin:0 0 16px;padding:10px 0}.brand-mark{width:46px;height:50px}.brand-text,.nav-label,.sidebar-bottom,.nav-separator,.nav-btn span:not(.nav-icon){display:none}.nav{display:flex;flex-direction:column;overflow:visible}.nav-btn,.nav-btn.active{min-height:48px;justify-content:center;padding:10px 0}.nav-icon{width:auto;font-size:21px}.topbar{padding:10px 20px;gap:10px}.top-actions{gap:9px;flex-wrap:wrap}.content{padding:22px 20px}.config-split{grid-template-columns:minmax(190px,27%) minmax(0,1fr);gap:14px}.config-lines{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col{grid-template-columns:1fr}.panel-head{padding:14px}.variant-controls{gap:10px;padding:12px}.panel-body{padding:14px}.metric-value{font-size:30px}.topbar .breadcrumb{font-size:12px}.config-library .team-list{max-height:75dvh;overflow:auto}.config-library .team-button b{font-size:14px}
}
@media(max-width:767px){
 body{font-size:14px}body.nav-open{overflow:hidden}.shell{display:block}.main{width:100%}.sidebar{display:flex;position:fixed!important;inset:0 auto 0 0;width:min(290px,85vw);height:100dvh;z-index:101;padding:0 14px max(20px,env(safe-area-inset-bottom));transform:translateX(-102%);visibility:hidden;overflow:auto;transition:transform .18s ease,visibility .18s}.nav-open .sidebar{transform:translateX(0);visibility:visible}.nav-backdrop{position:fixed;inset:0;background:#000a;border:0;z-index:100}.nav-close{display:block;position:absolute;right:10px;top:10px;z-index:2}.brand{height:145px;margin:0 10px 12px;padding:12px}.brand-mark{width:58px;height:60px}.brand-text{display:block}.brand-name{font-size:27px}.brand-sub{font-size:13px}.nav{display:flex;flex-direction:column;overflow:visible;gap:4px}.nav-btn,.nav-btn.active{justify-content:flex-start;min-width:0;min-height:46px;padding:10px 16px}.nav-btn span:not(.nav-icon){display:inline;font-size:15px}.nav-icon{width:26px;font-size:19px}.nav-label{display:block}.sidebar-bottom{display:block;padding-top:22px}.nav-separator{display:block;margin:6px}.nav-toggle{display:block;flex:none}.mobile-page-title{display:block;color:var(--text);font-size:15px;white-space:nowrap}.topbar{min-height:64px;height:auto;padding:8px max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left));display:flex;align-items:center;gap:10px;position:sticky;top:0;z-index:30;background:var(--bg);border-bottom:1px solid var(--line)}.breadcrumb{display:none}.top-actions{width:auto;flex:1;display:flex;flex-wrap:nowrap;justify-content:flex-end;gap:4px}.top-actions .preview-pill{display:none}.top-button,.icon-button{min-height:44px;min-width:44px}.top-actions .top-button{padding:7px 9px;font-size:12px}.content{padding:16px max(12px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.demo-banner{display:flex;gap:8px;align-items:start;padding:12px;font-size:12px}.demo-banner span{display:block;margin:4px 0 0}.demo-banner>button{flex:none;max-width:70px;min-height:44px}.toolbar{display:flex;flex-wrap:wrap;gap:10px;padding:12px}.toolbar .field,.real-toolbar>.field{min-width:0;flex:1 1 calc(50% - 10px);max-width:100%}.toolbar .search-field,.real-toolbar>.search-field{flex-basis:100%;min-width:0}.toolbar select,.toolbar input,.variant-controls select{height:44px;width:100%;min-width:0;font-size:16px}.toolbar .check{min-height:44px;display:flex;align-items:center}.advanced-filters{gap:8px 14px}.real-toolbar button,.button{min-height:44px}.real-toolbar>.button{flex:1}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric{min-width:0;padding:14px 12px;min-height:100px}.metric-value{font-size:27px;overflow-wrap:anywhere}.metric-label{font-size:12px}.two-col,.split,.config-split{grid-template-columns:minmax(0,1fr);gap:16px}.panel-head{padding:14px;gap:10px}.panel-head h2{font-size:18px}.panel-head p{line-height:1.65}.panel-body{padding:12px}.library-toggle{display:block;flex:none}.mobile-selected{display:block;padding:0 14px 14px;color:var(--muted);font-size:13px}.config-library:not(.library-open) .team-list{display:none}.config-library .team-list{max-height:45dvh;overflow:auto}.team-button{min-height:64px}.variant-controls{padding:12px;gap:10px}.variant-controls .field{width:auto;min-width:0;flex:1 1 100%}.config-explanation{padding:12px;font-size:12px}.config-lines{grid-template-columns:1fr;gap:12px}.config-lines div{font-size:13px}.config-card{padding:12px;margin-bottom:14px}.config-head .trusted{font-size:22px}.variant-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;font-size:12px}.variant-stats span{display:flex;flex-direction:column;gap:4px}.variant-stats b{font-size:15px}.config-head .sample-badge{font-size:11px}.vs{display:grid;grid-template-columns:1fr;gap:12px}.vs-mark{padding:4px}.unit-detail{font-size:13px;line-height:1.9}.modal-backdrop{padding:12px}.modal{width:100%;max-height:calc(100dvh - 24px);overflow:auto}.modal input{font-size:16px;min-height:44px}.footer{display:flex;flex-direction:column;gap:8px;font-size:11px;line-height:1.8}.pagination{flex-wrap:wrap;line-height:1.8}.pagination .button-row{width:100%;justify-content:space-between}.note{overflow-wrap:anywhere}.page-heading{min-height:120px}.page-heading h1{font-size:28px}.page-heading p{font-size:17px}
 /* Rank tables become labelled cards; full metrics remain available through the existing details toggle. */
 .real-table{display:block;width:100%;min-width:0!important}.real-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.real-table tbody{display:grid;gap:12px;padding:12px}.real-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);background:var(--panel)!important;padding:12px;gap:12px}.real-table td{display:flex;flex-direction:column;min-width:0;padding:0!important;border:0!important;white-space:normal!important;font-size:14px;overflow-wrap:anywhere}.real-table td::before{content:attr(data-label);font-size:11px;color:var(--muted);margin-bottom:5px}.real-table td:nth-child(1){grid-column:1/-1;color:var(--accent);font-weight:600;font-size:13px;flex-direction:row;gap:8px}.real-table td:nth-child(1)::before{margin:0}.real-table td:nth-child(2){grid-column:1/-1}.real-table td:nth-child(2)::before{display:none}.real-table td:last-child{grid-column:1/-1;display:flex;flex-direction:row;gap:8px;align-items:center;flex-wrap:wrap}.real-table td:last-child::before{display:none}.real-table .team-title{font-size:20px;line-height:1.6;white-space:normal}.real-table .trusted{font-size:24px}.real-table td:last-child button{min-height:44px}.table-wrap:has(.real-table){overflow:visible}.table-wrap:not(:has(.real-table)){border-bottom:2px solid var(--line)}
}
@media(max-width:359px){.mobile-page-title{font-size:13px}.topbar{gap:4px}.top-actions .top-button{max-width:100px}.metric-value{font-size:23px}.content{padding-inline:10px}}
@media(max-width:767px){.real-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.real-toolbar>.field,.real-toolbar>.button{width:100%;min-width:0;max-width:100%;flex:none}.real-toolbar>.search-field,.real-toolbar>.advanced-filters,.real-toolbar>.snapshot-filter-note{grid-column:1/-1}.real-toolbar>.button{padding:8px;white-space:normal}.real-toolbar .advanced-filters{display:flex}.real-toolbar .advanced-filters[hidden]{display:none}}
.modal-backdrop{z-index:200}
@media(max-width:767px){.heading-side{display:none}}
