:root{--appbar-h:56px;--bg-app:#f4f6fa;--bg-surface:#fff;--bg-surface-2:#f7f9fc;--bg-elevated:#fff;--bg-hover:#f0f3f8;--surface-0:var(--bg-app);--surface-1:var(--bg-surface);--surface-2:var(--bg-surface-2);--surface-3:var(--bg-elevated);--text-primary:#0e1626;--text-secondary:#5a6677;--text-tertiary:#9aa3b0;--text-muted:var(--text-secondary);--border:#e4e8ee;--border-strong:#d4dae3;--positive:#14a06f;--positive-soft:#e3f5ee;--negative:#e0524b;--negative-soft:#fbeae9;--warning:#e8963f;--attention:var(--warning);--warning-soft:#fbeee0;--accent:#2e77c4;--accent-soft:#e6f2fb;--ramp-1:#0c447c;--ramp-2:#185fa5;--ramp-3:#2e77c4;--ramp-4:#378add;--ramp-5:#5ba0e4;--ramp-6:#85b7eb;--ramp-7:#b5d4f4;--ramp-8:#cfe0f5;--drift-under:#3f8fcf;--drift-ok:#22b07a;--drift-warn:#e8963f;--drift-over:#e0524b;--violet:var(--accent);--violet-soft:var(--accent-soft);--teal:#2e8fb8;--teal-soft:#e0eff6;--shadow-card:0 1px 3px rgba(20,30,50,.06),0 1px 2px rgba(20,30,50,.04);--shadow-pop:0 4px 16px rgba(20,30,50,.12);--radius-sm:8px;--radius-md:10px;--radius-lg:12px}[data-theme=dark]{--bg-app:#141a28;--bg-surface:#1e2637;--bg-surface-2:#242d42;--bg-elevated:#2a3450;--bg-hover:#303a54;--text-primary:#f3f5f9;--text-secondary:#9aa4ba;--text-tertiary:#616c85;--text-muted:var(--text-secondary);--border:#2c3446;--border-strong:#3a4460;--positive:#2dd29a;--positive-soft:#123a30;--negative:#ef6259;--negative-soft:#3a1d1c;--warning:#f0a65a;--attention:var(--warning);--warning-soft:#3a2c17;--accent:#4a93e0;--accent-soft:#14304e;--ramp-1:#2a6fb0;--ramp-2:#337fc6;--ramp-3:#4a93e0;--ramp-4:#5ba0e4;--ramp-5:#78b4ec;--ramp-6:#9ac6f1;--ramp-7:#b9d6f5;--ramp-8:#d3e3f7;--drift-under:#4fa0de;--drift-ok:#2fc08a;--drift-warn:#f0a65a;--drift-over:#ef6259;--violet:var(--accent);--violet-soft:var(--accent-soft);--teal:#3aa0c6;--teal-soft:#123039;--shadow-card:0 1px 3px rgba(0,0,0,.35);--shadow-pop:0 8px 28px rgba(0,0,0,.5)}*{box-sizing:border-box}body,html{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bg-app);color:var(--text-primary);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}h1,h2,h3{font-weight:600;margin:0}.card{border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 20px}.card,.metric{background:var(--bg-surface);box-shadow:var(--shadow-card)}.metric{border:1px solid var(--border);border-radius:var(--radius-md);padding:16px 18px}.metric .label{font-size:13px;color:var(--text-secondary);display:flex;align-items:center;gap:6px}.metric .value{font-size:26px;font-weight:600;margin-top:6px;letter-spacing:-.3px}.metric .sub{font-size:13px;color:var(--text-secondary);margin-top:4px}.pos{color:var(--positive)}.neg{color:var(--negative)}.muted{color:var(--text-secondary)}.tiny{font-size:12px}.btn,button{font:inherit;cursor:pointer;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg-surface);color:var(--text-primary);padding:9px 16px;transition:background .12s,border-color .12s,transform .05s}.btn:hover,button:hover{background:var(--bg-hover)}button:active{transform:scale(.99)}button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent);filter:brightness(1.06)}input,select{font:inherit;background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:9px 12px;outline:none}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}input[type=range]{padding:0;accent-color:var(--accent)}table{width:100%;border-collapse:collapse}th{text-align:left;font-weight:500;color:var(--text-secondary);font-size:13px;padding:10px 12px}td{padding:12px;border-top:1px solid var(--border);font-size:14px}tbody tr:hover{background:var(--bg-hover)}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:20px}.badge,.disclaimer{font-size:12px;background:var(--bg-surface-2);color:var(--text-secondary);border:1px solid var(--border)}.disclaimer{border-left:3px solid var(--accent);padding:10px 14px;margin:12px 0}.disclaimer,.skeleton{border-radius:var(--radius-sm)}.skeleton{background:linear-gradient(90deg,var(--bg-surface-2) 25%,var(--bg-hover) 50%,var(--bg-surface-2) 75%);background-size:200% 100%;animation:shimmer 1.3s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.empty{text-align:center;color:var(--text-secondary);padding:48px 20px}.empty .icon{font-size:28px;opacity:.5}.coming-soon{border:1px dashed var(--border-strong);border-radius:var(--radius-lg);padding:40px 24px;text-align:center;color:var(--text-secondary);background:var(--bg-surface-2)}.grid-3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:14px}.grid-3,.grid-4{display:grid;gap:14px}.grid-4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:14px}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:16px;gap:16px}.section-title{font-size:16px;font-weight:600;margin-bottom:4px}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;flex-wrap:wrap;gap:12px}.infotip{position:relative;display:inline-flex;vertical-align:middle;margin-left:6px;cursor:help;outline:none}.infotip-icon{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;font-size:10px;font-style:italic;font-weight:600;line-height:1;background:var(--bg-surface-2);color:var(--text-secondary)}.infotip-bubble-fixed,.infotip-icon{border:1px solid var(--border-strong)}.infotip-bubble-fixed{position:fixed;z-index:1000;background:var(--bg-elevated);color:var(--text-primary);border-radius:var(--radius-sm);box-shadow:var(--shadow-pop);padding:8px 11px;font-size:12px;line-height:1.45;font-weight:400;white-space:normal;text-align:left;pointer-events:none;-webkit-user-select:text;-moz-user-select:text;user-select:text}.seg{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.seg button{border:none;border-radius:0;padding:4px 12px;font-size:13px;background:var(--bg-surface);color:var(--text-muted);cursor:pointer}.seg button.active{background:var(--accent);color:#fff}.seg button:disabled{opacity:.5;cursor:not-allowed}.seg button+button{border-left:1px solid var(--border)}.appbar{position:-webkit-sticky;position:sticky;top:0;z-index:40;background:var(--surface-1);border-bottom:1px solid var(--border);box-shadow:var(--shadow-card)}.appbar-inner{max-width:1320px;margin:0 auto;padding:10px 24px;gap:18px}.appbar-inner,.brand{display:flex;align-items:center}.brand{gap:10px;color:var(--text-primary)}.brand .name{font-weight:500;font-size:16px;letter-spacing:1px}.domainbar{display:flex;align-items:stretch;gap:2px;flex:1 1}.domain{position:relative}.domain>a,.domain>button.domain-label{display:inline-flex;align-items:center;gap:6px;padding:9px 13px;border:none;background:transparent;color:var(--text-secondary);font:inherit;font-size:14px;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap}.domain.active>a,.domain.active>button.domain-label{background:var(--accent-soft);color:var(--accent);font-weight:500}.domain>a:hover,.domain>button.domain-label:hover{background:var(--bg-hover);color:var(--text-primary)}.domain.active>a:hover,.domain.active>button.domain-label:hover{background:var(--accent-soft);color:var(--accent)}.domain .caret{font-size:10px;opacity:.6}.domain-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:50;min-width:220px;padding:6px;background:var(--surface-3);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);display:flex;flex-direction:column;gap:2px}.domain-menu:before{content:"";position:absolute;left:0;right:0;top:-8px;height:8px}.domain-menu a{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:var(--radius-sm);color:var(--text-primary);font-size:14px}.domain-menu a:hover{background:var(--bg-hover)}.domain-menu a .hint{font-size:12px;color:var(--text-tertiary)}.domain-menu a.is-active{background:var(--accent-soft)}.domain-menu a .tag{font-size:10.5px;padding:1px 6px;border-radius:10px;align-self:flex-start;border:1px solid var(--border);color:var(--text-secondary);background:var(--surface-2)}.domain-menu a .tag.new{color:var(--warning);border-color:var(--warning)}.subtabbar{border-bottom:1px solid var(--border);background:var(--surface-1)}.subtabbar-inner{max-width:1320px;margin:0 auto;padding:0 24px;display:flex;gap:4px;flex-wrap:wrap}.subtab{padding:8px 12px;margin:6px 0;font-size:13.5px;color:var(--text-secondary);border-radius:var(--radius-sm);white-space:nowrap}.subtab:hover{background:var(--bg-hover);color:var(--text-primary)}.subtab.active{background:var(--accent-soft);color:var(--accent);font-weight:500}.subtab .dot-new{color:var(--warning);margin-left:5px;font-size:9px;vertical-align:middle}.profile{position:relative}.profile-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:50;min-width:220px;padding:6px;background:var(--surface-3);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);display:flex;flex-direction:column;gap:2px}.profile-menu a,.profile-menu button{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;border:none;background:transparent;border-radius:var(--radius-sm);color:var(--text-primary);font:inherit;font-size:14px;text-align:left;cursor:pointer;width:100%}.profile-menu a:hover,.profile-menu button:hover{background:var(--bg-hover)}.profile-menu .sep{height:1px;background:var(--border);margin:4px 2px}.profile-menu .email{font-size:12px;color:var(--text-tertiary);padding:4px 10px 8px}.stub{border:1px dashed var(--border-strong);border-radius:var(--radius-lg);padding:20px 22px;background:var(--surface-2);color:var(--text-secondary)}.stub .stub-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.stub .stub-title{font-size:15px;font-weight:600;color:var(--text-primary)}.stub .stub-tag{font-size:10.5px;padding:2px 8px;border-radius:10px;border:1px solid var(--warning);color:var(--warning);background:var(--warning-soft)}.stub .stub-sprint{font-size:10.5px;padding:2px 8px;border-radius:10px;margin-left:auto;border:1px solid var(--border);color:var(--text-tertiary)}.stub .stub-body{font-size:13.5px;line-height:1.55}.stub .stub-io{margin-top:10px;font-size:12.5px}.stub .stub-io b{color:var(--text-secondary);font-weight:500}.driftbar1{position:relative;height:20px;border-radius:6px}.driftbar1 .target{position:absolute;inset:0;border:1px dashed var(--border-strong);border-radius:6px;background:var(--surface-2)}.driftbar1 .fact{position:absolute;top:3px;bottom:3px;left:3px;border-radius:4px;transition:width .2s,background .2s}.pager{display:flex;align-items:center;gap:10px;justify-content:flex-end;padding:10px 2px;font-size:13px;color:var(--text-secondary)}.pager button{padding:5px 10px}.preset-bar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:10px}.page-main{max-width:1320px;margin:0 auto;padding:24px}.scroll-stack{gap:18px}.page-footnotes,.scroll-stack{display:flex;flex-direction:column}.page-footnotes{margin-top:24px;padding-top:14px;border-top:1px solid var(--border);gap:8px;color:var(--text-tertiary);font-size:12px}.page-footnotes .disclaimer{margin:0}.cur-select{color:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-sm);font-weight:500;padding:8px 10px}.cur-select,.cur-select:hover{background:var(--accent-soft)}.cur-select option{color:var(--text-primary);background:var(--bg-surface);font-weight:400}.cur-select option:disabled{color:var(--text-tertiary)}.factor-weights-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:14px;gap:14px}.factor-weight-row{min-width:0}.wide-scorecard td,.wide-scorecard th{white-space:nowrap}.table-scroll-x{overflow-x:auto}.sticky-th thead th{top:var(--appbar-h,56px);z-index:5}.sticky-th thead th,.sticky-th-box thead th{position:-webkit-sticky;position:sticky;background:var(--bg-surface-2);box-shadow:inset 0 -1px 0 var(--border-strong)}.sticky-th-box thead th{top:0;z-index:3}