@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+TC:wght@400;500;600;700&family=JetBrains+Mono:wght@500;600&display=swap";:root{color-scheme:dark;font-family:IBM Plex Sans TC,Noto Sans TC,system-ui,sans-serif;color:#e7edf4;background:#0a0f16;font-synthesis:none;--bg: #0a0f16;--surface: #111923;--surface-2: #151f2b;--surface-3: #1b2735;--border: #273444;--border-soft: #1e2a38;--text: #e7edf4;--muted: #8391a4;--green: #43d6a2;--green-soft: rgba(67, 214, 162, .12);--red: #ff718b;--red-soft: rgba(255, 113, 139, .12);--amber: #f4b95f;--blue: #7b91ff;--sidebar: 224px}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{min-height:100vh;background:var(--bg);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--green);outline-offset:2px}.app-shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);background:radial-gradient(circle at 55% -10%,rgba(35,78,89,.18),transparent 38%),var(--bg)}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);display:flex;flex-direction:column;padding:20px 14px 14px;background:#0d141d;border-right:1px solid var(--border-soft);z-index:10}.brand{display:flex;align-items:center;gap:11px;padding:0 9px 24px}.brand-mark{width:35px;height:35px;border-radius:10px;display:grid;place-items:center;background:var(--green);color:#071510;box-shadow:0 0 24px #43d6a233}.brand-mark svg{width:21px;height:21px}.brand strong{display:block;font-size:15px;letter-spacing:.02em}.brand span{display:block;color:var(--muted);font-size:9px;letter-spacing:.12em;text-transform:uppercase;margin-top:2px}.nav-label{margin:4px 10px 9px;color:#5f6c7d;font-size:10px;font-weight:700;letter-spacing:.14em}.nav-item{width:100%;min-height:43px;display:flex;align-items:center;gap:11px;border:0;border-radius:9px;background:transparent;color:#8d9bad;padding:0 11px;cursor:pointer;text-align:left;transition:.18s ease}.nav-item svg{width:19px;height:19px}.nav-item span{flex:1;font-size:13px;font-weight:500}.nav-item em{min-width:20px;height:19px;display:grid;place-items:center;border-radius:9px;background:#ff718b24;color:var(--red);font-size:10px;font-style:normal}.nav-item:hover{color:var(--text);background:#ffffff09}.nav-item.active{color:var(--green);background:var(--green-soft);box-shadow:inset 2px 0 var(--green)}.sidebar-bottom{margin-top:auto}.sync-card{padding:12px;margin-bottom:8px;border:1px solid var(--border-soft);background:#ffffff05;border-radius:10px}.sync-card span{display:flex;align-items:center;gap:6px;color:var(--green);font-size:10px;font-weight:700}.sync-card span svg{width:13px}.sync-card strong,.sync-card small{display:block}.sync-card strong{font-family:JetBrains Mono,monospace;font-size:10px;margin:7px 0 3px;color:#b8c4d2}.sync-card small{color:#596777;font-size:8px;line-height:1.5}.main-shell{grid-column:2;min-width:0}.topbar{height:78px;position:sticky;top:0;z-index:8;display:grid;grid-template-columns:210px minmax(280px,560px) 1fr;align-items:center;gap:28px;padding:0 28px;border-bottom:1px solid var(--border-soft);background:#0a0f16e0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.page-heading span{display:block;color:var(--muted);font-size:10px;margin-bottom:2px}.page-heading h1{margin:0;font-size:20px;letter-spacing:-.02em}.search{height:40px;display:flex;align-items:center;gap:9px;padding:0 11px;border:1px solid var(--border);border-radius:9px;background:#0d141d}.search svg{color:#728196;width:18px}.search input{min-width:0;flex:1;border:0;outline:0;color:var(--text);background:transparent;font-size:12px}.search input::placeholder{color:#526073}kbd{padding:3px 6px;border:1px solid var(--border);border-radius:5px;background:var(--surface-2);color:#6f7c8c;font:9px JetBrains Mono,monospace}.header-actions{justify-self:end;display:flex;gap:9px;align-items:center}.icon-button,.user-button{border:1px solid var(--border);background:var(--surface);cursor:pointer}.icon-button{position:relative;width:38px;height:38px;display:grid;place-items:center;border-radius:9px;color:#9aa8b9}.notification-dot{position:absolute;right:8px;top:7px;width:6px;height:6px;border-radius:50%;background:var(--red);box-shadow:0 0 0 2px var(--surface)}.user-button{height:38px;display:flex;align-items:center;gap:7px;padding:0 9px;border-radius:9px}.user-button svg:first-child{color:var(--green);width:22px;height:22px}.user-button span{font-size:11px}.user-button svg:last-child{width:12px;color:var(--muted)}.content{padding:22px 28px 40px;max-width:1560px;margin:0 auto}.view-stack{display:flex;flex-direction:column;gap:16px}.panel{border:1px solid var(--border-soft);background:linear-gradient(145deg,#141e29f7,#0f1721f7);border-radius:12px;box-shadow:0 12px 30px #0000001f}.panel-header{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 17px 12px;border-bottom:1px solid var(--border-soft)}.panel-header h2{margin:1px 0 0;font-size:14px;font-weight:650}.eyebrow{color:var(--muted);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.index-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 1.15fr;gap:10px}.index-strip article{min-height:76px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:center;padding:12px 14px;border:1px solid var(--border-soft);border-radius:10px;background:#101822}.index-strip article>div:first-child span{display:block;color:#b9c4d0;font-size:11px;font-weight:600}.index-strip article small{display:block;color:#607084;font-size:8px;margin-top:2px}.index-strip article>strong{justify-self:end;font:600 15px JetBrains Mono,monospace}.index-strip .change{grid-column:2;justify-self:end}.index-strip .market-status{display:flex;gap:10px;align-items:center}.market-status .live-dot{width:9px;height:9px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 5px #f4b95f1a}.market-status strong,.market-status span,.market-status small{display:block}.market-status span{color:var(--muted);font-size:9px}.market-status strong{margin-top:2px;font-size:13px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(255px,.8fr);gap:16px}.chart-panel{min-height:520px}.chart-panel.compact{min-height:340px}.segmented{display:flex;padding:3px;border:1px solid var(--border);border-radius:7px;background:#0d151e}.segmented button{min-width:34px;height:25px;border:0;border-radius:5px;color:#728196;background:transparent;font-size:9px;cursor:pointer}.segmented button.active{color:#dfe7ef;background:var(--surface-3)}.price-summary{display:flex;align-items:baseline;gap:12px;padding:12px 17px 0}.price-summary strong{font:600 25px JetBrains Mono,monospace}.price-summary>span:last-child{color:var(--muted);font-size:9px}.change{display:inline-flex;align-items:center;gap:3px;font:600 10px JetBrains Mono,monospace;white-space:nowrap}.change svg{width:12px;height:12px}.positive,.green{color:var(--green)!important}.negative{color:var(--red)}.chart-legend{display:flex;gap:18px;padding:9px 17px 0}.legend{position:relative;padding-left:15px;color:var(--muted);font-size:9px}.legend:before{content:"";position:absolute;left:0;top:50%;width:9px;height:2px;transform:translateY(-50%);border-radius:1px}.price-line:before{background:var(--green)}.ma-line:before{background:var(--amber)}.index-line:before{background:var(--blue)}.tencent-line:before{background:#c779ff}.mobile-line:before{background:#45b9e8}.chart-wrap{height:400px;padding:8px 8px 10px}.compact .chart-wrap{height:225px}.signal-panel{padding-bottom:15px}.signal-panel .panel-header svg{color:var(--green)}.signal-score{display:flex;justify-content:space-between;align-items:center;padding:16px 17px 10px}.signal-score strong{color:var(--green);font-size:18px}.signal-score span{width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(67,214,162,.4);border-radius:50%;background:var(--green-soft);color:var(--green);font:600 12px JetBrains Mono}.signal-panel>p{color:#8f9dad;font-size:10px;line-height:1.65;margin:0 17px 14px}.signal-row{display:flex;align-items:center;justify-content:space-between;padding:8px 17px;border-top:1px solid var(--border-soft);font-size:10px;color:#9ba8b8}.signal-row strong{color:var(--text);font:600 11px JetBrains Mono}.wide-button{width:calc(100% - 34px);min-height:36px;display:flex;justify-content:center;align-items:center;gap:7px;margin:13px 17px 0;border:1px solid rgba(67,214,162,.28);border-radius:8px;background:var(--green-soft);color:var(--green);font-size:10px;font-weight:700;cursor:pointer}.wide-button svg{width:12px}.table-panel{overflow:hidden}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse}th{height:35px;padding:0 13px;border-bottom:1px solid var(--border-soft);color:#627186;font-size:8px;font-weight:700;text-align:left;text-transform:uppercase;letter-spacing:.07em;white-space:nowrap}td{height:51px;padding:0 13px;border-bottom:1px solid rgba(39,52,68,.55);color:#b7c2cf;font-size:10px}tbody tr{transition:.15s ease;cursor:pointer}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#ffffff06}td:last-child{width:32px;color:#526174}.number{font-family:JetBrains Mono,monospace;color:#e0e8f0}.muted{color:#77869a}.stock-name{display:flex;align-items:center;gap:9px;min-width:130px}.stock-name>svg{width:15px;height:15px;color:#536277}.stock-name strong,.stock-name small{display:block}.stock-name strong{color:#dce4ec;font-size:10px;font-weight:600}.stock-name small{color:#67768a;font:8px JetBrains Mono,monospace;margin-top:2px}.signal,.status,.channel,.tag{display:inline-flex;align-items:center;padding:3px 7px;border-radius:5px;background:var(--green-soft);color:var(--green);font-size:8px;font-weight:700}.signal.cool{background:#7b91ff1a;color:#94a5ff}.status.triggered{background:#f4b95f21;color:var(--amber)}.channel{margin-right:4px;background:#1d2b3a;color:#9cadbf}.text-button,.row-action{border:0;background:transparent;cursor:pointer}.text-button{display:flex;align-items:center;gap:5px;color:var(--green);font-size:9px;font-weight:700}.text-button svg{width:13px}.row-action{color:var(--muted);letter-spacing:2px}.toolbar{min-height:56px;display:flex;align-items:center;gap:10px;padding:8px 12px}.symbol-picker{min-width:220px;display:flex;align-items:center;gap:9px;padding:0 9px}.symbol-picker span{color:var(--muted);font-size:9px}.symbol-picker strong{flex:1;font-size:11px}.symbol-picker svg{color:var(--muted);width:12px}.toolbar-divider{height:28px;border-left:1px solid var(--border)}.tool-select,.select-control{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid var(--border);border-radius:7px;background:#0e1721;color:#aebac8;cursor:pointer}.tool-select{height:32px;padding:0 10px;font-size:9px}.tool-select svg,.select-control svg{width:11px}.toggle-row{display:flex;align-items:center;gap:7px;margin-left:auto;color:#8e9bad;font-size:9px;cursor:pointer}.toggle-row input{display:none}.toggle-row>span{width:28px;height:16px;position:relative;border-radius:8px;background:#2a3747}.toggle-row>span:after{content:"";position:absolute;width:12px;height:12px;top:2px;left:2px;border-radius:50%;background:#8a98a8;transition:.2s}.toggle-row input:checked+span{background:#43d6a252}.toggle-row input:checked+span:after{left:14px;background:var(--green)}.compare-strip{min-height:48px;display:flex;align-items:center;gap:7px;padding:8px 12px;overflow-x:auto}.compare-strip>span{color:var(--muted);font-size:9px;margin-right:3px;white-space:nowrap}.compare-strip button{min-height:29px;display:inline-flex;align-items:center;gap:6px;padding:0 8px;border:1px solid var(--border);border-radius:7px;background:#0e1721;color:#aebac8;font-size:9px;white-space:nowrap;cursor:pointer}.compare-strip button svg{width:11px;color:#637286}.compare-strip .dot{width:6px;height:6px;border-radius:50%;background:var(--green)}.compare-strip .dot.tencent{background:#c779ff}.compare-strip .dot.mobile{background:#45b9e8}.compare-strip .add-compare{color:var(--green);border-color:#43d6a242;background:var(--green-soft)}.secondary-button,.primary-button{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:8px;padding:0 12px;font-size:9px;font-weight:700;cursor:pointer}.secondary-button{border:1px solid var(--border);background:#172230;color:#aebac8}.primary-button{border:1px solid var(--green);background:var(--green);color:#06120e}.primary-button.small{min-height:31px;padding:0 11px}.primary-button svg,.secondary-button svg{width:14px}.metric-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.metric{padding:13px 14px}.metric span,.metric strong{display:block}.metric span{color:var(--muted);font-size:9px}.metric strong{margin-top:5px;font:600 13px JetBrains Mono}.screener-builder .filter-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:15px 17px}.filter-grid label>span,.modal label>span,.journal-editor label>span{display:block;margin-bottom:6px;color:var(--muted);font-size:9px}.select-control{width:100%;height:36px;padding:0 10px;font-size:10px}.conditions{display:flex;flex-direction:column;gap:7px;padding:0 17px 14px}.condition{min-height:42px;display:grid;grid-template-columns:25px 1fr .8fr 1.4fr 26px;align-items:center;gap:10px;padding:0 10px;border:1px solid var(--border-soft);border-radius:8px;background:#0d151e;font-size:10px}.condition>span{width:21px;height:21px;display:grid;place-items:center;border-radius:6px;background:var(--green-soft);color:var(--green);font:700 8px JetBrains Mono}.condition em{color:var(--muted);font-style:normal}.condition button{border:0;background:transparent;color:#5e6c7e;cursor:pointer}.condition button svg{width:13px}.add-condition{align-self:flex-start;display:flex;align-items:center;gap:5px;border:0;background:transparent;color:var(--green);font-size:9px;font-weight:700;cursor:pointer}.builder-footer{min-height:58px;display:flex;align-items:center;justify-content:space-between;padding:10px 17px;border-top:1px solid var(--border-soft)}.builder-footer>span{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:9px}.builder-footer>span svg{color:var(--green)}.loading-state{min-height:260px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;color:var(--muted)}.loading-state svg{width:27px;height:27px;color:var(--green)}.loading-state strong{color:var(--text);font-size:12px}.loading-state span{font-size:9px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.score{min-width:115px;display:grid;grid-template-columns:1fr 26px;align-items:center;gap:7px}.score>span{height:4px;display:block;border-radius:2px;background:var(--green);box-shadow:-100px 0 #253242}.score strong{color:var(--green);font:600 9px JetBrains Mono}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.summary-card{min-height:82px;display:flex;align-items:center;gap:13px;padding:14px 16px}.summary-card>svg{width:28px;height:28px;padding:6px;border-radius:8px;color:var(--green);background:var(--green-soft)}.summary-card span,.summary-card strong{display:block}.summary-card span{color:var(--muted);font-size:9px}.summary-card strong{margin-top:4px;font:600 16px JetBrains Mono}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:20px;background:#03070bb8;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal{width:min(460px,100%);padding:19px;border:1px solid #344455;border-radius:14px;background:#111b26;box-shadow:0 24px 80px #0000008c}.modal-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:18px}.modal-head h2{margin:3px 0 0;font-size:17px}.modal-head button{border:0;background:transparent;color:var(--muted);cursor:pointer}.modal-head svg{width:18px}.modal input,.modal select,.journal-editor input,.journal-editor textarea{width:100%;border:1px solid var(--border);border-radius:8px;background:#0c141d;color:var(--text);padding:0 10px;outline:0}.modal input,.modal select,.journal-editor input{height:38px}.modal-row{display:grid;grid-template-columns:1.4fr .8fr;gap:10px;margin-top:13px}.modal>label{display:block;margin-top:13px}.check-row{display:flex;gap:8px}.check-row span{display:flex;align-items:center;gap:5px;padding:7px 9px;border-radius:7px;background:var(--green-soft);color:var(--green);font-size:9px}.check-row svg{width:12px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:21px}.portfolio-hero{min-height:172px;display:grid;grid-template-columns:1fr .9fr 1.4fr;align-items:center;gap:30px;padding:22px 24px;overflow:hidden}.portfolio-hero h2{margin:7px 0 2px;font:600 27px JetBrains Mono}.portfolio-hero p{margin:0;color:var(--muted);font-size:9px}.portfolio-change{padding-left:25px;border-left:1px solid var(--border)}.portfolio-change span,.portfolio-change strong,.portfolio-change em{display:block}.portfolio-change span{color:var(--muted);font-size:9px}.portfolio-change strong{color:var(--green);font:600 18px JetBrains Mono;margin:7px 0 3px}.portfolio-change em{color:var(--green);font: 9px JetBrains Mono}.mini-chart{height:120px}.portfolio-metrics{grid-template-columns:repeat(4,1fr)}.cell-sub{display:block;margin-top:2px;font:8px JetBrains Mono}.journal-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(380px,1.2fr);gap:16px}.journal-editor{padding-bottom:17px;align-self:start}.journal-editor label{display:block;margin:14px 17px 0}.journal-editor textarea{height:180px;padding-top:10px;resize:vertical}.journal-actions{display:flex;justify-content:flex-end;gap:8px;margin:15px 17px 0}.journal-list{display:flex;flex-direction:column;gap:10px}.journal-entry{padding:16px}.journal-entry h3{margin:5px 0 7px;font-size:13px}.journal-entry p{margin:0 0 12px;color:#94a1b0;font-size:10px;line-height:1.6}.journal-entry .tag{margin-right:5px;background:#1b2938;color:#a7b5c5}.data-status{min-height:130px;display:flex;align-items:center;gap:17px;padding:20px}.data-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:14px;background:var(--green-soft);color:var(--green)}.data-icon svg{width:26px}.data-status h2{margin:5px 0 4px;font-size:17px}.data-status p{margin:0;color:var(--muted);font-size:9px}.health-badge{margin-left:auto;display:flex;align-items:center;gap:5px;padding:6px 9px;border-radius:7px;background:var(--green-soft);color:var(--green);font-size:9px;font-weight:700}.import-card{display:flex;align-items:center;justify-content:space-between;padding:17px}.import-card>div{display:flex;align-items:center;gap:12px}.import-card>div>svg{width:25px;color:var(--blue)}.import-card h3{margin:0 0 4px;font-size:12px}.import-card p{margin:0;color:var(--muted);font-size:9px}.toast{position:fixed;right:24px;bottom:24px;z-index:80;display:flex;align-items:center;gap:8px;padding:11px 14px;border:1px solid rgba(67,214,162,.35);border-radius:9px;background:#12231f;color:var(--green);box-shadow:0 16px 40px #00000059;font-size:10px;font-weight:700;animation:rise .25s ease}.toast svg{width:14px}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1080px){:root{--sidebar: 188px}.topbar{grid-template-columns:160px minmax(250px,1fr) auto;gap:16px;padding-inline:18px}.content{padding-inline:18px}.dashboard-grid{grid-template-columns:1fr}.signal-panel{display:grid;grid-template-columns:1fr 1fr}.signal-panel .panel-header{grid-column:1/-1}.signal-panel .wide-button{align-self:end}.metric-grid{grid-template-columns:repeat(3,1fr)}.screener-builder .filter-grid{grid-template-columns:repeat(2,1fr)}.portfolio-hero{grid-template-columns:1fr 1fr}.portfolio-hero .mini-chart{grid-column:1/-1}}@media(max-width:760px){:root{--sidebar: 66px}.sidebar{padding-inline:9px}.brand{padding-inline:6px;justify-content:center}.brand>div:last-child,.nav-label,.nav-item span,.nav-item em,.sync-card,.sidebar-bottom .nav-item span{display:none}.nav-item{justify-content:center;padding:0}.nav-item.active{box-shadow:none}.topbar{height:auto;min-height:110px;grid-template-columns:1fr auto;grid-template-rows:52px 44px;padding:6px 12px 10px}.search{grid-column:1/-1;grid-row:2}.page-heading{grid-column:1}.header-actions{grid-column:2}.user-button span,.user-button svg:last-child{display:none}.content{padding:14px 12px 30px}.index-strip{grid-template-columns:1fr 1fr}.dashboard-grid{display:block}.dashboard-grid>*+*{margin-top:14px}.metric-grid,.summary-grid{grid-template-columns:1fr 1fr}.screener-builder .filter-grid{grid-template-columns:1fr}.condition{grid-template-columns:22px 1fr;gap:6px;padding-block:8px}.condition em,.condition strong:last-of-type{grid-column:2}.toolbar{overflow-x:auto}.symbol-picker{min-width:190px}.journal-grid,.portfolio-hero{grid-template-columns:1fr}.portfolio-change{padding-left:0;border-left:0}.portfolio-hero .mini-chart{grid-column:auto}.portfolio-metrics{grid-template-columns:1fr 1fr}.table-panel{overflow-x:auto}table{min-width:720px}.chart-panel{min-height:420px}.chart-wrap{height:310px}}.search-shell{position:relative;min-width:0;z-index:20}.search-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;border:0;background:transparent;cursor:default}.search-results{position:absolute;left:0;right:0;top:48px;max-height:min(560px,72vh);overflow:hidden;border-color:#34475c;box-shadow:0 24px 70px #000000a6}.search-results-head{height:42px;display:flex;align-items:center;justify-content:space-between;padding:0 13px;border-bottom:1px solid var(--border)}.search-results-head strong{font-size:10px}.search-results-head span{color:var(--muted);font-size:9px}.search-results-list{max-height:510px;overflow-y:auto}.search-results-list button{width:100%;min-height:50px;display:grid;grid-template-columns:1fr auto 16px;align-items:center;gap:12px;padding:8px 13px;border:0;border-bottom:1px solid var(--border-soft);background:#111a25;text-align:left;cursor:pointer}.search-results-list button:hover{background:#192533}.search-results-list button>span:first-child strong,.search-results-list button>span:first-child small{display:block}.search-results-list button>span:first-child strong{color:var(--green);font:600 11px JetBrains Mono}.search-results-list button small{color:#93a2b4;font-size:9px;margin-top:2px}.search-results-list button>span:nth-child(2){text-align:right}.search-results-list button em{display:block;color:#637489;font: 8px JetBrains Mono}.search-results-list button svg{width:13px;color:#617185}.empty-search{padding:28px 15px;color:var(--muted);font-size:10px;text-align:center}.market-command{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 18px}.market-command h2{margin:4px 0 3px;font-size:16px}.market-command p{margin:0;color:var(--muted);font-size:9px}.market-command>div:last-child{display:flex;gap:8px}.market-scan{width:100%;margin:0}.chart-legend{overflow-x:auto;white-space:nowrap}.symbol-picker{min-height:36px;border:0;border-radius:7px;background:transparent;color:inherit;cursor:pointer;text-align:left}.symbol-picker:hover{background:#ffffff09}.select-label{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:9px}.select-label select,.settings-list select{height:32px;border:1px solid var(--border);border-radius:7px;padding:0 26px 0 9px;background:#0e1721;color:#aebac8;font-size:9px}.indicator-toggles{display:flex;gap:4px}.indicator-toggles button{min-height:30px;padding:0 8px;border:1px solid var(--border);border-radius:6px;background:#0e1721;color:#758498;font-size:8px;cursor:pointer}.indicator-toggles button.active{border-color:#43d6a259;background:var(--green-soft);color:var(--green)}.toolbar a{text-decoration:none;margin-left:auto}.compare-picker{display:flex;align-items:center;flex-wrap:wrap;gap:7px;padding:10px 12px}.compare-picker>span{margin-right:6px;color:var(--muted);font-size:9px}.compare-picker button{min-height:30px;display:flex;align-items:center;gap:5px;border:1px solid var(--border);border-radius:7px;padding:0 9px;background:#0e1721;color:#8f9daf;font-size:9px;cursor:pointer}.compare-picker button svg{width:11px}.compare-picker button.active{border-color:#43d6a266;background:var(--green-soft);color:var(--green)}.insight-panel{min-height:340px;padding-bottom:14px}.insight-panel .panel-header svg{color:var(--green)}.insight-hero{display:flex;justify-content:space-between;align-items:center;padding:17px 17px 8px}.insight-hero strong{font-size:17px;color:var(--green)}.risk-pill{padding:5px 8px;border-radius:6px;font-size:8px;font-weight:700}.risk-低{background:var(--green-soft);color:var(--green)}.risk-中{background:#f4b95f21;color:var(--amber)}.risk-高{background:var(--red-soft);color:var(--red)}.insight-panel>p{margin:0 17px 14px;color:#93a2b4;font-size:10px;line-height:1.65}.insight-grid{display:grid;grid-template-columns:1fr 1fr;margin:0 17px;border:1px solid var(--border-soft);border-radius:9px;overflow:hidden}.insight-grid span{padding:11px;border-right:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);color:var(--muted);font-size:8px}.insight-grid span:nth-child(2n){border-right:0}.insight-grid span:nth-last-child(-n+2){border-bottom:0}.insight-grid strong{display:block;margin-top:4px;color:var(--text);font:600 12px JetBrains Mono}.notice-list p{display:flex;align-items:center;gap:8px;margin:8px 0;padding:10px;border-radius:8px;background:#0d151e;color:#a9b6c5;font-size:10px}.notice-list svg{width:15px;color:var(--green)}.notice-list p:last-child svg{color:var(--amber)}.settings-list{display:grid;gap:12px}.settings-list label>span{display:block;margin-bottom:6px;color:var(--muted);font-size:9px}.settings-list select{width:100%;height:38px}.journal-actions>.tag{margin-right:auto}@media(max-width:1080px){.toolbar{flex-wrap:wrap}.toolbar a{margin-left:0}.indicator-toggles{order:5;width:100%}}@media(max-width:760px){.market-command{align-items:flex-start;flex-direction:column}.market-command>div:last-child{width:100%}.search-results{position:fixed;left:12px;right:12px;top:102px}.insight-panel{margin-top:14px}.toolbar a{margin-left:0}}.auth-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#071019;color:var(--green);font-size:11px;letter-spacing:.08em}.auth-loading svg{width:30px;height:30px}.login-page{position:relative;min-height:100vh;overflow:hidden;background:#071019 url(/login-analyst.png) center/cover no-repeat}.login-shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#040a10fa,#040a10ed,#040a1057 62%,#040a1029),linear-gradient(0deg,rgba(3,8,13,.35),transparent 45%)}.login-card{position:relative;z-index:2;width:min(480px,calc(100% - 48px));min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:48px 54px;margin-left:4vw}.login-brand{display:flex;align-items:center;gap:12px;margin-bottom:54px}.login-brand .brand-mark{width:42px;height:42px}.login-brand strong{display:block;font:700 16px JetBrains Mono;letter-spacing:.15em}.login-brand span{display:block;margin-top:4px;color:#718397;font-size:8px;letter-spacing:.18em}.login-copy h1{margin:10px 0 14px;font-size:42px;line-height:1.12;letter-spacing:-.045em}.login-copy p{max-width:390px;margin:0 0 28px;color:#8fa1b4;font-size:11px;line-height:1.75}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;margin-bottom:17px;border-bottom:1px solid #283646}.auth-tabs button{height:39px;border:0;border-bottom:2px solid transparent;background:transparent;color:#718297;font-size:10px;font-weight:700;cursor:pointer}.auth-tabs button.active{border-color:var(--green);color:var(--green)}.auth-form{display:grid;gap:12px}.auth-form label span{display:block;margin-bottom:6px;color:#788a9e;font-size:9px}.auth-form input{width:100%;height:43px;border:1px solid #2a3949;border-radius:9px;padding:0 12px;background:#08111ad1;color:#e4edf5;outline:0}.auth-form input:focus{border-color:#43d6a299;box-shadow:0 0 0 3px #43d6a214}.auth-message{display:flex;align-items:center;gap:7px;padding:9px 10px;border:1px solid rgba(244,185,95,.25);border-radius:8px;background:#f4b95f14;color:#d8b778;font-size:9px}.auth-message svg{width:14px}.login-submit,.local-owner-button{height:43px;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:9px;font-size:10px;font-weight:700;cursor:pointer}.login-submit{margin-top:3px;border:1px solid var(--green);background:var(--green);color:#04110c}.login-submit svg,.local-owner-button svg{width:15px}.local-owner-button{width:100%;margin-top:10px;border:1px solid #33465a;background:#101d29d1;color:#9fb0c1}.login-footnote{display:block;margin-top:16px;color:#607184;font-size:8px;line-height:1.55}.login-market-tag{position:absolute;z-index:2;right:34px;bottom:28px;display:flex;align-items:baseline;gap:10px;padding:12px 15px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:#050c127a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.login-market-tag span{color:var(--green);font-size:8px;font-weight:700}.login-market-tag strong{font:600 16px JetBrains Mono}.login-market-tag small{color:#718094;font-size:8px}.account-card{display:flex;align-items:center;gap:13px;padding:14px;border:1px solid var(--border);border-radius:10px;background:#0c151f}.account-card>svg{width:38px;height:38px;color:var(--green)}.account-card strong,.account-card span,.account-card small{display:block}.account-card strong{font-size:13px}.account-card span{margin-top:3px;color:#9aabba;font-size:10px}.account-card small{margin-top:3px;color:var(--green);font-size:8px}@media(max-width:760px){.login-page{background-position:64% center}.login-shade{background:#040a10d6}.login-card{width:100%;margin:0;padding:34px 24px;justify-content:flex-start}.login-brand{margin-bottom:42px}.login-copy h1{font-size:34px}.login-market-tag{display:none}}.candle-panel{overflow:hidden}.drawing-tools{display:flex;gap:5px}.drawing-tools button{min-height:28px;display:flex;align-items:center;gap:4px;padding:0 8px;border:1px solid var(--border);border-radius:6px;background:#0d161f;color:#8090a2;font-size:8px;cursor:pointer}.drawing-tools button.active{border-color:#43d6a266;background:var(--green-soft);color:var(--green)}.drawing-tools svg{width:11px}.candle-canvas-wrap{position:relative;height:430px}.candle-canvas-wrap canvas{display:block;cursor:crosshair}.drawing-hint{position:absolute;left:50%;top:14px;transform:translate(-50%);padding:5px 8px;border-radius:6px;background:#152638;color:var(--blue);font-size:8px}.formula-lab{overflow:hidden}.formula-row{display:grid;grid-template-columns:1.2fr 1fr;gap:12px;padding:14px 17px}.formula-row input{height:38px;border:1px solid var(--border);border-radius:8px;padding:0 11px;background:#0a131c;color:var(--green);font:10px JetBrains Mono}.formula-row span{align-self:center;color:var(--muted);font-size:8px;line-height:1.55}.formula-result{display:flex;justify-content:space-between;align-items:center;padding:10px 17px;border-top:1px solid var(--border-soft);background:var(--red-soft);color:var(--red)}.formula-result.pass{background:var(--green-soft);color:var(--green)}.formula-result strong{font:700 10px JetBrains Mono}.formula-result span{font-size:8px}.backtest-config .filter-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;padding:15px 17px}.backtest-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.backtest-note{display:flex;align-items:center;gap:12px;padding:16px}.backtest-note>svg{width:28px;color:var(--amber)}.backtest-note strong{font-size:11px}.backtest-note p{margin:4px 0 0;color:var(--muted);font-size:9px}.sector-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.sector-card{padding:15px}.sector-card>div:first-child{display:flex;align-items:center;gap:8px}.sector-card>div:first-child>span{color:#596a7e;font:8px JetBrains Mono}.sector-card h3{flex:1;margin:0;font-size:13px}.sector-card>strong{display:block;margin-top:14px;font:600 18px JetBrains Mono}.sector-card>small{color:var(--muted);font-size:8px}.sector-members{display:flex;flex-wrap:wrap;gap:5px;margin-top:13px}.sector-members button{min-height:29px;border:1px solid var(--border);border-radius:6px;padding:0 7px;background:#0d161f;color:var(--green);font:8px JetBrains Mono;cursor:pointer}.sector-members button em{display:block;color:#748599;font: 7px system-ui}.sector-members button:hover{border-color:#43d6a273}@media(max-width:1080px){.backtest-grid{grid-template-columns:repeat(3,1fr)}.sector-grid{grid-template-columns:1fr 1fr}}@media(max-width:760px){.formula-row{grid-template-columns:1fr}.formula-result{align-items:flex-start;flex-direction:column;gap:5px}.backtest-config .filter-grid{grid-template-columns:1fr}.backtest-grid,.sector-grid{grid-template-columns:1fr 1fr}.drawing-tools{flex-wrap:wrap}.candle-canvas-wrap{height:360px}.candle-canvas-wrap canvas{height:360px!important}}
