:root{--canvas: #f3f5f8;--surface: #ffffff;--sunken: #f7f9fb;--hover: #f0f3f7;--border: #e1e6ed;--border-strong: #cbd3de;--ink: #0e1b2c;--ink-2: #3e4c60;--ink-3: #5f6e83;--navy: #0f2a47;--navy-deep: #0a1c33;--accent: #1e5aae;--accent-hover: #194c95;--accent-press: #143f7d;--accent-soft: #ebf1fa;--accent-soft-2: #dbe6f6;--accent-ring: rgba(30, 90, 174, .18);--pos: #0b7a4b;--neg: #c0392b;--score: #9a5b00;--primary: var(--accent);--shaded: var(--sunken);--radius-ctl: 6px;--radius-card: 10px;--shadow-card: 0 1px 2px rgba(14, 27, 44, .04);--shadow-pop: 0 8px 24px rgba(14, 27, 44, .12), 0 2px 6px rgba(14, 27, 44, .06);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-std: cubic-bezier(.2, 0, 0, 1);--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, "Helvetica Neue", Arial, "Liberation Sans", sans-serif;--font-mono: "SF Mono", "JetBrains Mono", "Cascadia Mono", Menlo, Consolas, "Liberation Mono", monospace;--topbar-h: 56px;--sider-w: 288px;--rail-w: 64px;--page-pad: 28px;--chart-size: 150px;--chart-col-gap: 18px;--chart-future-gap: 100px;--chart-row-gap: 28px;--thumb-size: 60px;--thumb-col-gap: 22px;--thumb-future-gap: 50px;--thumb-row-gap: 14px;--thumb-label-w: 80px}.brand-mark{display:inline-flex;align-items:center;gap:10px;min-width:0}.brand-logo-tile{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.brand-logo{display:block}.brand-name{font-size:18px;font-weight:700;letter-spacing:-.01em;color:var(--navy);line-height:1}.brand-mark-auth .brand-logo-tile,.brand-mark-footer .brand-logo-tile{width:44px;height:44px;border-radius:10px;background:#fff;box-shadow:0 1px #fff6 inset,0 6px 16px #040c1859}.brand-mark-auth .brand-name,.brand-mark-footer .brand-name{font-size:22px;color:#fff}.topbar-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 10px;border:0;border-radius:var(--radius-ctl);background:transparent;color:var(--ink-2);font:inherit;font-size:14px;font-weight:500;line-height:1;text-decoration:none;cursor:pointer;transition:background-color .12s var(--ease-std),color .12s var(--ease-std),transform 80ms var(--ease-std)}.topbar-btn:hover,.topbar-btn.ant-dropdown-open,.topbar-btn.ant-popover-open{background:var(--hover);color:var(--ink)}.topbar-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.topbar-btn:active{transform:translateY(1px)}.topbar-btn .anticon{font-size:15px}.topbar-caret.anticon{font-size:10px;color:var(--ink-3)}@media (max-width: 768px){.topbar-btn-label{display:none}}.lang-option{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-width:112px}.lang-option .anticon{color:var(--accent);font-size:12px}.site-footer{--footer-pad-y: 16px;--footer-font-size: 13px;--footer-line-height: 1.55;--footer-logo-box: 56px;--footer-logo-size: 44px;--footer-name-size: 28px;--footer-col-align: center;--footer-title: #ffffff;--footer-text: #9fb0c6;--footer-link: #dbe5f2;--footer-focus: #8fb6ef;container-type:inline-size;background:var(--navy-deep);border-top:1px solid rgba(255,255,255,.08);color:var(--footer-text)}.site-footer-inner{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:14px 24px;padding:var(--footer-pad-y) var(--footer-pad, var(--page-pad)) max(var(--footer-pad-y),env(safe-area-inset-bottom))}.site-footer-brand{align-self:center;justify-self:center}.brand-mark-footer{gap:14px}.brand-mark-footer .brand-logo-tile{width:var(--footer-logo-box);height:var(--footer-logo-box);border-radius:12px}.brand-mark-footer .brand-logo{width:var(--footer-logo-size);height:var(--footer-logo-size)}.brand-mark-footer .brand-name{font-size:var(--footer-name-size)}.site-footer-col{justify-self:var(--footer-col-align);min-width:0;max-width:100%}.site-footer-title{margin:0 0 4px;font-size:var(--footer-font-size);font-weight:600;line-height:1.5;color:var(--footer-title);white-space:nowrap}.site-footer-lines{display:flex;flex-direction:column;align-items:flex-start;margin:0;padding:0;list-style:none;font-style:normal;font-size:var(--footer-font-size);line-height:var(--footer-line-height);text-wrap:pretty}.site-footer-link{position:relative;display:inline-flex;align-items:center;gap:5px;max-width:100%;border-radius:3px;color:var(--footer-link);text-decoration:none;transition:color .12s var(--ease-std)}.site-footer-link>span{min-width:0;overflow-wrap:anywhere}.site-footer-keep,.site-footer-link[target=_blank]{white-space:nowrap}.site-footer-link:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}.site-footer-link:focus-visible{outline:2px solid var(--footer-focus);outline-offset:1px}.site-footer-ext.anticon{flex:0 0 auto;font-size:11px;opacity:.7}@media (pointer: coarse){.site-footer-link:after{content:"";position:absolute;top:-8px;right:-6px;bottom:-8px;left:-6px}}@container (max-width: 720px){.site-footer-inner{grid-template-columns:auto auto;justify-content:space-evenly}.site-footer-brand{grid-column:1 / -1}}.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}html,body,#root{height:100%;margin:0}body{background:var(--canvas);color:var(--ink);font-family:var(--font-sans);font-size:14px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:manipulation;-webkit-tap-highlight-color:rgba(30,90,174,.12)}::selection{background:var(--accent-soft-2);color:var(--ink)}.ant-table,.slider-val,.side-field-value,.meta-chip dd{font-variant-numeric:tabular-nums}.side-nav-item:focus-visible,.side-collapse:focus-visible,.account-item:focus-visible,.label-info-icon:focus-visible,.topbar-brand:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ant-btn:not(:disabled):active,.side-nav-item:active,.side-collapse:active{transform:translateY(1px)}.ant-btn{transition-property:color,background-color,border-color,box-shadow,transform}.btn-caret{font-size:10px;margin-inline-start:2px;opacity:.7}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.app-shell{min-height:100dvh;display:flex;flex-direction:column;background:var(--canvas)}.app-topbar{flex:0 0 var(--topbar-h);height:var(--topbar-h);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 16px 0 20px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50}.topbar-left,.topbar-right{display:flex;align-items:center;gap:4px;min-width:0}.topbar-brand{display:inline-flex;align-items:center;border-radius:var(--radius-ctl);text-decoration:none}.topbar-menu-btn{width:34px;justify-content:center;padding:0;margin-right:4px}.topbar-btn.topbar-toggle{height:32px;margin-inline-end:6px;border:1px solid var(--accent);background:var(--surface);color:var(--accent);font-weight:600}.topbar-btn.topbar-toggle:hover{background:var(--accent-soft);color:var(--accent-hover)}.topbar-btn.topbar-toggle.is-on{background:var(--accent);color:#fff}.topbar-btn.topbar-toggle.is-on:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}.topbar-sep{width:1px;height:20px;margin:0 6px;background:var(--border)}.account-trigger{padding:0 8px 0 4px;gap:8px}.account-avatar{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;font-size:12px;font-weight:600;flex:0 0 auto}.account-avatar.is-large{width:36px;height:36px;font-size:15px}.account-trigger-name{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1.5;color:var(--ink-2)}.account-popover .ant-popover-inner{padding:6px;border-radius:var(--radius-card)}.account-panel{width:264px}.account-panel-head{display:flex;align-items:center;gap:10px;padding:10px 10px 12px;border-bottom:1px solid var(--border);margin-bottom:6px}.account-panel-id{display:flex;flex-direction:column;gap:2px;min-width:0}.account-panel-caption{font-size:12px;color:var(--ink-3)}.account-panel-email{font-size:13px;font-weight:600;color:var(--ink);overflow-wrap:anywhere}.account-panel-list{display:flex;flex-direction:column;gap:2px}.account-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;align-items:center;gap:10px;width:100%;height:36px;padding:0 10px;border:0;border-radius:var(--radius-ctl);background:transparent;color:var(--ink-2);font:inherit;font-size:14px;text-align:left;cursor:pointer;transition:background-color .12s var(--ease-std),color .12s var(--ease-std)}.account-item:hover{background:var(--hover);color:var(--ink)}.account-item.is-danger{color:var(--neg)}.account-item.is-danger:hover{background:#fbeeec}.account-item:disabled{opacity:.6;cursor:progress}.account-item-label{flex:1 1 auto;min-width:0}.account-item--review{background:#fdf3f1}.account-item--review:hover{background:#f8e8e6;color:var(--ink)}.account-item--review .account-item-label{flex:0 1 auto;padding-right:4px}.account-item-badge{flex:0 0 auto;line-height:1}.account-item-badge .ant-badge-count{box-shadow:0 0 0 1px var(--surface);font-variant-numeric:lining-nums}.account-avatar-badge{line-height:0}.account-avatar-badge .ant-badge-count{box-shadow:0 0 0 1px var(--surface);font-variant-numeric:lining-nums}.account-contact{display:flex;flex-direction:column;gap:2px;margin:2px 10px 6px 36px;animation:fade-rise .16s var(--ease-out)}.account-contact-email{font-size:13px;color:var(--ink);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.account-sep{height:1px;margin:6px 4px;background:var(--border)}.app-body{flex:1 0 auto;display:flex}.app-sider{flex:0 0 var(--sider-w);width:var(--sider-w);min-width:0;display:flex;flex-direction:column;position:sticky;top:var(--topbar-h);align-self:flex-start;height:calc(100dvh - var(--topbar-h));background:var(--surface);border-right:1px solid var(--border);transition:flex-basis .22s var(--ease-std),width .22s var(--ease-std);overflow:hidden}.app-sider.is-collapsed{flex-basis:var(--rail-w);width:var(--rail-w)}.app-sider.is-drawer{position:static;align-self:stretch;height:auto;flex:1 1 auto;width:100%;min-height:0;border-right:0}.side-nav{flex:0 0 auto;display:flex;flex-direction:column;gap:2px;padding:12px;border-bottom:1px solid var(--border)}.side-nav-item{display:flex;align-items:center;gap:10px;height:38px;padding:0 10px;border-radius:var(--radius-ctl);color:var(--ink-2);font-size:14px;font-weight:500;text-decoration:none;white-space:nowrap;transition:background-color .12s var(--ease-std),color .12s var(--ease-std),transform 80ms var(--ease-std)}.side-nav-item:hover{background:var(--hover);color:var(--ink)}.side-nav-item.is-active{background:var(--accent-soft);color:var(--accent);font-weight:600}.side-nav-icon{display:inline-flex;width:18px;justify-content:center;font-size:16px;color:var(--ink-3);transition:color .12s var(--ease-std)}.side-nav-item:hover .side-nav-icon{color:var(--ink-2)}.side-nav-item.is-active .side-nav-icon{color:var(--accent)}.side-nav.is-collapsed{align-items:center;padding:12px 0}.side-nav.is-collapsed .side-nav-item{width:40px;height:40px;padding:0;justify-content:center}.side-panel{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;padding:4px 0 12px;animation:fade-in .22s var(--ease-out)}.side-panel::-webkit-scrollbar{width:6px}.side-panel::-webkit-scrollbar-thumb{background:#cfd7e1;border-radius:3px}.side-panel::-webkit-scrollbar-track{background:transparent}.side-spacer{flex:1 1 auto}.side-group{padding:16px 16px 4px 18px}.side-group+.side-group{border-top:1px solid var(--border);margin-top:8px}.side-group-title{margin:0 0 12px;font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--ink-3)}.side-group-title .label-info-icon{font-size:12px}.side-group-body{display:flex;flex-direction:column;gap:14px}.side-field{display:flex;flex-direction:column;gap:6px;min-width:0}.side-field-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-height:20px}.side-field-label{font-size:13px;font-weight:500;color:var(--ink-2);line-height:1.4}.side-field-value{font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--accent);padding:1px 6px;border-radius:4px;background:var(--accent-soft)}.side-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:28px}.side-toggle .side-field-label{min-width:0;overflow-wrap:anywhere}.side-toggle-hint{margin-inline-start:6px;font-size:11px;font-weight:400;color:var(--ink-3)}.side-note{margin:0;font-size:12px;line-height:1.55;color:var(--ink-3)}.label-with-info{display:inline-flex;align-items:center;gap:6px}.label-info-icon{font-size:13px;color:var(--ink-3);cursor:help;border-radius:50%;transition:color .12s var(--ease-std)}.label-info-icon:hover{color:var(--accent)}.tip-lines{display:flex;flex-direction:column;gap:2px}.tip-link{align-self:flex-start;margin-top:2px;color:#a9c8f5;text-decoration:underline;text-underline-offset:2px}.tip-link:hover{color:#fff}.tip-link:focus-visible{outline:2px solid #8fb6ef;outline-offset:1px;border-radius:2px}.side-segmented.ant-segmented{font-size:13px}.side-segmented .ant-segmented-item-label{padding-inline:4px}.side-slider.ant-slider{margin:4px 6px 2px}.side-checks.ant-checkbox-group{display:flex;flex-direction:column;gap:8px}.side-checks.is-inline{flex-direction:row;flex-wrap:wrap;column-gap:16px;row-gap:8px}.side-checks .ant-checkbox-wrapper{font-size:13px;color:var(--ink);margin-inline-start:0}.market-selector{display:flex;flex-direction:column;gap:8px}.market-facts{display:flex;flex-wrap:wrap;column-gap:16px;row-gap:2px;margin:0;font-size:12px}.market-facts>div{display:inline-flex;gap:6px}.market-facts dt{color:var(--ink-3)}.market-facts dd{margin:0;color:var(--ink);font-weight:600}.side-actions{flex:0 0 auto;display:flex;flex-direction:column;gap:8px;padding:12px 16px;border-top:1px solid var(--border);background:var(--surface)}.side-action-primary.ant-btn{height:40px;font-weight:600}.side-actions-note{margin:0;font-size:12px;line-height:1.45;color:var(--accent)}.side-actions-note:empty{display:none}.side-footer{flex:0 0 auto;padding:8px 12px 10px;border-top:1px solid var(--border)}.side-collapse{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;align-items:center;gap:8px;width:100%;height:32px;padding:0 8px;border:0;border-radius:var(--radius-ctl);background:transparent;color:var(--ink-3);font:inherit;font-size:13px;cursor:pointer;transition:background-color .12s var(--ease-std),color .12s var(--ease-std)}.side-collapse:hover{background:var(--hover);color:var(--ink)}.app-sider.is-collapsed .side-footer{padding:8px 0 10px;display:flex;justify-content:center}.app-sider.is-collapsed .side-collapse{width:40px;justify-content:center;padding:0}.side-drawer .ant-drawer-header{padding:12px 16px}.side-drawer .ant-drawer-title{font-size:14px;font-weight:600}.side-drawer .ant-drawer-body{display:flex;flex-direction:column;overscroll-behavior:contain}.app-main-frame{flex:1 1 auto;min-width:0;position:relative;overflow-x:clip}.app-main{padding:24px var(--page-pad) 40px}html:has(.app-shell){scrollbar-gutter:stable;scroll-padding-top:calc(var(--topbar-h) + 8px)}.page-enter{animation:fade-rise .26s var(--ease-out)}.result-enter{animation:fade-rise .32s var(--ease-out)}@keyframes fade-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.page-head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:12px 24px;margin-bottom:20px}.page-head-text{min-width:0}.page-title{margin:0 0 4px;font-size:22px;font-weight:650;letter-spacing:-.01em;line-height:1.25;color:var(--ink);text-wrap:balance}.page-subtitle{margin:0;font-size:13px;line-height:1.5;color:var(--ink-3)}.page-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.page-alert{margin-bottom:16px}.capture-area{min-height:200px}.empty-state{min-height:calc(100dvh - var(--topbar-h) - 200px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border:1px dashed var(--border-strong);border-radius:var(--radius-card);background:var(--surface);color:var(--ink-3);animation:fade-in .24s var(--ease-out)}.empty-state-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:22px}.empty-state-text{margin:0;font-size:14px;color:var(--ink-2);text-align:center;padding:0 16px}.section-label{display:block;margin:28px 0 10px;font-size:15px;font-weight:600;line-height:1.4;color:var(--ink)}.capture-area>.result-enter>.section-label:first-child,.result-enter>.section-label:first-child,.result-enter>.section-header-row:first-child .section-label{margin-top:0}.section-header-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;margin:28px 0 10px}.section-header-row .section-label{margin:0}.result-enter>.section-header-row:first-child{margin-top:0}.section-hint{font-size:12px;color:var(--ink-3)}.section-header-control{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px}.section-header-control-label{font-size:12px;font-weight:500;color:var(--ink-3)}.metrics-decile-select{min-width:96px}.metrics-decile-select.is-date{min-width:128px}.scale-grid{display:grid;grid-template-columns:var(--chart-size) var(--chart-size) var(--chart-size) var(--chart-size);column-gap:var(--chart-col-gap);row-gap:var(--chart-row-gap);justify-content:center;margin:0 auto}.scale-grid>.scale-cell:nth-child(4){margin-left:calc(var(--chart-future-gap) - var(--chart-col-gap))}.scale-cell{display:flex;flex-direction:column;align-items:center}.scale-cell .scale-title{font-size:12px;font-weight:600;color:var(--ink-2);margin-bottom:6px;text-transform:capitalize}.scale-img{width:var(--chart-size);height:var(--chart-size);aspect-ratio:1 / 1;image-rendering:pixelated;image-rendering:-moz-crisp-edges;background:#fff;border:1px solid var(--border-strong);border-radius:0;display:block}.scale-img.query-frame{border:2px solid var(--accent)}.result-card,.query-card,.overview-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.result-card{padding:14px 16px;margin-bottom:12px;transition:border-color .16s var(--ease-std),box-shadow .16s var(--ease-std)}.result-card:hover{border-color:var(--border-strong);box-shadow:0 2px 8px #0e1b2c0f}.result-card.shaded{background:var(--sunken)}.query-card{padding:14px 16px}.overview-card{padding:16px 18px}.meta-chips{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:16px;row-gap:4px;margin:0;min-width:0}.meta-chip{display:inline-flex;align-items:baseline;gap:4px;min-width:0}.meta-chip dt{font-size:12px;font-weight:400;color:var(--ink-3);white-space:nowrap}.meta-chip dt:after{content:":"}.meta-chip dd{margin:0;font-size:13px;font-weight:600;color:var(--ink);overflow-wrap:anywhere}.param-horizon,.param-count{display:inline-block;padding:0 5px;border-radius:4px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.45;white-space:nowrap}.param-horizon{background:var(--accent-soft-2);color:var(--accent-press)}.param-count{color:var(--ink);box-shadow:inset 0 0 0 1px var(--border-strong)}.meta-chip dd.tone-pos{color:var(--pos)}.meta-chip dd.tone-neg{color:var(--neg)}.meta-chip dd.tone-score{color:var(--score)}.meta-chip dd .masked-value{color:var(--accent)}.meta-chips-sub{column-gap:12px;margin:2px 0 10px}.meta-chips-sub .meta-chip dt,.meta-chips-sub .meta-chip dd{font-size:11px;font-weight:400;color:var(--ink-3)}.meta-chips-sub .meta-chip dd{font-family:var(--font-mono)}.result-head{display:flex;flex-wrap:wrap;align-items:center;column-gap:12px;row-gap:6px;margin-bottom:4px}.result-outcome{margin-left:auto}.meta-chip.is-slot{visibility:hidden}.query-header-line{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:14px;row-gap:4px;padding-bottom:10px;margin-bottom:12px;border-bottom:1px solid var(--border)}.query-header-title{font-size:14px;font-weight:650;color:var(--accent)}.rank-badge{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:22px;padding:0 6px;border-radius:4px;background:var(--navy);color:#fff;font-family:var(--font-mono);font-size:12px;font-weight:600;margin-right:2px}.score-pill{color:var(--score);font-weight:700}.ret-pos{color:var(--pos);font-weight:600}.ret-neg{color:var(--neg);font-weight:600}.overview-row{display:grid;grid-template-columns:var(--thumb-label-w) var(--thumb-size) var(--thumb-size) var(--thumb-size) calc(var(--thumb-size) + var(--thumb-future-gap) - var(--thumb-col-gap));column-gap:var(--thumb-col-gap);row-gap:var(--thumb-row-gap);align-items:center;justify-content:center;margin-bottom:var(--thumb-row-gap)}.overview-row>.scale-img:nth-child(5),.overview-row>.shown-future:nth-child(5){justify-self:end}.overview-row .row-label{text-align:right;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink-2);white-space:normal;word-break:break-word;padding-right:4px;line-height:1.3}.overview-row .row-label.is-query{color:var(--accent)}.overview-thumbs-title{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:10px}.overview-col-heads{margin-bottom:6px}.overview-col-head{display:flex;justify-content:center;width:var(--thumb-size);font-size:11px;font-weight:600;color:var(--ink-3);text-align:center;text-transform:capitalize;white-space:nowrap}.overview-col-heads>.overview-col-head:nth-child(5){justify-self:end}.overview-row .scale-img{width:var(--thumb-size);height:var(--thumb-size);border-radius:0}.overview-row.shaded{background:none;padding:0}.shaded-row-bg{background:var(--sunken);border-radius:6px;padding:var(--ov-shade-pad) 0;margin-bottom:var(--thumb-row-gap)}.shaded-row-bg>.overview-row{margin-bottom:0}.overview-card{container-type:inline-size;--ov-visible-ranks: 6;--ov-row-h: calc(var(--thumb-size) + 2px);--ov-shade-pad: 10px}.overview-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:0;row-gap:16px;align-items:stretch}.overview-split-thumbs{min-width:0;padding-right:24px}.overview-split-thumbs .overview-row{justify-content:center}.overview-scroll-frame{position:relative}.overview-scroll{--ov-pitch: calc(var(--ov-row-h) + var(--thumb-row-gap));max-height:calc(var(--ov-visible-ranks) * var(--ov-pitch));overflow-x:hidden;overflow-y:auto;scroll-snap-type:y mandatory;scrollbar-gutter:stable both-edges;scrollbar-width:thin}.overview-scroll.is-paired{--ov-pitch: calc(2 * (var(--ov-row-h) + var(--thumb-row-gap)) + 2 * var(--ov-shade-pad))}.overview-scroll>.overview-row{scroll-snap-align:start}.overview-scroll::-webkit-scrollbar{width:6px}.overview-scroll::-webkit-scrollbar-thumb{background:#cfd7e1;border-radius:3px}.overview-scroll::-webkit-scrollbar-track{background:transparent}.overview-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.overview-scroll-sentinel{height:0}.overview-scroll-frame:before,.overview-scroll-frame:after{content:"";position:absolute;left:0;right:0;height:12px;pointer-events:none;opacity:0;transition:opacity .16s var(--ease-std)}.overview-scroll-frame:before{top:0;background:linear-gradient(#0e1b2c1a,#0e1b2c00)}.overview-scroll-frame:after{bottom:0;background:linear-gradient(#0e1b2c00,#0e1b2c1a)}.overview-scroll-frame.has-above:before,.overview-scroll-frame.has-below:after{opacity:1}.is-capturing .overview-scroll{overflow-y:hidden}.is-capturing .overview-scroll-frame:before,.is-capturing .overview-scroll-frame:after{opacity:0;transition:none}.overview-split-chart{display:flex;flex-direction:column;gap:16px;min-width:0;padding-left:24px;border-left:1px solid var(--border)}@container (max-width: 900px){.overview-split{grid-template-columns:minmax(0,1fr)}.overview-split-thumbs{padding-right:0}.overview-split-chart{padding-left:0;padding-top:12px;border-left:0;border-top:1px solid var(--border)}.overview-split-chart .return-chart{min-height:320px}}.return-chart{display:flex;flex-direction:column;flex:1 1 0;min-height:260px}.return-chart-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;column-gap:16px;row-gap:4px;margin-bottom:4px}.return-chart-title{font-size:13px;font-weight:600;color:var(--ink)}.return-chart-legend{display:flex;flex-wrap:wrap;column-gap:12px;row-gap:2px;font-size:11px;color:var(--ink-3)}.return-chart-legend>span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.legend-dot{display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;border-radius:50%;font-style:normal;font-size:8px;font-weight:700;line-height:1}.legend-dot.is-pos{background:#12692f}.legend-dot.is-neg{background:#ec6a5e}.legend-dot.is-rank{width:14px;height:14px;color:var(--ink);background:#fff;border:1px solid #8c959f}.legend-line{display:inline-block;flex:0 0 auto;width:3px;height:12px;border-radius:1px}.dist-tip-head .legend-line{margin-right:6px;vertical-align:-1px}.return-chart-legend .legend-line{opacity:.7}.return-chart-legend .legend-dot.is-pos,.return-chart-legend .legend-dot.is-neg{opacity:.8}.dist-tip-row{display:flex;justify-content:space-between;gap:12px}.dist-tip-more{color:var(--ink-3)}.legend-bar{display:inline-block;flex:0 0 auto;width:8px;height:11px;border-radius:1px 1px 0 0;background:#b0c5e3}.legend-curve{display:inline-block;flex:0 0 auto;width:14px;height:2px;border-radius:1px;background:#1e5aae}.return-chart-frame{position:relative;flex:1 1 auto;min-height:240px}.return-chart-frame .js-plotly-plot,.return-chart-frame>div:not(.dist-tip){position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;height:100%!important}.dist-tip{position:absolute;z-index:20;pointer-events:none;padding:6px 9px;background:#fff;border:1px solid var(--border-strong);border-radius:6px;box-shadow:var(--shadow-pop);font-size:12px;line-height:1.5;color:var(--ink);text-align:left;white-space:nowrap}.dist-tip.is-left{transform:translate(calc(-100% - 14px),-50%)}.dist-tip.is-right{transform:translate(14px,-50%)}.dist-tip-head{font-weight:700}.dist-tip:before,.dist-tip:after{content:"";position:absolute;top:50%;border:7px solid transparent;transform:translateY(-50%)}.dist-tip.is-left:before{left:100%;border-left-color:var(--border-strong)}.dist-tip.is-left:after{left:calc(100% - 1px);border-left-color:#fff}.dist-tip.is-right:before{right:100%;border-right-color:var(--border-strong)}.dist-tip.is-right:after{right:calc(100% - 1px);border-right-color:#fff}.return-chart-empty{flex:1 1 auto;display:flex;align-items:center;justify-content:center;color:var(--ink-3);font-size:13px}.slider-val{display:inline-block;background:var(--accent-soft);color:var(--accent);font-weight:700;padding:0 6px;border-radius:4px;margin-left:2px}.query-anchor{position:relative;margin-top:28px}.query-anchor>.section-label{margin-top:0}.query-anchor-marker{position:absolute;left:0;right:0;bottom:var(--pin-h, 0px);height:0;pointer-events:none}.query-pin{--anchor-pin-size: 64px;position:sticky;top:var(--topbar-h);z-index:30;margin:0 calc(-1 * var(--page-pad)) calc(-1 * var(--pin-h, 0px));padding:8px var(--page-pad);background:var(--canvas);box-shadow:0 1px 0 var(--border),0 6px 12px -8px #0e1b2c2e;pointer-events:none;visibility:hidden;opacity:0;transition:opacity .12s var(--ease-std),visibility 0s linear .12s}.query-pin.is-shown{pointer-events:auto;visibility:visible;opacity:1;transition:opacity .12s var(--ease-std),visibility 0s}.query-pin .scale-img{width:var(--anchor-pin-size);height:var(--anchor-pin-size)}.query-pin .scale-grid{column-gap:14px;row-gap:4px}.query-pin .query-card{padding:6px 16px}.query-pin .scale-cell .scale-title{font-size:11px;margin-bottom:2px}.query-pin .query-header-line{padding-bottom:6px;margin-bottom:6px}.query-pin .scale-img.masked-future{font-size:18px}.is-capturing .query-pin{display:none}.scale-img.masked-future{display:flex;align-items:center;justify-content:center;font:700 28px/1 -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--accent);background:repeating-linear-gradient(45deg,#f5f7fa,#f5f7fa 6px,#e7ecf2 6px,#e7ecf2 12px)}button.future-toggle{box-sizing:content-box;margin:0;padding:0;cursor:pointer}button.future-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.scale-img.masked-future.future-toggle{transition:color .12s var(--ease-std)}.scale-img.masked-future.future-toggle:hover{color:var(--accent-hover);background:repeating-linear-gradient(45deg,var(--accent-soft),var(--accent-soft) 6px,var(--accent-soft-2) 6px,var(--accent-soft-2) 12px)}.shown-future.future-toggle{display:block;border:0;background:none;line-height:0}.shown-future.future-toggle>.scale-img{transition:box-shadow .12s var(--ease-std)}.shown-future.future-toggle:hover>.scale-img{box-shadow:0 0 0 3px var(--accent-soft-2)}.masked-value.future-toggle,.shown-value.future-toggle{border:0;border-radius:3px;background:none;font:inherit;color:inherit}.masked-value.future-toggle{color:var(--accent)}.masked-value.future-toggle:hover{color:var(--accent-hover)}.masked-value.future-toggle:hover,.shown-value.future-toggle:hover{background:var(--accent-soft)}.stock-select-popup{display:flex;align-items:stretch}.stock-select-popup .stock-select-menu{flex:1;min-width:0}.stock-select-popup .stock-select-letters{display:flex;flex-direction:column;align-items:stretch;border-left:1px solid var(--border);background:var(--sunken);padding:2px 0;-webkit-user-select:none;user-select:none;max-height:360px;overflow-y:auto}.stock-select-popup .letter{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;font:600 11px var(--font-mono);color:var(--accent);padding:1px 8px;cursor:pointer;line-height:1.4}.stock-select-popup .letter:hover{background:var(--accent-soft)}.stock-select-popup .letter.disabled{color:#b3bdc9;cursor:default}.stock-select-popup .letter.disabled:hover{background:transparent}.pf-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:14px 16px;margin-bottom:8px}.pf-card.is-flush{padding:0;overflow:hidden}.pf-card.is-flush .ant-table{border-radius:0}.pf-method-block+.pf-method-block{margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.pf-method-title{font-size:13px;font-weight:600;color:var(--ink-2);margin-bottom:6px}.metrics-row-stripe>td{background:var(--sunken)!important}.ant-table-wrapper .ant-table-thead>tr>th{font-size:12px;font-weight:600}.constituents-caption{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;font-size:12px;color:var(--ink-3)}.constituents-caption span:only-child{margin-left:auto}.pf-equity-chart,.portfolio-plot-frame{position:relative;width:100%;overflow:hidden}.pf-equity-chart{aspect-ratio:16 / 8;min-height:320px}.portfolio-plot-frame-secondary{aspect-ratio:4 / 3}.pf-equity-chart .js-plotly-plot,.pf-equity-chart>div,.portfolio-plot-frame .js-plotly-plot,.portfolio-plot-frame>div{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;height:100%!important}.portfolio-two-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}@media (max-width: 768px){.portfolio-two-chart-grid{grid-template-columns:1fr}}.side-date{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;height:34px;padding:0 11px;border:1px solid var(--border-strong);border-radius:var(--radius-ctl);background:var(--surface);color:var(--ink);font:inherit;font-size:14px;font-variant-numeric:tabular-nums;text-align:left;cursor:pointer;transition:border-color .12s ease}.side-date .anticon{color:var(--ink-3)}.side-date.is-empty .side-date-text{color:#8a96a6}.side-date:hover:not(:disabled){border-color:#9fb3cf}.side-date[aria-expanded=true]{border-color:var(--accent)}.side-date:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.side-date:disabled{background:var(--sunken);color:#9aa6b5;cursor:not-allowed}.side-date-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pfv2-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-bottom:10px}.pfv2-chips{display:flex;flex-wrap:wrap;gap:3px;min-width:0}.pfv2-chip,.pfv2-date{display:inline-flex;align-items:center;gap:5px;min-height:30px;padding:0 6px;border:1px solid var(--border);border-radius:4px;font:inherit;font-size:12px;line-height:1.2;cursor:pointer;touch-action:manipulation;transition:border-color .12s ease,background-color .12s ease,color .12s ease}.pfv2-chip{background:var(--sunken);color:var(--ink-3)}.pfv2-chip:hover:not(:disabled),.pfv2-date:hover{border-color:#9fb3cf;color:var(--ink)}.pfv2-chip:focus-visible,.pfv2-date:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pfv2-chip.is-on{border-color:#b9c4d2;background:var(--surface);color:var(--ink)}.pfv2-chip:disabled{cursor:not-allowed;opacity:.55}.pfv2-chip-key{flex:none;width:10px;height:3px;border-radius:2px;opacity:.35}.pfv2-chip.is-thin .pfv2-chip-key{height:1.5px}.pfv2-chip.is-on .pfv2-chip-key{opacity:1}.pfv2-chip-name{font-weight:600}.pfv2-chip-value,.pfv2-date{font-variant-numeric:tabular-nums}.pfv2-range-group{display:inline-flex;align-items:center;gap:4px;margin-left:auto}.pfv2-reset{min-height:30px;padding:0 8px;border:1px solid #b9c4d2;border-radius:4px;background:var(--surface);color:var(--ink-2);font:inherit;font-size:12px;white-space:nowrap;cursor:pointer;touch-action:manipulation;transition:border-color .12s ease,color .12s ease}.pfv2-reset:hover:not(:disabled){border-color:#9fb3cf;color:var(--ink)}.pfv2-reset:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pfv2-reset:disabled{border-color:var(--border);background:var(--sunken);color:#9aa6b5;cursor:default}.pfv2-date{border-color:#b9c4d2;background:var(--surface);color:var(--ink-2);white-space:nowrap}.pfv2-date[aria-expanded=true]{border-color:var(--accent);color:var(--ink)}.month-cal{width:280px}.month-cal-hint{margin:0 4px 6px;font-size:12px;color:var(--ink-3)}.month-cal-head{display:flex;align-items:center;justify-content:space-between;gap:4px;padding:0 0 6px}.month-cal .ant-picker-calendar{background:transparent}.month-cal .ant-picker-calendar .ant-picker-panel{border-top:0}.month-cal .ant-picker-content td{padding:1px 0}.month-cal-day{display:block;width:100%;height:28px;padding:0;border:0;border-radius:0;background:transparent;color:var(--ink);font:inherit;font-size:12.5px;font-variant-numeric:tabular-nums;cursor:pointer}.month-cal-day.is-outside{color:#9aa6b5}.month-cal-day:hover:not(:disabled):not(.is-in){background:var(--hover)}.month-cal-day.is-in:hover:not(.is-start):not(.is-end){background:var(--accent-soft-2)}.month-cal-day.is-in{background:var(--accent-soft)}.month-cal-day.is-start,.month-cal-day.is-end{background:var(--accent);color:#fff;font-weight:600}.month-cal-day.is-start{border-radius:4px 0 0 4px}.month-cal-day.is-end{border-radius:0 4px 4px 0}.month-cal-day.is-start.is-end{border-radius:4px}.month-cal-day:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.month-cal-day:disabled{color:#c3cbd6;background:transparent;cursor:not-allowed}.pfv2-chart{position:relative;width:100%;min-height:180px}.pfv2-empty{display:flex;align-items:center;justify-content:center;padding:24px 16px;color:var(--ink-3);font-size:13px;text-align:center}.top-progress{position:sticky;top:var(--topbar-h);height:0;z-index:40;pointer-events:none;opacity:0;transition:opacity .15s ease}.top-progress-track{position:absolute;top:0;left:0;right:0;height:2px;overflow:hidden}.busy-rail{position:sticky;top:calc(50dvh + var(--topbar-h) / 2);height:0;z-index:40;pointer-events:none}.top-progress.is-active{opacity:1}.top-progress-bar{width:40%;height:100%;background:var(--accent);border-radius:0 2px 2px 0;transform:translate(-100%)}.top-progress.is-active .top-progress-bar{animation:top-progress-slide 1.2s cubic-bezier(.4,0,.2,1) infinite}@keyframes top-progress-slide{0%{transform:translate(-100%)}to{transform:translate(250%)}}@media (prefers-reduced-motion: reduce){.top-progress.is-active .top-progress-bar{width:100%;transform:none;animation:none}}.busy-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:40;display:inline-flex;align-items:center;gap:10px;color:var(--accent);font-size:18px;font-weight:600;white-space:nowrap;pointer-events:none;text-shadow:0 0 3px var(--canvas),0 0 6px var(--canvas),0 0 10px var(--canvas);animation:fade-in .2s var(--ease-out)}.is-refreshing{opacity:.45;transition:opacity .2s ease}.page-loading{height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--ink-3);font-size:14px}.skeleton-block{background:linear-gradient(90deg,#eaeef3,#f5f7fa,#eaeef3 80%);background-size:200% 100%;border-radius:4px;animation:skeleton-shimmer 1.4s ease-in-out infinite}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion: reduce){.skeleton-block{animation:none}}.skeleton-label{width:96px;height:18px;margin-bottom:10px}.skeleton-line{height:14px;margin-bottom:12px}.skeleton-row-label{width:28px;height:14px;justify-self:end}.skeleton-thumb.scale-img{border:0;background:linear-gradient(90deg,#eaeef3,#f5f7fa,#eaeef3 80%);background-size:200% 100%}.skeleton-chart{flex:1 1 auto;min-height:240px}.skeleton-fill{position:absolute;top:0;right:0;bottom:0;left:0}.side-skeleton .side-group{padding-top:18px}.auth-shell{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);background:var(--surface)}.auth-hero{position:relative;display:flex;flex-direction:column;gap:40px;padding:40px clamp(32px,5vw,72px) 36px;overflow:hidden;color:#fff;background:radial-gradient(120% 80% at 100% 0%,#3a76d647,#3a76d600 55%),radial-gradient(90% 70% at 0% 100%,#174d8c73,#174d8c00 60%),linear-gradient(160deg,#0a1c33,#0f2a47 55%,#123661)}.auth-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px);background-size:22px 22px;-webkit-mask-image:linear-gradient(180deg,#000000e6,#0003);mask-image:linear-gradient(180deg,#000000e6,#0003)}.auth-hero>*{position:relative}.auth-hero-main{display:flex;flex-direction:column;gap:clamp(28px,5vh,48px);margin-block:auto;padding-bottom:44px}.auth-hero-copy{max-width:34rem;animation:fade-rise .42s var(--ease-out) 60ms both}.auth-hero-title{margin:0 0 14px;font-size:clamp(26px,2.4vw,34px);font-weight:650;line-height:1.2;letter-spacing:-.015em;color:#fff;text-wrap:balance}.auth-hero-body{margin:0;max-width:44ch;font-size:15px;line-height:1.65;color:#e2eaf5c7;text-wrap:pretty}.auth-chart{display:block;width:calc(100% + 2*clamp(32px,5vw,72px));height:auto;max-height:340px;margin:0 calc(-1*clamp(32px,5vw,72px))}.auth-chart-grid line{stroke:#ffffff12;stroke-width:1}.auth-candle line{stroke-width:1}.auth-candle.is-up line,.auth-candle.is-up rect{stroke:#d6e2f280;fill:#d6e2f280}.auth-candle.is-down line,.auth-candle.is-down rect{stroke:#8ca0be73;fill:#8ca0be73}.auth-candle.is-hot.is-up line,.auth-candle.is-hot.is-up rect{stroke:#5fd0a0;fill:#5fd0a0}.auth-candle.is-hot.is-down line,.auth-candle.is-hot.is-down rect{stroke:#f08a7e;fill:#f08a7e}.auth-candle rect{stroke-width:0}.auth-candle{animation:candle-in .42s var(--ease-out) both;animation-delay:calc(var(--i) * 14ms + .12s)}@keyframes candle-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.auth-chart-window{fill:#78aaf014;stroke:#96bef573;stroke-width:1;stroke-dasharray:4 3;animation:fade-in .36s var(--ease-out) 1.05s both}.auth-chart-window.is-query{fill:#78aaf024;stroke:#aacdfacc;stroke-dasharray:none}.auth-chart-link{fill:none;stroke:#aacdfab3;stroke-width:1.25;stroke-dasharray:1;stroke-dashoffset:1;animation:link-draw .7s var(--ease-out) 1.3s forwards}@keyframes link-draw{to{stroke-dashoffset:0}}.auth-chart-tag{font-size:12px;font-weight:600;fill:#d6e2f2bf;animation:fade-in .36s var(--ease-out) 1.2s both}.auth-chart-tag.is-query{fill:#cfe0fb}@media (prefers-reduced-motion: reduce){.auth-chart-link{stroke-dasharray:none;stroke-dashoffset:0}}.auth-main{position:relative;display:flex;flex-direction:column;padding:20px 24px 32px;background:var(--surface)}.auth-main-foot{display:flex;justify-content:flex-end}.auth-form-wrap{width:100%;max-width:380px;margin:auto;padding:48px 0 24px;animation:fade-rise .36s var(--ease-out) both}.auth-title{margin:0 0 6px;font-size:26px;font-weight:650;letter-spacing:-.01em;color:var(--ink)}.auth-subtitle{margin:0 0 28px;font-size:14px;line-height:1.5;color:var(--ink-3)}.auth-form .ant-form-item{margin-bottom:8px}.auth-form .ant-form-item-label{padding-bottom:2px}.auth-form.ant-form-large .ant-form-item .ant-form-item-label>label{height:auto;font-size:13px;font-weight:600;line-height:1.3;color:var(--ink-2)}.auth-form .ant-form-item-extra{font-size:12px;color:var(--ink-3);margin-top:4px}.auth-form .ant-input-lg,.auth-form .ant-input-affix-wrapper-lg{border-radius:var(--radius-ctl);background:#fff;font-size:15px}.auth-form .ant-input-affix-wrapper-lg>input.ant-input{background:transparent;box-shadow:none}.auth-form .ant-input-password-icon.anticon{color:var(--ink-3)}.auth-form .ant-input-password-icon.anticon:hover{color:var(--ink)}.auth-form input:-webkit-autofill,.auth-form input:-webkit-autofill:hover,.auth-form input:-webkit-autofill:focus{-webkit-text-fill-color:var(--ink);-webkit-box-shadow:0 0 0 1000px #ffffff inset;box-shadow:0 0 0 1000px #fff inset;caret-color:var(--ink);transition:background-color 9999s ease-out 0s}.auth-identity-note{display:flex;gap:8px;align-items:flex-start;margin:0 0 16px;padding:10px 12px;border-radius:var(--radius-ctl);background:#fff8eb;color:var(--score);font-size:13px;line-height:1.5}.auth-identity-note .anticon{margin-top:2px;font-size:15px;flex:none}.auth-alert{margin-bottom:16px}.auth-turnstile{margin:4px 0 12px}.auth-submit.ant-btn{height:44px;font-size:15px;font-weight:600;margin-top:4px}.auth-switch{margin:20px 0 0;text-align:center;font-size:14px;color:var(--ink-3)}.auth-switch a{color:var(--accent);font-weight:600}.auth-switch a:hover{color:var(--accent-hover);text-decoration:underline;text-underline-offset:3px}.auth-shell+.site-footer{--footer-pad: clamp(32px, 5vw, 72px)}@media (max-width: 900px){.auth-shell{grid-template-columns:1fr;grid-template-rows:auto 1fr}.auth-hero{gap:14px;padding:20px 20px 22px}.auth-hero-main{margin-block:4px 0;padding-bottom:0;gap:0}.auth-hero-title{font-size:20px;margin-bottom:0}.auth-hero-body,.auth-chart{display:none}.auth-main{padding:12px 20px 16px}.auth-form-wrap{margin:8px auto 24px;padding-top:16px}.auth-shell+.site-footer{--footer-pad: 20px}}.admin-page{flex:1 0 auto;display:flex;align-items:flex-start;gap:16px;padding:32px 24px}.admin-nav{position:sticky;top:calc(var(--topbar-h) + 16px);display:flex;flex-direction:column;gap:4px;width:156px;flex:none}.admin-nav-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-radius:8px;color:var(--ink-2);text-decoration:none}.admin-nav-item:hover{background:var(--hover);color:var(--ink)}.admin-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:16px}.admin-log-filters-detail{margin-bottom:12px}.admin-log-filter-dropdown{padding:8px}.admin-nav-item.is-active{background:var(--accent-soft, var(--hover));color:var(--ink);font-weight:600}.review-card{flex:1 1 auto;min-width:0;max-width:1100px;padding:24px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);animation:fade-rise .26s var(--ease-out)}.admin-page .review-card{max-width:min(1440px,calc(100vw - 220px))}.admin-log-table .ant-table-thead>tr>th,.admin-log-table .ant-table-tbody>tr>td{padding:6px 10px;font-size:13px}.admin-log-table .ant-table-thead>tr>th{white-space:nowrap}.review-section+.review-section{margin-top:28px}.review-add-admin{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}.review-add-admin .ant-input{max-width:280px}.review-add-hint{flex-basis:100%;color:var(--ink-3);font-size:13px}.review-pending-only{display:flex;align-items:center;gap:8px;margin-top:28px}.review-note-edit{display:flex;flex-direction:column;gap:6px;min-width:180px}.review-note-button{max-width:220px;padding:0;border:0;background:none;color:var(--ink-2);text-align:left;cursor:pointer}.review-note-button:hover{color:var(--ink)}.login-visit-row .login-eye{opacity:0;border:0;background:transparent;color:var(--ink-2);cursor:pointer;padding:4px}.login-visit-row:hover .login-eye,.login-visit-row:focus-within .login-eye{opacity:1}.login-eye-card{font-size:13px;line-height:1.6}@media (max-width: 991px){.login-visit-row .login-eye{opacity:1}}.ops-figures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.ops-figures article{min-width:0;padding:8px 4px 4px}.ops-figure-label{margin:0;color:var(--ink-3);font-size:13px}.ops-figure-value{margin:6px 0 4px;color:var(--ink);font-size:40px;font-weight:600;letter-spacing:-.03em;line-height:1.1;font-variant-numeric:tabular-nums}.ops-figure-hint,.ops-figure-aside,.ops-note,.ops-empty{margin:0;color:var(--ink-3);font-size:13px;line-height:1.5}.ops-figure-aside{margin-top:4px}.ops-status{margin:8px 0 28px;padding:12px 14px;border-left:3px solid var(--border-strong);background:var(--sunken);border-radius:0 var(--radius-card) var(--radius-card) 0}.ops-status p{margin:0;color:var(--ink);font-size:16px;line-height:1.6}.ops-status.is-ok{border-left-color:var(--pos)}.ops-status.is-ok p{color:var(--pos)}.ops-status.is-info{border-left-color:var(--accent)}.ops-status.is-warn{border-left-color:var(--score)}.ops-status.is-danger{border-left-color:var(--neg)}.ops-status-infra{margin:-12px 0 28px;padding:10px 14px;border-left:3px solid var(--score);background:var(--sunken);border-radius:0 var(--radius-card) var(--radius-card) 0}.ops-status-infra p{margin:0;color:var(--ink-2);font-size:14px;line-height:1.5}.ops-block-heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 16px;margin-bottom:8px}.ops-block-heading h5{margin:0!important}.ops-markets-summary{color:var(--ink-3);font-size:13px}.ops-disk-intro{margin:0 0 12px}.ops-block{margin-top:28px}.ops-block h3{margin:16px 0 8px;color:var(--ink-2);font-size:13px;font-weight:600}.ops-block ul{margin:0;padding:0;list-style:none}.ops-block li{display:flex;gap:12px;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--border);color:var(--ink-2);font-variant-numeric:tabular-nums}.ops-pills{display:flex;flex-wrap:wrap;gap:8px}.ops-pills span{padding:6px 10px;border:1px solid var(--border);border-radius:999px;background:var(--sunken);color:var(--ink-2);font-size:13px;font-variant-numeric:tabular-nums}.ops-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.ops-stocks li span:first-child{min-width:72px}.ops-level{margin:0 0 10px;color:var(--ink)}.ops-level.is-warn{color:var(--score)}.ops-level.is-danger{color:var(--neg)}.ops-meter-row{display:flex;align-items:center;gap:10px;margin:8px 0 12px;color:var(--ink-2);font-variant-numeric:tabular-nums}.ops-meter{flex:1;height:8px;border-radius:999px;background:var(--hover);overflow:hidden}.ops-meter span{display:block;height:100%;background:var(--accent)}.ops-meter.is-warn span{background:var(--score)}.ops-meter.is-danger span{background:var(--neg)}.ops-markets li{align-items:baseline}.ops-markets li.is-ok b{color:var(--pos);font-weight:600}.ops-markets li.is-danger b{color:var(--neg);font-weight:600}.ops-markets em{color:var(--ink-3);font-style:normal;font-size:13px}.ops-lead{margin:0 0 6px;color:var(--ink);font-size:18px;font-variant-numeric:tabular-nums}.ops-machine{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 28px}.ops-machine .ops-block{margin-top:8px}.ops-disk-wrap{grid-column:1 / -1}.ops-disk{margin-top:12px;padding-top:8px;border-top:1px solid var(--border)}.ops-disk h3{margin:8px 0;color:var(--ink);font-size:15px}.ops-disk.is-warn h3{color:var(--score)}.ops-disk.is-danger h3{color:var(--neg)}.ops-chart{margin:12px 0 0}.ops-chart-unit{margin:0 0 4px;color:var(--ink-3);font-size:12px}.ops-chart svg{width:100%;height:auto;display:block}.ops-chart-tick{fill:var(--ink-3);font-size:11px}.ops-chart-axis{stroke:var(--border)}.ops-chart-legend{display:flex;gap:16px;margin-top:6px;color:var(--ink-2);font-size:12px}.ops-chart-legend span{display:inline-flex;align-items:center;gap:6px}.ops-chart-legend i{width:12px;height:3px;border-radius:999px;display:inline-block}@media (max-width: 991px){.admin-page{flex-direction:column}.admin-nav{position:static;flex-direction:row;flex-wrap:wrap;width:auto}.ops-figures,.ops-split,.ops-machine{grid-template-columns:1fr}.ops-figure-value{font-size:32px}}@media (max-width: 1100px){.account-trigger-name{display:none}}@media (max-width: 991px){:root{--page-pad: 16px}.app-topbar{padding:0 8px}.app-main{padding-top:16px}.page-head{align-items:flex-start}.page-actions{width:100%}}@media (max-width: 768px){:root{--chart-size: 78px;--chart-col-gap: 10px;--chart-future-gap: 24px;--chart-row-gap: 12px;--thumb-size: 44px;--thumb-col-gap: 8px;--thumb-future-gap: 18px;--thumb-row-gap: 8px;--thumb-label-w: 78px;--page-pad: 12px}.brand-name{font-size:16px}.page-title{font-size:18px}.query-pin{--anchor-pin-size: 44px}.result-card,.query-card,.overview-card{padding:10px}.result-outcome{margin-left:0}}@media (max-width: 440px){.topbar-brand .brand-name{display:none}.topbar-left,.topbar-right{gap:2px}.topbar-btn{padding:0 8px}.topbar-sep{margin:0 2px}}@media (max-width: 380px){:root{--chart-size: 64px;--thumb-size: 36px;--thumb-label-w: 64px;--chart-future-gap: 14px;--thumb-future-gap: 12px}}.fb-root{--fb-size: 44px;--fb-gap: 12px;position:fixed;top:0;left:0;z-index:900;width:var(--fb-size);height:var(--fb-size);transform:translate3d(var(--fb-x, calc(100vw - 64px) ),calc(var(--fb-y, calc(100vh - 64px) ) - var(--fb-shift, 0px)),0)}.auth-main-foot{padding-right:56px}.fb-launcher{position:relative;display:grid;place-items:center;width:var(--fb-size);height:var(--fb-size);padding:0;border:0;border-radius:999px;background:var(--accent);color:#fff;box-shadow:0 6px 16px #0e1b2c33,0 1px 3px #0e1b2c29;cursor:pointer;touch-action:none;-webkit-tap-highlight-color:transparent;transition:background-color .15s ease,box-shadow .2s var(--ease-out),transform .2s var(--ease-out)}@media (hover: hover){.fb-launcher:hover{background:var(--accent-hover);box-shadow:0 10px 22px #0e1b2c3d,0 2px 5px #0e1b2c29;transform:translateY(-2px)}}.fb-launcher:active{background:var(--accent-press);transform:translateY(1px);transition-duration:.15s,80ms,80ms}.fb-launcher:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.fb-root[data-dragging] .fb-launcher{cursor:grabbing;transform:scale(1.06);box-shadow:0 14px 30px #0e1b2c47,0 3px 8px #0e1b2c2e}.fb-root[data-dragging],.fb-root[data-dragging] *{-webkit-user-select:none;user-select:none}.fb-launcher-icons{position:relative;display:block;width:20px;height:20px}.fb-icon{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:20px;transition:opacity .16s ease,transform .24s var(--ease-out)}.fb-icon-close{font-size:16px;opacity:0;transform:rotate(-90deg) scale(.6)}.fb-root.is-open .fb-icon-clip{opacity:0;transform:rotate(90deg) scale(.6)}.fb-root.is-open .fb-icon-close{opacity:1;transform:none}.fb-launcher-label{position:absolute;top:50%;right:calc(100% + 10px);padding:6px 10px;border-radius:var(--radius-ctl);background:#132338;color:#fff;font-size:13px;font-weight:500;line-height:1.25;white-space:nowrap;pointer-events:none;box-shadow:0 6px 16px #0e1b2c2e;opacity:0;transform:translate(6px,-50%);transition:opacity .14s ease,transform .2s var(--ease-out)}.fb-root[data-side=left] .fb-launcher-label{right:auto;left:calc(100% + 10px);transform:translate(-6px,-50%)}@media (hover: hover){.fb-root:not(.is-open):not([data-dragging]) .fb-launcher:hover .fb-launcher-label{opacity:1;transform:translateY(-50%)}}.fb-root:not(.is-open) .fb-launcher:focus-visible .fb-launcher-label{opacity:1;transform:translateY(-50%)}.fb-panel{--fb-enter-y: 8px;position:absolute;left:var(--fb-panel-dx, -316px);bottom:calc(100% + var(--fb-gap));box-sizing:border-box;width:var(--fb-panel-w, 360px);max-height:var(--fb-panel-max, 70vh);overflow-y:auto;overscroll-behavior:contain;padding:14px 16px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-pop);text-align:left;transform-origin:var(--fb-origin-x, 100%) 100%;opacity:0;transform:translateY(var(--fb-enter-y)) scale(.96);visibility:hidden;transition:opacity .13s ease-in,transform .15s ease-in,visibility 0s linear .15s}.fb-root[data-y=below] .fb-panel{--fb-enter-y: -8px;top:calc(100% + var(--fb-gap));bottom:auto;transform-origin:var(--fb-origin-x, 100%) 0}.fb-root.is-open .fb-panel{opacity:1;transform:none;visibility:visible;transition:opacity .18s ease-out,transform .26s var(--ease-out),visibility 0s}.fb-panel:focus{outline:none}.fb-head{display:flex;align-items:flex-start;gap:8px;margin-bottom:10px;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.fb-root[data-dragging=head] .fb-head{cursor:grabbing}.fb-prompt{flex:1 1 auto;min-width:0;padding-top:3px;color:var(--ink);font-size:14px;font-weight:500;line-height:1.5;cursor:inherit}.fb-close{flex:none;display:grid;place-items:center;width:28px;height:28px;margin:0 -6px 0 0;padding:0;border:0;border-radius:var(--radius-ctl);background:transparent;color:var(--ink-3);font-size:13px;cursor:pointer;transition:background-color .15s ease,color .15s ease}.fb-close:hover{background:var(--hover);color:var(--ink)}.fb-close:active{transform:translateY(1px)}.fb-close:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.fb-views{display:grid}.fb-view{grid-area:1 / 1;min-width:0;margin:0;opacity:0;transform:translateY(4px);visibility:hidden;transition:opacity .14s ease,transform .16s ease,visibility 0s linear .16s}.fb-view.is-current{opacity:1;transform:none;visibility:visible;transition:opacity .2s ease 60ms,transform .26s var(--ease-out) 60ms,visibility 0s}.fb-field{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-ctl);transition:border-color .15s ease,box-shadow .15s ease}.fb-field:hover{border-color:#9fb3cf}.fb-field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #1e5aae24}.fb-field.is-invalid,.fb-field.is-invalid:hover{border-color:var(--neg)}.fb-field.is-invalid:focus-within{box-shadow:0 0 0 3px #c0392b1f}.fb-input{display:block;box-sizing:border-box;width:100%;min-height:116px;padding:8px 11px 2px;border:0;outline:none;background:transparent;color:var(--ink);font:inherit;font-size:14px;line-height:1.6;resize:none;overflow-wrap:anywhere}.fb-input::placeholder{color:var(--ink-3);opacity:1}.fb-input[readonly]{color:var(--ink-2)}.fb-field-foot{display:flex;justify-content:flex-end;padding:0 10px 6px}.fb-count{color:var(--ink-3);font-size:12px;line-height:1.4;font-variant-numeric:tabular-nums}.fb-count.is-near{color:var(--score)}.fb-count.is-over{color:var(--neg);font-weight:600}.fb-submit.ant-btn{margin-top:10px}.fb-note{margin:8px 0 0;font-size:12.5px;line-height:1.5;color:var(--ink-2);overflow-wrap:anywhere}.fb-note:empty{margin:0}.fb-note.is-error{color:var(--neg)}.fb-done{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:8px 4px;text-align:center}.fb-done-icon{color:var(--pos);font-size:34px}.fb-done.is-current .fb-done-icon{animation:fb-pop .36s var(--ease-out) 80ms both}.fb-done-text{margin:0;color:var(--ink);font-size:15px;font-weight:600;line-height:1.5}@keyframes fb-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}@media (max-width: 480px){.fb-input{min-height:100px}}@media (pointer: coarse){.fb-input{font-size:16px}}@media (prefers-reduced-motion: reduce){.fb-launcher,.fb-launcher:hover,.fb-launcher:active,.fb-root[data-dragging] .fb-launcher,.fb-panel,.fb-view,.fb-icon{transform:none!important}.fb-launcher-label{transform:translateY(-50%)!important}.fb-done.is-current .fb-done-icon{animation:none}}@media print{.fb-root{display:none}}
