:root{--ds-text:#1f2937;--ds-text-sub:#6b7280;--ds-text-faint:#94a0b4;--ds-bg:#fff;--ds-surface:#f3f6fb;--ds-border:#e3e8f1;--ds-border-strong:#a5b0c8;--ds-primary:#1e3a8a;--ds-primary-soft:#e3e9f5;--ds-on-primary:#fff;--ds-danger:#b42318;--ds-danger-soft:#fef3f2;--ds-warning:#93370d;--ds-warning-soft:#fffaeb;--ds-success:#067647;--ds-success-soft:#ecfdf3;--ds-chart-grid:#e9ecf2;--ds-chart-cross:#c5cbd8;--ds-font:"Noto Sans JP", sans-serif;--ds-fs-xs:11px;--ds-fs-sm:12px;--ds-fs-md:13px;--ds-fs-base:14px;--ds-fs-lg:15px;--ds-fs-title:30px;--ds-space-1:4px;--ds-space-2:8px;--ds-space-3:12px;--ds-space-4:16px;--ds-space-5:24px;--ds-space-6:32px;--ds-radius-sm:6px;--ds-radius-md:8px;--ds-radius-pill:999px;--ds-shadow-pop:0 4px 12px #1018281a;--ds-focus:0 0 0 2px var(--ds-bg), 0 0 0 4px var(--ds-primary);--ds-control-h:32px;--navy:var(--ds-primary);--ink:var(--ds-text);--sub:var(--ds-text-sub);--line:var(--ds-border-strong);--cell:var(--ds-surface);--bg:var(--ds-bg)}
.ds-page-header{justify-content:space-between;align-items:center;gap:var(--ds-space-2) var(--ds-space-5);margin:0 0 var(--ds-space-4);flex-wrap:wrap;display:flex}.ds-page-title{font-size:var(--ds-fs-title);color:var(--ds-primary);letter-spacing:.02em;margin:0;font-weight:900;line-height:1.3}.ds-page-meta{align-items:center;gap:var(--ds-space-2) var(--ds-space-3);font-size:var(--ds-fs-md);color:var(--ds-text-sub);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}@media (max-width:800px){.ds-page-title{font-size:24px}}.ds-button{justify-content:center;align-items:center;gap:var(--ds-space-1);height:var(--ds-control-h);padding:0 var(--ds-space-3);border:1px solid var(--ds-border);border-radius:var(--ds-radius-sm);background:var(--ds-bg);color:var(--ds-primary);font:inherit;font-size:var(--ds-fs-md);white-space:nowrap;cursor:pointer;font-weight:700;display:inline-flex}.ds-button:hover:not(:disabled){border-color:var(--ds-primary)}.ds-button.is-primary{border-color:var(--ds-primary);background:var(--ds-primary);color:var(--ds-on-primary)}.ds-button.is-ghost{background:0 0;border-color:#0000}.ds-button.is-ghost:hover:not(:disabled){background:var(--ds-surface);border-color:#0000}.ds-button.is-sm{height:28px;font-size:var(--ds-fs-sm);padding:0 10px}.ds-button:disabled{color:var(--ds-text-sub);cursor:default;opacity:.7}.ds-button.is-primary:disabled{color:var(--ds-on-primary);opacity:.5}.ds-link{color:var(--ds-primary);font-weight:500;text-decoration:none}.ds-link:hover{text-underline-offset:3px;text-decoration:underline}.ds-link.is-sub{color:var(--ds-text-sub)}.ds-link.is-sub:hover{color:var(--ds-primary)}.ds-tabs{gap:var(--ds-space-1);margin:0 0 var(--ds-space-4);border-bottom:1px solid var(--ds-border);flex-wrap:wrap;display:flex}.ds-tab{color:var(--ds-text-sub);font:inherit;font-size:var(--ds-fs-lg);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;margin-bottom:-1px;padding:10px 16px 8px;font-weight:700}.ds-tab:hover{color:var(--ds-primary)}.ds-tab[aria-selected=true]{color:var(--ds-primary);border-bottom-color:var(--ds-primary)}.ds-tab-count{margin-left:var(--ds-space-1);font-size:var(--ds-fs-md);font-variant-numeric:tabular-nums;font-weight:500}[role=tabpanel]:focus-visible{outline:2px solid var(--ds-primary);outline-offset:4px}@media (max-width:800px){.ds-tabs{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.ds-tab{font-size:var(--ds-fs-base);white-space:nowrap;flex:none;padding:10px 10px 8px}}.ds-seg{border:1px solid var(--ds-border);border-radius:var(--ds-radius-sm);background:var(--ds-bg);display:inline-flex;overflow:hidden}.ds-seg button{height:calc(var(--ds-control-h) - 2px);color:var(--ds-text-sub);font:inherit;font-size:var(--ds-fs-md);cursor:pointer;background:0 0;border:0;padding:0 14px}.ds-seg button+button{border-left:1px solid var(--ds-border)}.ds-seg button:hover{color:var(--ds-primary)}.ds-seg button[aria-pressed=true]{background:var(--ds-primary);color:var(--ds-on-primary);font-weight:700}.ds-toolbar{align-items:flex-end;gap:var(--ds-space-3) var(--ds-space-4);margin:0 0 var(--ds-space-3);flex-wrap:wrap;display:flex}.ds-field{gap:var(--ds-space-1);flex-direction:column;min-width:0;display:flex}.ds-field.is-grow{flex:320px;max-width:640px}.ds-field-label{font-size:var(--ds-fs-sm);color:var(--ds-text-sub);font-weight:700}.ds-select{width:100%;min-width:0;height:var(--ds-control-h);border:1px solid var(--ds-border-strong);border-radius:var(--ds-radius-sm);background:var(--ds-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%236B7280' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 12px center;color:var(--ds-text);font:inherit;font-size:var(--ds-fs-md);text-overflow:ellipsis;appearance:none;cursor:pointer;padding:0 32px 0 10px}.ds-select:hover{border-color:var(--ds-primary)}.ds-notice{margin:0 0 var(--ds-space-3);padding:var(--ds-space-2) var(--ds-space-3);border-radius:var(--ds-radius-md);font-size:var(--ds-fs-md);line-height:1.7}.ds-notice.is-info{background:var(--ds-surface);color:var(--ds-text)}.ds-notice.is-warning{background:var(--ds-warning-soft);color:var(--ds-warning)}.ds-notice.is-danger{background:var(--ds-danger-soft);color:var(--ds-danger)}.ds-notice summary{cursor:pointer;font-weight:700}.ds-notice ul{margin:var(--ds-space-1) 0 0;padding-left:18px}.ds-notice p{margin:0}.ds-card{min-width:0;padding:var(--ds-space-4);border:1px solid var(--ds-border);border-radius:var(--ds-radius-md);background:var(--ds-bg)}.ds-card-title{font-size:var(--ds-fs-base);color:var(--ds-text);margin:0;font-weight:700}.ds-card-sub{font-size:var(--ds-fs-sm);color:var(--ds-text-sub);margin:2px 0 0}.ds-empty{padding:var(--ds-space-5);border-radius:var(--ds-radius-md);background:var(--ds-surface);color:var(--ds-text-sub);font-size:var(--ds-fs-base);line-height:1.7}.ds-empty p{margin:0 0 var(--ds-space-2)}.ds-empty p:last-child{margin-bottom:0}.ds-note{margin:0 0 var(--ds-space-3);font-size:var(--ds-fs-md);color:var(--ds-text-sub);font-variant-numeric:tabular-nums;line-height:1.7}.ds-button:focus-visible,.ds-tab:focus-visible,.ds-seg button:focus-visible,.ds-select:focus-visible,.ds-link:focus-visible{box-shadow:var(--ds-focus);outline:none}
*{box-sizing:border-box}body{background:var(--ds-bg);color:var(--ds-text);font-family:var(--ds-font);margin:0}.wrap{max-width:1600px;margin:0 auto;padding:32px 40px 48px}.ds-page-meta .busy{color:var(--ds-primary);font-weight:700}@media (max-width:800px){.wrap{padding:24px 16px 48px}}#view-report .rp-pane{display:none}#view-report .rp-pane.on{display:block}#view-report .rp-host{border-radius:var(--ds-radius-md);overflow:hidden}#view-report .rp-mode{margin:0 0 var(--ds-space-3)}#view-pages .pg-target{gap:var(--ds-space-1) var(--ds-space-4);flex-wrap:wrap;display:flex}#view-pages .pg-target a{overflow-wrap:anywhere;min-width:0}.kpi-note{font-size:var(--ds-fs-md);color:var(--ds-text-sub);margin:8px 0;line-height:1.7}.kpi-tiles{gap:var(--ds-space-3);margin:0 0 var(--ds-space-3);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.kpi-tile{border:1px solid var(--ds-border);border-radius:var(--ds-radius-md);padding:12px 16px}.kpi-tile-label{font-size:var(--ds-fs-sm);color:var(--ds-text-sub)}.kpi-tile-value{color:var(--ds-text);font-variant-numeric:tabular-nums;margin-top:2px;font-size:24px;font-weight:700}.kpi-section{margin:0 0 32px}.kpi-charts{gap:var(--ds-space-4);margin:var(--ds-space-4) 0;grid-template-columns:repeat(auto-fit,minmax(min(100%,520px),1fr));display:grid}.kpi-charts.three{grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr))}.kpi-chart{min-width:0;margin:0}.kpi-legend{font-size:var(--ds-fs-sm);color:var(--ds-text-sub);flex-wrap:wrap;gap:4px 12px;margin:8px 0 4px;padding:0;list-style:none;display:flex}.kpi-legend li{align-items:center;gap:4px;display:inline-flex}.kpi-swatch{border-radius:2px;flex:none;width:8px;height:8px;display:inline-block}.kpi-plot{touch-action:pan-y;width:100%;position:relative}.kpi-plot svg{display:block}.kpi-axis{font-size:var(--ds-fs-xs);fill:var(--ds-text-sub);font-variant-numeric:tabular-nums}.kpi-cap{font-size:var(--ds-fs-xs);fill:var(--ds-text);font-variant-numeric:tabular-nums}.kpi-tip{z-index:2;pointer-events:none;background:var(--ds-bg);border:1px solid var(--ds-border);border-radius:var(--ds-radius-md);box-shadow:var(--ds-shadow-pop);font-size:var(--ds-fs-sm);white-space:nowrap;padding:8px 10px;position:absolute;top:8px}.kpi-tip-head{margin-bottom:4px;font-weight:700}.kpi-tip-row{align-items:center;gap:6px;line-height:1.6;display:flex}.kpi-tip-name{color:var(--ds-text-sub);flex:1}.kpi-tip-val{font-variant-numeric:tabular-nums;margin-left:12px}.kpi-table-wrap{margin:8px 0 16px;overflow-x:auto}.kpi-table{border-collapse:collapse;font-size:var(--ds-fs-md);font-variant-numeric:tabular-nums;width:100%}.kpi-table th,.kpi-table td{text-align:right;white-space:nowrap;border-bottom:1px solid var(--ds-border);padding:6px 10px}.kpi-table th{font-size:var(--ds-fs-sm);color:var(--ds-text-sub);background:var(--ds-surface);font-weight:500}.kpi-table th:first-child,.kpi-table td:first-child{text-align:left;background:var(--ds-bg);position:sticky;left:0}.kpi-table th:first-child{background:var(--ds-surface)}.kpi-table tr.strong td{font-weight:700}.kpi-table tr.muted td{color:var(--ds-text-sub)}.kpi-details{font-size:var(--ds-fs-md);margin:8px 0}.kpi-details summary{cursor:pointer;color:var(--ds-primary);padding:4px 0}.kpi-h3{font-size:var(--ds-fs-lg);color:var(--ds-text);margin:20px 0 8px;font-weight:700}.kpi-h3.big{color:var(--ds-primary);margin-top:32px;font-size:18px}.dsv-section{margin:0 0 40px}.dsv-h2{color:var(--ds-text);margin:0 0 4px;font-size:18px;font-weight:700}.dsv-h3{margin:var(--ds-space-4) 0 var(--ds-space-2);font-size:var(--ds-fs-md);color:var(--ds-text-sub);font-weight:700}.dsv-grid{gap:var(--ds-space-2) var(--ds-space-4);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.dsv-swatch{align-items:center;gap:var(--ds-space-2);font-size:var(--ds-fs-sm);display:flex}.dsv-swatch>span{border:1px solid var(--ds-border);border-radius:var(--ds-radius-sm);flex:none;width:32px;height:32px}.dsv-swatch code{color:var(--ds-text);display:block}.dsv-swatch small{color:var(--ds-text-sub)}.dsv-row{align-items:center;gap:var(--ds-space-3);flex-wrap:wrap;display:flex}.dsv-frame{padding:var(--ds-space-4);border:1px dashed var(--ds-border-strong);border-radius:var(--ds-radius-md)}.dsv-frame .ds-page-header{margin:0}.page-loading{color:var(--ds-text-sub);font-size:var(--ds-fs-lg);padding:32px 40px}
