:root{--bg:#f5f7f7;--surface:#fff;--surface-alt:#f8faf9;--ink:#182f2d;--muted:#7f8c8b;--line:#e8edeb;--brand:#087f70;--brand-soft:#e7f3ee;--up:#e15c65;--up-soft:#fcf0f0;--down:#15947d;--down-soft:#eaf6f2;--shadow:0 8px 32px #163b2c06;--radius:18px;font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #56bba6;outline-offset:3px}button{border:0;background:none}a{text-decoration:none;color:inherit}svg{flex-shrink:0}h1,h2,h3,p{margin:0}button{touch-action:manipulation}.icon{width:20px;height:20px;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.up{color:var(--up)}.down{color:var(--down)}.neutral{color:var(--muted)}.mono{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.muted{color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;color:var(--brand)}.skip-link{position:fixed;top:-60px;z-index:100;background:var(--brand);color:#fff;padding:14px}.skip-link:focus{top:10px}.text-button{display:inline-flex;gap:5px;align-items:center;font-size:12px;color:var(--muted);padding:8px 0}.text-button:hover{color:var(--brand)}.text-button .icon{width:15px;height:15px}.icon-button{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;color:var(--muted)}.icon-button:hover{background:var(--brand-soft);color:var(--brand)}.icon-button.active{color:var(--brand);background:var(--brand-soft)}.primary-button{background:var(--brand);color:#fff;border-radius:10px;padding:11px 16px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:13px;font-weight:600}.secondary-button{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 15px;display:inline-flex;align-items:center;gap:7px;font-size:13px}.primary-button:hover{filter:brightness(1.06)}.secondary-button:hover{border-color:var(--brand);color:var(--brand)}.pill{font-size:11px;border-radius:6px;padding:4px 7px;background:var(--surface-alt);color:var(--muted)}.dot{width:6px;height:6px;border-radius:50%;background:currentColor;display:inline-block}.divider{height:1px;background:var(--line)}
.sidebar{width:214px;position:fixed;left:0;top:0;bottom:0;background:var(--surface);border-right:1px solid var(--line);z-index:20;display:flex;flex-direction:column;padding:30px 20px 22px}.brand{display:flex;align-items:center;gap:11px;margin:0 8px 36px}.brand-mark{width:37px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--brand);border-radius:11px;color:#fff;box-shadow:0 5px 13px #087f7020}.brand-mark svg{width:29px;height:29px;stroke-width:1.4}.brand strong{font-size:19px;letter-spacing:1px;font-weight:750}.brand small{display:block;font-size:9px;letter-spacing:2.4px;margin-top:4px;color:var(--muted)}.nav-label{font-size:10px;color:#9ba6a3;letter-spacing:1px;margin:0 14px 12px}.nav-items{display:flex;flex-direction:column;gap:6px}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;color:#74817f;font-size:13px;font-weight:500;text-align:left;min-height:44px}.nav-item:hover{background:var(--surface-alt);color:var(--ink)}.nav-item.active{background:var(--brand-soft);color:var(--brand);font-weight:650}.nav-item.active:after{content:"";width:5px;height:5px;border-radius:50%;background:var(--brand);margin-left:auto}.nav-item .icon{width:19px;height:19px}.nav-spacer{height:26px}.sidebar-bottom{margin-top:auto}.sidebar-tip{padding:16px 13px;background:var(--surface-alt);border:1px solid var(--line);border-radius:12px;margin:24px 0 16px}.sidebar-tip .tip-title{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:600;margin-bottom:8px}.sidebar-tip p{font-size:10px;color:var(--muted);line-height:1.9}.sidebar-tip .icon{color:var(--brand);width:16px;height:16px}.sidebar-foot{display:flex;align-items:center;gap:9px;font-size:10px;color:var(--muted);padding:13px 12px 0}.sidebar-foot .dot{color:#b9c4bf}
.workspace{margin-left:214px;min-height:100vh}.topbar{height:72px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 34px;background:var(--surface)}.breadcrumb{display:flex;align-items:center;gap:11px;font-size:12px;color:var(--muted)}.breadcrumb strong{font-weight:500;color:var(--ink)}.breadcrumb .icon{width:14px;height:14px}.topbar-actions{display:flex;align-items:center;gap:19px}.search-trigger{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px;min-width:210px;background:var(--surface-alt);padding:9px 12px;border:1px solid var(--line);border-radius:9px}.search-trigger .icon{width:16px;height:16px}.search-trigger kbd{margin-left:auto;background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:2px 4px;font-size:9px}.topbar-clock{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:7px}.topbar-clock .icon{width:16px;height:16px}.avatar{background:#e7eeeb;color:var(--brand);width:31px;height:31px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}.topbar .separator{height:20px;width:1px;background:var(--line)}
.main{padding:29px 34px 25px;max-width:1600px;margin:0 auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:25px}.page-heading h1{font-size:25px;letter-spacing:-.5px;font-weight:650;display:flex;align-items:center;gap:12px}.page-heading p{font-size:12px;color:var(--muted);margin-top:9px}.heading-actions{display:flex;align-items:center;gap:13px}.demo-tag{display:flex;align-items:center;gap:6px;border:1px solid #d9e7df;color:#6b8e80;background:#f1f7f3;border-radius:7px;padding:6px 9px;font-size:10px;white-space:nowrap}.heading-date{font-size:11px;color:var(--muted);margin-right:2px}.refresh-button{font-size:11px;border:1px solid var(--line);padding:8px 10px;border-radius:8px;display:flex;align-items:center;gap:6px;background:var(--surface);color:var(--muted)}.refresh-button .icon{width:14px;height:14px}.indices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.index-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px 19px 15px;min-height:135px;position:relative;overflow:hidden;box-shadow:var(--shadow)}.index-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.index-title{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600}.index-badge{width:24px;height:24px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:9px;background:var(--surface-alt);color:var(--muted);border:1px solid var(--line)}.index-symbol{font-size:9px;letter-spacing:.5px;color:#a0aaa7}.index-price{font-size:25px;font-weight:600;letter-spacing:-.8px;margin-top:13px;line-height:1.15}.index-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:4px;margin-top:9px}.index-change{font-size:11px;font-weight:600}.index-change small{font-size:9px;font-weight:400;margin-left:5px;color:var(--muted)}.sparkline{width:100px;height:36px;overflow:visible;display:block}.index-bottom .sparkline{width:94px;height:35px;margin-top:-26px}.overview-strip{display:grid;grid-template-columns:1.15fr 1fr;gap:16px;margin-bottom:26px}.breadth-card,.session-card{border:1px solid var(--line);background:var(--surface);border-radius:13px;padding:15px 18px;display:flex;align-items:center;gap:18px;min-height:76px}.strip-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;background:var(--brand-soft);color:var(--brand);border-radius:10px}.strip-title{font-size:12px;font-weight:600;white-space:nowrap}.strip-label{font-size:9px;color:var(--muted);margin-top:5px;white-space:nowrap}.breadth-visual{flex:1;min-width:100px}.breadth-labels{display:flex;justify-content:space-between;font-size:10px;margin-bottom:8px}.breadth-bar{display:flex;height:5px;gap:3px;border-radius:3px;overflow:hidden}.breadth-bar span{border-radius:3px;min-width:3px}.breadth-bar .positive{background:var(--up)}.breadth-bar .negative{background:var(--down)}.breadth-bar .flat{background:#d7dfdb}.session-card{gap:12px}.session-content{flex:1}.session-title{font-size:12px;font-weight:600;display:flex;align-items:center;gap:7px}.session-title .dot{color:var(--brand)}.session-track{display:flex;gap:3px;margin-top:9px;align-items:center}.session-track span{height:4px;background:#e4eae7;flex:1;border-radius:3px}.session-track span.current{background:#45a88e}.session-end{font-size:10px;color:var(--muted)}.session-card .icon-button{width:26px;height:26px}.dashboard-columns{display:grid;grid-template-columns:minmax(0,1fr) 268px;gap:22px;align-items:start}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px;gap:10px}.section-title{display:flex;align-items:center;gap:10px}.section-title h2{font-size:17px;font-weight:650;letter-spacing:-.3px}.section-title .count{font-size:10px;color:var(--muted);background:#eaf0ed;border-radius:5px;padding:3px 6px}.section-controls{display:flex;align-items:center;gap:9px}.segmented{border:1px solid var(--line);padding:3px;display:inline-flex;background:var(--surface);border-radius:8px;gap:2px}.segmented button{width:28px;height:25px;display:flex;align-items:center;justify-content:center;border-radius:5px;color:#99a5a0}.segmented button.active{color:var(--brand);background:var(--brand-soft)}.segmented .icon{width:15px;height:15px}.sort-select{border:0;background:transparent;color:var(--muted);font-size:11px;max-width:120px;cursor:pointer;padding:7px 2px}.filters{display:flex;gap:6px;align-items:center;margin-bottom:17px;overflow-x:auto;scrollbar-width:none}.filter-chip{white-space:nowrap;font-size:11px;padding:8px 12px;border-radius:8px;color:var(--muted);border:1px solid transparent}.filter-chip:hover{color:var(--brand)}.filter-chip.active{background:var(--brand);color:#fff}.filter-chip .icon{width:13px;height:13px;margin-right:4px}.sector-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.sector-card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:13px;overflow:hidden;transition:transform .18s,border-color .18s,box-shadow .18s}.sector-card:hover{transform:translateY(-3px);border-color:#c7d9d1;box-shadow:0 7px 18px #173a2b08}.sector-open{display:block;width:100%;text-align:left;padding:16px 16px 13px;min-height:148px}.sector-top{display:flex;align-items:center;gap:6px;padding-right:20px;min-height:22px}.sector-top h3{font-size:13px;font-weight:600}.sector-en{font-size:9px;color:#a4aeaa;letter-spacing:.15px;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sector-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:19px}.sector-change{font-size:24px;letter-spacing:-.7px;font-weight:600}.sector-change span{font-size:14px}.sector-bottom .sparkline{width:66px;height:27px;opacity:.8}.sector-foot{margin-top:10px;display:flex;align-items:center;gap:5px;font-size:9px;color:#9ba8a1}.sector-foot .dot{width:4px;height:4px}.favorite-btn{position:absolute;right:8px;top:9px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;color:#bec9c3;border-radius:8px;z-index:1}.favorite-btn .icon{width:15px;height:15px}.favorite-btn:hover{color:var(--brand);background:var(--brand-soft)}.favorite-btn.selected{color:#c6a056}.favorite-btn.selected svg{fill:#c6a056}.sector-card.featured{background:linear-gradient(145deg,var(--surface) 20%,var(--up-soft));border-color:#efdedc}.sector-card.negative{background:linear-gradient(145deg,var(--surface) 20%,var(--down-soft))}.status-tag{color:#b48c4b;font-size:8px;background:#f9f1e1;padding:2px 4px;border-radius:3px}.expand-button{width:100%;border:1px solid var(--line);background:var(--surface);border-radius:10px;display:flex;gap:6px;justify-content:center;align-items:center;font-size:11px;color:var(--muted);padding:12px;margin-top:14px}.expand-button .icon{width:14px;height:14px}.expand-button:hover{color:var(--brand);border-color:#bfd6cd}.section-caption{display:flex;gap:6px;align-items:flex-start;font-size:10px;color:#99a59f;line-height:1.7;margin-top:15px}.section-caption .icon{width:13px;height:13px;margin-top:2px}.side-stack{display:flex;flex-direction:column;gap:18px}.panel{border:1px solid var(--line);border-radius:15px;background:var(--surface);padding:18px}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.panel-heading h2{font-size:13px;font-weight:650;display:flex;align-items:center;gap:8px}.panel-heading h2 .icon{width:15px;height:15px;color:#bd9c5c}.panel-heading .icon-button{width:24px;height:24px}.panel-heading .icon-button svg{width:15px;height:15px}.watch-mini{display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left;padding:12px 0;border-bottom:1px solid var(--line);gap:10px}.watch-mini:first-of-type{padding-top:2px}.watch-mini:last-of-type{border-bottom:0;padding-bottom:3px}.watch-mini strong{font-size:12px;font-weight:500}.watch-mini small{display:block;font-size:9px;color:var(--muted);margin-top:5px}.watch-mini b{font-size:13px;font-weight:600}.watch-mini:hover strong{color:var(--brand)}.add-watch{margin-top:17px;width:100%;border:1px dashed #d8e3dd;border-radius:7px;padding:8px;color:var(--muted);font-size:10px}.add-watch .icon{width:12px;height:12px;margin-right:4px}.clock-list{display:flex;flex-direction:column;gap:16px}.clock-row{display:flex;align-items:center;gap:10px}.clock-dot{width:7px;height:7px;background:#c4cdc7;border-radius:50%}.clock-dot.active{background:#32a58b;box-shadow:0 0 0 4px #edf7f1}.clock-info{flex:1}.clock-info strong{font-size:11px;font-weight:500}.clock-info small{font-size:9px;color:var(--muted);display:block;margin-top:3px}.clock-state{font-size:9px;color:var(--muted)}.clock-state.active{color:var(--brand);background:var(--brand-soft);border-radius:4px;padding:3px 5px}.clock-note{font-size:9px;color:var(--muted);border-top:1px solid var(--line);margin-top:16px;padding-top:11px;line-height:1.8}.insight-card{padding:19px;border-radius:15px;background:#e9f1ed;border:1px solid #dfeae3;position:relative;overflow:hidden}.insight-card h3{font-size:14px;font-weight:650;margin-top:11px;line-height:1.8}.insight-card p{font-size:10px;color:#7c9388;line-height:1.9;margin-top:8px;max-width:195px}.insight-card .text-button{font-size:10px;margin-top:7px;color:var(--brand)}.insight-card .orb{width:90px;height:90px;border:16px solid #d5e6dc;position:absolute;right:-36px;bottom:-29px;border-radius:50%;transform:rotate(-30deg)}.footnote{margin-top:27px;padding-top:17px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;font-size:9px;color:#a0aaa5;line-height:1.7}.footnote span:last-child{white-space:nowrap}
.market-toolbar{display:flex;align-items:center;gap:14px;justify-content:space-between;margin:24px 0 18px}.inline-search{display:flex;align-items:center;background:var(--surface);border:1px solid var(--line);padding:10px 12px;border-radius:9px;gap:8px;max-width:300px;flex:1}.inline-search .icon{width:16px;height:16px;color:var(--muted)}.inline-search input{border:0;background:none;outline:0;color:var(--ink);min-width:0;width:100%;font-size:12px}.market-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.market-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin-top:10px;overflow:auto}.market-tab{padding:14px 18px;border-bottom:2px solid transparent;font-size:13px;color:var(--muted);white-space:nowrap}.market-tab.active{border-color:var(--brand);color:var(--brand);font-weight:600}.market-info{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px}.market-info .icon{width:14px;height:14px}.sector-table{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:auto}.sector-table table{width:100%;border-collapse:collapse;font-size:12px;min-width:550px}.sector-table th{text-align:left;font-size:10px;font-weight:500;color:var(--muted);background:var(--surface-alt);padding:13px 18px}.sector-table td{padding:14px 18px;border-top:1px solid var(--line)}.sector-table .table-name{font-weight:600;padding:0;text-align:left}.sector-table .table-name small{font-size:9px;color:var(--muted);display:block;margin-top:4px;font-weight:400}.sector-table tr:hover td{background:var(--surface-alt)}.sector-table .sparkline{width:80px;height:27px}.sector-table .favorite-btn{position:static}.empty-state{border:1px dashed var(--line);border-radius:16px;padding:65px 20px;text-align:center;background:var(--surface)}.empty-state .empty-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;background:var(--brand-soft);color:var(--brand);border-radius:20px;margin:0 auto 20px}.empty-state h2{font-size:18px;margin-bottom:10px}.empty-state p{font-size:12px;color:var(--muted);line-height:1.9;margin-bottom:24px}.watch-summary{display:flex;gap:22px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px 22px;margin:22px 0}.watch-summary strong{font-size:24px;font-weight:600}.watch-summary span{font-size:11px;color:var(--muted);margin-left:7px}
.settings-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:22px;align-items:start}.settings-card{border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:23px}.settings-card + .settings-card{margin-top:20px}.settings-card h2{font-size:15px;font-weight:650;margin-bottom:8px}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:21px 0;border-bottom:1px solid var(--line)}.setting-row:last-child{border-bottom:0;padding-bottom:3px}.setting-row strong{display:block;font-size:12px;font-weight:500}.setting-row p{font-size:10px;color:var(--muted);margin-top:7px;line-height:1.8}.choice-group{display:flex;border:1px solid var(--line);border-radius:8px;padding:3px;gap:2px}.choice-group button{padding:7px 11px;font-size:11px;border-radius:5px;white-space:nowrap;color:var(--muted)}.choice-group button.active{background:var(--brand-soft);color:var(--brand)}.switch{width:39px;height:23px;flex-shrink:0;background:#dce5e0;border-radius:20px;padding:3px}.switch:after{content:"";display:block;width:17px;height:17px;background:white;border-radius:50%;box-shadow:0 1px 3px #0002;transition:transform .2s}.switch.on{background:var(--brand)}.switch.on:after{transform:translateX(16px)}.data-note{font-size:12px;color:var(--muted);line-height:2}.data-note p{margin-top:14px}.data-note strong{color:var(--ink);font-weight:500}.formula{font-family:inherit;padding:17px;background:var(--brand-soft);border-radius:10px;color:var(--brand);font-size:12px;line-height:1.8;margin:19px 0}.local-badge{display:inline-flex;align-items:center;gap:6px;color:var(--brand);font-size:10px;background:var(--brand-soft);padding:7px 9px;border-radius:7px;margin-top:17px}.local-badge .icon{width:14px;height:14px}.settings-brand{display:flex;gap:14px;align-items:center;padding:5px 0 20px}.settings-brand .brand-mark{width:45px;height:45px}.settings-brand strong{font-size:17px}.settings-brand p{font-size:10px;color:var(--muted);margin-top:6px}
.overlay{position:fixed;inset:0;z-index:50;background:#112c2859;backdrop-filter:blur(4px);display:flex;justify-content:flex-end;animation:fade-in .16s ease}.drawer{width:560px;max-width:100%;height:100%;background:var(--bg);overflow-y:auto;box-shadow:-20px 0 80px #0d282a1c;animation:slide-in .25s ease}.drawer-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;background:var(--surface);border-bottom:1px solid var(--line);padding:17px 25px}.drawer-header .breadcrumb{font-size:11px}.drawer-header-actions{display:flex;align-items:center;gap:7px}.drawer-content{padding:26px}.detail-heading{display:flex;justify-content:space-between;align-items:flex-start;margin:10px 0 20px}.detail-heading h2{font-size:26px;font-weight:650;letter-spacing:-.5px}.detail-heading p{font-size:11px;color:var(--muted);margin-top:8px}.detail-value{font-size:37px;font-weight:600;letter-spacing:-1.3px;line-height:1.1}.detail-value small{font-size:12px;color:var(--muted);display:block;font-weight:400;letter-spacing:0;margin-top:10px;text-align:right}.detail-description{font-size:12px;color:var(--muted);line-height:1.9;max-width:95%}.detail-statrow{display:grid;grid-template-columns:repeat(3,1fr);margin:22px 0;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:17px}.detail-statrow span{font-size:10px;color:var(--muted);display:block}.detail-statrow strong{font-size:14px;font-weight:550;display:block;margin-top:7px}.chart-panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:20px;margin-bottom:20px}.chart-heading{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:600}.chart-heading .pill{font-weight:400;font-size:9px}.detail-chart{height:160px;margin:24px 0 9px;position:relative;display:flex;flex-direction:column;justify-content:space-between}.chart-gridline{height:1px;background:var(--line);width:100%}.detail-chart .sparkline{position:absolute;inset:4px 0;width:100%;height:145px}.chart-labels{display:flex;justify-content:space-between;color:var(--muted);font-size:9px}.detail-section-title{display:flex;align-items:center;justify-content:space-between;margin:24px 0 14px}.detail-section-title h3{font-size:14px;font-weight:600}.detail-section-title .text-button{color:var(--brand);font-size:11px}.constituent-table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:12px;font-size:11px;overflow:hidden;display:table}.constituent-table th{font-size:10px;color:var(--muted);font-weight:500;text-align:right;padding:12px 13px;background:var(--surface-alt)}.constituent-table td{text-align:right;padding:14px 13px;border-top:1px solid var(--line)}.constituent-table th:first-child,.constituent-table td:first-child{text-align:left}.constituent-table td strong{font-size:11px;font-weight:550;display:block}.constituent-table td small{font-size:9px;display:block;color:var(--muted);margin-top:4px}.weight-bar{height:3px;width:42px;background:var(--line);border-radius:2px;margin:6px 0 0 auto;overflow:hidden}.weight-bar span{height:100%;display:block;background:#75b7a2;border-radius:2px}.warning{display:flex;align-items:flex-start;gap:8px;border:1px solid #efdfbf;background:#fffaef;color:#a3864f;padding:11px 13px;font-size:10px;line-height:1.8;border-radius:9px;margin:15px 0}.warning .icon{width:15px;height:15px;margin-top:2px}.detail-disclaimer{font-size:10px;color:var(--muted);line-height:1.9;margin-top:17px}.detail-actions{display:flex;gap:10px;margin-top:24px}.detail-actions button{flex:1}.weight-editor{border:1px solid #cdded5;background:var(--surface);border-radius:13px;padding:19px;margin:19px 0}.weight-editor h3{font-size:13px}.weight-editor p{font-size:10px;color:var(--muted);line-height:1.8;margin-top:8px}.weight-input-row{display:flex;justify-content:space-between;align-items:center;margin:13px 0;gap:15px}.weight-input-row label{font-size:12px}.weight-input-wrap{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}.weight-input-wrap input{width:70px;background:var(--surface-alt);border:1px solid var(--line);border-radius:6px;padding:7px;text-align:right;font-size:12px;color:var(--ink)}.weight-total{font-size:11px;border-top:1px solid var(--line);padding:12px 0;display:flex;justify-content:space-between}.form-error{font-size:11px;color:var(--up);min-height:18px;line-height:1.8}.editor-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}
.modal-overlay{align-items:flex-start;justify-content:center;padding:100px 20px 35px}.modal{background:var(--surface);width:600px;max-width:100%;max-height:80vh;border-radius:18px;overflow:auto;box-shadow:0 24px 80px #09292324;animation:appear .18s ease}.modal-heading{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--line)}.modal-heading h2{font-size:17px;font-weight:600}.modal-content{padding:24px}.search-modal .search-box{display:flex;align-items:center;gap:12px;padding:20px;border-bottom:1px solid var(--line)}.search-modal .search-box .icon{color:var(--brand)}.search-modal input{border:0;background:transparent;outline:0;color:var(--ink);font-size:15px;flex:1;min-width:0}.search-results{padding:10px;max-height:55vh;overflow:auto}.search-result{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;gap:15px;width:100%;border-radius:10px;text-align:left}.search-result strong{display:block;font-size:13px;font-weight:500}.search-result small{font-size:10px;color:var(--muted);display:block;margin-top:5px}.search-result b{font-size:13px}.search-hint{font-size:10px;color:var(--muted);padding:12px 20px;background:var(--surface-alt);border-top:1px solid var(--line)}.clock-modal-row{display:grid;grid-template-columns:95px 1fr 60px;gap:15px;padding:17px 0;border-bottom:1px solid var(--line);font-size:12px}.clock-modal-row strong{font-weight:500}.clock-modal-row span{font-size:11px;color:var(--muted)}.clock-modal-row b{font-size:10px;font-weight:500;color:var(--brand)}.modal-description{font-size:12px;line-height:2;color:var(--muted)}.modal-description p+p{margin-top:15px}.mobile-nav{display:none}#toast{position:fixed;left:50%;bottom:32px;transform:translate(-50%,20px);background:#193c34;color:white;font-size:12px;line-height:1.6;padding:12px 20px;border-radius:12px;z-index:100;pointer-events:none;opacity:0;transition:.2s;max-width:90vw;box-shadow:0 8px 30px #15372b22}#toast.visible{transform:translate(-50%,0);opacity:1}
body.dark{--bg:#121d1c;--surface:#1b2927;--surface-alt:#20302c;--ink:#e2ece7;--muted:#92a79e;--line:#2d3b36;--brand:#77c9ad;--brand-soft:#29483b;--up:#f0858b;--up-soft:#382b2b;--down:#65bb9c;--down-soft:#223c33;--shadow:none}.dark .primary-button,.dark .filter-chip.active{color:#12291e}.dark .brand-mark{color:#102b20}.dark .demo-tag{background:#263c2f;color:#b1cdb8;border-color:#354d3c}.dark .avatar,.dark .section-title .count{background:#2d4435;color:#abc2b5}.dark .insight-card{background:#24382b;border-color:#354b3a}.dark .insight-card .orb{border-color:#344b39}.dark .insight-card p{color:#9db6a3}.dark .sector-card.featured{border-color:#4f3937}.dark .warning{background:#3a3425;border-color:#514c34;color:#d1bb87}.dark .status-tag{background:#423b29;color:#d4c28d}.dark .session-track span{background:#3a4a40}.dark .session-track span.current{background:var(--brand)}body.green-up{--up:#15947d;--up-soft:#eaf6f2;--down:#e15c65;--down-soft:#fcf0f0}body.dark.green-up{--up:#65bb9c;--up-soft:#223c33;--down:#f0858b;--down-soft:#382b2b}
@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes slide-in{from{transform:translateX(35px);opacity:.5}to{transform:none;opacity:1}}@keyframes appear{from{transform:translateY(10px);opacity:0}to{transform:none;opacity:1}}
@media(min-width:1600px){.main{padding-top:36px}.indices{gap:20px}.index-card{padding:22px}.sector-open{padding:20px;min-height:164px}.sector-change{font-size:28px}.sector-bottom .sparkline{width:80px}.dashboard-columns{grid-template-columns:minmax(0,1fr) 290px;gap:26px}.sector-grid{gap:16px}}
@media(max-width:1240px){.sidebar{width:184px;padding:26px 14px}.brand{gap:8px;margin-left:5px}.brand strong{font-size:17px}.workspace{margin-left:184px}.main{padding:25px 25px}.topbar{padding:0 25px}.dashboard-columns{grid-template-columns:minmax(0,1fr) 232px;gap:16px}.sector-open{padding:14px 12px}.sector-change{font-size:22px}.sector-bottom{gap:4px}.sector-bottom .sparkline{width:52px}.panel{padding:16px}.index-card{padding:16px 14px}.index-price{font-size:23px}.index-symbol{display:none}.index-bottom .sparkline{width:72px}.heading-date{display:none}.market-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.search-trigger{min-width:180px}.overview-strip{gap:12px}.breadth-card,.session-card{padding:13px 14px;gap:12px}.strip-icon{display:none}}
@media(max-width:1020px){.sidebar{width:76px;padding:25px 12px}.brand{margin:0 auto 30px;justify-content:center}.brand>div:last-child,.nav-label,.nav-item span,.sidebar-tip,.sidebar-foot,.nav-item.active:after{display:none}.nav-item{justify-content:center;padding:13px}.nav-item .icon{width:21px;height:21px}.workspace{margin-left:76px}.topbar-clock{display:none}.topbar-actions{gap:12px}.dashboard-columns{grid-template-columns:minmax(0,1fr) 230px}.sector-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.market-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.index-card{padding:15px 13px}.index-bottom .sparkline{width:60px}.index-price{font-size:21px}.index-change small{display:none}.indices{gap:10px}.heading-actions{gap:8px}.demo-tag{font-size:9px}.page-heading h1{font-size:23px}.footnote span:last-child{display:none}.settings-layout{grid-template-columns:1.3fr 1fr}}
@media(max-width:780px){.dashboard-columns{grid-template-columns:minmax(0,1fr)}.side-stack{display:grid;grid-template-columns:1fr 1fr}.side-stack .insight-card{display:none}.indices{grid-template-columns:repeat(2,minmax(0,1fr))}.index-bottom .sparkline{width:100px}.index-price{font-size:26px}.index-card{min-height:133px;padding:17px}.index-symbol{display:block}.sector-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sector-bottom .sparkline{width:56px}.topbar .breadcrumb{font-size:10px}.search-trigger{min-width:150px}.search-trigger kbd{display:none}.topbar{height:62px}.main{padding:25px 22px}.overview-strip{grid-template-columns:1fr}.session-card{display:none}.page-heading{align-items:flex-start;margin-bottom:20px}.heading-actions{flex-direction:column;align-items:flex-end}.heading-actions .refresh-button{border:0;padding:0;background:none;font-size:10px}.settings-layout{grid-template-columns:1fr}.side-stack{margin-top:6px}.market-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.footnote{margin-top:20px}.settings-card{padding:20px}}
@media(max-width:560px){.sidebar{display:none}.workspace{margin-left:0;padding-bottom:78px}.topbar{padding:0 19px;height:59px;position:sticky;top:0;z-index:20}.breadcrumb>span,.breadcrumb>.icon{display:none}.breadcrumb strong{font-size:16px;font-weight:650;letter-spacing:.4px}.breadcrumb strong:before{content:"◇";color:var(--brand);font-size:23px;margin-right:7px;vertical-align:-2px}.topbar .separator,.avatar{display:none}.search-trigger{min-width:0;padding:8px;background:none;border:0}.search-trigger span{display:none}.search-trigger .icon{width:19px;height:19px}.topbar-actions{gap:5px}.main{padding:23px 17px 20px}.page-heading h1{font-size:23px;letter-spacing:-.7px}.page-heading p{font-size:10px;max-width:220px;line-height:1.8;margin-top:7px}.page-heading{gap:8px}.demo-tag{font-size:8px;padding:5px 7px;gap:4px}.demo-tag .dot{width:4px;height:4px}.heading-actions{padding-top:2px;gap:8px}.heading-actions .refresh-button{font-size:9px}.indices{gap:10px;margin-bottom:14px}.index-card{border-radius:13px;padding:14px;min-height:128px}.index-title{font-size:11px;gap:6px}.index-symbol{font-size:8px}.index-badge{width:21px;height:21px;font-size:8px}.index-price{font-size:25px;margin-top:13px}.index-bottom{margin-top:7px}.index-change{font-size:10px}.index-bottom .sparkline{width:75px;height:29px;margin-top:-20px}.overview-strip{margin-bottom:23px}.breadth-card{padding:13px;border-radius:11px;min-height:66px;gap:20px}.strip-title{font-size:11px}.strip-label{font-size:8px}.breadth-labels{font-size:9px}.section-title h2{font-size:16px}.section-heading{margin-bottom:13px}.section-controls{gap:5px}.sort-select{font-size:10px}.filters{gap:3px;margin-bottom:13px}.filter-chip{font-size:10px;padding:7px 10px}.sector-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sector-open{padding:14px;min-height:143px}.sector-top h3{font-size:13px}.sector-en{font-size:8px}.sector-change{font-size:24px}.sector-bottom{margin-top:17px}.sector-bottom .sparkline{width:57px;height:24px}.sector-foot{font-size:8px;margin-top:10px}.sector-card{border-radius:12px}.side-stack{grid-template-columns:1fr;gap:14px;margin-top:5px}.side-stack .panel:nth-child(2){display:none}.panel{padding:18px}.watch-mini{padding:13px 0}.watch-mini strong{font-size:12px}.watch-mini b{font-size:14px}.add-watch{padding:11px}.section-caption{font-size:9px}.footnote{font-size:8px;margin-top:20px}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:30;background:var(--surface);border-top:1px solid var(--line);padding:9px 8px calc(9px + env(safe-area-inset-bottom));justify-content:space-around}.mobile-nav a{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:9px;color:var(--muted);min-width:56px;padding:3px}.mobile-nav a.active{color:var(--brand)}.mobile-nav .icon{width:21px;height:21px}.market-tabs{margin:0 -17px;padding:0 10px;gap:0}.market-tab{font-size:12px;padding:13px 14px}.market-toolbar{margin-top:18px;gap:8px;flex-wrap:wrap}.inline-search{padding:10px;max-width:none;min-width:140px}.inline-search input{font-size:11px}.market-info{font-size:10px}.market-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.watch-summary{gap:17px;padding:16px}.watch-summary strong{font-size:22px}.watch-summary span{font-size:10px;margin-left:5px}.drawer{width:100%}.drawer-content{padding:22px 18px 35px}.drawer-header{padding:13px 16px}.drawer-header .breadcrumb>span,.drawer-header .breadcrumb>.icon{display:block}.drawer-header .breadcrumb strong:before{display:none}.drawer-header .breadcrumb strong{font-size:12px}.detail-heading h2{font-size:24px}.detail-value{font-size:32px}.detail-description{font-size:11px}.detail-statrow{padding:15px 12px;gap:6px}.detail-statrow strong{font-size:13px}.detail-chart{height:145px}.detail-chart .sparkline{height:130px}.constituent-table th,.constituent-table td{padding:12px 10px}.detail-actions{margin-top:20px}.modal-overlay{padding:75px 12px 25px}.modal{border-radius:14px;max-height:calc(100dvh - 110px)}.modal-heading{padding:16px 18px}.modal-content{padding:18px}.clock-modal-row{grid-template-columns:68px 1fr 42px;gap:8px;font-size:11px}.clock-modal-row span{font-size:10px}.settings-card{padding:19px 17px}.setting-row{gap:10px}.choice-group button{padding:6px 8px;font-size:10px}.setting-row p{font-size:9px;max-width:170px}.empty-state{padding:45px 20px}#toast{bottom:90px;font-size:11px;text-align:center;min-width:200px}.search-modal input{font-size:13px}.search-modal .search-box{padding:16px}.topbar>.breadcrumb strong{display:block}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* 首页以名称与涨跌幅为主，不为曲线保留空间。 */
.home-index-card{min-height:122px}.home-sector-card .sector-open{min-height:132px}.home-sector-card .sector-bottom{margin-top:14px}
@media(max-width:560px){.home-index-card{min-height:116px}.home-sector-card .sector-open{min-height:128px}.home-sector-card .sector-bottom{margin-top:12px}}

/* 首页采用紧凑数据分组，以墨绿、几何标记与细线形成自己的视觉节奏。 */
.main.main-home { max-width: 848px; padding-top: 24px; }
.compact-home-board { width: 100%; }
.home-data-panel { padding: 20px; background: var(--surface); border: 1px solid var(--line); border-radius: 12px; }
.home-economy-panel { border-top: 2px solid var(--brand); }
.home-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 7px; }
.home-section-title, .home-industry-heading { display: flex; align-items: center; gap: 9px; min-width: 0; }
.home-section-number { font-size: 10px; letter-spacing: .8px; color: var(--brand); opacity: .68; font-weight: 600; font-variant-numeric: tabular-nums; }
.home-panel-heading h1, .home-panel-heading h2 { font-size: 18px; line-height: 1.4; font-weight: 650; letter-spacing: .3px; white-space: nowrap; }
.home-session-badge { display: inline-flex; align-items: center; gap: 5px; padding: 0; border: 0; background: none; color: var(--brand); font-size: 10px; white-space: nowrap; }
.home-session-badge .dot { width: 5px; height: 5px; }
.home-economy-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px; row-gap: 0; }
.home-economy-item { min-width: 0; padding: 14px 1px; border-bottom: 1px solid var(--line); }
.home-economy-item:nth-last-child(-n+2) { border-bottom: 0; padding-bottom: 4px; }
.home-economy-name { color: var(--muted); font-size: 12px; line-height: 1.4; margin-bottom: 7px; }
.home-economy-values { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; white-space: nowrap; }
.home-economy-values strong { font-size: 21px; line-height: 1.25; font-weight: 550; letter-spacing: .15px; }
.home-economy-values > span { font-size: 14px; font-weight: 500; }
.home-update-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 11px 3px; }
.home-update-time { color: var(--muted); font-size: 11px; display: inline-flex; align-items: center; gap: 5px; }
.home-demo-label { margin-left: 5px; padding: 2px 5px; color: var(--muted); border: 1px solid var(--line); border-radius: 3px; font-size: 9px; }
.home-refresh { display: inline-flex; align-items: center; gap: 5px; font-size: 11px; padding: 5px 3px; color: var(--brand); border-radius: 3px; white-space: nowrap; }
.home-refresh:hover { background: var(--brand-soft); }
.home-refresh .icon { width: 13px; height: 13px; }
.home-info-button { width: 22px; height: 22px; padding: 4px; color: var(--muted); border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; margin-left: -5px; }
.home-info-button .icon { width: 13px; height: 13px; }
.home-info-button:hover { color: var(--brand); background: var(--brand-soft); }
.home-sort-button { display: inline-flex; align-items: center; justify-content: center; gap: 4px; padding: 5px 3px; font-size: 11px; color: var(--brand); background: transparent; border-radius: 3px; white-space: nowrap; }
.home-sort-button:hover { background: var(--brand-soft); }
.home-industry-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px; row-gap: 0; }
.home-industry-row { min-width: 0; width: 100%; display: flex; align-items: center; gap: 8px; padding: 12px 2px; background: transparent; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; min-height: 45px; text-align: left; transition: background .15s; }
.home-industry-row:nth-last-child(-n+2) { border-bottom: 0; }

