/* Deep navy appearance overrides. Scoped to the explicit device preference. */
html[data-theme=dark]{color-scheme:dark;--bg:#101722;--surface:#1a2433;--subtle:#202d3f;--border:#34445a;--border-strong:#52667f;--text:#edf2fa;--secondary:#b9c6d8;--muted:#a8b7cb;--blue:#245ff5;--blue-dark:#1747bf;--accent:#91b7ff;--blue-50:#203452;--positive:#65d69a;--positive-bg:#163c30;--negative:#ff959e;--warning:#f4c475;--warning-bg:#3d301e;--shadow:0 10px 30px #0002}
html[data-theme=dark] body{background:var(--bg);color:var(--text)}
html[data-theme=dark] button,html[data-theme=dark] a{color:inherit}
html[data-theme=dark] .sidebar{background:linear-gradient(165deg,#071321 0%,#0a203a 68%,#081525 100%);color:#edf2fa}
html[data-theme=dark] .nav-item{border-radius:10px;color:var(--secondary)}
html[data-theme=dark] .nav-item svg{fill:none;stroke:currentColor}
html[data-theme=dark] .nav-item:hover{background:rgba(255,255,255,.07)}
html[data-theme=dark] .nav-item.active{background:linear-gradient(110deg,#16478a,#174a92);color:#edf2fa;box-shadow:inset 0 0 0 1px rgba(77,139,255,.12)}
html[data-theme=dark] .collapse-button{background:none;border:0;color:var(--secondary)}
html[data-theme=dark] .topbar{background:rgba(255,255,255,.94);border-bottom:1px solid var(--border)}
html[data-theme=dark] .global-search{border:1px solid var(--border);border-radius:12px;background:var(--surface)}
html[data-theme=dark] .global-search>svg{fill:none;stroke:var(--accent)}
html[data-theme=dark] .global-search input{border:0;outline:0;color:var(--text);background:transparent}
html[data-theme=dark] .global-search input::placeholder{color:var(--secondary)}
html[data-theme=dark] .global-search:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px rgba(36,95,245,.1)}
html[data-theme=dark] kbd{border:1px solid var(--border);background:var(--subtle);border-radius:6px;color:var(--muted)}
html[data-theme=dark] .search-panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 18px 50px rgba(8,21,37,.14)}
html[data-theme=dark] .search-result{border:0;background:none;border-radius:8px}
html[data-theme=dark] .search-result:hover,html[data-theme=dark] .search-result:focus{background:var(--blue-50)}
html[data-theme=dark] .search-result span:last-child{color:var(--muted)}
html[data-theme=dark] .icon-button{border:1px solid var(--border);background:var(--surface);border-radius:50%}
html[data-theme=dark] .icon-button svg{fill:none;stroke:currentColor}
html[data-theme=dark] .mobile-menu{border:0;background:none}
html[data-theme=dark] .mobile-menu svg{stroke:currentColor;fill:none}
html[data-theme=dark] .status-strip{color:var(--secondary)}
html[data-theme=dark] .fresh strong{color:var(--text)}
html[data-theme=dark] .status-dot,html[data-theme=dark] .market-times i{border-radius:50%;background:#16a05a}
html[data-theme=dark] .divider{background:var(--border-strong)}
html[data-theme=dark] .text-button{border:0;background:none;color:var(--secondary)}
html[data-theme=dark] .text-button svg{fill:none;stroke:currentColor}
html[data-theme=dark] .market-card,html[data-theme=dark] .card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}
html[data-theme=dark] .eyebrow,html[data-theme=dark] .section-kicker{color:var(--secondary)}
html[data-theme=dark] .data-badge{color:var(--secondary);background:var(--subtle);border:1px solid var(--border);border-radius:20px}
html[data-theme=dark] .market-main strong{color:var(--positive)}
html[data-theme=dark] .market-main span{color:var(--positive)}
html[data-theme=dark] .sparkline .line{fill:none;stroke:var(--positive)}
html[data-theme=dark] .sparkline .area{fill:url(#greenFill)}
html[data-theme=dark] .sparkline .baseline{stroke:var(--secondary)}
html[data-theme=dark] .chart-row dt{color:var(--secondary)}
html[data-theme=dark] .tag{border-radius:5px;border:1px solid}
html[data-theme=dark] .tag.positive{color:var(--positive);border-color:var(--border-strong);background:var(--positive-bg)}
html[data-theme=dark] .tag.blue{color:var(--accent);border-color:var(--border-strong);background:var(--blue-50)}
html[data-theme=dark] .step-pill{background:var(--blue-50);color:var(--accent);border-radius:20px}
html[data-theme=dark] .segmented button,html[data-theme=dark] .time-options button{border:1px solid var(--border);background:var(--surface)}
html[data-theme=dark] .segmented button:first-child{border-radius:8px 0 0 8px}
html[data-theme=dark] .segmented button:last-child{border-radius:0 8px 8px 0}
html[data-theme=dark] .segmented button+button{border-left:0}
html[data-theme=dark] .segmented button.selected,html[data-theme=dark] .time-options button.selected{background:var(--blue);border-color:var(--blue);color:#edf2fa}
html[data-theme=dark] .select-like{background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--muted)}
html[data-theme=dark] .select-like svg{fill:none;stroke:currentColor}
html[data-theme=dark] .time-options button{border-radius:7px}
html[data-theme=dark] .range-action p{color:var(--muted)}
html[data-theme=dark] .outline-primary{color:var(--accent);background:var(--surface);border:1px solid var(--blue);border-radius:7px}
html[data-theme=dark] .primary-action{border:0;border-radius:8px;background:var(--blue);color:#edf2fa}
html[data-theme=dark] .primary-action:disabled{background:var(--blue-50);color:var(--secondary)}
html[data-theme=dark] .primary-action:not(:disabled):hover{background:var(--blue-dark)}
html[data-theme=dark] .link-button{border:0;background:none;color:var(--accent)}
html[data-theme=dark] .quality-item{border:1px solid var(--border);background:var(--surface);border-radius:9px}
html[data-theme=dark] .quality-item:hover{border-color:var(--border-strong);background:var(--subtle)}
html[data-theme=dark] .quality-item>svg{fill:none}
html[data-theme=dark] .quality-item .ok{stroke:var(--positive)}
html[data-theme=dark] .quality-item .warn{stroke:var(--warning)}
html[data-theme=dark] .quality-item .arrow{stroke:var(--muted)}
html[data-theme=dark] .quality-item small{color:var(--secondary)}
html[data-theme=dark] .quality-item time{color:var(--secondary)}
html[data-theme=dark] .quality-note{background:var(--blue-50);border-radius:8px;color:var(--accent)}
html[data-theme=dark] .quality-note span{border:1px solid var(--border-strong);border-radius:50%}
html[data-theme=dark] .preset-card{border:1px solid var(--border);border-radius:10px}
html[data-theme=dark] .preset-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow)}
html[data-theme=dark] .star-button{border:0;background:none}
html[data-theme=dark] .star-button svg{fill:none;stroke:var(--muted)}
html[data-theme=dark] .star-button.active svg{fill:var(--warning);stroke:var(--warning)}
html[data-theme=dark] .preset-visual.lines i{background:var(--blue)}
html[data-theme=dark] .preset-visual.candles i{background:var(--blue)}
html[data-theme=dark] .preset-visual.candles i:before{background:var(--blue)}
html[data-theme=dark] .preset-visual.wedge{border-top:2px solid var(--blue);border-bottom:2px solid var(--blue)}
html[data-theme=dark] .preset-visual.wedge i:first-child{background:#10a072}
html[data-theme=dark] .preset-market{color:var(--accent)}
html[data-theme=dark] .preset-card p{color:var(--secondary)}
html[data-theme=dark] .preset-card footer{border-top:1px solid var(--border-strong);color:var(--muted)}
html[data-theme=dark] table{border-collapse:collapse}
html[data-theme=dark] th{color:var(--secondary);border-bottom:1px solid var(--border)}
html[data-theme=dark] td{border-bottom:1px solid var(--border-strong);color:var(--text)}
html[data-theme=dark] tbody tr:last-child td{border-bottom:0}
html[data-theme=dark] td strong{color:var(--text)}
html[data-theme=dark] td small{color:var(--muted)}
html[data-theme=dark] .table-status.done{color:var(--positive)}
html[data-theme=dark] .table-status.warning{color:var(--warning)}
html[data-theme=dark] .site-footer{border-top:1px solid var(--border);background:var(--surface);color:var(--secondary)}
html[data-theme=dark] .site-footer span{border:1px solid var(--warning);color:var(--warning);background:var(--warning-bg);border-radius:7px}
html[data-theme=dark] .toast{background:var(--navy);color:#edf2fa;border-radius:9px;box-shadow:0 14px 35px rgba(0,0,0,.2);opacity:0}
html[data-theme=dark] .toast.show{opacity:1}
html[data-theme=dark] .modal-backdrop{background:rgba(8,21,37,.54)}
html[data-theme=dark] .modal-content{background:var(--surface);border-radius:16px;box-shadow:0 30px 80px rgba(0,0,0,.24)}
html[data-theme=dark] .modal-content>p{color:var(--secondary)}
html[data-theme=dark] .stock-option{border:1px solid var(--border);background:var(--surface);border-radius:9px}
html[data-theme=dark] .stock-option:hover{border-color:var(--blue);background:var(--blue-50)}
html[data-theme=dark] .stock-option span{color:var(--muted)}
@media(max-width:767px){html[data-theme=dark] .global-search{box-shadow:var(--shadow)}
html[data-theme=dark] .bottom-nav{background:rgba(255,255,255,.96);border-top:1px solid var(--border)}
html[data-theme=dark] .bottom-nav a{color:var(--secondary)}
html[data-theme=dark] .bottom-nav svg{fill:none;stroke:currentColor}
html[data-theme=dark] .bottom-nav a.active{color:var(--accent)}}
html[data-theme=dark] .default-pattern-note{color:var(--secondary)}
html[data-theme=dark] .status-dot.loading{background:var(--warning)}
html[data-theme=dark] .status-dot.error{background:var(--negative)}
html[data-theme=dark] .market-card h2 small{color:var(--muted)}
html[data-theme=dark] .market-times b{color:var(--secondary)}
html[data-theme=dark] .market-main .negative-value{color:var(--negative)}
html[data-theme=dark] .market-card.market-negative .sparkline .line{stroke:var(--negative)}
html[data-theme=dark] .market-card.market-negative .sparkline .area{fill:rgba(216,74,74,.1)}
html[data-theme=dark] .tag.negative{color:var(--negative);border-color:var(--border-strong);background:var(--negative-bg)}
html[data-theme=dark] .global-search>.search-icon{color:var(--text)}
html[data-theme=dark] .quality-item>.material-symbols-rounded.ok{color:var(--positive)}
html[data-theme=dark] .quality-item>.material-symbols-rounded.warn{color:var(--warning)}
html[data-theme=dark] .quality-item>.material-symbols-rounded.arrow{color:var(--muted)}
html[data-theme=dark] .quality-note>.material-symbols-rounded{border:0;color:var(--accent)}
html[data-theme=dark] .quality-status:hover{border-color:var(--border);background:var(--surface)}
html[data-theme=dark] .halt-source{color:var(--secondary)}
html[data-theme=dark] .halt-source a{color:var(--accent)}
html[data-theme=dark] .halt-categories .selected{background:var(--blue-50);border-color:var(--blue);color:var(--accent)}
html[data-theme=dark] .halt-category-label{background:var(--subtle);border-radius:6px}
html[data-theme=dark] .halt-table small{color:var(--secondary)}
@media(max-width:600px){html[data-theme=dark] .halt-table tr{border:1px solid var(--border);border-radius:9px}
html[data-theme=dark] .halt-table td{border:0!important}
html[data-theme=dark] .halt-table td[data-label]::before{color:var(--secondary)}}
html[data-theme=dark] .star-button>.material-symbols-rounded{color:var(--muted)}
html[data-theme=dark] .star-button.active>.material-symbols-rounded{color:var(--warning)}
html[data-theme=dark] .feature-header h2 small{color:var(--secondary)}
html[data-theme=dark] .feature-header p{color:var(--secondary)}
html[data-theme=dark] .primary-button,html[data-theme=dark] .secondary-button,html[data-theme=dark] .icon-text-button,html[data-theme=dark] .back-button{border-radius:8px}
html[data-theme=dark] .primary-button{border:1px solid var(--blue);background:var(--blue);color:#edf2fa}
html[data-theme=dark] .primary-button:hover{background:var(--blue-dark)}
html[data-theme=dark] .primary-button:disabled{background:var(--blue-50);border-color:var(--border-strong);color:var(--secondary)}
html[data-theme=dark] .secondary-button{border:1px solid var(--border-strong);background:var(--surface);color:var(--text)}
html[data-theme=dark] .icon-text-button,html[data-theme=dark] .back-button{border:0;background:transparent;color:var(--accent)}
html[data-theme=dark] .feature-loading p,html[data-theme=dark] .error-state p{color:var(--secondary)}
html[data-theme=dark] .spinner{border:3px solid var(--border-strong);border-top-color:var(--blue);border-radius:50%}
html[data-theme=dark] .error-state>.material-symbols-rounded{color:var(--warning)}
html[data-theme=dark] .analysis-toolbar{border:1px solid var(--border);border-radius:12px 12px 0 0;background:var(--surface)}
html[data-theme=dark] .toolbar-group{border:1px solid var(--border);border-radius:7px}
html[data-theme=dark] .toolbar-group button,html[data-theme=dark] .indicator-toggles button{border:0;background:var(--surface);color:var(--secondary)}
html[data-theme=dark] .toolbar-group button+button{border-left:1px solid var(--border)}
html[data-theme=dark] .toolbar-group button.selected{background:var(--blue);color:#edf2fa}
html[data-theme=dark] .indicator-toggles button{border-radius:6px}
html[data-theme=dark] .indicator-toggles button.selected{background:var(--blue-50);color:var(--accent)}
html[data-theme=dark] .chart-card{border-radius:0 0 14px 14px}
html[data-theme=dark] .chart-grid{stroke:var(--border)}
html[data-theme=dark] .chart-axis,html[data-theme=dark] .panel-label{fill:var(--secondary)}
html[data-theme=dark] .indicator-line{fill:none}
html[data-theme=dark] .indicator-line.ma5{stroke:var(--warning)}
html[data-theme=dark] .indicator-line.ma20{stroke:var(--accent)}
html[data-theme=dark] .indicator-line.boll{stroke:var(--accent);opacity:.8}
html[data-theme=dark] .indicator-line.signal{stroke:var(--accent)}
html[data-theme=dark] .selection-zone{fill:rgba(36,95,245,.09);stroke:none}
html[data-theme=dark] .selection-handle{stroke:var(--blue)}
html[data-theme=dark] .chart-hit{fill:transparent}
html[data-theme=dark] .selection-footer{border-top:1px solid var(--border);color:var(--secondary)}
html[data-theme=dark] .selection-footer>div strong{color:var(--accent)}
html[data-theme=dark] .price-summary{border-bottom:1px solid var(--border)}
html[data-theme=dark] .up{color:var(--positive)!important}
html[data-theme=dark] .down{color:var(--negative)!important}
html[data-theme=dark] .evidence-list li{border-bottom:1px solid var(--border-strong)}
html[data-theme=dark] .evidence-list li>.material-symbols-rounded{color:var(--accent)}
html[data-theme=dark] .evidence-list small{color:var(--secondary)}
html[data-theme=dark] .analysis-disclaimer,html[data-theme=dark] .security-note{background:var(--warning-bg);color:var(--warning);border-radius:8px}
html[data-theme=dark] .save-drawer{background:var(--surface);border:1px solid var(--border);box-shadow:0 20px 70px rgba(8,21,37,.22);border-radius:14px}
html[data-theme=dark] .save-drawer p{color:var(--secondary)}
html[data-theme=dark] .save-drawer input{border:1px solid var(--border);border-radius:7px}
html[data-theme=dark] .score-badge{background:var(--blue-50);color:var(--accent);border-radius:20px}
html[data-theme=dark] .normalized-preview{background:linear-gradient(var(--subtle),var(--surface));border:1px solid var(--border);border-radius:9px}
html[data-theme=dark] .normalized-preview polyline{fill:none;stroke:var(--blue)}
html[data-theme=dark] .reference-meta dt{color:var(--muted)}
html[data-theme=dark] .weight-total,html[data-theme=dark] .settings-total{border-top:1px solid var(--border)}
html[data-theme=dark] .invalid{color:var(--negative)!important}
html[data-theme=dark] .results-card>.section-heading>span{color:var(--secondary)}
html[data-theme=dark] .empty-state{color:var(--secondary)}
html[data-theme=dark] .empty-state>.material-symbols-rounded{color:var(--secondary)}
html[data-theme=dark] .searching>.material-symbols-rounded{color:var(--accent)}
html[data-theme=dark] .total-score{color:var(--accent)}
html[data-theme=dark] .results-actions{border-top:1px solid var(--border)}
html[data-theme=dark] .hero-score{color:var(--accent)}
html[data-theme=dark] .hero-score small{color:var(--muted)}
html[data-theme=dark] .metric-card>.material-symbols-rounded{color:var(--accent)}
html[data-theme=dark] .metric-card>span{color:var(--secondary)}
html[data-theme=dark] .metric-card>div{background:var(--blue-50);border-radius:5px}
html[data-theme=dark] .metric-card>div i{background:var(--blue)}
html[data-theme=dark] .metric-card>small{color:var(--muted)}
html[data-theme=dark] .detail-copy{color:var(--secondary)}
html[data-theme=dark] .warning-card{background:var(--warning-bg);border-color:var(--border-strong)}
html[data-theme=dark] .warning-card>.material-symbols-rounded{color:var(--warning)}
html[data-theme=dark] .warning-card p{color:var(--warning)}
html[data-theme=dark] .equity-chart line{stroke:var(--border)}
html[data-theme=dark] .equity-chart polyline{fill:none;stroke:var(--blue)}
html[data-theme=dark] .equity-chart text{fill:var(--muted)}
html[data-theme=dark] .rule-list .material-symbols-rounded{color:var(--positive)}
html[data-theme=dark] .saved-tabs button{border:1px solid var(--border);background:var(--surface);border-radius:8px}
html[data-theme=dark] .saved-tabs button.selected{background:var(--blue);border-color:var(--blue);color:#edf2fa}
html[data-theme=dark] .saved-card>div{color:var(--muted)}
html[data-theme=dark] .saved-card>div>.material-symbols-rounded{color:var(--accent)}
html[data-theme=dark] .saved-card p{color:var(--secondary)}
html[data-theme=dark] .saved-card footer{border-top:1px solid var(--border)}
html[data-theme=dark] .saved-card footer .icon-button{color:var(--negative)}
html[data-theme=dark] .settings-form article>p{color:var(--secondary)}
html[data-theme=dark] .settings-form article>label{border-top:1px solid var(--border-strong)}
html[data-theme=dark] .settings-form label small{color:var(--muted)}
html[data-theme=dark] .settings-form input{border:1px solid var(--border);border-radius:7px}
html[data-theme=dark] .security-note{background:var(--blue-50);color:var(--accent)}
@media(max-width:767px){html[data-theme=dark] .analysis-toolbar{border-radius:12px 12px 0 0}}
html[data-theme=dark] .year-level small{color:var(--secondary)}
html[data-theme=dark] .year-range-copy .range-volatility{border-top:1px dashed var(--border)}
html[data-theme=dark] .tool-color-dot,html[data-theme=dark] .preview-color{border-radius:50%;box-shadow:0 0 0 1px rgba(8,21,37,.15)}
html[data-theme=dark] .add-tools-button{border:1px dashed var(--border-strong)!important;background:var(--surface)!important;color:var(--accent)!important}
html[data-theme=dark] .technical-tools-drawer{background:var(--surface);border:1px solid var(--border);border-top:0;box-shadow:0 15px 35px rgba(8,21,37,.08)}
html[data-theme=dark] .tools-drawer-head p{color:var(--secondary)}
html[data-theme=dark] .tool-setting-row{border:1px solid var(--border);border-radius:9px}
html[data-theme=dark] .tool-setting-row>button{border:0;background:var(--surface)}
html[data-theme=dark] .tool-setting-row>button.enabled{background:var(--blue-50);color:var(--accent)}
html[data-theme=dark] .tool-setting-row small{color:var(--secondary)}
html[data-theme=dark] .tool-setting-row>label{border-left:1px solid var(--border)}
html[data-theme=dark] .tool-setting-row input[type=color],html[data-theme=dark] .candle-color-settings input[type=color]{opacity:0}
html[data-theme=dark] .candle-color-settings{border-top:1px solid var(--border)}
html[data-theme=dark] .candle-color-settings label{border:1px solid var(--border);border-radius:7px}
html[data-theme=dark] .ichimoku-cloud{opacity:.12}
html[data-theme=dark] .ichimoku-base{stroke:#c7b0fa}
html[data-theme=dark] .oscillator-guide{stroke:var(--secondary)}
html[data-theme=dark] .tool-interpretations{border-top:1px solid var(--border)}
html[data-theme=dark] .tool-interpretation-title small{color:var(--muted)}
html[data-theme=dark] .tool-interpretation{border:1px solid var(--border-strong);border-radius:8px;background:var(--subtle)}
html[data-theme=dark] .tool-interpretation header b{color:var(--secondary)}
html[data-theme=dark] .tool-interpretation p{color:var(--secondary)}
html[data-theme=dark] .tool-interpretation.positive{background:var(--subtle)}
html[data-theme=dark] .tool-interpretation.positive header b{color:var(--positive)}
html[data-theme=dark] .tool-interpretation.negative{background:var(--subtle)}
html[data-theme=dark] .tool-interpretation.negative header b{color:var(--negative)}
html[data-theme=dark] .tool-interpretation.warning{background:var(--warning-bg)}
html[data-theme=dark] .tool-interpretation.warning header b{color:var(--warning)}
html[data-theme=dark] .search-progress-copy>span{border-radius:10px;background:var(--blue-50);color:var(--accent)}
html[data-theme=dark] .search-progress-copy small{color:var(--secondary)}
html[data-theme=dark] .search-progress-copy>b{color:var(--accent)}
html[data-theme=dark] .search-progress-track{background:var(--blue-50);border-radius:20px}
html[data-theme=dark] .search-progress-track i{background:linear-gradient(90deg,#2e68ff,#68a0ff);border-radius:inherit}
html[data-theme=dark] .search-progress-static>#searchProgressCount{color:var(--secondary)}
html[data-theme=dark] .library-summary strong{color:var(--accent)}
html[data-theme=dark] .library-summary span{color:var(--secondary)}
html[data-theme=dark] .saved-card p strong{color:var(--text)}
html[data-theme=dark] .saved-tool-list span{border:1px solid var(--border);border-radius:20px;color:var(--secondary)}
html[data-theme=dark] .saved-tool-list i{border-radius:50%}
html[data-theme=dark] .saved-range{color:var(--muted)}
html[data-theme=dark] .mini-color-row i{border-radius:4px}
html[data-theme=dark] .recent-summary-grid .material-symbols-rounded{border-radius:11px;background:var(--blue-50);color:var(--accent)}
html[data-theme=dark] .recent-summary-grid span{color:var(--secondary)}
html[data-theme=dark] .history-toolbar>span{color:var(--secondary)}
html[data-theme=dark] .history-table tbody tr:hover,html[data-theme=dark] #homeRecentBody tr:hover{background:var(--blue-50)}
html[data-theme=dark] .activity-badge{border-radius:20px;background:var(--blue-50);color:var(--accent)}
html[data-theme=dark] .activity-badge.type-pattern{color:#c7b0fa;background:var(--subtle)}
html[data-theme=dark] .activity-badge.type-backtest{color:var(--positive);background:var(--blue-50)}
html[data-theme=dark] .danger-button{color:var(--negative);border-color:var(--border-strong)}
html[data-theme=dark] .weight-total>span small{color:var(--muted)}
html[data-theme=dark] .my-withdrawal p{color:var(--secondary)}
html[data-theme=dark] .danger-button,html[data-theme=dark] .danger-outline-button{border:1px solid var(--border-strong);border-radius:8px;background:#c33333;color:#edf2fa}
html[data-theme=dark] .danger-outline-button{background:var(--surface);color:var(--negative)}
html[data-theme=dark] .danger-button:disabled{background:var(--blue-50);border-color:var(--border-strong);color:var(--secondary)}
html[data-theme=dark] .withdrawal-dialog{border:1px solid var(--border);border-radius:18px;box-shadow:0 24px 80px #08152530;color:var(--text);background:var(--surface)}
html[data-theme=dark] .withdrawal-dialog::backdrop{background:#08152599}
html[data-theme=dark] .withdrawal-dialog ul{color:var(--secondary)}
html[data-theme=dark] .withdrawal-note{background:var(--warning-bg);border-radius:9px;color:var(--warning)}
html[data-theme=dark] .withdrawal-input input{border:1px solid var(--border-strong);border-radius:8px}
html[data-theme=dark] .withdrawal-status{color:var(--negative)}
html[data-theme=dark] .login-page{background:var(--blue-50)}
html[data-theme=dark] .login-card{background:var(--surface);border:1px solid var(--border-strong);border-radius:24px;box-shadow:0 16px 48px #1e355010}
html[data-theme=dark] .login-brand{color:var(--text)}
html[data-theme=dark] .login-card p{color:var(--secondary)}
html[data-theme=dark] .login-continue{color:var(--accent)}
html[data-theme=dark] .login-card .login-note{border-top:1px solid var(--border-strong)}
html[data-theme=dark] .my-account span{color:var(--secondary)}
html[data-theme=dark] .my-avatar{border-radius:14px;background:var(--blue-50);color:var(--accent)}
html[data-theme=dark] .my-summary>div{border:1px solid var(--border);border-radius:12px;background:var(--surface)}
html[data-theme=dark] .my-summary .material-symbols-rounded{color:var(--accent)}
html[data-theme=dark] .watch-stock{border:0;background:var(--surface)}
html[data-theme=dark] .watch-stock:hover{background:var(--blue-50)}
html[data-theme=dark] .watch-stock>span:first-child,html[data-theme=dark] .watch-stock>small{color:var(--secondary)}
html[data-theme=dark] .watch-controls{border-top:1px solid var(--border)}
html[data-theme=dark] .watch-controls button:disabled{opacity:.3}
html[data-theme=dark] .my-import p,html[data-theme=dark] .my-import small{color:var(--secondary)}
html[data-theme=dark] .watchlist-editor input,html[data-theme=dark] .journal-form input,html[data-theme=dark] .journal-form textarea{border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text)}
html[data-theme=dark] .journal-memo{background:var(--subtle);border-radius:8px}
html[data-theme=dark] .account-save-status{background:var(--warning-bg);border:1px solid var(--border);border-radius:8px}
html[data-theme=dark] button:focus-visible,html[data-theme=dark] a:focus-visible,html[data-theme=dark] input:focus-visible,html[data-theme=dark] textarea:focus-visible{outline:3px solid var(--border-strong);outline-offset:3px}
html[data-theme=dark] .portfolio-preview small,html[data-theme=dark] .portfolio-basis,html[data-theme=dark] .portfolio-summary span{color:var(--secondary)}
html[data-theme=dark] .portfolio-chart th,html[data-theme=dark] .portfolio-chart td{border-bottom:1px solid var(--border)}
html[data-theme=dark] .portfolio-donut{border-radius:50%}
html[data-theme=dark] .portfolio-donut span{background:var(--surface);border-radius:50%;color:var(--secondary)}
html[data-theme=dark] .portfolio-donut.empty{background:var(--border)}
html[data-theme=dark] .portfolio-dot{border-radius:50%}
html[data-theme=dark] .portfolio-missing{background:var(--warning-bg)}
html[data-theme=dark] .portfolio-form select,html[data-theme=dark] .portfolio-filters select,html[data-theme=dark] .portfolio-filters input{border:1px solid var(--border);border-radius:8px;color:var(--text);background:var(--surface)}
html[data-theme=dark] .portfolio-holding dl>div{border-bottom:1px solid var(--border)}
html[data-theme=dark] .portfolio-holding dt{color:var(--secondary)}
html[data-theme=dark] .portfolio-insights small{color:var(--secondary)}
html[data-theme=dark] select:focus-visible,html[data-theme=dark] summary:focus-visible{outline:3px solid var(--border-strong);outline-offset:3px}
html[data-theme=dark] .portfolio-search-status{color:var(--secondary)}
html[data-theme=dark] .portfolio-chart-hint{color:var(--secondary)}
html[data-theme=dark] .portfolio-chart .portfolio-donut{background:none}
html[data-theme=dark] .portfolio-chart-center small{color:var(--secondary)}
html[data-theme=dark] .portfolio-chart-center span{background:none;border-radius:0;color:var(--text)}
html[data-theme=dark] .portfolio-slice:focus{outline:none}
html[data-theme=dark] .portfolio-slice-label{fill:#edf2fa}
html[data-theme=dark] .chart-active .portfolio-slice:not(.chart-selected){opacity:.32}
html[data-theme=dark] .portfolio-chart tbody tr:focus-visible{outline:3px solid var(--border-strong);outline-offset:-3px}
html[data-theme=dark] .portfolio-chart tr.chart-selected{background:var(--blue-50)}
html[data-theme=dark] .portfolio-chart .portfolio-slice-label{stroke:var(--text)}
html[data-theme=dark] .latest-basis{color:var(--secondary)}
html[data-theme=dark] .decision-verdict{border-radius:9px;background:var(--blue-50);border:1px solid var(--border-strong)}
html[data-theme=dark] .decision-verdict.positive{background:var(--subtle)}
html[data-theme=dark] .decision-verdict.negative{background:var(--subtle)}
html[data-theme=dark] .decision-verdict p,html[data-theme=dark] .decision-evidence p,html[data-theme=dark] .decision-evidence li,html[data-theme=dark] .latest-range p{color:var(--secondary)}
html[data-theme=dark] .decision-evidence{border-bottom:1px solid var(--border)}
html[data-theme=dark] .decision-evidence.positive h4{color:var(--positive)}
html[data-theme=dark] .decision-evidence.negative h4{color:var(--negative)}
html[data-theme=dark] .tool-interpretation summary,html[data-theme=dark] .latest-range summary{color:var(--accent)}
html[data-theme=dark] .technical-synthesis{border:1px solid var(--border-strong);border-radius:10px;background:var(--blue-50)}
html[data-theme=dark] .technical-synthesis p,html[data-theme=dark] .technical-synthesis li{color:var(--secondary)}
html[data-theme=dark] .technical-synthesis summary{color:var(--accent)}
html[data-theme=dark] .state-dimensions>span{border:1px solid var(--border);border-radius:8px;background:var(--subtle)}
html[data-theme=dark] .state-dimensions small{color:var(--secondary)}
html[data-theme=dark] .summary-metrics>div{border-bottom:1px solid var(--border)}
html[data-theme=dark] .summary-metrics dt{color:var(--secondary)}
html[data-theme=dark] .summary-metrics dd small{color:var(--secondary)}
html[data-theme=dark] .next-check{background:var(--subtle);border-radius:8px}
html[data-theme=dark] .next-check>span{color:var(--secondary)}
html[data-theme=dark] .analysis-detail-link{background:var(--surface);border:1px solid var(--border-strong);border-radius:7px;color:var(--accent)}
html[data-theme=dark] .summary-scope{color:var(--secondary)}
html[data-theme=dark] .analysis-detail-heading>span{color:var(--secondary)}
html[data-theme=dark] .synthesis-next{border-top:1px solid var(--border-strong)}
html[data-theme=dark] .analysis-details .tool-interpretations{border:0}
html[data-theme=dark] .tool-reading-hint{color:var(--secondary)}
html[data-theme=dark] .analysis-details .tool-interpretation summary{color:var(--text)}
html[data-theme=dark] .tool-summary b{color:var(--secondary)}
html[data-theme=dark] .tool-calculation{border-top:1px solid var(--border)}
html[data-theme=dark] .tool-calculation>strong{color:var(--secondary)}
html[data-theme=dark] .range-pattern-divider{border-top:1px solid var(--border-strong)}
html[data-theme=dark] .price-line-color{color:var(--secondary)}
html[data-theme=dark] .price-line-color input{border:1px solid var(--border);border-radius:5px}
html[data-theme=dark] main.home-dashboard{--muted:#667387}
html[data-theme=dark] .home-dashboard .market-card{border-radius:12px}
html[data-theme=dark] .home-dashboard .card{border-radius:12px}
html[data-theme=dark] .home-dashboard .range-action p{color:var(--secondary)}
html[data-theme=dark] .home-dashboard .primary-action:disabled{color:var(--secondary)}
html[data-theme=dark] .home-dashboard .quality-item{border:0;background:var(--subtle)}
html[data-theme=dark] .home-dashboard .quality-note{background:none}
html[data-theme=dark] .home-dashboard .quality-note>span{border:0}
html[data-theme=dark] .notification-bell{border:1px solid var(--border);border-radius:12px;background:var(--surface)}
html[data-theme=dark] .notification-bell[aria-expanded="true"]{color:var(--accent);background:var(--blue-50);border-color:var(--border-strong)}
html[data-theme=dark] .notification-dot{border-radius:50%;background:#e24b55;box-shadow:0 0 0 2px #fff}
html[data-theme=dark] .notification-panel{background:var(--surface);border:1px solid var(--border-strong);border-radius:18px;box-shadow:0 18px 60px #182a4a26}
html[data-theme=dark] .notification-panel h2{color:var(--text)}
html[data-theme=dark] .notification-panel h2 span{color:var(--accent)}
html[data-theme=dark] .notification-panel header p{color:var(--secondary)}
html[data-theme=dark] .notification-toolbar{background:var(--blue-50);border-block:1px solid var(--border-strong);color:var(--secondary)}
html[data-theme=dark] .notification-panel button:disabled{color:var(--secondary)}
html[data-theme=dark] .notification-row{border-bottom:1px solid var(--border-strong)}
html[data-theme=dark] .notification-row.is-unread{background:var(--blue-50)}
html[data-theme=dark] .notification-status{border-radius:12px;color:var(--positive);background:var(--positive-bg)}
html[data-theme=dark] .notification-status.error{color:var(--negative);background:var(--warning-bg)}
html[data-theme=dark] .notification-status.cancelled{color:var(--warning);background:var(--warning-bg)}
html[data-theme=dark] .notification-status.running{color:var(--accent);background:var(--blue-50)}
html[data-theme=dark] .notification-meta{color:var(--secondary)}
html[data-theme=dark] .notification-meta time{color:var(--muted)}
html[data-theme=dark] .notification-row p{color:var(--secondary)}
html[data-theme=dark] .notification-panel>footer{color:var(--muted);background:var(--subtle);border-top:1px solid var(--border-strong)}
html[data-theme=dark] .notification-empty>.material-symbols-rounded{color:var(--secondary)}
html[data-theme=dark] .notification-empty p{color:var(--secondary)}
html[data-theme=dark] .preferences-nav{background:var(--blue-50);border:1px solid var(--border);border-radius:12px}
html[data-theme=dark] .preferences-nav button{border:0;background:transparent;color:var(--secondary);border-radius:8px}
html[data-theme=dark] .preferences-nav button[aria-selected=true]{background:var(--surface);color:var(--accent);box-shadow:0 2px 8px #18345412}
html[data-theme=dark] .preferences-nav button:focus-visible,html[data-theme=dark] .display-size-option input:focus-visible,html[data-theme=dark] .preferences-form button:focus-visible,html[data-theme=dark] .display-options button:focus-visible{outline:3px solid var(--border-strong);outline-offset:3px}
html[data-theme=dark] .display-options>p{color:var(--secondary)}
html[data-theme=dark] .display-size-option{border:1px solid var(--border);border-radius:10px}
html[data-theme=dark] .display-size-option:has(input:checked){border:2px solid var(--blue);background:var(--blue-50)}
html[data-theme=dark] .display-size-option input{border:2px solid #87909f;border-radius:50%}
html[data-theme=dark] .display-size-option input:checked{border-color:var(--blue)}
html[data-theme=dark] .display-size-option input:checked:after{background:var(--blue);border-radius:50%}
html[data-theme=dark] .display-size-text{color:var(--secondary)}
html[data-theme=dark] .display-size-option>small{color:var(--secondary)}
html[data-theme=dark] .display-default{border-radius:4px;background:var(--subtle);color:var(--secondary)}
html[data-theme=dark] .display-guidance{background:var(--blue-50);border-radius:10px}
html[data-theme=dark] .display-storage-note{color:var(--secondary)}
html[data-theme=dark] #displaySaveStatus{color:var(--accent)}
html[data-theme=dark] .display-preview-heading>span{color:var(--accent);background:var(--blue-50);border-radius:20px}
html[data-theme=dark] .display-sample{background:var(--subtle);border:1px solid var(--border);border-radius:12px}
html[data-theme=dark] .display-sample-positive{color:var(--positive)}
html[data-theme=dark] .display-sample-chart{background:var(--surface);border:1px solid var(--border);border-radius:8px}
html[data-theme=dark] .display-sample-legend{color:var(--secondary)}
html[data-theme=dark] .display-sample-note{background:var(--blue-50);border-radius:8px}
html[data-theme=dark] .display-sample input{border:1px solid var(--border-strong);background:var(--surface);border-radius:8px}
html[data-theme=dark] .display-sample button{border:0;border-radius:8px;background:var(--blue);color:#edf2fa}
html[data-theme=dark] .preferences-form article>p{color:var(--secondary)}
html[data-theme=dark] .preference-field{border-top:1px solid var(--border)}
html[data-theme=dark] .preference-field small{color:var(--secondary)}
html[data-theme=dark] .preference-input input{border:1px solid var(--border-strong);border-radius:8px}
html[data-theme=dark] .preferences-actions p{color:var(--accent)}
html[data-theme=dark][data-reading-size] .readable-chart-scroll:focus-visible{outline:3px solid var(--border-strong);outline-offset:2px}
html[data-theme=dark] .analysis-layout .summary-metrics>div{border:1px solid var(--border);border-radius:10px}
html[data-theme=dark] .chart-context{color:var(--secondary)}
html[data-theme=dark] .portfolio-manager .portfolio-summary .card{background:var(--surface)}
html[data-theme=dark] .portfolio-manager .portfolio-summary .card:first-child{background:var(--blue-50);border-color:var(--border-strong)}
html[data-theme=dark] .portfolio-manager .portfolio-filters{background:var(--subtle);border-radius:12px}
html[data-theme=dark] .portfolio-manager .portfolio-holding dl>div{border:0}
html[data-theme=dark] .portfolio-manager .portfolio-holding details{border-top:1px solid var(--border);color:var(--secondary)}
html[data-theme=dark] .portfolio-manager .portfolio-labels span{background:var(--subtle);border-radius:6px;color:var(--secondary)}
html[data-theme=dark] .portfolio-manager .portfolio-profit{color:var(--positive)}
html[data-theme=dark] .portfolio-manager .portfolio-loss{color:var(--negative)}
html[data-theme=dark] .portfolio-manager .portfolio-slice-label{stroke:none}
html[data-theme=dark] .portfolio-manager .portfolio-chart .portfolio-donut{border-radius:0}
html[data-theme=dark] .portfolio-manager .chart-active .portfolio-slice:not(.chart-selected){opacity:.65}
html[data-theme=dark] .portfolio-manager .portfolio-purchases p{border-bottom:1px solid var(--border)}
html[data-theme=dark] .portfolio-manager .portfolio-form [data-purchase-preview]{background:var(--blue-50);border-radius:10px}
html[data-theme=dark] .nav-submenu{border-left:1px solid rgba(220,230,242,.2)}
html[data-theme=dark] .nav-item.has-active-submenu{color:var(--accent)}
html[data-theme=dark] body.sidebar-collapsed .nav-submenu{border-left:0}
@media(max-width:1100px){html[data-theme=dark] .nav-submenu{border-left:0}}
html[data-theme=dark] .analysis-stock-title .analysis-watchlist{color:var(--secondary);border-radius:12px}
html[data-theme=dark] .analysis-watchlist svg{fill:none;stroke:currentColor}
html[data-theme=dark] .analysis-watchlist[aria-pressed="true"]{color:var(--warning);background:var(--warning-bg)}
html[data-theme=dark] .analysis-watchlist[aria-pressed="true"] svg{fill:var(--warning)}
html[data-theme=dark] .analysis-watchlist:hover{background:#fff3d1;color:var(--warning)}
html[data-theme=dark] .analysis-watchlist:focus-visible{outline:3px solid var(--border-strong);outline-offset:2px}
html[data-theme=dark] .analysis-watchlist:disabled{opacity:.65}
html[data-theme=dark][data-reading-size] :is(.segmented,.time-options)>button{border:1px solid var(--border);border-radius:7px}
html[data-theme=dark][data-reading-size] .btv-summary-metrics>div{border:0;box-shadow:inset 0 0 0 1px var(--border)}
html[data-theme=dark] .home-dashboard :is(.card,.market-card){
  border:1px solid var(--home-card-border);
  border-radius:var(--home-card-radius);
  box-shadow:var(--home-card-shadow);
  background:var(--surface)}
html[data-theme=dark] .home-dashboard .section-heading h2{color:var(--text)}
html[data-theme=dark] .home-dashboard .data-badge{background:var(--subtle);border-color:var(--border-strong);color:var(--secondary)}
html[data-theme=dark] .home-dashboard .quality-item{border:1px solid var(--border-strong);border-radius:12px;background:var(--subtle)}
html[data-theme=dark] .home-dashboard .preset-card{border-color:var(--border-strong);border-radius:12px;
  background:linear-gradient(180deg,var(--surface) 0%,var(--subtle) 100%)}
html[data-theme=dark] .home-dashboard .preset-card:hover{
  border-color:var(--border-strong);box-shadow:0 4px 14px rgba(30,58,100,.08)}
html[data-theme=dark] .home-dashboard .preset-card:focus-visible{outline:3px solid var(--border-strong);outline-offset:3px}
html[data-theme=dark] .home-dashboard .preset-card footer{border-color:var(--border-strong)}
html[data-theme=dark] .home-dashboard .recent .table-wrap{border:1px solid var(--border-strong);border-radius:12px}
html[data-theme=dark] .home-dashboard .recent th{color:var(--secondary);background:var(--subtle);border-bottom:1px solid var(--border-strong)}
html[data-theme=dark] .home-dashboard .recent td{color:var(--secondary);border-bottom:1px solid var(--border-strong)}
html[data-theme=dark] .home-dashboard .recent td strong{color:var(--text)}
html[data-theme=dark] .home-dashboard .recent td small{color:var(--secondary)}
html[data-theme=dark] .home-dashboard .recent td:nth-child(3){color:var(--secondary)}
html[data-theme=dark] .home-dashboard .recent td:nth-child(4){color:var(--text)}
html[data-theme=dark] .home-dashboard .recent td:last-child{color:var(--secondary)}
html[data-theme=dark] .home-dashboard .recent .table-status{
  border-radius:6px}
html[data-theme=dark] .home-dashboard .recent .table-status.done{color:var(--positive);background:var(--positive-bg)}
html[data-theme=dark] .home-dashboard .recent .table-status.warning{color:var(--warning);background:var(--warning-bg)}
html[data-theme=dark] .home-dashboard .recent tbody tr:last-child td{border-bottom:0}
html[data-theme=dark] .home-dashboard .recent tbody tr:hover{background:var(--blue-50)}
html[data-theme=dark] .home-dashboard .recent td[colspan]{color:var(--secondary)}
@media(max-width:767px){html[data-theme=dark] .home-dashboard :is(.card,.market-card){border-radius:14px}}
html[data-theme=dark] .stock-search-form input{border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text)}
html[data-theme=dark] .stock-search-form input:focus{outline:2px solid var(--blue);outline-offset:2px}
html[data-theme=dark] .pattern-search-controls>p{color:var(--secondary)}
html[data-theme=dark] .pattern-weight-grid small{color:var(--secondary)}
html[data-theme=dark] .pattern-weight-grid input[type=number]{border:1px solid var(--border);border-radius:7px}
html[data-theme=dark] .pattern-weight-grid output{color:var(--accent)}
html[data-theme=dark] .pattern-ratios{background:var(--blue-50);border-radius:8px}
html[data-theme=dark] .pattern-candidate-bar select{border:1px solid var(--border);border-radius:8px;background:var(--surface)}
html[data-theme=dark] .pattern-candidate-bar>span{color:var(--secondary)}
html[data-theme=dark] .pattern-score-summary{background:var(--blue-50);border-radius:10px}
html[data-theme=dark] .pattern-score-summary>strong{color:var(--accent)}
html[data-theme=dark] #patternScoreEvidence details,html[data-theme=dark] .pattern-excluded{color:var(--secondary)}
html[data-theme=dark] .pv-toolbar{border-bottom:1px solid var(--border)}
html[data-theme=dark] .pattern-v button{border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text)}
html[data-theme=dark] .pattern-v button.selected{background:var(--blue);color:#edf2fa;border-color:var(--blue)}
html[data-theme=dark] .pattern-v button:disabled{opacity:.45}
html[data-theme=dark] .pv-tools label{background:var(--subtle);border-radius:7px}
html[data-theme=dark] .pv-hint{color:var(--secondary)}
html[data-theme=dark] .pv-range input{border:1px solid var(--border);border-radius:6px}
html[data-theme=dark] .pv-range small{color:var(--secondary)}
html[data-theme=dark] .pv-card{border:1px solid var(--border);border-radius:12px;background:var(--surface)}
html[data-theme=dark] .pv-head small{color:var(--secondary)}
html[data-theme=dark] .pv-badge{border-radius:20px;background:var(--blue-50);color:var(--accent)}
html[data-theme=dark] .pv-legend{color:var(--secondary)}
html[data-theme=dark] .pv-legend span:before{background:#3568ff}
html[data-theme=dark] .pv-legend span:nth-child(2):before{background:#9c6ade}
html[data-theme=dark] .pv-legend span:nth-child(3):before{background:#8c83ee}
html[data-theme=dark] .pv-tip{background:#192e47ed;border-radius:9px;color:#edf2fa;box-shadow:0 4px 16px #18375720}
html[data-theme=dark] .pv-tip strong{color:var(--secondary)}
html[data-theme=dark] .pv-foot{border-top:1px solid var(--border)}
html[data-theme=dark] .pv-foot small{color:var(--secondary)}
html[data-theme=dark] .pattern-v button:focus-visible,html[data-theme=dark] .pattern-v input:focus-visible{outline:3px solid var(--border-strong);outline-offset:2px}
html[data-theme=dark] .pattern-minimum{border:1px solid var(--border);border-radius:10px}
html[data-theme=dark] .pattern-minimum strong{color:var(--accent)}
html[data-theme=dark] .pattern-minimum small{color:var(--secondary)}
html[data-theme=dark] .pattern-theme-settings{background:var(--blue-50);border-radius:10px}
html[data-theme=dark] .pattern-theme-settings select{border:1px solid var(--border);border-radius:8px;background:var(--surface)}
html[data-theme=dark] .pattern-theme-settings p{color:var(--secondary)}
html[data-theme=dark] .pattern-theme-settings small{color:var(--muted)}
html[data-theme=dark] .pattern-run-status{border:1px solid var(--border);border-radius:10px;background:var(--blue-50)}
html[data-theme=dark] .pattern-run-status>strong{color:var(--accent)}
html[data-theme=dark] .pattern-run-status.has-errors{background:var(--warning-bg);border-color:var(--border-strong)}
html[data-theme=dark] .pattern-run-status.has-errors>strong{color:var(--warning)}
html[data-theme=dark] .pattern-excluded li{border-bottom:1px solid var(--border)}
html[data-theme=dark] .pattern-excluded li strong{color:var(--text)}
html[data-theme=dark] .pattern-excluded li small{color:var(--muted)}
html[data-theme=dark] .similarity-guide{border:1px solid var(--border);border-radius:10px;background:var(--blue-50)}
html[data-theme=dark] .similarity-meaning{color:var(--accent)}
html[data-theme=dark] .similarity-guide dt{color:var(--text)}
html[data-theme=dark] .similarity-guide dd{color:var(--secondary)}
html[data-theme=dark] .similarity-example{border-radius:8px;background:var(--surface)}
html[data-theme=dark] .similarity-guide small,html[data-theme=dark] .similarity-breakdown small{color:var(--secondary)}
html[data-theme=dark] .similarity-guide details{color:var(--secondary)}
html[data-theme=dark] .similarity-guide summary{color:var(--accent)}
html[data-theme=dark] .similarity-breakdown{border:1px solid var(--border);border-radius:10px}
html[data-theme=dark] .similarity-breakdown p{color:var(--secondary)}
html[data-theme=dark] .similarity-breakdown tfoot th,html[data-theme=dark] .similarity-breakdown tfoot td{color:var(--accent);border-top:1px solid var(--border)}
html[data-theme=dark] .pattern-mode-switch{border:1px solid var(--border);border-radius:10px;background:var(--surface)}
html[data-theme=dark] .pattern-mode-switch button{border:0;border-radius:8px;background:var(--surface);color:var(--text)}
html[data-theme=dark] .pattern-mode-switch button[aria-pressed=true]{background:var(--blue);color:#edf2fa}
html[data-theme=dark] .pattern-mode-switch button:focus-visible,html[data-theme=dark] .easy-purpose:focus-visible,html[data-theme=dark] .easy-controls-links button:focus-visible,html[data-theme=dark] #easyGuide>summary:focus-visible{outline:3px solid var(--border-strong);outline-offset:2px}
html[data-theme=dark] .easy-purpose{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:10px}
html[data-theme=dark] .easy-purpose[aria-pressed=true]{border-color:var(--blue);background:var(--blue-50)}
html[data-theme=dark] .easy-purpose-radio{border:1.5px solid var(--border-strong);border-radius:50%}
html[data-theme=dark] .easy-purpose[aria-pressed=true] .easy-purpose-radio{border:6px solid var(--blue)}
html[data-theme=dark] .easy-purpose small{color:var(--secondary)}
html[data-theme=dark] .easy-purpose:disabled{opacity:.6}
html[data-theme=dark] .easy-ratio-card{background:var(--subtle);border-radius:8px}
html[data-theme=dark] .easy-ratio-title>span{background:var(--blue-50);color:var(--accent);border-radius:5px}
html[data-theme=dark] .easy-ratio-bar{border-radius:8px}
html[data-theme=dark] .easy-ratio-bar i:nth-child(1){background:#245ff5}
html[data-theme=dark] .easy-ratio-bar i:nth-child(2){background:#6a8cff}
html[data-theme=dark] .easy-ratio-bar i:nth-child(3){background:#8196b9}
html[data-theme=dark] .easy-ratio-bar i:nth-child(4){background:#b3bfd3}
html[data-theme=dark] #easyModifiedItems,html[data-theme=dark] #easyInputStatus{color:var(--secondary)}
html[data-theme=dark] #easyGuide>summary{color:var(--accent)}
html[data-theme=dark] .easy-reference-summary{background:var(--subtle);border-radius:8px}
html[data-theme=dark] .easy-reference-summary p{color:var(--secondary)}
html[data-theme=dark] .easy-reference-summary small{color:var(--secondary)}
html[data-theme=dark] .easy-feature-explanations>div{border-top:1px solid var(--border)}
html[data-theme=dark] .easy-feature-explanations p{color:var(--secondary)}
html[data-theme=dark] .easy-stale-notice{border:1px solid var(--border-strong);background:var(--warning-bg);border-radius:8px;color:var(--warning)}
html[data-theme=dark] .easy-result-summary{background:var(--blue-50);border:1px solid var(--border);border-radius:10px}
html[data-theme=dark] .easy-result-summary small{color:var(--secondary)}
html[data-theme=dark] .easy-result-heading strong{color:var(--accent)}
html[data-theme=dark] .pattern-job-notice{border:1px solid var(--border-strong);border-radius:12px;background:var(--surface);box-shadow:0 8px 30px #182a4a22}
html[data-theme=dark] .pattern-job-notice strong{color:var(--accent)}
html[data-theme=dark] .pattern-job-notice p{color:var(--secondary)}
html[data-theme=dark] .pv-data-info{background:var(--blue-50);border:1px solid var(--border-strong);border-radius:8px}
html[data-theme=dark] .pv-data-info dt{color:var(--secondary)}
html[data-theme=dark] .pv-data-status span{border-radius:5px;background:var(--blue-50);color:var(--accent)}
html[data-theme=dark] .pv-data-status .ongoing{color:var(--warning);background:var(--warning-bg)}
html[data-theme=dark] .pv-data-notice{background:var(--warning-bg);border:1px solid var(--border-strong);border-radius:8px;color:var(--warning)}
html[data-theme=dark] .pv-data-explanation{color:var(--secondary)}
html[data-theme=dark] .btv small,html[data-theme=dark] .btv-muted{color:var(--muted)}
html[data-theme=dark] .btv-data{color:var(--secondary)}
html[data-theme=dark] .btv select,html[data-theme=dark] .btv input[type=number],html[data-theme=dark] .btv input[type=search],html[data-theme=dark] .btv-add input{border:1px solid var(--border);border-radius:8px;color:var(--text);background:var(--surface)}
html[data-theme=dark] .btv-help{background:var(--blue-50);border-radius:10px;color:var(--accent)}
html[data-theme=dark] .btv-targets label{border:1px solid var(--border);border-radius:8px}
html[data-theme=dark] .btv-cost{color:var(--secondary)}
html[data-theme=dark] .btv-cost span{color:var(--muted)}
html[data-theme=dark] .btv-run-info p{color:var(--secondary)}
html[data-theme=dark] .btv-stale{border-top:3px solid var(--border-strong)}
html[data-theme=dark] .btv-stale:before{background:var(--warning-bg);color:var(--warning);border-radius:8px}
html[data-theme=dark] .btv-main .section-heading p{color:var(--secondary)}
html[data-theme=dark] .btv-segments{background:var(--blue-50);border-radius:9px}
html[data-theme=dark] .btv-segments button{border:0;background:transparent;border-radius:6px;color:var(--secondary)}
html[data-theme=dark] .btv-segments button.selected{background:var(--surface);color:var(--accent);box-shadow:0 1px 4px #18345415}
html[data-theme=dark] .btv-plain-result{border-radius:12px;background:var(--blue-50)}
html[data-theme=dark] .btv-plain-result span{color:var(--secondary)}
html[data-theme=dark] .btv-plain-result p{color:var(--secondary)}
html[data-theme=dark] .btv-start-note{border:1px dashed var(--border-strong);background:var(--surface);border-radius:8px}
html[data-theme=dark] .btv-readout{color:var(--secondary)}
html[data-theme=dark] .btv-case-heading p{color:var(--secondary)}
html[data-theme=dark] .btv-case{border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text)}
html[data-theme=dark] .btv-case.selected{background:var(--blue-50);border:2px solid var(--blue)}
html[data-theme=dark] .btv-case small,html[data-theme=dark] .btv-case span{color:var(--muted)}
html[data-theme=dark] .btv-case .btv-outcome{border-top:1px solid var(--border)}
html[data-theme=dark] .btv-detail>p{color:var(--secondary)}
html[data-theme=dark] .btv-meta p{color:var(--secondary)}
html[data-theme=dark] .btv-meta li{color:var(--secondary)}
html[data-theme=dark] .btv-forward p{color:var(--secondary)}
html[data-theme=dark] .btv-stage-grid>div{background:var(--blue-50);border-radius:10px}
html[data-theme=dark] .btv button:focus-visible,html[data-theme=dark] .btv select:focus-visible,html[data-theme=dark] .btv summary:focus-visible{outline:3px solid var(--border-strong);outline-offset:2px}
html[data-theme=dark] .btv button[disabled]{opacity:.5}
html[data-theme=dark] .btv-selected-themes>span{background:var(--blue-50);border:1px solid var(--border-strong);border-radius:8px;color:var(--accent)}
html[data-theme=dark] .btv-selected-themes button,html[data-theme=dark] .btv-member-list button{border:0;border-radius:5px;background:transparent;color:inherit}
html[data-theme=dark] .btv-selected-themes button:hover{background:var(--blue-50)}
html[data-theme=dark] .btv-composition,html[data-theme=dark] .btv-custom-settings{border:1px solid var(--border);border-radius:8px}
html[data-theme=dark] .btv-composition summary,html[data-theme=dark] .btv-custom-settings summary{color:var(--secondary)}
html[data-theme=dark] .btv-member-list>span{background:var(--subtle);border:1px solid var(--border);border-radius:6px}
html[data-theme=dark] .btv #btThemeSource a{color:var(--accent)}
html[data-theme=dark] .btv-summary-top p{color:var(--secondary)}
html[data-theme=dark] .btv-summary-controls>div>span{color:var(--secondary)}
html[data-theme=dark] .btv-summary-basis{color:var(--secondary)}
html[data-theme=dark] .btv-summary-metrics{border:1px solid var(--border);border-radius:11px}
html[data-theme=dark] .btv-summary-metrics>div{border-right:1px solid var(--border)}
html[data-theme=dark] .btv-summary-metrics>div:last-child{border:0}
html[data-theme=dark] .btv-summary-metrics span{color:var(--secondary)}
html[data-theme=dark] .btv-summary-insight{background:var(--blue-50);border-radius:9px;color:var(--accent)}
html[data-theme=dark] .btv-summary-note{color:var(--secondary)}
html[data-theme=dark] .btv-distribution-footer{color:var(--secondary)}
html[data-theme=dark] .btv-distribution-footer>div{border-top:1px solid var(--border)}
html[data-theme=dark] .btv-benchmark-difference{background:var(--blue-50);border-radius:8px}
html[data-theme=dark] .btv-benchmark-difference strong{color:var(--accent)}
html[data-theme=dark] .btv-market-exclusions{color:var(--secondary)}
@media(max-width:650px){html[data-theme=dark] .btv-summary-metrics>div:nth-child(2){border-right:0}
html[data-theme=dark] .btv-summary-metrics>div:nth-child(-n+2){border-bottom:1px solid var(--border)}}
html[data-theme=dark] .btv-meta a,html[data-theme=dark] .btv-muted a{color:var(--accent)}
html[data-theme=dark] .bt-pattern-dialog{border:1px solid var(--border);border-radius:16px;color:var(--text);background:var(--surface,var(--surface))}
html[data-theme=dark] .bt-pattern-dialog::backdrop{background:rgba(23,35,55,.45)}
html[data-theme=dark] .bt-picker-tabs button{border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--secondary)}
html[data-theme=dark] .bt-picker-tabs [aria-selected=true]{background:var(--blue-50);color:var(--accent);border-color:var(--blue)}
html[data-theme=dark] .bt-picker-query input{border:1px solid var(--border);border-radius:9px}
html[data-theme=dark] .bt-picker-card{border:1px solid var(--border);border-radius:12px}
html[data-theme=dark] .bt-picker-card small{color:var(--secondary)}
html[data-theme=dark] .bt-picker-preview{background:var(--subtle);border-radius:12px}
html[data-theme=dark] .bt-pattern-dialog #btPickerStatus{color:var(--secondary)}
html[data-theme=dark] .bt-pattern-dialog>.results-actions{background:var(--surface);border-top:1px solid var(--border)}
html[data-theme=dark] .portfolio-history{color:var(--text)}
html[data-theme=dark] .portfolio-history .ph-storage{color:var(--ph-muted)}
html[data-theme=dark] .portfolio-history .ph-card{border:1px solid var(--border);background:var(--surface);border-radius:12px}
html[data-theme=dark] .portfolio-history small{color:var(--ph-muted)}
html[data-theme=dark] .portfolio-history .ph-comparison label{color:var(--ph-muted)}
html[data-theme=dark] .portfolio-history select{border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text)}
html[data-theme=dark] .portfolio-history .ph-arrow{color:var(--secondary)}
html[data-theme=dark] .portfolio-history .ph-metric:first-child{border-color:var(--border-strong);background:linear-gradient(135deg,var(--surface),var(--blue-50))}
html[data-theme=dark] .portfolio-history .ph-metric>span{color:var(--ph-muted)}
html[data-theme=dark] .portfolio-history .ph-up{color:var(--positive)}
html[data-theme=dark] .portfolio-history .ph-down{color:var(--negative)}
html[data-theme=dark] .portfolio-history .ph-badge{border-radius:5px;color:var(--positive);background:var(--positive-bg)}
html[data-theme=dark] .portfolio-history .ph-warn{color:var(--warning);background:var(--warning-bg)}
html[data-theme=dark] .portfolio-history .ph-blue{color:var(--accent);background:var(--blue-50)}
html[data-theme=dark] .portfolio-history .ph-selected-value{color:var(--accent);background:var(--blue-50);border-radius:7px}
html[data-theme=dark] .portfolio-history .ph-chart-scroll{border:1px solid var(--border-strong);border-radius:9px;background:var(--subtle)}
html[data-theme=dark] .portfolio-history .ph-axis{fill:var(--secondary)}
html[data-theme=dark] .portfolio-history .ph-point-label{fill:var(--accent);stroke:var(--border)}
html[data-theme=dark] .portfolio-history .ph-partial-label{fill:var(--warning)}
html[data-theme=dark] .portfolio-history .ph-point-role{fill:var(--secondary)}
html[data-theme=dark] .portfolio-history [data-history-point]{outline:none}
html[data-theme=dark] .portfolio-history [data-history-point]:focus-visible>circle:first-of-type{stroke:var(--accent)}
html[data-theme=dark] .portfolio-history .ph-legend{color:var(--ph-muted)}
html[data-theme=dark] .portfolio-history .ph-dot{background:#245ff5;border-radius:50%}
html[data-theme=dark] .portfolio-history .ph-amber{background:#d59735}
html[data-theme=dark] .portfolio-history .ph-chart-hint{color:var(--ph-muted)}
html[data-theme=dark] .portfolio-history .ph-events article{background:var(--subtle);border-radius:8px}
html[data-theme=dark] .portfolio-history .ph-info{background:var(--blue-50);border:1px solid var(--border-strong);border-radius:8px;color:var(--accent)}
html[data-theme=dark] .portfolio-history .ph-table{border-collapse:collapse}
html[data-theme=dark] .portfolio-history .ph-table th{background:var(--subtle);color:var(--ph-muted);border-bottom:1px solid var(--border)}
html[data-theme=dark] .portfolio-history .ph-table td{border-bottom:1px solid var(--border-strong)}
html[data-theme=dark] .portfolio-history .ph-table-note{color:var(--ph-muted)}
html[data-theme=dark] .portfolio-history details{border-top:1px solid var(--border-strong)}
html[data-theme=dark] .portfolio-history summary{color:var(--ph-muted)}
html[data-theme=dark] .portfolio-history .ph-filters button{background:var(--surface);border:1px solid var(--border);border-radius:6px}
html[data-theme=dark] .portfolio-history .ph-filters .ph-active{background:var(--blue-50);border-color:var(--border-strong);color:var(--accent)}
html[data-theme=dark] .portfolio-history .ph-record{border:1px solid var(--border);border-radius:9px;background:var(--surface)}
html[data-theme=dark] .portfolio-history .ph-record-selected{background:var(--blue-50);border-color:var(--border-strong);box-shadow:inset 3px 0 #245ff5}
html[data-theme=dark] .portfolio-history .ph-record-tag{color:var(--accent)}
html[data-theme=dark] .portfolio-history .ph-partial-tag{color:var(--warning)}
html[data-theme=dark] .portfolio-history .ph-guide{background:var(--subtle)}
html[data-theme=dark] .portfolio-history .ph-guide p{color:var(--ph-muted)}
html[data-theme=dark] .portfolio-history .ph-warning{border:1px solid var(--border-strong);border-radius:8px;background:var(--warning-bg);color:var(--warning)}
html[data-theme=dark] .portfolio-history .ph-empty>span{color:var(--secondary)}
html[data-theme=dark] .portfolio-history .ph-empty p{color:var(--ph-muted)}
html[data-theme=dark] .portfolio-history .ph-dialog{border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);box-shadow:0 24px 80px #08152530}
html[data-theme=dark] .portfolio-history .ph-dialog::backdrop{background:#08152565}
html[data-theme=dark] .portfolio-history .ph-dialog p{color:var(--ph-muted)}
html[data-theme=dark] .portfolio-history .ph-dialog label{color:var(--ph-muted)}
html[data-theme=dark] .portfolio-history .ph-dialog input,html[data-theme=dark] .portfolio-history .ph-dialog textarea{border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text)}
html[data-theme=dark] .portfolio-history .ph-save-summary{background:var(--subtle);border-radius:8px;color:var(--ph-muted)}
html[data-theme=dark] .portfolio-history .ph-save-summary strong{color:var(--text)}
html[data-theme=dark] .portfolio-history #historySaveStatus{color:var(--negative)}
html[data-theme=dark] .portfolio-history button:focus-visible,html[data-theme=dark] .portfolio-history select:focus-visible,html[data-theme=dark] .portfolio-history .ph-chart-scroll:focus-visible{outline:3px solid var(--border-strong);outline-offset:3px}
html[data-theme=dark] .sidebar{background:var(--bg);border-right:1px solid var(--border);color:var(--text)}
html[data-theme=dark] main.home-dashboard{--muted:var(--secondary)}
html[data-theme=dark] svg [stroke="#16864a"]{stroke:var(--positive)}
html[data-theme=dark] svg [fill="#16864a"]{fill:var(--positive)}
html[data-theme=dark] svg [stroke="#d84a4a"]{stroke:var(--negative)}
html[data-theme=dark] svg [fill="#d84a4a"]{fill:var(--negative)}
html[data-theme=dark] svg [stroke="#3568ff"],html[data-theme=dark] svg [stroke="#245ff5"]{stroke:#91b7ff}
html[data-theme=dark] svg [stroke="#e7a529"]{stroke:#f4c475}
html[data-theme=dark] svg [stroke="#34495e"]{stroke:#c8d2df}
html[data-theme=dark] svg [stroke="#8c83ee"]{stroke:#b2a8ff}
html[data-theme=dark] .nav-item{color:var(--secondary)}
html[data-theme=dark] .nav-item.active{background:var(--blue-50);color:var(--accent)}
html[data-theme=dark] .nav-item:hover{background:var(--subtle)}
html[data-theme=dark] .brand{color:var(--text)}
html[data-theme=dark] .topbar,html[data-theme=dark] .site-footer,html[data-theme=dark] .bottom-nav{background:var(--surface)}
html[data-theme=dark] .global-search{background:var(--bg);border-color:var(--border-strong)}
html[data-theme=dark] input::placeholder{color:var(--muted);opacity:1}
html[data-theme=dark] .demo-guide{background:var(--surface)}
html[data-theme=dark] .demo-banner{background:var(--blue-50);color:var(--secondary)}
html[data-theme=dark] .demo-banner strong{color:var(--accent)}
html[data-theme=dark] .demo-banner button{background:var(--surface);color:var(--text)}
html[data-theme=dark] .primary-action,html[data-theme=dark] .primary-action:not(:disabled),html[data-theme=dark] .segmented button.selected,html[data-theme=dark] .time-options button.selected,html[data-theme=dark] .primary-button,html[data-theme=dark] .btn-primary{color:#fff}
html[data-theme=dark] .primary-action:disabled{background:var(--subtle);color:var(--muted)}
html[data-theme=dark] .section-kicker,html[data-theme=dark] .link-button,html[data-theme=dark] .text-button,html[data-theme=dark] .outline-primary,html[data-theme=dark] .step-pill,html[data-theme=dark] .tag.blue,html[data-theme=dark] .preset-market,html[data-theme=dark] .analysis-detail-link{color:var(--accent)}
html[data-theme=dark] .quality-note,html[data-theme=dark] .display-guidance{color:var(--secondary)}
html[data-theme=dark] .sparkline .line{stroke:var(--positive)}
html[data-theme=dark] .sparkline .baseline{stroke:var(--border)}
html[data-theme=dark] .chart-grid,html[data-theme=dark] .chart-grid line,html[data-theme=dark] .technical-grid line,html[data-theme=dark] .chart-grid-line{stroke:var(--border)}
html[data-theme=dark] .chart-label,html[data-theme=dark] .chart-axis text,html[data-theme=dark] .axis-label,html[data-theme=dark] .technical-chart text{fill:var(--secondary)}
html[data-theme=dark] .price-close-line[stroke="#182a4a"]{stroke:var(--text)!important}
html[data-theme=dark] button:focus-visible,html[data-theme=dark] a:focus-visible,html[data-theme=dark] input:focus-visible,html[data-theme=dark] select:focus-visible{outline:3px solid #91b7ff;outline-offset:3px}
html[data-theme=dark] .theme-toggle{background:var(--blue-50);color:var(--accent);border-color:var(--border-strong)}
html[data-theme=dark] .theme-toggle:hover{background:var(--subtle)}
html[data-theme=dark] main.home-dashboard{--home-card-border:var(--border);--home-card-shadow:var(--shadow)}

html[data-theme=dark] .mypage-entry-actions>.secondary-button{background:var(--blue-50);border-color:var(--border);color:var(--accent)}
html[data-theme=dark] .mypage-entry-actions>.secondary-button:hover{background:var(--subtle);border-color:var(--accent)}
html[data-theme=dark] .mypage-entry .mypage-entry-home{background:transparent;color:var(--secondary)}
html[data-theme=dark] .mypage-entry .mypage-entry-home:hover{background:var(--subtle);color:var(--text)}
