:root{--font-display:"Geist", -apple-system, sans-serif;--font-body:"Geist", -apple-system, sans-serif;--font-mono:"Geist Mono", ui-monospace, monospace;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--sidebar-w:224px}[data-theme=light]{--bg:#fff;--bg-canvas:#f7f7f8;--surface:#fff;--surface-raised:#fff;--border:#e7e7ea;--border-strong:#d3d3d9;--ink:#0b0c0e;--ink-soft:#55565e;--ink-faint:#94959c;--accent:#2563eb;--accent-strong:#1d4ed8;--accent-soft:#2563eb1a;--accent-ink:#fff;--profit:#16a34a;--profit-soft:#16a34a1a;--loss:#dc2626;--loss-soft:#dc262617;--warn:#b45309;--warn-soft:#b453091a;--shadow-card:0 1px 2px #0a0a0c0a}[data-theme=dark]{--bg:#0a0a0b;--bg-canvas:#08080a;--surface:#111113;--surface-raised:#17171a;--border:#232326;--border-strong:#313136;--ink:#f5f5f6;--ink-soft:#a3a3a9;--ink-faint:#6e6e76;--accent:#5b8dfa;--accent-strong:#82a8fb;--accent-soft:#5b8dfa29;--accent-ink:#071233;--profit:#22c55e;--profit-soft:#22c55e24;--loss:#f87171;--loss-soft:#f8717121;--warn:#fbbf24;--warn-soft:#fbbf2421;--shadow-card:0 1px 2px #0006}*{box-sizing:border-box}html{scrollbar-gutter:stable}html,body{height:100%}body{background:var(--bg-canvas);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.55}#root{min-height:100vh}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.015em;color:var(--ink);margin:0;font-weight:600}a{color:inherit}code,.mono,.num{font-family:var(--font-mono);font-feature-settings:"tnum"}::selection{background:var(--accent-soft);color:var(--accent-strong)}.shell{z-index:1;min-height:100vh;display:flex;position:relative}.sidebar{width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;height:100vh;padding:16px 12px;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-launcher{z-index:10;width:30px;height:30px;color:var(--ink-faint);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:fixed;top:18px;left:18px}.sidebar-launcher:hover{color:var(--accent)}.mobile-topbar,.mobile-backdrop{display:none}.sidebar-top{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:8px;padding:4px 6px 16px 8px;display:flex}.brand{align-items:baseline;gap:7px;min-width:0;display:flex}.brand .mark{font-family:var(--font-display);color:var(--ink);white-space:nowrap;font-size:19px;font-weight:700}.brand .tag{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);white-space:nowrap;font-size:10.5px}.collapse-toggle{color:var(--ink-faint);border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;padding:0;transition:background .12s,color .12s;display:flex}.collapse-toggle:hover{color:var(--accent);background:var(--accent-soft)}.sidebar-nav{flex:1;min-height:0;overflow-y:auto}.nav-section{margin-top:14px}.nav-section:first-child{margin-top:4px}.nav-label{text-transform:uppercase;letter-spacing:.09em;color:var(--ink-faint);white-space:nowrap;margin-bottom:6px;padding:0 10px;font-size:10.5px}.nav-link{border-radius:var(--radius-sm);color:var(--ink-soft);white-space:nowrap;outline:none;align-items:center;gap:10px;margin-bottom:2px;padding:8px 10px;font-size:13px;font-weight:500;text-decoration:none;transition:background .12s,color .12s;display:flex;overflow:hidden}.nav-link:focus-visible{box-shadow:0 0 0 2px var(--accent-soft)}.nav-link svg{opacity:.85;flex-shrink:0}.nav-link:hover{background:var(--accent-soft);color:var(--ink)}.nav-link.active{background:var(--accent);color:var(--accent-ink)}.nav-link.active svg{opacity:1}.scope-picker{margin:2px 2px 16px}.dropdown{width:100%;position:relative}.dropdown-trigger{background:var(--surface-raised);border:1px solid var(--border-strong);width:100%;color:var(--ink);border-radius:var(--radius-sm);font-size:13px;font-weight:600;line-height:1;font-family:var(--font-body);text-align:left;outline:none;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 10px;transition:border-color .12s,box-shadow .12s;display:grid}.dropdown-trigger:hover{background:var(--surface-raised);border-color:var(--accent)}.dropdown-trigger svg:first-child{color:var(--accent);display:block}.dropdown-value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dropdown-chevron{color:var(--ink-faint);transition:transform .15s;display:block}.dropdown-trigger.open,.dropdown-trigger:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.dropdown-trigger.open .dropdown-chevron{transform:rotate(180deg)}.dropdown-menu{z-index:20;background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-card);max-height:280px;margin:0;padding:5px;list-style:none;animation:.14s cubic-bezier(.16,1,.3,1) both dropdown-open;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:hidden auto}@keyframes dropdown-open{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dropdown-menu li{list-style:none}.dropdown-option{text-align:left;width:100%;color:var(--ink-soft);border-radius:calc(var(--radius-sm) - 2px);background:0 0;border:none;outline:none;padding:8px 10px;font-size:13px;font-weight:500}.dropdown-option:hover{background:var(--accent-soft);color:var(--ink)}.dropdown-option:focus-visible{box-shadow:inset 0 0 0 2px var(--accent-soft)}.dropdown-option.selected{background:var(--accent);color:var(--accent-ink);font-weight:600}.sidebar-footer{border-top:1px solid var(--border);flex-shrink:0;align-items:center;gap:4px;margin-top:8px;padding-top:10px;display:flex}.currency-switch{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-sm);flex:1;gap:2px;min-width:0;padding:2px;display:flex}.currency-switch button{color:var(--ink-faint);border-radius:calc(var(--radius-sm) - 2px);letter-spacing:.03em;background:0 0;border:none;flex:1;padding:6px 0;font-size:11px;font-weight:700;transition:background .12s,color .12s}.currency-switch button:hover{color:var(--ink)}.currency-switch button.active{background:var(--accent);color:var(--accent-ink)}.currency-switch button.active:hover{color:var(--accent-ink)}.footer-icon-btn{width:32px;height:32px;color:var(--ink-soft);border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s;display:flex}.footer-icon-btn:hover{background:var(--accent-soft);color:var(--accent-strong)}.icon-btn{width:26px;height:26px;color:var(--ink-faint);border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s;display:flex}.icon-btn:hover{background:var(--accent-soft);color:var(--accent-strong)}.agent-menu{position:relative}.agent-menu-popup{z-index:20;background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:var(--radius-sm);min-width:130px;box-shadow:var(--shadow-card);padding:5px;animation:.14s cubic-bezier(.16,1,.3,1) both dropdown-open;position:absolute;top:calc(100% + 4px);right:0}.agent-menu-popup button{width:100%;color:var(--ink);border-radius:calc(var(--radius-sm) - 2px);text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:8px 10px;font-size:12.5px;font-weight:500;display:flex}.agent-menu-popup button:hover{background:var(--accent-soft)}.agent-menu-popup button.agent-menu-danger{color:var(--loss)}.agent-menu-popup button.agent-menu-danger:hover{background:var(--loss-soft)}.main{flex-direction:column;flex:1;min-width:0;display:flex}.page-heading{border-bottom:1px solid var(--border);margin-bottom:24px;padding-bottom:18px}.page-heading .eyebrow{text-transform:uppercase;letter-spacing:.09em;color:var(--accent);margin-bottom:6px;font-size:11px;font-weight:700;display:block}.page-heading h1{font-size:28px}.switch-row{font-family:var(--font-body);background:0 0;border:none;align-items:center;gap:9px;padding:0;display:flex}.switch-row:hover{background:0 0}.switch-label{color:var(--ink-soft);font-size:12.5px;font-weight:600}.switch{background:var(--border-strong);border-radius:999px;flex-shrink:0;width:36px;height:21px;transition:background .15s;position:relative}.switch.on{background:var(--profit)}.switch-thumb{background:#fff;border-radius:50%;width:17px;height:17px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0000004d}.switch.on .switch-thumb{transform:translate(15px)}.card-link{color:var(--accent);align-items:center;gap:5px;font-size:12.5px;font-weight:600;text-decoration:none;transition:gap .12s,color .12s;display:inline-flex}.card-link:hover{color:var(--accent-strong);gap:8px}.content{width:100%;max-width:1320px;margin:0 auto;padding:30px 32px 60px;overflow-x:hidden}.grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media (width<=1024px){.grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.grid.cols-2,.grid.cols-3{grid-template-columns:1fr}}.position-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}@media (width<=1024px){.position-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.position-grid{grid-template-columns:1fr}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);min-width:0;padding:18px 20px;animation:.3s cubic-bezier(.16,1,.3,1) both rise}.card.full{grid-column:1/-1}.card h2{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);margin:0 0 14px;font-size:11.5px;font-weight:600}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.stagger-1{animation-delay:20ms}.stagger-2{animation-delay:60ms}.stagger-3{animation-delay:.1s}.stagger-4{animation-delay:.14s}.stagger-5{animation-delay:.18s}.stagger-6{animation-delay:.22s}.stat-row{border-bottom:1px dashed var(--border);justify-content:space-between;align-items:baseline;padding:6px 0;display:flex}.stat-row:last-child{border-bottom:none}.stat-row .label{color:var(--ink-soft);font-size:13px}.stat-row .value{font-family:var(--font-mono);font-size:13.5px;font-weight:500}.weight-bars{flex-direction:column;gap:9px;display:flex}.weight-bar-row{align-items:center;gap:12px;display:flex}.weight-bar-label{width:150px;color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;font-size:12.5px;overflow:hidden}.weight-bar-track{background:var(--surface-raised);border-radius:999px;flex:1;height:7px;overflow:hidden}.weight-bar-fill{background:var(--accent);border-radius:999px;height:100%}.weight-bar-value{text-align:right;width:48px;font-family:var(--font-mono);color:var(--ink-soft);flex-shrink:0;font-size:12px}.stat-hero{flex-direction:column;gap:2px;display:flex}.stat-hero .value{font-family:var(--font-display);font-size:32px;font-weight:600;line-height:1}.stat-hero .label{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-faint);font-size:11.5px}.line-chart-wrap{width:100%;position:relative}.line-chart{width:100%;height:88px;display:block}.line-chart-dot{border:1.5px solid var(--surface);pointer-events:none;z-index:4;border-radius:50%;width:7px;height:7px;position:absolute;transform:translate(-50%,-50%)}.line-chart-tooltip{background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-family:var(--font-mono);white-space:nowrap;pointer-events:none;box-shadow:var(--shadow-card);z-index:5;padding:5px 9px;position:absolute;top:-8px;transform:translate(-50%,-100%)}.line-chart-tooltip-value{font-size:12px;font-weight:700}.line-chart-tooltip-label{color:var(--ink-faint);margin-top:2px;font-size:10px}.agent-card{color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:20px;text-decoration:none;transition:transform .15s,border-color .15s,box-shadow .15s;animation:.35s cubic-bezier(.16,1,.3,1) both rise;display:block}.agent-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 16px -6px #0000001f}.agent-card .top{justify-content:space-between;align-items:flex-start;margin-bottom:14px;display:flex}.agent-card h3{font-size:17px}.agent-card .metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.agent-card .metric b{font-family:var(--font-mono);font-size:16px;display:block}.agent-card .metric span{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);font-size:10.5px}.card-title-row{min-width:0;margin-bottom:16px}.card-title-row h2{text-overflow:ellipsis;white-space:nowrap;margin-bottom:3px;overflow:hidden}.card-title-row .sub{text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;display:block;overflow:hidden}.position-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:transform .15s,border-color .15s,box-shadow .15s;animation:.3s cubic-bezier(.16,1,.3,1) both rise;overflow:hidden}.position-card:hover{border-color:var(--border-strong);transform:translateY(-2px);box-shadow:0 6px 18px -8px #0000002e}.position-card-head{background:var(--surface-raised);border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;padding:14px 18px;display:flex}.position-card-head .pair{font-family:var(--font-display);font-size:16px;font-weight:600;display:block}.position-card-head .sub{margin-top:2px;font-size:11.5px;display:block}.position-card-pnl{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.position-card-pnl>.num:first-child{font-family:var(--font-display);font-size:16px;font-weight:700}.position-card-pnl>.num.profit{color:var(--profit)}.position-card-pnl>.num.loss{color:var(--loss)}.position-card-pnl .sub{font-size:11px}.position-card-status{flex-wrap:wrap;gap:6px;padding:12px 18px 0;display:flex}.position-card-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;padding:16px 18px;display:grid}.position-card-signals{border-top:1px dashed var(--border);grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 12px;padding:12px 18px 16px;display:grid}.stat-block{flex-direction:column;gap:3px;min-width:0;display:flex}.stat-block .k{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint);font-size:10.5px}.stat-block .v{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.position-card-signals .v{color:var(--ink-soft);font-size:12px;font-weight:500}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:9px 10px}th{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:600}tbody tr{transition:background .1s}tbody tr:hover{background:var(--accent-soft)}td.num,th.num{font-family:var(--font-mono);text-align:right}.table-scroll{overflow-x:auto}.config-diff-table td:first-child{color:var(--ink-soft);font-size:12px}.config-diff-table tr.diff-row,.config-diff-table tr.diff-row:hover{background:var(--warn-soft)}.config-diff-table tr.diff-row td:not(:first-child){color:var(--warn);font-weight:600}tbody tr.clickable-row{cursor:pointer}tbody tr.clickable-row.expanded{background:var(--accent-soft)}tr.detail-row td{background:var(--bg-canvas);border-bottom:1px solid var(--border);padding:18px 20px}tr.detail-row:hover{background:0 0}.detail-section+.detail-section{border-top:1px dashed var(--border);margin-top:16px;padding-top:16px}.detail-section-title{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-faint);margin-bottom:12px;font-size:10px;font-weight:700}.detail-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px 22px;display:grid}.detail-grid.detail-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media (width<=640px){.detail-grid.detail-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}.detail-grid>div{flex-direction:column;gap:3px;min-width:0;display:flex}.detail-grid .k{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint);font-size:10.5px}.detail-grid .v{font-size:12.5px;font-weight:500;font-family:var(--font-mono)}.history-filter{flex-shrink:0;width:220px;margin-left:auto}@media (width<=480px){.history-filter{width:160px}.history-filter .dropdown-menu{width:max-content;min-width:220px;max-width:calc(100vw - 32px);left:auto;right:0}}.history-table td,.history-table th{white-space:nowrap;padding-left:10px;padding-right:16px}.history-table .pair-cell{font-weight:600}.history-table .pnl-pct{opacity:.7;font-size:12px;font-weight:500}.mono-trunc{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.chevron{color:var(--ink-faint);transition:transform .15s}.chevron.open{transform:rotate(180deg)}.pill{letter-spacing:.02em;background:var(--surface-raised);color:var(--ink-faint);border-radius:999px;align-items:center;gap:6px;padding:2px 9px;font-size:11px;font-weight:600;display:inline-flex}.pill.running{background:var(--profit-soft);color:var(--profit)}.pill.paused{background:var(--loss-soft);color:var(--loss)}.pill.win{background:var(--profit-soft);color:var(--profit)}.pill.loss{background:var(--loss-soft);color:var(--loss)}.pill.neutral{background:var(--accent-soft);color:var(--accent-strong)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.running:before{content:"";background:var(--profit);border-radius:50%;width:6px;height:6px;animation:1.8s ease-in-out infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.agent-checkbox{border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--ink-soft);cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:6px 12px 6px 10px;font-size:12.5px;font-weight:500;transition:border-color .12s,background .12s,color .12s;display:inline-flex}.agent-checkbox input[type=checkbox]{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.agent-checkbox:before{content:"";background:var(--border-strong);border-radius:50%;width:7px;height:7px;transition:background .12s}.agent-checkbox.checked:before{background:var(--accent)}.copyable-json-bar{justify-content:flex-end;margin-bottom:6px;display:flex}.copyable-json pre{font-family:var(--font-mono);background:var(--bg-canvas);border:1px solid var(--border);border-radius:var(--radius-sm);max-height:340px;margin:0;padding:14px;font-size:12px;overflow:auto}.copyable-json-btn{align-items:center;gap:5px;padding:5px 10px;font-size:11.5px;display:inline-flex}.copyable-address{color:var(--ink-faint);background:0 0;border:none;align-items:center;gap:5px;padding:0;font-size:11.5px;font-weight:500;display:inline-flex}.copyable-address:hover{color:var(--accent);background:0 0}.agent-checkbox.checked{border-color:var(--accent);background:var(--accent-soft);color:var(--ink)}.legend-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.legend-item{color:var(--ink-soft);align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.analysis-compare-table{border-collapse:collapse;width:100%}.analysis-compare-table td,.analysis-compare-table th{text-align:left;background:0 0;border:none;padding:8px 20px 8px 0}.analysis-compare-table .analysis-row-label{white-space:nowrap;width:1%;font-weight:600}.analysis-compare-table th{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.03em;font-size:11px;font-weight:600}.analysis-compare-table tbody tr:not(:last-child){border-bottom:1px solid var(--border)}.analysis-mini-bar{align-items:center;gap:8px;display:flex}.analysis-mini-bar-track{background:var(--surface-raised);border-radius:999px;flex:1;min-width:48px;height:6px;overflow:hidden}.analysis-mini-bar-fill{border-radius:999px;height:100%}.analysis-mini-bar-value{color:var(--ink-soft);font-variant-numeric:tabular-nums;flex-shrink:0;width:32px;font-size:12px}.analysis-signal-block{margin-bottom:20px}.analysis-signal-block:last-child{margin-bottom:0}.analysis-signal-block h3{color:var(--ink-soft);margin:0 0 8px;font-size:12.5px;font-weight:600}.analysis-agent-block{border-bottom:1px solid var(--border);padding:14px 0}.analysis-agent-block:last-child{border-bottom:none}.analysis-timing-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin-top:10px;display:grid}.analysis-timing-caption{color:var(--ink-faint);font-size:11px}@media (width<=640px){.analysis-timing-cols{grid-template-columns:1fr;gap:16px}}.analysis-timechart{margin-top:6px}.analysis-timechart-bars{align-items:flex-end;gap:3px;height:52px;display:flex;position:relative}.analysis-timechart-gridline{border-top:1px dashed var(--border);pointer-events:none;position:absolute;top:50%;left:0;right:0}.analysis-timechart-cell{flex:1;align-items:flex-end;height:100%;display:flex}.analysis-timechart-bar{opacity:.82;border-radius:3px 3px 0 0;width:100%;min-height:3px}.analysis-timechart-empty{background:var(--border-strong);border-radius:1px;width:100%;height:2px}.analysis-timechart-labels{gap:3px;margin-top:5px;display:flex}.analysis-timechart-label{text-align:center;color:var(--ink-faint);flex:1;font-size:8.5px}button{font-family:var(--font-body);background:var(--accent);color:var(--accent-ink);border-radius:var(--radius-sm);cursor:pointer;border:none;outline:none;padding:8px 16px;font-size:13px;font-weight:600;transition:background .12s,transform 80ms}button:hover{background:var(--accent-strong)}button:active{transform:scale(.98)}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible{box-shadow:0 0 0 3px var(--accent-soft)}button.ghost{border:1px solid var(--border-strong);color:var(--ink);background:0 0}button.danger{background:var(--loss);color:#fff}textarea,input,select{background:var(--surface-raised);border:1px solid var(--border-strong);width:100%;color:var(--ink);border-radius:var(--radius-sm);font-family:var(--font-mono);padding:9px 11px;font-size:12.5px;transition:border-color .12s,box-shadow .12s}textarea:focus,input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}textarea{resize:vertical;min-height:96px}textarea.strategy-diff{min-height:220px}input::placeholder,textarea::placeholder{color:var(--ink-faint)}.field{margin-top:12px}.field label{color:var(--ink-soft);margin-bottom:5px;font-size:11.5px;font-weight:500;display:block}.row{align-items:center;gap:8px;display:flex}.row.wrap{flex-wrap:wrap}.row.end{justify-content:flex-end}.row.between{justify-content:space-between}.empty{color:var(--ink-faint);padding:10px 0;font-size:13px;font-style:italic}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--surface-raised) 25%, var(--border) 50%, var(--surface-raised) 75%);background-size:200% 100%;animation:1.4s ease-in-out infinite skeleton-shimmer;display:inline-block}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-chart{border-radius:var(--radius-sm);width:100%;height:88px}.skeleton-row{border-bottom:1px solid var(--border);justify-content:space-between;padding:9px 0;display:flex}.skeleton-row:last-child{border-bottom:none}.sub{color:var(--ink-faint);font-size:12.5px}.feed-item{border-bottom:1px solid var(--border);padding:10px 0}.feed-item:last-child{border-bottom:none}.feed-item .meta{color:var(--ink-faint);font-size:11.5px;font-family:var(--font-mono)}.feed-item .body{color:var(--ink-soft);margin-top:4px;font-size:13px}.preset-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;align-items:flex-start;gap:12px;padding:12px 0;display:grid}.preset-row:last-child{border-bottom:none}.preset-row-main{min-width:0}.field-chip{font-size:11px;font-family:var(--font-mono);color:var(--ink-soft);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-sm);padding:3px 8px}.field-chip b{color:var(--ink);font-weight:600}.attention-clear{color:var(--profit);align-items:center;gap:8px;padding:4px 0;font-size:13px;display:flex}.attention-list{flex-direction:column;display:flex}.attention-row{border-bottom:1px solid var(--border);color:var(--ink);border-radius:var(--radius-sm);align-items:center;gap:10px;padding:9px 4px;font-size:13px;text-decoration:none;transition:background .12s;display:flex}.attention-row:last-child{border-bottom:none}.attention-row:hover{background:var(--accent-soft)}.attention-row b{font-weight:600}.attention-row .warn-icon{color:var(--warn);flex-shrink:0}.attention-row .loss-icon{color:var(--loss);flex-shrink:0}.cooldown-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}@media (width<=1024px){.cooldown-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.cooldown-grid{grid-template-columns:1fr}}.cooldown-card{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.cooldown-card .warn-icon{color:var(--warn);flex-shrink:0;margin-top:2px}.cooldown-card .loss-icon{color:var(--loss);flex-shrink:0;margin-top:2px}.theme-toggle{border:1px solid var(--border-strong);background:var(--surface-raised);width:34px;height:34px;color:var(--ink);border-radius:50%;justify-content:center;align-items:center;display:flex}.login-wrap{background:var(--bg-canvas);z-index:1;justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:340px;max-width:calc(100vw - 32px);box-shadow:var(--shadow-card);text-align:center;padding:36px 32px}@media (width<=400px){.login-card{padding:30px 22px}}.login-card .mark{font-family:var(--font-display);color:var(--accent);font-size:28px;font-weight:700}.login-card .tag{color:var(--ink-faint);margin:4px 0 22px;font-size:12px}.login-card .field{text-align:left}.login-card button{width:100%;margin-top:14px}.error-text{color:var(--loss);margin-top:10px;font-size:12px}.toast{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-card);z-index:50;padding:11px 18px;font-size:13px;animation:.25s both rise;position:fixed;bottom:24px;right:24px}.modal-overlay{z-index:100;background:#00000080;justify-content:center;align-items:center;animation:.12s both fade-in;display:flex;position:fixed;inset:0}.modal-card{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);width:380px;max-width:calc(100vw - 32px);padding:22px 24px;animation:.18s cubic-bezier(.16,1,.3,1) both rise;box-shadow:0 12px 40px #0000004d}.modal-card h3{margin:0 0 8px;font-size:15px;font-weight:700}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.cal-nav{flex-shrink:0;justify-content:flex-end;gap:6px}.cal-nav button:not(.icon-btn){padding:6px 12px;font-size:12px}.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;width:100%;display:grid}.cal-weekdays{margin-bottom:6px}.cal-weekday{text-align:center;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);padding:2px 0;font-size:10px}.cal-cell{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-raised);min-width:0;height:72px;font-family:var(--font-body);cursor:pointer;text-align:center;flex-direction:column;justify-content:space-between;align-items:center;padding:6px 8px;transition:border-color .12s,transform 80ms;display:flex;overflow:hidden}.cal-cell.has-data:hover{border-color:var(--accent);transform:translateY(-1px)}.cal-cell.empty-cell{cursor:default;background:0 0;border:none}.cal-cell.today .cal-date{color:var(--accent);font-weight:700}.cal-cell.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);border-width:1.5px}.cal-date{font-family:var(--font-mono);color:var(--ink-faint);font-size:11px}.cal-count,.cal-pnl{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.cal-count{color:var(--ink-faint);opacity:.7;font-size:10px;font-weight:500}.cal-pnl{font-family:var(--font-mono);font-size:12px;font-weight:600}.cal-pnl.profit{color:var(--profit)}.cal-pnl.loss{color:var(--loss)}.cal-detail{border-top:1px solid var(--border);margin-top:20px;padding-top:18px;animation:.2s both rise}@media (width<=700px){.cal-cell{height:60px;padding:5px 6px}}@media (width<=480px){.cal-grid{gap:3px}.cal-cell{height:56px;padding:3px 2px}.cal-date{font-size:10px}.cal-count{font-size:7.5px}.cal-pnl{letter-spacing:-.02em;font-size:8.5px}}@media (width<=1024px){.shell{display:block}.sidebar-launcher{display:none}.mobile-topbar{z-index:15;background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:12px 16px;display:flex;position:sticky;top:0}.mobile-menu-btn{color:var(--ink);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex}.mobile-topbar-brand{font-family:var(--font-display);font-size:15px;font-weight:600}.mobile-backdrop{z-index:25;background:#00000080;animation:.15s both fade-in;display:block;position:fixed;inset:0}.sidebar{z-index:30;width:280px;max-width:82vw;height:100vh;transition:transform .22s cubic-bezier(.16,1,.3,1);position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:0 0 40px #00000040}.sidebar.mobile-open{transform:translate(0)}.main{width:100%}.content{padding:20px 16px 48px}}@media (width<=640px){.content{padding:16px 14px 40px}.page-heading h1{font-size:22px}.card{padding:16px}.position-card-signals{grid-template-columns:repeat(2,1fr);gap:12px 10px}.weight-bar-label{width:96px;font-size:11.5px}.stat-hero .value{font-size:26px}.page-heading.row{flex-wrap:wrap;gap:12px}}
