: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}.btn:focus-visible,button:focus-visible,select:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.btn-danger{background:var(--negative);border-color:var(--negative);color:#fff}.btn-danger:hover{background:var(--negative);filter:brightness(1.06)}.btn-ghost{background:transparent;border-color:transparent}.btn-ghost:hover{background:var(--bg-hover)}.btn-sm{padding:5px 10px;font-size:13px}.ui-switch{position:relative;flex:none;width:36px;height:20px;padding:0;border-radius:999px;border:1px solid var(--border-strong);background:var(--bg-surface-2);cursor:pointer;transition:background .12s,border-color .12s}.ui-switch[aria-checked=true]{background:var(--accent);border-color:var(--accent)}.ui-switch:after{content:"";position:absolute;top:1px;left:1px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .14s}.ui-switch[aria-checked=true]:after{transform:translateX(16px)}.ui-switch:focus-visible{box-shadow:0 0 0 3px var(--accent-soft)}.ui-switch:disabled{opacity:.5;cursor:not-allowed}.ui-field{display:flex;flex-direction:column;gap:4px}.ui-field>.ui-label{font-size:12px;color:var(--text-secondary);display:inline-flex;align-items:center;gap:4px}.rt-cards{display:flex;flex-direction:column;gap:9px}.rt-card{border:1px solid var(--border);border-radius:10px;background:var(--bg-surface);padding:11px 12px}.rt-card.rt-tappable{cursor:pointer}.rt-card.rt-tappable:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.rt-head{display:flex;align-items:flex-start;gap:10px}.rt-head .rt-title{min-width:0;flex:1 1}.rt-head .rt-value{text-align:right;white-space:nowrap}.rt-head .rt-value .rt-big{font-weight:600}.rt-head .rt-value .rt-small{font-size:12px;margin-top:2px}.rt-chev{color:var(--text-tertiary);font-size:11px;align-self:center;transition:transform .2s}.rt-card.rt-open .rt-chev{transform:rotate(180deg)}.rt-kv{display:grid;grid-template-columns:1fr auto;grid-gap:6px 12px;gap:6px 12px;margin-top:11px;padding-top:10px;border-top:1px dashed var(--border)}.rt-kv .rt-k{color:var(--text-secondary);font-size:12.5px}.rt-kv .rt-v{text-align:right;white-space:nowrap}.appbar-actions{display:flex;align-items:center;gap:10px}.appbar-mobile-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.appbar-burger{padding:8px 12px;font-size:18px;line-height:1}.mobile-menu{border-top:1px solid var(--border);background:var(--surface-1);padding:10px 16px 14px;display:flex;flex-direction:column;gap:12px}.mobile-menu .mm-actions{display:flex;align-items:center;gap:8px}.mobile-menu .mm-actions .cur-select{flex:1 1}.mobile-menu .mm-nav{display:flex;flex-direction:column;gap:2px}.mobile-menu .mm-nav a{padding:10px 12px;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:15px}.mobile-menu .mm-nav a.active{background:var(--accent-soft);color:var(--accent);font-weight:500}.mobile-menu .mm-section{border-top:1px solid var(--border);padding-top:10px;display:flex;flex-direction:column;gap:2px}.mobile-menu .mm-section a,.mobile-menu .mm-section button{text-align:left;padding:10px 12px;border-radius:var(--radius-sm);color:var(--text-primary);font-size:15px;background:transparent;border:none;cursor:pointer;width:100%}.mobile-menu .mm-section a:hover,.mobile-menu .mm-section button:hover{background:var(--bg-hover)}.mobile-menu .mm-email{font-size:12px;color:var(--text-tertiary);padding:2px 12px 4px}@media (max-width:768px){.appbar-inner{padding:10px 16px;gap:12px}.only-desktop{display:none!important}}@media (min-width:769px){.only-mobile{display:none!important}}.metric-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}@media (max-width:768px){.metric-row{grid-template-columns:repeat(2,minmax(0,1fr))}.metric .value{font-size:clamp(15px,4.6vw,20px)}}.metric .value .metric-2nd{font-weight:500;letter-spacing:0}.metric .sub .metric-2nd,.metric .value .metric-2nd,.metric-2nd{display:block;font-size:13px;margin-top:2px}.rt-sortbar{display:flex;align-items:center;gap:8px;margin-bottom:10px}.rt-sortbar label{font-size:12.5px;color:var(--text-secondary)}.rt-sortbar select{flex:1 1;min-width:0;font:inherit;font-size:13.5px;padding:8px 10px;border-radius:var(--radius-sm)}.rt-sortbar .rt-dir,.rt-sortbar select{border:1px solid var(--border-strong);background:var(--bg-surface);color:var(--text-primary)}.rt-sortbar .rt-dir{width:38px;height:36px;flex:0 0 auto;border-radius:var(--radius-sm);cursor:pointer}.rt-sortbar .rt-dir:hover{background:var(--bg-hover)}.mdomains{background:var(--surface-1);border-bottom:1px solid var(--border);position:relative}.mdomains-row{display:flex;gap:6px;overflow-x:auto;padding:8px 12px;scrollbar-width:none}.mdomains-row::-webkit-scrollbar{display:none}.mchip{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;padding:7px 13px;border-radius:20px;border:1px solid var(--border);background:var(--bg-surface);color:var(--text-secondary);font:inherit;font-size:14px;white-space:nowrap;cursor:pointer}.mchip.active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent);font-weight:500}.mchip .caret{font-size:10px;opacity:.6}.mdomains-menu{border-top:1px solid var(--border);padding:6px;background:var(--surface-1)}.mdomains-menu,.mdomains-menu a{display:flex;flex-direction:column;gap:2px}.mdomains-menu a{padding:10px 12px;border-radius:var(--radius-sm);color:var(--text-primary);font-size:15px}.mdomains-menu a:hover{background:var(--bg-hover)}.mdomains-menu a.is-active{background:var(--accent-soft)}.mdomains-menu a .hint{font-size:12px;color:var(--text-tertiary)}.mdomains-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)}.mdomains-menu a .tag.new{color:var(--warning);border-color:var(--warning)}@media (max-width:768px){.subtabbar:not(.subtabbar-keep){display:none}.admin-surface table{display:block;overflow-x:auto;white-space:nowrap}}.split-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}@media (max-width:768px){.split-2{grid-template-columns:1fr}}.flow-table td,.flow-table th{white-space:nowrap}.ops-group{display:flex;align-items:center;gap:6px;margin:12px 2px 2px;font-size:13px}.ops-group .ops-group-sum{margin-left:auto;font-weight:600}.strat-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.strat-bar label{font-size:13px;color:var(--text-secondary)}.strat-bar select{min-width:220px;font:inherit;font-size:14px;font-weight:500;padding:8px 10px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg-surface);color:var(--text-primary)}.strat-bar-actions{display:flex;gap:8px;margin-left:auto}.strat-new{display:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:1px dashed var(--border)}.strat-new input{flex:1 1}@media (max-width:768px){.strat-bar{flex-direction:column;align-items:stretch}.strat-bar select{min-width:0;width:100%}.strat-bar-actions{margin-left:0}.strat-bar-actions button{flex:1 1}}.strat-class{border:1px solid var(--border);border-radius:8px;padding:10px}.strat-class-head{display:flex;gap:8px;align-items:center;margin-bottom:8px}.strat-class-head .strat-class-name{flex:1 1;min-width:0}@media (max-width:768px){.strat-class-head{flex-wrap:wrap}.strat-class-head .strat-class-name{flex:1 1 100%}.strat-class-head .strat-class-kind{flex:1 1 auto;min-width:0}}.asset-cards{display:flex;flex-direction:column;gap:8px}.asset-card{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);padding:10px 12px;color:var(--text-primary)}.asset-card:hover{background:var(--bg-hover)}.asset-card .ac-star{flex:0 0 auto}.asset-card .ac-main{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.asset-card .ac-tk{display:flex;align-items:center;gap:6px;min-width:0}.asset-card .ac-tk .muted{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.asset-card .ac-val{flex:0 0 auto;text-align:right;white-space:nowrap;display:flex;flex-direction:column;gap:2px}.asset-card .ac-price{font-weight:600}.profile-grid{display:grid;grid-template-columns:160px 1fr;grid-gap:10px 16px;gap:10px 16px;align-items:center}.profile-grid .profile-desc{grid-column:2;margin-top:-4px}@media (max-width:640px){.profile-grid{grid-template-columns:1fr}.profile-grid>label{margin-top:6px}.profile-grid .profile-desc{grid-column:1;margin-top:0}}