:root{font-family:Inter,Microsoft YaHei,PingFang SC,system-ui,sans-serif;color:#182033;background:#f5f7fb;font-synthesis:none;text-rendering:geometricPrecision;--bg: #f5f7fb;--surface: #ffffff;--surface-soft: #fbfcff;--line: #e4e9f2;--line-strong: #d6deeb;--text: #182033;--muted: #697386;--faint: #98a2b3;--primary: #3b35e8;--primary-strong: #2f2ac7;--primary-soft: #f0f1ff;--green: #16a66a;--green-soft: #eaf8f0;--red: #e14b5a;--red-soft: #fff0f2;--amber: #d78b12;--shadow: 0 10px 32px rgba(30, 41, 59, .06);--radius: 8px}*{box-sizing:border-box}body{margin:0;min-width:1120px;background:var(--bg)}button,input,select{font:inherit;letter-spacing:0}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.56}input,select{width:100%;height:36px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--text);padding:0 11px;outline:none;font-size:13px}input:focus,select:focus{border-color:#9aa8ff;box-shadow:0 0 0 3px #3b35e81a}.app{display:grid;justify-items:center;min-height:100vh}.shell{display:grid;grid-template-columns:188px minmax(0,1fr);width:100%;height:100vh;min-height:100vh;overflow:hidden;background:linear-gradient(180deg,#ffffffe6,#f5f7fbf5 240px),var(--bg)}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;gap:18px;height:100vh;border-right:1px solid var(--line);background:#ffffffeb;padding:18px 14px}.brand{display:flex;align-items:center;gap:9px;height:40px;color:#111827;font-size:15px;font-weight:800}.brand-mark{display:grid;place-items:center;width:28px;height:28px;border-radius:7px;background:var(--primary);color:#fff;box-shadow:0 8px 18px #3b35e838}.nav{display:grid;gap:5px}.nav-item,.settings-button{position:relative;display:flex;align-items:center;gap:9px;width:100%;min-height:38px;border-radius:7px;background:transparent;color:#5d6679;padding:0 10px;text-align:left;font-size:13px;font-weight:650;transition:background .14s ease,color .14s ease}.nav-item:hover,.settings-button:hover{background:#f3f5fa;color:var(--text)}.nav-item.active{background:var(--primary-soft);color:var(--primary)}.nav-item.active:before{content:"";position:absolute;left:-14px;width:3px;height:22px;border-radius:99px;background:var(--primary)}.sidebar-account{margin-top:auto;display:grid;gap:6px}.sidebar-account>span{overflow:hidden;color:var(--muted);font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.main{min-width:0;display:grid;justify-items:stretch;min-height:0;overflow-y:auto;padding:20px 22px 28px}.page{display:grid;gap:14px;width:100%}.strategy-page{align-content:start}.dashboard-page{align-content:start;gap:12px}.dashboard-page .page-header{min-height:auto;margin-bottom:0}.signals-page{align-content:start;gap:12px}.signals-page .page-header{min-height:auto;margin-bottom:0}.signals-page .toolbar{min-height:auto}.watchlist-page{align-content:start;gap:12px}.watchlist-page .page-header{min-height:auto;margin-bottom:0}.new-coins-page{align-content:start;gap:12px}.new-coins-page .page-header{min-height:auto;margin-bottom:0}.new-coin-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.new-coin-source-card{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:6px 10px;min-height:74px}.new-coin-source-card svg{grid-row:1 / span 2;color:var(--primary)}.new-coin-source-card span{color:var(--muted);font-size:12px;font-weight:700}.market-radar-page{align-content:start;gap:12px}.market-radar-page .page-header{min-height:auto;margin-bottom:0}.market-radar-environment{display:grid;grid-template-columns:230px minmax(360px,1fr) 360px;gap:12px;align-items:stretch}.radar-score-card{display:grid;align-content:center;min-height:150px}.radar-score-card span,.radar-metric-card span{color:var(--muted);font-size:12px;font-weight:760}.radar-score-card strong{margin-top:6px;color:#111827;font-size:46px;line-height:1;font-weight:900}.radar-score-card b{margin-top:7px;color:var(--primary);font-size:15px}.radar-score-card.tradable b{color:var(--green)}.radar-score-card.avoid b{color:var(--red)}.radar-metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.radar-metric-card{display:grid;align-content:center;gap:7px;min-height:150px}.radar-metric-card svg{color:var(--primary)}.radar-metric-card strong{color:#111827;font-size:20px;font-weight:850}.radar-notes-panel ul{display:grid;gap:9px;margin:12px 0 0;padding-left:18px;color:#334155;font-size:13px;line-height:1.55}.market-radar-content{display:block}.radar-tabs-card{overflow:hidden;padding:0;background:linear-gradient(180deg,#f8fafceb,#fffffffa)}.radar-tabs-header{justify-content:space-between;align-items:center;gap:16px;padding:16px 18px 12px;border-bottom:1px solid var(--line);margin-bottom:0}.radar-tabs{display:flex;flex-wrap:wrap;gap:10px}.radar-tab{border:1px solid var(--line);border-radius:999px;background:#f8fafce6;color:var(--muted);padding:9px 14px;font-size:13px;font-weight:700;transition:all .18s ease}.radar-tab:hover{border-color:#4f46e53d;color:var(--primary)}.radar-tab.active{border-color:#4f46e533;background:#4f46e51a;color:var(--primary);box-shadow:inset 0 0 0 1px #4f46e514}.radar-active-summary{white-space:nowrap}.radar-section-description{display:grid;gap:6px;padding:16px 18px 14px;border-bottom:1px solid var(--line)}.radar-section-description strong{font-size:22px;color:#0f172a}.radar-section-description p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}.market-data-page{align-content:start;gap:12px}.market-data-page .table-panel{overflow:hidden}.market-data-page .table-panel>.panel-title{padding:16px 18px 14px;margin-bottom:0}.market-data-page .table-panel>.panel-title+.data-note-strip{border-top:1px solid var(--line)}.market-data-page .table-panel>.compact-empty{padding:22px 18px 26px}.market-data-page .risk-panel{padding:16px 18px 18px}.market-data-page .risk-panel .panel-title{margin-bottom:14px}.compact-header{min-height:auto;margin-bottom:0}.auto-refresh.active{border-color:#16a66a47;background:var(--green-soft);color:var(--green)}.data-status-summary{display:grid;grid-template-columns:210px repeat(3,minmax(0,1fr));gap:12px;align-items:stretch}.data-overall-card{display:grid;align-content:space-between;min-height:184px}.data-overall-card span,.data-task-card span{color:var(--muted);font-size:12px;font-weight:760}.data-overall-card strong{display:block;margin-top:7px;color:#111827;font-size:30px;line-height:1.1;font-weight:900}.data-overall-card b,.task-card-head b{width:fit-content;border-radius:999px;padding:5px 9px;background:var(--primary-soft);color:var(--primary);font-size:12px;font-weight:850}.data-overall-card.warning b,.data-task-card.warning .task-card-head b{background:var(--red-soft);color:var(--red)}.data-overall-card.completed b,.data-task-card.completed .task-card-head b{background:var(--green-soft);color:var(--green)}.data-overall-card.waiting b,.data-task-card.waiting .task-card-head b{background:#f1f5f9;color:#475569}.data-task-card{display:grid;gap:14px;min-height:184px}.task-card-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.task-card-head h2{margin:5px 0 0;color:#111827;font-size:17px}.task-progress{display:grid;gap:8px}.task-progress div{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.task-progress strong{color:#111827;font-size:24px;font-weight:900}.task-progress>span,.progress-cell span{display:block;overflow:hidden;height:8px;border-radius:999px;background:#edf2f7}.task-progress i,.progress-cell i{display:block;height:100%;border-radius:inherit;background:var(--primary)}.data-task-card.completed .task-progress i{background:var(--green)}.data-task-card.warning .task-progress i{background:var(--red)}.task-icon-line{display:flex;gap:8px;align-items:center;min-height:36px;color:var(--muted)}.task-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.task-metrics span{border:1px solid var(--line);border-radius:7px;background:var(--surface-soft);padding:9px 10px;color:#334155}.task-error{margin:0;color:var(--red);font-size:12px}.data-coverage-panel{overflow:hidden}.data-note-strip{background:#f8fafc;padding:11px 18px;color:#475569;font-size:13px;font-weight:650}.data-status-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(430px,.8fr);gap:12px;align-items:start}.data-status-grid.single-panel{grid-template-columns:minmax(0,1fr)}.bottom-grid{grid-template-columns:minmax(0,1fr) 320px}.data-table{table-layout:fixed}.data-table th,.data-table td{white-space:nowrap}.progress-cell{display:grid;grid-template-columns:minmax(72px,1fr) 48px;gap:8px;align-items:center}.progress-cell b{color:#334155;font-size:12px}.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;background:#f1f5f9;color:#475569;font-size:12px;font-weight:820}.source-pill{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:820}.source-pill.native{background:var(--green-soft);color:var(--green)}.source-pill.derived{background:#eef2ff;color:#4338ca}.derived-progress-note{color:var(--muted);font-size:12px;font-weight:760}.status-pill.normal,.status-pill.completed{background:var(--green-soft);color:var(--green)}.status-pill.empty,.status-pill.warning{background:var(--red-soft);color:var(--red)}.compact-empty{padding:28px 16px;color:var(--muted);font-size:13px}.failed-task-panel{overflow:hidden}.failed-task-title{display:grid;gap:4px}.failed-task-filter{display:inline-grid;gap:6px;min-width:132px;color:#475569;font-size:12px;font-weight:760}.failed-task-filter select{min-width:132px}.failed-task-error{max-width:0;overflow:hidden;color:var(--red);text-overflow:ellipsis}.risk-panel ul{display:grid;gap:10px;margin:0;padding:0;list-style:none}.risk-panel li{display:grid;grid-template-columns:16px minmax(0,1fr);gap:8px;align-items:start;border:1px solid var(--line);border-radius:7px;background:var(--surface-soft);padding:10px;color:#334155;font-size:13px;line-height:1.5}.risk-panel svg{margin-top:2px;color:var(--amber)}.radar-table-panel{overflow:hidden}.radar-section-table{table-layout:fixed}.radar-section-table th:nth-child(1),.radar-section-table td:nth-child(1){width:330px}.radar-section-table th:nth-child(2),.radar-section-table td:nth-child(2),.radar-section-table th:nth-child(4),.radar-section-table td:nth-child(4),.radar-section-table th:nth-child(5),.radar-section-table td:nth-child(5),.radar-section-table th:nth-child(6),.radar-section-table td:nth-child(6),.radar-section-table th:nth-child(7),.radar-section-table td:nth-child(7){width:100px}.radar-section-table th:nth-child(3),.radar-section-table td:nth-child(3){width:148px}.radar-section-table th:nth-child(8),.radar-section-table td:nth-child(8){width:182px}.radar-move-cell{display:grid;gap:4px}.radar-move-cell strong{color:#111827;font-size:13px}.radar-move-cell span,.table-note.subtle{color:var(--muted)}.radar-table-title{justify-content:space-between;border-bottom:1px solid var(--line);padding:14px 16px 12px}.radar-table-panel .table{table-layout:fixed}.radar-table-panel .table th:nth-child(1),.radar-table-panel .table td:nth-child(1){width:340px}.radar-table-panel .table th:nth-child(2),.radar-table-panel .table td:nth-child(2),.radar-table-panel .table th:nth-child(3),.radar-table-panel .table td:nth-child(3),.radar-table-panel .table th:nth-child(4),.radar-table-panel .table td:nth-child(4),.radar-table-panel .table th:nth-child(5),.radar-table-panel .table td:nth-child(5),.radar-table-panel .table th:nth-child(6),.radar-table-panel .table td:nth-child(6),.radar-table-panel .table th:nth-child(7),.radar-table-panel .table td:nth-child(7){width:90px}.radar-table-panel .table th:nth-child(8),.radar-table-panel .table td:nth-child(8){width:182px}.radar-actions-cell{display:grid;gap:8px}.radar-actions-cell button{justify-content:center}.radar-score-line{display:inline-flex;width:48px;height:5px;margin-right:7px;overflow:hidden;border-radius:999px;background:#edf1f6;vertical-align:middle}.radar-score-line span{display:block;border-radius:inherit;background:var(--primary)}.risk-badge{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:22px;border-radius:999px;font-size:12px;font-weight:820}.risk-badge.low{background:var(--green-soft);color:var(--green)}.risk-badge.medium{background:#fff7e6;color:var(--amber)}.risk-badge.high{background:var(--red-soft);color:var(--red)}@media(max-width:1360px){.radar-tabs-header{align-items:start;flex-direction:column}.radar-active-summary{white-space:normal}}.radar-focus-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.radar-focus-card{display:grid;gap:10px}.modal.radar-kline-modal{width:min(1680px,calc(100vw - 16px));max-width:calc(100vw - 16px);height:calc(100vh - 16px);max-height:calc(100vh - 16px);overflow:hidden}.radar-kline-modal .modal-header{padding:10px 14px}.radar-kline-modal .modal-body{display:grid;height:calc(100% - 66px);gap:10px;grid-template-rows:auto minmax(0,1fr) auto;padding:8px 14px 16px}.radar-kline-summary{display:grid;gap:2px;max-width:min(760px,100%)}.radar-kline-summary span:first-child{color:var(--primary);font-size:13px;font-weight:760}.radar-kline-summary span:last-child{color:var(--muted);font-size:13px;line-height:1.35}.radar-kline-modal .market-chart-header{min-height:54px;gap:6px 14px;padding:8px 10px 6px}.radar-kline-footer{display:flex;flex-wrap:wrap;gap:10px;border-top:1px solid var(--line);padding-top:14px;color:#475569;font-size:12px;font-weight:700}.radar-focus-card>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px}.radar-focus-card>div:first-child strong{color:#111827;font-size:15px}.radar-focus-card small{display:inline-flex;align-items:flex-start;gap:6px;color:var(--muted);font-size:12px;line-height:1.45}.radar-mini-bars{display:flex;align-items:end;gap:3px;height:48px;border-bottom:1px solid var(--line)}.radar-mini-bars span{flex:1;min-width:4px;border-radius:3px 3px 0 0;background:linear-gradient(180deg,#16a66ae6,#16a66a2e)}.new-coin-source-card strong{color:#111827;font-size:17px;line-height:1.2}.new-coin-table-panel .table{table-layout:fixed}.new-coin-table-panel .table th:nth-child(1),.new-coin-table-panel .table td:nth-child(1){width:116px}.new-coin-table-panel .table th:nth-child(2),.new-coin-table-panel .table td:nth-child(2){width:160px}.new-coin-table-panel .table th:nth-child(3),.new-coin-table-panel .table td:nth-child(3),.new-coin-table-panel .table th:nth-child(6),.new-coin-table-panel .table td:nth-child(6),.new-coin-table-panel .table th:nth-child(7),.new-coin-table-panel .table td:nth-child(7){width:112px}.new-coin-table-panel .table th:nth-child(5),.new-coin-table-panel .table td:nth-child(5){width:170px}.new-coin-title{overflow:hidden;text-overflow:ellipsis}.new-coin-pairs{display:flex;flex-wrap:wrap;gap:6px}.new-coin-pairs span,.new-coin-status,.new-coin-notified{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;padding:0 8px;font-size:12px;font-weight:800}.new-coin-pairs span{background:#eef2ff;color:var(--primary)}.new-coin-status.upcoming{background:#fff7ed;color:#c56d0b}.new-coin-status.discovered{background:#eef2ff;color:var(--primary)}.new-coin-status.listed,.new-coin-notified{background:var(--green-soft);color:var(--green)}.new-coin-notified{gap:5px}.new-coin-link{text-decoration:none}.watchlist-table-panel{overflow:hidden}.watchlist-table-panel .table{table-layout:auto}.watchlist-table-panel .table th:nth-child(1),.watchlist-table-panel .table td:nth-child(1){width:140px}.watchlist-table-panel .table th:nth-child(2),.watchlist-table-panel .table td:nth-child(2),.watchlist-table-panel .table th:nth-child(5),.watchlist-table-panel .table td:nth-child(5),.watchlist-table-panel .table th:nth-child(6),.watchlist-table-panel .table td:nth-child(6){width:1%}.watchlist-table-panel .table th:nth-child(3),.watchlist-table-panel .table td:nth-child(3),.watchlist-table-panel .table th:nth-child(4),.watchlist-table-panel .table td:nth-child(4),.watchlist-table-panel .table th:nth-child(7),.watchlist-table-panel .table td:nth-child(7){width:88px}.watchlist-table-panel .table th:nth-child(7),.watchlist-table-panel .table td:nth-child(7){width:118px}.watchlist-table-panel .table td:last-child{white-space:nowrap}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;min-height:56px;margin-bottom:2px}.header-meta{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;white-space:nowrap}.page h1{margin:0;color:#111827;font-size:22px;line-height:1.18;font-weight:800}.page p{margin:5px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.muted{color:var(--muted);font-size:12px}.grid{display:grid;gap:14px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.card,.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.card{padding:14px}.panel{padding:16px}.kpi-card{position:relative;min-height:74px;overflow:hidden}.kpi-card:after{content:"";position:absolute;right:14px;bottom:13px;width:40px;height:3px;border-radius:999px;background:linear-gradient(90deg,var(--primary),rgba(59,53,232,.12))}.kpi-card span,.metric-panel span,.stat-block span{color:var(--muted);font-size:12px;font-weight:700}.kpi-card strong{display:block;margin-top:8px;color:var(--primary);font-size:24px;line-height:1;font-weight:850}.split-layout{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);gap:14px;align-items:start}.dashboard-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,.42fr);gap:14px;align-items:stretch}.latest-panel{min-height:280px}.latest-panel .table{table-layout:fixed}.latest-panel .table th:nth-child(1),.latest-panel .table td:nth-child(1){width:76px}.latest-panel .table th:nth-child(2),.latest-panel .table td:nth-child(2){width:96px}.latest-panel .table th:nth-child(4),.latest-panel .table td:nth-child(4){width:96px}.latest-panel .table th:nth-child(5),.latest-panel .table td:nth-child(5),.latest-panel .table th:nth-child(6),.latest-panel .table td:nth-child(6),.latest-panel .table th:nth-child(7),.latest-panel .table td:nth-child(7){width:72px}.latest-panel .table td:nth-child(3){overflow:hidden;text-overflow:ellipsis}.latest-panel .panel-title{padding:16px 16px 0}.trend-panel{min-height:280px}.detail-layout,.case-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px;align-items:start}.signal-detail-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}.signal-detail-meta>span{display:inline-flex;align-items:center;min-height:28px;border:1px solid #e5eaf3;border-radius:6px;background:#fff;color:#475569;padding:4px 9px;font-size:12px;font-weight:700}.signal-detail-meta .strength{min-width:112px;height:28px;padding:4px 8px;border:1px solid #e5eaf3;border-radius:6px;background:#fff}.signal-detail-meta .strength strong{font-size:12px}.signal-detail-meta .strength-track{height:5px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.panel-title h2,.panel-title h3{display:inline-flex;align-items:center;gap:7px;margin:0;color:#111827;font-size:15px;font-weight:800}.panel-title h3{font-size:14px}.table-panel{overflow-x:auto;padding:0}.strategy-controls{display:grid;grid-template-columns:auto minmax(320px,1fr) auto;align-items:center;gap:14px;padding:10px 14px}.strategy-content-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px;align-items:start}.strategy-main-column{display:grid;gap:14px;min-width:0}.recent-scan-panel{position:sticky;top:14px;align-self:start;padding:0;overflow:hidden}.recent-scan-panel header{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:14px 14px 12px}.recent-scan-panel h2{margin:0;color:#111827;font-size:15px;font-weight:850}.strategy-table-panel .table{table-layout:fixed}.strategy-table-panel .table th:nth-child(1),.strategy-table-panel .table td:nth-child(1){width:320px;white-space:normal}.strategy-table-panel .table th:nth-child(2),.strategy-table-panel .table td:nth-child(2),.strategy-table-panel .table th:nth-child(3),.strategy-table-panel .table td:nth-child(3),.strategy-table-panel .table th:nth-child(4),.strategy-table-panel .table td:nth-child(4),.strategy-table-panel .table th:nth-child(5),.strategy-table-panel .table td:nth-child(5){width:76px}.strategy-table-panel .table th:nth-child(6),.strategy-table-panel .table td:nth-child(6){width:132px}.strategy-table-panel .table th:nth-child(7),.strategy-table-panel .table td:nth-child(7),.strategy-table-panel .table th:nth-child(8),.strategy-table-panel .table td:nth-child(8){width:112px}.strategy-table-panel .table th:nth-child(9),.strategy-table-panel .table td:nth-child(9){width:100px}.strategy-table-panel .table td:first-child strong{display:block;overflow:hidden;color:#111827;font-size:13px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.strategy-table-panel .table-note{display:-webkit-box;overflow:hidden;margin:3px 0 0;color:#7c8798;font-size:10.5px;line-height:1.35;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.link-button{border:0;background:transparent;color:var(--primary);cursor:pointer;padding:0;font-size:12px;font-weight:800}.recent-scan-list{display:grid}.recent-scan-item{display:grid;gap:7px;border-bottom:1px solid #eef2f7;padding:13px 14px}.recent-scan-item:last-child{border-bottom:0}.recent-scan-item-head{display:flex;align-items:start;justify-content:space-between;gap:10px}.recent-scan-item strong{color:#111827;font-size:13px;line-height:1.35}.recent-scan-item-head span{flex:0 0 auto;border:1px solid #bbf7d0;border-radius:6px;background:#f0fdf4;color:#16a34a;padding:3px 7px;font-size:12px;font-weight:850}.recent-scan-item-head span.danger{border-color:#fecdd3;background:#fff1f2;color:var(--red)}.recent-scan-item-head span.muted{border-color:#e2e8f0;background:#f8fafc;color:#64748b}.recent-scan-item p,.recent-scan-item div:last-child{display:flex;flex-wrap:wrap;gap:8px;margin:0;color:#64748b;font-size:12px}.recent-scan-item p b{color:#475569}.recent-scan-item em{font-style:normal;font-weight:850}.recent-scan-empty{padding:28px 14px;color:#64748b;text-align:center;font-size:13px}.strategy-run-summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px;border:1px solid #c7ead7;border-radius:8px;background:#f3fbf7;color:#145c3e;padding:9px 12px;font-size:13px}.strategy-run-summary.warning{border-color:#f4deb8;background:#fffaf0;color:#8a5a10}.strategy-run-summary.error{border-color:#fecdd3;background:#fff1f2;color:#9f1239}.strategy-run-summary span{color:#16a66a;font-weight:850}.strategy-run-summary.warning span{color:#d78b12}.strategy-run-summary.error span{color:#e14b5a}.strategy-run-summary strong,.strategy-run-summary em{border-left:1px solid #c7ead7;padding-left:8px;font-style:normal;font-weight:760}.strategy-run-summary.warning strong,.strategy-run-summary.warning em{border-left-color:#f4deb8}.strategy-run-summary.error strong,.strategy-run-summary.error em{border-left-color:#fecdd3}.strategy-scan-panel{position:sticky;top:14px;z-index:12;display:grid;grid-template-columns:150px minmax(0,1fr);gap:22px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow);padding:18px}.strategy-scan-donut{display:grid;place-items:center;align-self:start;width:128px;height:128px;border-radius:999px;background:radial-gradient(circle at center,#ffffff 0 55%,transparent 56%),conic-gradient(var(--primary) var(--value),#e8ecf5 0);box-shadow:inset 0 0 0 1px #eef2f7}.strategy-scan-donut strong,.strategy-scan-donut span{grid-area:1 / 1}.strategy-scan-donut strong{margin-top:-12px;color:#111827;font-size:28px;font-weight:900}.strategy-scan-donut span{margin-top:44px;color:#526071;font-size:13px;font-weight:800}.strategy-scan-main{display:grid;gap:14px;min-width:0}.strategy-scan-heading{display:flex;justify-content:space-between;gap:12px}.strategy-scan-heading h2{margin:0;color:#111827;font-size:18px}.strategy-scan-heading p,.strategy-scan-heading span{margin:4px 0 0;color:#64748b;font-size:13px;font-weight:760}.strategy-scan-bar{height:10px;overflow:hidden;border-radius:999px;background:#e8ecf5}.strategy-scan-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#5145ff,#6d5cff)}.strategy-scan-stats{display:grid;grid-template-columns:repeat(8,minmax(72px,1fr));gap:10px}.strategy-scan-stats span{display:grid;gap:4px;border-left:1px solid var(--line);padding-left:12px;color:#111827;font-size:18px;font-weight:850}.strategy-scan-stats span:first-child{border-left:0;padding-left:0}.strategy-scan-stats b{color:#738096;font-size:12px;font-weight:700}.strategy-scan-current{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #edf1f6;border-radius:7px;background:#fbfcff;padding:9px 10px;color:#526071;font-size:13px}.strategy-run-errors{grid-column:1 / -1;overflow:hidden;border:1px solid #fee2e2;border-radius:8px}.strategy-run-errors h3{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;border-bottom:1px solid #fee2e2;background:#fff7f7;color:var(--red);padding:10px 14px;font-size:14px}.strategy-run-errors table{width:100%;border-collapse:collapse}.strategy-run-errors td{border-bottom:1px solid #f2f4f8;padding:10px 12px;color:#334155;font-size:13px}.strategy-run-errors tr:last-child td{border-bottom:0}.strategy-run-errors td span{border-radius:6px;background:#fff1f2;color:var(--red);padding:4px 7px;font-size:12px;font-weight:800}.strategy-run-errors.skipped{border-color:#fed7aa}.strategy-run-errors.skipped h3{border-bottom-color:#fed7aa;background:#fff7ed;color:#b45309}.strategy-run-errors.skipped.collapsed h3{border-bottom:0}.strategy-run-errors.skipped h3 .link-button{color:#b45309;font-size:13px}.strategy-run-errors.skipped td span{background:#fff7ed;color:#b45309}.strategy-controls .filters{justify-content:end}.strategy-table-panel{min-height:calc(100vh - 188px)}.strategy-detail-editor{align-content:start}.strategy-edit-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:14px;align-items:start}.strategy-edit-panel{display:grid;gap:14px}.stacked-field{display:grid;gap:8px}.stacked-field span{color:#475569;font-size:12px;font-weight:760}.stacked-field textarea,.strategy-analysis-editor{width:100%;min-height:96px;resize:vertical;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--text);padding:10px 11px;font:inherit;font-size:13px;line-height:1.6;outline:none}.strategy-runtime-status{display:grid;gap:8px;border:1px solid #edf1f6;border-radius:8px;background:#fbfcff;padding:12px;color:#526071;font-size:13px}.strategy-code-editor{width:100%;min-height:420px;resize:vertical;overflow:auto;border:1px solid #182235;border-radius:8px;background:#101828;color:#e6edf7;padding:16px;font-family:Cascadia Code,Consolas,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.7;white-space:pre;outline:none}.table{width:100%;border-collapse:collapse}.table th,.table td{border-bottom:1px solid #edf1f6;padding:11px 10px;text-align:left;white-space:nowrap;font-size:13px;line-height:1.35}.table th{height:38px;background:#fbfcff;color:#778196;font-size:12px;font-weight:750}.table td strong{color:#111827;font-weight:800}.table tr:hover td{background:#fbfcff}.table-actions{display:inline-flex;align-items:center;gap:7px}.table-panel .table th:first-child,.table-panel .table td:first-child{padding-left:16px}.table-panel .table th:last-child,.table-panel .table td:last-child{padding-right:16px}.table-note,.watch-condition p,.watch-condition small{margin:3px 0 0;color:var(--muted);font-size:12px}.primary,.secondary,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;border-radius:7px;padding:0 12px;font-size:13px;font-weight:750;transition:background .14s ease,border-color .14s ease,color .14s ease,transform .14s ease}.primary{background:var(--primary);color:#fff;box-shadow:0 8px 18px #3b35e82e}.primary:hover{background:var(--primary-strong);transform:translateY(-1px)}.secondary{border:1px solid var(--line-strong);background:var(--surface);color:#334155}.secondary:hover{border-color:#c8d1df;background:#f8fafc}.secondary.compact,.primary.compact{min-height:30px;padding:0 9px;font-size:12px}.icon-button{width:34px;min-height:34px;padding:0;background:#f3f6fb;color:#526071}.icon-button.compact{width:30px;min-height:30px;padding:0}.chip,.status{display:inline-flex;align-items:center;min-height:22px;border-radius:999px;padding:0 8px;font-size:12px;font-weight:760}.chip{background:#f1f4f9;color:#546074}.status,.status-on{color:var(--green);font-weight:800}.status-off{color:var(--faint);font-weight:800}.positive{color:var(--green);font-weight:800}.negative{color:var(--red);font-weight:800}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.toolbar-actions,.modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px}.filter-toolbar{justify-content:flex-end;margin-top:-4px}.filters{flex-wrap:wrap}.filters input,.filters select{width:auto;min-width:146px}.score-filter{display:grid;grid-template-columns:auto 74px;align-items:center;gap:8px}.score-filter span{color:#475569;font-size:12px;font-weight:750;white-space:nowrap}.signal-filter-panel{border:1px solid var(--line);border-radius:8px;background:#fff;padding:10px 12px}.signal-filter-grid{display:grid;grid-template-columns:minmax(180px,1.2fr) repeat(4,minmax(126px,.82fr)) minmax(120px,.75fr) auto auto;gap:8px;align-items:center}.signal-filter-grid input,.signal-filter-grid select,.signal-filter-grid button{min-height:34px}.signal-filter-grid input,.signal-filter-grid select{width:100%;min-width:0}.signal-filter-grid .secondary{white-space:nowrap}.signal-score-filter{grid-template-columns:auto minmax(64px,1fr);margin:0}.signal-table-panel{overflow:hidden;padding-bottom:0}.empty-table-cell{height:72px;color:var(--muted);text-align:center}.table-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);background:#fbfcff;padding:10px 12px}.table-pagination>span{color:#64748b;font-size:13px}.table-pagination>div{display:inline-flex;align-items:center;gap:8px}.table-pagination strong{color:#111827;font-size:13px;min-width:48px;text-align:center}.table-pagination .icon-button{width:30px;min-height:30px;border:1px solid var(--line);background:#fff}.table-pagination .icon-button:disabled{cursor:not-allowed;opacity:.45}.table-pagination select{min-width:104px;height:30px;font-size:12px}.tabs{display:inline-flex;align-items:center;gap:3px;border:1px solid var(--line);border-radius:8px;background:#f8fafc;padding:3px}.tabs button{min-height:30px;border-radius:6px;background:transparent;color:#5f6b7a;padding:0 11px;font-size:13px;font-weight:750}.tabs button.active,.tabs button:hover{background:var(--surface);color:var(--primary);box-shadow:0 2px 8px #1e293b12}.sparkline{display:block;width:100%;height:124px;overflow:visible}.sparkline polyline{fill:none;stroke:var(--primary);stroke-linecap:round;stroke-linejoin:round;stroke-width:3}.sparkline-area{fill:#3b35e814}.sparkline-dot{fill:#fff;stroke:var(--primary);stroke-width:1.8}.trend-labels{display:flex;justify-content:space-between;gap:8px;margin-top:8px;color:#8791a3;font-size:11px}.chart-empty{display:grid;place-items:center;min-height:90px;border:1px dashed #ccd5e2;border-radius:8px;background:#f8fafc;color:#64748b;font-size:13px}.kline{display:block;width:100%;min-height:280px;border:1px solid #edf1f6;border-radius:8px;background:linear-gradient(180deg,#fff,#fbfcff)}.kline-grid{stroke:#e7ecf4;stroke-width:1}.candle.up .wick,.candle.up .body{fill:#16a34a;stroke:#15803d}.candle.down .wick,.candle.down .body{fill:#ef4444;stroke:#dc2626}.candle .wick{stroke-width:1.9;stroke-linecap:round}.candle .body{stroke-width:1.1}.candle .volume{opacity:.34}.candle.up .volume{fill:var(--green)}.candle.down .volume{fill:#ef4444}.signal-marker path{fill:#4f46e5;stroke:#fff;stroke-width:2;filter:drop-shadow(0 3px 5px rgba(79,70,229,.35))}.signal-marker circle{fill:#fff;stroke:#4f46e5;stroke-width:2}.compact-list{display:grid;gap:7px}.list-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;border:1px solid #edf1f6;border-radius:8px;background:#fff;color:var(--text);padding:10px 11px;text-align:left}.list-row:hover{border-color:#cbd5ff;background:#fbfcff}.list-row.static{cursor:default}.list-row span:first-child{display:grid;gap:2px;min-width:0}.list-row strong{overflow:hidden;color:#111827;font-size:13px;text-overflow:ellipsis}.list-row small{overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis}.row-value{display:inline-flex;align-items:center;gap:4px;color:var(--primary);font-weight:850}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid label,.condition-list{display:grid;gap:8px}.form-grid label span{color:#475569;font-size:12px;font-weight:760}.condition-list{border-top:1px solid var(--line);padding-top:14px}.condition-editor,.watch-form-row{display:grid;gap:9px;align-items:center}.condition-editor{grid-template-columns:minmax(0,1fr) 34px}.watch-form-row{grid-template-columns:96px minmax(0,1fr) 34px}.analysis-list{display:grid;gap:9px;margin:0;padding:0;list-style:none}.analysis-list li{position:relative;border:1px solid #edf1f6;border-left:3px solid var(--primary);border-radius:7px;background:#fbfcff;color:#334155;padding:10px 12px;font-size:13px;line-height:1.55}.analysis-list.compact li{padding:8px 10px;font-size:12px}.watch-condition-list{display:grid;gap:9px}.watch-condition{display:grid;grid-template-columns:minmax(0,1fr) 84px 132px;gap:12px;align-items:center;border:1px solid #edf1f6;border-radius:8px;background:#fff;padding:12px}.watch-condition span{justify-self:start;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800}.watch-condition.pending span{background:#f1f4f9;color:#526071}.watch-condition.matched span{background:var(--green-soft);color:var(--green)}.watch-condition.unmatched span{background:var(--red-soft);color:var(--red)}.switch{display:inline-flex;align-items:center;gap:7px;color:#475569;font-size:12px;font-weight:800}.switch input{width:32px;height:18px;accent-color:var(--primary);cursor:pointer}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;background:#0f172a5c;padding:20px}.modal{width:min(760px,100%);max-height:min(760px,calc(100vh - 40px));overflow:auto;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:0 28px 80px #0f172a3d}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:16px 18px}.modal-header-main{min-width:0;flex:1 1 auto}.modal-header h2{margin:0;color:#111827;font-size:18px}.modal-header-extra{display:flex;align-items:center;justify-content:flex-end;flex:0 1 auto}.modal-body{display:grid;gap:16px;padding:18px}.modal-actions{padding-top:4px}.generated-preview{display:grid;gap:10px;border:1px solid #dfe4ff;border-radius:8px;background:#fbfbff;padding:14px}.generated-preview h3,.generated-preview p,.generated-preview ul{margin:0}.generated-preview ul{display:grid;gap:6px;padding-left:18px;color:#334155;font-size:13px}.ai-workspace{min-height:calc(100vh - 48px)}.ai-workspace-shell{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;height:calc(100vh - 48px);min-height:0;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fffffff5;box-shadow:0 14px 40px #1e293b0f}.ai-workspace-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px 6px}.ai-title-row{display:inline-flex;align-items:center;gap:10px}.ai-title-row h1{font-size:20px}.ai-guide-link,.ghost-button{display:inline-flex;align-items:center;gap:6px;color:var(--primary);font-size:13px;font-weight:750;text-decoration:none}.ghost-button{min-height:32px;background:transparent;color:#314061;padding:0 6px}.ghost-button:disabled,.ai-preview-tabs button:disabled,.ai-dashed-button:disabled,.ai-example-box button:disabled,.icon-button:disabled{opacity:.45;cursor:not-allowed}.danger-text{color:var(--red)}.ai-stepper{display:grid;grid-template-columns:minmax(160px,1fr) minmax(220px,1fr) minmax(160px,1fr);gap:14px;align-items:center;width:min(820px,62vw);margin:6px auto 14px}.ai-step{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;color:#526071}.ai-step:not(:last-child):after{content:"";position:absolute;left:calc(50% + 82px);right:calc(-50% + 62px);height:1px;background:var(--line)}.ai-step span{display:grid;place-items:center;width:28px;height:28px;border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#40506c;font-size:13px;font-weight:850}.ai-step.active span{border-color:transparent;background:linear-gradient(180deg,#5966ff,#3929e8);color:#fff;box-shadow:0 8px 18px #3b35e83d}.ai-step strong{color:#182033;font-size:14px}.ai-workspace-grid{display:grid;grid-template-columns:minmax(430px,.82fr) minmax(620px,1.18fr);gap:12px;min-height:0;overflow:hidden;padding:0 20px 14px}.ai-input-panel,.ai-preview-workbench{min-height:0;border:1px solid var(--line);border-radius:8px;background:#fff}.ai-input-panel{display:grid;align-content:start;gap:11px;overflow:auto;padding:14px}.ai-code-builder .ai-workspace-grid{grid-template-columns:minmax(560px,1.05fr) minmax(520px,.95fr)}.ai-code-builder .ai-input-panel{display:flex;flex-direction:column;align-content:stretch}.ai-paste-code-editor{width:100%;flex:1 1 420px;height:auto;min-height:360px;margin:0;resize:vertical}.ai-section-title{display:inline-flex;align-items:center;gap:8px;color:#111827;font-size:15px;font-weight:850}.ai-section-title span{display:grid;place-items:center;width:20px;height:20px;border-radius:999px;background:linear-gradient(180deg,#5966ff,#3929e8);color:#fff;font-size:12px;font-weight:900}.ai-field select{height:38px;font-size:14px;font-weight:760}.ai-field-note{margin-top:-6px;color:var(--muted);font-size:12px}.ai-inline-tip{display:inline-flex;align-items:center;gap:8px;border-radius:7px;background:linear-gradient(180deg,#edf4ff,#f7faff);color:#526071;padding:8px 10px;font-size:12px;font-weight:650}.ai-condition-list{display:grid;gap:8px}.ai-condition-item{display:grid;grid-template-columns:18px 28px minmax(0,1fr) 32px;align-items:center;gap:8px}.ai-condition-item>svg{color:#62708c}.ai-condition-item strong{display:grid;place-items:center;width:28px;height:28px;border-radius:999px;background:#eaf8f0;color:#24764f;font-size:13px;font-weight:850}.ai-condition-item input{height:42px;border-radius:7px;color:#111827;font-size:14px}.ai-dashed-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border:1px dashed #cfd8e8;border-radius:8px;background:#fff;color:#354461;font-weight:760}.ai-example-box{display:grid;gap:9px;border:1px solid #edf1f7;border-radius:8px;background:#f8fafd;padding:11px}.ai-example-box>span{color:#3d4862;font-size:13px;font-weight:760}.ai-example-box div{display:flex;flex-wrap:wrap;gap:9px}.ai-example-box button{min-height:28px;border:1px solid var(--line);border-radius:7px;background:#fff;color:#44516a;padding:0 12px;font-size:13px;font-weight:700}.ai-input-actions,.ai-workspace-footer div,.ai-result-header,.ai-result-header div,.ai-strategy-identity{display:flex;align-items:center}.ai-input-actions{grid-template-columns:minmax(0,1fr) 110px;display:grid;gap:9px}.ai-preview-workbench{overflow:hidden;height:100%}.ai-empty-preview{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;height:100%;min-height:420px;padding:24px;text-align:center}.ai-empty-preview h2{position:absolute;top:18px;left:20px;margin:0;color:#111827;font-size:16px;text-align:left}.empty-illustration{position:relative;display:grid;place-items:center;width:144px;height:144px;color:#6a61ff}.empty-illustration div{width:76px;height:100px;border:8px solid #d9dcff;border-radius:8px;background:linear-gradient(#c7cbff,#c7cbff) 18px 28px / 46px 5px no-repeat,linear-gradient(#c7cbff,#c7cbff) 18px 46px / 52px 5px no-repeat,linear-gradient(#c7cbff,#c7cbff) 18px 64px / 44px 5px no-repeat,#fff;box-shadow:0 14px 34px #4f46e529}.empty-illustration svg{position:absolute;right:16px;bottom:18px;filter:drop-shadow(0 10px 14px rgba(79,70,229,.2))}.ai-empty-preview strong{color:#24324b;font-size:19px}.ai-empty-preview p{margin:0;color:#66738b;font-size:14px}.ai-result-preview{display:grid;grid-template-rows:auto auto minmax(0,1fr);height:100%;min-height:0;overflow:hidden}.ai-result-header{justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:10px 14px}.ai-result-header div{gap:8px}.ai-result-header h2{margin:0;color:#111827;font-size:16px}.ai-result-header span{color:var(--muted);font-size:13px}.generation-badge{display:inline-flex;align-items:center;gap:6px;min-height:30px;border:1px solid var(--line);border-radius:999px;background:#fff;padding:0 10px;font-size:12px;font-weight:800;white-space:nowrap}.generation-badge.llm{border-color:#bfead3;background:#f2fbf6;color:var(--green)}.generation-badge.fallback{border-color:#f4deb8;background:#fffaf0;color:var(--amber)}.ai-result-actions{display:inline-flex;align-items:center;gap:8px}.generation-error{border-bottom:1px solid #f4deb8;background:#fffaf0;color:#8a5a10;padding:8px 14px;font-size:12px;font-weight:700;line-height:1.5}.ai-preview-tabs{display:flex;gap:18px;border-bottom:1px solid var(--line);padding:0 14px}.ai-preview-tabs button{display:inline-flex;align-items:center;gap:7px;min-height:40px;border-bottom:2px solid transparent;background:transparent;color:#314061;font-size:15px;font-weight:760}.ai-preview-tabs button.active{border-color:var(--primary);color:var(--primary)}.ai-summary-preview,.ai-editor-preview{display:grid;align-content:start;gap:10px;height:100%;overflow:auto;min-height:0;padding:12px 14px}.ai-strategy-identity{gap:12px;border:1px solid #edf1f6;border-radius:8px;background:#fff;padding:12px 14px}.ai-strategy-icon{display:grid;place-items:center;width:52px;height:52px;border:1px solid #bfead3;border-radius:8px;background:#eaf8f0;color:var(--green)}.ai-strategy-identity h3{display:inline-flex;align-items:center;gap:8px;margin:0;color:#111827;font-size:19px}.ai-strategy-identity p{margin-top:4px}.ai-strategy-identity>span{margin-left:auto;border-radius:999px;background:var(--primary-soft);color:var(--primary);padding:6px 12px;font-size:12px;font-weight:800}.ai-kpi-strip{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid #edf1f6;border-radius:8px;background:#fff;padding:16px 0}.ai-kpi{display:grid;justify-items:center;gap:8px;border-right:1px solid var(--line)}.ai-kpi:last-child{border-right:0}.ai-kpi span{color:#62708c;font-size:13px;font-weight:700}.ai-kpi strong{color:#111827;font-size:17px}.ai-kpi strong.green{color:var(--green)}.ai-kpi strong.amber{color:var(--amber)}.ai-summary-layout{display:grid;grid-template-columns:minmax(0,1fr) 264px;gap:14px}.ai-summary-text,.ai-editable-conditions,.ai-history-card,.ai-market-card,.ai-flow-card,.ai-generated-conditions,.ai-code-preview{border:1px solid #edf1f6;border-radius:8px;background:#fff;padding:12px}.ai-summary-text h4,.ai-editable-conditions h4,.ai-history-card h4,.ai-market-card h4,.ai-flow-card h4{display:inline-flex;align-items:center;gap:7px;margin:0 0 8px;color:#111827;font-size:15px}.ai-editable-conditions{display:grid;gap:0;padding:0}.ai-editable-conditions h4{justify-content:space-between;min-height:42px;border-bottom:1px solid var(--line);background:#fbfcff;padding:0 16px}.ai-editable-conditions h4 span{color:var(--muted);font-size:12px;font-weight:650}.ai-editable-condition{display:grid;grid-template-columns:28px minmax(0,1fr) minmax(220px,.62fr);gap:12px;align-items:start;border-bottom:1px solid var(--line);padding:12px 14px}.ai-editable-condition:last-child{border-bottom:0}.ai-editable-condition>span{display:grid;place-items:center;width:24px;height:24px;border-radius:999px;background:#ecfdf3;color:var(--green);font-size:12px;font-weight:900}.ai-editable-condition strong{color:#111827;font-size:14px}.ai-editable-condition p{margin:4px 0 0;color:#334155}.ai-param-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ai-param-editor label{display:grid;gap:6px}.ai-param-editor label span{color:#526071;font-size:12px;font-weight:800}.ai-param-editor input{height:34px;font-size:13px}.ai-number-param{display:flex;align-items:center;min-height:36px;overflow:hidden;border:1px solid #dbe3ef;border-radius:7px;background:#fbfcff}.ai-number-param:focus-within{border-color:#9aa8ff;box-shadow:0 0 0 3px #3b35e81a}.ai-number-param input{flex:0 1 58px;width:58px;height:34px;border:0;border-radius:0;box-shadow:none;background:transparent;padding:0 6px;text-align:center;font-weight:800}.ai-number-param input:focus{box-shadow:none}.ai-number-param span{flex:0 0 auto;color:#64748b;font-size:13px;font-weight:760;white-space:nowrap}.ai-param-editor em{color:var(--muted);font-size:13px;font-style:normal}.strategy-edit-workspace-grid{display:grid;grid-template-columns:minmax(360px,.72fr) minmax(680px,1.28fr);gap:12px;height:100%;min-height:0;overflow:hidden;padding:0 20px 14px}.strategy-edit-shell{grid-template-rows:auto minmax(0,1fr) auto}.strategy-maintenance-shell{grid-template-rows:auto auto auto minmax(0,1fr) auto}.strategy-edit-shell .ai-workspace-header{padding-bottom:8px}.strategy-edit-shell .ai-input-panel,.strategy-edit-shell .ai-preview-workbench{height:100%}.strategy-maintenance-summary{display:grid;grid-template-columns:minmax(360px,1fr) minmax(520px,auto);gap:16px;align-items:center;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fff,#fbfcff);padding:12px 20px}.strategy-readonly-notice{border-bottom:1px solid #f4deb8;background:#fffaf0;color:#8a5a10;padding:8px 20px;font-size:13px;font-weight:760}.strategy-maintenance-title{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px 10px;align-items:center;min-width:0}.strategy-maintenance-title h2{overflow:hidden;margin:0;color:#111827;font-size:18px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.strategy-maintenance-title p{grid-column:1 / -1;overflow:hidden;margin:0;color:#475569;font-size:13px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.strategy-maintenance-meta{display:grid;grid-template-columns:repeat(5,auto);gap:8px;justify-content:end}.strategy-maintenance-meta span{display:grid;gap:3px;min-width:82px;border-left:1px solid #edf1f6;color:#111827;padding-left:10px;font-size:13px;font-weight:800}.strategy-maintenance-meta span:first-child{border-left:0;padding-left:0}.strategy-maintenance-meta b{color:#738096;font-size:11px;font-weight:700}.strategy-maintenance-grid{display:grid;grid-template-columns:minmax(640px,1.05fr) minmax(520px,.95fr);gap:12px;min-height:0;overflow:hidden;padding:14px 20px 16px}.strategy-maintenance-left,.strategy-code-panel{min-height:0;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 10px 30px #1e293b0a}.strategy-maintenance-left{display:grid;grid-template-rows:minmax(0,1fr) auto auto}.strategy-code-panel{display:grid;grid-template-rows:auto minmax(0,1fr)}.strategy-code-panel header{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #1f2937;background:#111827;padding:11px 14px}.strategy-code-panel header div{display:inline-flex;align-items:center;gap:7px;color:#e5edf8}.strategy-code-panel header span{color:#96a3b8;font-size:12px}.strategy-code-panel .code-editor-shell{width:100%;height:100%;margin:0;border:0;border-radius:0;font-size:12.5px}.strategy-code-panel .code-editor-textarea::-webkit-scrollbar,.strategy-edit-preview::-webkit-scrollbar,.strategy-analysis-body::-webkit-scrollbar{width:10px;height:10px}.strategy-code-panel .code-editor-textarea::-webkit-scrollbar-thumb,.strategy-edit-preview::-webkit-scrollbar-thumb,.strategy-analysis-body::-webkit-scrollbar-thumb{border:3px solid transparent;border-radius:999px;background:#64748b73;background-clip:content-box}.strategy-edit-preview::-webkit-scrollbar-thumb,.strategy-analysis-body::-webkit-scrollbar-thumb{background:#94a3b880;background-clip:content-box}.strategy-analysis-compact{border-top:1px solid var(--line);background:#f8fafc}.strategy-analysis-toggle{display:flex;align-items:center;gap:8px;width:100%;min-height:38px;background:transparent;color:#24324b;padding:0 12px;font-size:13px;font-weight:800}.strategy-analysis-toggle:hover{background:#f1f5f9}.strategy-analysis-toggle span{margin-left:auto;color:var(--primary);font-size:12px}.strategy-analysis-body{display:grid;gap:8px;max-height:160px;overflow:auto;border-top:1px solid var(--line);padding:10px 12px}.strategy-analysis-body p{margin:0;color:#334155;font-size:13px;line-height:1.65}.strategy-blacklist-editor{display:grid;gap:0;border-top:1px solid var(--line);background:#fbfcff}.strategy-blacklist-summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;width:100%;min-height:34px;background:transparent;padding:6px 12px;text-align:left}.strategy-blacklist-summary:hover{background:#f8fafc}.strategy-blacklist-summary div:first-child{display:flex;align-items:baseline;gap:8px;min-width:0}.strategy-blacklist-summary strong{color:#111827;font-size:13px;font-weight:850;white-space:nowrap}.strategy-blacklist-summary div:first-child span{overflow:hidden;color:#64748b;font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.strategy-blacklist-summary b{color:var(--primary);font-size:12px;font-weight:850}.strategy-blacklist-chips{display:flex;flex-wrap:nowrap;gap:6px;justify-content:flex-end;overflow:hidden;min-width:0}.strategy-blacklist-chips span,.strategy-blacklist-chips em{flex:0 0 auto;border-radius:999px;padding:4px 8px;font-size:12px;line-height:1}.strategy-blacklist-chips span{border:1px solid #dbeafe;background:#eff6ff;color:#34f;font-weight:800}.strategy-blacklist-chips em{background:#eef2f7;color:#64748b;font-style:normal;font-weight:800}.strategy-blacklist-body{display:grid;border-top:1px solid #edf1f6;padding:7px 12px 8px}.strategy-blacklist-editor textarea{width:100%;height:86px;min-height:86px;max-height:130px;resize:vertical;border:1px solid #dbe3ef;border-radius:8px;background:#fff;color:#111827;padding:8px 10px;font-family:inherit;font-size:13px;line-height:1.5;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.strategy-blacklist-editor textarea:focus{border-color:#635bff;box-shadow:0 0 0 3px #635bff1f}.strategy-blacklist-editor textarea:disabled{cursor:not-allowed;background:#f8fafc;color:#94a3b8}.strategy-blacklist-body p{margin:0;color:#738096;font-size:12px;line-height:1.45}.strategy-edit-preview{height:100%;min-height:0;overflow:auto;padding:0}.strategy-condition-editor-card{min-height:100%;border:0;border-radius:0}.strategy-condition-editor-card h4{min-height:36px;padding:0 14px;font-size:14px}.strategy-editable-condition{grid-template-columns:26px minmax(170px,.62fr) minmax(380px,1.38fr) 30px;gap:12px;align-items:start;padding:9px 12px}.strategy-editable-condition>span{width:22px;height:22px;font-size:11px}.strategy-condition-fields{display:grid;gap:3px;min-width:0}.strategy-condition-fields strong{color:#111827;font-size:13.5px;line-height:1.25;white-space:normal}.strategy-condition-fields p{display:-webkit-box;overflow:hidden;margin:0;color:#526071;font-size:12.5px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:3}.readonly-detail-block,.readonly-meta-item{display:grid;gap:6px;border:1px solid #edf1f6;border-radius:8px;background:#fbfcff;padding:10px 12px}.readonly-detail-block span,.readonly-meta-item span{color:#657088;font-size:12px;font-weight:760}.readonly-detail-block strong,.readonly-meta-item strong{color:#111827;font-size:14px;font-weight:850}.readonly-detail-block p{margin:0;color:#334155;font-size:13px;line-height:1.6}.readonly-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.condition-title-input{height:36px;color:#111827;font-size:14px;font-weight:850}.condition-description-input{width:100%;min-height:70px;resize:vertical;color:#334155;font-size:13px;line-height:1.55}.strategy-param-editor{align-content:start;gap:6px 8px}.strategy-param-editor label{grid-template-columns:minmax(76px,.78fr) minmax(86px,1fr);gap:6px;align-items:start}.strategy-param-editor label>span{display:-webkit-box;overflow:hidden;font-size:11.5px;line-height:1.25;-webkit-box-orient:vertical;-webkit-line-clamp:2}.strategy-param-editor input{height:30px;min-width:0;padding:0 8px;font-size:12.5px}.strategy-param-editor .ai-number-param{min-height:30px;border-radius:6px}.strategy-param-editor .ai-number-param input{width:48px;height:28px;padding:0 4px}.strategy-param-editor .ai-number-param span{font-size:12px}.strategy-condition-delete{align-self:start;width:30px;height:30px;border:1px solid transparent}.strategy-condition-delete:hover{border-color:#fecdd3;background:#fff1f2}.strategy-condition-footer{border-top:1px solid var(--line);padding:12px 14px}.strategy-condition-footer .secondary{width:100%;min-height:38px}.strategy-analysis-tab-editor{display:block;width:calc(100% - 24px);height:calc(100% - 24px);min-height:0;margin:12px;overflow:auto;resize:none;border:1px solid var(--line);border-radius:8px;background:#fff;color:#24324b;padding:14px;font-size:13px;line-height:1.75}.strategy-runtime-status{display:grid;gap:7px;border:1px solid #edf1f6;border-radius:8px;background:#fbfcff;padding:10px;color:#526071;font-size:12px}.ai-history-card{display:grid;gap:12px}.ai-history-card h4 span{color:var(--muted);font-weight:600}.ai-donut{position:relative;display:grid;place-items:center;justify-self:center;width:128px;height:128px;border-radius:999px;background:radial-gradient(circle at center,#ffffff 0 54%,transparent 55%),conic-gradient(var(--primary) var(--value),#eef1f7 0)}.ai-donut strong,.ai-donut span{grid-area:1 / 1}.ai-donut strong{margin-top:18px;color:#111827;font-size:26px}.ai-donut span{margin-top:-26px;color:#526071;font-size:13px;font-weight:800}.ai-history-card ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.ai-history-card li{display:flex;justify-content:space-between;color:#526071;font-size:13px}.ai-history-card li strong{color:#24324b}.ai-market-card div{display:flex;flex-wrap:wrap;gap:8px}.ai-flow-card div{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;align-items:center}.ai-flow-card span{position:relative;display:grid;place-items:center;min-height:46px;border:1px solid var(--line);border-radius:7px;background:linear-gradient(180deg,#fff,#fbfcff);color:#334155;font-size:13px;font-weight:750}.ai-flow-card span:not(:last-child):after{content:"→";position:absolute;right:-18px;color:#8a96aa}.ai-flow-card span:last-child{border-color:#c9ead8;background:#f2fbf6;color:var(--green)}.ai-generated-conditions{display:grid;gap:12px;margin:18px}.ai-generated-condition{display:grid;grid-template-columns:28px minmax(0,1fr) minmax(180px,auto);gap:12px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:12px}.ai-generated-condition:last-child{border-bottom:0;padding-bottom:0}.ai-generated-condition>span{display:grid;place-items:center;width:26px;height:26px;border-radius:999px;background:var(--green);color:#fff;font-size:12px;font-weight:900}.ai-generated-condition strong{color:#111827}.ai-generated-condition p{margin:5px 0 0}.ai-generated-condition div:last-child{display:flex;flex-wrap:wrap;gap:6px}.ai-generated-condition em{border:1px solid var(--line);border-radius:6px;background:#fbfcff;padding:5px 9px;color:#334155;font-size:12px;font-style:normal}.ai-code-preview{overflow:auto;margin:18px;background:#101828;color:#e6edf7;font-size:13px;line-height:1.7}.ai-code-editor{display:block;width:calc(100% - 24px);height:calc(100% - 24px);min-height:0;margin:12px;overflow:auto;resize:none;border:1px solid #182235;border-radius:8px;background:#101828;color:#e6edf7;padding:16px;font-family:Cascadia Code,Consolas,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.7;white-space:pre}.ai-code-editor:focus{border-color:#5966ff;box-shadow:0 0 0 3px #5966ff2e}.code-editor-shell{position:relative;display:grid;grid-template-columns:52px minmax(0,1fr);width:calc(100% - 24px);height:calc(100% - 24px);min-height:0;margin:12px;overflow:hidden;border:1px solid #182235;border-radius:8px;background:#101828;color:#e6edf7;font-family:Cascadia Code,Consolas,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.7}.code-editor-shell.has-error-line{border-color:#fb7185;box-shadow:0 0 0 3px #e14b5a24}.code-editor-gutter{overflow:hidden;border-right:1px solid rgba(148,163,184,.13);background:#0f172ab8;padding:16px 0;color:#6b7890;text-align:right;-webkit-user-select:none;user-select:none}.code-editor-gutter span{display:block;height:1.7em;padding:0 10px 0 6px;font-size:inherit;line-height:1.7}.code-editor-gutter span.active{background:#e14b5a38;color:#fecdd3;font-weight:900}.code-editor-textarea{width:100%;height:100%;min-height:0;resize:none;overflow:auto;border:0;background:transparent;color:inherit;padding:16px 18px;font:inherit;line-height:inherit;outline:none;white-space:pre}.code-editor-textarea:focus{box-shadow:inset 0 0 0 1px #5966ffc7}.code-editor-textarea:disabled{cursor:not-allowed;opacity:.76}.ai-analysis-preview{display:grid;align-content:start;gap:10px;height:calc(100% - 24px);margin:12px;overflow:auto;min-height:0}.ai-analysis-card{border:1px solid #edf1f6;border-radius:8px;background:#fff;color:#24324b;padding:12px}.ai-analysis-card h4{margin:0 0 10px;color:#111827;font-size:15px}.ai-analysis-card p{margin:0;color:#334155;font-size:13px;line-height:1.7}.ai-analysis-list{display:grid;gap:10px}.ai-analysis-list p{display:grid;grid-template-columns:16px minmax(0,1fr);gap:8px}.ai-analysis-list p svg{flex:0 0 auto;color:var(--green);margin-top:2px}.ai-analysis-condition-list{display:grid;gap:12px}.ai-analysis-condition-list>div{display:grid;gap:7px;border-bottom:1px solid var(--line);padding-bottom:12px}.ai-analysis-condition-list>div:last-child{border-bottom:0;padding-bottom:0}.ai-analysis-condition-list strong{color:#111827;font-size:13px}.ai-analysis-condition-list div div,.ai-analysis-tags{display:flex;flex-wrap:wrap;gap:7px}.ai-analysis-condition-list span,.ai-analysis-tags span{border:1px solid var(--line);border-radius:999px;background:#fbfcff;color:#44516a;padding:5px 9px;font-size:12px;font-weight:700}.ai-workspace-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding:10px 20px}.ai-workspace-footer>span{display:inline-flex;align-items:center;gap:8px;color:#526071;font-size:13px}.ai-workspace-footer div{gap:12px}.ai-page-error{margin:0 26px 12px}.ai-strategy-modal{width:min(1500px,calc(100vw - 32px));max-height:calc(100vh - 36px)}.ai-strategy-modal .modal-header{border-bottom:0;padding:22px 28px 2px}.ai-strategy-modal .modal-header h2{position:relative;padding-left:48px;font-size:22px}.ai-strategy-modal .modal-header h2:before{content:"AI";position:absolute;left:0;top:50%;display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--primary);color:#fff;font-size:14px;font-weight:900;transform:translateY(-50%);box-shadow:0 10px 24px #3b35e833}.ai-modal-subtitle{padding:0 28px 20px 76px;color:var(--muted);font-size:14px}.ai-strategy-body{display:grid;grid-template-columns:minmax(430px,.67fr) minmax(640px,1fr);gap:10px;padding:0 16px}.ai-builder-panel,.ai-preview-panel{border:1px solid var(--line);border-radius:8px;background:#fff}.ai-builder-panel{display:grid;align-content:start;gap:16px;padding:20px}.ai-step-title{display:inline-flex;align-items:center;gap:10px;color:#111827;font-size:16px;font-weight:850}.ai-step-title span,.ai-structured-row>span{display:grid;place-items:center;width:22px;height:22px;border-radius:999px;background:linear-gradient(180deg,#4f63ff,#2f4df0);color:#fff;font-size:12px;font-weight:900}.ai-field select{height:50px;font-size:15px;font-weight:750}.ai-help,.ai-tip{display:flex;align-items:center;gap:7px;margin:0;color:var(--muted);font-size:13px}.ai-tip{border:1px solid #dbe6fb;border-radius:7px;background:#f4f8ff;padding:12px}.ai-divider{height:1px;background:var(--line)}.ai-condition-stack{display:grid;gap:11px}.ai-condition-row{display:grid;grid-template-columns:18px 32px minmax(0,1fr) 34px;align-items:center;gap:10px}.ai-condition-row>svg{color:#657088}.ai-condition-row strong{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#f4f7e8;color:#2c3a1f;font-size:15px}.ai-condition-row input{height:52px;font-size:14px}.icon-button.danger{background:#fff5f6;color:var(--red)}.ai-add-condition{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;border:1px dashed #cfd8e8;border-radius:8px;background:#fff;color:#3f4a62;font-weight:750}.ai-examples{display:grid;gap:12px;border:1px solid var(--line);border-radius:8px;background:#f8fafd;padding:15px}.ai-examples>span{color:#3f4a62;font-size:14px;font-weight:760}.ai-examples div{display:flex;flex-wrap:wrap;gap:9px}.ai-examples button{min-height:32px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#44516a;padding:0 13px;font-size:13px;font-weight:700}.ai-preview-panel{display:grid;align-content:start;gap:12px;padding:20px}.ai-preview-heading,.ai-modal-footer,.ai-modal-footer div{display:flex;align-items:center;justify-content:space-between;gap:12px}.ai-preview-heading h3{display:inline-flex;align-items:center;gap:10px;margin:0;color:#111827;font-size:18px}.ai-preview-heading h3 span{display:grid;place-items:center;width:22px;height:22px;border-radius:6px;background:var(--primary);color:#fff;font-size:12px}.ai-preview-heading strong{display:inline-flex;align-items:center;gap:6px;color:var(--green);font-size:14px}.ai-preview-heading em{color:var(--muted);font-size:13px;font-style:normal}.ai-preview-top{display:grid;grid-template-columns:minmax(0,1fr) 352px;gap:16px}.ai-summary-card,.ai-strength-card,.ai-structured-card,.ai-risk-card,.ai-next-card{border:1px solid var(--line);border-radius:8px;background:#fff;padding:16px}.ai-summary-card{border-color:#d6e2ff;background:linear-gradient(180deg,#f7faff,#fff)}.ai-summary-card h4,.ai-structured-card h4,.ai-risk-card h4,.ai-next-card h4{margin:0 0 10px;color:var(--primary);font-size:16px}.ai-summary-card p,.ai-next-card p{margin:0 0 7px;color:#334155;font-size:14px;line-height:1.65}.ai-strength-card{display:grid;justify-items:center;gap:10px;border-color:#f0dfb7;background:linear-gradient(135deg,#fffaf0,#fff)}.ai-strength-card>span{justify-self:start;color:#c47a13;font-size:15px;font-weight:850}.ai-strength-card strong{color:var(--green);font-size:34px;line-height:1}.ai-strength-card p{margin:0;color:#172033;font-size:15px;font-weight:760}.ai-strength-track{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;width:100%}.ai-strength-track i{height:8px;border-radius:999px;background:#e5eaf3}.ai-strength-track i.active{background:var(--green)}.ai-strength-labels{display:grid;grid-template-columns:repeat(4,1fr);width:100%;color:#697386;font-size:13px;text-align:center}.ai-structured-card{padding:0}.ai-structured-card h4{border-bottom:1px solid var(--line);padding:16px}.ai-structured-card h4 span{color:var(--muted);font-weight:600}.ai-structured-row{display:grid;grid-template-columns:28px 96px minmax(0,1fr) minmax(190px,auto) 34px 34px;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:14px 16px}.ai-structured-row:last-child{border-bottom:0}.ai-structured-row>span{background:var(--green)}.ai-structured-row strong{color:#111827;font-size:14px}.ai-structured-row p{margin:0;color:#334155;font-size:14px;line-height:1.55}.ai-preview-empty{border-bottom:0;padding:28px 16px;color:var(--muted);font-size:14px}.ai-param-tags{display:flex;flex-wrap:wrap;gap:6px}.ai-param-tags em{border:1px solid var(--line);border-radius:6px;background:#fbfcff;color:#334155;padding:5px 10px;font-size:13px;font-style:normal;white-space:nowrap}.ai-risk-card{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;background:#fbfbff}.ai-risk-card h4,.ai-next-card h4{grid-column:1 / -1}.ai-risk-card span{color:#334155;font-size:14px}.ai-next-card{border-color:#f4deb8;background:#fffaf0}.ai-next-card h4{color:#d08112}.ai-modal-error{margin:12px 28px 0}.ai-modal-footer{border-top:1px solid var(--line);margin-top:16px;padding:18px 28px 22px}.ai-modal-footer>span{color:#526071;font-size:14px}.preview-meta{display:flex;flex-wrap:wrap;gap:7px}.strength{display:grid;grid-template-columns:auto minmax(84px,1fr);align-items:center;gap:10px;border:1px solid #edf1f6;border-radius:8px;background:#fbfcff;padding:12px;color:#111827}.strength strong{min-width:24px;color:var(--green);font-size:22px;font-weight:900}.strength-track{height:7px;overflow:hidden;border-radius:999px;background:#e7ecf4}.strength-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green),#6edb98)}.detail-side{display:grid;gap:12px}.stat-block,.metric-panel{display:grid;gap:6px}.performance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px}.stat-block strong,.metric-panel strong{color:#111827;font-size:18px;line-height:1.2}.metric-panel strong{font-size:26px}.chart-panel{min-width:0}.signal-chart-panel{padding-bottom:18px}.signal-chart-panel .market-chart-shell{height:min(520px,calc(100vh - 260px));min-height:360px}.ai-review-panel{display:grid;gap:16px}.ai-review-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:10px}.ai-review-metric{display:grid;gap:6px;border:1px solid #e8eef6;border-radius:8px;background:#f8fafc;padding:12px 14px}.ai-review-metric span,.ai-review-summary span,.ai-review-analysis span,.ai-review-suggestions>span{color:#64748b;font-size:12px;font-weight:800}.ai-review-metric strong{color:#111827;font-size:18px;line-height:1.1}.ai-review-metric strong.positive{color:var(--green)}.ai-review-metric strong.negative{color:var(--red)}.ai-review-summary,.ai-review-analysis{display:grid;gap:8px;border:1px solid #e8eef6;border-radius:8px;background:#fff;padding:12px 14px}.ai-review-summary{border-left:3px solid var(--primary)}.ai-review-summary p,.ai-review-analysis p{margin:0;color:#334155;font-size:13px;line-height:1.65}.ai-review-suggestions{display:grid;gap:10px}.ai-review-suggestions ol{display:grid;gap:8px;margin:0;padding-left:20px}.ai-review-suggestions li{border:1px solid #edf1f6;border-radius:7px;background:#fbfcff;color:#334155;padding:9px 11px;font-size:13px;line-height:1.55}.strategy-note-panel{padding:0;overflow:hidden}.strategy-note-toggle{width:100%;min-height:44px;border:0;background:transparent;color:#334155;display:flex;align-items:center;gap:8px;padding:12px 16px;font-weight:800;cursor:pointer;text-align:left}.strategy-note-panel .analysis-list{padding:0 16px 16px}.period-switcher{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.period-switcher button{border:1px solid #dbe3ef;background:#fff;color:#475569;border-radius:6px;padding:6px 10px;font-weight:700;cursor:pointer}.period-switcher button.active{border-color:#4f46e5;background:#eef2ff;color:#3730a3}.market-chart-shell{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;border:1px solid #1e2329;border-radius:8px;background:#0b0e11;box-shadow:inset 0 1px #ffffff0a;overflow:hidden}.market-chart{height:100%;min-width:0}.market-chart-header{min-height:72px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"meta extra" "legend extra";align-items:start;gap:10px 18px;padding:10px 12px 8px;border-bottom:1px solid rgba(132,142,156,.16)}.market-chart-meta,.market-chart-legend{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:#9aa4b2;font-size:12px;font-weight:700}.market-chart-meta{grid-area:meta}.market-chart-legend{grid-area:legend}.market-chart-meta.up span:nth-child(n+2):nth-child(-n+5){color:#0ecb81}.market-chart-meta.down span:nth-child(n+2):nth-child(-n+5){color:#f6465d}.market-chart-legend span{display:inline-flex;align-items:center;gap:5px}.market-chart-legend span:before{content:"";width:7px;height:7px;border-radius:999px;background:#5e6673}.market-chart-extra{grid-area:extra;display:flex;align-items:flex-start;justify-content:flex-end}.market-chart-extra .period-switcher{justify-content:flex-end}.market-chart-legend .ma5{color:#f0b90b}.market-chart-legend .ma5:before{background:#f0b90b}.market-chart-legend .ma20{color:#4f8cff}.market-chart-legend .ma20:before{background:#4f8cff}.market-chart-legend .ma60{color:#d36bff}.market-chart-legend .ma60:before{background:#d36bff}.chart-overlay{position:absolute;top:58px;right:0;bottom:0;left:0;display:grid;place-items:center;background:#0b0e11b8;color:#eaecef;font-weight:700;pointer-events:none}.inline-error,.app-alert{border:1px solid #ffd0cc;border-radius:8px;background:#fff7f6;color:#b42318;padding:10px 12px;font-size:13px}.inline-hint{border:1px solid #dbe7ff;border-radius:8px;background:#f5f8ff;color:#335caa;padding:10px 12px;font-size:13px}.app-alert,.app-busy{width:min(1280px,100%);margin:0 auto 12px}.app-busy{border:1px solid #cbd5ff;border-radius:8px;background:var(--primary-soft);color:var(--primary);padding:10px 12px;font-size:13px;font-weight:760}.empty-state{display:grid;place-items:center;gap:12px;min-height:220px;text-align:center}.empty-state h1,.empty-state p{margin:0}.auth-screen{display:grid;min-height:100vh;place-items:center;background:linear-gradient(180deg,#ffffffeb,#f5f7fbf5 260px),var(--bg);padding:24px}.auth-panel{display:grid;gap:22px;width:min(420px,100%);border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 24px 72px #1e293b1f;padding:28px}.auth-brand{display:flex;align-items:center;gap:10px;color:#111827;font-size:16px;font-weight:850}.auth-heading{display:grid;gap:6px}.auth-heading h1{margin:0;color:#111827;font-size:24px;line-height:1.2}.auth-heading p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}.auth-form{display:grid;gap:14px}.auth-form label{display:grid;gap:7px}.auth-form label span{color:#475569;font-size:12px;font-weight:760}.auth-submit{width:100%;min-height:38px}.auth-switch{display:flex;align-items:center;justify-content:center;gap:6px;color:var(--muted);font-size:13px}.auth-switch button{background:transparent;color:var(--primary);font-weight:800;padding:0}.settings-page{align-content:start}.settings-grid,.settings-panel{display:grid;gap:14px}.toggle-row{display:inline-flex;align-items:center;gap:8px;color:#334155;font-size:13px;font-weight:750}.toggle-row input{width:18px;height:18px;accent-color:var(--primary)}.settings-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px}@media(max-width:980px){body{min-width:0}.app{padding:0}.shell{grid-template-columns:1fr;width:100%;min-height:100vh;border:0;border-radius:0}.sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line)}.nav{grid-template-columns:repeat(5,minmax(0,1fr))}.nav-item,.settings-button{justify-content:center;padding:0 8px}.nav-item span,.settings-button span{display:none}.settings-button,.sidebar-account{margin-top:0}.sidebar-account>span{display:none}.main{padding:16px}.page-header,.toolbar{align-items:stretch;flex-direction:column}.grid.two,.grid.three,.kpis,.dashboard-workspace,.split-layout,.strategy-content-grid,.detail-layout,.case-layout,.signal-filter-grid,.form-grid{grid-template-columns:1fr}.tabs{width:100%}.tabs button{flex:1}.table-pagination{align-items:stretch;flex-direction:column}.table-pagination>div{justify-content:flex-end}.recent-scan-panel{position:static}.watch-condition{grid-template-columns:1fr}.watch-form-row{grid-template-columns:88px minmax(0,1fr) 34px}.ai-strategy-modal{width:calc(100vw - 20px)}.ai-strategy-body,.strategy-edit-workspace-grid,.strategy-maintenance-summary,.strategy-maintenance-grid,.strategy-blacklist-editor,.ai-preview-top,.ai-structured-row,.ai-risk-card,.strategy-editable-condition{grid-template-columns:1fr}.ai-condition-row{grid-template-columns:18px 30px minmax(0,1fr) 34px}.ai-modal-footer{align-items:stretch;flex-direction:column}}
