:root{--page:#f3f5f9;--surface:#fff;--subtle:#eef1f6;--border:#e6eaf0;--text:#0f172a;--text-2:#475569;--mute:#94a3b8;--accent:#2563eb;--accent-soft:#dbeafe;--accent-deep:#1d4ed8;--win:#16a34a;--win-soft:#dcfce7;--loss:#dc2626;--loss-soft:#fee2e2;--equal:#ca8a04;--equal-soft:#fef9c3;--pending:#64748b;--pending-soft:#f1f5f9;--open:#2563eb;--shadow:0 8px 24px #0f172a0f;--radius:16px;--radius-sm:10px;--font:"IBM Plex Sans", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace;color:var(--text);background:var(--page);font-family:var(--font);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{grid-template-rows:auto 1fr;width:100%;min-width:0;max-width:100%;min-height:100vh;display:grid;overflow-x:clip}.topbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:20;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:16px 28px;min-height:72px;padding:12px 28px;display:flex;position:relative}.brand-wrap{align-items:center;gap:12px;display:flex}.brand-mark{color:#fff;letter-spacing:.04em;background:linear-gradient(145deg,#3b82f6,#1d4ed8);border-radius:10px;place-items:center;width:36px;height:36px;font-size:12px;font-weight:700;display:grid}.brand-text strong{font-size:15px;font-weight:700;display:block}.brand-text span{color:var(--mute);font-size:12px;display:block}.nav{gap:6px;display:flex}.nav a{color:var(--text-2);border-radius:999px;padding:8px 14px;font-size:14px;font-weight:500}.nav a.active,.nav a:hover{color:var(--accent-deep);background:var(--accent-soft)}.topbar-meta{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:16px 22px;min-width:0;margin-left:auto;display:flex}.validation-alert{flex-shrink:0;position:relative}.validation-alert-btn{opacity:.45;border-radius:999px;justify-content:center;align-items:center;width:40px;height:40px;padding:0;display:inline-flex;position:relative}.validation-alert-btn:disabled{cursor:default;opacity:.35}.validation-alert.has-issues .validation-alert-btn{opacity:1;color:#8a3410;background:#fff4ec;border-color:#c45c26}.validation-alert-btn.warn{animation:1.6s ease-in-out infinite validation-pulse}@keyframes validation-pulse{0%,to{box-shadow:0 0 #c45c2659}50%{box-shadow:0 0 0 6px #c45c2600}}.validation-alert-icon{font-size:16px;font-weight:800;line-height:1}.validation-alert-badge{color:#fff;background:#c45c26;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:700;display:inline-flex;position:absolute;top:-4px;right:-4px}.validation-alert-panel{z-index:80;border:1px solid var(--border);background:var(--panel,#fff);border-radius:12px;width:min(360px,100vw - 24px);max-height:360px;padding:12px 14px;position:absolute;top:calc(100% + 8px);right:0;overflow:auto;box-shadow:0 12px 32px #0000001f}.validation-alert-head{color:#8a3410;margin-bottom:8px;font-size:13px;font-weight:700}.validation-alert-head.spaced{border-top:1px solid var(--border);margin-top:14px;padding-top:10px}.validation-alert-head-row{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.validation-alert-head-row .validation-alert-head{margin-bottom:0}.validation-alert-clear{height:auto;min-height:0;padding:4px 10px;font-size:11px}.validation-alert-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.validation-alert-list li{flex-direction:column;gap:2px;font-size:12px;line-height:1.35;display:flex}.validation-alert-link{text-align:left;cursor:pointer;width:100%;color:inherit;font:inherit;background:0 0;border:0;border-radius:8px;flex-direction:column;gap:2px;margin:0 -8px;padding:6px 8px;display:flex}.validation-alert-link:hover{background:#fff4ec}.field-box.setting-focus-flash,input.setting-focus-flash,[data-setting-key].setting-focus-flash{outline-offset:2px;outline:2px solid #c45c26;transition:box-shadow .2s;box-shadow:0 0 0 4px #c45c2633}.validation-alert-list strong{color:var(--text);font-weight:600}.validation-alert-list span{color:#a33b12}.validation-alert-list em{color:var(--mute);font-size:11px;font-style:normal}.validation-alert-more{color:var(--mute);margin-top:8px;font-size:12px}.field-box.has-error input,.field-box.has-error textarea{background:#fff8f3;border-color:#c45c26!important}.field-hint{color:var(--mute);font-size:11px;line-height:1.3}.field-label.with-help{flex-wrap:wrap;align-items:flex-start;gap:6px;min-height:2.7em;display:flex;position:relative}.field-label.with-help .field-label-text{flex:auto;min-width:0}.field-help-btn{border:1px solid var(--border);background:var(--subtle,#f3f4f6);width:18px;height:18px;color:var(--mute);cursor:pointer;border-radius:999px;flex:none;margin-top:1px;padding:0;font-size:11px;font-weight:700;line-height:1}.field-help-btn:hover,.field-help-btn.open{border-color:var(--accent,#2563eb);color:var(--accent-deep,#1d4ed8);background:var(--accent-soft,#eff6ff)}.field-help-pop{border:1px solid var(--border);color:var(--text-2,#374151);white-space:pre-wrap;background:#fff;border-radius:8px;flex:100%;margin-top:2px;padding:8px 10px;font-size:11px;font-weight:400;line-height:1.45;box-shadow:0 4px 14px #0f172a14}.field-error{color:#a33b12;font-size:11px;font-weight:600;line-height:1.3}.metric{text-align:right;flex-shrink:0}.metric .label{color:var(--mute);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.metric .value{font-size:18px;font-weight:700;font-family:var(--mono)}.metric .value.up{color:var(--win)}.metric .value.down{color:var(--loss)}.engine-meta{flex-direction:column;align-items:flex-end;gap:2px;min-width:0;max-width:min(320px,100%);display:flex}.live-clock{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--text);font-size:14px;font-weight:500}.clock-tz{color:var(--mute);font-size:11px;line-height:1.2}.engine-status-line{max-width:280px;color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;align-items:center;font-size:12px;font-weight:500;display:inline-flex;overflow:hidden}.engine-dot{background:var(--mute);border-radius:50%;flex:none;width:7px;height:7px;margin-right:8px;display:inline-block}.engine-dot.on{background:var(--win)}.status-pill{background:var(--win-soft);color:var(--win);border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:600;display:inline-flex}.status-pill.off{background:var(--pending-soft);color:var(--pending)}.status-pill .dot{background:currentColor;border-radius:50%;width:8px;height:8px}.page{width:100%;min-width:0;max-width:100%;padding:20px 24px 28px;overflow-x:clip}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;max-width:100%}.card-hd{padding:16px 18px 8px}.card-hd h2{margin:0;font-size:16px;font-weight:700}.card-hd p{color:var(--mute);margin:4px 0 0;font-size:13px}.card-bd{padding:8px 18px 18px}.settings-panel>.card-bd{padding-top:18px}.desk-grid{grid-template-rows:520px auto;grid-template-columns:minmax(0,1.7fr) 340px;align-items:start;gap:16px;width:100%;min-width:0;display:grid}.desk-page{color:var(--text);gap:16px;width:100%;min-width:0;max-width:100%;font-size:14px;line-height:1.45;display:grid}.desk-page .muted{color:var(--text-2);font-size:12px;line-height:1.4}.desk-page .zone-title{letter-spacing:-.01em;margin-bottom:10px;font-size:15px;font-weight:700}.desk-page .data-table,.desk-page .rank-qtable,.desk-page .health-table{font-size:13px}.desk-page .data-table th,.desk-page .rank-qtable th,.desk-page .health-table th{color:var(--mute);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:600}.desk-page .data-table th,.desk-page .data-table td,.desk-page .rank-qtable th,.desk-page .rank-qtable td,.desk-page .health-table th,.desk-page .health-table td{padding:10px}.desk-page .hint{color:var(--mute);font-size:12px}.desk-page .stats-grid .stat .k{color:var(--text-2);font-size:12px}.desk-page .stats-grid .stat .v{font-size:20px}.desk-page .stats-grid .stat .s{font-size:11px}.desk-page .scan-row .sym,.desk-page .pending-row .sym{font-size:13px}.desk-page .scan-row .meta,.desk-page .pending-row .meta{color:var(--text-2);font-size:12px}.desk-page .text-profit,.desk-page .text-loss{font-size:13px;font-weight:600}.desk-live-grid{grid-template-rows:minmax(620px,68vh);grid-template-columns:minmax(0,1.7fr) 340px;align-items:start;gap:16px;width:100%;min-width:0;display:grid}.desk-live-grid--news{grid-template-columns:340px minmax(0,1.7fr) 340px}.desk-news{flex-direction:column;grid-area:1/1;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.desk-live-grid .desk-chart{grid-area:1/1}.desk-live-grid .desk-right{grid-area:1/2}.desk-live-grid--news .desk-chart{grid-column:2}.desk-live-grid--news .desk-right{grid-column:3}.desk-news-bd{flex:1;min-height:0;padding-top:2px;overflow:auto}.desk-news-hd-row{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.desk-news-err{margin:0 0 8px;font-size:12px}.econ-list{flex-direction:column;gap:8px;margin:0;padding:0 0 8px;list-style:none;display:flex}.econ-day{z-index:2;background:linear-gradient(#fff 55%,#ffffffb3);border:none;margin:4px 0 0;padding:6px 2px 4px;list-style:none;position:sticky;top:0}.econ-day span{letter-spacing:.02em;color:var(--text-2);text-transform:none;align-items:center;gap:6px;font-size:11px;font-weight:700;display:inline-flex}.econ-day span:before{content:"";background:var(--accent);border-radius:50%;flex:none;width:6px;height:6px}.econ-day:first-child{margin-top:0;padding-top:0}.econ-row{border:1px solid var(--border);background:var(--surface);border-radius:12px;grid-template-columns:4px 1fr;gap:0;transition:border-color .15s,background .15s,box-shadow .15s;display:grid;overflow:hidden}.econ-row-rail{background:#cbd5e1}.econ-row-body{min-width:0;padding:9px 10px 10px}.econ-row.imp-1{border-color:color-mix(in srgb, #eab308 55%, var(--border))}.econ-row.imp-1 .econ-row-rail{background:#eab308}.econ-row.imp-1:not(.is-past){background:linear-gradient(#fefce8 0%,#fff 72%)}.econ-row.imp-2{border-color:color-mix(in srgb, #f97316 55%, var(--border))}.econ-row.imp-2 .econ-row-rail{background:#f97316}.econ-row.imp-2:not(.is-past){background:linear-gradient(#fff7ed 0%,#fff 72%)}.econ-row.imp-3{border-color:color-mix(in srgb, #ef4444 60%, var(--border))}.econ-row.imp-3 .econ-row-rail{background:#ef4444}.econ-row.imp-3:not(.is-past){background:linear-gradient(#fef2f2 0%,#fff 72%)}.econ-row.is-past{background:#f8fafc;border-color:#e8edf3}.econ-row.is-past .econ-row-rail{opacity:.45;filter:grayscale(.35)}.econ-row.is-past .econ-title,.econ-row.is-past .econ-sub,.econ-row.is-past .econ-time,.econ-row.is-past .econ-afp b,.econ-row.is-past .econ-afp em{color:#94a3b8}.econ-row.is-past .econ-flag{filter:grayscale();opacity:.7}.econ-row.is-past .econ-imp i.on{background:#cbd5e1}.econ-row.is-past .econ-chip-imp{opacity:.7;filter:grayscale(.4)}.econ-row.is-next{box-shadow:0 8px 20px #0f172a1a}.econ-row.is-next.imp-1{box-shadow:0 8px 20px #eab30838}.econ-row.is-next.imp-2{box-shadow:0 8px 20px #f9731638}.econ-row.is-next.imp-3{box-shadow:0 8px 20px #ef444440}.econ-row-top{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:5px;display:flex}.econ-meta{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.econ-time{color:var(--text-2);letter-spacing:.01em;font-size:11px}.econ-chip{background:var(--subtle);height:18px;color:var(--text-2);white-space:nowrap;border-radius:999px;align-items:center;padding:0 7px;font-size:10px;font-weight:600;display:inline-flex}.econ-chip-next{color:#fff;background:#0f172a}.econ-chip-past{color:#64748b;background:#e2e8f0}.econ-chip-pair{background:var(--accent-soft);color:var(--accent-deep);border:1px solid color-mix(in srgb, var(--accent) 35%, transparent)}.econ-chip-imp-1{color:#a16207;background:#fef9c3}.econ-chip-imp-2{color:#c2410c;background:#ffedd5}.econ-chip-imp-3{color:#b91c1c;background:#fee2e2}.econ-imp{flex:none;align-items:center;gap:3px;margin-top:2px;display:inline-flex}.econ-imp i{background:var(--border);border-radius:2px;width:6px;height:6px;display:inline-block}.econ-imp i.on{background:#ca8a04}.econ-imp-2 i.on{background:#ea580c}.econ-imp-3 i.on{background:#dc2626}.econ-flag{object-fit:cover;border:1px solid var(--border);border-radius:3px;flex:none;width:22px;height:16px}.econ-flag-fallback{text-transform:uppercase;background:var(--subtle);color:var(--text-2);justify-content:center;align-items:center;font-size:9px;font-weight:700;display:inline-flex}.econ-title{color:var(--text);letter-spacing:-.01em;font-size:12.5px;font-weight:600;line-height:1.35}.econ-row.is-next .econ-title{font-size:13px}.econ-sub{color:var(--mute);margin-top:2px;font-size:11px}.econ-afp{border-top:1px dashed color-mix(in srgb, var(--border) 85%, transparent);grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:8px;padding-top:8px;display:grid}.econ-afp div{flex-direction:column;gap:1px;min-width:0;display:flex}.econ-afp em{letter-spacing:.04em;text-transform:uppercase;color:var(--mute);font-size:9px;font-style:normal;font-weight:600}.econ-afp b{font-size:11px;font-weight:600;font-family:var(--mono);color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.desk-chart{flex-direction:column;min-width:0;height:100%;min-height:0;max-height:none;display:flex;overflow:hidden}.desk-right{flex-direction:column;gap:12px;height:100%;min-height:0;max-height:none;display:flex}.desk-scan{flex-direction:column;flex:1.35;min-height:0;display:flex;overflow:hidden}.desk-pending{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.desk-scan .card-bd,.desk-pending .card-bd{flex:1;min-height:0;overflow:auto}.desk-orders{grid-area:2/1/auto/-1}.dash-zone{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;max-width:100%;padding:16px 18px 18px}.zone-title{letter-spacing:-.01em;margin:0 0 12px;font-size:15px;font-weight:700}.health-summary{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.health-pill{background:var(--subtle);border:1px solid var(--border);color:var(--text-2);border-radius:999px;align-items:center;padding:6px 10px;font-size:12px;display:inline-flex}.health-pill.tabular{font-family:var(--mono)}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:12px;display:grid}.stats-grid .stat{background:var(--subtle);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px}.stats-grid .stat .k{color:var(--text-2);margin-bottom:6px;font-size:12px}.stats-grid .stat .v{font-size:20px;font-weight:700;font-family:var(--mono);letter-spacing:-.02em}.stats-grid .stat .s{color:var(--mute);margin-top:4px;font-size:11px}.stats-grid .stat.profit .v{color:var(--win)}.stats-grid .stat.loss .v{color:var(--loss)}.filter-bar-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:12px 14px;display:grid}.filter-field{flex-direction:column;gap:6px;min-width:0;margin:0;display:flex}.filter-label{color:var(--text-2);min-height:1.3em;font-size:12px;font-weight:600;line-height:1.3;display:block}.filter-bar-grid input,.filter-bar-grid select,.filter-bar-grid .dp-trigger,.filter-bar-grid .asset-filter-trigger{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-width:0;height:38px;min-height:38px;font-family:var(--font);color:var(--text);padding:0 12px;font-size:13px;font-weight:500;line-height:38px}.filter-bar-grid select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2394a3b8' d='M1.4.6 6 5.2 10.6.6 12 2 6 8 0 2z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:32px}.filter-field>.dp,.filter-field>.filter-action-btns{flex:auto;min-height:38px}.filter-action-btns{grid-template-columns:1fr 1fr;align-items:stretch;gap:8px;min-width:0;display:grid}.filter-action-btns .btn{white-space:nowrap;box-sizing:border-box;justify-content:center;align-items:center;width:100%;height:38px;min-height:38px;padding:0 10px;font-size:13px;font-weight:600;display:inline-flex}.dp{flex-direction:column;min-width:0;display:flex;position:relative}.dp-trigger{cursor:pointer;text-align:left;font:inherit;justify-content:space-between;align-items:center;gap:8px;height:38px;min-height:38px;line-height:1.2;display:flex}.dp-trigger:hover{border-color:#cbd5e1}.dp.is-open .dp-trigger{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.dp-value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dp-placeholder{color:var(--mute)}.dp-icon{color:var(--mute);flex-shrink:0;font-size:12px}.dp-backdrop{display:none}.dp-pop{z-index:90;background:var(--surface);border:1px solid var(--border);border-radius:14px;width:min(360px,100vw - 32px);padding:16px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 16px 40px #0f172a29}.dp-nav{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.dp-month{letter-spacing:-.01em;text-align:center;flex:1;font-size:17px;font-weight:700}.dp-nav-btn{border:1px solid var(--border);background:var(--subtle);cursor:pointer;width:40px;height:40px;color:var(--text);border-radius:10px;font-size:22px;line-height:1}.dp-nav-btn:hover{background:var(--accent-soft);border-color:#bfdbfe}.dp-weekdays{text-align:center;color:var(--text-2);grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:6px;font-size:13px;font-weight:700;display:grid}.dp-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.dp-day{aspect-ratio:1;cursor:pointer;min-height:42px;font:inherit;color:var(--text);background:0 0;border:none;border-radius:10px;font-size:16px;font-weight:600}.dp-day:hover{background:var(--subtle)}.dp-day.is-out{color:var(--mute);font-weight:500}.dp-day.is-today:not(.is-selected){box-shadow:inset 0 0 0 2px var(--accent)}.dp-day.is-selected{background:var(--accent);color:#fff}.dp-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;margin-top:12px;padding-top:12px;display:flex}.dp-footer .btn{padding:8px 12px;font-size:13px}@media (width<=980px){.filter-bar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.filter-bar-grid{grid-template-columns:1fr}.dp-backdrop{z-index:89;background:#0f172a59;display:block;position:fixed;inset:0}.dp-pop{width:auto;max-width:none;max-height:min(88vh,560px);position:fixed;top:50%;left:16px;right:16px;overflow:auto;transform:translateY(-50%)}.dp-day{min-height:48px;font-size:17px}.dp-month{font-size:18px}}.filter-actions{align-items:end;gap:8px;padding-bottom:2px;display:flex}.status-dot{background:var(--mute);border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.status-dot.on{background:var(--win)}.status-dot.off{background:var(--loss)}.selected-row{background:var(--accent-soft)}.reader-row{background:#f8fbff}.scan-row,.pending-row{border-bottom:1px solid var(--subtle);cursor:pointer;grid-template-columns:1fr auto;align-items:start;gap:4px 10px;padding:10px 4px;display:grid}.scan-row.skipped{opacity:.55}.scan-row.busy{opacity:1}.scan-row.busy .sym .pill.busy{background:var(--accent-soft);color:var(--accent-deep)}.scan-row .sym,.pending-row .sym{align-items:center;gap:6px;min-width:0;font-family:inherit;font-size:13px;font-weight:600;display:flex}.scan-row .meta,.pending-row .meta{color:var(--mute);white-space:nowrap;text-overflow:ellipsis;grid-column:1/-1;font-size:12px;overflow:hidden}.scan-row.selected{background:var(--accent-soft);border-radius:8px;padding-left:8px;padding-right:8px}.chart-toolbar{flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px 0;display:flex}.chart-toolbar-copy{flex:auto;min-width:0}.chart-toolbar-detail{color:var(--text-2);white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;text-overflow:unset;margin:6px 0 0;font-size:13px;line-height:1.45;overflow:visible}.chart-toolbar-detail--rich{white-space:normal;flex-direction:column;gap:6px;display:flex}.chart-detail-summary{flex-wrap:wrap;align-items:baseline;gap:8px 10px;min-width:0;display:flex}.chart-detail-head{min-width:0;color:var(--text-2);line-height:1.4}.chart-detail-toggle{color:var(--accent-deep,#1d4ed8);font:inherit;cursor:pointer;text-underline-offset:2px;background:0 0;border:0;flex:none;margin:0;padding:0;font-size:12px;font-weight:600;text-decoration:underline}.chart-detail-toggle:hover{color:var(--accent,#2563eb)}.chart-detail-techs{flex-wrap:wrap;gap:4px;display:flex}.chart-tech-pass{color:var(--win,#15803d);border-color:color-mix(in srgb, var(--win,#16a34a) 35%, var(--border));background:color-mix(in srgb, var(--win,#16a34a) 10%, #fff)}.chart-detail-panel{border:1px solid var(--border);background:var(--subtle,#f8fafc);border-radius:8px;max-height:160px;margin-top:2px;padding:8px 10px;overflow:auto}.chart-detail-vote-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.chart-detail-vote-list li{grid-template-columns:14px minmax(0,max-content) minmax(0,1fr);align-items:baseline;gap:6px 8px;font-size:12px;line-height:1.35;display:grid}.chart-detail-vote-mark{color:var(--mute);font-weight:700}.chart-detail-vote-list li.is-pass .chart-detail-vote-mark{color:var(--win,#15803d)}.chart-detail-vote-name{font-family:var(--mono);color:var(--text);white-space:nowrap}.chart-detail-vote-side{color:var(--text-2);overflow-wrap:anywhere;min-width:0}.chart-detail-vote-list li.is-fail .chart-detail-vote-side{color:var(--mute)}.chart-detail-raw{color:var(--text-2);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:12px}.chart-toolbar-actions{flex-wrap:wrap;flex-shrink:0;gap:8px;display:flex}.flash-price{color:inherit;font-variant-numeric:tabular-nums;transition:color .45s}.flash-price.is-up{color:var(--win);transition:color}.flash-price.is-down{color:var(--loss);transition:color}.chart-live-px{font-family:var(--mono);font-weight:600}.scan-row .price .flash-price{color:var(--text)}.scan-row .price .flash-price.is-up{color:var(--win);transition:color}.scan-row .price .flash-price.is-down{color:var(--loss);transition:color}.chart-ind-panel{border:1px solid var(--border);background:var(--subtle);border-radius:12px;flex-shrink:0;gap:10px;max-height:140px;margin:10px 18px 0;padding:12px 14px;display:grid;overflow:auto}.chart-ind-auto{color:var(--text);cursor:pointer;align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.chart-ind-list{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px 12px;display:grid}.chart-ind-item{color:var(--text-2);cursor:pointer;align-items:center;gap:8px;min-width:0;font-size:13px;display:flex}.chart-ind-item span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chart-ind-item em{color:var(--accent-deep);background:var(--accent-soft);border-radius:999px;padding:1px 6px;font-size:11px;font-style:normal;font-weight:700}.chart-ind-item em.filter-tag{color:#9a3412;background:#ffedd5}.chart-ind-item.is-auto{color:var(--text)}.legend{color:var(--text-2);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px 14px;padding:8px 18px 4px;font-size:12px;display:flex}.legend i{border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.chart-wrap{flex-direction:column;flex:auto;gap:6px;min-height:180px;padding:0 10px 10px;display:flex;position:relative;overflow:hidden}.chart-ohlc{font-size:12px;font-family:var(--mono);color:var(--text-2);flex-wrap:wrap;flex-shrink:0;align-items:baseline;gap:6px 14px;min-height:22px;padding:2px 6px 0;display:flex}.chart-ohlc.is-hover{color:var(--text)}.chart-ohlc-time{font-family:var(--font);color:var(--mute);margin-right:4px;font-size:11px}.chart-ohlc b{font-weight:700}.chart-ohlc b.is-up{color:var(--win)}.chart-ohlc b.is-down{color:var(--loss)}.chart-host{flex:auto;width:100%;height:100%;min-height:0}.chart-stage{flex:auto;width:100%;min-height:160px;position:relative}.chart-stage .chart-host{position:absolute;inset:0}.chart-overlay-legend{z-index:6;box-shadow:none;pointer-events:none;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:3px;padding:0;display:flex;position:absolute;top:6px;left:8px}.chart-overlay-row{min-height:24px;color:var(--text-2);font-family:var(--font);letter-spacing:.01em;cursor:pointer;text-align:left;pointer-events:auto;background:#ffffffb8;border:0;border-radius:3px;align-items:center;gap:6px;margin:0;padding:1px 2px 1px 6px;font-size:11px;font-weight:500;line-height:1.2;transition:color .12s,background .12s,opacity .12s;display:inline-flex}.chart-overlay-row:hover{color:var(--text);background:#fffffff2}.chart-overlay-row.is-hidden{color:var(--mute);opacity:.78;background:#ffffff73}.chart-overlay-row.is-hidden:hover{opacity:.95;color:#64748b;background:#ffffffb3}.chart-overlay-swatch{border-radius:2px;flex-shrink:0;width:8px;height:8px}.chart-overlay-swatch.is-marks{background:var(--win)}.chart-overlay-swatch.is-lines{background:linear-gradient(90deg, var(--accent), #93c5fd)}.chart-overlay-row.is-hidden .chart-overlay-swatch{opacity:.35;filter:grayscale(.4)}.chart-overlay-label{white-space:nowrap;padding-right:2px}.chart-overlay-eye{width:22px;height:22px;color:var(--text-2);opacity:.55;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .12s,background .12s,color .12s;display:inline-flex}.chart-overlay-row:hover .chart-overlay-eye{opacity:1;color:var(--text);background:#0f172a0d}.chart-overlay-row.is-hidden .chart-overlay-eye{opacity:.7;color:var(--mute)}.chart-entry-layer{pointer-events:none;z-index:4;position:absolute;inset:0;overflow:hidden}.chart-entry-layer.hide-lines .entry-cross-h,.chart-entry-layer.hide-marks .entry-cross-dot,.chart-entry-layer.hide-marks .entry-cross-badge,.chart-entry-layer.hide-marks.hide-lines{display:none}.entry-cross{pointer-events:auto;cursor:crosshair;z-index:5;--entry-line:#16a34a;--entry-label:#16a34a;filter:drop-shadow(0 1px 2px #0f172a59);background:0 0;border:0;width:88px;height:36px;margin:0;padding:0;position:absolute;transform:translate(-50%,-50%)}.entry-cross-h{background:var(--entry-line);opacity:1;border-radius:2px;height:3px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);box-shadow:0 0 0 1.5px #fff,0 0 0 2.5px #0f172a59}.entry-cross-dot{background:var(--entry-line);border:2.5px solid #fff;border-radius:50%;width:14px;height:14px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 2px #0f172a59,0 2px 6px #0f172a47}.entry-cross-badge{letter-spacing:.04em;color:#fff;background:var(--entry-label);white-space:nowrap;border:1.5px solid #fff;border-radius:999px;min-width:34px;padding:1px 6px;font-size:9px;font-weight:800;line-height:1.35;position:absolute;top:calc(50% + 12px);left:50%;transform:translate(-50%);box-shadow:0 1px 3px #0f172a4d}.entry-cross.is-win{--entry-line:#16a34a;--entry-label:#16a34a}.entry-cross.is-loss{--entry-line:#dc2626;--entry-label:#dc2626}.entry-cross.is-equal{--entry-line:var(--equal);--entry-label:var(--equal)}.entry-cross.is-live{--entry-line:#2563eb;--entry-label:#2563eb}.entry-cross.is-other.is-buy{--entry-line:#16a34a;--entry-label:#16a34a}.entry-cross.is-other.is-sell{--entry-line:#dc2626;--entry-label:#dc2626}.entry-cross.is-live .entry-cross-dot{width:15px;height:15px;animation:1.4s ease-in-out infinite entry-dot-pulse}.entry-cross.is-active{z-index:6;filter:drop-shadow(0 2px 5px #0f172a73)}.entry-cross.is-active .entry-cross-h{height:4px}.entry-cross.is-active .entry-cross-dot{width:16px;height:16px}@keyframes entry-dot-pulse{0%,to{opacity:1;transform:translate(-50%,-50%)scale(1)}50%{opacity:.75;transform:translate(-50%,-50%)scale(1.25)}}.chart-entry-tip{font-family:var(--font);letter-spacing:.01em;border-radius:999px;margin-left:6px;padding:2px 8px;font-size:11px;font-weight:600}.chart-entry-tip strong{font-weight:800}.chart-entry-tip.is-win{color:#166534;background:var(--win-soft)}.chart-entry-tip.is-loss{color:#991b1b;background:var(--loss-soft)}.chart-entry-tip.is-equal{color:#854d0e;background:var(--equal-soft)}.chart-entry-tip.is-live,.chart-entry-tip.is-other{color:#1e40af;background:var(--accent-soft)}.tech-card{border:1px solid var(--border);cursor:pointer;border-radius:14px;margin-bottom:10px;padding:12px 14px;transition:border-color .15s,box-shadow .15s}.tech-card:hover,.tech-card.selected{border-color:#bfdbfe;box-shadow:0 0 0 3px #2563eb14}.tech-card-top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.tech-card-top strong{font-size:14px;font-family:var(--mono)}.tech-card .detail{color:var(--mute);margin-top:4px;font-size:12px;line-height:1.4}.tech-card.skipped{opacity:.55;background:#f8fafc;border-color:#e2e8f0}.tech-card.skipped strong,.tech-card.skipped .price,.tech-card.skipped .detail{color:var(--mute)}.pill.skipped{color:#64748b;background:#e2e8f0}.pill{background:var(--subtle);color:var(--text-2);border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.pill.signal,.pill.WIN,.pill.CALL,.pill.Won{background:var(--win-soft);color:var(--win)}.pill.LOSS,.pill.PUT,.pill.Lost{background:var(--loss-soft);color:var(--loss)}.pill.EQUAL{background:var(--equal-soft);color:var(--equal)}.pill.PENDING,.pill.Pending,.pill.idle{background:var(--pending-soft);color:var(--pending)}.pill.OPEN,.pill.watching{background:var(--accent-soft);color:var(--accent-deep)}@keyframes open-heart{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(1.06)}}.pill.OPEN.is-pulse,.pill.busy.is-pulse{animation:.9s ease-in-out infinite open-heart}.pill.OPEN.is-pulse-fast,.pill.busy.is-pulse-fast{animation:.32s ease-in-out infinite open-heart}.pill.OPEN.is-cd-up{background:var(--win-soft);color:var(--win)}.pill.OPEN.is-cd-down{background:var(--loss-soft);color:var(--loss)}.pill.OPEN.is-cd-flat{background:var(--equal-soft);color:var(--equal)}.stats-row{color:var(--text-2);gap:28px;padding:16px 18px 0;font-size:14px;display:flex}.stats-row strong{color:var(--text);font-family:var(--mono)}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th,.data-table td{border-bottom:1px solid var(--subtle);text-align:left;white-space:nowrap;padding:12px 10px}.data-table th{color:var(--mute);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.data-table .mono{font-family:var(--mono)}.entry-hour-scroll{overflow-x:auto}.entry-hour-card{padding:16px 16px 12px}.entry-hour-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.entry-hour-toolbar h2{margin:0 0 4px;font-size:18px}.entry-hour-toolbar p{color:var(--mute);margin:0;font-size:13px}.entry-hour-pair{background:var(--subtle);border-radius:12px;flex-direction:column;gap:6px;min-width:188px;margin:0;padding:10px 12px;display:flex}.entry-hour-pair span{color:var(--mute);font-size:11px;font-weight:600;line-height:1.2}.entry-hour-pair select{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-sm);background-color:var(--surface);appearance:none;width:100%;height:36px;min-height:36px;color:var(--text);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2394a3b8' d='M1.4.6 6 5.2 10.6.6 12 2 6 8 0 2z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding:0 32px 0 12px;font-size:13px;font-weight:500;line-height:36px}@media (width<=640px){.entry-hour-toolbar{flex-direction:column;align-items:stretch}.entry-hour-pair{min-width:0}}.desk-page .entry-hour-grid th,.desk-page .entry-hour-grid td{text-align:center;letter-spacing:0;text-transform:none;padding:6px 5px;font-size:13px;font-weight:600}.entry-hour-grid th:first-child{background:var(--surface);text-align:left;white-space:nowrap;min-width:84px;position:sticky;left:0}.entry-hour-grid th.entry-split-head{background:linear-gradient(to top right, transparent calc(50% - .6px), var(--border) calc(50% - .6px), var(--border) calc(50% + .6px), transparent calc(50% + .6px)), var(--surface);width:92px;min-width:92px;height:48px;position:relative;overflow:hidden;padding:0!important}.entry-split-head .axis-time,.entry-split-head .axis-day{letter-spacing:.02em;text-transform:none;color:var(--mute);font-size:12px;font-weight:600;position:absolute}.entry-split-head .axis-time{top:6px;right:8px}.entry-split-head .axis-day{bottom:5px;left:8px}.pnl-calendar-card{padding:16px 16px 12px}.cal-toolbar{grid-template-columns:1fr auto auto;align-items:center;gap:16px;margin-bottom:14px;display:grid}.cal-toolbar h2{margin:0 0 4px;font-size:18px}.cal-toolbar p{color:var(--mute);margin:0;font-size:13px}.cal-nav{align-items:center;gap:10px;display:flex;position:relative}.cal-month-picker{position:relative}.cal-month-trigger{text-align:center;min-width:9.5rem;color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;padding:6px 10px;font-size:16px;font-weight:800}.cal-month-trigger:hover,.cal-month-picker.is-open .cal-month-trigger{border-color:var(--border);background:var(--subtle)}.cal-month-pop{z-index:30;border:1px solid var(--border);background:var(--surface);width:280px;box-shadow:var(--shadow);border-radius:14px;padding:12px;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)}.cal-year-row{align-items:center;gap:8px;margin-bottom:10px;display:flex}.cal-year-row select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);height:36px;color:var(--text);flex:1;padding:0 10px;font-size:14px;font-weight:700}.cal-month-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.cal-month-opt{border:1px solid var(--border);background:var(--subtle);color:var(--text);cursor:pointer;border-radius:10px;padding:10px 6px;font-size:12px;font-weight:700}.cal-month-opt:hover{border-color:var(--accent)}.cal-month-opt.is-selected{background:color-mix(in srgb, var(--accent) 14%, var(--surface));border-color:var(--accent);color:var(--accent)}.cal-nav strong{text-align:center;min-width:9.5rem;font-size:16px}.cal-month-pnl{background:var(--subtle);text-align:right;border-radius:12px;min-width:140px;padding:10px 14px}.cal-month-pnl span,.cal-month-pnl em{color:var(--mute);font-size:11px;font-style:normal;display:block}.cal-month-pnl strong{font-family:var(--mono);margin:2px 0;font-size:20px;display:block}.cal-month-pnl.up strong{color:var(--win)}.cal-month-pnl.down strong{color:var(--loss)}.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.cal-dow{color:var(--mute);text-align:center;white-space:nowrap;padding:0 4px 4px;font-size:12px;font-weight:700}.cal-day{border:1px solid var(--border);background:var(--surface);min-height:84px;color:var(--text);text-align:left;border-radius:12px;flex-direction:column;gap:2px;padding:8px;display:flex}.cal-day:not(:disabled){cursor:pointer}.cal-day:not(:disabled):hover{border-color:var(--accent)}.cal-day.is-out{background:0 0;border:0;min-height:0}.cal-day.profit{background:color-mix(in srgb, var(--win) calc(var(--heat) * 28%), var(--surface));border-color:color-mix(in srgb, var(--win) 35%, var(--border))}.cal-day.loss{background:color-mix(in srgb, var(--loss) calc(var(--heat) * 28%), var(--surface));border-color:color-mix(in srgb, var(--loss) 35%, var(--border))}.cal-day.flat{background:var(--subtle)}.cal-day.selected{outline:2px solid var(--accent);outline-offset:1px}.cal-day.today .cal-num{background:var(--text);color:var(--surface)}.cal-num{border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:inline-flex}.cal-day strong{font-family:var(--mono);margin-top:auto;font-size:13px}.cal-day.profit strong{color:var(--win)}.cal-day.loss strong{color:var(--loss)}.cal-day em,.cal-empty{color:var(--text-2);font-size:11px;font-style:normal}.cal-day:disabled{color:var(--mute);cursor:default}.cal-foot{color:var(--text-2);flex-wrap:wrap;align-items:flex-end;gap:12px 16px;margin-top:14px;font-size:12px;display:flex}.cal-extreme{background:var(--subtle);border:1px solid #0000;border-radius:12px;flex-direction:column;gap:2px;min-width:168px;padding:10px 14px;display:flex}.cal-extreme span{letter-spacing:.04em;text-transform:uppercase;color:var(--mute);font-size:11px;font-weight:700}.cal-extreme strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:16px;font-weight:800;line-height:1.25}.cal-extreme em{color:var(--text-2);font-size:12px;font-style:normal}.cal-extreme.best.hot{background:color-mix(in srgb, var(--win) 12%, var(--surface));border-color:color-mix(in srgb, var(--win) 35%, var(--border))}.cal-extreme.best.hot strong{color:var(--win)}.cal-extreme.worst.hot{background:color-mix(in srgb, var(--loss) 12%, var(--surface));border-color:color-mix(in srgb, var(--loss) 35%, var(--border))}.cal-extreme.worst.hot strong{color:var(--loss)}.entry-pair-card{padding:16px 16px 12px}.hour-insight-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.hour-insight{text-align:left;border:1px solid color-mix(in srgb, var(--border) 70%, var(--text-2));background:var(--subtle);color:var(--text);cursor:pointer;border-radius:12px;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 12px;display:flex;box-shadow:0 1px #0f172a0a}.hour-insight:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--surface))}.hour-insight.top{background:var(--win-soft);border-color:color-mix(in srgb, var(--win) 55%, var(--border));box-shadow:0 0 0 1px color-mix(in srgb, var(--win) 25%, transparent)}.hour-insight .hi-rank{background:var(--surface);border:1px solid var(--border);letter-spacing:.02em;min-width:28px;height:20px;color:var(--text);border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:11px;font-weight:800;display:inline-flex}.hour-insight.top .hi-rank{background:var(--win);border-color:var(--win);color:#fff}.hour-avoid-grid{margin-top:-4px}.hour-insight.avoid{background:color-mix(in srgb, var(--loss) 8%, var(--subtle));border-color:color-mix(in srgb, var(--loss) 35%, var(--border))}.hour-insight.avoid.worst{background:var(--loss-soft);border-color:color-mix(in srgb, var(--loss) 55%, var(--border));box-shadow:0 0 0 1px color-mix(in srgb, var(--loss) 20%, transparent)}.hour-insight.avoid .hi-rank{background:var(--surface);border-color:color-mix(in srgb, var(--loss) 40%, var(--border));color:var(--loss);min-width:64px}.hour-insight.avoid.worst .hi-rank{background:var(--loss);border-color:var(--loss);color:#fff}.hour-insight.avoid b{color:var(--loss)}.hour-insight .hi-head{justify-content:space-between;align-items:center;gap:8px;width:100%;min-width:0;display:flex}.hour-insight .hi-head .asset-sym{flex:1;min-width:0}.hour-insight .hi-head .asset-sym-name,.hour-insight strong{color:var(--text);font-size:13px;font-weight:800}.hour-insight em{font-style:normal;font-family:var(--mono);background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:2px 6px;font-size:12px;font-weight:800}.hour-insight.top em{border-color:color-mix(in srgb, var(--win) 35%, var(--border))}.hour-insight b{font-variant-numeric:tabular-nums;color:var(--win);font-size:22px;font-weight:800;line-height:1}.hour-insight .hi-meta{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.hour-insight .hi-win{color:var(--win);font-weight:800}.hour-insight .hi-loss{color:var(--loss);font-weight:800}.entry-pair-table tbody tr{cursor:pointer}.entry-pair-table tbody tr:hover{background:color-mix(in srgb, var(--accent) 6%, transparent)}.entry-pair-table tbody tr.is-selected{background:color-mix(in srgb, var(--accent) 12%, transparent)}.pair-best-hour{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.pair-best-hour .asset-sym{min-width:0}.pair-best-hour .asset-sym-name{font-size:13px;font-weight:650}.pair-best-hour strong{font-family:var(--mono);font-size:13px}.pair-best-hour em{color:var(--win);font-variant-numeric:tabular-nums;font-style:normal;font-weight:800}.pair-best-hour span{color:var(--text-2);font-size:12px}.pair-side-cell{flex-direction:column;gap:1px;line-height:1.15;display:inline-flex}.pair-side-cell strong{font-size:13px}.pair-side-cell span{color:var(--text-2);font-size:11px;font-weight:600}.tech-drill{border-top:1px solid var(--subtle);margin-top:14px;padding-top:12px}.tech-drill-hd{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.tech-drill-hd strong{font-size:14px}.tech-regime-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px;display:grid}.tech-regime-chip{background:var(--subtle);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.tech-regime-chip span{color:var(--mute);letter-spacing:.04em;font-size:11px;font-weight:800}.tech-regime-chip strong{font-variant-numeric:tabular-nums;font-size:18px;font-weight:800;font-family:var(--mono)}.tech-regime-chip em{color:var(--text-2);font-size:12px;font-style:normal}@media (width<=640px){.tech-regime-strip{grid-template-columns:1fr}}@media (width<=900px){.hour-insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.hour-insight-grid{grid-template-columns:1fr}}@media (width<=900px){.cal-toolbar{grid-template-columns:1fr}.cal-month-pnl{text-align:left}.cal-day{min-height:68px;padding:6px}.cal-day em{display:none}}.entry-hour-cell{color:var(--text-2);font-family:var(--mono);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:2px 4px;font-size:13px;font-weight:600}.entry-hour-cell.win{color:var(--win)}.entry-hour-cell.loss{color:var(--loss)}.entry-hour-cell.equal{color:var(--equal)}.entry-hour-cell.selected{background:var(--accent-soft);color:var(--accent-deep)}.pager{align-items:center;gap:12px;margin-top:12px;display:flex}.scan-tech-cell{white-space:normal;min-width:10rem;max-width:28rem}.filters{flex-wrap:wrap;gap:8px;margin:0;display:flex}.filters.filter-bar-grid{margin:0;display:grid}.filters input,.filters select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);padding:9px 12px}.filters.filter-bar-grid input,.filters.filter-bar-grid select,.filters.filter-bar-grid .dp-trigger,.filters.filter-bar-grid .asset-filter-trigger{min-width:0;height:38px;min-height:38px;padding:0 12px}.btn{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);cursor:pointer;padding:8px 14px;font-weight:600}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.danger{color:#fff;background:#b42318;border-color:#b42318}.btn:disabled{opacity:.5;cursor:not-allowed}.ui-dialog-backdrop{z-index:180;-webkit-backdrop-filter:blur(8px);background:#0f172a66;justify-content:center;align-items:center;padding:20px;animation:.16s ease-out both ui-dialog-fade;display:flex;position:fixed;inset:0}.ui-dialog{border:1px solid var(--border);background:var(--surface);text-align:center;border-radius:18px;width:min(360px,100vw - 32px);padding:24px 22px 18px;animation:.2s cubic-bezier(.22,1,.36,1) both ui-dialog-pop;box-shadow:0 20px 50px #0f172a29}.ui-dialog--danger{border-color:#b4231838}.ui-dialog-icon{width:44px;height:44px;color:var(--accent-deep);background:var(--accent-soft);border-radius:50%;place-items:center;margin:0 auto 12px;font-size:1.25rem;font-weight:800;display:grid}.ui-dialog-icon.is-danger{color:#991b1b;background:#fee2e2}.ui-dialog-title{letter-spacing:-.02em;color:#0f172a;margin:0 0 6px;font-size:1.1rem;font-weight:700}.ui-dialog-message{color:#64748b;margin:0 0 18px;font-size:.92rem;line-height:1.4}.ui-dialog-body{text-align:left;gap:10px;margin:-6px 0 16px;display:grid}.ui-dialog-field{color:var(--muted);gap:6px;font-size:12px;font-weight:600;display:grid}.ui-dialog-field input{border:1px solid var(--border);background:var(--bg);width:100%;font:inherit;color:var(--text);border-radius:10px;padding:10px 12px;font-weight:500}.ui-dialog-field input:focus{border-color:color-mix(in srgb, var(--accent) 55%, var(--border));box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent);outline:none}.ui-dialog-error{color:#b42318;margin:0;font-size:12px;font-weight:600}.ui-dialog-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.ui-dialog-actions .btn{min-width:108px}.status-with-refresh{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.btn-refresh-result{border:1px solid var(--border);background:var(--surface);color:var(--accent-deep);cursor:pointer;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700;line-height:1.4}.btn-refresh-result:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.btn-refresh-result:disabled{opacity:.55;cursor:wait}@keyframes ui-dialog-fade{0%{opacity:0}to{opacity:1}}@keyframes ui-dialog-pop{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:none}}.settings-layout{grid-template-columns:220px minmax(0,1fr);gap:16px;min-height:calc(100vh - 120px);display:grid}.settings-page{gap:12px;display:grid;position:relative}.settings-toast{z-index:50;color:#fff;background:#0f172a;border-radius:12px;max-width:min(420px,100vw - 32px);padding:12px 16px;font-size:14px;font-weight:600;position:fixed;bottom:24px;right:24px;box-shadow:0 10px 30px #0f172a47}.settings-toast.err{background:#b91c1c}.ai-log-blocks{gap:16px;display:grid}.ai-log-card{border:1px solid var(--border);background:var(--subtle);border-radius:12px;padding:14px 16px}.ai-log-card h4{margin:0 0 6px;font-size:14px}.settings-page-head h2{margin:0 0 4px;font-size:22px;font-weight:700}.settings-page-head p{margin:0}.settings-nav button{text-align:left;cursor:pointer;width:100%;color:var(--text-2);background:0 0;border:none;border-radius:10px;padding:10px 12px;font-weight:500;display:block}.settings-nav button.active,.settings-nav button:hover{background:var(--accent-soft);color:var(--accent-deep)}.form-grid{gap:14px 16px;width:100%;max-width:960px;display:grid}.form-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.form-grid .span-2{grid-column:1/-1;min-width:0}.field-box{flex-direction:column;gap:6px;width:100%;min-width:0;margin:0;display:flex}.field-label{color:var(--text-2);min-height:2.7em;font-size:12px;font-weight:500;line-height:1.35;display:block}.field-box input,.field-box select,.field-box textarea,.form-grid input:not([type=checkbox]):not([type=radio]),.form-grid select,.form-grid textarea{box-sizing:border-box;border:1px solid var(--border);width:100%;min-width:0;height:44px;min-height:44px;font:inherit;color:var(--text);background:#fff;border-radius:10px;padding:0 12px;font-size:13px}.field-box textarea,.form-grid textarea{resize:vertical;height:auto;min-height:88px;padding:10px 12px}.switch-row{border:1px solid var(--border);background:var(--subtle);box-sizing:border-box;cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;width:100%;min-height:48px;margin:0;padding:10px 14px;display:flex}.switch-label{min-width:0;color:var(--text);flex:auto;font-size:13px;font-weight:500;line-height:1.4}.switch-ui{cursor:pointer;background:#cbd5e1;border:none;border-radius:999px;flex:none;width:44px;height:26px;padding:0;transition:background .15s;position:relative}.switch-ui.on{background:#10b981}.switch-knob{background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0f172a40}.switch-ui.on .switch-knob{transform:translate(18px)}.switch-ui:disabled,.field-box.switch-field.is-disabled .switch-ui{opacity:.45;cursor:not-allowed}.field-box.switch-field.is-disabled .field-label{opacity:.65}.switch-row.is-disabled,.field-disabled-wrap{opacity:.55;pointer-events:none}.switch-row.is-disabled .switch-label{color:var(--mute)}.field-box.is-disabled{opacity:.55}.field-box.is-disabled input,.field-box.is-disabled select,.field-box.is-disabled textarea{background:var(--subtle);color:var(--mute);cursor:not-allowed}.check-row{color:var(--text);align-items:center;gap:10px;font-size:13px;font-weight:500;display:flex}.check-row input{width:16px;min-width:16px;height:16px;margin:0}@media (width<=800px){.form-grid.two-col{grid-template-columns:1fr}}.tech-accordion{border:1px solid var(--border);background:#fff;border-radius:14px;margin-bottom:10px;overflow:hidden}.tech-accordion summary{cursor:pointer;align-items:center;gap:12px;padding:12px 14px;font-weight:600;list-style:none;display:flex}.tech-accordion summary::-webkit-details-marker{display:none}.tech-summary-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.tech-summary-text strong{font-size:13px;line-height:1.35}.tech-summary-text small{color:var(--mute);font-size:11px;font-weight:400;line-height:1.35}.tech-on-badge{color:var(--mute);flex:none;padding-top:2px;font-size:12px;font-weight:500}.tech-summary-actions{flex-shrink:0;align-items:center;gap:8px;display:inline-flex}.tech-reset-btn{white-space:nowrap;padding:6px 10px;font-size:12px;font-weight:600}.tech-accordion .body{border-top:1px solid var(--subtle);padding:0 14px 14px}.tech-group{margin-bottom:18px}.tech-group-title{color:var(--text-2);margin:0 0 10px;font-size:13px;font-weight:700}.param-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:12px;display:grid}.param-grid .check-row{grid-column:1/-1}.solo-multi{gap:8px;display:grid}.solo-multi-label{font-size:13px;font-weight:500}.solo-chips{flex-wrap:wrap;align-items:center;gap:6px;min-height:28px;display:flex}.solo-chip{border:1px solid var(--border);background:var(--subtle);font:inherit;cursor:pointer;border-radius:999px;padding:4px 10px;font-size:12px}.hint-inline{font-size:12px}.hours-capital-block{padding:8px 0}.trading-windows{gap:8px;margin-top:8px;display:grid}.trading-window-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.trading-window-row input[type=time]{width:auto;min-width:110px}.tech-asset-filters{border-top:1px solid var(--border);margin-top:20px;padding-top:16px}.tech-asset-filters h4{margin:0 0 6px}.tech-asset-cols{grid-template-columns:1fr 1fr;gap:16px;margin:12px 0;display:grid}.tech-asset-list-card{border:1px solid var(--border);background:var(--panel,#fff);border-radius:12px;min-width:0;padding:12px 14px}.tech-asset-cols ul{margin:8px 0 0;padding:0;list-style:none}.tech-asset-cols li{font-family:var(--mono);align-items:center;gap:8px;margin-bottom:4px;font-size:12px;display:flex}.tech-asset-add{grid-template-columns:1fr 1fr auto;align-items:end;gap:12px;display:grid}.tech-asset-add.asset-picker-add{grid-template-columns:1fr;align-items:stretch}.tech-asset-add-actions{flex-wrap:wrap;align-items:center;gap:8px;min-height:44px;padding-bottom:1px;display:flex}@media (width<=900px){.tech-asset-cols,.tech-asset-add{grid-template-columns:1fr}.tech-asset-add-actions{min-height:0}}.muted{color:var(--mute);font-size:13px}.empty{color:var(--mute);text-align:center;padding:28px}.tech-card-top .price{font-family:var(--mono);color:var(--text);font-size:13px;font-weight:600}.bar-track>span{background:var(--accent);border-radius:inherit;height:100%;display:block}.watch-editor{gap:12px;max-width:720px;display:grid}.watch-chips{flex-wrap:wrap;gap:8px;display:flex}.watch-chip{background:var(--accent-soft);color:var(--accent-deep);font-family:var(--mono);border-radius:999px;align-items:center;gap:8px;padding:6px 10px;font-size:12px;font-weight:600;display:inline-flex}.watch-chip button{cursor:pointer;color:inherit;background:0 0;border:none;font-weight:700}.watch-add{flex-wrap:wrap;gap:8px;display:flex}.watch-add select{flex:1;min-width:200px}.asset-picker{gap:10px;display:grid}.asset-chip-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.asset-chip{background:var(--accent-soft);color:var(--accent-deep);border-radius:999px;align-items:center;gap:8px;max-width:100%;padding:5px 8px 5px 6px;font-size:13px;font-weight:600;display:inline-flex}.asset-chip--lg{border-radius:14px;gap:10px;padding:8px 12px 8px 8px;font-size:15px}.asset-chip--lg .asset-chip-x{padding:0 4px;font-size:18px}.asset-chip-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.asset-chip-x{cursor:pointer;color:inherit;opacity:.75;background:0 0;border:none;padding:0 2px;font-weight:700;line-height:1}.asset-chip-x:hover{opacity:1}.asset-icon{object-fit:cover;background:#0000000f;border-radius:50%;flex:none;width:18px;height:18px}.asset-icon-fallback{color:var(--accent-deep);justify-content:center;align-items:center;font-size:10px;font-weight:700;display:inline-flex}.asset-sym{align-items:center;gap:8px;min-width:0;display:flex}.asset-sym-text{flex-direction:column;gap:1px;min-width:0;display:flex}.asset-sym-name{text-overflow:ellipsis;white-space:nowrap;font-family:inherit;font-size:13px;font-weight:650;line-height:1.25;overflow:hidden}.asset-sym-ticker{font-family:var(--mono);color:var(--mute);text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:500;line-height:1.2;overflow:hidden}.desk-page .scan-row .sym .asset-sym-name,.desk-page .pending-row .sym .asset-sym-name{font-size:13px}.asset-picker-controls{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.asset-combobox{flex:1;min-width:220px;position:relative}.asset-combobox input{box-sizing:border-box;border:1px solid var(--border);width:100%;min-width:0;height:44px;min-height:44px;font:inherit;color:var(--text);background:#fff;border-radius:10px;padding:0 12px;font-size:13px}.asset-combobox input::placeholder{color:var(--mute);opacity:1}.asset-combobox input:disabled{opacity:.65;cursor:not-allowed}.asset-combobox-list{z-index:40;border:1px solid var(--border,#0000001f);background:var(--panel,#fff);border-radius:10px;max-height:280px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto;box-shadow:0 10px 28px #0000001f}.asset-combobox-empty{padding:10px 12px;font-size:13px}.asset-combobox-option{text-align:left;cursor:pointer;width:100%;color:inherit;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.asset-combobox-option:hover,.asset-combobox-option.is-active{background:var(--accent-soft)}.asset-option-main{flex-direction:column;gap:2px;min-width:0;display:flex}.asset-option-main strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:650;overflow:hidden}.asset-option-main .muted{font-size:11px;font-family:var(--mono)}.asset-picker-error{color:var(--loss);margin:0;font-size:13px}.asset-picker-add{grid-template-columns:1fr;align-items:stretch;gap:8px;display:grid}.asset-picker-add .asset-picker-controls{align-items:center}.tech-asset-list-card .asset-chip-row{margin-top:8px}.asset-filter-select{width:100%;min-width:0;position:relative}.asset-filter-trigger{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;height:38px;min-height:38px;color:var(--text);font-family:var(--font);cursor:pointer;text-align:left;justify-content:space-between;align-items:center;gap:8px;padding:0 12px 0 10px;font-size:13px;font-weight:500;line-height:1.2;display:flex}.asset-filter-trigger.is-open{border-color:var(--accent,#3b82f6)}.asset-filter-trigger .asset-sym{flex:1;min-width:0}.asset-filter-trigger .asset-sym-name,.asset-filter-all{font-family:var(--font);color:var(--text);font-size:13px;font-weight:500;line-height:1.2}.asset-filter-caret{color:var(--mute);flex:none;font-size:12px;line-height:1}.asset-filter-menu{z-index:50;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel,var(--surface));min-width:260px;padding:8px;position:absolute;top:calc(100% + 4px);left:0;right:0;box-shadow:0 10px 28px #0000001f}.asset-filter-menu input{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;height:36px;min-height:36px;font-family:var(--font);color:var(--text);margin-bottom:6px;padding:0 10px;font-size:13px;font-weight:500}.asset-filter-menu input::placeholder{color:var(--mute);opacity:1}.asset-filter-list{max-height:260px;margin:0;padding:0;list-style:none;overflow:auto}.asset-filter-empty{padding:10px 8px;font-size:13px}.asset-filter-option{text-align:left;cursor:pointer;width:100%;color:inherit;font-family:var(--font);background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:7px 8px;font-size:13px;font-weight:500;display:flex}.asset-filter-meta{color:var(--mute);font-family:var(--font);white-space:nowrap;flex:none;margin-left:auto;font-size:12px;font-weight:500}.asset-filter-trigger .asset-filter-meta{margin-left:0}.asset-filter-option:hover,.asset-filter-option.is-active{background:var(--accent-soft)}.asset-filter-option.is-selected{outline:1px solid color-mix(in srgb, var(--accent) 35%, transparent)}.asset-filter-option .asset-sym-name{font-weight:500}.asset-filter-option .asset-sym-ticker{display:none}.filter-field .asset-filter-select,.entry-hour-pair .asset-filter-select,.field-box .asset-filter-select,.tech-preview-asset .asset-filter-select{width:100%}.field-box .asset-filter-trigger{height:44px;min-height:44px}.entry-hour-pair .asset-filter-trigger{height:36px;min-height:36px;padding:0 12px 0 10px}@media (width<=1100px){.desk-grid,.desk-live-grid{grid-template-rows:auto;grid-template-columns:1fr}.desk-chart{height:min(420px,55vh);min-height:360px;max-height:none}.desk-news{height:auto;max-height:320px}.desk-right{height:auto;max-height:none}.desk-scan,.desk-pending{max-height:320px}.desk-news,.desk-chart,.desk-right,.desk-orders{grid-area:auto/1}.settings-layout,.form-grid.two-col{grid-template-columns:1fr}.topbar{flex-wrap:wrap;gap:12px;height:auto;min-height:0;padding:12px 16px}.topbar-meta{justify-content:space-between;width:100%;margin-left:0}.engine-meta{flex:160px;align-items:flex-start;max-width:100%}.engine-status-line{max-width:100%}}@media (width<=640px){.app-shell{grid-template-rows:auto 1fr}.desk-page{gap:12px;font-size:13px}.dash-zone{padding:12px 14px 14px}.desk-page .zone-title,.zone-title{font-size:14px}.desk-page .data-table,.desk-page .rank-qtable,.desk-page .health-table{font-size:12px}.desk-page .data-table th,.desk-page .data-table td,.desk-page .rank-qtable th,.desk-page .rank-qtable td,.desk-page .health-table th,.desk-page .health-table td{padding:8px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.desk-page .stats-grid .stat .v,.stats-grid .stat .v{font-size:18px}.desk-chart{height:min(360px,50vh);min-height:300px;max-height:none}.desk-scan,.desk-pending{max-height:260px}.analytics-chart{height:220px!important;min-height:220px!important}.filter-action-btns{grid-template-columns:1fr}.health-summary{gap:6px}}.gate-screen,.lock-screen{background:radial-gradient(900px 480px at 10% 0%, #dbeafe 0%, transparent 55%), radial-gradient(700px 420px at 90% 100%, #e2e8f0 0%, transparent 50%), var(--page);place-items:center;min-height:100vh;padding:24px;display:grid}.gate-screen{isolation:isolate;background:radial-gradient(80% 50% at 12% -5%,#2563eb2e,#0000 55%),radial-gradient(60% 45% at 100% 100%,#0ea5e91f,#0000 50%),linear-gradient(165deg,#f8fafc 0%,#eef2f7 48%,#e8eef8 100%);align-content:center;padding:clamp(20px,4vw,40px);position:relative;overflow:hidden}.gate-bg{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.gate-orb{filter:blur(8px);opacity:.55;border-radius:50%;position:absolute}.gate-orb-a{background:radial-gradient(circle,#3b82f659,#0000 70%);width:min(420px,55vw);height:min(420px,55vw);animation:18s ease-in-out infinite alternate gate-drift-a;top:-12%;left:-8%}.gate-orb-b{background:radial-gradient(circle,#0ea5e947,#0000 70%);width:min(360px,50vw);height:min(360px,50vw);animation:22s ease-in-out infinite alternate gate-drift-b;bottom:-15%;right:-10%}.gate-grid{opacity:.35;background-image:linear-gradient(#94a3b81f 1px,#0000 1px),linear-gradient(90deg,#94a3b81f 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 60% at 50% 40%,#000 20%,#0000 75%);mask-image:radial-gradient(70% 60% at 50% 40%,#000 20%,#0000 75%)}@keyframes gate-drift-a{0%{transform:translate(0)}to{transform:translate(24px,18px)}}@keyframes gate-drift-b{0%{transform:translate(0)}to{transform:translate(-20px,-14px)}}.gate-shell{z-index:1;grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(28px,5vw,56px);width:min(1040px,100%);display:grid;position:relative}.gate-hero{animation:.55s cubic-bezier(.22,1,.36,1) both gate-rise}.gate-mark{margin-bottom:18px;box-shadow:0 12px 28px #2563eb47}.gate-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-deep);margin:0 0 8px;font-size:12px;font-weight:700}.gate-hero h1{letter-spacing:-.04em;color:var(--text);margin:0 0 12px;font-size:clamp(42px,7vw,68px);font-weight:700;line-height:.95}.gate-lead{max-width:34ch;color:var(--text-2);margin:0 0 22px;font-size:16px;line-height:1.55}.gate-points{gap:10px;margin:0;padding:0;list-style:none;display:grid}.gate-points li{color:var(--text);align-items:center;gap:10px;font-size:14px;font-weight:500;display:flex}.gate-point-dot{background:var(--accent);width:8px;height:8px;box-shadow:0 0 0 4px var(--accent-soft);border-radius:50%;flex-shrink:0}.gate-form{background:linear-gradient(165deg,#fffffffa 0%,#f8fafff5 100%);border:1px solid #2563eb24;border-radius:20px;justify-self:end;gap:14px;width:100%;max-width:440px;padding:28px 28px 22px;animation:.65s cubic-bezier(.22,1,.36,1) 80ms both gate-rise;display:grid;position:relative;overflow:hidden;box-shadow:0 24px 60px #0f172a1a,inset 0 0 0 1px #ffffffb3}.gate-form-hd h2{letter-spacing:-.02em;margin:0 0 6px;font-size:20px;font-weight:700}.gate-form-hd p{color:var(--text-2);margin:0;font-size:13px;line-height:1.45}.gate-alert{background:var(--loss-soft);color:var(--loss);border:1px solid color-mix(in srgb, var(--loss) 22%, var(--border));border-radius:10px;margin:0;padding:10px 12px;font-size:13px;font-weight:600;line-height:1.4}.gate-field{color:var(--text-2);gap:6px;font-size:13px;font-weight:600;display:grid}.gate-field input{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:11px;padding:11px 12px;font-weight:500}.gate-field input:focus{outline:2px solid color-mix(in srgb, var(--accent) 35%, transparent);border-color:var(--accent)}.gate-pass-wrap{display:grid;position:relative}.gate-pass-wrap input{padding-right:64px}.gate-pass-toggle{color:var(--accent-deep);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px 8px;font-size:12px;font-weight:700;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.gate-pass-toggle:hover{background:var(--accent-soft)}.gate-mode{border:none;gap:8px;margin:0;padding:0;display:grid}.gate-mode legend{color:var(--text-2);margin-bottom:2px;padding:0;font-size:13px;font-weight:600}.gate-mode-seg{--gate-mode-gap:2px;--gate-mode-pad:3px;gap:var(--gate-mode-gap);padding:var(--gate-mode-pad);background:color-mix(in srgb, var(--bg) 70%, var(--border));border:1px solid var(--border);isolation:isolate;border-radius:12px;grid-template-columns:1fr 1fr;display:grid;position:relative}.gate-mode-seg:before{content:"";z-index:0;top:var(--gate-mode-pad);bottom:var(--gate-mode-pad);left:var(--gate-mode-pad);width:calc((100% - (2 * var(--gate-mode-pad)) - var(--gate-mode-gap)) / 2);background:var(--equal-soft);pointer-events:none;border-radius:10px;transition:transform .28s cubic-bezier(.22,1,.36,1),background .22s,box-shadow .22s;position:absolute;transform:translate(0);box-shadow:0 1px 2px #0f172a0f,0 0 0 1px #a1620729}.gate-mode-seg:has(.real.is-on):before{background:var(--loss-soft);box-shadow:0 1px 2px #0f172a0f, 0 0 0 1px color-mix(in srgb, var(--loss) 18%, transparent);transform:translateX(calc(100% + var(--gate-mode-gap)))}.gate-mode-seg-btn{z-index:1;text-align:center;cursor:pointer;color:var(--text-2);background:0 0;border-radius:10px;justify-items:center;gap:3px;margin:0;padding:11px 12px;transition:color .18s,transform .18s;display:grid;position:relative}.gate-mode-seg-btn input{opacity:0;pointer-events:none;position:absolute}.gate-mode-seg-btn strong{letter-spacing:.05em;font-size:12px;font-weight:800;line-height:1.2;transition:transform .22s cubic-bezier(.22,1,.36,1)}.gate-mode-seg-btn span{opacity:.78;font-size:11px;font-weight:500;line-height:1.3;transition:opacity .18s}.gate-mode-seg-btn:hover:not(.is-on){color:var(--text)}.gate-mode-seg-btn.is-on strong{transform:translateY(-.5px)scale(1.03)}.gate-mode-seg-btn.is-on span{opacity:1}.gate-mode-seg-btn.is-on.practice{color:#a16207}.gate-mode-seg-btn.is-on.real{color:var(--loss)}.gate-mode:disabled .gate-mode-seg-btn{opacity:.65;cursor:not-allowed}.gate-mode-seg-btn:has(input:disabled){opacity:.65;cursor:not-allowed}.gate-mode:disabled .gate-mode-seg:before{opacity:.7}.gate-mode-seg:has(input:disabled):before{opacity:.7}.gate-submit{border-radius:12px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:52px;margin-top:2px;padding:12px 16px;font-size:14px;font-weight:700;transition:transform .15s,box-shadow .15s,opacity .15s;display:inline-flex;position:relative;overflow:hidden}.gate-submit:not(:disabled):hover{box-shadow:0 10px 24px #2563eb47}.gate-submit.is-busy{opacity:1;cursor:wait;background:linear-gradient(120deg,#1e3a8a 0%,#2563eb 42%,#0ea5e9 78%,#1d4ed8 100%) 0 0/220% 100%;border-color:#0000;padding:10px 14px;animation:2.2s linear infinite gate-btn-sweep}.gate-submit.is-busy:disabled{opacity:1}.gate-link-hud{justify-content:space-between;align-items:center;gap:12px;width:100%;min-width:0;display:flex}.gate-link-copy{text-align:left;flex:1;gap:2px;min-width:0;display:grid}.gate-link-label{letter-spacing:.14em;opacity:.8;font-size:10px;font-weight:700}.gate-link-step{font-family:var(--mono);letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;animation:.28s both gate-step-in;overflow:hidden}.gate-eq{flex-shrink:0;align-items:flex-end;gap:3px;height:18px;display:inline-flex}.gate-eq i{transform-origin:bottom;background:#ffffffeb;border-radius:2px;width:3px;animation:.9s ease-in-out infinite gate-eq;display:block}.gate-eq i:first-child{height:6px;animation-delay:0s}.gate-eq i:nth-child(2){height:12px;animation-delay:.1s}.gate-eq i:nth-child(3){height:18px;animation-delay:.2s}.gate-eq i:nth-child(4){height:10px;animation-delay:.3s}.gate-eq i:nth-child(5){height:14px;animation-delay:.15s}.gate-radar{border:2px solid #ffffff59;border-radius:50%;flex-shrink:0;width:22px;height:22px;position:relative;box-shadow:inset 0 0 0 1px #ffffff26}.gate-radar:before{content:"";border:1px solid #ffffff73;border-radius:50%;position:absolute;inset:3px}.gate-radar:after{content:"";transform-origin:0;background:#fff;border-radius:2px;width:48%;height:2px;margin-left:-1px;animation:1.1s linear infinite gate-radar-sweep;position:absolute;top:50%;left:50%;box-shadow:0 0 8px #ffffffb3}.gate-mark.is-linking{animation:1.2s ease-in-out infinite gate-mark-pulse}.gate-form.is-linking{border-color:color-mix(in srgb, var(--accent) 40%, var(--border));box-shadow:0 24px 60px #2563eb29,inset 0 0 0 1px #ffffffb3}.gate-form-scan{pointer-events:none;z-index:2;background:linear-gradient(#0000 0%,#2563eb14 40%,#0ea5e929 50%,#2563eb14 60%,#0000 100%);height:28%;animation:2s ease-in-out infinite gate-form-scan;position:absolute;top:-30%;left:0;right:0}.gate-scanbeam{opacity:.7;background:repeating-linear-gradient(0deg,#0000 0 10px,#2563eb09 10px 11px);animation:3.2s linear infinite gate-scanbeam;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 30% 70%,#0000);mask-image:linear-gradient(90deg,#0000,#000 30% 70%,#0000)}.gate-screen.is-linking .gate-orb-a,.gate-screen.is-linking .gate-orb-b{opacity:.85;animation-duration:4s}@keyframes gate-btn-sweep{0%{background-position:0%}to{background-position:220%}}@keyframes gate-eq{0%,to{opacity:.65;transform:scaleY(.45)}50%{opacity:1;transform:scaleY(1)}}@keyframes gate-radar-sweep{to{transform:rotate(360deg)}}@keyframes gate-step-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes gate-mark-pulse{0%,to{transform:scale(1);box-shadow:0 12px 28px #2563eb47}50%{transform:scale(1.04);box-shadow:0 16px 36px #2563eb73}}@keyframes gate-form-scan{0%{top:-30%}to{top:105%}}@keyframes gate-scanbeam{0%{transform:translateY(-8%)}to{transform:translateY(8%)}}.gate-footnote{text-align:center;margin:0;font-size:12px}@keyframes gate-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.lock-card{gap:12px;width:min(420px,100%);padding:24px;display:grid}.brand-mark.lg{border-radius:16px;width:64px;height:64px;font-size:18px}.boot-overlay{z-index:200;-webkit-backdrop-filter:blur(8px);background:radial-gradient(90% 55% at 50% -10%,#2563eb29,#0000 55%),radial-gradient(70% 45% at 100% 100%,#0ea5e91a,#0000 50%),linear-gradient(#f8fafc 0%,#eef2f7 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;position:fixed;inset:0}.boot-overlay--enter{animation:.45s ease-out both boot-fade-in}.boot-overlay-card{text-align:center;background:linear-gradient(165deg,#fffffffa 0%,#f8fafff5 100%);border:1px solid #2563eb29;border-radius:20px;width:min(440px,100vw - 32px);padding:28px 30px 22px;animation:.55s cubic-bezier(.22,1,.36,1) both boot-card-pop;box-shadow:0 24px 60px #0f172a1f,inset 0 0 0 1px #ffffffa6}.boot-overlay-card--success{border-color:#16a34a59;box-shadow:0 24px 60px #16a34a1a,inset 0 0 0 1px #ffffffb3}.boot-hero{flex-direction:column;align-items:center;margin-bottom:8px;display:flex;position:relative}.boot-ring{width:76px;height:76px;margin-bottom:8px;position:relative}.boot-ring-orbit{border:2px solid #0000;border-top-color:var(--accent);border-right-color:#2563eb59;border-radius:50%;animation:1.05s linear infinite boot-ring-spin;position:absolute;inset:0}.boot-ring-core{letter-spacing:.06em;color:var(--accent-deep);background:radial-gradient(circle at 30% 30%,#eff6ff,#dbeafe);border-radius:50%;place-items:center;font-size:11px;font-weight:800;animation:1.8s ease-in-out infinite boot-core-pulse;display:grid;position:absolute;inset:14px;box-shadow:inset 0 0 24px #2563eb38}.boot-brand{letter-spacing:.22em;color:var(--accent-deep);opacity:.9;font-size:12px;font-weight:800}.boot-overlay-title{letter-spacing:-.02em;color:var(--text);margin:6px 0 0;font-size:24px;font-weight:800}.boot-overlay-detail{color:var(--text-2);min-height:1.4em;margin:8px 0 0;font-size:13px;line-height:1.45}.boot-progress-track{background:#2563eb1f;border-radius:999px;height:6px;margin:18px 0 6px;overflow:hidden}.boot-progress-fill{border-radius:inherit;background:linear-gradient(90deg,#1d4ed8,#3b82f6,#38bdf8,#1d4ed8) 0 0/200% 100%;height:100%;transition:width .45s cubic-bezier(.22,1,.36,1);animation:1.4s ease-in-out infinite boot-shimmer}.boot-progress-pct{letter-spacing:.08em;color:var(--accent);margin-bottom:14px;font-size:11px;font-weight:700}.boot-steps{text-align:left;border-top:1px solid var(--border);flex-direction:column;gap:8px;margin-top:4px;padding-top:12px;display:flex}.boot-step{align-items:center;gap:10px;animation:.4s ease-out both boot-step-in;display:flex}.boot-step--done .boot-step-label{color:#059669}.boot-step--active .boot-step-label{color:var(--text);font-weight:600}.boot-step--pending .boot-step-label{color:var(--text-2);opacity:.72}.boot-step--skip .boot-step-label{color:var(--mute);opacity:.7;text-decoration:line-through}.boot-step-icon{width:22px;height:22px;color:var(--accent-deep);background:#2563eb14;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.boot-step-icon--done{background:var(--win-soft);color:var(--win)}.boot-step-icon--active{background:var(--accent-soft)}.boot-step-icon--pending{background:0 0;box-shadow:inset 0 0 0 1.5px #94a3b88c}.boot-step-icon--skip{background:var(--subtle);color:var(--mute)}.boot-step-dot{background:var(--accent);border-radius:50%;width:7px;height:7px;animation:1s ease-in-out infinite boot-dot-pulse}.boot-step-label{font-size:13px;line-height:1.35}.boot-step--pulse .boot-step-label{animation:1.4s ease-in-out infinite boot-label-pulse}.boot-overlay-foot{color:var(--mute);margin:16px 0 0;font-size:11px;line-height:1.4}@keyframes boot-fade-in{0%{opacity:0}to{opacity:1}}@keyframes boot-card-pop{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes boot-ring-spin{to{transform:rotate(360deg)}}@keyframes boot-core-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.88;transform:scale(.96)}}@keyframes boot-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes boot-step-in{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes boot-dot-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.65;transform:scale(1.35)}}@keyframes boot-label-pulse{0%,to{opacity:1}50%{opacity:.72}}.health-strip{flex-wrap:wrap;gap:10px;padding:12px 16px;display:flex}.health-chip{background:var(--subtle);border:1px solid var(--border);text-align:left;cursor:pointer;min-width:120px;color:inherit;font-size:12px;font:inherit;border-radius:10px;gap:2px;padding:8px 12px;display:grid}.health-chip.on{background:var(--win-soft);border-color:#bbf7d0}.health-chip.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.health-chip.scan{cursor:default;background:var(--accent-soft);border-color:#bfdbfe}.analytics-row,.dash-analytics-row{grid-template-columns:1fr 1fr;align-items:stretch;gap:16px;width:100%;min-width:0;display:grid}.dash-rank-row{--rank-col-height:440px;grid-template-columns:1fr 1fr;grid-template-rows:var(--rank-col-height);align-items:stretch;gap:16px;width:100%;min-width:0;display:grid}.dash-rank-left,.dash-rank-right{flex-direction:column;gap:16px;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.dash-rank-left>.rank-card,.dash-rank-right>.rank-card{flex-direction:column;flex:auto;height:100%;min-height:0;display:flex;overflow:hidden}.dash-rank-right.with-pending{grid-template-columns:1fr 1fr;align-items:stretch;gap:12px;display:grid}.dash-rank-right.with-pending>.rank-card,.dash-rank-right.with-pending>.desk-pending--beside{min-width:0;height:100%;min-height:0;max-height:none;overflow:hidden}.desk-pending--beside{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;display:flex}.desk-pending--beside .card-hd{flex-shrink:0;padding:12px 14px 8px}.desk-pending--beside .card-hd h2{margin:0;font-size:15px}.desk-pending--beside .card-hd p{color:var(--mute);margin:4px 0 0;font-size:12px}.desk-pending--beside .card-bd{flex:1;min-height:0;padding:0 10px 10px;overflow:auto}.analytics-card-equal{flex-direction:column;min-width:0;max-width:100%;min-height:320px;display:flex}.analytics-chart{min-width:0;max-width:100%;width:100%!important;height:260px!important;min-height:260px!important}.analytics-card .zone-title{margin-bottom:8px}.zone-title.mb-0{margin-bottom:0}.hint{color:var(--mute);margin:0;font-size:12px;line-height:1.4}.hint.mb-2{margin-bottom:8px}.asset-rank-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;width:100%;margin-bottom:4px;display:flex}.asset-rank-mode-toggle{border:1px solid var(--border);background:var(--subtle);border-radius:999px;align-items:center;gap:3px;padding:3px;display:inline-flex}.asset-rank-mode-btn{appearance:none;font:inherit;cursor:pointer;color:var(--text-2);background:0 0;border:1px solid #0000;border-radius:999px;padding:6px 14px;font-size:12px;font-weight:600}.asset-rank-mode-btn:hover{background:var(--surface);color:var(--text)}.asset-rank-mode-btn.is-active-profit{color:#047857;background:#10b98124;border-color:#10b98173}.asset-rank-mode-btn.is-active-loss{color:#b91c1c;background:#ef44441f;border-color:#ef44446b}.rank-scroll{flex:auto;min-height:0;overflow:auto}.rank-qtable th,.rank-qtable td{white-space:nowrap;font-size:13px}.rank-qtable th:nth-child(n+3),.rank-qtable td:nth-child(n+3){text-align:right}.rank-qtable td.rank-asset-cell{white-space:normal;max-width:11rem}.rank-qtable td.rank-asset-cell .asset-sym{max-width:100%}.rank-qtable td.rank-asset-cell .asset-sym-name{font-size:13px}.tabular{font-variant-numeric:tabular-nums}.text-profit{color:var(--win);font-family:var(--mono)}.text-loss{color:var(--loss);font-family:var(--mono)}@media (width<=980px){.analytics-row,.dash-analytics-row,.dash-rank-row{grid-template-rows:none;grid-template-columns:1fr}.dash-rank-row{--rank-col-height:auto}.dash-rank-left,.dash-rank-right{height:auto;overflow:visible}.dash-rank-left>.rank-card{max-height:360px}.dash-rank-right>.rank-card{max-height:280px}.dash-rank-right.with-pending{grid-template-columns:1fr}.dash-rank-right.with-pending>.rank-card,.dash-rank-right.with-pending>.desk-pending--beside{height:auto;max-height:320px}}.bar-list{gap:8px;display:grid}.bar-row{grid-template-columns:64px 1fr auto;align-items:center;gap:10px;font-size:12px;display:grid}.bar-track{background:var(--subtle);border-radius:999px;height:8px;overflow:hidden}.bar-track>span{border-radius:inherit;background:var(--accent);height:100%;display:block}.bar-track.up>span{background:var(--win)}.bar-track.down>span{background:var(--loss)}.settings-tabs{flex-wrap:wrap;gap:6px;margin-bottom:4px;display:flex}.settings-tabs button{border:1px solid var(--border);background:var(--subtle);cursor:pointer;font:inherit;color:var(--text-2);border-radius:10px;padding:8px 14px}.settings-tabs button.active{background:var(--accent-soft);color:var(--accent-deep);border-color:#bfdbfe;font-weight:600}.settings-sub{border-top:1px solid var(--border);margin:18px 0 10px;padding-top:14px}.settings-sub:first-child{border-top:0;margin-top:0;padding-top:0}.settings-sub-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.settings-sub-head h3{margin:0;font-size:14px}.settings-sub-actions{flex-shrink:0;align-items:center;gap:8px;display:inline-flex}.settings-sub h3{margin:0 0 6px;font-size:14px}.settings-sub-head+.muted,.settings-sub>.muted{margin:6px 0 12px;font-size:12px}.settings-collapse{border:1px solid var(--border);background:var(--panel,transparent);border-radius:10px;margin:12px 0;padding:0}.settings-collapse-summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;font-size:14px;font-weight:700;list-style:none;display:flex}.settings-collapse-summary::-webkit-details-marker{display:none}.settings-collapse-title:before{content:"▸ ";opacity:.55}.settings-collapse[open]>.settings-collapse-summary .settings-collapse-title:before{content:"▾ "}.settings-collapse-body{padding:0 14px 14px}.settings-collapse>.muted{margin:0;padding:0 14px 8px}.scan-tech-workspace{grid-template-columns:minmax(220px,280px) minmax(0,1fr);align-items:start;gap:14px;margin-top:10px;display:grid}@media (width<=960px){.scan-tech-workspace{grid-template-columns:1fr}}.scan-tech-nav{border:1px solid var(--border);background:var(--panel-2,transparent);border-radius:10px;max-height:min(70vh,720px);padding:8px;overflow:auto}.scan-tech-nav-title{letter-spacing:.04em;text-transform:uppercase;color:var(--text-2);margin:10px 6px 6px;font-size:11px;font-weight:700}.scan-tech-nav-list{margin:0;padding:0;list-style:none}.scan-tech-nav-item{text-align:left;cursor:pointer;width:100%;color:inherit;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:8px;padding:8px;display:flex}.scan-tech-nav-item:hover{background:color-mix(in srgb, var(--accent,#3b82f6) 8%, transparent)}.scan-tech-nav-item.active{background:color-mix(in srgb, var(--accent,#3b82f6) 16%, transparent);outline:1px solid color-mix(in srgb, var(--accent,#3b82f6) 35%, transparent)}.scan-tech-nav-label{flex-direction:column;gap:2px;min-width:0;display:flex}.scan-tech-nav-label strong{font-size:13px;font-weight:650}.scan-tech-nav-label small{color:var(--text-2);font-size:11px;line-height:1.3}.scan-tech-nav-item:not(.on) .scan-tech-nav-label strong{opacity:.65}.switch-ui.compact{transform-origin:100%;transform:scale(.85)}.scan-tech-detail{border:1px solid var(--border);border-radius:10px;min-height:240px;padding:14px}.scan-tech-detail-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.scan-tech-detail-head h4{margin:0;font-size:16px}.scan-tech-detail-actions{align-items:center;gap:8px;display:inline-flex}.scan-tech-preview-wrap{border-top:1px solid var(--border);margin-top:16px;padding-top:14px}.tech-preview-toolbar{flex-direction:column;align-items:stretch;gap:8px;margin-bottom:8px;display:flex}.tech-preview-asset{width:100%;max-width:360px;margin:0}.tech-preview-asset .field-label{min-height:0}.tech-preview-status{flex-wrap:wrap;align-items:center;gap:8px 10px;min-height:28px;display:flex}.tech-preview-badge{text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--border);background:#fff;border-radius:8px;flex:none;padding:6px 10px;font-size:11px;font-weight:700;line-height:1}.tech-preview-badge.src-live{color:var(--win,#16a34a)}.tech-preview-badge.src-cache{color:var(--text-2)}.tech-preview-badge.src-mock{color:var(--wait,#ca8a04)}.tech-preview-arrow{flex:160px;font-size:12px;line-height:1.35}.tech-preview-chart{border:1px solid var(--border);border-radius:8px;flex-direction:column;height:min(58vh,560px);min-height:420px;display:flex;overflow:hidden}.tech-preview-chart .chart-wrap{flex:auto;height:100%;min-height:0;padding-bottom:6px}.tech-preview-chart .chart-stage{min-height:0}.tech-preview-detail,.tech-preview-err{margin-top:8px;font-size:12px}.tech-preview-hint{margin:0 0 8px;font-size:12px}.steps-expand{flex-wrap:wrap;gap:8px;padding:8px 0;display:flex}.child-expand-wrap{box-sizing:border-box;background:var(--subtle);border-radius:var(--radius-sm);max-width:100%;padding:12px 8px 16px;overflow-x:auto}.note-full-block{margin-bottom:12px}.note-full-text{color:var(--text-2);white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.45}.child-expand-table{table-layout:fixed;border-collapse:collapse;width:100%;max-width:100%;font-size:12px;font-family:var(--mono);background:var(--surface);border-radius:8px;overflow:hidden}.child-expand-table th,.child-expand-table td{border-bottom:1px solid var(--border);text-align:left;color:var(--text-2);vertical-align:top;overflow-wrap:anywhere;word-break:break-word;white-space:normal;padding:10px 8px;line-height:1.45}.child-expand-table th{background:var(--subtle);color:var(--text);font-weight:600;font-family:var(--font);font-size:11px}.child-expand-table th:first-child,.child-expand-table td:first-child{width:12%}.child-expand-table th:nth-child(2),.child-expand-table td:nth-child(2){width:7%}.child-expand-table th:nth-child(3),.child-expand-table td:nth-child(3){width:8%}.child-expand-table th:nth-child(4),.child-expand-table td:nth-child(4){width:7%}.child-expand-table th:nth-child(5),.child-expand-table td:nth-child(5),.child-expand-table th:nth-child(6),.child-expand-table td:nth-child(6){width:10%}.child-expand-table th:nth-child(7),.child-expand-table td:nth-child(7){width:8%}.child-expand-table th:nth-child(8),.child-expand-table td:nth-child(8){width:16%}.child-expand-table th:nth-child(9),.child-expand-table td:nth-child(9){width:22%}.child-expand-table td.note-cell,.child-expand-wrap .note-cell{white-space:normal;overflow-wrap:anywhere;font-family:var(--font)}.child-expand-row>td{white-space:normal!important;background:0 0!important}.th-sort{font:inherit;color:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:0;font-size:12px;font-weight:600}.th-sort:hover{color:var(--accent)}.note-cell{text-overflow:ellipsis;white-space:normal;max-width:22rem;color:var(--text-2);font-size:12px;overflow:hidden}.note-rich{flex-direction:column;gap:4px;min-width:0;display:flex}.note-rich-top{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.note-tag{background:var(--subtle);color:var(--text-2);border-radius:4px;padding:1px 6px;font-size:11px;font-weight:600;display:inline-block}.note-vote{color:var(--text);overflow-wrap:anywhere;line-height:1.35}.note-techs{flex-wrap:wrap;gap:4px;display:flex}.note-tech-chip{border:1px solid var(--border);background:var(--surface);color:var(--accent-deep);font-size:11px;font-family:var(--mono);border-radius:999px;padding:1px 7px;line-height:1.4;display:inline-block}.note-extras{color:var(--text-2);margin-top:6px;font-size:12px}.note-raw-details{color:var(--mute);margin-top:8px;font-size:12px}.note-raw-details summary{cursor:pointer}.btn-sm{padding:4px 8px;font-size:12px}.order-expand-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;display:flex}.order-step-chart-picks{flex-wrap:wrap;gap:6px;display:flex}.order-step-chart-picks .btn.is-active{background:var(--accent-soft);color:var(--accent-deep);border-color:var(--accent);font-weight:600}.child-expand-table tr.step-chart-active td{background:var(--accent-soft)}.order-chart-inline{margin-bottom:12px}.order-chart-row td{background:var(--subtle);padding:8px!important}.order-entry-chart{border:1px solid var(--border);background:var(--surface);border-radius:8px;overflow:hidden}.order-entry-chart.empty{color:var(--mute);text-align:center;padding:16px}.order-entry-chart-hd{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 12px;font-size:12px;display:flex}.order-entry-chart-body{flex-direction:column;height:280px;min-height:220px;display:flex}.order-entry-chart-body .chart-wrap{flex:auto;height:100%;min-height:200px}.pill.busy{background:var(--accent-soft);color:var(--accent-deep)}.orders-full th,.orders-full td{white-space:nowrap}.orders-full td.orders-asset-cell{white-space:normal;min-width:140px;max-width:220px}.orders-full .orders-asset-cell .asset-sym-name{font-size:13px;font-weight:600}.orders-full .orders-asset-cell .asset-sym{max-width:200px}.pill.source-scan,.pill.source-scan_follow{background:var(--accent-soft);color:var(--accent-deep)}.pill.source-telegram{background:var(--pending-soft);color:var(--pending)}.step-chip{font-family:var(--mono);background:var(--subtle);border-radius:8px;padding:6px 10px;font-size:12px}.account-settings-workspace{grid-template-columns:minmax(160px,200px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.account-index{border:1px solid var(--border);background:var(--panel-2,transparent);border-radius:12px;max-height:min(78vh,820px);padding:10px 0;position:sticky;top:12px;overflow:auto}.account-index-head{border-bottom:1px solid var(--border);flex-direction:column;gap:2px;margin-bottom:6px;padding:0 12px 10px;display:flex}.account-index-head strong{font-size:13px}.account-index-head .muted{margin:0;font-size:11px}.account-index-list{margin:0;padding:4px 0;list-style:none}.account-index-tab{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;border-left:3px solid #0000;border-radius:0 8px 8px 0;flex-direction:column;align-items:flex-start;gap:2px;margin:2px 8px 2px 0;padding:10px 12px 10px 14px;transition:background .12s,border-color .12s;display:flex}.account-index-tab:hover{background:var(--subtle)}.account-index-tab.active{background:var(--panel,#fff);border-left-color:var(--accent,#0f766e);font-weight:600;box-shadow:0 1px #0f172a0a}.account-index-name{word-break:break-word;font-size:13px;line-height:1.3}.account-index-meta{font-family:var(--mono);color:var(--text-2);font-size:11px}.account-settings-main{min-width:0}.account-settings-banner{margin:0 0 12px}.account-settings-banner h3{margin:0 0 4px;font-size:16px;font-weight:650}.account-settings-banner .muted{margin:0;font-size:13px}.account-settings-stack{flex-direction:column;gap:10px;display:flex}.account-settings-stack>.settings-collapse.settings-sub{border:1px solid var(--border);background:var(--panel,#fff);border-radius:10px;margin:0;padding-top:0}.account-settings-stack>.settings-collapse>.settings-collapse-summary{box-sizing:border-box;min-height:46px;padding:12px 14px}.account-settings-group{align-items:flex-end;min-height:22px;margin:8px 0 0;padding:0;display:flex}.account-settings-stack>.account-settings-group:first-child{margin-top:0}.account-settings-group-title{letter-spacing:.04em;text-transform:uppercase;color:var(--text-2);margin:0;font-size:12px;font-weight:650;line-height:1.2}.accounts-page{gap:16px;display:grid}.accounts-page-head h2{letter-spacing:-.02em;margin:0 0 4px;font-size:22px;font-weight:700}.accounts-page-head p{max-width:52ch;margin:0;line-height:1.45}.accounts-page-head a{color:var(--accent-deep);text-underline-offset:2px;font-weight:600;text-decoration:underline}.accounts-error{border-radius:var(--radius-sm);background:var(--loss-soft);color:var(--loss);border:1px solid color-mix(in srgb, var(--loss) 25%, var(--border));margin:0;padding:10px 14px;font-size:13px;font-weight:600}.accounts-summary .stats-grid{margin-top:2px}.accounts-stat-slash{color:var(--text-2);vertical-align:baseline;margin-left:2px;font-size:.55em;font-weight:600}.accounts-reader-pill-row{margin-top:12px;margin-bottom:0}.accounts-list-hd{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.account-card-list{gap:12px;display:grid}.account-card{border:1px solid var(--border);background:var(--subtle);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px 20px;padding:16px 18px;display:flex}.account-card.is-reader{background:color-mix(in srgb, var(--accent-soft) 45%, var(--subtle));border-color:color-mix(in srgb, var(--accent-deep) 18%, var(--border))}.account-card.is-disabled{opacity:.78}.account-card-identity{flex:280px;align-items:flex-start;gap:14px;min-width:min(100%,280px);display:flex}.account-avatar{color:#fff;letter-spacing:.02em;background:linear-gradient(145deg,#64748b,#334155);border-radius:12px;flex-shrink:0;place-items:center;width:44px;height:44px;font-size:16px;font-weight:700;display:grid}.account-avatar.is-live{background:linear-gradient(145deg,#3b82f6,#1d4ed8)}.account-avatar.is-reader{background:linear-gradient(145deg,#38bdf8,#0284c7)}.account-card-main{flex:1;gap:6px;min-width:0;display:grid}.account-card-title{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.account-card-title strong{letter-spacing:-.01em;font-size:16px}.account-rename-btn{color:var(--accent-deep);border-color:color-mix(in srgb, var(--accent-deep) 22%, var(--border));background:var(--surface);border-radius:8px;padding:2px 8px;font-size:11px;font-weight:600;line-height:1.4}.account-rename-btn:hover:not(:disabled){background:var(--accent-soft)}.account-card-link{appearance:none;font:inherit;color:var(--accent-deep);cursor:pointer;opacity:.85;background:0 0;border:0;margin:0;padding:0;font-size:12px;font-weight:600;text-decoration:none}.account-card-link:hover:not(:disabled){opacity:1;text-underline-offset:2px;text-decoration:underline}.account-card-link:disabled{opacity:.4;cursor:not-allowed}.account-rename-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:2px;display:flex}.account-rename-input{border:1px solid var(--border);background:var(--surface);border-radius:10px;flex:160px;min-width:140px;max-width:280px;padding:8px 10px;font-size:14px;font-weight:600}.account-rename-input:focus{outline:2px solid color-mix(in srgb, var(--accent) 35%, transparent);border-color:var(--accent)}.account-card-id{font-family:var(--mono);color:var(--text-2);font-size:12px}.account-card-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pill.account-type-pill.practice{background:var(--equal-soft);color:#a16207}.pill.account-type-pill.real{background:var(--loss-soft);color:var(--loss)}.account-mode-seg{background:color-mix(in srgb, var(--bg) 70%, var(--border));border:1px solid var(--border);border-radius:999px;align-items:stretch;gap:2px;padding:2px;display:inline-flex}.account-mode-seg-btn{appearance:none;font:inherit;letter-spacing:.03em;color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:999px;margin:0;padding:5px 11px;font-size:11px;font-weight:750;line-height:1.2;transition:background .15s,color .15s,box-shadow .15s}.account-mode-seg-btn:hover:not(:disabled){color:var(--text);background:color-mix(in srgb, var(--surface) 70%, transparent)}.account-mode-seg-btn:disabled:not(.is-on){opacity:.45;cursor:not-allowed}.account-mode-seg-btn.is-on{cursor:default;box-shadow:0 1px 2px #0f172a14}.account-mode-seg-btn.is-on.practice{background:var(--equal-soft);color:#a16207}.account-mode-seg-btn.is-on.real{background:var(--loss-soft);color:var(--loss)}.pill.conn-badge{letter-spacing:.02em;text-transform:uppercase;gap:6px;font-size:11px}.pill.conn-badge .conn-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:7px;height:7px}.pill.conn-ready{background:var(--win-soft);color:var(--win)}.pill.conn-connected,.pill.conn-online{background:var(--accent-soft);color:var(--accent-deep)}.pill.conn-error{background:var(--loss-soft);color:var(--loss)}.pill.conn-off,.pill.conn-disabled{background:var(--subtle);color:var(--text-2);border:1px solid var(--border)}.pill.conn-ready.is-pulse{animation:.9s ease-in-out infinite open-heart}.account-card-status{flex-wrap:wrap;gap:6px;margin:0;font-size:12px;display:flex}.account-card-error{max-width:48ch;color:var(--loss);margin:0;font-size:12px;line-height:1.4}.account-card-side{flex-direction:column;flex:0 auto;align-items:flex-end;gap:10px;display:flex}.account-card-balance{text-align:right;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;gap:2px;min-width:132px;padding:10px 14px;display:grid}.account-card-balance-k{letter-spacing:.04em;text-transform:uppercase;color:var(--text-2);font-size:11px;font-weight:600}.account-card-balance-v{font-family:var(--mono);color:var(--text);font-variant-numeric:tabular-nums;font-size:22px;font-weight:700;line-height:1.2}.account-card-reader-note{background:var(--surface);border:1px solid color-mix(in srgb, var(--accent-deep) 28%, var(--border));text-align:right;border-radius:12px;gap:6px;max-width:280px;padding:12px 14px;display:grid}.account-card-reader-note-k{letter-spacing:.04em;text-transform:uppercase;color:var(--accent-deep);font-size:11px;font-weight:700}.account-card-reader-note-p{color:var(--text);margin:0;font-size:13px;line-height:1.45}.account-card-reader-note-p a{color:var(--accent-deep);text-underline-offset:2px;font-weight:700;text-decoration:underline}.account-card-enable{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;display:flex}.account-card-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.btn.btn-danger-ghost{color:var(--loss);border-color:color-mix(in srgb, var(--loss) 28%, var(--border));background:var(--surface)}.btn.btn-danger-ghost:hover:not(:disabled){background:var(--loss-soft)}.accounts-empty{border:1px dashed var(--border);background:var(--surface);border-radius:14px;place-items:start;gap:4px;padding:28px 18px;display:grid}.accounts-empty strong{font-size:15px}.accounts-empty p,.accounts-add{margin:0}.accounts-add .settings-collapse-summary{align-items:baseline;gap:10px}.accounts-add-hint{font-size:12px;font-weight:500}.accounts-add .settings-collapse-body{padding-top:14px}.accounts-add-gate.gate-form{justify-self:stretch;max-width:520px;margin:0;animation:none}.accounts-add.is-linking .settings-collapse-summary{pointer-events:none}.mode-switch-backdrop{z-index:200}.mode-switch-dialog{border:1px solid color-mix(in srgb, var(--accent) 18%, var(--border));text-align:left;background:linear-gradient(165deg,#fffffffc 0%,#f8fafff7 100%);border-radius:18px;gap:14px;width:min(420px,100vw - 32px);padding:22px 22px 18px;animation:.2s cubic-bezier(.22,1,.36,1) both ui-dialog-pop;display:grid;box-shadow:0 24px 60px #0f172a2e}.mode-switch-dialog.is-real{border-color:color-mix(in srgb, var(--loss) 28%, var(--border))}.mode-switch-dialog.is-busy{border-color:color-mix(in srgb, var(--accent) 40%, var(--border))}.mode-switch-hd{gap:4px;display:grid}.mode-switch-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-deep);margin:0;font-size:11px;font-weight:700}.mode-switch-hd h2{letter-spacing:-.02em;color:var(--text);margin:0;font-size:1.2rem;font-weight:750}.mode-switch-account{color:var(--text-2);margin:0;font-size:13px;font-weight:600}.mode-switch-flow{background:color-mix(in srgb, var(--bg) 88%, var(--accent-soft));border:1px solid color-mix(in srgb, var(--border) 80%, transparent);border-radius:14px;justify-content:center;align-items:center;gap:12px;padding:14px 12px;display:flex}.mode-switch-chip{text-align:center;letter-spacing:.04em;background:var(--surface);min-width:96px;color:var(--text-2);border:1px solid var(--border);border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800}.mode-switch-chip.practice{background:var(--equal-soft);color:#a16207;border-color:color-mix(in srgb, #a16207 22%, var(--border))}.mode-switch-chip.real{background:var(--loss-soft);color:var(--loss);border-color:color-mix(in srgb, var(--loss) 22%, var(--border))}.mode-switch-chip.is-target{box-shadow:0 0 0 3px color-mix(in srgb, currentColor 14%, transparent)}.mode-switch-arrow{color:var(--text-2);font-size:18px;font-weight:700}.mode-switch-note{color:var(--text-2);margin:0;font-size:13px;line-height:1.45}.mode-switch-alert,.mode-switch-field{margin:0}.mode-switch-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;padding-top:2px;display:flex}.mode-switch-confirm.is-real:not(:disabled){background:color-mix(in srgb, var(--loss) 88%, #7f1d1d);border-color:#0000}.mode-switch-confirm.is-busy{min-width:180px}@media (width<=720px){.account-card-side{align-items:stretch;width:100%}.account-card-reader-note{text-align:left;max-width:none}.account-card-balance{text-align:left}.account-card-enable{justify-content:space-between}.account-card-actions{justify-content:flex-start}.accounts-add .settings-collapse-summary{flex-wrap:wrap}}@media (width<=900px){.account-settings-workspace{grid-template-columns:1fr}.account-index{max-height:none;position:static}.account-index-list{gap:6px;padding:4px 10px 8px;display:flex;overflow-x:auto}.account-index-list li{flex:none}.account-index-tab{border-bottom:3px solid #0000;border-left:none;border-radius:8px;min-width:120px;margin:0}.account-index-tab.active{border-left-color:#0000;border-bottom-color:var(--accent,#0f766e)}.gate-shell{grid-template-columns:1fr;gap:28px}.gate-form{justify-self:stretch;max-width:none}.gate-lead{max-width:none}.gate-hero h1{font-size:clamp(36px,10vw,52px)}}@media (width<=520px){.gate-mode-seg{grid-template-columns:1fr}.gate-mode-seg:before{width:auto;right:var(--gate-mode-pad);height:calc((100% - (2 * var(--gate-mode-pad)) - var(--gate-mode-gap)) / 2);bottom:auto;transform:translateY(0)}.gate-mode-seg:has(.real.is-on):before{transform:translateY(calc(100% + var(--gate-mode-gap)))}}
