@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Noto+Sans+SC:wght@400;500;600;700&family=Noto+Serif+SC:wght@500;600;700&display=swap";.auth-shell[data-v-02e6fa92]{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:100vh;background:#f3f5f9}.auth-brand[data-v-02e6fa92]{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:22px;padding:56px clamp(32px,5vw,78px);color:#c8d5ea;background:linear-gradient(200deg,#0a1220,#0d1830 48%,#13264a)}.auth-brand[data-v-02e6fa92]:before,.auth-brand[data-v-02e6fa92]:after{position:absolute;content:"";border-radius:50%;filter:blur(70px);pointer-events:none}.auth-brand[data-v-02e6fa92]:before{top:-14%;right:-10%;width:460px;height:460px;background:radial-gradient(circle,rgba(42,77,128,.55),transparent 65%);animation:drift-02e6fa92 13s ease-in-out infinite alternate}.auth-brand[data-v-02e6fa92]:after{bottom:-18%;left:-12%;width:420px;height:420px;background:radial-gradient(circle,rgba(201,162,75,.22),transparent 65%);animation:drift-02e6fa92 17s ease-in-out infinite alternate-reverse}.auth-brand[data-v-02e6fa92]>*{position:relative;z-index:1;animation:rise-02e6fa92 .6s cubic-bezier(.22,.9,.32,1) both}.auth-brand[data-v-02e6fa92]>*:nth-child(2){animation-delay:.08s}.auth-brand[data-v-02e6fa92]>*:nth-child(3){animation-delay:.16s}.auth-brand[data-v-02e6fa92]>*:nth-child(4){animation-delay:.24s}.auth-brand[data-v-02e6fa92]>*:nth-child(5){animation-delay:.32s}.brand-head[data-v-02e6fa92]{display:flex;align-items:center;gap:12px}.brand-mark[data-v-02e6fa92]{display:grid;width:46px;height:46px;color:#ddba72;place-items:center;border:1px solid rgba(221,186,114,.55);border-radius:50%;box-shadow:0 0 22px #ddba7240,inset 0 0 10px #ddba721f}.brand-name[data-v-02e6fa92]{display:block;color:#fff;font-family:"Noto Serif SC",serif;font-size:21px;font-weight:700;line-height:1.1;letter-spacing:.02em}.brand-subtitle[data-v-02e6fa92]{display:block;margin-top:3px;color:#7f90ad;font-family:IBM Plex Mono,monospace;font-size:9px;letter-spacing:.14em}.auth-brand h1[data-v-02e6fa92]{margin:18px 0 0;color:#fff;font-family:"Noto Serif SC",serif;font-size:clamp(27px,3vw,38px);font-weight:600;line-height:1.4;letter-spacing:.01em}.brand-lead[data-v-02e6fa92]{max-width:430px;margin:0;color:#9fb0cb;font-size:13px;line-height:1.85}.brand-points[data-v-02e6fa92]{display:grid;gap:12px;margin:4px 0 0;padding:0;list-style:none}.brand-points li[data-v-02e6fa92]{display:flex;align-items:center;gap:9px;color:#bfcde2;font-size:12.5px}.brand-points svg[data-v-02e6fa92]{flex:0 0 auto;color:#ddba72}.brand-foot[data-v-02e6fa92]{margin:20px 0 0;padding-top:18px;color:#66779a;font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:.1em;border-top:1px solid rgba(148,170,205,.16)}.auth-panel[data-v-02e6fa92]{display:grid;place-items:center;padding:40px clamp(22px,4vw,60px);background:radial-gradient(700px 400px at 80% 0%,rgba(30,58,102,.05),transparent 60%)}.auth-card[data-v-02e6fa92]{position:relative;width:100%;max-width:392px;overflow:hidden;padding:30px 32px 26px;background:#fff;border:1px solid #dfe5ef;border-radius:14px;box-shadow:0 2px 4px #0f1a2e0d,0 24px 56px #0f1a2e1a;animation:card-in-02e6fa92 .55s cubic-bezier(.22,.9,.32,1) .1s both}.auth-card[data-v-02e6fa92]:before{position:absolute;top:0;right:0;left:0;height:3px;content:"";background:linear-gradient(90deg,#1a3358,#2a4d80 55%,#c9a24b)}.auth-tabs[data-v-02e6fa92]{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:#f0f3f9;border:1px solid #e3e9f3;border-radius:9px}.auth-tabs button[data-v-02e6fa92]{padding:8px 0;color:#5f7191;font-size:12.5px;font-weight:600;background:transparent;border:0;border-radius:6px;transition:background .18s ease,color .18s ease,box-shadow .18s ease}.auth-tabs button.active[data-v-02e6fa92]{color:#14263f;background:#fff;box-shadow:0 1px 4px #0f1a2e24}.auth-card h2[data-v-02e6fa92]{margin:22px 0 0;color:#0f1a2e;font-family:"Noto Serif SC",serif;font-size:22px;font-weight:600}.auth-hint[data-v-02e6fa92]{margin:7px 0 22px;color:#8494ad;font-size:12px}.auth-card form[data-v-02e6fa92]{display:grid;gap:15px}.auth-card label[data-v-02e6fa92]{display:grid;gap:7px}.auth-card label>span[data-v-02e6fa92]{color:#5f7191;font-size:11px;font-weight:600}.field[data-v-02e6fa92]{display:flex;align-items:center;gap:9px;padding:0 11px;background:#f7f9fc;border:1px solid #e3e9f3;border-radius:8px;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.field[data-v-02e6fa92]:focus-within{background:#fff;border-color:#1e3a66;box-shadow:0 0 0 3px #1e3a661f}.field svg[data-v-02e6fa92]{flex:0 0 auto;color:#8494ad;transition:color .18s ease}.field:focus-within svg[data-v-02e6fa92]{color:#1e3a66}.field input[data-v-02e6fa92]{width:100%;padding:10px 0;color:#1b2b45;font-size:13px;background:transparent;border:0;outline:0}.field input[data-v-02e6fa92]::placeholder{color:#a7b3c7}.auth-error[data-v-02e6fa92]{margin:0;padding:9px 11px;color:#96391f;font-size:11.5px;line-height:1.5;background:#fdf0ea;border:1px solid #f0d0bd;border-radius:8px;animation:rise-02e6fa92 .25s ease both}.auth-submit[data-v-02e6fa92]{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;margin-top:3px;overflow:hidden;color:#fff;font-size:13px;font-weight:700;background:linear-gradient(135deg,#1a3358,#2a4d80);border:1px solid #16305a;border-radius:8px;box-shadow:0 4px 14px #1a33584d,inset 0 1px #ffffff1f;transition:transform .18s cubic-bezier(.22,.9,.32,1),filter .18s ease,box-shadow .18s ease}.auth-submit[data-v-02e6fa92]:after{position:absolute;top:0;bottom:0;left:-80%;width:45%;content:"";background:linear-gradient(105deg,transparent,rgba(255,255,255,.22),transparent);transform:skew(-18deg);transition:left .55s cubic-bezier(.22,.9,.32,1)}.auth-submit[data-v-02e6fa92]:hover:not(:disabled){filter:brightness(1.12);transform:translateY(-1px);box-shadow:0 7px 20px #1a33585c}.auth-submit[data-v-02e6fa92]:hover:not(:disabled):after{left:130%}.auth-submit[data-v-02e6fa92]:active:not(:disabled){transform:scale(.98)}.auth-submit[data-v-02e6fa92]:disabled{color:#e4e9f2;background:#9faec7;border-color:#96a6bf;box-shadow:none;cursor:not-allowed}.auth-submit svg[data-v-02e6fa92]{color:#ecd9a8}.spinning[data-v-02e6fa92]{animation:auth-spin-02e6fa92 .8s linear infinite}@keyframes auth-spin-02e6fa92{to{transform:rotate(360deg)}}.auth-switch[data-v-02e6fa92]{margin:20px 0 0;color:#8494ad;font-size:12px;text-align:center}.auth-switch button[data-v-02e6fa92]{padding:0 2px;color:#1e3a66;font-size:12px;font-weight:600;background:none;border:0;text-decoration:underline;text-underline-offset:3px;transition:color .15s ease}.auth-switch button[data-v-02e6fa92]:hover{color:#a9822f}.auth-security[data-v-02e6fa92]{display:flex;align-items:flex-start;gap:7px;margin:18px 0 0;padding-top:15px;color:#8494ad;font-size:10.5px;line-height:1.6;border-top:1px solid #edf1f7}.auth-security svg[data-v-02e6fa92]{flex:0 0 auto;margin-top:1px;color:#17795c}@keyframes rise-02e6fa92{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes card-in-02e6fa92{0%{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes drift-02e6fa92{0%{transform:translate(0) scale(1)}to{transform:translate(36px,26px) scale(1.08)}}@media(max-width:880px){.auth-shell[data-v-02e6fa92]{grid-template-columns:minmax(0,1fr)}.auth-brand[data-v-02e6fa92]{padding:38px clamp(22px,6vw,44px)}.auth-brand h1[data-v-02e6fa92]{font-size:25px}.brand-points[data-v-02e6fa92]{display:none}.auth-panel[data-v-02e6fa92]{padding:32px clamp(18px,5vw,40px) 46px}}@media(prefers-reduced-motion:reduce){.auth-brand[data-v-02e6fa92]:before,.auth-brand[data-v-02e6fa92]:after,.auth-brand[data-v-02e6fa92]>*,.auth-card[data-v-02e6fa92]{animation:none!important}}:root{--bg: #f3f5f9;--surface: #ffffff;--ink-900: #0f1a2e;--ink-800: #1b2b45;--ink-700: #2c3e5c;--ink-600: #47587a;--ink-500: #5f7191;--ink-400: #8494ad;--ink-300: #a7b3c7;--line: #dfe5ef;--line-soft: #eaeef5;--navy-950: #0a1220;--navy-900: #0d1830;--navy-800: #122242;--navy-700: #1a3358;--navy-600: #1e3a66;--navy-500: #2a4d80;--navy-100: #e9effa;--gold-600: #a9822f;--gold-500: #c9a24b;--gold-400: #ddba72;--gold-300: #ecd9a8;--up: #c0322a;--down: #14704f;--ok: #17795c;--warn: #b8722c;--warn-bg: #fdf4e7;--warn-line: #f0dcbc;--shadow-sm: 0 1px 2px rgba(15, 26, 46, .05);--shadow-md: 0 1px 2px rgba(15, 26, 46, .04), 0 10px 28px rgba(15, 26, 46, .06);--shadow-lg: 0 2px 4px rgba(15, 26, 46, .05), 0 18px 44px rgba(15, 26, 46, .11);--ease-out: cubic-bezier(.22, .9, .32, 1);color:var(--ink-800);background:var(--bg);font-family:Noto Sans SC,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--bg)}button,textarea,select,input{font:inherit}button{cursor:pointer}::selection{background:#c9a24b4d}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#c2ccde;background-clip:padding-box;border:3px solid transparent;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#9fabca;background-clip:padding-box;border:3px solid transparent}:focus-visible{outline:2px solid rgba(201,162,75,.65);outline-offset:2px}.app-shell{display:grid;grid-template-columns:238px minmax(0,1fr);min-height:100vh;background:var(--bg)}.sidebar{position:fixed;z-index:20;display:flex;flex-direction:column;width:238px;height:100vh;padding:25px 16px 16px;color:#c2cee2;background:linear-gradient(196deg,var(--navy-950) 0%,var(--navy-900) 46%,#13264a 100%);border-right:1px solid rgba(9,17,33,.9)}.sidebar:before{position:absolute;top:0;right:0;left:0;height:1px;content:"";background:linear-gradient(90deg,transparent,rgba(221,186,114,.4),transparent)}.brand-row{display:flex;align-items:center;gap:10px;padding:0 7px}.brand-mark{display:grid;width:37px;height:37px;color:var(--gold-400);place-items:center;border:1px solid rgba(221,186,114,.55);border-radius:50%;box-shadow:0 0 16px #ddba7238,inset 0 0 8px #ddba721a}.brand-name{display:block;color:#fff;font-family:"Noto Serif SC",serif;font-size:18px;font-weight:700;line-height:1.1;letter-spacing:.02em}.brand-subtitle{display:block;margin-top:2px;color:#7f90ad;font-family:IBM Plex Mono,monospace;font-size:9px;letter-spacing:.14em}.workspace-label{margin:42px 8px 12px;color:#71829f;font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:.12em}.nav-list{display:grid;gap:4px}.nav-item{position:relative;display:flex;align-items:center;width:100%;gap:12px;padding:11px 10px;color:#a8b6cf;text-align:left;background:transparent;border:0;border-radius:8px;transition:background .2s var(--ease-out),color .2s var(--ease-out),transform .2s var(--ease-out)}.nav-item:hover{color:#fff;background:#d6e2f612;transform:translate(2px)}.nav-item.active{color:#fff;background:linear-gradient(90deg,#1e3a66d9,#1e3a6673);box-shadow:inset 3px 0 0 var(--gold-400),0 4px 14px #060c1859}.nav-count{min-width:19px;height:19px;margin-left:auto;color:var(--gold-300);font-family:IBM Plex Mono,monospace;font-size:11px;line-height:19px;text-align:center;background:#c9a24b29;border:1px solid rgba(201,162,75,.25);border-radius:50%}.sidebar-spacer{flex:1}.data-pulse{margin:18px 3px 14px;padding:13px 12px;background:#1325448c;border:1px solid rgba(148,170,205,.16);border-radius:10px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.pulse-header{display:flex;align-items:center;gap:6px;color:#93a5c2;font-size:12px;font-weight:600}.pulse-main{display:flex;align-items:center;gap:7px;margin-top:12px;color:#eef2f9;font-size:13px}.pulse-dot{position:relative;display:inline-block;flex:0 0 auto;width:7px;height:7px;color:#4cc29a;background:#4cc29a;border-radius:50%;box-shadow:0 0 0 3px #4cc29a24}.pulse-dot:after{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;content:"";border:1px solid currentColor;border-radius:50%;opacity:0;animation:ping 2.2s var(--ease-out) infinite}.pulse-dot.warning{color:#dfa54f;background:#dfa54f;box-shadow:0 0 0 3px #dfa54f29}.data-pulse p{margin:7px 0 11px 14px;color:#7d8faa;font-family:IBM Plex Mono,monospace;font-size:10px;line-height:1.7}.subtle-link{display:inline-flex;align-items:center;gap:4px;padding:0;color:#c8d5ea;font-size:11px;background:none;border:0;transition:color .16s ease}.subtle-link:hover{color:var(--gold-300)}.user-card{display:flex;align-items:center;gap:9px;padding:13px 7px 3px;color:#c2cee2;border-top:1px solid rgba(148,170,205,.16)}.user-card div:nth-child(2){display:grid;gap:2px}.user-card strong{color:#fff;font-size:12px;font-weight:500}.user-card span{color:#7d8faa;font-size:10px}.user-card svg{margin-left:auto;color:#71829f}.avatar{display:grid;flex:0 0 auto;width:29px;height:29px;color:var(--navy-900);font-family:"Noto Serif SC",serif;font-weight:700;place-items:center;background:linear-gradient(135deg,var(--gold-300),var(--gold-500));border:0;border-radius:50%;box-shadow:0 2px 8px #c9a24b59;transition:transform .18s var(--ease-out)}button.avatar:hover{transform:scale(1.06)}.avatar-small{width:28px;height:28px;font-size:12px}.close-mobile,.menu-button{display:none}.workspace{grid-column:2;min-width:0}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 clamp(24px,4vw,56px);background:#f3f5f9d1;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px) saturate(1.35);backdrop-filter:blur(14px) saturate(1.35)}.breadcrumb{display:flex;align-items:center;gap:7px;color:var(--ink-400);font-size:13px}.breadcrumb strong{color:var(--ink-800);font-weight:600}.top-actions{display:flex;align-items:center;gap:14px}.data-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;color:var(--navy-500);font-family:IBM Plex Mono,monospace;font-size:10px;background:var(--navy-100);border:1px solid #d3e0f2;border-radius:6px}.icon-button{display:inline-grid;width:32px;height:32px;padding:0;color:var(--ink-500);place-items:center;background:transparent;border:1px solid transparent;border-radius:8px;transition:all .18s var(--ease-out)}.icon-button:hover{color:var(--navy-600);background:var(--navy-100);border-color:#d3e0f2;transform:translateY(-1px)}.icon-button:active{transform:scale(.92)}.icon-button.active{color:var(--gold-600);background:#fbf3df;border-color:var(--gold-300)}.icon-button.close-mobile,.icon-button.menu-button{display:none}.content-scroll{min-height:calc(100vh - 64px);padding:38px clamp(24px,4vw,56px) 46px;background:radial-gradient(1200px 500px at 85% -10%,rgba(30,58,102,.045),transparent 60%),radial-gradient(900px 420px at -10% 110%,rgba(201,162,75,.05),transparent 55%)}.research-view,.module-view{max-width:1440px;margin:0 auto}.research-view>*,.module-view>*{animation:rise .5s var(--ease-out) both}.research-view>*:nth-child(2),.module-view>*:nth-child(2){animation-delay:.06s}.research-view>*:nth-child(3),.module-view>*:nth-child(3){animation-delay:.12s}.research-view>*:nth-child(4),.module-view>*:nth-child(4){animation-delay:.18s}.research-view>*:nth-child(5),.module-view>*:nth-child(5){animation-delay:.24s}.ai-config-trigger{display:inline-flex;align-items:center;gap:5px;padding:5px 7px;color:var(--navy-500);font-size:10px;background:var(--navy-100);border:1px solid #d3e0f2;border-radius:6px;transition:all .16s ease}.ai-config-trigger:hover{background:#dde8f8;border-color:#b9ccec}.ai-config-trigger .pulse-dot,.ai-engine-state .pulse-dot{width:8px;height:8px;box-shadow:0 0 0 4px #4cc29a24}.ai-summary{margin-top:16px;padding:14px 16px;color:var(--ink-700);background:linear-gradient(135deg,#f5f8fd,#eef3fb);border:1px solid #d8e2f0;border-left:3px solid var(--navy-600);border-radius:10px;box-shadow:var(--shadow-sm)}.ai-summary>div{display:flex;align-items:center;gap:7px;color:var(--navy-600);font-size:12px;font-weight:700}.ai-summary p{margin:8px 0 6px;color:var(--ink-600);font-size:13px;line-height:1.65}.ai-summary small{color:var(--ink-400);font-size:11px}.title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:28px}.eyebrow{margin:0 0 9px;color:var(--ink-400);font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:500;letter-spacing:.14em}.title-row h1{margin:0;color:var(--ink-900);font-family:"Noto Serif SC",serif;font-size:27px;font-weight:600;line-height:1.35;letter-spacing:.01em}.trace-button,.secondary-action{display:inline-flex;align-items:center;gap:7px;padding:9px 11px;color:var(--navy-600);font-size:12px;font-weight:600;white-space:nowrap;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-sm);transition:all .18s var(--ease-out)}.trace-button:hover,.secondary-action:hover{border-color:#b9c8e2;background:#f6f9fe;transform:translateY(-1px);box-shadow:var(--shadow-md)}.query-panel{position:relative;overflow:hidden;padding:20px 22px 14px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-md)}.query-panel:before{position:absolute;top:0;right:0;left:0;height:3px;content:"";background:linear-gradient(90deg,var(--navy-700),var(--navy-500) 55%,var(--gold-500))}.query-head,.query-label,.understanding-row,.query-engine{display:flex;align-items:center}.query-head{justify-content:space-between}.query-label{gap:8px;color:var(--ink-800);font-size:14px;font-weight:700}.query-label svg{color:var(--navy-600)}.query-engine{gap:6px}.mode-label{color:var(--ink-400);font-family:IBM Plex Mono,monospace;font-size:10px}.compact-icon{width:28px;height:28px}.query-input-row{display:flex;align-items:stretch;gap:12px;margin-top:13px}.query-input-row textarea{flex:1;min-height:55px;padding:9px 0;color:var(--ink-800);font-size:15px;line-height:1.7;resize:none;background:transparent;border:0;outline:0}.query-input-row textarea::placeholder{color:var(--ink-300)}.run-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;align-self:center;min-height:38px;padding:0 15px;overflow:hidden;color:#fff;font-size:12px;font-weight:700;white-space:nowrap;background:linear-gradient(135deg,var(--navy-700),var(--navy-500));border:1px solid #16305a;border-radius:8px;box-shadow:0 4px 14px #1a335847,inset 0 1px #ffffff1f;transition:transform .18s var(--ease-out),box-shadow .18s var(--ease-out),filter .18s ease}.run-button:after{position:absolute;top:0;bottom:0;left:-80%;width:45%;content:"";background:linear-gradient(105deg,transparent,rgba(255,255,255,.22),transparent);transform:skew(-18deg);transition:left .55s var(--ease-out)}.run-button:hover:not(:disabled){filter:brightness(1.12);transform:translateY(-1px);box-shadow:0 7px 20px #1a335857,inset 0 1px #ffffff24}.run-button:hover:not(:disabled):after{left:130%}.run-button:active:not(:disabled){transform:scale(.97)}.run-button:disabled{cursor:wait;background:linear-gradient(110deg,var(--navy-700) 25%,var(--navy-500) 48%,var(--navy-700) 70%);background-size:220% 100%;animation:shimmer 1.5s linear infinite}.run-button svg{color:var(--gold-300)}.understanding-row{flex-wrap:wrap;gap:7px;padding:12px 0 0;border-top:1px solid var(--line-soft)}.understanding-label{margin-right:3px;color:var(--ink-400);font-size:11px}.understanding-chip,.add-condition{display:inline-flex;align-items:center;gap:5px;padding:5px 7px;color:var(--navy-600);font-size:11px;background:var(--navy-100);border:1px solid #d3e0f2;border-radius:6px;transition:all .16s ease}.understanding-chip:hover{border-color:#b9ccec}.add-condition{color:var(--ink-400);background:var(--surface);border-style:dashed}.add-condition:hover{color:var(--navy-600);border-color:var(--navy-500)}.ambiguity{display:flex;align-items:center;gap:6px;margin:10px 0 0;color:var(--warn);font-size:11px}.ambiguity svg{color:#d49a38}.research-grid{display:grid;grid-template-columns:202px minmax(510px,1fr) 260px;gap:22px;align-items:start;margin-top:26px}.filter-panel,.compass-card,.watch-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-sm)}.filter-panel{padding:17px 15px}.section-caption{display:flex;align-items:center;gap:7px;margin-bottom:19px;color:var(--ink-800);font-size:13px;font-weight:700}.section-caption svg{color:var(--navy-600)}.section-caption button{margin-left:auto;padding:0;color:var(--ink-400);font-size:10px;background:none;border:0;transition:color .15s ease}.section-caption button:hover{color:var(--navy-600)}.filter-label{display:block;margin:18px 0 8px;color:var(--ink-500);font-size:11px;font-weight:600}.filter-options{display:flex;flex-wrap:wrap;gap:6px}.filter-options button{display:inline-flex;align-items:baseline;gap:5px;padding:6px 7px;color:var(--ink-500);font-size:11px;background:#f7f9fc;border:1px solid var(--line-soft);border-radius:6px;transition:all .16s var(--ease-out)}.filter-options button:hover{border-color:#b9c8e2;color:var(--navy-600);transform:translateY(-1px)}.filter-options button.selected{color:#fff;background:linear-gradient(135deg,var(--navy-700),var(--navy-500));border-color:var(--navy-600);box-shadow:0 3px 9px #1a335840}.filter-options button em{color:var(--ink-300);font-family:IBM Plex Mono,monospace;font-size:9px;font-style:normal}.filter-options button.selected em{color:var(--gold-300)}.select-wrap{position:relative}.select-wrap select{width:100%;padding:8px 26px 8px 9px;color:var(--ink-700);font-size:12px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#f7f9fc;border:1px solid var(--line-soft);border-radius:6px;outline-color:var(--navy-600);transition:border-color .15s ease}.select-wrap select:hover{border-color:#b9c8e2}.select-wrap svg{position:absolute;top:9px;right:8px;color:var(--ink-400);pointer-events:none}.slider-label{display:flex;justify-content:space-between}.slider-label strong{color:var(--navy-600);font-family:IBM Plex Mono,monospace;font-weight:500}.fee-slider{width:100%;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;accent-color:var(--navy-600);background:#d8e0ee;border-radius:5px}.scale-row{display:flex;justify-content:space-between;margin-top:3px;color:var(--ink-300);font-family:IBM Plex Mono,monospace;font-size:9px}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:20px}.toggle-row b{display:block;color:var(--ink-700);font-size:11px}.toggle-row small{display:block;margin-top:3px;color:var(--ink-400);font-size:9px;line-height:1.4}.toggle-row input{position:absolute;opacity:0}.toggle-row i{position:relative;flex:0 0 auto;width:32px;height:18px;background:#cfd8e8;border-radius:20px;transition:background .2s ease}.toggle-row i:after{position:absolute;top:3px;left:3px;width:12px;height:12px;content:"";background:#fff;border-radius:50%;box-shadow:0 1px 3px #0f1a2e40;transition:transform .2s var(--ease-out)}.toggle-row input:checked+i{background:var(--navy-600)}.toggle-row input:checked+i:after{transform:translate(14px)}.filter-foot{display:flex;gap:7px;margin:19px -2px -2px;padding:12px 0 0;color:var(--ink-500);border-top:1px solid var(--line-soft)}.filter-foot svg{flex:0 0 auto;color:var(--ok)}.filter-foot p{margin:0;font-size:10px;line-height:1.55}.filter-caveat{margin:11px 0 0;padding-top:10px;color:var(--ink-400);font-size:10.5px;line-height:1.65;border-top:1px dashed var(--line)}.results-panel{min-width:0}.results-header{display:flex;align-items:center;justify-content:space-between;margin:0 1px 13px}.results-header h2{margin:0;color:var(--ink-900);font-family:"Noto Serif SC",serif;font-size:18px;font-weight:600}.results-header h2 span{margin-left:3px;color:var(--navy-600);font-family:IBM Plex Mono,monospace;font-size:13px}.results-header p{margin:4px 0 0;color:var(--ink-400);font-size:10px}.sort-button{display:inline-flex;align-items:center;gap:4px;padding:6px 7px;color:var(--ink-500);font-size:11px;background:transparent;border:1px solid var(--line);border-radius:6px;transition:all .16s ease}.sort-button:hover{border-color:#b9c8e2;color:var(--navy-600)}.search-wrap{position:relative;display:inline-flex;align-items:center;gap:6px;padding:0 10px;background:#fff;border:1px solid var(--line);border-radius:8px;transition:border-color .16s ease,box-shadow .16s ease}.search-wrap:focus-within{border-color:var(--navy-600);box-shadow:0 0 0 3px #1f3a6914}.search-wrap>svg{color:var(--ink-400);flex:none}.search-input{width:250px;padding:7px 0;font-size:12px;color:var(--ink-700);background:transparent;border:none;outline:none}.search-input::placeholder{color:var(--ink-400)}.search-wrap .icon-button{flex:none}.search-spinner{position:absolute;right:34px;width:12px;height:12px;border:2px solid var(--line);border-top-color:var(--navy-600);border-radius:50%;animation:search-spin .7s linear infinite}@keyframes search-spin{to{transform:rotate(360deg)}}@media(max-width:900px){.search-input,.search-wrap{width:100%}}.sort-button svg:first-child{color:var(--navy-600)}.fund-card{position:relative;display:grid;grid-template-columns:44px minmax(210px,1fr) 106px 58px;gap:14px;align-items:center;min-height:150px;margin-top:9px;padding:17px 15px 15px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-sm);transition:transform .22s var(--ease-out),border-color .22s ease,box-shadow .22s var(--ease-out);animation:rise .45s var(--ease-out) both}.fund-card:nth-of-type(2){animation-delay:.05s}.fund-card:nth-of-type(3){animation-delay:.1s}.fund-card:nth-of-type(4){animation-delay:.15s}.fund-card:nth-of-type(5){animation-delay:.2s}.fund-card:nth-of-type(n+6){animation-delay:.25s}.fund-card:before{position:absolute;top:14px;bottom:14px;left:0;width:3px;content:"";background:linear-gradient(180deg,var(--gold-400),var(--gold-600));border-radius:0 3px 3px 0;opacity:0;transition:opacity .22s ease}.fund-card:hover{z-index:1;border-color:#b9c8e2;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.fund-card:hover:before{opacity:1}.fund-warning{border-left:3px solid #c77d2e}.rank-col{align-self:start;padding-top:3px}.rank{display:block;color:var(--ink-300);font-family:IBM Plex Mono,monospace;font-size:11px}.fund-card:nth-of-type(1) .rank{color:var(--gold-600);font-weight:600}.rank-note{display:inline-block;margin-top:7px;padding:3px 4px;color:var(--gold-600);font-size:8px;white-space:nowrap;background:#fbf3df;border:1px solid var(--gold-300);border-radius:4px}.fund-title-line{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.fund-title-line h3{margin:0;color:var(--ink-900);font-size:15px;font-weight:700}.type-tag,.quality-tag{padding:2px 5px;color:var(--ink-500);font-size:9px;background:#f2f5fa;border:1px solid var(--line-soft);border-radius:4px}.quality-tag.完整{color:var(--ok);background:#ecf7f1;border-color:#cde8da}.quality-tag.注意{color:var(--warn);background:var(--warn-bg);border-color:var(--warn-line)}.quality-tag.待核{color:#8a7326;background:#fbf6dc;border-color:#eee3a8}.fund-name{margin:4px 0 8px;color:var(--ink-400);font-size:10px}.fund-name span{margin-left:5px;color:var(--ink-500);font-family:IBM Plex Mono,monospace}.fund-reason{margin:0;color:var(--ink-600);font-size:11px;line-height:1.68}.fund-metadata{display:flex;flex-wrap:wrap;gap:9px;margin-top:9px;color:var(--ink-400);font-size:9px}.fund-metadata span{display:inline-flex;align-items:center;gap:3px}.fund-metadata svg{color:var(--ink-500)}.fund-stats{display:grid;gap:11px;padding-left:12px;border-left:1px solid var(--line-soft)}.fund-stats span,.fund-score span{display:block;color:var(--ink-400);font-size:9px}.fund-stats strong{display:block;margin-top:2px;color:var(--ink-700);font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:500}.up,.positive{color:var(--up)!important}.down,.negative{color:var(--down)!important}.ok{color:var(--ok)!important}.fund-score{padding-left:5px}.fund-score strong{display:inline-block;margin-top:2px;color:var(--navy-600);font-family:"Noto Serif SC",serif;font-size:23px;line-height:1}.fund-score i{color:var(--ink-300);font-family:IBM Plex Mono,monospace;font-size:8px;font-style:normal}.card-actions{position:absolute;right:13px;bottom:10px;display:flex;align-items:center;gap:3px}.card-actions .icon-button{width:27px;height:27px}.detail-button{display:inline-flex;align-items:center;gap:0;margin-left:4px;padding:4px;color:var(--navy-600);font-size:10px;font-weight:600;background:transparent;border:0;transition:gap .18s var(--ease-out)}.detail-button:hover{gap:3px}.results-note{display:flex;gap:6px;margin:13px 2px 0;color:var(--ink-400);font-size:10px;line-height:1.5}.results-note svg{flex:0 0 auto;color:var(--gold-500)}.insight-rail{display:grid;gap:13px}.compass-card,.watch-card{padding:16px}.rail-heading{display:flex;align-items:center;justify-content:space-between;color:var(--ink-800);font-size:12px;font-weight:700}.rail-heading svg{color:var(--ink-400)}.rail-heading button{display:inline-flex;align-items:center;gap:2px;padding:0;color:var(--navy-500);font-size:10px;background:none;border:0;transition:color .15s ease}.rail-heading button:hover{color:var(--navy-700)}.compass-viz{position:relative;display:grid;width:177px;height:177px;margin:13px auto 8px;place-items:center}.compass-rings{width:150px;height:150px;background:repeating-radial-gradient(circle,transparent 0 24px,#dde4f0 25px 26px),conic-gradient(from 0deg,transparent 0 8%,var(--navy-600) 8% 31%,transparent 31% 34%,var(--gold-500) 34% 53%,transparent 53% 57%,#4a6fa5 57% 78%,transparent 78% 81%,#3d8b6e 81% 98%,transparent 98% 100%);border:1px solid #ccd8ea;border-radius:50%;mask:radial-gradient(circle,transparent 0 38px,#000 39px);animation:compass-spin 26s linear infinite}.compass-rings:before,.compass-rings:after{position:absolute;top:50%;left:50%;width:1px;height:150px;content:"";background:#dde4f0;transform:translate(-50%,-50%)}.compass-rings:after{transform:translate(-50%,-50%) rotate(90deg)}.compass-core{position:absolute;z-index:2;display:grid;width:72px;height:72px;color:var(--navy-600);text-align:center;place-content:center;background:var(--surface);border:1px solid #d8e2f0;border-radius:50%;box-shadow:0 2px 10px #1a33581f;animation:core-breathe 3.4s ease-in-out infinite}.compass-core strong{font-family:"Noto Serif SC",serif;font-size:28px;line-height:.9}.compass-core span{margin-top:4px;color:var(--ink-400);font-size:9px}.compass-point{position:absolute;color:var(--ink-400);font-size:9px}.point-1{top:0;left:50%;transform:translate(-50%)}.point-2{right:0;top:50%;transform:translateY(-50%)}.point-3{bottom:0;left:50%;transform:translate(-50%)}.point-4{left:0;top:50%;transform:translateY(-50%)}.score-list{display:grid;gap:7px}.score-line{display:grid;grid-template-columns:48px 1fr 20px;gap:5px;align-items:center;color:var(--ink-500);font-size:9px}.score-line .bar{height:4px;overflow:hidden;background:#edf1f8;border-radius:10px}.score-line i{display:block;height:100%;border-radius:10px;transform-origin:left;animation:bar-grow .9s var(--ease-out) both}.score-line b{color:var(--ink-600);font-family:IBM Plex Mono,monospace;font-size:9px;font-weight:500}.compass-card>p{margin:13px 0 0;padding-top:11px;color:var(--ink-400);font-size:10px;line-height:1.55;border-top:1px solid var(--line-soft)}.watch-items{display:grid;gap:3px;margin-top:10px}.watch-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 4px;color:inherit;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--line-soft);border-radius:6px;transition:background .16s ease}.watch-item:hover{background:#f6f9fe}.watch-item:last-child{border-bottom:0}.mini-avatar{display:grid;flex:0 0 auto;width:25px;height:25px;color:var(--navy-600);font-size:11px;font-weight:700;place-items:center;background:var(--navy-100);border-radius:50%}.mini-avatar.large{width:39px;height:39px;font-size:16px}.watch-item span:nth-child(2){min-width:0}.watch-item b,.watch-item small{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.watch-item b{color:var(--ink-700);font-size:11px}.watch-item small{margin-top:2px;color:var(--ink-400);font-size:9px}.watch-item>svg{flex:0 0 auto;margin-left:auto;color:var(--ink-300)}.empty-watch{display:grid;gap:8px;padding:20px 0 8px;color:var(--ink-400);font-size:11px;text-align:center;place-items:center}.notice-card{display:flex;gap:9px;padding:13px;color:#8a5a24;background:var(--warn-bg);border:1px solid var(--warn-line);border-radius:10px}.notice-card svg{flex:0 0 auto;color:#d1923c}.notice-card b{font-size:11px}.notice-card p{margin:3px 0 0;color:#a1763f;font-size:10px;line-height:1.5}.module-view{min-height:600px}.method-bar{display:flex;align-items:center;gap:8px;margin-bottom:15px;padding:10px 12px;color:var(--navy-600);font-size:11px;background:var(--navy-100);border:1px solid #d3e0f2;border-radius:8px}.method-bar svg{color:var(--navy-500)}.comparison-table{overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-sm)}.compare-row{display:grid;grid-template-columns:minmax(150px,1.1fr) repeat(4,minmax(150px,1fr));min-width:max-content;border-bottom:1px solid var(--line-soft)}.compare-row:last-child{border-bottom:0}.compare-row>span,.compare-row>div{min-height:54px;padding:13px 14px;color:var(--ink-600);font-size:12px;border-right:1px solid var(--line-soft)}.compare-row>span{color:var(--ink-500);font-size:11px;background:#f7f9fc}.compare-head{background:#f4f7fb}.compare-head>span{color:var(--ink-600);font-weight:600}.compare-head>div{position:relative;display:grid;gap:3px}.compare-head b{color:var(--ink-900);font-size:12px}.compare-head small{color:var(--ink-400);font-family:IBM Plex Mono,monospace;font-size:9px}.compare-head button{position:absolute;top:8px;right:7px;display:grid;width:20px;height:20px;color:var(--ink-400);place-items:center;background:transparent;border:0;border-radius:4px;transition:all .15s ease}.compare-head button:hover{color:var(--up);background:#faeceb}.compare-note{max-width:190px;color:#8a5f3d!important;font-size:10px!important;line-height:1.5}.empty-module{display:grid;min-height:320px;padding:40px;color:var(--ink-400);text-align:center;place-content:center;justify-items:center;background:var(--surface);border:1px dashed #c2cfe4;border-radius:12px}.empty-module svg{color:var(--navy-500)}.empty-module h2{margin:12px 0 6px;color:var(--ink-800);font-family:"Noto Serif SC",serif;font-size:19px}.empty-module p{max-width:360px;margin:0 0 16px;color:var(--ink-400);font-size:12px;line-height:1.7}.watchlist-module{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.watchlist-module .empty-module{grid-column:1 / -1}.watchlist-card{padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-sm);transition:box-shadow .2s var(--ease-out),transform .2s var(--ease-out)}.watchlist-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.watchlist-card-head,.watchlist-card-head>div:first-child{display:flex;align-items:center}.watchlist-card-head{justify-content:space-between;gap:10px}.watchlist-card-head>div:first-child{gap:10px}.watchlist-card h2{margin:0;color:var(--ink-900);font-size:15px}.watchlist-card p{margin:3px 0 0;color:var(--ink-400);font-size:10px}.watch-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0;padding:11px 0;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}.watch-metrics span{color:var(--ink-400);font-size:9px}.watch-metrics b{display:block;margin-top:4px;color:var(--ink-700);font-family:IBM Plex Mono,monospace;font-size:11px}.watch-note label{display:block;color:var(--ink-500);font-size:10px;font-weight:600}.watch-note textarea{width:100%;min-height:72px;margin-top:7px;padding:8px;color:var(--ink-700);font-size:11px;line-height:1.6;resize:vertical;background:#f8fafc;border:1px solid var(--line-soft);border-radius:6px;outline-color:var(--navy-600)}.small-save{margin-top:7px;padding:6px 9px;color:#fff;font-size:10px;background:linear-gradient(135deg,var(--navy-700),var(--navy-500));border:0;border-radius:6px;transition:filter .16s ease}.small-save:hover{filter:brightness(1.12)}.placeholder-module .empty-module{min-height:440px}.refresh-market-button:disabled{color:var(--ink-300);cursor:not-allowed;background:transparent}.refresh-market-button.spinning svg{animation:spin .8s linear infinite}.market-status-bar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;margin-bottom:15px;padding:12px 13px;color:#1d6b4f;background:#ecf7f1;border:1px solid #cde8da;border-radius:10px}.market-status-bar>svg{color:#2f9c72}.market-status-bar b,.market-status-bar span{display:block}.market-status-bar b{font-size:12px}.market-status-bar span{margin-top:3px;color:#4f7a68;font-family:IBM Plex Mono,monospace;font-size:9px;line-height:1.5}.market-status-bar small{color:#43705f;font-family:IBM Plex Mono,monospace;font-size:9px}.market-status-bar.degraded,.market-status-bar.stale,.market-status-bar.error,.market-status-bar.not_configured{color:#8a5a24;background:var(--warn-bg);border-color:var(--warn-line)}.market-status-bar.degraded>svg,.market-status-bar.stale>svg,.market-status-bar.error>svg,.market-status-bar.not_configured>svg{color:#c28742}.market-quote-panel{overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-sm)}.market-quote-panel>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 17px;border-bottom:1px solid var(--line-soft)}.market-quote-panel h2{margin:0;color:var(--ink-900);font-family:"Noto Serif SC",serif;font-size:17px}.market-quote-panel header p{margin:4px 0 0;color:var(--ink-400);font-size:10px}.market-quote-table{overflow-x:auto}.market-quote-row{display:grid;grid-template-columns:minmax(180px,1.45fr) minmax(95px,.7fr) minmax(88px,.65fr) minmax(82px,.65fr) minmax(74px,.55fr) minmax(180px,1.35fr);min-width:790px;border-bottom:1px solid var(--line-soft);transition:background .15s ease}.market-quote-row:not(.market-quote-head):hover{background:#f6f9fe}.market-quote-row:last-child{border-bottom:0}.market-quote-row>span,.market-quote-row>strong{min-height:66px;padding:13px 14px;color:var(--ink-700);font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:500;border-right:1px solid var(--line-soft)}.market-quote-row>:last-child{border-right:0}.market-quote-head{background:#f4f7fb}.market-quote-head>span{min-height:36px;padding-top:10px;padding-bottom:8px;color:var(--ink-500);font-family:Noto Sans SC,Arial,sans-serif;font-size:10px;font-weight:600}.quote-name b,.quote-name small,.quote-time b,.quote-time small,.quote-time em{display:block}.quote-name b{overflow:hidden;color:var(--ink-800);font-family:Noto Sans SC,Arial,sans-serif;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.quote-name small,.quote-time small{margin-top:4px;color:var(--ink-400);font-size:9px}.quote-time b{width:max-content;padding:2px 4px;color:var(--ok);font-family:Noto Sans SC,Arial,sans-serif;font-size:9px;background:#ecf7f1;border-radius:4px}.quote-time b.freshness-stale{color:var(--warn);background:var(--warn-bg)}.quote-time em{max-width:170px;margin-top:4px;overflow:hidden;color:#9b6a3f;font-family:Noto Sans SC,Arial,sans-serif;font-size:8px;font-style:normal;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.market-empty{display:grid;min-height:260px;padding:30px;color:var(--ink-400);text-align:center;place-content:center;justify-items:center}.market-empty svg{color:var(--navy-500)}.market-empty h2{margin:12px 0 6px;color:var(--ink-800);font-family:"Noto Serif SC",serif;font-size:18px}.market-empty p{max-width:360px;margin:0;color:var(--ink-400);font-size:11px;line-height:1.7}.market-disclaimer{display:flex;gap:8px;margin-top:14px;padding:11px 12px;color:#8a5a24;background:var(--warn-bg);border:1px solid var(--warn-line);border-radius:10px}.market-disclaimer svg{flex:0 0 auto;color:#d1923c}.market-disclaimer p{margin:0;font-size:11px;line-height:1.6}.market-boundary{display:grid;grid-template-columns:repeat(3,1fr);margin-top:15px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.market-boundary>div{min-height:73px;padding:13px 15px;border-right:1px solid var(--line-soft)}.market-boundary>div:last-child{border-right:0}.market-boundary span,.market-boundary b{display:block}.market-boundary span{color:var(--ink-400);font-size:10px}.market-boundary b{margin-top:6px;color:var(--ink-700);font-size:11px;line-height:1.5}.overlay{position:fixed;z-index:50;top:0;right:0;bottom:0;left:0;display:flex;justify-content:flex-end;background:#0a12207a;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade-in .2s ease-out}.detail-drawer{display:flex;flex-direction:column;width:min(510px,100vw);height:100%;overflow:auto;padding:25px;background:#f8fafc;box-shadow:-18px 0 48px #0a122038;animation:drawer-in .26s var(--ease-out)}.detail-drawer>header,.trace-modal>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.detail-drawer h2,.trace-modal h2{margin:0;color:var(--ink-900);font-family:"Noto Serif SC",serif;font-size:23px}.detail-drawer header>div>p:last-child,.trace-modal header>div>p:last-child{margin:5px 0 0;color:var(--ink-400);font-size:10px}.drawer-score-row{display:grid;grid-template-columns:118px 1fr;gap:17px;align-items:center;margin:24px 0;padding:16px 0;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}.drawer-score{padding-right:15px;text-align:center;border-right:1px solid var(--line-soft)}.drawer-score span{display:block;color:var(--ink-400);font-size:10px}.drawer-score strong{color:var(--navy-600);font-family:"Noto Serif SC",serif;font-size:42px;line-height:1}.drawer-score small{color:var(--ink-400);font-family:IBM Plex Mono,monospace;font-size:9px}.drawer-score-row>div:last-child p{margin:7px 0 0;color:var(--ink-600);font-size:11px;line-height:1.65}.chart-panel{padding:13px;background:var(--surface);border:1px solid var(--line-soft);border-radius:8px}.chart-label{display:flex;align-items:center;justify-content:space-between;color:var(--ink-600);font-size:11px;font-weight:600}.chart-label small{color:var(--ink-400);font-size:9px;font-weight:400}.chart-panel svg{display:block;width:100%;height:125px;margin-top:10px}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:16px;overflow:hidden;background:var(--line-soft);border:1px solid var(--line-soft);border-radius:8px}.metric-grid>div{padding:11px;background:var(--surface)}.metric-grid span,.metric-grid small{display:block;color:var(--ink-400);font-size:9px}.metric-grid b{display:block;margin:5px 0 2px;color:var(--ink-700);font-family:IBM Plex Mono,monospace;font-size:12px}.drawer-section{margin-top:21px}.drawer-section h3{margin:0 0 10px;color:var(--ink-700);font-size:12px}.evidence-list{display:grid;gap:8px}.evidence-list>div{display:flex;align-items:flex-start;gap:7px;padding:9px;color:var(--ink-600);font-size:10px;line-height:1.5;background:#f2f6fb;border-radius:6px}.evidence-list svg{flex:0 0 auto;color:var(--ok)}.evidence-list>div:last-child{color:#8a5a24;background:var(--warn-bg)}.evidence-list>div:last-child svg{color:#d1923c}.source-copy{margin:0;color:var(--ink-500);font-family:IBM Plex Mono,monospace;font-size:9px;line-height:1.7}.detail-drawer footer{display:flex;gap:9px;margin-top:auto;padding-top:24px}.detail-drawer footer>*{flex:1}.detail-drawer footer .run-button{align-self:stretch}.trace-overlay{align-items:center;justify-content:center;padding:24px}.trace-modal{width:min(620px,100%);padding:25px;background:#f8fafc;border-radius:14px;box-shadow:0 20px 64px #0a122047;animation:modal-in .24s var(--ease-out)}.trace-timeline{display:grid;gap:0;margin:25px 0 17px}.trace-step{position:relative;display:grid;grid-template-columns:26px 1fr 18px;gap:10px;align-items:center;min-height:59px}.trace-step:not(:last-child):after{position:absolute;top:39px;left:12px;width:1px;height:26px;content:"";background:#d3deee}.trace-step>span{display:grid;width:25px;height:25px;color:#fff;font-family:IBM Plex Mono,monospace;font-size:10px;place-items:center;background:linear-gradient(135deg,var(--navy-700),var(--navy-500));border-radius:50%;box-shadow:0 2px 6px #1a33584d}.trace-step b{color:var(--ink-700);font-size:12px}.trace-step p{margin:3px 0 0;color:var(--ink-400);font-size:10px}.trace-step>svg{color:var(--ok)}.trace-data{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid var(--line-soft);border-radius:8px}.trace-data>div{padding:12px;border-bottom:1px solid var(--line-soft)}.trace-data>div:nth-child(odd){border-right:1px solid var(--line-soft)}.trace-data>div:nth-last-child(-n+2){border-bottom:0}.trace-data span,.trace-data b{display:block}.trace-data span{color:var(--ink-400);font-size:9px}.trace-data b{margin-top:4px;color:var(--ink-700);font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:500}.trace-warning{display:flex;gap:8px;margin-top:15px;padding:10px;color:#8a5a24;background:var(--warn-bg);border:1px solid var(--warn-line);border-radius:6px}.trace-warning svg{flex:0 0 auto;color:#d1923c}.trace-warning p{margin:0;font-size:10px;line-height:1.6}.toast{position:fixed;z-index:70;right:25px;bottom:25px;display:flex;align-items:center;gap:8px;max-width:min(360px,calc(100vw - 40px));padding:11px 14px;color:#fff;font-size:12px;background:linear-gradient(135deg,var(--navy-800),var(--navy-700));border:1px solid rgba(221,186,114,.35);border-radius:10px;box-shadow:0 10px 28px #0a122059;animation:toast-in .24s var(--ease-out)}.toast svg{color:var(--gold-300)}.ai-config-overlay{align-items:center;justify-content:center;padding:24px}.ai-config-modal{width:min(530px,100%);padding:25px;background:#f8fafc;border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 64px #0a122047;animation:modal-in .24s var(--ease-out)}.ai-config-modal>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.ai-config-modal h2{margin:0;color:var(--ink-900);font-family:"Noto Serif SC",serif;font-size:23px}.ai-config-modal header p:last-child{max-width:370px;margin:5px 0 0;color:var(--ink-400);font-size:10px;line-height:1.6}.ai-engine-state{display:flex;align-items:center;gap:10px;margin:21px 0 17px;padding:11px 12px;background:var(--navy-100);border:1px solid #d3e0f2;border-radius:8px}.ai-engine-state .pulse-dot{flex:0 0 auto}.ai-engine-state b,.ai-engine-state small{display:block}.ai-engine-state b{color:var(--navy-700);font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:500}.ai-engine-state small{margin-top:3px;color:var(--ink-400);font-size:10px}.ai-config-form{display:grid;gap:14px}.ai-config-form label{display:grid;gap:7px;color:var(--ink-600);font-size:11px;font-weight:600}.ai-config-form input,.ai-config-form select{width:100%;min-height:38px;padding:8px 10px;color:var(--ink-800);font-family:IBM Plex Mono,monospace;font-size:11px;background:var(--surface);border:1px solid var(--line);border-radius:6px;outline-color:var(--navy-600);transition:border-color .15s ease,box-shadow .15s ease}.ai-config-form input:focus,.ai-config-form select:focus{border-color:var(--navy-600);box-shadow:0 0 0 3px #1e3a661f}.ai-config-form input::placeholder{color:var(--ink-300);font-family:Noto Sans SC,Arial,sans-serif}.ai-config-form select{font-family:Noto Sans SC,Arial,sans-serif}.ai-config-hint,.ai-config-error{display:flex;align-items:flex-start;gap:7px;margin:1px 0 0;padding:10px;font-size:10px;line-height:1.55;border-radius:6px}.ai-config-hint{color:var(--ink-600);background:#f0f5fc;border:1px solid #d8e2f0}.ai-config-hint svg{flex:0 0 auto;color:var(--ok)}.ai-config-error{color:#96391f;background:#fdf0ea;border:1px solid #f0d0bd}.ai-config-error svg{flex:0 0 auto;color:#c45a33}.ai-config-form footer{display:flex;justify-content:flex-end;gap:8px;padding-top:3px}.ai-config-form footer .run-button{align-self:stretch}.auth-boot{display:flex;align-items:center;justify-content:center;gap:9px;min-height:100vh;color:var(--ink-400);font-size:13px;background:var(--bg)}.auth-boot-spin{color:var(--navy-600);animation:spin .8s linear infinite}.user-card .sign-out{margin-left:auto;width:28px;height:28px;color:#71829f}.user-card .sign-out:hover{color:var(--gold-300);background:#c9a24b1f;border-color:#c9a24b4d}.conversation-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(276px,1fr));gap:12px}.conversation-card{display:flex;align-items:center;gap:8px;padding:14px 15px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-sm);transition:border-color .18s ease,box-shadow .18s var(--ease-out),transform .18s var(--ease-out)}.conversation-card:hover{border-color:#b9c8e2;box-shadow:var(--shadow-md);transform:translateY(-2px)}.conversation-card.active{border-color:var(--navy-600);box-shadow:inset 3px 0 0 var(--gold-500),var(--shadow-sm)}.conversation-main{flex:1;min-width:0;padding:0;text-align:left;background:none;border:0}.conversation-main h3{margin:0;overflow:hidden;color:var(--ink-900);font-size:13px;font-weight:700;white-space:nowrap;text-overflow:ellipsis}.conversation-main p{margin:6px 0 0;color:var(--ink-400);font-family:IBM Plex Mono,monospace;font-size:10px}.conversation-card .icon-button:hover{color:var(--up);background:#faeceb;border-color:#f0d0c8}.conversation-thread{display:grid;gap:11px;margin-top:20px;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-sm)}.thread-loading{margin:0;color:var(--ink-400);font-size:12px}.thread-message{padding:12px 14px;background:#f7f9fc;border:1px solid var(--line-soft);border-radius:8px;animation:rise .35s var(--ease-out) both}.thread-message.user{border-left:3px solid var(--navy-600)}.thread-message.assistant{background:#fdfaf2;border-left:3px solid var(--gold-500)}.thread-role{display:block;color:var(--ink-500);font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:.05em}.thread-message p{margin:7px 0 0;color:var(--ink-700);font-size:12.5px;line-height:1.75;white-space:pre-wrap}.thread-message small{display:block;margin-top:8px;color:var(--ink-400);font-family:IBM Plex Mono,monospace;font-size:9px}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes drawer-in{0%{transform:translate(30px);opacity:.4}to{transform:translate(0);opacity:1}}@keyframes modal-in{0%{transform:translateY(10px) scale(.985);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes toast-in{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{0%{opacity:.7;transform:scale(.6)}70%,to{opacity:0;transform:scale(1.9)}}@keyframes compass-spin{to{transform:rotate(360deg)}}@keyframes core-breathe{0%,to{box-shadow:0 2px 10px #1a33581f,0 0 #c9a24b2e}50%{box-shadow:0 2px 10px #1a33581f,0 0 0 7px #c9a24b00}}@keyframes shimmer{to{background-position:-220% 0}}@keyframes bar-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.research-progress{margin-top:14px;padding:15px 17px 13px;background:var(--surface);border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow-sm)}.progress-head{display:flex;align-items:center;gap:9px;font-size:12.5px}.progress-head b{color:var(--navy-700);font-size:13px}.progress-hint{color:var(--ink-400);font-size:11px}.progress-pulse{width:8px;height:8px;border-radius:50%;background:var(--gold-500);position:relative;flex:none}.progress-pulse:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:var(--gold-500);animation:ping 1.6s var(--ease-out) infinite}.progress-steps{list-style:none;margin:11px 0 0;padding:0;display:grid;gap:2px}.progress-step{display:flex;align-items:flex-start;gap:9px;padding:6px 8px;border-radius:8px;animation:step-in .35s var(--ease-out) both}.progress-step:last-child{background:#c9a24b12}.progress-step.failed{background:#a43c2c14}.step-marker{flex:none;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;margin-top:1px;background:#1a335812;color:var(--navy-600)}.progress-step.running .step-marker{background:#c9a24b29;color:var(--gold-600)}.progress-step.failed .step-marker{background:#a43c2c24;color:var(--down)}.step-body{display:grid;gap:1px;min-width:0}.step-body b{color:var(--ink-800);font-size:12px;font-weight:600}.step-body small{color:var(--ink-400);font-size:11px;line-height:1.55}.step-spin{animation:spin 1.1s linear infinite}@keyframes step-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.filter-inactive{margin:5px 0 0;color:var(--ink-400);font-size:10.5px;line-height:1.6;padding:7px 9px;border-radius:7px;background:#c9a24b14;border:1px dashed rgba(201,162,75,.35)}@media(max-width:1230px){.research-grid{grid-template-columns:202px minmax(500px,1fr)}.insight-rail{grid-column:2;grid-template-columns:1.15fr 1fr}.notice-card{grid-column:1 / -1}.compass-card{display:grid;grid-template-columns:195px 1fr;column-gap:16px}.compass-card .rail-heading{grid-column:1 / -1}.compass-viz{grid-row:span 2}.compass-card>p{align-self:end}.watch-card{align-self:stretch}}@media(max-width:920px){.app-shell{grid-template-columns:minmax(0,1fr)}.sidebar{left:0;width:260px;transform:translate(-105%);box-shadow:12px 0 36px #060c1866;transition:transform .24s var(--ease-out)}.sidebar.is-open{transform:translate(0)}.workspace{grid-column:1}.icon-button.menu-button,.icon-button.close-mobile{display:inline-grid}.close-mobile{margin-left:auto;color:#a8b6cf}.topbar{padding:0 22px}.content-scroll{padding:30px 22px 40px}.research-grid{grid-template-columns:184px minmax(470px,1fr);gap:16px}.fund-card{grid-template-columns:38px minmax(190px,1fr) 95px 52px;gap:9px;padding:15px 12px}.fund-stats{padding-left:8px}.title-row h1{font-size:24px}}@media(max-width:720px){.topbar{height:57px;padding:0 16px}.content-scroll{min-height:calc(100vh - 57px);padding:24px 15px 32px}.breadcrumb span,.breadcrumb svg{display:none}.top-actions{gap:8px}.data-chip{display:none}.title-row{align-items:flex-end;margin-bottom:20px}.title-row h1{font-size:22px}.trace-button{padding:8px;font-size:0}.trace-button svg{width:17px;height:17px}.query-panel{padding:16px 14px 13px}.query-input-row{flex-direction:column;gap:5px}.query-head{flex-wrap:wrap;gap:8px}.query-engine{flex-wrap:wrap}.query-input-row textarea{min-height:72px;font-size:14px}.query-input-row .run-button{align-self:stretch}.research-grid{display:block;margin-top:17px}.filter-panel{margin-bottom:16px}.filter-panel{display:grid;grid-template-columns:repeat(2,1fr);gap:0 12px}.section-caption,.filter-foot,.filter-options{grid-column:1 / -1}.filter-options button{flex:1}.filter-label{margin-top:14px}.toggle-row{grid-column:1 / -1}.filter-foot{margin-top:14px}.filter-panel .filter-caveat{grid-column:1 / -1}.results-header{margin-top:24px}.fund-card{display:grid;grid-template-columns:32px 1fr 50px;gap:9px;min-height:auto;padding:14px 11px 39px}.fund-main{grid-column:2 / 4}.rank-col{grid-column:1;grid-row:1}.fund-stats{grid-column:2;grid-row:2;display:flex;gap:17px;padding:0;border:0}.fund-score{grid-column:3;grid-row:1;align-self:start}.fund-score strong{font-size:21px}.fund-metadata{gap:7px}.card-actions{right:9px;bottom:6px}.insight-rail{display:grid;grid-template-columns:minmax(0,1fr);margin-top:17px}.compass-card{display:block}.compass-viz{margin:15px auto}.notice-card{grid-column:auto}.results-note{margin-bottom:8px}.method-bar{align-items:flex-start;font-size:10px;line-height:1.5}.comparison-table{margin:0 -15px;border-radius:0}.market-status-bar{grid-template-columns:auto minmax(0,1fr);align-items:start}.market-status-bar small{grid-column:2}.market-quote-panel{margin:0 -15px;border-right:0;border-left:0;border-radius:0}.market-boundary{grid-template-columns:minmax(0,1fr)}.market-boundary>div{min-height:auto;border-right:0;border-bottom:1px solid var(--line-soft)}.market-boundary>div:last-child{border-bottom:0}.watchlist-module{grid-template-columns:minmax(0,1fr)}.detail-drawer{padding:20px 16px}.detail-drawer h2{font-size:20px}.drawer-score-row{grid-template-columns:97px 1fr;gap:12px}.metric-grid{grid-template-columns:repeat(2,1fr)}.trace-overlay{padding:15px}.trace-modal{padding:20px 16px}.trace-data{grid-template-columns:minmax(0,1fr)}.trace-data>div,.trace-data>div:nth-child(odd){border-right:0;border-bottom:1px solid var(--line-soft)}.trace-data>div:last-child{border-bottom:0}}@media(max-width:390px){.fund-card{grid-template-columns:27px 1fr 46px}.fund-title-line h3{font-size:14px}.fund-name{max-width:220px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.fund-metadata{font-size:8px}.understanding-row{gap:5px}.understanding-chip{font-size:10px}.filter-panel{grid-template-columns:minmax(0,1fr)}.filter-panel .filter-options,.filter-panel .section-caption,.filter-panel .toggle-row,.filter-panel .filter-foot,.filter-panel .filter-caveat{grid-column:auto}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
