:root{color-scheme:light;font-family:Noto Sans TC,Microsoft JhengHei,PingFang TC,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f4f7fb;color:#0f172a;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;font-size:18px;line-height:1.7;background:linear-gradient(180deg,#f0f4fa,#f8fafc 30%,#fff)}button,input{font:inherit}button{border:0;border-radius:1rem;background:#0284c7;color:#fff;cursor:pointer;font-weight:800;font-size:1.25rem;padding:1.1rem 1.8rem;transition:transform .14s ease,background .14s ease,opacity .14s ease,box-shadow .14s ease;box-shadow:0 2px 8px #0284c72e}button:hover:not(:disabled){background:#0369a1;transform:translateY(-2px);box-shadow:0 6px 24px #0284c74d}button:disabled{cursor:wait;opacity:.5}input{width:100%;border:2px solid #cbd5e1;border-radius:1rem;background:#fff;color:#0f172a;outline:none;font-size:1.25rem;padding:1.1rem 1.2rem}input::placeholder{color:#94a3b8}input:focus{border-color:#0284c7;box-shadow:0 0 0 4px #0284c726}.app-shell{width:min(1240px,calc(100% - 2rem));margin:0 auto;padding:2rem 0 3rem}.hero{border:1px solid #dbe4f0;border-radius:1.5rem;background:#fff;box-shadow:0 12px 48px #0f172a0f;margin-bottom:1.5rem;padding:2.2rem 2rem}.hero h1,.card h2,.card h3,.panel h2{margin:0}.hero h1{font-size:clamp(2.6rem,7vw,4.4rem);font-weight:850;letter-spacing:-.02em;line-height:1.15;color:#075985}.hero-copy,.muted,.empty-state p{color:#475569;line-height:1.75;font-size:1.15rem}.eyebrow{color:#0284c7;font-size:.82rem;font-weight:800;letter-spacing:.14em;margin:0 0 .5rem;text-transform:uppercase}.status-bar{align-items:center;background:#e0f2fe;border:1px solid #bae6fd;border-radius:1rem;color:#075985;display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;margin:1.2rem 0;padding:.9rem 1.2rem;font-size:.95rem;font-weight:700}.status-error,.alert{background:#fee2e2;border-color:#fca5a5;color:#991b1b}.alert{border:1px solid #fca5a5;border-radius:1rem;margin:1rem 0;padding:1rem 1.2rem;font-size:1.15rem;font-weight:700}.panel,.card{background:#fff;border:1px solid #dbe4f0;border-radius:1.25rem;box-shadow:0 8px 32px #0f172a0a}.search-panel{display:grid;gap:1.2rem;margin:1.2rem 0;padding:1.5rem}.search-panel h2{font-size:1.8rem;font-weight:800;color:#0f172a}.search-grid{align-items:end;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) auto}.field span{color:#334155;display:block;font-size:1.15rem;font-weight:800;margin-bottom:.5rem}.dashboard-grid{display:grid;gap:1.2rem;grid-template-columns:minmax(0,1.05fr) minmax(300px,.75fr);margin:1.2rem 0}.trading-plan{grid-column:1 / -1}.card{padding:1.5rem}.card h2{font-size:2rem;font-weight:800;color:#0f172a}.card h3{font-size:1.7rem;font-weight:800;color:#0f172a}.ticker-heading{font-size:2.4rem!important;font-weight:900!important;color:#075985;display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.market-badge{display:inline-block;font-size:.85rem;font-weight:800;border-radius:.5rem;padding:.15rem .55rem;vertical-align:middle}.market-us{background:#dbeafe;color:#1e40af}.market-twse{background:#d1fae5;color:#065f46}.market-tpex{background:#e0f2fe;color:#075985}.market-unknown{background:#f1f5f9;color:#475569}.card-header{align-items:start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.2rem}.card-header.compact{margin-bottom:.9rem}.score-pill,.watchlist-meta{background:#e0f2fe;border:1px solid #bae6fd;border-radius:999px;color:#0284c7;font-weight:850;padding:.55rem 1rem;white-space:nowrap;font-size:1.1rem}.huge-score{font-size:1.6rem!important;padding:.7rem 1.4rem!important;background:#bae6fd;border-color:#7dd3fc;color:#075985}.summary-line{display:flex;align-items:center;gap:.6rem;font-size:1.4rem;font-weight:850;margin:0 0 1.2rem;flex-wrap:wrap}.grade-tag{background:#e0f2fe;border:1px solid #bae6fd;border-radius:.7rem;padding:.3rem .7rem;color:#0284c7}.action-tag{color:#334155}.separator{color:#cbd5e1}.grade-bullish{color:#0d9488!important}.grade-bullish.grade-tag{background:#ccfbf1;border-color:#5eead4;color:#0f766e}.grade-mild-bullish{color:#0284c7!important}.grade-mild-bullish.grade-tag{background:#e0f2fe;border-color:#7dd3fc;color:#0284c7}.grade-neutral{color:#64748b!important}.grade-neutral.grade-tag{background:#f1f5f9;border-color:#cbd5e1;color:#475569}.grade-bearish{color:#dc2626!important}.grade-bearish.grade-tag{background:#fef2f2;border-color:#fca5a5;color:#b91c1c}.risk-poor{color:#dc2626!important;font-weight:800}.risk-weak{color:#ca8a04!important;font-weight:800}.risk-fair{color:#64748b!important}.risk-good{color:#16a34a!important;font-weight:800}.metric-grid,.levels-list,.plan-grid{display:grid;gap:.85rem}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-grid div,.levels-list div,.plan-block{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.9rem;padding:1rem}dt,.plan-block h4{color:#64748b;font-size:.9rem;font-weight:700;letter-spacing:.04em;margin:0 0 .4rem;text-transform:uppercase}dd,.plan-block p{color:#0f172a;font-weight:700;margin:0;font-size:1.25rem}.levels-list div{align-items:center;display:flex;justify-content:space-between;padding:1.1rem 1rem}.levels-list dd{font-size:1.35rem;font-weight:800;font-variant-numeric:tabular-nums;color:#0f172a}.key-levels-list{display:flex;flex-direction:column;gap:.6rem}.key-level-item{border-radius:1rem;padding:1rem 1.2rem;border:1px solid #e2e8f0;background:#f8fafc}.key-level-main{display:flex;align-items:baseline;justify-content:space-between;gap:.8rem}.key-level-label{font-size:.9rem;font-weight:700;color:#64748b}.key-level-price{font-size:1.8rem;font-weight:800;letter-spacing:-.02em;color:#0f172a;line-height:1.15}.key-level-meta{margin-top:.6rem;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.level-source-pill{font-size:.72rem;font-weight:700;padding:.2rem .55rem;border-radius:999px;white-space:nowrap}.key-level-desc{font-size:.85rem;color:#64748b;line-height:1.45}.key-level-current{border-left:3px solid #1e40af;background:#eff6ff}.key-level-current .key-level-price{color:#1e40af}.key-level-support{border-left:3px solid #16a34a;background:#f0fdf4}.key-level-support .key-level-price{color:#166534}.key-level-resistance{border-left:3px solid #dc2626;background:#fef2f2}.key-level-resistance .key-level-price{color:#991b1b}.key-level-breakout{border-left:3px solid #2563eb;background:#eff6ff}.key-level-breakout .key-level-price{color:#1d4ed8}.key-level-invalidation{border-left:3px solid #ea580c;background:#fff7ed}.key-level-invalidation .key-level-price{color:#c2410c}.key-level-current .level-source-pill{background:#dbeafe;color:#1e40af}.key-level-support .level-source-pill{background:#dcfce7;color:#166534}.key-level-resistance .level-source-pill{background:#fee2e2;color:#991b1b}.key-level-breakout .level-source-pill{background:#dbeafe;color:#1d4ed8}.key-level-invalidation .level-source-pill{background:#ffedd5;color:#c2410c}.trading-plan-card{padding-bottom:1.5rem}.tp-source-label{font-size:.65rem;font-weight:600;color:#64748b;background:#f1f5f9;padding:.15rem .5rem;border-radius:999px}.tp-headline-panel{margin:0 0 1rem;padding:.9rem 1.1rem;background:#eff6ff;border:1px solid #bfdbfe;border-radius:.8rem;font-size:1rem;font-weight:700;color:#1e40af;line-height:1.6}.tp-headline-panel .tp-score-banner{margin-bottom:.8rem;padding:.8rem 1rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:.8rem}.tp-headline-panel .tp-score-main{display:flex;align-items:baseline;gap:.4rem;margin-bottom:.3rem}.tp-headline-panel .tp-score-num{font-size:2.2rem;font-weight:900;color:#166534;line-height:1}.tp-headline-panel .tp-score-outof{font-size:.9rem;color:#64748b;font-weight:600}.tp-headline-panel .tp-score-label{font-size:1.1rem;font-weight:800;color:#065f46;background:#dcfce7;padding:.15rem .6rem;border-radius:.4rem;margin-left:.5rem}.tp-headline-panel .tp-score-sub{display:flex;gap:1rem;font-size:.82rem;color:#475569;font-weight:600;margin-bottom:.3rem}.tp-headline-panel .tp-score-summary{margin:0;font-size:.85rem;color:#334155;font-weight:600;line-height:1.5}.tp-headline-panel p{margin:0}.tp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.tp-panel{border-radius:.8rem;padding:1rem;border:1px solid #e2e8f0;background:#fff}.tp-panel-title{font-size:.9rem;font-weight:800;margin:0 0 .6rem}.tp-panel-support{border-left:3px solid #16a34a;background:#f0fdf4}.tp-panel-resistance{border-left:3px solid #dc2626;background:#fef2f2}.tp-panel-action{border-left:3px solid #2563eb;background:#eff6ff}.tp-panel-risk{border-left:3px solid #ea580c;background:#fff7ed}.tp-panel-support .tp-panel-title{color:#166534}.tp-panel-resistance .tp-panel-title{color:#991b1b}.tp-panel-action .tp-panel-title{color:#1d4ed8}.tp-panel-risk .tp-panel-title{color:#c2410c}.tp-price{font-size:1.4rem;font-weight:800;margin:.3rem 0 .2rem;display:flex;align-items:baseline;gap:.4rem}.tp-price span{font-size:.75rem;font-weight:600;color:#64748b}.tp-price-support{color:#16a34a}.tp-price-resistance{color:#dc2626}.tp-price-breakout{color:#2563eb}.tp-explain-box{font-size:.85rem;color:#475569;line-height:1.55;margin-top:.4rem}.tp-action-list{display:flex;flex-direction:column;gap:.6rem}.tp-action-item{display:flex;gap:.6rem;align-items:flex-start}.tp-action-num{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;border-radius:50%;background:#dbeafe;color:#1d4ed8;font-size:.75rem;font-weight:800;flex-shrink:0}.tp-action-label{margin:0;font-size:.88rem;font-weight:700;color:#1d4ed8}.tp-action-text{margin:.15rem 0 0;font-size:.82rem;color:#475569;line-height:1.5}.tp-risk-list{display:flex;flex-direction:column;gap:.5rem}.tp-risk-item{display:flex;gap:.5rem;align-items:flex-start}.tp-risk-dot{color:#ea580c;font-weight:800;font-size:1rem;flex-shrink:0}.tp-risk-label{margin:0;font-size:.85rem;font-weight:700;color:#c2410c}.tp-risk-text{margin:.1rem 0 0;font-size:.8rem;color:#64748b;line-height:1.45}.tp-notes-section{margin-top:1rem}.tp-notes-section h4{font-size:.95rem;font-weight:800;margin:0 0 .5rem;color:#334155}.tp-note-grid{display:flex;flex-wrap:wrap;gap:.45rem}.tp-note-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.6rem;padding:.45rem .65rem;display:flex;flex-direction:column;align-items:center;min-width:5rem;flex:1}.tp-note-label{font-size:.68rem;color:#64748b;font-weight:600;text-transform:uppercase}.tp-note-value{font-size:1rem;font-weight:800;color:#0f172a;margin:.1rem 0}.tp-note-desc{font-size:.68rem;color:#94a3b8}.tp-fallback{margin:0;font-size:.85rem;color:#94a3b8}.wl-scanner{margin-top:.8rem}.wl-scanner-summary{cursor:pointer;font-size:1rem;outline:none}.wl-scanner-summary h3{display:inline;font-size:1.1rem}.wl-scanner-form{display:flex;gap:.5rem;margin:.6rem 0}.wl-scanner-input{flex:1;padding:.6rem .9rem;font-size:.95rem;border:1px solid #e2e8f0;border-radius:.6rem;background:#fff}.wl-scanner-btn{padding:.6rem 1.2rem;font-size:.95rem;font-weight:700;background:#0284c7;color:#fff;border:none;border-radius:.6rem;cursor:pointer}.wl-checkbox{width:1rem;height:1rem;cursor:pointer;flex-shrink:0;margin:0}.wl-compare-btn{font-size:.75rem;font-weight:700;padding:.25rem .55rem;background:#0284c7;color:#fff;border:none;border-radius:.35rem;cursor:pointer}.wl-results-header{display:flex;gap:1rem;font-size:.85rem;color:#64748b;margin-bottom:.5rem}.wl-failed-count{color:#dc2626}.wl-results-list{display:flex;flex-direction:column;gap:.35rem}.wl-result-row{display:flex;align-items:center;gap:.8rem;padding:.55rem .8rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.6rem;cursor:pointer;transition:background .15s}.wl-result-row:hover{background:#eff6ff}.wl-result-fail{background:#fef2f2;cursor:default}.wl-result-fail:hover{background:#fef2f2}.wl-result-left{display:flex;align-items:center;gap:.5rem;min-width:10rem}.wl-result-symbol{font-size:1.05rem;font-weight:800;color:#0f172a}.wl-result-badge{font-size:.7rem;font-weight:700;padding:.1rem .4rem;border-radius:.3rem}.wl-badge-green{background:#dcfce7;color:#166534}.wl-badge-blue{background:#dbeafe;color:#1e40af}.wl-badge-gray{background:#f1f5f9;color:#475569}.wl-badge-orange{background:#fff7ed;color:#c2410c}.wl-badge-red{background:#fef2f2;color:#991b1b}.wl-result-center{display:flex;align-items:baseline;gap:.2rem}.wl-result-score{font-size:1.3rem;font-weight:900;color:#0f172a}.wl-result-scoreof{font-size:.75rem;color:#94a3b8}.wl-result-right{display:flex;flex-direction:column;gap:.1rem;font-size:.78rem;color:#475569}.wl-result-action{font-weight:600;color:#475569}.wl-cache-dot{font-size:.65rem;color:#93c5fd;margin-left:auto}.wl-fail-msg{font-size:.85rem;color:#dc2626;font-weight:600}.watchlist-market-hint{margin:.4rem 1.1rem;padding:.3rem .7rem;font-size:.8rem;font-weight:500;border-radius:.4rem}.watchlist-market-us{background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe}.watchlist-market-tw{background:#fffbeb;color:#92400e;border:1px solid #fde68a}.watchlist-market-mixed{background:#fef2f2;color:#991b1b;border:1px solid #fca5a5}.watchlist-market-unknown{background:#f8fafc;color:#64748b;border:1px solid #e2e8f0}.watchlist-market-warning{font-size:.78rem;line-height:1.4}.tw-result-controls{display:flex;flex-wrap:wrap;gap:.8rem;margin:.5rem 1.1rem;padding:.6rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem}.tw-control-group{display:flex;align-items:center;gap:.4rem}.tw-control-label{font-size:.8rem;font-weight:600;color:#475569}.tw-sort-select{padding:.3rem .5rem;font-size:.8rem;border:1px solid #cbd5e1;border-radius:.3rem}.tw-filter-tabs{display:flex;gap:.3rem}.tw-filter-tab{padding:.25rem .6rem;font-size:.78rem;font-weight:500;border:1px solid #cbd5e1;border-radius:.4rem;background:#fff;cursor:pointer}.tw-filter-tab.active{background:#0ea5e9;color:#fff;border-color:#0ea5e9}.tw-result-overview{margin:.5rem 1.1rem .6rem}.tw-result-counts{display:flex;gap:.6rem;flex-wrap:wrap}.tw-count-strong{font-size:.85rem;font-weight:700;color:#166534;background:#dcfce7;padding:.25rem .6rem;border-radius:.4rem}.tw-count-watch{font-size:.85rem;font-weight:600;color:#1e40af;background:#dbeafe;padding:.25rem .6rem;border-radius:.4rem}.tw-count-weak{font-size:.85rem;font-weight:500;color:#64748b;background:#f1f5f9;padding:.25rem .6rem;border-radius:.4rem}.tw-count-fail{font-size:.82rem;color:#dc2626;padding:.25rem .6rem}.tw-result-group{margin:0 1.1rem .8rem}.tw-result-group-title{font-size:.95rem;font-weight:700;margin-bottom:.15rem;color:#1e293b}.tw-result-group-desc{font-size:.78rem;color:#64748b;margin-bottom:.5rem}.tw-result-card{background:#fff;border:1px solid #e2e8f0;border-radius:.6rem;padding:.7rem;margin-bottom:.6rem}.tw-result-main{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.tw-result-symbol{font-size:1.1rem;font-weight:700;color:#0f172a}.tw-result-etf{font-size:1rem;font-weight:700;color:#1e40af}.tw-result-name{font-size:1.1rem;font-weight:700;color:#1e293b}.tw-result-market-badge{font-size:.65rem;font-weight:600;padding:.15rem .5rem;border-radius:.3rem;margin-left:auto;background:#f1f5f9;color:#64748b}.tw-score-line{display:flex;align-items:center;gap:.4rem;margin-bottom:.4rem}.tw-result-status-label{font-size:.8rem;color:#64748b}.tw-status-badge{font-size:.8rem;font-weight:600;padding:.15rem .5rem;border-radius:.3rem}.tw-status-strong{color:#166534;background:#dcfce7}.tw-status-watch{color:#1e40af;background:#dbeafe}.tw-status-weak{color:#64748b;background:#f1f5f9}.tw-score-badge{font-size:.85rem;font-weight:700;padding:.15rem .5rem;border-radius:.3rem}.tw-score-badge.strong{color:#166534;background:#dcfce7}.tw-score-badge.watch{color:#1e40af;background:#dbeafe}.tw-score-badge.weak{color:#991b1b;background:#fee2e2}.tw-score-badge.na{color:#64748b;background:#f1f5f9}.tw-score-reason{font-size:.8rem;color:#334155;margin-bottom:.4rem;line-height:1.4}.tw-score-tags{display:flex;gap:.3rem;margin-bottom:.6rem}.tw-score-tag{font-size:.72rem;color:#0f172a;background:#f1f5f9;padding:.15rem .4rem;border-radius:.3rem;font-weight:500}.tw-result-metrics{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;margin-bottom:.4rem}.tw-metric{font-size:.8rem;color:#475569}.tw-metric-divider{color:#cbd5e1;font-size:.75rem}.tw-result-flow{font-size:.8rem;color:#475569;background:#f8fafc;padding:.3rem .6rem;border-radius:.3rem;display:inline-block}.tw-picks-panel{margin:1rem 1.1rem;padding:.8rem;background:#fff;border:2px solid #e0f2fe;border-radius:.8rem}.tw-picks-header{margin-bottom:.8rem}.tw-picks-title{font-size:1.1rem;font-weight:800;color:#075985}.tw-picks-subtitle{font-size:.8rem;color:#64748b}.tw-picks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.8rem}.tw-pick-card{padding:.8rem;border-radius:.6rem;border:1px solid #e0f2fe;background:#f0f9ff}.tw-pick-top{display:flex;align-items:center;gap:.4rem;margin-bottom:.4rem}.tw-pick-symbol{font-size:1rem;font-weight:800;color:#0c4a6e}.tw-pick-name{font-size:1rem;font-weight:700;color:#1e293b}.tw-pick-market{font-size:.72rem;color:#94a3b8}.tw-pick-level{font-size:.78rem;color:#0369a1;font-weight:600;margin-bottom:.3rem}.tw-pick-score-row{display:flex;gap:.5rem;font-size:.8rem;font-weight:600;margin-bottom:.4rem}.tw-pick-comment{font-size:.8rem;color:#334155;margin-bottom:.5rem;line-height:1.4}.tw-pick-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.5rem}.tw-pick-tag{font-size:.7rem;background:#e0f2fe;color:#0369a1;padding:.15rem .4rem;border-radius:.3rem}.tw-pick-metrics{font-size:.78rem;color:#475569}.tw-pick-empty{text-align:center;color:#94a3b8;padding:1rem;font-size:.85rem}.tw-tech-comment{font-size:.8rem;color:#334155;line-height:1.5;margin-bottom:.5rem;padding:.3rem .6rem;background:#f8fafc;border-radius:.4rem;border-left:3px solid #0ea5e9}.tw-signal-row{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.4rem}.tw-signal-badge{font-size:.75rem;font-weight:500;padding:.2rem .5rem;border-radius:.35rem;background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.tw-warning-badge{font-size:.75rem;font-weight:500;padding:.2rem .5rem;border-radius:.35rem;background:#fffbeb;color:#92400e;border:1px solid #fde68a}.tw-pick-signals{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.3rem}.tw-pick-signal{font-size:.65rem;font-weight:500;padding:.12rem .4rem;border-radius:.3rem;background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.tw-single-card{margin-top:.8rem}.tw-single-header{cursor:pointer;outline:none;display:flex;align-items:baseline;gap:.6rem}.tw-single-header h3.tw-single-title{display:inline;font-size:1.05rem;margin:0}.tw-single-subtitle{font-size:.78rem;color:#64748b}.tw-single-form{display:flex;gap:.5rem;margin:.6rem 1.1rem}.tw-single-input{flex:1;padding:.5rem .8rem;font-size:.95rem;border:1px solid #cbd5e1;border-radius:.4rem;outline:none}.tw-single-input:focus{border-color:#0ea5e9;box-shadow:0 0 0 2px #bae6fd}.tw-single-button{padding:.5rem 1.2rem;font-size:.95rem;font-weight:600;background:#0ea5e9;color:#fff;border:none;border-radius:.4rem;cursor:pointer}.tw-single-button:disabled{background:#94a3b8;cursor:not-allowed}.tw-single-loading{text-align:center;color:#64748b;font-size:.9rem;padding:1rem}.tw-single-error{margin:.5rem 1.1rem;padding:.6rem;background:#fef2f2;border:1px solid #fca5a5;border-radius:.4rem;color:#991b1b;font-size:.85rem}.tw-summary-card{margin:.6rem 1.1rem 1rem;padding:1rem;background:#fff;border:1px solid #e2e8f0;border-radius:.7rem}.tw-summary-head{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap;margin-bottom:.6rem}.tw-summary-symbol{font-size:1.3rem;font-weight:800;color:#0f172a}.tw-summary-name{font-size:1.2rem;font-weight:700;color:#1e293b}.tw-summary-meta{font-size:.82rem;color:#64748b}.tw-summary-score-row{display:flex;gap:.8rem;flex-wrap:wrap;margin-bottom:.8rem}.tw-summary-score{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:5rem;padding:.5rem .8rem;border-radius:.5rem;border:1px solid #e2e8f0}.tw-summary-score.strong{background:#dcfce7;border-color:#86efac;color:#166534}.tw-summary-score.good{background:#dbeafe;border-color:#93c5fd;color:#1e40af}.tw-summary-score.watch{background:#fef9c3;border-color:#fde047;color:#854d0e}.tw-summary-score.weak{background:#f1f5f9;border-color:#cbd5e1;color:#64748b}.tw-summary-score.na{background:#f8fafc;border-color:#e2e8f0;color:#94a3b8}.tw-summary-score-num{font-size:1.4rem;font-weight:800}.tw-summary-score-label{font-size:.7rem;font-weight:600;margin-top:.1rem}.tw-summary-comment{font-size:.85rem;color:#334155;line-height:1.5;margin-bottom:.8rem;padding:.5rem .7rem;background:#fffbeb;border-radius:.4rem;border-left:3px solid #f59e0b}.tw-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.8rem}.tw-summary-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.6rem;padding:.7rem}.tw-summary-panel-title{font-size:.9rem;font-weight:700;color:#1e293b;margin-bottom:.5rem}.tw-summary-metric{font-size:.85rem;color:#475569;margin-bottom:.35rem}.tw-summary-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.5rem}.tw-summary-tag{font-size:.72rem;color:#0f172a;background:#f1f5f9;padding:.15rem .4rem;border-radius:.3rem;font-weight:500}.tw-summary-warning-tag{background:#fffbeb;color:#92400e;border:1px solid #fde68a}.tw-sr-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.6rem;padding:.7rem;margin-top:.8rem}.tw-sr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.6rem}.tw-sr-metric{display:flex;flex-direction:column;gap:.15rem}.tw-sr-label{font-size:.72rem;color:#64748b;font-weight:500}.tw-sr-value{font-size:.9rem;font-weight:700;color:#1e293b}.tw-sr-support{color:#166534}.tw-sr-resistance{color:#92400e}.tw-sr-comment{font-size:.82rem;color:#475569;line-height:1.5;margin-top:.5rem;padding:.4rem .6rem;background:#f1f5f9;border-radius:.4rem;border-left:3px solid #64748b}.tw-sr-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.5rem}.tw-sr-tag{font-size:.72rem;font-weight:500;padding:.15rem .4rem;border-radius:.3rem}.tw-sr-tag.positive{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.tw-sr-tag.warning{background:#fffbeb;color:#92400e;border:1px solid #fde68a}.tw-signal-panel{margin:.8rem 1.1rem;padding:.8rem;background:#fff;border:2px solid #dbeafe;border-radius:.8rem}.tw-signal-header{margin-bottom:.6rem}.tw-signal-title{font-size:1.05rem;font-weight:800;color:#1e40af}.tw-signal-subtitle{font-size:.78rem;color:#64748b}.tw-signal-groups{display:flex;flex-direction:column;gap:.8rem}.tw-signal-group{padding:.6rem;border-radius:.6rem}.tw-signal-breakout{background:#f0fdf4;border:1px solid #bbf7d0}.tw-signal-pullback{background:#eff6ff;border:1px solid #bfdbfe}.tw-signal-chip{background:#faf5ff;border:1px solid #e9d5ff}.tw-signal-group-title{font-size:.95rem;font-weight:700;margin-bottom:.15rem;color:#1e293b}.tw-signal-group-desc{font-size:.78rem;color:#64748b;margin-bottom:.5rem}.tw-signal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.6rem}.tw-buy-card{padding:.7rem;border-radius:.5rem;background:#fff;border:1px solid #e2e8f0}.tw-buy-card.tw-signal-breakout{border-left:3px solid #16a34a}.tw-buy-card.tw-signal-pullback{border-left:3px solid #2563eb}.tw-buy-card.tw-signal-chip{border-left:3px solid #9333ea}.tw-buy-top{display:flex;align-items:center;gap:.4rem;margin-bottom:.3rem}.tw-buy-symbol{font-size:1rem;font-weight:800;color:#0f172a}.tw-buy-name{font-size:1rem;font-weight:700;color:#1e293b}.tw-buy-type{font-size:.75rem;font-weight:600;padding:.15rem .5rem;border-radius:.3rem;display:inline-block;margin-bottom:.3rem}.tw-signal-breakout .tw-buy-type{background:#dcfce7;color:#166534}.tw-signal-pullback .tw-buy-type{background:#dbeafe;color:#1e40af}.tw-signal-chip .tw-buy-type{background:#f3e8ff;color:#6b21a8}.tw-buy-score-row{display:flex;gap:.5rem;font-size:.78rem;font-weight:600;color:#475569;margin-bottom:.3rem}.tw-buy-reason{font-size:.8rem;color:#334155;line-height:1.4;margin-bottom:.4rem}.tw-buy-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.4rem}.tw-buy-tag{font-size:.68rem;background:#e0f2fe;color:#0369a1;padding:.12rem .4rem;border-radius:.3rem;font-weight:500}.tw-buy-metrics{font-size:.75rem;color:#64748b;margin-bottom:.2rem}.tw-signal-empty{text-align:center;color:#94a3b8;padding:.8rem;font-size:.85rem}.tw-dash-card{margin-top:.8rem}.tw-dash-header{cursor:pointer;outline:none;display:flex;align-items:baseline;gap:.6rem}.tw-dash-title{font-size:1.05rem;font-weight:800;color:#0f172a;margin:0}.tw-dash-subtitle{font-size:.78rem;color:#64748b}.tw-dash-form{display:flex;gap:.5rem;margin:.6rem 1.1rem}.tw-dash-input{flex:1;padding:.5rem .8rem;font-size:.95rem;border:1px solid #cbd5e1;border-radius:.4rem;outline:none}.tw-dash-input:focus{border-color:#0ea5e9;box-shadow:0 0 0 2px #bae6fd}.tw-dash-button{padding:.5rem 1.2rem;font-size:.95rem;font-weight:600;background:#0ea5e9;color:#fff;border:none;border-radius:.4rem;cursor:pointer}.tw-dash-button:disabled{background:#94a3b8;cursor:not-allowed}.tw-dash-loading{text-align:center;color:#64748b;font-size:.9rem;padding:1rem}.tw-dash-error{margin:.5rem 1.1rem;padding:.6rem;background:#fef2f2;border:1px solid #fca5a5;border-radius:.4rem;color:#991b1b;font-size:.85rem}.tw-dash-body{margin:.6rem 1.1rem 1rem}.tw-dash-overview{padding:1rem;background:#fff;border-radius:.6rem;border:1px solid #e2e8f0;margin-bottom:.8rem}.tw-dash-overview-row{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.tw-dash-symbol{font-size:1.25rem;font-weight:800;color:#0f172a}.tw-dash-name{font-size:1.15rem;font-weight:700;color:#1e293b}.tw-dash-meta{font-size:.75rem;color:#94a3b8}.tw-dash-price{font-size:1.8rem;font-weight:800;color:#0f172a}.tw-dash-combined{font-size:.9rem;color:#475569}.tw-dash-verdict{display:inline-block;font-size:.9rem;font-weight:700;padding:.2rem .8rem;border-radius:.4rem}.tw-dash-verdict-reason{font-size:.85rem;color:#334155;line-height:1.5;margin-top:.5rem;padding:.4rem .6rem;background:#f8fafc;border-radius:.4rem}.tw-dash-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.7rem}.tw-dash-panel{background:#fff;border:1px solid #e2e8f0;border-radius:.6rem;padding:.7rem}.tw-dash-panel-title{font-size:.88rem;font-weight:700;color:#1e293b;margin-bottom:.5rem}.tw-dash-metric-row{display:flex;align-items:center;gap:.4rem;margin-bottom:.4rem}.tw-dash-metric-label{font-size:.78rem;color:#64748b;min-width:3.5rem}.tw-dash-metric-val{font-size:.88rem;font-weight:700;color:#1e293b}.tw-dash-metric-hint{font-size:.72rem;margin-left:auto}.tw-dash-support{color:#166534}.tw-dash-resistance{color:#92400e}.tw-dash-hint-ok{color:#16a34a}.tw-dash-hint-warn{color:#dc2626}.tw-dash-badge{font-size:.68rem;font-weight:500;padding:.1rem .4rem;border-radius:.3rem;margin-left:auto}.tw-dash-badge.positive{background:#dcfce7;color:#166534}.tw-dash-badge.warning{background:#fef2f2;color:#991b1b}.tw-dash-badge.neutral{background:#f1f5f9;color:#64748b}.tw-dash-badge.na{background:#f8fafc;color:#94a3b8}.tw-dash-action{font-size:.85rem;line-height:1.5;padding:.5rem .7rem;border-radius:.4rem}.tw-dash-action-strong{background:#dcfce7;border-left:3px solid #16a34a;color:#166534}.tw-dash-action-good{background:#dbeafe;border-left:3px solid #2563eb;color:#1e40af}.tw-dash-action-watch{background:#fef9c3;border-left:3px solid #eab308;color:#854d0e}.tw-dash-action-weak{background:#fee2e2;border-left:3px solid #dc2626;color:#991b1b}.tw-dash-action-neutral{background:#f1f5f9;border-left:3px solid #64748b;color:#475569}.tw-dash-action-na{background:#f8fafc;border-left:3px solid #94a3b8;color:#64748b}.tw-dash-summary-comment{font-size:.85rem;color:#334155;line-height:1.4;margin-top:.5rem;padding:.4rem .6rem;background:#fffbeb;border-radius:.4rem;border-left:3px solid #f59e0b}.tw-dash-tech-comment{font-size:.82rem;color:#475569;line-height:1.4;margin-top:.5rem;padding:.4rem .6rem;background:#f0f9ff;border-radius:.4rem;border-left:3px solid #0284c7}.tw-dash-score-reason{font-size:.82rem;color:#475569;margin-top:.5rem;padding:.3rem .5rem;background:#f8fafc;border-radius:.4rem}.tw-dash-tag-signal{font-size:.72rem;font-weight:500;padding:.12rem .4rem;border-radius:.3rem;background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.tw-dash-tag-warning{font-size:.72rem;font-weight:500;padding:.12rem .4rem;border-radius:.3rem;background:#fffbeb;color:#92400e;border:1px solid #fde68a}.saved-wl-card{margin-top:.8rem}.saved-wl-summary{cursor:pointer;outline:none}.saved-wl-summary h3{display:inline;font-size:1.05rem}.saved-wl-msg{font-size:.82rem;color:#16a34a;font-weight:600;background:#f0fdf4;padding:.3rem .6rem;border-radius:.4rem;margin-bottom:.5rem}.saved-wl-section{margin-bottom:.6rem}.saved-wl-section h4{font-size:.85rem;color:#64748b;margin:0 0 .3rem}.saved-wl-row{display:flex;align-items:center;gap:.6rem;padding:.4rem 0;border-bottom:1px solid #f1f5f9}.saved-wl-info{flex:1;min-width:0}.saved-wl-name{font-size:.9rem;font-weight:700;color:#0f172a;display:block}.saved-wl-tickers{font-size:.72rem;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-wl-actions{display:flex;gap:.3rem;flex-shrink:0}.saved-wl-actions button{font-size:.7rem;font-weight:600;padding:.2rem .45rem;border:1px solid #e2e8f0;border-radius:.35rem;background:#f8fafc;color:#0284c7;cursor:pointer}.saved-wl-btn-del{color:#dc2626!important}.saved-wl-add{margin-top:.6rem}.saved-wl-input,.saved-wl-textarea{width:100%;padding:.45rem .6rem;font-size:.85rem;border:1px solid #e2e8f0;border-radius:.4rem;margin-bottom:.4rem}.saved-wl-save-btn{font-size:.85rem;font-weight:700;padding:.4rem .8rem;background:#0284c7;color:#fff;border:none;border-radius:.5rem;cursor:pointer}.cmp-card{margin-top:.8rem}.cmp-summary{cursor:pointer;outline:none}.cmp-summary h3{display:inline;font-size:1.05rem}.cmp-form{display:flex;gap:.4rem;margin:.5rem 0}.cmp-input{flex:1;padding:.5rem .6rem;font-size:.9rem;border:1px solid #e2e8f0;border-radius:.4rem}.cmp-btn{padding:.5rem 1rem;font-size:.9rem;font-weight:700;background:#0284c7;color:#fff;border:none;border-radius:.4rem;cursor:pointer}.cmp-error{font-size:.85rem;color:#dc2626;margin:.3rem 0}.cmp-winner{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:.6rem;padding:.6rem .9rem;margin:.5rem 0;font-size:.9rem}.cmp-winner-reason{font-size:.82rem;color:#475569;margin-top:.2rem}.cmp-table-wrap{overflow-x:auto}.cmp-table{width:100%;border-collapse:collapse}.cmp-table th,.cmp-table td{padding:.35rem .5rem;text-align:center;font-size:.8rem;border-bottom:1px solid #f1f5f9}.cmp-table th{color:#64748b;font-weight:700;font-size:.78rem;white-space:nowrap}.cmp-table td strong{font-size:.85rem}.cmp-top-row{background:#f0fdf4}.cmp-top-row td{font-weight:700}.cmp-failed{font-size:.82rem;color:#dc2626;margin:.4rem 0}.cmp-sector-row-wrap td{padding:.1rem .2rem;border-bottom:1px solid #f1f5f9}.cmp-sector-row{flex-direction:row;flex-wrap:wrap;gap:.4rem;padding:.2rem .5rem;margin:0;font-size:.68rem;background:#f8fafc;border-left:3px solid #0ea5e9;border-radius:.25rem}.cmp-sector-row .stock-sector-main{font-size:.68rem;color:#1e293b}.cmp-sector-row .stock-sector-flow{font-size:.65rem;color:#64748b}.tp-card{margin-top:.8rem}.tp-summary{cursor:pointer;outline:none}.tp-summary h3{display:inline;font-size:1.1rem}.tp-subtitle{font-size:.8rem;color:#64748b;margin-left:.5rem}.tp-actions{display:flex;gap:.4rem;margin:.5rem 0}.tp-scan-btn{font-size:.9rem;font-weight:700;padding:.45rem .8rem;background:#eab308;color:#fff;border:none;border-radius:.5rem;cursor:pointer}.tp-compare-btn-sm{font-size:.75rem;font-weight:700;padding:.25rem .55rem;background:#0284c7;color:#fff;border:none;border-radius:.35rem;cursor:pointer}.tp-error{font-size:.85rem;color:#dc2626;margin:.3rem 0}.tp-empty{font-size:.9rem;color:#64748b;padding:.5rem 0}.tp-source-bar{display:flex;gap:1rem;margin:.4rem 0 .2rem}.tp-source-opt{display:flex;align-items:center;gap:.3rem;font-size:.85rem;font-weight:600;color:#334155;cursor:pointer}.tp-source-opt input[type=radio]{width:.85rem;height:.85rem;cursor:pointer;accent-color:#0284c7}.tp-manual-wrap{margin:.3rem 0 .4rem}.tp-manual-input{width:100%;box-sizing:border-box;font-size:.85rem;padding:.4rem .55rem;border:1px solid #e2e8f0;border-radius:.4rem;resize:vertical;font-family:inherit;color:#0f172a;background:#fff}.tp-manual-input:focus{outline:none;border-color:#0284c7;box-shadow:0 0 0 2px #bfdbfe}.tp-manual-hint{font-size:.7rem;color:#94a3b8;margin-top:.15rem}.tp-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.5rem 0}.tp-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-left:auto}.tp-ctrl-label{display:flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:600;color:#475569;white-space:nowrap}.tp-ctrl-select{font-size:.8rem;font-weight:600;padding:.15rem .4rem;border:1px solid #e2e8f0;border-radius:.3rem;background:#fff;color:#0f172a;cursor:pointer}.tp-ctrl-select:focus{outline:none;border-color:#0284c7}.tp-ctrl-check{display:flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:600;color:#475569;cursor:pointer;white-space:nowrap}.tp-ctrl-check input[type=checkbox]{width:.8rem;height:.8rem;cursor:pointer;accent-color:#0284c7}.tp-summary-bar{font-size:.8rem;color:#475569;line-height:1.45;padding:.4rem .6rem;margin:.4rem 0;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:.4rem}.tp-summary-bar strong{color:#0f172a}.tp-section{margin:.6rem 0}.tp-section-header{display:flex;align-items:center;gap:.4rem;margin-bottom:.4rem;padding:.3rem 0}.tp-section-icon{font-size:1.1rem}.tp-section-title{font-size:1rem;font-weight:800;color:#0f172a}.tp-section-count{font-size:.75rem;font-weight:700;color:#475569;background:#f1f5f9;padding:.1rem .5rem;border-radius:999px}.tp-section-note{font-size:.8rem;color:#94a3b8;margin-bottom:.4rem;padding:.3rem .5rem;background:#fafafa;border-radius:.4rem;border-left:3px solid #e2e8f0}.tp-candidates-section{opacity:.85}.tp-candidates-header .tp-section-title{color:#64748b}.tp-grid{display:flex;flex-direction:column;gap:.4rem}.tp-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.6rem;padding:.5rem .7rem}.tp-item-strong{background:#f0fdf4;border:1px solid #bbf7d0}.tp-item-candidate{background:#fafafa;border:1px solid #f0f0f0}.tp-item-top{display:flex;align-items:center;gap:.4rem}.tp-checkbox{width:.9rem;height:.9rem;cursor:pointer;flex-shrink:0}.tp-ticker{font-size:.95rem;font-weight:800;color:#0f172a}.tp-level{font-size:.7rem;font-weight:700;padding:.1rem .4rem;border-radius:.3rem}.tp-strong{background:#dcfce7;color:#166534}.tp-watch{background:#fefce8;color:#92400e}.tp-muted{background:#f1f5f9;color:#64748b}.tp-candidate-badge{background:#f5f5f5;color:#94a3b8}.tp-score{font-size:1rem;font-weight:800;color:#0f172a;margin-left:auto}.tp-score-muted{color:#94a3b8}.tp-item-body{display:flex;gap:.6rem;font-size:.72rem;color:#475569;margin:.3rem 0;flex-wrap:wrap}.tp-item-sr{display:flex;gap:.6rem;font-size:.72rem;color:#065f46;font-weight:600;margin:.2rem 0}.tp-explanation{font-size:.75rem;color:#334155;line-height:1.4;background:#f0fdf4;padding:.3rem .5rem;border-radius:.3rem;margin-top:.3rem}.tp-explanation-muted{background:#fafafa;color:#94a3b8}.stock-sector-context{display:flex;flex-direction:column;gap:.15rem;padding:.25rem .45rem;margin:.3rem 0;background:#f0f9ff;border-left:3px solid #0ea5e9;border-radius:.3rem;font-size:.7rem}.stock-sector-compact{flex-direction:row;flex-wrap:wrap;gap:.3rem;padding:.15rem .4rem;margin:.15rem 0;font-size:.65rem}.stock-sector-muted{opacity:.7;background:#fafafa;border-left-color:#cbd5e1}.stock-sector-main{font-weight:700;color:#0f172a}.stock-sector-subtheme{color:#334155;font-weight:600}.stock-sector-flow{font-size:.65rem;color:#475569;font-weight:600}.stock-sector-strong{color:#166534}.stock-sector-inflow{color:#0369a1}.stock-sector-neutral{color:#64748b}.stock-sector-outflow{color:#c2410c}.stock-sector-unknown{color:#94a3b8}.tp-reason-row{display:flex;flex-wrap:wrap;gap:.3rem;margin:.35rem 0}.tp-reason-tag{display:inline-block;font-size:.68rem;font-weight:700;padding:.15rem .45rem;border-radius:999px;background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.tp-reason-muted{opacity:.75}.tp-reason-tag-muted{background:#f5f5f5;color:#94a3b8;border:1px solid #e5e5e5}.tp-obs-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;padding:.45rem .6rem;margin:.35rem 0}.tp-obs-muted{background:#fafafa;border-color:#f0f0f0;opacity:.85}.tp-obs-title{font-size:.68rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.25rem}.tp-obs-grid{display:flex;gap:.6rem;flex-wrap:wrap}.tp-obs-cell{display:flex;flex-direction:column;gap:.1rem;min-width:4.5rem}.tp-obs-label{font-size:.62rem;color:#94a3b8;font-weight:600;text-transform:uppercase}.tp-obs-val{font-size:.95rem;font-weight:800;color:#0f172a}.tp-obs-def{color:#dc2626}.tp-obs-res{color:#2563eb}.tp-obs-note{font-size:.72rem;color:#64748b;line-height:1.45;margin-top:.3rem;padding-top:.3rem;border-top:1px dashed #e2e8f0}.tp-disclaimer{font-size:.8rem;color:#94a3b8;line-height:1.5;margin-top:.6rem;padding:.5rem .6rem;background:#fafafa;border-radius:.4rem;border-left:3px solid #e2e8f0}.market-brief-card{margin-top:.6rem}.market-brief-summary{cursor:pointer;outline:none}.market-brief-summary h3{display:inline;font-size:1.1rem}.market-brief-loading{font-size:.9rem;color:#64748b;padding:.5rem 0}.market-brief-error{font-size:.85rem;color:#dc2626;margin:.3rem 0}.market-brief-headline{font-size:1.05rem;font-weight:800;color:#0f172a;line-height:1.5;margin:.4rem 0 .5rem}.market-brief-mode{display:flex;align-items:center;gap:.4rem;margin-bottom:.5rem}.market-brief-mode-label{font-size:.8rem;font-weight:600;color:#64748b}.market-brief-mode-badge{font-size:.85rem;font-weight:800;color:#166534;background:#dcfce7;padding:.2rem .6rem;border-radius:.4rem}.market-brief-warning{font-size:.78rem;color:#92400e;background:#fefce8;border:1px solid #fde68a;border-radius:.4rem;padding:.4rem .6rem;margin-bottom:.5rem}.market-brief-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.5rem;margin:.4rem 0}.market-brief-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;padding:.5rem .6rem}.market-brief-section-title{font-size:.82rem;font-weight:800;color:#0f172a;margin-bottom:.3rem}.market-brief-section-body{font-size:.82rem;color:#475569;line-height:1.5}.market-brief-chips{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.35rem}.market-brief-chip{font-size:.72rem;font-weight:700;padding:.15rem .5rem;border-radius:999px}.market-brief-chip-strong{background:#dcfce7;color:#166534}.market-brief-tips{margin:.5rem 0}.market-brief-tips-title{font-size:.88rem;font-weight:800;color:#0f172a;margin-bottom:.3rem}.market-brief-tips-list{margin:0;padding-left:1.2rem}.market-brief-tips-item{font-size:.82rem;color:#475569;line-height:1.6}.market-brief-footer{margin-top:.6rem}.market-brief-refresh{font-size:.82rem;font-weight:600;color:#0284c7;background:#eff6ff;border:1px solid #bfdbfe;padding:.25rem .7rem;border-radius:.5rem;cursor:pointer}.market-brief-refresh:hover{background:#dbeafe}.sector-card{margin-top:.6rem}.sector-summary{cursor:pointer;outline:none}.sector-summary h3{display:inline;font-size:1.1rem}.sector-subtitle{font-size:.8rem;color:#64748b;margin-left:.5rem}.sector-actions{margin:.4rem 0}.sector-refresh-btn{font-size:.82rem;font-weight:600;color:#0284c7;background:#eff6ff;border:1px solid #bfdbfe;padding:.25rem .7rem;border-radius:.5rem;cursor:pointer}.sector-refresh-btn:hover{background:#dbeafe}.sector-error{font-size:.85rem;color:#dc2626;margin:.3rem 0}.sector-empty{font-size:.9rem;color:#64748b;padding:.5rem 0}.sector-flow-summary{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;padding:.5rem .7rem;margin:.4rem 0}.sector-flow-summary-title{font-size:.88rem;font-weight:800;color:#0f172a;margin-bottom:.3rem}.sector-flow-summary-row{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.3rem}.sector-flow-summary-chip{font-size:.78rem;font-weight:700;color:#475569;background:#f1f5f9;padding:.15rem .5rem;border-radius:999px}.sector-flow-summary-top{font-size:.82rem;color:#475569;line-height:1.4}.sector-flow-summary-top strong{color:#0f172a}.sector-flow-group{margin:.6rem 0}.sector-flow-group-title{font-size:.9rem;font-weight:800;color:#0f172a;padding:.25rem 0;margin-bottom:.3rem;border-bottom:2px solid #e2e8f0}.sector-flow-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:.4rem}.sector-flow-card{background:#fff;border:1px solid #e2e8f0;border-radius:.6rem;padding:.5rem .6rem;border-left:4px solid #e2e8f0}.sector-flow-strong{border-left-color:#16a34a;background:#f0fdf4}.sector-flow-in{border-left-color:#2563eb;background:#eff6ff}.sector-flow-neutral{border-left-color:#94a3b8;background:#f8fafc}.sector-flow-out{border-left-color:#ea580c;background:#fff7ed}.sector-flow-weak{border-left-color:#dc2626;background:#fef2f2;opacity:.8}.sector-flow-top{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.sector-flow-name{font-size:.88rem;font-weight:800;color:#0f172a}.sector-flow-ticker{font-size:.7rem;color:#94a3b8;font-weight:600}.sector-flow-badge{font-size:.62rem;font-weight:700;padding:.1rem .4rem;border-radius:.3rem;margin-left:auto}.sector-flow-badge.sector-flow-strong{background:#dcfce7;color:#166534}.sector-flow-badge.sector-flow-in{background:#dbeafe;color:#1e40af}.sector-flow-badge.sector-flow-neutral{background:#f1f5f9;color:#475569}.sector-flow-badge.sector-flow-out{background:#ffedd5;color:#c2410c}.sector-flow-badge.sector-flow-weak{background:#fee2e2;color:#991b1b}.sector-flow-status{font-size:.78rem;font-weight:700;color:#334155;margin:.25rem 0}.sector-flow-body{display:flex;gap:.5rem;font-size:.68rem;color:#64748b;margin:.2rem 0;flex-wrap:wrap}.sector-flow-tags{display:flex;flex-wrap:wrap;gap:.2rem;margin:.25rem 0}.sector-flow-tag{display:inline-block;font-size:.62rem;font-weight:700;padding:.1rem .35rem;border-radius:999px;background:#e0f2fe;color:#0369a1;border:1px solid #bae6fd}.sector-flow-explain{font-size:.7rem;color:#64748b;line-height:1.4;margin-top:.2rem}.sector-failed{font-size:.75rem;color:#94a3b8;margin:.3rem 0}.sector-disclaimer{font-size:.75rem;color:#94a3b8;line-height:1.4;margin-top:.4rem;padding:.3rem .5rem;background:#fafafa;border-radius:.3rem;border-left:2px solid #e2e8f0}.mr-card{margin:.5rem 0}.mr-summary{cursor:pointer;outline:none;margin-bottom:.4rem}.mr-summary h3{display:inline;font-size:1.1rem}.mr-score-line{display:flex;align-items:baseline;gap:.3rem;margin-top:.3rem}.mr-score-num{font-size:1.6rem;font-weight:900;color:#0f172a}.mr-score-of{font-size:.8rem;color:#94a3b8}.mr-label{font-size:.9rem;font-weight:800;padding:.15rem .55rem;border-radius:.4rem;margin-left:.5rem}.mr-risk{font-size:.82rem;color:#64748b;font-weight:600;margin-left:auto}.mr-commentary{margin:.4rem 0;font-size:.9rem;color:#334155;font-weight:600;line-height:1.5}.mr-etf-row{display:flex;gap:.4rem;flex-wrap:wrap}.mr-etf-item{flex:1;min-width:5rem;text-align:center;padding:.35rem .4rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem}.mr-etf-sym{font-size:.75rem;font-weight:700;color:#0f172a}.mr-etf-score{font-size:1rem;font-weight:800;color:#0f172a;margin:0 .2rem}.mr-etf-label{font-size:.65rem;color:#64748b}.cache-badge{font-size:.7rem;font-weight:600;color:#64748b;background:#f1f5f9;padding:.15rem .5rem;border-radius:999px}.cache-time{color:#94a3b8;margin-left:.2rem}.refresh-btn{font-size:.82rem;font-weight:600;color:#0284c7;background:#eff6ff;border:1px solid #bfdbfe;padding:.25rem .7rem;border-radius:.5rem;cursor:pointer}.refresh-btn:hover{background:#dbeafe}.plan-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin:.9rem 0}.plan-block{line-height:1.75}.plan-block h4{font-size:1rem}.plan-block p{font-size:1.15rem}.plan-block ul{margin:0;padding-left:1.4rem}.plan-block li{font-size:1.1rem;margin-bottom:.4rem;line-height:1.7;color:#334155}.headline-block p{font-size:1.3rem;font-weight:800;color:#0f172a}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}table{border-collapse:collapse;min-width:1080px;width:100%}thead th{background:#f1f5f9}th,td{border-bottom:1px solid #e2e8f0;padding:.95rem .8rem;text-align:left}th{color:#475569;font-size:.82rem;letter-spacing:.05em;text-transform:uppercase;font-weight:750}td{color:#1e293b;font-size:1.05rem}.ticker-cell{color:#0284c7;font-weight:900;font-size:1.15rem}.score-cell{font-weight:850;font-size:1.2rem;color:#0f172a}.price-cell{font-weight:800}tr:hover td{background:#e0f2fe}.error-row td{color:#991b1b;font-weight:700}.tech-card{padding-bottom:1rem}.tech-card-fallback{background:#fefce8;color:#92400e;font-size:.9rem;padding:.8rem 1.2rem}.tech-card-loading{color:#64748b;font-size:.9rem;padding:.8rem 1.2rem}.tech-source-pill{display:inline-block;font-size:.7rem;font-weight:700;padding:.15rem .5rem;border-radius:999px;background:#d1fae5;color:#065f46}.tech-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.tech-metric{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.6rem;padding:.5rem .6rem;display:flex;flex-direction:column;align-items:center;gap:.15rem}.tech-label{font-size:.62rem;color:#64748b;font-weight:600;text-transform:uppercase}.tech-value{font-size:1.2rem;font-weight:800;color:#0f172a}.tech-hint{font-size:.6rem;color:#94a3b8}.tech-pill{font-size:.6rem;font-weight:700;padding:.1rem .4rem;border-radius:999px}.tech-bullish{background:#dcfce7;color:#166534}.tech-bearish{background:#fef2f2;color:#991b1b}.tech-neutral{background:#f1f5f9;color:#475569}.tech-rsi-hot{background:#fef2f2;color:#991b1b}.tech-rsi-cold{background:#dbeafe;color:#1e40af}.tech-rsi-ok{background:#f0fdf4;color:#166534}.tech-macd-up{background:#dcfce7;color:#166534}.tech-macd-down{background:#fef2f2;color:#991b1b}.obb-quote-banner{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;padding:.6rem 1.2rem;border-radius:.7rem;font-size:.95rem;font-weight:700;margin:.5rem 0 0}.obb-quote-ok{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}.obb-quote-fallback{background:#fefce8;border:1px solid #fde68a;color:#92400e}.obb-quote-loading{background:#f1f5f9;border:1px solid #e2e8f0;color:#64748b}.obb-quote-label{font-size:.75rem;color:#64748b;display:none}.obb-quote-price{font-size:1.4rem;font-weight:800;color:#0f172a}.obb-quote-change{font-size:1rem;font-weight:700}.obb-up{color:#16a34a}.obb-down{color:#dc2626}.obb-quote-vol{font-size:.8rem;color:#64748b}.obb-quote-date{font-size:.75rem;color:#94a3b8;margin-left:auto}.obb-card{margin:1.2rem 0}.obb-status{display:flex;align-items:flex-start;gap:.8rem;border-radius:.9rem;padding:.9rem 1.1rem;margin-bottom:.9rem}.obb-status-icon{font-size:1.5rem;line-height:1.3;flex-shrink:0}.obb-status-text{display:block;font-size:1.2rem;font-weight:800}.obb-status-detail{display:block;font-size:1rem;margin-top:.2rem;font-weight:600}.obb-status-ok{background:#f0fdf4;border:2px solid #86efac}.obb-status-ok .obb-status-icon{color:#16a34a}.obb-status-ok .obb-status-text{color:#166534}.obb-status-ok .obb-status-detail{color:#15803d}.obb-status-warn{background:#fefce8;border:2px solid #fde68a}.obb-status-warn .obb-status-icon{color:#ca8a04}.obb-status-warn .obb-status-text{color:#92400e}.obb-status-warn .obb-status-detail{color:#a16207}.obb-status-no-data{background:#f8fafc;border:2px solid #e2e8f0}.obb-status-no-data .obb-status-icon{color:#94a3b8}.obb-status-no-data .obb-status-text{color:#475569}.obb-toggle{display:block;width:100%;background:#f1f5f9;color:#334155;border:1px solid #e2e8f0;border-radius:.8rem;font-size:1.15rem;font-weight:700;padding:.8rem;margin:0 0 .6rem;cursor:pointer;box-shadow:none;transition:background .14s ease}.obb-toggle:hover{background:#e2e8f0;transform:none;box-shadow:none}.obb-detail{border-top:1px solid #e2e8f0;padding-top:.9rem}.openbb-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.obb-compare{margin-top:1rem}.obb-compare h4{color:#0f172a;font-size:1.15rem;margin:0 0 .6rem}.compare-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.compare-grid div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.6rem;padding:.6rem}.compare-grid dt{font-size:.75rem;color:#64748b}.compare-grid dd{font-size:1.05rem;color:#0f172a}.compare-ok{color:#16a34a!important;font-weight:800}.compare-warn{color:#dc2626!important;font-weight:800}.right-col{display:flex;flex-direction:column;gap:1.2rem}.events-card h3,.news-card h3{font-size:1.4rem;font-weight:800}.events-list,.news-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.events-item{display:flex;align-items:baseline;gap:.7rem;padding:.65rem .9rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.7rem;line-height:1.5}.events-date{color:#0284c7;font-weight:800;font-size:1rem;font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}.events-label{color:#0f172a;font-size:1.1rem;font-weight:700}.events-source,.news-source{margin:.8rem 0 0;font-size:.8rem;color:#94a3b8}.events-fallback p{margin:.3rem 0}.events-warn{background:#fefce8;border:1px solid #fde68a;border-radius:.7rem;color:#92400e;font-weight:700;padding:.7rem .9rem;font-size:1.05rem}.events-conf-badge{font-size:.8rem;font-weight:800;border-radius:.5rem;padding:.1rem .45rem;white-space:nowrap;flex-shrink:0;margin-left:auto}.events-conf-ok{background:#dcfce7;color:#166534;border:1px solid #86efac}.events-conf-est{background:#fefce8;color:#92400e;border:1px solid #fde68a}.events-conf-unk{background:#f8fafc;color:#475569;border:1px solid #e2e8f0}.news-item{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem;padding:.65rem .9rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.7rem;line-height:1.5;flex-wrap:wrap}.news-text{color:#0f172a;font-size:1.1rem;font-weight:700;flex:1}.news-tag{color:#0284c7;font-size:.85rem;font-weight:800;background:#e0f2fe;border-radius:.5rem;padding:.15rem .5rem;white-space:nowrap;flex-shrink:0}.news-symbol-badge{display:inline-block;font-size:.85rem;font-weight:800;color:#0284c7;background:#e0f2fe;border-radius:.5rem;padding:.15rem .6rem;margin-left:.6rem;vertical-align:middle}.news-list-v2{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.8rem}.news-item-v2{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.9rem;padding:.85rem 1rem;display:flex;flex-direction:column;gap:.45rem}.news-title-row{display:flex;align-items:flex-start;gap:.5rem;flex-wrap:wrap}.news-title-text{color:#0f172a;font-size:1.15rem;font-weight:700;line-height:1.45;flex:1;word-break:break-word}.news-sent-badge{display:inline-block;font-size:.8rem;font-weight:800;border-radius:.45rem;padding:.15rem .55rem;white-space:nowrap;flex-shrink:0}.sent-pos{background:#dcfce7;color:#166534;border:1px solid #86efac}.sent-neg{background:#fef2f2;color:#991b1b;border:1px solid #fca5a5}.sent-neu{background:#f1f5f9;color:#475569;border:1px solid #e2e8f0}.news-meta-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.news-source-label{font-size:.82rem;font-weight:700;color:#64748b}.news-date{font-size:.8rem;color:#94a3b8}.news-summary{margin:0;font-size:.95rem;color:#475569;line-height:1.55;word-break:break-word}.news-tags-row{display:flex;gap:.35rem;flex-wrap:wrap}.news-tag-v2{display:inline-block;font-size:.75rem;font-weight:700;background:#f0f4fa;color:#475569;border:1px solid #e2e8f0;border-radius:.4rem;padding:.1rem .5rem}.news-ext-link{font-size:.9rem;font-weight:700;color:#0284c7;text-decoration:none;align-self:flex-start}.news-ext-link:hover{text-decoration:underline}.retry-link{background:none;border:none;color:#0284c7;font-size:1rem;font-weight:700;cursor:pointer;padding:0;text-decoration:underline}.refresh-btn-sm{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;padding:.2rem .5rem;font-size:1.1rem;cursor:pointer;line-height:1}.refresh-btn-sm:hover{background:#e0f2fe;border-color:#7dd3fc}.refresh-btn-sm:disabled{opacity:.5;cursor:not-allowed}.news-fallback{padding:1rem .8rem;text-align:center}.news-fallback .muted{font-size:1rem;color:#64748b;line-height:1.6;margin:.3rem 0}.fund-card h3{font-size:1.4rem}.fund-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.fund-block{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.7rem;padding:.65rem .85rem}.fund-block dt{font-size:.75rem;color:#64748b;margin-bottom:.15rem}.fund-block dd{font-size:1.1rem;font-weight:700;color:#0f172a;margin:0 0 .4rem}.fund-block dd:last-child{margin-bottom:0}.fund-block.fund-company{grid-column:1 / -1}.fund-rating{font-weight:800}.rating-sb{color:#16a34a}.rating-buy{color:#15803d}.rating-hold{color:#ca8a04}.rating-sell{color:#dc2626}.fund-warn{background:#fefce8;border:1px solid #fde68a;border-radius:.7rem;color:#92400e;font-weight:700;padding:.7rem .9rem;font-size:1.05rem}.fund-source{margin:.8rem 0 0;font-size:.8rem;color:#94a3b8}.interp-block{margin-top:1rem;border-radius:.9rem;padding:.8rem 1rem;border:2px solid transparent}.interp-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem}.interp-label{font-size:1.05rem;font-weight:800;color:#0f172a}.interp-badge{display:inline-block;font-size:.95rem;font-weight:800;padding:.2rem .65rem;border-radius:.6rem}.interp-text{margin:0;font-size:1rem;line-height:1.7;color:#334155;font-weight:600}.interp-strong{background:#f0fdf4;border-color:#86efac}.interp-strong .interp-badge{background:#16a34a;color:#fff}.interp-ok{background:#e0f2fe;border-color:#7dd3fc}.interp-ok .interp-badge{background:#0284c7;color:#fff}.interp-growth{background:#fefce8;border-color:#fde68a}.interp-growth .interp-badge{background:#ca8a04;color:#fff}.interp-neutral{background:#f8fafc;border-color:#e2e8f0}.interp-neutral .interp-badge{background:#64748b;color:#fff}.interp-caution{background:#fef2f2;border-color:#fca5a5}.interp-caution .interp-badge{background:#dc2626;color:#fff}.tw-margin-card h3{font-size:1.4rem}.margin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.margin-grid div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.6rem;padding:.55rem .75rem}.margin-grid dt{font-size:.72rem;color:#64748b;margin-bottom:.1rem}.margin-grid dd{font-size:1.05rem;font-weight:700;color:#0f172a;margin:0;font-variant-numeric:tabular-nums}.margin-buy{color:#dc2626}.margin-sell{color:#16a34a}.margin-net-buy{color:#dc2626}.margin-net-sell{color:#16a34a}.margin-warn{background:#fefce8;border:1px solid #fde68a;border-radius:.7rem;color:#92400e;font-weight:700;padding:.7rem .9rem;font-size:1.05rem}.margin-source{margin:.8rem 0 0;font-size:.8rem;color:#94a3b8}.tw-insti-card h3{font-size:1.4rem}.institutional-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}.institutional-grid div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.6rem;padding:.5rem .6rem;text-align:center}.institutional-grid dt{font-size:.7rem;color:#64748b;margin-bottom:.1rem}.institutional-grid dd{font-size:1rem;font-weight:800;margin:0;font-variant-numeric:tabular-nums}.institutional-total{background:#f1f5f9;border-color:#cbd5e1}.flow-buy{color:#dc2626}.flow-sell{color:#16a34a}.institutional-warn{background:#fefce8;border:1px solid #fde68a;border-radius:.7rem;color:#92400e;font-weight:700;padding:.7rem .9rem;font-size:1.05rem}.institutional-source{margin:.8rem 0 0;font-size:.8rem;color:#94a3b8}.tw-rev-card h3{font-size:1.4rem}.revenue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.revenue-grid div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.6rem;padding:.5rem .65rem;text-align:center}.revenue-grid dt{font-size:.7rem;color:#64748b;margin-bottom:.1rem}.revenue-grid dd{font-size:1.05rem;font-weight:800;margin:0;font-variant-numeric:tabular-nums;color:#0f172a}.rev-positive{color:#dc2626}.rev-negative{color:#16a34a}.revenue-warn{background:#fefce8;border:1px solid #fde68a;border-radius:.7rem;color:#92400e;font-weight:700;padding:.7rem .9rem;font-size:1.05rem}.revenue-interp{margin-top:.8rem;background:#e0f2fe;border:1px solid #7dd3fc;border-radius:.7rem;padding:.6rem .85rem;font-size:1rem;font-weight:600;color:#075985;display:flex;flex-direction:column;gap:.2rem}.rev-interp-label{font-weight:800}.rev-interp-text{font-weight:600;color:#334155}.revenue-source{margin:.6rem 0 0;font-size:.8rem;color:#94a3b8}.tw-overview-card h3{font-size:1.4rem}.overview-badge{display:inline-block;font-size:1.1rem;font-weight:800;border-radius:.6rem;padding:.35rem .8rem;margin-bottom:.6rem}.overview-strong{background:#f0fdf4;color:#166534;border:2px solid #86efac}.overview-ok{background:#e0f2fe;color:#075985;border:2px solid #7dd3fc}.overview-neutral{background:#f8fafc;color:#475569;border:2px solid #e2e8f0}.overview-caution{background:#fef2f2;color:#991b1b;border:2px solid #fca5a5}.overview-points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.overview-points li{font-size:1rem;font-weight:600;color:#334155;line-height:1.6;padding-left:1.2em;text-indent:-1.2em}.overview-points li:before{content:"• ";color:#0284c7;font-weight:800}.overview-source{margin:.8rem 0 0;font-size:.8rem;color:#94a3b8}.accordion-card{padding:0;overflow:hidden}.accordion-header{display:flex;align-items:center;justify-content:space-between;width:100%;background:#fff;border:none;border-radius:1.25rem;padding:1.2rem 1.5rem;cursor:pointer;font-size:1.3rem;font-weight:800;color:#0f172a;box-shadow:none;margin:0;transition:background .14s ease}.accordion-header:hover{background:#f8fafc;transform:none;box-shadow:none}.accordion-toggle{font-size:1.1rem;color:#0284c7;flex-shrink:0;margin-left:.8rem}.accordion-body{padding:0 1.5rem 1.2rem}.accordion-body>.card{box-shadow:none;border:none;padding:0;margin:0;border-radius:0}.wl-yoy-up{color:#dc2626;font-weight:800}.wl-yoy-down{color:#16a34a;font-weight:800}.wl-flow-buy{color:#dc2626;font-weight:800}.wl-flow-sell{color:#16a34a;font-weight:800}.wl-badge{display:inline-block;font-size:.82rem;font-weight:800;border-radius:.4rem;padding:.1rem .4rem}.wl-偏強{background:#dcfce7;color:#166534}.wl-觀察{background:#fefce8;color:#92400e}.wl-留意{background:#fef2f2;color:#991b1b}.wl-中性{background:#f1f5f9;color:#475569}.wl-資料不足{background:#f8fafc;color:#94a3b8}.ema-card h3{font-size:1.4rem}.ema-badge{display:inline-block;font-size:.95rem;font-weight:800;border-radius:.5rem;padding:.2rem .6rem}.ema-bullish{background:#dcfce7;color:#166534;border:1px solid #86efac}.ema-bearish{background:#fef2f2;color:#991b1b;border:1px solid #fca5a5}.ema-mixed{background:#f8fafc;color:#475569;border:1px solid #e2e8f0}.ema-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.4rem;margin-bottom:.6rem}.ema-grid div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;padding:.35rem .4rem;text-align:center}.ema-grid dt{font-size:.65rem;color:#64748b}.ema-grid dd{font-size:.95rem;font-weight:800;color:#0f172a;margin:0}.ema-dist-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;margin-bottom:.6rem}.ema-dist-grid div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;padding:.4rem;text-align:center}.ema-dist-grid dt{font-size:.65rem;color:#64748b}.ema-dist-grid dd{font-size:1rem;font-weight:800;margin:0;color:#0f172a}.ema-near{color:#16a34a}.ema-warm{color:#ca8a04}.ema-hot{color:#dc2626}.ema-comment{margin:0;font-size:.95rem;font-weight:600;color:#334155;line-height:1.6;background:#f0f4fa;border-radius:.5rem;padding:.5rem .7rem}.empty-state h3{margin-bottom:.5rem}.ticker-autocomplete{position:relative;width:100%}.ticker-autocomplete-input{width:100%;border:2px solid #cbd5e1;border-radius:1rem;background:#fff;color:#0f172a;outline:none;font-size:1.25rem;padding:1.1rem 1.2rem;box-sizing:border-box}.ticker-autocomplete-input::placeholder{color:#94a3b8}.ticker-autocomplete-input:focus{border-color:#0284c7;box-shadow:0 0 0 4px #0284c726}.ticker-autocomplete-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:999;background:#fff;border:2px solid #0284c7;border-radius:1rem;box-shadow:0 12px 48px #0f172a1f;list-style:none;margin:0;padding:.5rem 0;max-height:360px;overflow-y:auto}.ticker-autocomplete-item{display:flex;align-items:center;gap:.6rem;padding:.85rem 1.2rem;cursor:pointer;transition:background .12s ease;border-bottom:1px solid #f1f5f9}.ticker-autocomplete-item:last-child{border-bottom:none}.ticker-autocomplete-item:hover,.ticker-autocomplete-item.active{background:#e0f2fe}.ticker-autocomplete-symbol{font-weight:800;font-size:1.15rem;color:#0f172a;white-space:nowrap;min-width:0;flex-shrink:0}.ticker-autocomplete-name{font-size:.95rem;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.ticker-autocomplete-meta{font-size:.72rem;font-weight:700;color:#0284c7;background:#e0f2fe;border:1px solid #bae6fd;border-radius:.4rem;padding:.15rem .45rem;white-space:nowrap;flex-shrink:0}.ticker-autocomplete-empty,.ticker-autocomplete-loading{padding:1rem 1.2rem;font-size:1.05rem;color:#64748b;font-weight:600;text-align:center}.ticker-autocomplete-loading{color:#0284c7}.ticker-quick-add{margin-bottom:.8rem}.ticker-quick-add-title{display:block;color:#334155;font-size:1rem;font-weight:800;margin-bottom:.4rem}.ticker-quick-add-hint{font-size:.85rem;color:#94a3b8;font-weight:600;margin-left:.3rem}.ticker-chip-list{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.6rem}.ticker-chip{display:inline-block;background:#e0f2fe;border:1px solid #bae6fd;border-radius:.5rem;padding:.25rem .6rem;color:#0284c7;font-weight:700;font-size:.9rem;white-space:nowrap}.ticker-limit-warning{font-size:.85rem;color:#94a3b8;font-weight:600;margin-bottom:.4rem;text-align:right}.theme-watchlists{margin:.8rem 0 1rem;border:1px solid #e2e8f0;border-radius:1rem;background:#f8fafc;overflow:hidden}.theme-watchlists[open]{background:#fff;border-color:#cbd5e1}.theme-watchlists-header{display:flex;align-items:center;gap:.8rem;padding:.8rem 1.1rem;cursor:pointer;font-size:1.05rem;font-weight:800;color:#334155;-webkit-user-select:none;user-select:none;list-style:none}.theme-watchlists-header::-webkit-details-marker{display:none}.theme-watchlists-header:before{content:"▶";display:inline-block;font-size:.7rem;transition:transform .18s ease;color:#64748b}.theme-watchlists[open] .theme-watchlists-header:before{transform:rotate(90deg)}.theme-watchlists-hint{font-size:.8rem;font-weight:500;color:#94a3b8;margin-left:auto}.theme-watchlists-feedback{margin:0 1.1rem .6rem;padding:.5rem .8rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:.5rem;font-size:.9rem;font-weight:600;color:#166534}.theme-watchlist-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.8rem;padding:0 1rem 1rem}.theme-watchlist-card{background:#fff;border:1px solid #e2e8f0;border-radius:.9rem;padding:.9rem;transition:border-color .14s ease}.theme-watchlist-card:hover{border-color:#0284c7}.theme-watchlist-title{font-size:1.05rem;font-weight:800;color:#0f172a;margin-bottom:.25rem}.theme-watchlist-desc{font-size:.85rem;color:#64748b;line-height:1.45;margin-bottom:.5rem}.theme-watchlist-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.5rem}.theme-watchlist-tag{font-size:.7rem;font-weight:700;color:#0284c7;background:#e0f2fe;border:1px solid #bae6fd;border-radius:.35rem;padding:.15rem .4rem}.theme-watchlist-tickers{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.6rem}.theme-watchlist-ticker{font-size:.78rem;font-weight:700;color:#475569;background:#f1f5f9;border-radius:.35rem;padding:.15rem .4rem;font-family:ui-monospace,monospace}.theme-watchlist-actions{display:flex;justify-content:flex-end}.theme-watchlist-apply-btn{font-size:.85rem;font-weight:700;background:#0284c7;color:#fff;border:none;border-radius:.5rem;padding:.4rem .8rem;cursor:pointer;transition:background .14s ease}.theme-watchlist-apply-btn:hover:not(:disabled){background:#0369a1}.theme-watchlist-apply-btn:disabled{opacity:.4;cursor:not-allowed}.theme-flow-context{margin-bottom:.5rem;padding:.3rem .5rem;border-radius:.5rem;font-size:.82rem;line-height:1.4}.theme-flow-main{font-weight:700;color:#334155;margin-bottom:.1rem}.theme-flow-status{font-weight:600}.theme-flow-strong{background:#ecfdf5;border:1px solid #a7f3d0}.theme-flow-strong .theme-flow-status{color:#065f46}.theme-flow-inflow{background:#f0fdf4;border:1px solid #bbf7d0}.theme-flow-inflow .theme-flow-status{color:#166534}.theme-flow-neutral{background:#f8fafc;border:1px solid #e2e8f0}.theme-flow-neutral .theme-flow-status{color:#64748b}.theme-flow-outflow{background:#fef2f2;border:1px solid #fecaca}.theme-flow-outflow .theme-flow-status{color:#991b1b}.theme-flow-unknown{background:#f8fafc;border:1px dashed #e2e8f0}.theme-flow-unknown .theme-flow-status{color:#94a3b8}.theme-flow-loading{margin:0 1rem .6rem;padding:.4rem .8rem;font-size:.85rem;font-weight:600;color:#0284c7;text-align:center}.theme-flow-error{margin:0 1rem .6rem;padding:.4rem .8rem;font-size:.82rem;font-weight:500;color:#94a3b8;text-align:center;background:#f8fafc;border-radius:.5rem}.theme-market-filter{display:flex;align-items:center;gap:.3rem;margin:0 1rem .6rem;padding:.3rem 0}.theme-market-button{padding:.25rem .6rem;font-size:.75rem;font-weight:600;border:1px solid #e2e8f0;border-radius:.4rem;background:#fff;color:#64748b;cursor:pointer;transition:all .15s}.theme-market-button:hover{border-color:#94a3b8;color:#334155}.theme-market-active{background:#0ea5e9;color:#fff;border-color:#0ea5e9}.theme-market-active:hover{background:#0284c7;color:#fff}.theme-market-count{margin-left:auto;font-size:.72rem;color:#94a3b8}.theme-market-badge{display:inline-block;margin-left:.4rem;padding:.1rem .4rem;font-size:.62rem;font-weight:600;border-radius:.25rem;vertical-align:middle}.theme-market-us{background:#dbeafe;color:#1e40af}.theme-market-tw{background:#fef3c7;color:#92400e}.theme-tw-note{margin:0 1rem .6rem;padding:.35rem .7rem;font-size:.75rem;color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:.4rem}.theme-scan-summary{margin:.8rem 0 .5rem;padding:1rem 1.1rem;background:#f0f9ff;border:1px solid #bae6fd;border-radius:1rem}.theme-scan-title{font-size:1.1rem;font-weight:800;color:#075985;margin-bottom:.3rem}.theme-scan-meta{font-size:.95rem;font-weight:700;color:#334155;margin-bottom:.5rem}.theme-scan-mixed{font-size:.8rem;font-weight:500;color:#94a3b8}.theme-scan-flow{font-size:.85rem;color:#475569;line-height:1.5;margin-bottom:.6rem;padding:.4rem .6rem;background:#fff;border-radius:.5rem;border:1px solid #e2e8f0}.theme-scan-flow-line{font-size:.82rem;color:#475569;line-height:1.5}.theme-scan-leaders{margin-bottom:.6rem}.theme-scan-leaders-label{font-size:.9rem;font-weight:800;color:#0f172a;display:block;margin-bottom:.3rem}.theme-scan-leader{display:flex;align-items:baseline;gap:.5rem;padding:.3rem .5rem;border-radius:.4rem;background:#fff;border:1px solid #e2e8f0;margin-bottom:.25rem}.theme-scan-leader-symbol{font-weight:800;font-size:.95rem;color:#0284c7;min-width:60px}.theme-scan-leader-desc{font-size:.82rem;color:#64748b;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.theme-scan-leader-score{font-weight:700;font-size:.9rem;color:#0f172a;white-space:nowrap}.theme-scan-tip{font-size:.88rem;color:#475569;line-height:1.55;padding:.5rem .6rem;background:#fff;border-radius:.5rem;border:1px solid #e2e8f0;font-weight:600}.watchlist-result-overview{margin-bottom:.6rem}.watchlist-result-counts{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.3rem}.watchlist-result-count{font-size:.85rem;font-weight:700;padding:.25rem .6rem;border-radius:.4rem}.count-priority{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.count-watch{background:#f0f9ff;color:#075985;border:1px solid #bae6fd}.count-low{background:#f8fafc;color:#94a3b8;border:1px solid #e2e8f0}.watchlist-result-group{margin-bottom:.6rem;border-radius:.8rem;overflow:hidden}.watchlist-result-group-title{font-size:1rem;font-weight:800;padding:.5rem .8rem}.watchlist-result-group-desc{font-size:.82rem;font-weight:600;padding:0 .8rem .4rem;line-height:1.4}.watchlist-result-group-priority{border:1px solid #a7f3d0;background:#f0fdf4}.watchlist-result-group-priority .watchlist-result-group-title{color:#065f46}.watchlist-result-group-priority .watchlist-result-group-desc{color:#166534}.watchlist-result-group-watch{border:1px solid #bae6fd;background:#f0f9ff}.watchlist-result-group-watch .watchlist-result-group-title{color:#075985}.watchlist-result-group-watch .watchlist-result-group-desc{color:#0369a1}.watchlist-result-group-low{border:1px solid #e2e8f0;background:#f8fafc;opacity:.85}.watchlist-result-group-low .watchlist-result-group-title,.watchlist-result-group-low .watchlist-result-group-desc{color:#94a3b8}@media (max-width: 860px){body{font-size:18px}.app-shell{width:min(100% - 1rem,1240px);padding-top:1rem}.hero{padding:1.4rem 1.2rem}.hero h1{font-size:clamp(2.2rem,8vw,3.2rem)}.dashboard-grid,.metric-grid,.plan-grid,.search-grid{grid-template-columns:1fr}button{width:100%}.card h2{font-size:1.6rem}.card h3{font-size:1.4rem}.ticker-heading{font-size:1.8rem!important}.huge-score{font-size:1.25rem!important}.summary-line{font-size:1.2rem}}.levels-list dd{display:flex;flex-direction:column;gap:.15rem;font-size:1.3rem;font-weight:800;color:#0f172a}.level-source{font-size:.72rem;font-weight:500;color:#64748b;line-height:1.35}@media (max-width: 900px){.tw-score-line{flex-wrap:wrap;gap:.3rem}.tw-result-metrics{flex-wrap:wrap;gap:.2rem;font-size:.8rem}.tw-buy-metrics{flex-wrap:wrap;gap:.2rem;font-size:.75rem;word-break:break-all}.mr-etf-row{flex-wrap:wrap;gap:.4rem}.saved-wl-row{flex-wrap:wrap;gap:.5rem}.saved-wl-actions,.tp-source-bar{flex-wrap:wrap;gap:.3rem}.tp-obs-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){body{font-size:16px}.tw-dash-grid{grid-template-columns:1fr}.tw-dash-overview-row{flex-direction:column;align-items:flex-start}.tw-dash-price{font-size:1.6rem}.tw-dash-metric-row{flex-wrap:wrap}.tw-dash-form{flex-direction:column;gap:.5rem}.tw-dash-form .tw-dash-input,.tw-dash-form .tw-dash-button{width:100%}.wl-scanner-form{flex-direction:column}.wl-scanner-input{font-size:.9rem;padding:.5rem}.wl-scanner-btn{padding:.5rem 1rem;font-size:.9rem}.tw-signal-grid,.tw-picks-grid{grid-template-columns:1fr}.tw-result-controls{flex-direction:column;gap:.4rem}.tw-result-card{padding:.6rem}.sector-flow-grid,.market-brief-grid,.tp-panel-grid{grid-template-columns:1fr}.tp-score-banner{flex-direction:column;align-items:flex-start}.tw-summary-grid,.tech-summary-grid,.ema-grid{grid-template-columns:1fr}.tw-score-tags,.tw-pick-tags,.tw-signal-tags,.tw-summary-tags,.tw-buy-tags,.tw-sr-tags{flex-wrap:wrap}table,.wl-results-list{overflow-x:auto;display:block}.news-item-v2{padding:.7rem .85rem}.news-title-text{font-size:1.05rem;line-height:1.4}.news-sent-badge{font-size:.75rem;padding:.12rem .45rem}.news-source-label{font-size:.78rem}.news-date{font-size:.75rem}.news-summary{font-size:.9rem}.news-tag-v2{font-size:.7rem}.news-ext-link{font-size:.95rem;padding:.4rem 0}.news-source{font-size:.85rem}.news-symbol-badge{font-size:.78rem}.mr-etf-row{flex-wrap:wrap;gap:.4rem}.mr-score-line{flex-wrap:wrap;gap:.3rem}.mr-commentary{font-size:.9rem}.saved-wl-row{flex-wrap:wrap;gap:.5rem}.saved-wl-actions{flex-wrap:wrap;gap:.3rem}.saved-wl-actions button{min-height:40px;font-size:.85rem}.tp-note-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){body{font-size:16px;padding:0 .3rem}.card{margin:.4rem .2rem;padding:.6rem}button,.tw-single-button,.tw-dash-button,.wl-scanner-btn,.wl-compare-btn,.refresh-btn{min-height:44px;min-width:44px;padding:.6rem 1rem;font-size:1rem;font-weight:700}input,.tw-single-input,.tw-dash-input,.wl-scanner-input{min-height:44px;font-size:1rem;padding:.5rem .7rem}select,.tw-sort-select{min-height:44px;font-size:1rem}.app-title{font-size:1.3rem}.app-subtitle{font-size:.85rem}.tw-dash-overview{padding:.7rem}.tw-dash-symbol{font-size:1.1rem}.tw-dash-name{font-size:1rem}.tw-dash-price{font-size:1.5rem}.tw-dash-verdict{font-size:.85rem;padding:.25rem .7rem}.tw-dash-panel{padding:.5rem}.tw-dash-panel-title,.tw-dash-metric-val{font-size:.85rem}.tw-dash-metric-label{min-width:2.8rem;font-size:.75rem}.tw-dash-metric-hint{font-size:.7rem}.wl-result-row{flex-wrap:wrap;gap:.2rem;padding:.4rem 0}.wl-result-symbol{font-size:.9rem}.wl-result-badge{font-size:.7rem}.wl-result-score{font-size:.9rem}.tw-result-symbol,.tw-result-name{font-size:.95rem}.tw-score-badge{font-size:.78rem}.tw-score-line{flex-wrap:wrap;gap:.25rem}.tw-result-metrics{flex-wrap:wrap;gap:.2rem;font-size:.78rem}.tw-metric-divider{padding:0 .15rem}.tw-picks-panel{margin:.5rem .3rem;padding:.5rem}.tw-pick-card{padding:.6rem}.tw-pick-symbol,.tw-pick-name{font-size:.9rem}.tw-sr-grid{grid-template-columns:1fr 1fr}.tw-sr-metric{gap:.1rem}.tw-sr-value{font-size:.82rem}.tw-sr-label{font-size:.68rem}.tw-signal-panel{margin:.4rem .2rem;padding:.5rem}.tw-signal-group{padding:.4rem}.tw-buy-card{padding:.5rem}.tw-signal-grid{grid-template-columns:1fr}.tw-buy-metrics{font-size:.72rem;flex-wrap:wrap;gap:.2rem;word-break:break-all}.theme-watchlist-grid{grid-template-columns:1fr}.search-form{flex-direction:column}.search-input{font-size:1rem}.tw-badge,.tw-pick-tag,.tw-buy-tag,.tw-score-tag,.tw-dash-tag-signal,.tw-dash-tag-warning{font-size:.7rem;padding:.15rem .5rem}.tw-dash-verdict-reason,.tw-dash-summary-comment,.tw-dash-tech-comment,.tw-dash-score-reason,.tw-dash-action,.tw-summary-comment{font-size:.85rem;line-height:1.5}.mr-grid{grid-template-columns:1fr 1fr}.mr-etf-row{flex-wrap:wrap;gap:.3rem}.mr-etf-item{font-size:.8rem;padding:.3rem .5rem}.mr-score-line{flex-wrap:wrap;gap:.3rem}.mr-score-num{font-size:1.5rem}.tw-result-controls,.tp-bar{flex-direction:column;align-items:stretch}.tw-control-group{flex-wrap:wrap}.tp-controls{margin-left:0;margin-top:.3rem}.tw-filter-tabs{flex-wrap:wrap}.tp-source-bar{flex-wrap:wrap;gap:.4rem}.tp-note-grid{grid-template-columns:1fr}.tp-note-item{padding:.5rem .7rem}.tp-note-label,.tp-note-desc{font-size:.72rem}.tp-action-item{flex-wrap:wrap}.cmp-table-wrap{overflow-x:auto}.cmp-table{min-width:600px}.cmp-form{flex-direction:column;gap:.5rem}.cmp-btn{min-height:44px}.saved-wl-row{flex-wrap:wrap;gap:.4rem}.saved-wl-actions{flex-wrap:wrap;gap:.3rem}.saved-wl-actions button{min-height:44px;min-width:44px;font-size:.85rem;padding:.5rem .8rem}.saved-wl-input,.saved-wl-textarea{font-size:1rem;min-height:44px}.saved-wl-name{font-size:.9rem}.saved-wl-tickers{font-size:.75rem}.news-card h3{font-size:1.2rem}.news-symbol-badge{font-size:.75rem;padding:.1rem .45rem;margin-left:.3rem}.news-list-v2{gap:.6rem}.news-item-v2{padding:.6rem .7rem;gap:.35rem}.news-title-row{gap:.35rem}.news-title-text{font-size:1rem;line-height:1.4}.news-sent-badge{font-size:.72rem;padding:.1rem .4rem}.news-meta-row{gap:.4rem}.news-source-label{font-size:.75rem}.news-date{font-size:.72rem}.news-summary{font-size:.88rem;line-height:1.5}.news-tags-row{gap:.25rem}.news-tag-v2{font-size:.68rem;padding:.08rem .4rem}.news-ext-link{font-size:1rem;padding:.45rem 0}.refresh-btn-sm{min-height:44px;min-width:44px;padding:.3rem .7rem;font-size:1.2rem}.news-source{font-size:.82rem}.news-fallback .muted{font-size:.95rem}.retry-link{font-size:1.05rem}.tech-card h3{font-size:1.1rem}.tech-grid{gap:.5rem}.tech-metric{padding:.4rem .6rem}.tech-label{font-size:.78rem}.tech-value{font-size:.9rem}}@media (max-width: 390px){.tw-dash-grid{gap:.5rem}.tw-dash-overview{padding:.5rem}.tw-dash-price{font-size:1.35rem}.tw-dash-symbol{font-size:1rem}.tw-sr-grid{grid-template-columns:1fr}.tw-summary-score-row{gap:.4rem}.tw-summary-score{min-width:4rem;padding:.4rem .5rem}.tw-summary-score-num{font-size:1.2rem}.tw-picks-grid{gap:.4rem}.tw-pick-card{padding:.5rem}.tw-buy-card{padding:.4rem}.tw-buy-symbol,.tw-buy-name{font-size:.9rem}.mr-grid,.tp-note-grid{grid-template-columns:1fr}.tp-obs-grid{grid-template-columns:1fr 1fr}.news-item-v2{padding:.5rem .6rem;gap:.3rem}.news-title-text{font-size:.95rem}.news-symbol-badge{font-size:.7rem;padding:.08rem .35rem}.news-ext-link{font-size:.95rem}.news-source{font-size:.78rem}}.home-guide-card{border:2px solid #e2e8f0;border-radius:1.25rem;background:#f8fafc;padding:1.6rem 1.8rem;margin:1.2rem 0}.home-guide-header{display:flex;align-items:center;gap:.8rem;margin-bottom:1rem}.home-guide-title{font-size:1.8rem;font-weight:850;color:#0f172a;margin:0;display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap}.home-guide-score{font-size:1.1rem;font-weight:700;color:#0284c7;background:#e0f2fe;padding:.2rem .7rem;border-radius:999px}.home-guide-advice{font-size:1.2rem;font-weight:700;line-height:1.7;padding:.9rem 1.2rem;background:#fff;border-radius:.9rem;border:1px solid #e2e8f0;margin-bottom:1.2rem}.home-guide-focus-grid{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.4rem}.home-guide-focus-item{display:flex;align-items:center;gap:.35rem;background:#fff;border:1px solid #e2e8f0;border-radius:2rem;padding:.45rem .9rem;font-size:.95rem;font-weight:600;color:#334155}.home-guide-focus-icon{font-size:1.1rem}.home-guide-steps-section{border-top:2px dashed #e2e8f0;padding-top:1.2rem}.home-guide-section-title{font-size:1.1rem;font-weight:800;color:#475569;margin:0 0 .8rem}.home-guide-step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}.home-guide-step-item{display:flex;align-items:flex-start;gap:.5rem;background:#fff;border:1px solid #e2e8f0;border-radius:.8rem;padding:.8rem}.home-guide-step-num{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#0284c7;color:#fff;font-size:.85rem;font-weight:800;flex-shrink:0}.home-guide-step-body{display:flex;flex-direction:column;gap:.15rem}.home-guide-step-icon{font-size:1rem}.home-guide-step-title{font-size:.95rem;font-weight:700;color:#0f172a}.home-guide-step-desc{font-size:.82rem;color:#64748b;line-height:1.4}@media (max-width: 768px){.home-guide-step-grid{grid-template-columns:1fr}.home-guide-card{padding:1.2rem 1rem}.home-guide-title{font-size:1.5rem}}@media (max-width: 480px){.home-guide-card{padding:.9rem .8rem;margin:.6rem .2rem}.home-guide-title{font-size:1.3rem}.home-guide-advice{font-size:1.05rem;padding:.7rem .9rem}.home-guide-focus-item{font-size:.85rem;padding:.35rem .7rem}.home-guide-step-item{padding:.6rem}.home-guide-step-title{font-size:.88rem}.home-guide-step-desc{font-size:.78rem}}@media (max-width: 390px){.home-guide-title{font-size:1.15rem}.home-guide-advice{font-size:.95rem}.home-guide-focus-item{font-size:.8rem}}.dashboard-shell{width:100%;min-height:100vh;background:#f4f7fb}.dash-header{display:flex;align-items:center;gap:1.2rem;padding:.9rem 2rem;background:#fff;border-bottom:2px solid #e2e8f0;position:sticky;top:0;z-index:100;flex-wrap:wrap}.dash-header-left{display:flex;align-items:center;gap:.8rem}.dash-avatar{width:44px;height:44px;border-radius:50%;background:#e0f2fe;border:2px solid #bae6fd;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.dash-header-titles{display:flex;flex-direction:column}.dash-header-title{font-size:1.3rem;font-weight:850;color:#075985;margin:0;line-height:1.2}.dash-header-subtitle{font-size:.78rem;color:#64748b;margin:0;font-weight:600}.dash-nav{display:flex;gap:.3rem;margin-left:auto;margin-right:1rem;flex-wrap:wrap}.dash-nav-item{background:transparent;border:none;border-radius:.5rem;color:#475569;cursor:pointer;font-size:.85rem;font-weight:700;padding:.45rem .75rem;box-shadow:none;transition:background .15s,color .15s}.dash-nav-item:hover{background:#f1f5f9;color:#0f172a}.dash-nav-active{background:#0284c7;color:#fff}.dash-nav-active:hover{background:#0369a1;color:#fff}.dash-header-status{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.dash-status-dot{width:10px;height:10px;border-radius:50%}.dash-status-online{background:#16a34a}.dash-status-offline{background:#dc2626}.dash-status-text{font-size:.78rem;font-weight:600;color:#64748b}.ticker-toolbar{display:flex;align-items:center;gap:1.2rem;padding:.9rem 2rem;background:#fff;border-bottom:1px solid #e2e8f0;flex-wrap:wrap}.ticker-toolbar-main,.ticker-toolbar-watchlist{display:flex;align-items:center;gap:.5rem}.ticker-toolbar-label{font-size:.85rem;font-weight:800;color:#334155;white-space:nowrap}.ticker-toolbar-input{width:140px;border:2px solid #cbd5e1;border-radius:.6rem;padding:.45rem .6rem;font-size:.9rem;font-weight:700;background:#fff}.ticker-toolbar-input--wl{width:180px}.ticker-toolbar-btn{border-radius:.6rem;padding:.45rem 1rem;font-size:.85rem;font-weight:800;background:#0284c7;color:#fff;border:none;cursor:pointer;box-shadow:0 2px 6px #0284c726;white-space:nowrap}.ticker-toolbar-btn--secondary{background:#475569;box-shadow:0 2px 6px #47556926}.ticker-toolbar-btn:hover{background:#0369a1}.ticker-toolbar-btn--secondary:hover{background:#334155}.ticker-toolbar-status{margin-left:auto;flex-shrink:0}.ticker-toolbar-status-text{font-size:.78rem;color:#94a3b8;font-weight:600}.dash-main-grid{display:grid;grid-template-columns:1fr 380px;gap:1.2rem;padding:1.2rem 2rem;max-width:1440px;margin:0 auto}.dash-left-col,.dash-right-col{display:flex;flex-direction:column;gap:1.2rem}.dash-card{background:#fff;border:1px solid #dbe4f0;border-radius:1rem;box-shadow:0 4px 20px #0f172a0f;padding:1.3rem 1.4rem}.dash-card-empty{background:#f8fafc;border-style:dashed}.dash-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;margin-bottom:1rem;flex-wrap:wrap}.dash-card-title{font-size:1.3rem;font-weight:850;color:#0f172a;margin:0;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.dash-empty-text{color:#94a3b8;font-size:.95rem;margin:.5rem 0 0}.dash-score-pill{background:#e0f2fe;color:#0369a1;font-size:1.5rem;font-weight:900;padding:.3rem .9rem;border-radius:999px;flex-shrink:0}.dash-score-of{font-size:.8rem;font-weight:600;color:#64748b}.summary-price-row{display:flex;align-items:baseline;gap:.6rem;margin-bottom:.8rem;flex-wrap:wrap}.summary-price{font-size:2.2rem;font-weight:900;color:#0f172a}.summary-change{font-size:1.1rem;font-weight:800}.summary-change-up{color:#16a34a}.summary-change-down{color:#dc2626}.summary-change-amt{font-size:.9rem;font-weight:700}.summary-trend-row{display:flex;align-items:center;gap:.4rem;margin-bottom:1rem;font-size:1rem;font-weight:700}.summary-grade-tag{padding:.2rem .7rem;border-radius:.5rem;font-weight:800}.summary-separator{color:#cbd5e1}.summary-metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:1rem}.summary-metric-item{display:flex;flex-direction:column;gap:.1rem;padding:.5rem .7rem;background:#f8fafc;border-radius:.5rem}.summary-metric-label{font-size:.72rem;font-weight:700;color:#94a3b8;text-transform:uppercase}.summary-metric-value{font-size:.95rem;font-weight:800;color:#0f172a}.summary-view-box{padding:.8rem 1rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:.7rem}.summary-view-label{font-size:.85rem;font-weight:800;color:#166534;display:block;margin-bottom:.3rem}.summary-view-text{font-size:.95rem;color:#334155;margin:0;line-height:1.6}.kl-grid{display:flex;flex-direction:column;gap:.5rem}.kl-item{display:flex;align-items:center;gap:.7rem;padding:.55rem .8rem;background:#f8fafc;border-radius:.5rem;border-left:4px solid #cbd5e1}.kl-label{font-size:.78rem;font-weight:700;color:#64748b;min-width:110px;flex-shrink:0}.kl-price{font-size:1.3rem;font-weight:900;flex-shrink:0;min-width:80px;text-align:right}.kl-source{font-size:.65rem;font-weight:600;color:#94a3b8;background:#f1f5f9;padding:.15rem .5rem;border-radius:1rem;flex-shrink:0}.kl-desc{font-size:.7rem;color:#94a3b8;margin-left:auto}.watchlist-card{min-height:200px}.wl-add-btn{font-size:.78rem;font-weight:700;padding:.3rem .7rem;background:#0284c7;color:#fff;border:none;border-radius:.5rem;cursor:pointer;box-shadow:0 2px 6px #0284c726}.wl-add-btn:hover{background:#0369a1}.wl-empty p{color:#94a3b8;font-size:.9rem;margin:.5rem 0 .8rem}.wl-default-chips{display:flex;flex-wrap:wrap;gap:.4rem}.wl-default-chip{background:#e0f2fe;color:#0369a1;font-size:.8rem;font-weight:700;padding:.25rem .6rem;border-radius:1rem}.wl-table-wrap{overflow-x:auto}.wl-table{width:100%;border-collapse:collapse;font-size:.85rem}.wl-table th{text-align:left;color:#94a3b8;font-weight:700;font-size:.72rem;padding:.4rem .5rem;border-bottom:2px solid #f1f5f9}.wl-table td{padding:.45rem .5rem;border-bottom:1px solid #f8fafc;font-weight:600}.wl-col-right{text-align:right}.wl-symbol{font-weight:800;color:#0f172a}.wl-market{color:#64748b;font-size:.78rem}.wl-change-up{color:#16a34a}.wl-change-down{color:#dc2626}.wl-status-dot{font-size:.6rem;margin-right:.25rem}.wl-status-bullish{color:#16a34a}.wl-status-bearish{color:#dc2626}.wl-status-neutral{color:#94a3b8}.wl-status-label{font-size:.78rem;color:#475569}.tp-strategy-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;margin-bottom:1.2rem}.tp-strat-item{display:flex;flex-direction:column;gap:.2rem;padding:.8rem .9rem;border-radius:.7rem;border:1px solid #e2e8f0}.tp-strat-entry{background:#f0fdf4;border-color:#bbf7d0}.tp-strat-stop{background:#fef2f2;border-color:#fecaca}.tp-strat-target{background:#eff6ff;border-color:#bfdbfe}.tp-strat-target2{background:#fefce8;border-color:#fef08a}.tp-strat-label{font-size:.72rem;font-weight:700;color:#64748b}.tp-strat-value{font-size:1.2rem;font-weight:900;color:#0f172a}.tp-strat-hint{font-size:.7rem;color:#94a3b8}.tp-source-badge{font-size:.7rem;font-weight:700;padding:.2rem .5rem;border-radius:.5rem;background:#e0f2fe;color:#0369a1}.tp-score-banner-v2{background:linear-gradient(135deg,#eff6ff,#f0fdf4);border:1px solid #93c5fd;border-radius:.8rem;padding:.9rem 1.1rem;margin-bottom:1rem}.obb-status-row{display:flex;align-items:center;gap:.8rem;padding:.3rem 2rem;font-size:.82rem;flex-wrap:wrap}.dash-refresh-btn{font-size:.82rem;padding:.3rem .8rem;border-radius:.5rem;background:#0284c7;color:#fff;border:none;cursor:pointer;box-shadow:0 2px 6px #0284c726}.dash-secondary-section{padding:.8rem 2rem 1.2rem;max-width:1440px;margin:0 auto}.dash-secondary-title{font-size:1rem;font-weight:800;color:#64748b;cursor:pointer;padding:.5rem 0;list-style:none}.dash-secondary-title::-webkit-details-marker{display:none}.dash-secondary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem;margin-top:.8rem}.risk-notice-bar{padding:1rem 2rem;background:#f1f5f9;border-top:1px solid #e2e8f0;margin-top:2rem}.risk-notice-text{font-size:.82rem;color:#64748b;text-align:center;margin:0;line-height:1.7}.trading-plan-dash-card .tp-panel{padding:.8rem}.trading-plan-dash-card .tp-headline-panel{background:#f8fafc;padding:.8rem 1rem;margin-bottom:1rem}@media (max-width: 900px){.dash-main-grid{grid-template-columns:1fr}.dash-header{padding:.7rem 1rem}.dash-nav{order:3;width:100%;margin:.4rem 0 0;justify-content:center}.ticker-toolbar{padding:.7rem 1rem}.ticker-toolbar-status{width:100%;margin-left:0;text-align:right}.tp-strategy-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.dash-header-title{font-size:1.1rem}.dash-nav-item{font-size:.75rem;padding:.35rem .5rem}.dash-main-grid{padding:.6rem .4rem;gap:.6rem}.ticker-toolbar-main,.ticker-toolbar-watchlist{width:100%}.ticker-toolbar-input{flex:1}.summary-price{font-size:1.6rem}.kl-label{min-width:80px;font-size:.7rem}.kl-price{font-size:1.1rem;min-width:60px}.kl-source,.kl-desc{display:none}.tp-strategy-grid{grid-template-columns:1fr 1fr;gap:.4rem}.tp-strat-value{font-size:1rem}.risk-notice-bar{padding:.8rem 1rem}}.tp-two-col{display:grid;grid-template-columns:1fr 340px;gap:1.2rem;margin:1rem 0}.tp-two-col-left{display:flex;flex-direction:column}.tp-grid-inner{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.tp-two-col-right{display:flex;flex-direction:column;gap:.8rem}.tp-panel-action-v2{background:#eff6ff;border:1px solid #bfdbfe;border-radius:.7rem;padding:.8rem}.tp-panel-risk-v2{background:#fff7ed;border:1px solid #fed7aa;border-radius:.7rem;padding:.8rem}.tp-checklist-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.8rem;padding:.9rem 1rem}.tp-checklist-title{font-size:.95rem;font-weight:800;color:#334155;margin:0 0 .7rem}.tp-checklist-list{display:flex;flex-direction:column;gap:.45rem}.tp-checklist-item{display:flex;align-items:center;gap:.5rem;padding:.45rem .6rem;border-radius:.5rem;background:#fff;border:1px solid #f1f5f9}.tp-checklist-ok{background:#f0fdf4;border-color:#bbf7d0}.tp-checklist-warn{background:#fef2f2;border-color:#fecaca}.tp-checklist-icon{font-size:1rem;flex-shrink:0}.tp-checklist-body{display:flex;flex-direction:column;gap:.1rem}.tp-checklist-label{font-size:.78rem;font-weight:700;color:#334155}.tp-checklist-status{font-size:.7rem;color:#64748b;font-weight:600}.tp-quick-conclusion{display:flex;align-items:center;justify-content:space-between;padding:.7rem .9rem;background:#fff;border:1px solid #e2e8f0;border-radius:.7rem}.tp-qc-label{font-size:.85rem;font-weight:700;color:#475569}.tp-qc-value{font-size:1.1rem;font-weight:900}.tp-qc-bullish{color:#16a34a}.tp-qc-bearish{color:#dc2626}.tp-qc-neutral{color:#64748b}.tp-notes-section-v2{margin-top:1.2rem;padding-top:1rem;border-top:2px dashed #e2e8f0}.tp-notes-section-v2 h4{font-size:1rem;font-weight:800;color:#334155;margin:0 0 .7rem}.tp-summary-strip{display:flex;flex-wrap:wrap;gap:.5rem}.tp-summary-stat-card{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.55rem .8rem;background:#fff;border:1px solid #e2e8f0;border-radius:.6rem;min-width:90px;flex:1}.summary-stat-label{font-size:.62rem;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.04em}.summary-stat-value{font-size:1.35rem;font-weight:900;line-height:1.2}.note-val-green{color:#16a34a}.note-val-red{color:#dc2626}.note-val-blue{color:#2563eb}.note-val-neutral{color:#475569}.summary-stat-note{font-size:.6rem;color:#94a3b8;font-weight:600}@media (max-width: 900px){.tp-two-col{grid-template-columns:1fr}.tp-two-col-right{order:-1}}@media (max-width: 480px){.tp-grid-inner{grid-template-columns:1fr}.tp-summary-strip{gap:.35rem}.tp-summary-stat-card{min-width:70px;padding:.4rem .5rem}.summary-stat-value{font-size:1.1rem}.tp-checklist-item{padding:.35rem .5rem}}.dash-main-grid{grid-template-columns:1fr 1fr 340px}.dash-mid-col{display:flex;flex-direction:column;gap:1.2rem}.obb-verify-card{min-height:160px}.obb-verify-status-badge{font-size:.72rem;font-weight:800;padding:.2rem .6rem;border-radius:1rem}.obb-verify-ok{background:#dcfce7;color:#166534}.obb-verify-fallback{background:#fef9c3;color:#854d0e}.obb-verify-unavailable{background:#fee2e2;color:#991b1b}.obb-verify-grid{display:flex;flex-direction:column;gap:.35rem}.obb-verify-row{display:flex;justify-content:space-between;align-items:center;padding:.3rem 0;border-bottom:1px solid #f8fafc}.obb-verify-label{font-size:.78rem;font-weight:700;color:#64748b}.obb-verify-value{font-size:.85rem;font-weight:700;color:#334155}.obb-verify-dim{color:#94a3b8}.obb-verify-ok-text{color:#16a34a}.obb-verify-warn-text{color:#b45309}.obb-verify-notice{margin-top:.6rem;padding:.5rem .7rem;background:#fef9c3;border:1px solid #fde68a;border-radius:.5rem;font-size:.78rem;font-weight:600;color:#854d0e;line-height:1.5}@media (max-width: 1100px){.dash-main-grid{grid-template-columns:1fr 1fr}.dash-right-col{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}}@media (max-width: 768px){.dash-main-grid{grid-template-columns:1fr}.dash-right-col{grid-column:auto;display:flex}}.hot-news-dash-card{max-width:1440px;margin:1.2rem auto}.hn-lang-badge{font-size:.65rem;font-weight:700;padding:.1rem .45rem;border-radius:.4rem}.hn-lang-zh{background:#dcfce7;color:#166534}.hn-lang-en{background:#dbeafe;color:#1e40af}.hn-source-label{font-size:.65rem;color:#94a3b8;font-weight:600}.hn-filter-row{display:flex;gap:.35rem;margin-bottom:.8rem;flex-wrap:wrap}.hn-filter-pill{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:1rem;color:#64748b;cursor:pointer;font-size:.72rem;font-weight:700;padding:.25rem .65rem;box-shadow:none;transition:background .15s,color .15s}.hn-filter-active{background:#0284c7;color:#fff;border-color:#0284c7}.hn-filter-pill:hover:not(.hn-filter-active){background:#e2e8f0}.hn-loading{font-size:.85rem;color:#94a3b8;margin:.5rem 0}.hn-empty{padding:1rem;background:#f8fafc;border-radius:.5rem}.hn-empty p{font-size:.88rem;color:#64748b;margin:0}.hn-list{display:flex;flex-direction:column;gap:.5rem}.hn-item{padding:.6rem .8rem;background:#f8fafc;border-radius:.5rem;border-left:3px solid #e2e8f0}.hn-item-fallback{background:#fffbeb;border-left-color:#fde68a}.hn-item-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;flex-wrap:wrap}.hn-title-link{font-size:.92rem;font-weight:700;color:#0f172a;text-decoration:none;line-height:1.45;flex:1;min-width:200px}.hn-title-link:hover{color:#0284c7;text-decoration:underline}.hn-item-badges{display:flex;gap:.25rem;flex-wrap:wrap;flex-shrink:0}.hn-lang-tag{font-size:.6rem;font-weight:700;padding:.1rem .35rem;border-radius:.3rem;background:#f1f5f9;color:#64748b}.hn-fallback-tag{font-size:.6rem;font-weight:700;padding:.1rem .35rem;border-radius:.3rem;background:#fef9c3;color:#854d0e}.hn-sent-tag{font-size:.6rem;font-weight:700;padding:.1rem .35rem;border-radius:.3rem}.hn-item-meta{display:flex;gap:.6rem;margin-top:.3rem}.hn-source{font-size:.7rem;color:#94a3b8;font-weight:600}.hn-date{font-size:.68rem;color:#cbd5e1}.hn-summary{font-size:.8rem;color:#64748b;margin:.3rem 0 0;line-height:1.5}@media (max-width: 480px){.hn-title-link{font-size:.85rem}.hn-item{padding:.45rem .6rem}}
