:root{--bg: #f7f6f2;--bg-2: #efede7;--surface: #ffffff;--surface-2: #fafaf7;--border: #e8e6df;--border-strong: #d8d5cb;--ink-1: #1a1c1e;--ink-2: #4a4d52;--ink-3: #7a7d83;--ink-4: #a4a7ad;--accent: #1f3a5f;--accent-2: #2a4d7c;--accent-soft: #e8eef5;--accent-ink: #ffffff;--positive: #2f6b4f;--positive-soft: #e6efe9;--warning: #a36d1a;--warning-soft: #f5ecdb;--negative: #9c3a2e;--negative-soft: #f3e2dd;--c-1: #1f3a5f;--c-2: #6f8aab;--c-3: #b9a37e;--c-4: #2f6b4f;--c-5: #a36d1a;--grid: #ebe9e2;--font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--r-sm: 6px;--r: 10px;--r-lg: 14px;--r-xl: 20px;--shadow-sm: 0 1px 2px rgba(20, 22, 26, .04);--shadow: 0 1px 2px rgba(20,22,26,.04), 0 4px 14px rgba(20,22,26,.05);--shadow-lg: 0 8px 30px rgba(20,22,26,.08);--rail-w: 240px;--rail-w-collapsed: 64px;--max-w: 1320px;--header-h: 64px}[data-theme=dark]{--bg: #0f1115;--bg-2: #14171c;--surface: #181b21;--surface-2: #1f232a;--border: #262a32;--border-strong: #323742;--ink-1: #f0eee8;--ink-2: #b4b7be;--ink-3: #8b8e96;--ink-4: #5e6168;--accent: #7fa3d1;--accent-2: #a3bde0;--accent-soft: #1c2a3d;--accent-ink: #0f1115;--positive: #6fbe93;--positive-soft: #1a2a22;--warning: #d6a35e;--warning-soft: #2d2317;--negative: #d97a6c;--negative-soft: #2d1c19;--c-1: #7fa3d1;--c-2: #9eb5cf;--c-3: #c8b48f;--c-4: #6fbe93;--c-5: #d6a35e;--grid: #232730;--shadow-sm: 0 1px 2px rgba(0,0,0,.3);--shadow: 0 1px 2px rgba(0,0,0,.3), 0 4px 14px rgba(0,0,0,.4);--shadow-lg: 0 8px 30px rgba(0,0,0,.5)}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink-1);font-family:var(--font-sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11","ss01","ss03"}body{font-variant-numeric:tabular-nums}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}.num{font-family:var(--font-mono);font-feature-settings:"tnum","zero";letter-spacing:-.01em}.app{min-height:100vh;display:grid;grid-template-columns:var(--rail-w) 1fr}@media (max-width: 900px){.app{grid-template-columns:1fr}}.rail{position:sticky;top:0;height:100vh;border-right:1px solid var(--border);background:var(--surface);padding:18px 14px;display:flex;flex-direction:column;gap:18px}.rail-brand{display:flex;align-items:center;gap:10px;padding:6px 8px}.rail-brand .mark{width:28px;height:28px;border-radius:8px;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font-weight:600;font-size:13px;letter-spacing:-.02em}.rail-brand .name{font-weight:600;font-size:14px;letter-spacing:-.01em}.rail-brand .name small{display:block;color:var(--ink-3);font-weight:400;font-size:11px;letter-spacing:0}.rail-section-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);padding:0 10px;margin:8px 0 2px}.rail nav{display:flex;flex-direction:column;gap:4px}.rail nav a{display:flex;align-items:center;gap:10px;min-height:38px;padding:8px 10px;border-radius:var(--r-sm);color:var(--ink-2);font-weight:500;font-size:13px;line-height:1.2;text-align:left;width:100%;transition:background .12s,color .12s,box-shadow .12s}.rail nav a:hover{background:var(--bg-2);color:var(--ink-1)}.rail nav a:focus-visible{outline:0;background:var(--bg-2);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.rail nav a.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.rail nav a svg{flex-shrink:0;width:18px;min-width:18px;opacity:.85}.rail nav a.active svg{opacity:1}.rail-foot{margin-top:auto;padding:10px 8px;border-top:1px solid var(--border);display:flex;align-items:center;gap:10px}.rail-foot .avatar{width:32px;height:32px;border-radius:50%;background:var(--bg-2);color:var(--ink-2);display:grid;place-items:center;font-weight:600;font-size:12px;border:1px solid var(--border)}.rail-foot .meta{flex:1;min-width:0}.rail-foot .meta .nm{font-weight:600;font-size:13px}.rail-foot .meta .em{color:var(--ink-3);font-size:11px}.mobile-top{display:none;position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border);padding:10px 16px;align-items:center;gap:12px}.mobile-top .mark{width:28px;height:28px;border-radius:8px;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font-weight:600;font-size:13px}.mobile-top h1{font-size:15px;font-weight:600;margin:0;letter-spacing:-.01em;flex:1}.mobile-top button{padding:6px;border-radius:var(--r-sm);color:var(--ink-2)}.mobile-tab{display:none;position:fixed;bottom:0;left:0;right:0;z-index:30;background:var(--surface);border-top:1px solid var(--border);padding:6px 4px calc(6px + env(safe-area-inset-bottom))}.mobile-tab nav{display:grid;grid-template-columns:repeat(5,1fr);gap:2px}.mobile-tab a{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 4px;border-radius:var(--r-sm);color:var(--ink-3);font-size:10px;font-weight:500;line-height:1.15;min-width:0;transition:color .12s,background .12s,box-shadow .12s}.mobile-tab a:hover{color:var(--ink-1)}.mobile-tab a:focus-visible{outline:0;background:var(--bg-2);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.mobile-tab a.active{color:var(--accent)}.mobile-tab a.active svg{opacity:1}.mobile-tab a svg{opacity:.75}@media (max-width: 900px){.rail{display:none}.mobile-top{display:flex}.mobile-tab{display:block}}.main{min-width:0;padding-bottom:80px}@media (max-width: 900px){.main{padding-bottom:90px}}.topbar{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border);padding:18px 32px 16px;display:flex;align-items:center;gap:16px;max-width:var(--max-w);margin:0 auto;width:100%}.topbar .page-desc{font-size:13px;color:var(--ink-3);margin-top:2px}@media (max-width: 900px){.topbar{display:none}}.topbar .crumb{color:var(--ink-3);font-size:12px;font-weight:500;letter-spacing:.02em;text-transform:uppercase}.topbar h2{margin:0;font-size:22px;font-weight:600;letter-spacing:-.02em}.topbar .right{margin-left:auto;display:flex;align-items:center;gap:10px}.page{max-width:var(--max-w);margin:0 auto;padding:24px 32px 40px}@media (max-width: 900px){.page{padding:16px 16px 32px}}.page-head{display:none;margin-bottom:16px}@media (max-width: 900px){.page-head{display:flex;align-items:center;justify-content:space-between;gap:12px}}.page-head .crumb{color:var(--ink-3);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.page-head h2{font-size:22px;font-weight:600;margin:0;letter-spacing:-.02em}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:20px}.card.flat{box-shadow:var(--shadow-sm)}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.card-title{font-size:13px;font-weight:600;color:var(--ink-2);letter-spacing:-.005em}.card-sub{font-size:12px;color:var(--ink-3);margin-top:2px}.row{display:flex;align-items:center;gap:10px}.row.between{justify-content:space-between}.stack{display:flex;flex-direction:column}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-6{gap:24px}.grid{display:grid;gap:16px}.grid.cols-2{grid-template-columns:repeat(2,1fr)}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-4{grid-template-columns:repeat(4,1fr)}@media (max-width: 1100px){.grid.cols-4,.grid.cols-3{grid-template-columns:repeat(2,1fr)}}@media (max-width: 720px){.grid.cols-4,.grid.cols-3,.grid.cols-2{grid-template-columns:1fr}}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--r-sm);font-size:13px;font-weight:500;border:1px solid var(--border-strong);background:var(--surface);color:var(--ink-1);transition:background .12s,border-color .12s;white-space:nowrap}.btn:hover{background:var(--bg-2)}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn.primary:hover{background:var(--accent-2);border-color:var(--accent-2)}.btn.ghost{border-color:transparent;background:transparent;color:var(--ink-2)}.btn.ghost:hover{background:var(--bg-2);color:var(--ink-1)}.btn.sm{padding:5px 10px;font-size:12px}.btn.icon{padding:7px}.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.01em;background:var(--bg-2);color:var(--ink-2);border:1px solid var(--border)}.pill.positive{background:var(--positive-soft);color:var(--positive);border-color:transparent}.pill.warning{background:var(--warning-soft);color:var(--warning);border-color:transparent}.pill.negative{background:var(--negative-soft);color:var(--negative);border-color:transparent}.pill .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.input,.select{display:block;width:100%;padding:9px 12px;border-radius:var(--r-sm);border:1px solid var(--border-strong);background:var(--surface);font-size:13px;font-family:var(--font-sans);transition:border-color .12s,box-shadow .12s}.input:focus,.select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.input.num{font-family:var(--font-mono)}.input.lg{font-size:18px;padding:12px 14px;font-weight:600}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:12px;font-weight:500;color:var(--ink-2)}.field .help{font-size:11px;color:var(--ink-3)}.input-group{display:flex;align-items:stretch;border:1px solid var(--border-strong);border-radius:var(--r-sm);overflow:hidden;background:var(--surface);transition:border-color .12s,box-shadow .12s}.input-group:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.input-group .prefix,.input-group .suffix{padding:0 10px;display:flex;align-items:center;color:var(--ink-3);font-size:13px;background:var(--bg-2);border-color:var(--border)}.input-group .prefix{border-right:1px solid var(--border)}.input-group .suffix{border-left:1px solid var(--border)}.input-group input{border:0;background:transparent;padding:9px 12px;flex:1;font-family:var(--font-mono);font-size:13px;outline:none;width:100%;color:var(--ink-1)}.seg{display:inline-flex;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:3px;gap:2px}.seg button{padding:5px 12px;border-radius:5px;font-size:12px;font-weight:500;color:var(--ink-2)}.seg button.active{background:var(--surface);color:var(--ink-1);box-shadow:var(--shadow-sm)}.metric{display:flex;flex-direction:column;gap:6px}.metric .label{font-size:11px;font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em}.metric .value{font-family:var(--font-mono);font-size:28px;font-weight:600;letter-spacing:-.02em;color:var(--ink-1);line-height:1.1}.metric .value.lg{font-size:38px}.metric .sub{font-size:12px;color:var(--ink-3)}.metric .delta{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:500}.metric .delta.positive{color:var(--positive)}.metric .delta.negative{color:var(--negative)}.metric .delta.warning{color:var(--warning)}.tbl-wrap{overflow-x:auto;border-radius:var(--r);border:1px solid var(--border)}table.tbl{width:100%;border-collapse:collapse;font-size:13px;background:var(--surface)}.tbl th,.tbl td{padding:10px 14px;text-align:right;border-bottom:1px solid var(--border);white-space:nowrap}.tbl th:first-child,.tbl td:first-child{text-align:left;position:sticky;left:0;background:var(--surface)}.tbl thead th{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);background:var(--surface-2);border-bottom:1px solid var(--border-strong)}.tbl tbody tr:hover td{background:var(--surface-2)}.tbl tbody tr:last-child td{border-bottom:0}.tbl td.num{font-family:var(--font-mono)}.col-group-band{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);text-align:center!important;padding:6px 14px!important;background:var(--bg-2)!important;border-bottom:1px solid var(--border)!important}.divider{height:1px;background:var(--border);margin:16px 0}.warn-list{display:flex;flex-direction:column;gap:10px}.warn-item{display:flex;gap:10px;padding:10px 12px;border-radius:var(--r-sm);background:var(--warning-soft);border:1px solid color-mix(in srgb,var(--warning) 25%,transparent);font-size:12px;color:var(--ink-1);align-items:flex-start}.warn-item.negative{background:var(--negative-soft);border-color:color-mix(in srgb,var(--negative) 25%,transparent)}.warn-item.info{background:var(--accent-soft);border-color:transparent;color:var(--accent)}.warn-item .ico{flex-shrink:0;margin-top:1px;opacity:.9}.bar{height:6px;background:var(--bg-2);border-radius:999px;overflow:hidden;position:relative}.bar>span{display:block;height:100%;background:var(--accent);border-radius:999px;transition:width .3s}.bar .target-line{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--ink-2);border-radius:1px}.menu{position:absolute;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow-lg);padding:6px;min-width:220px;z-index:50}.menu button{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--r-sm);font-size:13px;width:100%;text-align:left;color:var(--ink-1)}.menu button:hover{background:var(--bg-2)}.menu .menu-sep{height:1px;background:var(--border);margin:4px 0}.menu .menu-label{padding:6px 10px;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);font-weight:600}.scenario-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 10px 6px 8px;border-radius:var(--r-sm);border:1px solid var(--border-strong);background:var(--surface);font-size:13px;font-weight:500;cursor:pointer;transition:background .12s}.scenario-chip:hover{background:var(--bg-2)}.scenario-chip .swatch{width:8px;height:8px;border-radius:2px;background:var(--accent)}.section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px}.section-head h3{font-size:15px;font-weight:600;margin:0;letter-spacing:-.01em}.section-head .desc{font-size:12px;color:var(--ink-3)}.hero{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:24px;display:grid;grid-template-columns:1.4fr 1fr;gap:24px}@media (max-width: 900px){.hero{grid-template-columns:1fr;padding:20px}}.hero .left{display:flex;flex-direction:column;gap:14px}.hero .status-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.hero h1{font-size:44px;margin:0;font-weight:600;letter-spacing:-.03em;font-family:var(--font-mono);font-feature-settings:"tnum";line-height:1}@media (max-width: 720px){.hero h1{font-size:34px}}.hero .summary{font-size:14px;color:var(--ink-2);max-width:48ch}.hero .right{border-left:1px solid var(--border);padding-left:24px;display:grid;grid-template-columns:repeat(2,1fr);gap:18px 24px}@media (max-width: 900px){.hero .right{border-left:0;border-top:1px solid var(--border);padding-left:0;padding-top:18px}}.gauge{position:relative;height:8px;background:var(--bg-2);border-radius:999px;margin-top:8px}.gauge .fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:999px}.gauge .target{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--ink-1)}.gauge .target:after{content:"Target";position:absolute;top:-16px;left:50%;transform:translate(-50%);font-size:10px;font-weight:600;color:var(--ink-2);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.tip{position:absolute;pointer-events:none;background:var(--ink-1);color:var(--bg);padding:8px 10px;border-radius:var(--r-sm);font-size:11px;white-space:nowrap;transform:translate(-50%,-110%);z-index:5;box-shadow:var(--shadow)}.tip .lbl{color:var(--ink-4);display:block;font-size:10px;margin-bottom:2px}.tip .v{font-family:var(--font-mono)}.chk{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:13px}.chk input{accent-color:var(--accent)}.tag-toggle{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:1px solid var(--border-strong);font-size:12px;background:var(--surface);color:var(--ink-2);cursor:pointer}.tag-toggle.active{background:var(--accent-soft);color:var(--accent);border-color:transparent}.tag-toggle .dot{width:7px;height:7px;border-radius:2px}