.home-sector-icon { width: 7px; height: 7px; flex: 0 0 7px; border: 1px solid var(--brand); border-radius: 1px; transform: rotate(45deg); opacity: .65; margin: 0 2px; }
.home-sector-name { font-size: 13px; line-height: 1.4; min-width: 0; flex: 1; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.home-sector-value { font-size: 15px; font-weight: 500; white-space: nowrap; margin-left: auto; }
.home-status-dot { width: 4px; height: 4px; flex: 0 0 4px; border-radius: 50%; background: #c49b52; margin-right: -3px; }
.home-board-note { font-size: 10px; line-height: 1.8; color: var(--muted); text-align: center; margin-top: 13px; }
@media (max-width: 780px) {
  .main.main-home { padding: 16px; }
  .home-data-panel { padding: 17px 16px; }
  .home-panel-heading h1, .home-panel-heading h2 { font-size: 17px; }
  .home-economy-values strong { font-size: 19px; }
  .home-economy-grid, .home-industry-grid { column-gap: 20px; }
}
@media (max-width: 560px) {
  .main.main-home { padding: 12px 12px 18px; }
  .home-data-panel { padding: 15px 14px; border-radius: 12px; }
  .home-panel-heading { margin-bottom: 5px; gap: 6px; }
  .home-panel-heading h1, .home-panel-heading h2 { font-size: 17px; }
  .home-section-title, .home-industry-heading { gap: 7px; }
  .home-section-number { font-size: 9px; }
  .home-session-badge { font-size: 9px; }
  .home-economy-grid, .home-industry-grid { column-gap: 18px; }
  .home-economy-item { padding: 12px 0; }
  .home-economy-name { font-size: 11px; margin-bottom: 6px; }
  .home-economy-values { gap: 5px; }
  .home-economy-values strong { font-size: 18px; letter-spacing: 0; }
  .home-economy-values > span { font-size: 12px; }
  .home-update-row { padding: 10px 3px; }
  .home-update-time, .home-refresh { font-size: 10px; }
  .home-demo-label { font-size: 8px; }
  .home-industry-row { gap: 6px; min-height: 43px; padding: 10px 1px; }
  .home-sector-icon { width: 6px; height: 6px; flex-basis: 6px; margin: 0 1px; }
  .home-sector-name { font-size: 13px; }
  .home-sector-value { font-size: 14px; }
  .home-sort-button { font-size: 10px; padding: 5px 2px; }
  .home-info-button { width: 20px; height: 20px; padding: 3px; }
  .home-info-button .icon { width: 12px; height: 12px; }
  .home-board-note { font-size: 9px; margin-top: 11px; }
}
@media (max-width: 360px) {
  .main.main-home { padding-right: 10px; padding-left: 10px; }
  .home-data-panel { padding-right: 11px; padding-left: 11px; }
  .home-economy-grid, .home-industry-grid { column-gap: 13px; }
  .home-economy-values strong { font-size: 16px; }
  .home-economy-values > span { font-size: 11px; }
  .home-industry-row { gap: 4px; padding-right: 0; padding-left: 0; }
  .home-sector-name { font-size: 12px; }
  .home-sector-value { font-size: 12px; }
}

/* Compact settings: explicit bounds keep segmented controls inside their cards. */
.main.main-settings { padding: 24px; }
.settings-screen { max-width: 640px; margin: 0 auto; }
.prefs-page-title { font-size: 23px; font-weight: 650; margin: 0 0 20px; }
.prefs-card { min-width: 0; background: var(--surface); border: 1px solid var(--line); border-radius: 14px; padding: 20px; margin-bottom: 14px; }
.prefs-theme { display: flex; align-items: center; gap: 12px; }
.prefs-symbol { display: flex; align-items: center; justify-content: center; flex: 0 0 38px; height: 38px; border-radius: 10px; background: var(--brand-soft); color: var(--brand); }
.prefs-symbol .icon { width: 23px; height: 23px; }
.prefs-copy { flex: 1 1 0; min-width: 0; }
.prefs-copy h2, .prefs-copy h3, .prefs-copy strong { font-size: 14px; font-weight: 550; line-height: 1.5; display: block; }
.prefs-copy p, .prefs-copy small { font-size: 11px; color: var(--muted); line-height: 1.6; margin-top: 4px; display: block; }
.prefs-theme-options { display: flex; flex: 0 0 148px; min-width: 0; padding: 3px; border: 1px solid var(--line); background: var(--surface-alt); border-radius: 30px; }
.prefs-theme-options button { display: flex; align-items: center; justify-content: center; gap: 5px; flex: 1 1 0; min-width: 0; height: 34px; padding: 0; font-size: 12px; color: var(--muted); border: 1px solid transparent; border-radius: 22px; white-space: nowrap; }
.prefs-theme-options button.active { background: var(--surface); border-color: var(--brand); color: var(--brand); box-shadow: 0 1px 4px #087f7010; }
.prefs-theme-options .icon { width: 14px; height: 14px; }
.prefs-heading { margin: 0; font-size: 16px; font-weight: 650; line-height: 1.5; }
.prefs-color-block { padding: 16px 0; border-bottom: 1px solid var(--line); }
.prefs-line { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.prefs-line h3 { font-size: 14px; font-weight: 500; }
.prefs-line > span { font-size: 11px; color: var(--muted); }
.prefs-color-options { display: flex; gap: 10px; margin-top: 12px; }
.prefs-color-options button { flex: 1 1 0; min-width: 0; display: flex; align-items: center; justify-content: center; gap: 8px; height: 44px; padding: 0 8px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface-alt); font-size: 13px; white-space: nowrap; }
.prefs-color-options button.active { border-color: var(--brand); background: var(--brand-soft); }
.prefs-check { width: 12px; flex: 0 0 12px; color: var(--brand); }
.sample-red { color: #d94f59; }.sample-green { color: #158878; }
.dark .sample-red { color: #f58289; }.dark .sample-green { color: #61c5a3; }
.prefs-auto { display: flex; align-items: center; gap: 12px; padding-top: 16px; }
.prefs-service-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-top: 15px; }
.prefs-service { min-width: 0; display: flex; flex-direction: column; align-items: center; padding: 16px 0 13px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-alt); }
.prefs-service-icon { display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 11px; margin-bottom: 9px; }
.prefs-service-icon .icon { width: 21px; height: 21px; }
.service-data { background: #e5f3ee; color: #269b80; }.service-calculation, .service-disclaimer { background: #eaf0fb; color: #668dd0; }.service-usage { background: #f7efdf; color: #bc8e3e; }.service-privacy { background: #eeeafb; color: #9c83cf; }
.dark .prefs-service-icon { background: #283e37; }
.prefs-service strong { font-size: 12px; font-weight: 550; white-space: nowrap; }
.prefs-service small { font-size: 10px; color: var(--muted); margin-top: 4px; white-space: nowrap; }
.prefs-reset { width: 100%; display: flex; align-items: center; gap: 10px; text-align: left; padding: 15px 0 0; margin-top: 12px; border-top: 1px solid var(--line); }
.prefs-reset > .icon { color: var(--muted); width: 17px; height: 17px; }
.prefs-footer { display: flex; align-items: center; justify-content: center; gap: 6px; padding: 5px 0 10px; color: var(--muted); font-size: 10px; }
.prefs-footer .dot { width: 4px; height: 4px; color: var(--brand); }
.prefs-info-intro { font-size: 12px; color: var(--muted); line-height: 1.7; }
.prefs-info section { margin-top: 22px; }.prefs-info h3 { font-size: 14px; margin-bottom: 8px; }.prefs-info section p { font-size: 13px; color: var(--muted); line-height: 1.9; }
@media (max-width: 560px) {
 .main.main-settings { padding: 10px 12px 18px; }
 .prefs-page-title { display: none; }
 .prefs-card { padding: 15px 13px; border-radius: 12px; margin-bottom: 12px; }
 .prefs-theme { gap: 8px; }
 .prefs-symbol { flex-basis: 31px; height: 31px; border-radius: 9px; }
 .prefs-symbol .icon { width: 21px; height: 21px; }
 .prefs-copy h2, .prefs-copy h3, .prefs-copy strong { font-size: 13px; }
 .prefs-copy p, .prefs-copy small { font-size: 10px; }
 .prefs-theme-options { flex-basis: 122px; }
 .prefs-theme-options button { height: 29px; font-size: 11px; gap: 4px; }
 .prefs-theme-options .icon { width: 12px; height: 12px; }
 .prefs-heading { font-size: 15px; }
 .prefs-service-grid { gap: 5px; }
 .prefs-service { padding: 11px 0; border-radius: 8px; }
 .prefs-service-icon { width: 33px; height: 33px; margin-bottom: 8px; }
 .prefs-service strong { font-size: 11px; }
 .prefs-service small { font-size: 9px; }
 .prefs-color-options { gap: 8px; }
 .prefs-color-options button { font-size: 12px; gap: 6px; height: 39px; padding: 0 5px; }
 .prefs-line > span { font-size: 10px; }
}
@media (max-width: 360px) {
 .prefs-theme-options { flex-basis: 112px; }
 .prefs-symbol { flex-basis: 28px; height: 28px; }
 .prefs-theme .prefs-copy p { max-width: 76px; }
 .prefs-color-options button { font-size: 11px; gap: 4px; }
 .prefs-service strong { font-size: 10px; }.prefs-service small { font-size: 8px; }
}

/* Compact Asian markets overview */
.main.main-asia { padding-top: 20px; }
.asia-board { max-width: 820px; margin: 0 auto; }
.asia-status { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 0 2px 14px; color: var(--muted); font-size: 11px; }
.asia-status > span, .asia-status > button { display: flex; align-items: center; gap: 5px; }
.asia-status .dot { width: 5px; height: 5px; }
.asia-status > button { font-size: 11px; color: var(--brand); }
.asia-status .icon { width: 12px; height: 12px; }
.asia-toolbar { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.asia-regions { flex: 1; display: flex; gap: 4px; min-width: 0; }
.asia-regions > button { flex: 1 1 0; min-width: 0; height: 33px; padding: 0; border-radius: 7px; color: var(--muted); white-space: nowrap; font-size: 12px; }
.asia-regions > button.active { background: var(--brand); color: var(--surface); font-weight: 600; }
.asia-search-toggle { flex: 0 0 33px; height: 33px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 7px; background: var(--surface); color: var(--muted); }
.asia-search-toggle .icon { width: 16px; height: 16px; }
.asia-search-toggle.active { color: var(--brand); background: var(--brand-soft); }
.asia-search { margin-bottom: 12px; }
.asia-panel { margin-bottom: 12px; padding: 14px 16px 5px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.asia-heading { display: flex; justify-content: space-between; align-items: center; gap: 8px; min-height: 24px; margin-bottom: 4px; }
.asia-heading h2 { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 17px; font-weight: 650; white-space: nowrap; }
.asia-heading h2 > span { color: var(--brand); opacity: .65; font-size: 10px; font-weight: 500; letter-spacing: .5px; }
.asia-heading > button { color: var(--brand); font-size: 11px; padding: 3px 0; white-space: nowrap; }
.asia-heading > small { color: var(--muted); font-size: 10px; white-space: nowrap; }
.asia-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; }
.asia-quote { display: flex; align-items: center; gap: 5px; width: 100%; min-width: 0; height: 46px; padding: 0; border-bottom: 1px solid var(--line); text-align: left; }
.asia-quote:nth-last-child(-n+2) { border-bottom: 0; }

.asia-marker { flex: 0 0 5px; height: 5px; border: 1px solid var(--brand); border-radius: 1px; transform: rotate(45deg); opacity: .65; }
.asia-name { flex: 1 1 0; min-width: 0; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.asia-change { flex-shrink: 0; margin-left: auto; font-size: 14px; font-weight: 550; white-space: nowrap; }
.asia-footer { color: var(--muted); text-align: center; font-size: 10px; line-height: 1.9; padding: 6px 0 12px; }
.asia-empty { padding: 24px 12px; text-align: center; }.asia-empty h2 { font-size: 15px; }.asia-empty p { margin: 12px 0 18px; color: var(--muted); font-size: 12px; }
.asia-quote-description { white-space: pre-wrap; font-size: 13px; color: var(--muted); line-height: 1.9; }
@media (max-width: 560px) {
 .main.main-asia { padding: 10px 12px 18px; }
 .asia-status { font-size: 10px; margin-bottom: 10px; }.asia-status > button { font-size: 10px; }
 .asia-panel { padding: 12px 12px 4px; }
 .asia-heading h2 { font-size: 15px; gap: 6px; }
 .asia-heading h2 > span { font-size: 9px; }.asia-heading > small { font-size: 9px; }
 .asia-grid { column-gap: 14px; }.asia-quote { height: 42px; gap: 4px; }
 .asia-name { font-size: 12px; }.asia-change { font-size: 13px; }
}
@media (max-width: 360px) {
 .asia-regions > button { font-size: 11px; }
 .asia-grid { column-gap: 12px; }.asia-quote { gap: 3px; }
 .asia-marker { flex-basis: 4px; height: 4px; }
 .asia-name { font-size: 11px; }.asia-change { font-size: 12px; }
}

/* Compact personal watchlist */
.main.main-watchlist { padding-top: 20px; }
.watch-board { max-width: 820px; margin: 0 auto; }
.wl-status { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 0 2px 12px; font-size: 11px; color: var(--muted); }
.wl-status > span, .wl-status > button { display: flex; align-items: center; gap: 5px; }
.wl-status .dot { width: 5px; height: 5px; color: var(--brand); }
.wl-status > button { color: var(--brand); font-size: 11px; padding: 0; }.wl-status .icon { width: 12px; height: 12px; }
.wl-panel { margin-bottom: 12px; padding: 14px 16px 4px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.wl-heading { display: flex; align-items: center; justify-content: space-between; min-height: 26px; gap: 8px; margin-bottom: 10px; }
.wl-heading h1, .wl-heading h2 { display: flex; align-items: center; gap: 8px; font-size: 17px; font-weight: 650; }
.wl-number { color: var(--brand); font-size: 10px; font-weight: 500; letter-spacing: .5px; opacity: .65; }
.wl-heading small { color: var(--muted); font-size: 11px; font-weight: 400; }
.wl-action { display: flex; align-items: center; justify-content: center; color: var(--brand); font-size: 12px; padding: 3px 0; white-space: nowrap; }
.wl-toolbar { display: flex; align-items: center; gap: 14px; padding-bottom: 6px; }
.wl-search { display: flex; flex: 1; align-items: center; min-width: 0; padding: 7px 9px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface-alt); gap: 6px; }
.wl-search > .icon { width: 14px; height: 14px; color: var(--muted); }
.wl-search input { width: 100%; min-width: 0; color: var(--ink); border: 0; background: transparent; font-size: 12px; line-height: 20px; }
.wl-search input::placeholder { color: var(--muted); }
.wl-row { display: flex; align-items: center; gap: 3px; min-height: 56px; border-bottom: 1px solid var(--line); }
.wl-row:last-child { border-bottom: 0; }
.wl-open { display: flex; align-items: center; flex: 1; min-width: 0; gap: 9px; padding: 8px 0; min-height: 54px; text-align: left; }
.wl-marker { flex: 0 0 6px; height: 6px; border: 1px solid var(--brand); border-radius: 1px; transform: rotate(45deg); opacity: .65; }
.wl-name { flex: 1; min-width: 0; font-size: 14px; }
.wl-name > span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wl-name > small { display: block; margin-top: 3px; color: var(--muted); font-size: 10px; }
.wl-name > .wl-warning { color: #aa7d29; }.dark .wl-name > .wl-warning { color: #dfb872; }
.wl-change { flex: 0 0 auto; margin-left: auto; font-size: 16px; font-weight: 550; white-space: nowrap; }
.wl-star { display: flex; align-items: center; justify-content: flex-end; flex: 0 0 36px; min-height: 48px; padding: 0 3px; color: #bf9c55; }
.wl-star .icon { width: 17px; height: 17px; fill: currentColor; stroke-width: 1.2; }
.wl-empty { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 12px 0 24px; text-align: center; }
.wl-empty > .icon { width: 30px; height: 30px; color: var(--brand); margin-bottom: 2px; }
.wl-empty h2 { font-size: 14px; font-weight: 550; }.wl-empty p { font-size: 11px; color: var(--muted); line-height: 1.8; }
.wl-no-results { text-align: center; padding: 20px 0; font-size: 12px; color: var(--muted); }.wl-no-results .wl-action { margin: 10px auto 0; }
.wl-add-search { margin: 2px 0 6px; }
.wl-add-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 18px; }
.wl-candidate { display: flex; align-items: center; min-width: 0; height: 46px; border-bottom: 1px solid var(--line); }
.wl-candidate:nth-last-child(-n+2) { border-bottom: 0; }
.wl-candidate-name { flex: 1; min-width: 0; padding: 0; height: 46px; font-size: 13px; text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wl-plus { display: flex; align-items: center; justify-content: flex-end; flex: 0 0 30px; height: 44px; padding: 0 2px; color: var(--brand); }.wl-plus .icon { width: 16px; height: 16px; }
.wl-add-hint { padding: 7px 0 10px; font-size: 10px; text-align: center; color: var(--muted); }
.wl-footer { padding: 3px 0 12px; font-size: 10px; text-align: center; color: var(--muted); line-height: 1.9; }
@media (max-width: 560px) {
 .main.main-watchlist { padding: 10px 12px 18px; }
 .wl-status, .wl-status > button { font-size: 10px; }
 .wl-panel { padding: 12px 12px 4px; }.wl-heading h1, .wl-heading h2 { font-size: 15px; gap: 6px; }
 .wl-heading small, .wl-number { font-size: 10px; }.wl-action { font-size: 11px; }
 .wl-toolbar { gap: 10px; }.wl-search input { font-size: 11px; line-height: 18px; }
 .wl-open { min-height: 50px; gap: 7px; }.wl-row { min-height: 50px; }
 .wl-name { font-size: 13px; }.wl-change { font-size: 14px; }.wl-star { flex-basis: 32px; }
 .wl-candidate-name { font-size: 12px; }.wl-add-grid { column-gap: 14px; }
 .wl-candidate, .wl-candidate-name { height: 42px; }
}

/* Quotes are read-only; only explicit controls accept clicks. */
.home-industry-row, .asia-quote, .wl-open, .wl-candidate-name, .search-result { cursor: default; }
.wl-candidate-name { display: flex; align-items: center; }
.search-result-name { flex: 1; min-width: 0; }
.search-favorite { display: flex; align-items: center; justify-content: center; flex: 0 0 36px; height: 36px; padding: 0; color: var(--muted); }
.search-favorite .icon { width: 17px; height: 17px; }
.search-favorite.selected { color: #bf9c55; }.search-favorite.selected .icon { fill: currentColor; }

.backend-status{font-size:11px;color:#749183;padding:0 0 10px;max-width:650px;margin:auto}.backend-error{color:#b1743b}.backend-announcement{font-size:12px;line-height:1.7;background:#ecf4ee;border-radius:8px;padding:10px 12px;margin-bottom:12px;color:#4f795f}.dark .backend-announcement{background:#24382d;color:#b8cbbd}

/* Live session labels are independent of the explicitly marked demo quotes. */
.industry-controls{display:flex;align-items:center;justify-content:flex-end;margin:12px 0 7px;gap:12px}
.market-session{display:flex;align-items:center;gap:5px;padding:5px 8px;border-radius:5px;background:var(--surface-alt);color:var(--muted);font-size:11px;white-space:nowrap}
.market-session i{width:5px;height:5px;border-radius:50%;background:currentColor}
.market-session.is-open{background:var(--brand-soft);color:var(--brand)}
.market-session.is-waiting{border-radius:999px;box-shadow:inset 0 0 0 1px var(--line);background:var(--surface-alt);color:var(--muted)}
.session-schedule{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line);font-size:12px}
.session-schedule:last-of-type{margin-bottom:16px}
.session-schedule span{color:var(--muted)}
.main.main-metals{max-width:848px;padding-top:24px}
.metals-status{display:flex;align-items:center;justify-content:space-between;margin:2px 2px 14px}
.metals-status>span{display:flex;align-items:center;gap:8px;color:var(--brand);font-size:14px;font-weight:600}
.metals-status i{width:7px;height:7px;border:1px solid var(--brand);transform:rotate(45deg);border-radius:1px}
.metals-status>small,.metals-basis{font-size:11px;color:var(--muted)}
.metals-basis{display:flex;align-items:center;justify-content:space-between;margin:0 2px 12px}
.metals-basis button{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--brand);padding:4px 0}
.metals-basis .icon{width:13px;height:13px}
.metals-panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px 20px 7px;margin-bottom:14px}
.metals-panel:first-of-type{border-top:2px solid var(--brand)}
.metals-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.metals-heading h2{display:flex;align-items:center;gap:9px;font-size:18px;font-weight:650}
.metals-heading h2 small{font-size:10px;color:var(--brand);opacity:.65;letter-spacing:.8px}
.metals-heading>span{font-size:11px;color:var(--muted)}
.metals-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}
.metals-quote{display:flex;align-items:center;justify-content:space-between;min-width:0;gap:8px;min-height:58px;border-bottom:1px solid var(--line)}
.metals-quote:nth-last-child(-n+2):nth-child(odd),.metals-quote:last-child{border-bottom:0}
.metals-name{display:flex;align-items:center;gap:8px;font-size:14px;white-space:nowrap}
.metals-name small{font-size:9px;color:var(--muted);letter-spacing:.8px}
.metals-quote strong{font-size:16px;font-weight:550;white-space:nowrap}
.metals-foot{text-align:center;color:var(--muted);font-size:10px;line-height:1.9;margin-top:16px}
.wl-market{display:block;font-size:10px;color:var(--muted);font-weight:400;margin-top:4px}
@media(max-width:560px){
 .main.main-metals{padding:12px 12px 20px}
 .metals-panel{padding:15px 14px 5px}
 .metals-heading h2{font-size:17px}
 .metals-grid{column-gap:18px}
 .metals-quote{min-height:52px;gap:4px}
 .metals-name{font-size:14px;gap:6px}
 .metals-quote strong{font-size:15px}
 .market-session{font-size:10px;padding:4px 6px}
 .mobile-nav a{min-width:48px}
}
@media(max-width:360px){
 .metals-grid{column-gap:14px}
 .metals-name{gap:4px;font-size:13px}
 .metals-quote strong{font-size:14px}
}

.prefs-reset.prefs-disclaimer { margin:0; padding:0; border:0; }

.session-schedule{gap:14px;align-items:baseline}.session-schedule strong{flex-shrink:0}.session-schedule span{text-align:right;overflow-wrap:anywhere}

.metals-empty{padding:28px 12px;color:var(--muted);text-align:center;font-size:12px}

/* A brief value-only cue. Two names let consecutive updates replay in native views. */
.quote-flash-a, .quote-flash-b { border-radius: 4px; animation-duration: .9s; animation-timing-function: ease-out; }
.quote-flash-a { animation-name: quote-update-a; }
.quote-flash-b { animation-name: quote-update-b; }
@keyframes quote-update-a { 0%, 20% { background-color: rgba(16, 169, 142, .20); box-shadow: 0 0 0 3px rgba(16, 169, 142, .10); } 100% { background-color: transparent; box-shadow: 0 0 0 0 transparent; } }
@keyframes quote-update-b { 0%, 20% { background-color: rgba(16, 169, 142, .20); box-shadow: 0 0 0 3px rgba(16, 169, 142, .10); } 100% { background-color: transparent; box-shadow: 0 0 0 0 transparent; } }
@media (prefers-reduced-motion: reduce) { .quote-flash-a, .quote-flash-b { animation: none; } }

.home-industry-row { flex-wrap: wrap; row-gap: 0; }

.home-macro-unit, .home-macro-time { color: var(--muted); font-size: 10px; line-height: 1.6; }
.home-macro-unit { margin-top: 4px; }

.home-industry-panel .industry-controls { justify-content: space-between; gap: 8px; }
.industry-tagline { flex: 1; min-width: 0; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.6; }
.home-industry-panel .home-sort-button { flex-shrink: 0; }

.market-disclaimer { margin: 0; padding: 16px 8px 10px; font-size: 11px; line-height: 1.8; color: var(--muted); text-align: center; }
.main.main-gold{max-width:820px;padding-top:18px}.gold-toolbar{display:flex;justify-content:space-between;align-items:center;margin:0 0 16px;color:var(--brand);font-size:13px;font-weight:600}.gold-card{padding:22px;margin-bottom:16px;border-radius:18px;background:var(--surface);border:1px solid var(--line)}.gold-benchmark{background:linear-gradient(125deg,var(--surface),#fff5df);border-color:#ead8af}.gold-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}.gold-heading h2{font-size:16px;font-weight:600}.gold-heading>span{font-size:11px;color:var(--muted);white-space:nowrap}.gold-primary{font-size:48px;font-weight:700;color:#b88526;margin:12px 0;font-variant-numeric:tabular-nums}.gold-primary small{font-size:13px;font-weight:400;margin-left:10px}.gold-range{display:flex;gap:24px;color:var(--muted);font-size:12px;margin-bottom:8px}.gold-note{font-size:11px;color:var(--muted);line-height:1.8}.gold-row{padding:22px 0;border-bottom:1px solid var(--line)}.gold-row-main{display:flex;align-items:center;justify-content:space-between;gap:8px}.gold-row h3{font-size:15px;font-weight:500;margin-bottom:6px}.gold-values{text-align:right;flex-shrink:0;font-variant-numeric:tabular-nums}.gold-values strong{display:block;font-size:24px;font-weight:600;margin-bottom:4px}.gold-values span{font-size:13px}.gold-converted{text-align:right;font-size:12px;color:var(--muted);margin:10px 0 5px}.gold-fx{display:flex;justify-content:space-between;font-size:13px;margin-top:18px}.gold-explanation{font-size:12px;color:var(--muted);line-height:1.9;padding:4px 8px}.dark .gold-benchmark{background:linear-gradient(125deg,var(--surface),#332c1c);border-color:#594828}@media(max-width:700px){.main.main-gold{padding:10px 12px 24px}.gold-card{padding:18px 15px}.gold-heading h2{font-size:14px}.gold-primary{font-size:44px}.gold-values strong{font-size:22px}}
.us-history-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0 2px}.us-history-caption{font-size:11px;color:var(--muted);line-height:1.6}.us-history-tabs{display:flex;background:var(--surface-alt);border:1px solid var(--line);border-radius:18px;padding:3px;flex-shrink:0}.us-history-tabs button{font-size:11px;padding:5px 12px;border-radius:14px;color:var(--muted)}.us-history-tabs button.selected{background:var(--surface);box-shadow:0 1px 4px #0000000d;color:var(--brand)}.us-history-tabs button:disabled{opacity:.4}
