:root{--ink:#163348;--muted:#506271;--blue:#005eb8;--teal:#12406d;--pale:#eaf2f8;--line:#d5e0e7;--alert:#973b22;--paper:#f4f5f6}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 "Noto Sans CJK SC","Microsoft YaHei",system-ui,sans-serif}a{color:#0055a4;text-underline-offset:3px}button,select,input{font:inherit}button,select{cursor:pointer}button{border:1px solid var(--line);border-radius:5px;background:white;color:var(--ink);padding:8px 13px;min-height:40px}button:hover{border-color:var(--blue);background:#edf5fa}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #d69c00;outline-offset:3px}.skip{position:fixed;top:-70px;z-index:100;background:white;padding:10px}.skip:focus{top:0}#sidebar{position:fixed;inset:0 auto 0 0;width:244px;background:#102f46;color:#eaf5fc;padding:28px 20px;overflow:auto;z-index:30}.brand{display:flex;gap:12px;align-items:center;font-weight:700;font-size:16px}.brand small{font-weight:400;display:block;font-size:11px;color:#bed3e0;letter-spacing:.4px}.mark{border:1px solid #8fb5ce;padding:8px;font:bold 20px Georgia,serif}.edition{font-size:12px;color:#c0d1dd;margin:24px 0}nav{display:grid;gap:9px}nav button{display:flex;gap:12px;width:100%;text-align:left;background:transparent;border:0;color:#ecf4fa;padding:13px 12px}nav button:hover{background:#21455e}nav button[aria-current=page]{background:#e8f3fb;color:#064372;font-weight:700}nav span{width:20px;text-align:center;font-size:18px}.railnote{font-size:12px;border-top:1px solid #476173;margin-top:28px;padding-top:20px;color:#c4d8e5}.railnote strong{display:inline-block;margin:5px 0;color:#fff}.rail-download{display:block;margin-top:16px;font-size:12px;color:#e3f2fc}.credit{font-size:11px;color:#bbceda;margin-top:28px}main{margin-left:244px;max-width:1540px;padding:32px 40px 70px}.eyebrow{text-transform:uppercase;letter-spacing:1px;font-size:12px;color:var(--blue);font-weight:700;margin:0 0 8px}h1{font-size:30px;line-height:1.4;margin:0 0 10px;letter-spacing:-.5px}h2{font-size:19px;line-height:1.5;margin:0 0 8px}h3{font-size:16px;margin:0 0 7px}.lead{margin:0 0 22px;color:var(--muted);max-width:940px}.kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0}.kpi{background:white;border-top:4px solid var(--blue);padding:18px 20px;min-height:148px}.kpi.warn{border-color:var(--alert)}.kpi .label{font-size:13px;color:var(--muted)}.kpi strong{font-size:32px;display:block;font-variant-numeric:tabular-nums;font-weight:700;margin:4px 0}.kpi small{font-size:12px}.negative{color:var(--alert)}.positive{color:#0f375d}.panel{background:white;border:1px solid var(--line);border-radius:6px;margin:20px 0;padding:23px 25px}.sub{color:var(--muted);font-size:12px;margin:5px 0 14px}.chart{height:310px;width:100%}.chart.tall{height:540px}.chart-wrap{overflow-x:auto;overflow-y:hidden}.chart-wide{min-width:670px}.caption{color:var(--muted);font-size:12px;margin:8px 0 0}.insight{border-left:4px solid var(--teal);padding:12px 18px;background:#eaeff4;margin:20px 0}.insight.warn{border-color:var(--alert);background:#fff0e9}.insight p{margin:0}.cols{display:grid;grid-template-columns:1fr 1fr;gap:20px}.cols .panel{margin:0}.actions{display:grid;gap:12px;margin-top:12px}.action{padding:14px 0;border-top:1px solid var(--line)}.action p{margin:4px 0;color:var(--muted);font-size:13px}.linkbutton{border:0;padding:0;min-height:30px;background:transparent;color:var(--blue);text-align:left;text-decoration:underline;font-weight:600}.controls{display:flex;gap:16px;align-items:end;flex-wrap:wrap;background:#eaf0f3;padding:16px 18px;border-radius:6px;margin:20px 0}.controls label{font-size:12px;font-weight:600;display:grid;gap:5px}select,input{border:1px solid #a8b9c6;border-radius:4px;background:white;padding:8px 10px;max-width:100%;min-height:42px;color:var(--ink)}input{width:270px}.scope{font-size:13px;color:var(--muted);margin:8px 0}.table-wrap{overflow:auto;margin-top:15px}table{width:100%;border-collapse:collapse;font-size:12px;min-width:640px}th{text-align:left;color:#395567;background:#edf3f7;font-weight:600;white-space:nowrap}th,td{border-bottom:1px solid var(--line);padding:10px 12px;vertical-align:top}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}td.name{min-width:245px;max-width:365px}td .muted{display:block}tr:hover td{background:#f5f9fc}td button.linkbutton{font-size:12px}.muted{color:var(--muted);font-size:11px}details{margin-top:15px}summary{cursor:pointer;color:var(--blue);padding:8px 0}.tag{display:inline-block;background:#edf1f4;border:1px solid #d3dce2;border-radius:3px;padding:2px 7px;margin:2px 4px 2px 0;font-size:11px}.empty{padding:45px 20px;border:1px dashed #acbbc7;color:var(--muted);text-align:center}.back{margin-bottom:18px}.sourcefile{word-break:break-word}.mobilebar{display:none}#backdrop{position:fixed;inset:54px 0 0;background:#132e4680;z-index:20}p{margin:10px 0}ul{padding-left:22px}.plain-doc{max-width:980px;margin:0 auto;padding:40px;background:white}.plain-doc h1{margin-top:20px}.plain-doc table{min-width:600px}.plain-doc .doc-back{font-size:14px}
@media(max-width:1050px){main{padding:27px 25px}h1{font-size:26px}.kpi{padding:15px}.kpi strong{font-size:27px}.cols{grid-template-columns:1fr}.kpis{gap:10px}}
@media(max-width:760px){.mobilebar{position:sticky;top:0;z-index:40;background:#102f46;color:white;display:flex;align-items:center;gap:18px;padding:8px 14px;height:60px;font-size:12px}.mobilebar button{font-size:13px;padding:5px 10px}#sidebar{top:60px;width:270px;display:none}#sidebar.open{display:block}main{margin-left:0;padding:22px 17px 55px}h1{font-size:24px}.lead{font-size:13px}.kpis{grid-template-columns:1fr}.kpi{min-height:unset;display:grid;grid-template-columns:1fr auto;gap:3px 12px}.kpi strong{font-size:28px;grid-column:2;grid-row:1/3}.kpi small{grid-column:1}.panel{padding:18px 15px}.chart{height:320px}.controls{gap:10px;padding:13px}.controls label{flex:1;min-width:125px}input{width:100%}.table-wrap{margin-right:-7px}.plain-doc{padding:24px 18px}.scope{font-size:12px}}
@media print{#sidebar,.mobilebar,.controls,.back,.skip{display:none!important}main{margin:0;padding:0}.panel,.kpi{break-inside:avoid}.table-wrap,.chart-wrap{overflow:visible}body{background:white}a{color:inherit}h1{font-size:24px}.plain-doc{padding:0}.doc-back{display:none}}
.table-hint{font-size:12px;color:#435c6d;margin:16px 0 0}.table-wrap:focus-visible{outline-offset:0}
@media(max-width:760px){.controls{display:grid;grid-template-columns:minmax(0,1fr)}.controls label{min-width:0;width:100%}.controls select,.controls input{min-width:0;width:100%;max-width:100%}.table-hint{background:#edf3f7;padding:9px}.table-wrap{margin-right:0}}
.table-wrap th:first-child,.table-wrap td:first-child{position:sticky;left:0;z-index:1;background:#fff;box-shadow:2px 0 0 #d5e0e7}.table-wrap th:first-child{background:#edf3f7;z-index:2}
.narrow-hint{display:none}
@media(max-width:760px){.wide-hint{display:none}.narrow-hint{display:inline}.table-wrap{overflow:visible}.table-wrap table{min-width:0;display:block}.table-wrap thead{position:absolute;display:table-header-group;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.table-wrap tbody{display:block}.table-wrap tr{display:block;border:1px solid var(--line);border-radius:5px;margin-bottom:15px;overflow:hidden}.table-wrap td{display:grid;grid-template-columns:minmax(0,1fr) minmax(90px,1fr);gap:10px;padding:9px 12px;white-space:normal!important;max-width:none;min-width:0}.table-wrap td:before{content:attr(data-label);text-align:left;color:var(--muted);font-size:11px}.table-wrap td:first-child{display:block;position:static;width:auto;min-width:0;max-width:none;background:#edf3f7;box-shadow:none}.table-wrap td:first-child:before{display:none}.table-wrap td>.muted{grid-column:2}.table-wrap td:first-child>.muted{display:block}.table-wrap td.name .linkbutton{font-size:13px}.table-wrap td a{overflow-wrap:anywhere}.table-wrap td:not(:first-child){text-align:right}}

@media(max-width:760px){.chart-wide{min-width:0}#ecds-records{scroll-margin-top:132px}}
.back{position:sticky;top:12px;z-index:10;box-shadow:0 2px 8px #102f4614}
@media(max-width:760px){.back{top:72px}}
