:root{--bg:#f6f7fb;--surface:#fff;--ink:#192135;--muted:#788094;--line:#e9ecf3;--accent:#5b72ec;--accent-soft:#eef1ff;--up:#db5862;--down:#24947a;--shadow:0 8px 35px #26325a05;--radius:22px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
*{box-sizing:border-box}body{margin:0;font-size:14px;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.58}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #91a1ff;outline-offset:3px}a{color:inherit;text-decoration:none}[hidden]{display:none!important}p,h1,h2,h3{margin:0}button{color:inherit}a:hover{color:var(--accent)}
.site-header{background:#ffffffd9;border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}.header-inner{max-width:1376px;margin:auto;padding:0 36px;height:76px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px;font-size:17px;font-weight:650;letter-spacing:-.4px}.brand-mark{height:29px;width:29px;display:grid;place-items:center;border-radius:9px;background:var(--ink);font-size:18px;color:white}.brand-divider{color:#d7dbe6;margin:0 7px;font-weight:400}.brand-section{font-size:14px;font-weight:500;color:#6d768c}.back-link{font-size:12px;color:#717b90;display:flex;gap:13px;align-items:center}.back-link span{font-size:17px}.workspace{max-width:1376px;margin:auto;padding:52px 36px 0}.page-intro{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-bottom:35px}.eyebrow,.section-kicker{font-size:10px;font-weight:650;letter-spacing:1.6px;color:#8c94a6}.eyebrow{color:var(--accent);margin-bottom:12px;font-size:11px;letter-spacing:2.3px}h1{font-size:46px;line-height:1.25;font-weight:650;letter-spacing:-2px}.title-dot{color:var(--accent)}.intro-description{font-size:15px;color:#7d8598;line-height:1.7;margin-top:10px}.button{min-height:41px;padding:10px 17px;border-radius:11px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1.4;font-size:12px;font-weight:600;transition:background .18s,box-shadow .18s}.button-primary{background:var(--accent);color:white;box-shadow:0 6px 14px #5b72ec20}.button-primary:hover{background:#4c64dd}.button-soft{background:var(--accent-soft);color:var(--accent)}.button-soft:hover{background:#e3e8ff}.button-plain{background:white;border-color:var(--line);color:#778097}.button-plain:hover{background:#f8f9fc}.refresh-icon{font-size:23px;font-weight:400;line-height:18px}.is-refreshing .refresh-icon{animation:spin 1.3s linear infinite}.monitor-bar{display:flex;align-items:center;gap:21px;padding:15px 18px;background:#eceff7;border:1px solid #e7eaf3;border-radius:13px;color:#8390a4;font-size:11px;margin-bottom:25px;line-height:1.65}.monitor-state{display:flex;gap:8px;align-items:center;flex-shrink:0;color:#5c677e}.monitor-state strong{font-weight:600}.status-dot{width:6px;height:6px;border-radius:50%;background:#9aa4b8;flex-shrink:0}.status-dot.ready{background:#4aa18d;box-shadow:0 0 0 3px #4aa18d12}.status-dot.warning{background:#d5a158}.status-dot.error{background:#d87070}.monitor-count{margin-left:auto;white-space:nowrap}.message-banner{border:1px solid #f0d4bb;background:#fff9f1;color:#936435;padding:13px 17px;border-radius:12px;font-size:12px;margin-bottom:22px;line-height:1.8;overflow-wrap:anywhere}
.workspace-grid{display:grid;grid-template-columns:264px minmax(0,1fr);gap:23px;align-items:start}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:24px 24px 20px}.section-kicker{margin-bottom:8px;font-size:9px;letter-spacing:1.4px}h2{font-size:17px;letter-spacing:-.35px;font-weight:650}.icon-button{width:32px;height:32px;border-radius:10px;border:1px solid var(--line);background:white;display:grid;place-items:center;font-size:21px;font-weight:400;flex-shrink:0}.icon-button:hover{background:var(--accent-soft);color:var(--accent);border-color:#dae0ff}.watchlist-panel{position:sticky;top:24px}.watchlist{padding:0 10px 10px}.watch-item{display:block;text-align:left;border:1px solid transparent;width:100%;padding:18px 15px;margin-bottom:7px;border-radius:13px;background:white;position:relative}.watch-item:hover{background:#f7f8fc}.watch-item.selected{background:var(--accent-soft);border-color:#e3e7fd}.watch-item.selected:before{content:"";position:absolute;width:3px;height:25px;border-radius:4px;background:var(--accent);left:-11px;top:24px}.watch-item-heading,.watch-item-values{display:flex;justify-content:space-between;gap:10px;align-items:center}.watch-name{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.watch-kind{font-size:9px;font-weight:500;line-height:1.2;background:#f0f2f7;color:#8c96aa;padding:4px 5px;border-radius:4px;flex-shrink:0}.watch-item.selected .watch-kind{background:#e1e7ff;color:#7b88c6}.watch-code{font-size:10px;color:#97a0b4;letter-spacing:.5px;margin-top:6px}.watch-item-values{margin-top:18px;font-variant-numeric:tabular-nums;font-size:17px;letter-spacing:-.6px}.watch-percent{font-size:12px;letter-spacing:0;font-weight:500}.watch-pending{font-size:11px;color:#ad895e;margin-top:17px}.watch-stale{font-size:9px;color:#9fa6b4;margin-top:5px}.watchlist-footer{border-top:1px solid var(--line);margin:7px 23px 0;padding:20px 0 24px;display:flex;align-items:flex-start;gap:9px;color:#9aa2b1;font-size:10px;line-height:1.8}.small-orbit{font-size:18px;line-height:1.1;color:#99a7ce}.detail-column{min-width:0}.stock-detail{margin-bottom:23px}.quote-panel{padding:27px 29px}.quote-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.stock-heading h2{font-size:22px;letter-spacing:-.6px;display:flex;align-items:center;gap:10px}.stock-code{font-size:11px;color:#939bae;margin-top:7px;letter-spacing:.5px}.stock-kind{font-size:10px;border:1px solid #e8eaf3;color:#8792aa;padding:4px 6px;border-radius:5px;letter-spacing:0;font-weight:500}.text-button{border:none;background:none;color:#9ba3b2;padding:5px 0;font-size:11px}.text-button:hover{color:var(--accent)}.quote-main{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-top:27px}.price{font-size:47px;letter-spacing:-2px;line-height:1.1;font-weight:650;font-variant-numeric:tabular-nums}.quote-change{font-size:13px;margin-top:11px;font-weight:550;font-variant-numeric:tabular-nums}.quote-change span{font-size:10px;color:#9aa3b5;margin-left:7px;font-weight:400}.up{color:var(--up)}.down{color:var(--down)}.neutral{color:#6f7990}.quote-state{padding:5px 8px;border-radius:5px;background:#eff6f3;color:#629986;font-size:10px;white-space:nowrap}.quote-state.warning{background:#fff5e8;color:#ad875b}.quote-source{font-size:10px;line-height:1.9;color:#9aA3b4;max-width:58%;text-align:right;overflow-wrap:anywhere}.quote-source a{color:#7d8bbb}.quote-source .quote-state{display:inline-block;line-height:1.2;margin-bottom:7px}.quote-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--line);padding-top:22px;margin-top:25px;gap:12px}.metric-label{color:#9aa3b4;font-size:10px;margin-bottom:7px}.metric-value{font-size:14px;font-weight:550;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.quote-error{margin-top:15px;color:#ac8253;font-size:11px;line-height:1.7}.monitor-settings{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:20px;margin-top:21px;border-top:1px solid var(--line)}.settings-description{color:#959eae;font-size:10px;line-height:1.8}.settings-description strong{display:block;font-size:11px;font-weight:500;color:#728098}.threshold-form{display:flex;align-items:center;gap:7px;flex-shrink:0}.threshold-form input{width:62px;padding:7px 8px;min-height:32px;border-radius:7px;font-size:11px;background:#fafbfe;border:1px solid #e6eaf3;color:#636f86}.threshold-form span{font-size:11px;color:#8490a5}.threshold-form .button{padding:7px 9px;min-height:32px;font-size:10px;border-radius:7px}.pending-panel{background:linear-gradient(120deg,#fff,#fcfbf7)}.pending-body{margin-top:24px;display:flex;align-items:center;gap:19px}.pending-icon{height:56px;width:56px;border:1px solid #ecdfc8;background:#fff9ee;color:#c09a57;border-radius:16px;font-size:27px;display:grid;place-items:center;flex-shrink:0}.pending-body h3{font-size:15px;font-weight:550;margin-bottom:8px}.pending-body p{font-size:12px;line-height:1.9;color:#959092;max-width:530px}.pending-body .button{margin-top:17px}.focus-section{margin-top:20px}.focus-heading{font-size:11px;font-weight:550;color:#7b88a2;margin-bottom:11px}.focus-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.focus-card{border:1px solid #e7eaf7;background:#f0f3fb;border-radius:13px;padding:15px 17px}.focus-title{font-size:12px;font-weight:550;color:#6b7baf;line-height:1.5}.focus-card p{font-size:11px;line-height:1.85;color:#8b96ad;margin-top:6px}.focus-title a{display:flex;justify-content:space-between;gap:10px}.focus-title a:after{content:"↗";color:#a2aecb}.history-chart{margin-top:22px;border-top:1px solid var(--line);padding-top:17px}.history-chart p{font-size:10px;color:#9aa3b4;margin-bottom:9px}.history-chart svg{height:82px;width:100%;display:block}.history-caption{display:flex;justify-content:space-between;color:#a1a9b9;font-size:9px;margin-top:8px}
.information-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(230px,1fr);gap:23px;align-items:start}.information-grid .panel-heading{padding:23px 23px 12px}.section-note{font-size:10px;line-height:1.85;color:#a0a8b7;margin:0 23px 15px;overflow-wrap:anywhere}.segmented-control{display:flex;background:#f5f6fa;border-radius:8px;padding:3px;gap:2px;flex-shrink:0}.segmented-control button{padding:6px 10px;font-size:10px;border:0;border-radius:6px;background:none;color:#9ba3b4}.segmented-control button.active{background:white;color:#647bd0;box-shadow:0 1px 5px #182b530c}.announcement-list{padding:0 23px 9px}.announcement-item{padding:18px 0;border-top:1px solid var(--line)}.announcement-meta{display:flex;align-items:center;gap:6px;margin-bottom:9px;color:#a4adbb;font-size:9px;flex-wrap:wrap}.announcement-meta time{margin-left:auto}.category-chip{padding:3px 5px;border-radius:4px;background:#f2f4f9;color:#8a97b1;font-size:9px}.importance-chip{padding:3px 5px;border-radius:4px;background:#fff0e6;color:#b6885e;font-size:9px}.announcement-item h3{font-size:12px;line-height:1.85;font-weight:550;color:#58657d;overflow-wrap:anywhere}.announcement-link{display:block}.announcement-link:hover{color:var(--accent)}.announcement-reason{font-size:10px;line-height:1.8;color:#a5adba;margin-top:7px}.announcement-bottom{display:flex;justify-content:space-between;gap:12px;font-size:9px;color:#adb5c2;margin-top:11px}.source-link{color:#8c9ac0;flex-shrink:0}.count-badge{display:grid;place-items:center;min-width:24px;height:24px;padding:0 7px;background:#f0f2f8;color:#8b97ae;border-radius:8px;font-size:10px}.alert-list{padding:0 23px 8px}.alert-item{padding:17px 0;border-top:1px solid var(--line);display:flex;gap:11px;align-items:flex-start}.alert-mark{width:24px;height:24px;display:grid;place-items:center;color:#8f9bc8;background:#f0f2fb;border-radius:7px;font-size:11px;flex-shrink:0}.alert-content{min-width:0}.alert-content h3{font-size:11px;font-weight:550;line-height:1.8;color:#65718a;overflow-wrap:anywhere}.alert-content p{font-size:10px;line-height:1.8;color:#a0a9b9;margin-top:5px;overflow-wrap:anywhere}.alert-content time{font-size:9px;color:#b0b8c6;display:block;margin-top:9px}.empty-state{text-align:center;color:#a2aab8;padding:35px 12px 40px;font-size:11px;line-height:1.9}.empty-state strong{font-weight:500;color:#8390a6;display:block;margin-bottom:5px}.detail-empty{padding:58px 25px;text-align:center}.empty-glyph{font-size:52px;line-height:1;color:#b1bcea;display:block;margin-bottom:20px}.detail-empty h2{font-size:18px;color:#78849c;font-weight:500}.detail-empty p{color:#a2aabc;margin-top:13px;font-size:12px;line-height:1.8}.detail-empty .button{margin-top:22px}.loading-placeholder{padding:20px 15px}.skeleton{display:block;background:linear-gradient(90deg,#f1f3f8,#f8f9fc,#f1f3f8);background-size:200% 100%;animation:shimmer 1.8s ease infinite;border-radius:5px;margin-bottom:18px}.skeleton-title{width:60%;height:16px}.skeleton-line{height:12px;width:100%}.skeleton-line.short{width:80%}.workspace-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #e7eaf2;color:#aab1be;font-size:10px;line-height:1.8;margin-top:45px;padding:23px 0 30px}
dialog{width:min(500px,calc(100% - 32px));border:1px solid var(--line);border-radius:23px;padding:28px;color:var(--ink);box-shadow:0 25px 100px #1e2b4b30}dialog::backdrop{background:#19243c55;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;gap:16px;align-items:center}.dialog-heading h2{font-size:23px}.dialog-description{font-size:12px;line-height:1.9;color:#8690a4;margin:20px 0 24px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}label{display:block;font-size:11px;color:#7e899e;line-height:1.6}input,select{width:100%;padding:11px 12px;border-radius:9px;border:1px solid #e2e7f0;background:#fafbfe;color:#4e5c76;margin-top:7px;min-height:43px}input::placeholder{color:#b4bdce}.threshold-label{margin-top:20px}.input-with-suffix{position:relative;width:120px}.input-with-suffix input{padding-right:31px}.input-with-suffix span{position:absolute;right:13px;top:20px;color:#9aa5b9}.field-hint{font-size:10px;line-height:1.8;color:#a0aabc;margin-top:9px}.dialog-actions{margin-top:27px;display:flex;justify-content:flex-end;gap:10px}.form-error{padding:10px 13px;border:1px solid #f1d3d7;border-radius:8px;background:#fff7f8;color:#b15d6b;font-size:11px;line-height:1.8;margin-top:18px;overflow-wrap:anywhere}.toast{position:fixed;left:50%;bottom:30px;transform:translateX(-50%);z-index:30;background:#25314a;color:white;box-shadow:0 8px 35px #17284926;border-radius:11px;max-width:calc(100% - 32px);padding:13px 21px;font-size:12px;line-height:1.7;white-space:pre-wrap}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{to{background-position:-200% 0}}@media(min-width:1500px){.workspace{padding-top:60px}.page-intro{margin-bottom:42px}}@media(max-width:1100px){.workspace-grid{grid-template-columns:225px minmax(0,1fr);gap:20px}.information-grid{grid-template-columns:1fr}.alerts-panel{margin-top:0}.alert-list{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}.header-inner,.workspace{padding-left:25px;padding-right:25px}.quote-panel{padding:25px}.panel-heading{padding:22px 20px 18px}.watchlist-footer{margin-left:20px;margin-right:20px}.quote-metrics{gap:8px}.metric-value{font-size:12px}.monitor-bar{gap:15px}.monitor-count{display:none}.announcement-heading{gap:10px}}@media(max-width:760px){.header-inner{height:65px;padding:0 20px}.brand{font-size:15px;gap:8px}.brand-mark{width:25px;height:25px;font-size:16px;border-radius:7px}.brand-divider{margin:0 3px}.brand-section{font-size:12px}.back-link{font-size:10px;gap:6px}.workspace{padding:32px 18px 0}.page-intro{margin-bottom:25px;gap:12px}.eyebrow{font-size:9px;letter-spacing:1.5px;margin-bottom:10px}h1{font-size:35px;letter-spacing:-1.3px}.intro-description{font-size:11px;margin-top:9px}.page-intro .button{min-height:37px;padding:9px 11px;font-size:10px;gap:6px}.refresh-icon{font-size:20px}.monitor-bar{display:block;padding:12px 15px;border-radius:11px;margin-bottom:20px}.monitor-state{font-size:10px;margin-bottom:3px}.monitor-bar>p{font-size:9px;padding-left:14px}.workspace-grid{display:block}.watchlist-panel{position:static;margin-bottom:20px}.watchlist-panel .panel-heading{padding:17px 18px 14px}.watchlist-panel .section-kicker{display:none}.watchlist-panel h2{font-size:14px}.icon-button{height:27px;width:27px;border-radius:8px;font-size:19px}.watchlist{display:flex;overflow-x:auto;gap:8px;padding:0 13px 13px;scrollbar-width:thin;scrollbar-color:#d8def1 transparent}.watch-item{flex:0 0 164px;width:164px;margin:0;padding:14px 12px;border-color:#f0f2f7}.watch-item.selected:before{display:none}.watch-name{font-size:12px}.watch-kind{font-size:8px;padding:3px 4px}.watch-code{font-size:9px}.watch-item-values{font-size:16px;margin-top:14px}.watch-percent{font-size:10px}.watch-pending{font-size:10px;margin-top:15px}.watch-stale{font-size:8px}.watchlist-footer{display:none}.watchlist>.empty-state{width:100%;padding:5px 10px 15px}.panel{border-radius:17px}.quote-panel{padding:22px 20px}.stock-heading h2{font-size:20px}.stock-code{font-size:10px}.stock-kind{font-size:9px}.text-button{font-size:10px}.quote-main{gap:14px;margin-top:24px}.price{font-size:40px;letter-spacing:-1.5px}.quote-change{font-size:12px}.quote-source{font-size:9px}.quote-state{font-size:9px}.quote-metrics{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:20px;margin-top:23px;padding-top:20px}.metric-label{font-size:9px}.metric-value{font-size:13px}.monitor-settings{align-items:flex-start;gap:10px}.settings-description{font-size:9px;max-width:50%}.settings-description strong{font-size:10px}.threshold-form{gap:5px}.threshold-form input{width:52px}.threshold-form .button{padding:7px}.focus-grid{grid-template-columns:1fr 1fr;gap:9px}.focus-card{padding:13px 12px}.focus-title{font-size:11px}.focus-card p{font-size:10px}.focus-heading{font-size:10px}.stock-detail{margin-bottom:20px}.information-grid{gap:20px}.information-grid .panel-heading{padding:20px 20px 12px}.section-note{margin-left:20px;margin-right:20px}.announcement-list,.alert-list{padding-left:20px;padding-right:20px}.alert-list{display:block}.workspace-footer{display:block;margin-top:30px;padding:20px 0 25px;font-size:9px}.workspace-footer p{margin-top:4px}.pending-body{align-items:flex-start;gap:13px}.pending-icon{width:39px;height:39px;border-radius:11px;font-size:20px}.pending-body h3{font-size:13px;line-height:1.7}.pending-body p{font-size:11px}.pending-body .button{font-size:11px}.detail-empty{padding:40px 20px}.detail-empty h2{font-size:16px}.detail-empty p{font-size:11px}dialog{padding:23px}.form-row{gap:11px}input,select{padding:10px 9px;font-size:12px}.toast{font-size:11px;bottom:20px}.announcement-heading h2{font-size:16px}.segmented-control button{padding:6px 9px}.section-kicker{font-size:8px;letter-spacing:1.2px}}@media(max-width:370px){.brand-section,.brand-divider{display:none}.workspace{padding-left:13px;padding-right:13px}.quote-panel{padding:20px 17px}.quote-source{max-width:55%}.price{font-size:35px}.focus-grid{grid-template-columns:1fr}.stock-heading h2{font-size:18px}.monitor-settings{display:block}.settings-description{max-width:none;margin-bottom:10px}.threshold-form{justify-content:flex-end}.form-row{grid-template-columns:1fr}.page-intro .button{font-size:9px}.intro-description{font-size:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Personal account and sign-in */
.login-page{background:radial-gradient(ellipse at 10% 45%,#e8edfd80,transparent 48%),var(--bg);min-height:100vh}.login-layout{max-width:1090px;margin:0 auto;padding:110px 40px 70px;display:grid;grid-template-columns:1.1fr 1fr;gap:110px;align-items:center}.login-story h1{font-size:49px;line-height:1.4;letter-spacing:-1.5px;margin-top:20px}.login-story-description{font-size:14px;line-height:2;color:#8792a7;margin-top:22px}.login-feature-list{margin-top:33px;display:grid;gap:15px;color:#7b87a0;font-size:12px}.login-feature-list span{font-size:9px;color:#9aa9ce;display:inline-block;min-width:31px;letter-spacing:1px}.login-story-caption{margin-top:60px;color:#a3acc0;font-size:8px;letter-spacing:1.6px}.login-card{padding:35px}.login-card h2{font-size:25px;letter-spacing:-.7px}.login-card .section-kicker{color:#9ba8cf;margin-bottom:12px}.login-card .dialog-description{margin:12px 0 30px}.login-card label+label{margin-top:20px}.login-card input{min-height:46px}.login-submit{width:100%;margin-top:26px;min-height:44px;justify-content:space-between;padding-left:16px;padding-right:16px}.login-help{font-size:10px;color:#a5aec0;line-height:1.8;margin-top:23px}.login-footer{text-align:center;font-size:10px;color:#b1b9c8;padding:20px}.header-actions{display:flex;align-items:center;gap:20px}.profile-button{display:flex;align-items:center;gap:8px;background:#f0f3fc;border:1px solid #e8ecf8;border-radius:9px;padding:7px 10px;color:#6d7da4;font-size:11px}.profile-avatar{width:21px;height:21px;display:grid;place-items:center;background:#e1e8fc;color:#798dc8;border-radius:6px;font-size:10px}.profile-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:900px){.login-layout{gap:50px;padding:80px 35px 60px}.login-story h1{font-size:39px}.login-card{padding:28px}.login-story-description{font-size:12px}}
@media(max-width:650px){.login-layout{display:block;max-width:420px;padding:36px 23px 25px}.login-story{margin-bottom:29px}.login-story h1{font-size:29px;line-height:1.4;margin-top:12px}.login-story h1 br{display:none}.login-story-description{font-size:11px;margin-top:12px;line-height:1.9}.login-story-description br{display:none}.login-feature-list,.login-story-caption{display:none}.login-card{padding:27px 25px}.login-card h2{font-size:22px}.login-card .dialog-description{margin-bottom:24px}.login-card input{font-size:16px}.login-footer{font-size:9px}.header-actions{gap:13px}.header-actions>.back-link{display:none}.profile-button{padding:5px 7px;font-size:10px}.profile-name{max-width:85px}}

/* Account snapshot, decision journal and market charts */
.portfolio-overview{margin-bottom:25px}.portfolio-loading{padding:26px;color:#8a96ad;font-size:12px;line-height:1.8}.portfolio-loading .button{margin-top:16px}.snapshot-empty{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:26px 29px}.snapshot-empty p:not(.section-kicker){font-size:12px;line-height:1.8;margin-top:11px;color:#9aa4b8}.account-card{padding:26px 29px 18px}.account-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.account-heading h2{display:flex;align-items:center;gap:9px}.snapshot-source{font-size:9px;font-weight:500;border:1px solid #e4e9f3;color:#95a0b6;letter-spacing:0;border-radius:5px;padding:4px 6px}.account-date{display:flex;gap:20px;align-items:center;font-size:10px;color:#96a2b7}.account-date .text-button{color:#8090b7}.account-metrics{display:grid;grid-template-columns:1.35fr repeat(4,1fr);gap:24px;align-items:center;margin:27px 0 26px}.account-main-metric{border-right:1px solid var(--line);padding-right:24px}.account-main-metric p,.account-metric p{font-size:10px;color:#97a3b8;margin-bottom:11px}.account-main-metric p span{font-size:9px;margin-left:5px;color:#b4bdce}.account-main-metric>strong{font-size:30px;letter-spacing:-1.2px;font-weight:600;font-variant-numeric:tabular-nums}.account-main-metric small,.account-metric small{display:block;font-size:9px;color:#a9b2c3;line-height:1.8;margin-top:7px}.account-metric strong{font-size:20px;font-weight:550;letter-spacing:-.6px;font-variant-numeric:tabular-nums}.holdings-details{border-top:1px solid var(--line)}.holdings-details summary{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:17px 0;cursor:pointer;font-size:11px;color:#7c8aa5;list-style:none}.holdings-details summary::-webkit-details-marker{display:none}.holdings-details summary b{font-size:9px;font-weight:500;border-radius:4px;background:#f0f3fa;color:#8c9bc0;padding:2px 5px;margin-left:7px}.details-hint{color:#a9b3c5;font-size:9px}.details-hint>span{margin-left:8px}.table-scroll{overflow-x:auto;scrollbar-width:thin;scrollbar-color:#d9e0f1 transparent}table{border-collapse:collapse;width:100%;text-align:left;font-variant-numeric:tabular-nums}th{font-size:9px;font-weight:500;color:#9da9bd;white-space:nowrap;padding:13px 12px;background:#f8f9fc}td{font-size:11px;color:#67758f;padding:16px 12px;border-bottom:1px solid #eef1f7;line-height:1.6;white-space:nowrap}td strong{font-weight:550;color:#63728b}td small{display:block;color:#a3aec2;font-size:9px;margin-top:4px}td small.up{color:var(--up)}td small.down{color:var(--down)}.holdings-table th:first-child,.holdings-table td:first-child{padding-left:0}.holdings-table th:last-child,.holdings-table td:last-child{padding-right:0}.holdings-table th{background:transparent;border-bottom:1px solid #edf0f6;padding-top:2px}.holdings-table tr:last-child td{border-bottom:none}.snapshot-footnote{color:#a8b1c2;font-size:9px;line-height:1.9;padding-top:12px;border-top:1px solid #eef1f6}.portfolio-journal{margin-top:25px}.journal-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,1fr);gap:23px;align-items:start}.trade-journal-panel .panel-heading{padding-bottom:15px}.trade-journal-panel .panel-heading .button{min-height:34px;font-size:10px;padding:8px 12px}.trade-journal-panel>.section-note{max-width:580px}.trade-statistics{display:grid;grid-template-columns:.7fr 1fr 1.1fr;gap:18px;margin:20px 24px 14px;padding:17px 20px;background:#f4f6fb;border-radius:13px}.trade-statistics span{display:block;font-size:9px;color:#97a4bd;margin-bottom:10px}.trade-statistics strong{font-size:17px;font-weight:550;letter-spacing:-.5px;font-variant-numeric:tabular-nums}.trade-match-note{font-size:9px;line-height:1.8;color:#a4b0c5;padding:0 26px;margin-bottom:19px}.trades-table th:first-child,.trades-table td:first-child{padding-left:25px}.trades-table th:last-child,.trades-table td:last-child{padding-right:25px}.trade-side{font-size:9px;border-radius:5px;padding:4px 6px;display:inline-block}.trade-buy{color:#c98089;background:#fff2f3}.trade-sell{color:#72a599;background:#eff8f4}.trade-actions .text-button{font-size:10px;margin-right:8px}.trade-actions .text-button:last-child{margin:0;color:#aeb5c3}.trade-note-row td{padding-top:0;color:#a0acc1;font-size:9px;white-space:normal;overflow-wrap:anywhere}.trade-note-row td span{font-size:8px;color:#91a0bd;margin-right:5px}.trades-table tr:has(+ .trade-note-row) td{border-bottom:0;padding-bottom:8px}.table-empty{text-align:center;color:#a5b0c3!important;padding:43px 20px!important;white-space:normal!important}.table-empty strong{font-weight:500;color:#8998b4;display:block}.table-empty p{font-size:10px;margin-top:9px;line-height:1.9}.journal-footer{padding:17px 24px;display:flex;align-items:center;justify-content:space-between;gap:15px;color:#a4afc4;font-size:9px}.journal-footer .text-button{font-size:10px}.review-panel .panel-heading{padding-bottom:15px}.review-rule-label{color:#9ca9c2;background:#f3f5fb;border-radius:5px;padding:5px 7px;font-size:9px}.review-summary{color:#8291ae;font-size:11px;line-height:1.9;margin:0 24px 20px}.review-findings{margin:0 24px}.review-finding{padding:16px 0;border-top:1px solid var(--line)}.review-finding h3{font-size:11px;font-weight:550;color:#798aab;line-height:1.7}.review-finding p{font-size:10px;color:#a0acc1;line-height:1.95;margin-top:7px}.review-warning h3{color:#ac976f}.review-more>summary{font-size:10px;color:#8698c0;cursor:pointer;padding:9px 0 15px}.next-steps{padding:21px 24px 7px;border-top:1px solid var(--line);margin-top:6px}.next-steps>h3,.preferences-section>h3{font-size:11px;font-weight:600;color:#7184aa;margin-bottom:17px}.next-steps article{display:flex;gap:11px;margin-bottom:19px}.next-steps article>span{flex-shrink:0;width:20px;height:20px;display:grid;place-items:center;color:#8b9ecb;background:#f0f3fc;border-radius:6px;font-size:8px}.next-steps h4{font-size:10px;font-weight:550;line-height:1.8;color:#7f90b0;margin:0}.next-steps p{font-size:10px;line-height:1.95;color:#a0aec5;margin-top:6px}.preferences-section{padding:22px 24px;border-top:1px solid var(--line);background:#fcfcfe}.preferences-section label{font-size:9px}.preferences-section input,.preferences-section select{min-height:36px;padding:8px 9px;font-size:10px}.preferences-actions{display:flex;gap:15px;align-items:center;justify-content:space-between;margin-top:12px}.preferences-actions p{font-size:9px;line-height:1.8;color:#a7b2c6}.preferences-actions .button{font-size:9px;padding:7px 10px;min-height:31px;flex-shrink:0;border-radius:7px}.analysis-limitations{padding:17px 24px;font-size:9px;color:#a2afc5;line-height:1.95;border-top:1px solid var(--line)}.analysis-limitations>summary{cursor:pointer;color:#95a3bd}.analysis-limitations p{margin-top:10px}.analysis-sources{margin-top:12px;display:grid;gap:7px}.analysis-sources a{color:#879bc6}.market-chart-panel{margin-bottom:23px}.market-chart-panel .panel-heading{padding-bottom:13px}.chart-readout{margin:0 24px;min-height:24px;display:flex;gap:14px;align-items:center;font-size:10px;color:#a0abc0;flex-wrap:wrap;line-height:1.8}.chart-readout strong{font-weight:500;color:#8a99b7}.chart-readout b{font-weight:500;color:#7286aa}.chart-content{padding:9px 20px 0;min-height:240px}.chart-content>svg{width:100%;height:auto;display:block;touch-action:pan-y;outline-offset:1px}.chart-axis-label{fill:#a4b0c6;font-size:9px;font-family:inherit}.chart-legend{font-size:9px;color:#a3aec3;display:flex;gap:16px;padding:7px 0 13px;line-height:1.7}.legend-ma5{color:#c2a268}.legend-ma20{color:#a192ca}.chart-interaction-hint{margin-left:auto;font-size:8px;color:#b2bccd}.chart-status{font-size:9px;line-height:1.9;color:#a9b4c8;margin:8px 24px 20px}.chart-status a{color:#839bc8}.chart-stale{color:#b8a075}.chart-loading{padding:75px 20px 45px;max-width:380px;margin:auto}.chart-loading p{font-size:10px;text-align:center;color:#a7b2c8;margin-top:23px}.chart-retry{margin-top:17px;font-size:10px;min-height:33px}.profile-summary{display:flex;align-items:center;gap:12px;padding:22px 0;margin-bottom:20px;border-bottom:1px solid var(--line)}.profile-summary>.profile-avatar{width:35px;height:35px;border-radius:10px;font-size:14px}.profile-summary strong{font-size:13px;font-weight:600;color:#657799}.profile-summary p{font-size:9px;color:#a1adc3;margin-top:5px}.profile-summary .text-button{margin-left:auto;font-size:10px}.profile-tabs{width:max-content;margin-bottom:22px}.profile-tabs button{font-size:11px;padding:7px 12px}.stack-form>label+label{margin-top:16px}.user-list-section{border-top:1px solid var(--line);padding-top:21px;margin-top:25px}.user-list-section h3{font-size:11px;font-weight:550;color:#7d90b0;margin-bottom:12px}.user-list-item{display:flex;justify-content:space-between;gap:20px;font-size:10px;border-bottom:1px solid #f0f2f7;padding:11px 0}.user-list-item strong{color:#8b9bb8;font-weight:500}.user-list-item span{color:#a9b5c9}.wide-dialog{width:min(790px,calc(100% - 32px));max-height:calc(100vh - 50px);overflow-y:auto}.snapshot-form-basics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.snapshot-holdings-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:25px 0 16px}.snapshot-holdings-heading h3{font-size:13px;font-weight:550;color:#7c8dab}.snapshot-holdings-heading .button{font-size:10px;min-height:32px;padding:7px 10px}.holding-editor{padding:15px 16px 19px;border:1px solid #e7ecf7;border-radius:12px;margin:0 0 15px;background:#fafbfe}.holding-editor legend{font-size:9px;color:#9aa9c4;padding:0 5px}.holding-editor-top{display:grid;grid-template-columns:1.2fr 1fr .8fr 26px;gap:12px;align-items:end}.holding-editor label{font-size:10px}.holding-editor input,.holding-editor select{font-size:11px;min-height:37px;padding:8px 9px;background:white}.remove-holding{width:25px;height:25px;margin-bottom:6px;font-size:17px;border-radius:7px;color:#acb6c9}.holding-editor-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:15px}.snapshot-form-basics .field-hint{font-size:9px;display:block;margin-top:5px}.stack-form .field-hint{margin-top:14px}#trade-form>.form-row{margin-bottom:17px}#trade-form>label{margin-bottom:16px}textarea{font:inherit;width:100%;resize:vertical;padding:11px 12px;border-radius:9px;border:1px solid #e2e7f0;background:#fafbfe;color:#4e5c76;margin-top:7px;font-size:12px;line-height:1.7}textarea::placeholder{color:#b4bdce}textarea:focus-visible{outline:3px solid #91a1ff;outline-offset:3px}
@media(max-width:1100px){.account-metrics{gap:17px}.account-main-metric{padding-right:18px}.account-main-metric>strong{font-size:26px}.account-metric strong{font-size:17px}.account-card{padding:24px 25px 17px}.journal-grid{grid-template-columns:minmax(0,1.1fr) minmax(305px,1fr);gap:20px}.trade-statistics{gap:12px;margin-left:20px;margin-right:20px;padding:16px}.trade-statistics strong{font-size:15px}.trade-statistics span{font-size:8px}.trades-table th:first-child,.trades-table td:first-child{padding-left:20px}.trades-table th:last-child,.trades-table td:last-child{padding-right:20px}.trades-table th,.trades-table td{padding-left:8px;padding-right:8px}.account-date{gap:13px}.chart-readout{gap:10px;font-size:9px}.chart-legend{gap:11px}}
@media(max-width:860px){.journal-grid{grid-template-columns:1fr}.review-findings{display:grid;grid-template-columns:1fr 1fr;column-gap:23px}.review-more{grid-column:1/-1}.next-steps{display:grid;grid-template-columns:1fr 1fr;column-gap:23px}.next-steps>h3{grid-column:1/-1}.account-metrics{grid-template-columns:1.3fr 1fr 1fr;row-gap:22px}.account-main-metric{grid-row:span 2;align-self:stretch;display:flex;flex-direction:column;justify-content:center}.account-metric strong{font-size:19px}.account-date{flex-direction:column;gap:6px;align-items:flex-end}.holdings-table{min-width:690px}.preferences-section .form-row{max-width:560px}.preferences-actions{max-width:560px}}
@media(max-width:760px){.portfolio-overview{margin-bottom:20px}.account-card{padding:20px 19px 15px}.account-heading h2{font-size:15px}.snapshot-source{font-size:8px;padding:3px 5px}.account-date{font-size:8px;gap:4px}.account-date .text-button{font-size:9px}.account-metrics{column-gap:17px;margin:23px 0 21px}.account-main-metric{padding-right:14px}.account-main-metric>strong{font-size:24px;letter-spacing:-.9px}.account-main-metric p,.account-metric p{font-size:9px;margin-bottom:8px}.account-main-metric small,.account-metric small{font-size:8px}.account-metric strong{font-size:16px;letter-spacing:-.4px}.holdings-details summary{font-size:10px;padding:15px 0}.details-hint{font-size:8px}.holdings-table th{font-size:8px}.holdings-table td{font-size:10px}.holdings-table{min-width:625px}.holdings-table td small{font-size:8px}.snapshot-footnote{font-size:8px;line-height:1.95}.snapshot-empty{padding:22px 20px;gap:17px;align-items:flex-start;flex-direction:column}.snapshot-empty h2{font-size:16px}.snapshot-empty p:not(.section-kicker){font-size:10px}.snapshot-empty .button{min-height:34px;font-size:10px}.market-chart-panel{margin-bottom:20px}.market-chart-panel .panel-heading{padding:20px 20px 12px}.market-chart-panel h2{font-size:16px}.chart-readout{margin:0 19px;gap:6px 12px;font-size:8px}.chart-readout strong{width:100%}.chart-content{padding:9px 9px 0;min-height:180px}.chart-legend{padding:5px 10px 9px;font-size:8px;gap:12px}.chart-interaction-hint{display:none}.chart-status{margin:8px 19px 16px;font-size:8px}.chart-content>svg{min-height:165px}.portfolio-journal{margin-top:20px}.trade-journal-panel .panel-heading,.review-panel .panel-heading{padding:21px 20px 13px}.trade-journal-panel h2,.review-panel h2{font-size:16px}.trade-journal-panel .panel-heading .button{font-size:9px;padding:7px 10px;min-height:32px}.trade-statistics{margin:17px 20px 12px;padding:15px 13px;gap:10px}.trade-statistics strong{font-size:15px}.trade-statistics span{font-size:8px;line-height:1.8}.trade-match-note{font-size:8px;padding:0 21px;margin-bottom:17px}.trades-table{min-width:410px}.trades-table th{font-size:8px}.trades-table td{font-size:10px}.trades-table td small{font-size:8px}.trade-actions .text-button{font-size:9px;margin-right:7px}.trade-note-row td{font-size:8px}.journal-footer{padding:15px 20px;font-size:8px}.journal-footer .text-button{font-size:9px}.review-summary{margin:0 20px 17px;font-size:10px}.review-findings{margin:0 20px;display:block}.review-finding h3{font-size:10px}.review-finding p{font-size:9px}.next-steps{padding:20px 20px 5px;display:block}.next-steps p{font-size:9px}.next-steps h4{font-size:10px}.preferences-section{padding:20px}.analysis-limitations{padding:16px 20px;font-size:8px}.wide-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 32px);padding:23px 18px}.snapshot-form-basics{gap:10px}.snapshot-form-basics label{font-size:9px}.snapshot-form-basics input{font-size:12px;min-width:0}.holding-editor{padding:11px 12px 15px}.holding-editor-top{grid-template-columns:1fr 1fr 24px;gap:9px}.holding-editor-top>label:nth-child(3){grid-column:1/3;grid-row:2}.holding-editor-top .remove-holding{grid-column:3;grid-row:1}.holding-editor-values{grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.holding-editor label{font-size:9px}.holding-editor input,.holding-editor select{font-size:12px}.snapshot-holdings-heading{margin-top:21px}.snapshot-form-basics>.field-hint{font-size:8px}#trade-form input,#trade-form select,#trade-form textarea,.stack-form input{font-size:16px}.profile-summary strong{font-size:12px}.profile-summary p{font-size:8px}.profile-summary .text-button{font-size:9px}}
@media(max-width:400px){.account-metrics{grid-template-columns:1fr 1fr;gap:21px}.account-main-metric{grid-column:1/-1;grid-row:auto;border-right:0;border-bottom:1px solid var(--line);padding:0 0 18px}.account-main-metric>strong{font-size:31px}.account-main-metric small{margin-top:5px}.account-metric strong{font-size:19px}.account-metric small{font-size:8px}.account-date{max-width:100px}.snapshot-form-basics{grid-template-columns:1fr 1fr}.snapshot-form-basics>label:first-child{grid-column:1/-1}.trade-statistics strong{font-size:14px}.trade-statistics{gap:8px;padding-left:11px;padding-right:11px}.trade-statistics span{font-size:7px}}

/* Quick access to long-form observations and the decision journal. */
.workspace-shortcuts{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:-4px 0 25px}.workspace-shortcuts a{display:inline-flex;align-items:center;gap:10px;padding:11px 14px;border:1px solid #e4e9f4;border-radius:10px;background:#ffffffb3;color:#7c8dac;font-size:11px;line-height:1.4;transition:background .18s,border-color .18s}.workspace-shortcuts a:hover{background:#eef2ff;border-color:#dce4fc;color:#637ec3}.workspace-shortcuts a>span:first-child{font-size:8px;letter-spacing:.7px;color:#a8b5ce}.workspace-shortcuts a>span:last-child{color:#9eaece;margin-left:3px}#market-observation,#portfolio-journal,#operation-review{scroll-margin-top:25px}html{scroll-behavior:smooth}@media(max-width:760px){.workspace-shortcuts{gap:7px;margin:0 0 20px}.workspace-shortcuts a{font-size:9px;padding:9px 10px;gap:6px;border-radius:8px}.workspace-shortcuts a>span:first-child{font-size:7px}.workspace-shortcuts a>span:last-child{display:none}#market-observation,#portfolio-journal,#operation-review{scroll-margin-top:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Bounded reading panels keep long feeds from stretching the workspace. */
.announcements-panel,.alerts-panel{height:500px;display:flex;flex-direction:column;overflow:hidden}
.announcements-panel>.panel-heading,.alerts-panel>.panel-heading,.announcements-panel>.section-note,.alerts-panel>.section-note{flex-shrink:0}
.announcement-list,.alert-list{flex:1;min-height:0;overflow-y:auto;scrollbar-gutter:stable;overscroll-behavior-y:contain}
.alert-list{display:block}
.trade-journal-panel,.review-panel{height:620px;display:flex;flex-direction:column;overflow:hidden}
.trade-journal-panel>*:not(.table-scroll),.review-panel>.panel-heading{flex-shrink:0}
.trade-journal-panel>.table-scroll,.review-body{flex:1;min-height:0;overflow:auto;scrollbar-gutter:stable;overscroll-behavior-y:contain}
.trade-journal-panel thead th{position:sticky;top:0;background:#fafbfe;z-index:1}
.holdings-details>.table-scroll{max-height:300px;overflow:auto}
.announcement-list:focus-visible,.alert-list:focus-visible,.review-body:focus-visible,.table-scroll:focus-visible{outline:2px solid #798ee2;outline-offset:-3px;border-radius:6px}
@media(max-width:760px){.announcements-panel,.alerts-panel{height:420px}.trade-journal-panel,.review-panel{height:560px}.market-chart-panel .panel-heading{flex-wrap:wrap;gap:12px}}

/* Private account screenshot preview */
.snapshot-upload{margin:18px 0;padding:16px;border:1px solid #dce3ef;border-radius:12px;background:#f7f9fc}
.snapshot-upload input[type=file]{display:block;width:100%;margin:10px 0;padding:10px}
.snapshot-image{display:block;max-width:100%;max-height:480px;object-fit:contain;margin:12px auto;border-radius:8px}
.snapshot-upload details{margin-top:12px}
