:root{color-scheme:dark;--bg:#061721;--panel:#103343;--text:#f4faff;--muted:#bdd2df;--cyan:#38e4ed;--gold:#efc77d;--lime:#baff57;--coral:#ff9484}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--text);background:radial-gradient(ellipse at 12% 0%,#164053 0,transparent 48%),radial-gradient(ellipse at 92% 85%,#103445 0,transparent 42%),var(--bg);min-height:100vh;font-size:14px}button,input,select{font:inherit}button,a,select,summary{-webkit-tap-highlight-color:transparent}button,select,summary{cursor:pointer}button{color:inherit}button:disabled{cursor:not-allowed;opacity:.52}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:4px}[hidden]{display:none!important}.shell{width:min(1440px,100%);margin:auto;padding:22px 30px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:16px}.brand{display:flex;gap:13px;align-items:center;color:var(--gold);text-decoration:none;font-size:18px;letter-spacing:.4px}.mark{font:900 47px Georgia,serif;line-height:1;color:#ffe0a0;text-shadow:0 2px 0 #825b30,0 5px 12px #000}.brand b{font-weight:600}.top-actions{display:flex;align-items:center;gap:15px}.language{display:flex;align-items:center;padding:5px;border:1px solid #46758b;border-radius:10px;background:linear-gradient(#163747,#081c28);box-shadow:inset 0 1px #a8e6fc22,0 4px 8px #0005}.language button{border:0;background:none;padding:7px 10px;color:#bbccd8}.language button[aria-pressed=true]{color:white;font-weight:700;text-shadow:0 0 15px #35eeff}.language>span{height:14px;border-left:1px solid #4a6373}.glass{position:relative;border:1px solid #438ba2;border-radius:13px;background:linear-gradient(135deg,#1a4255aa,transparent 43%),linear-gradient(175deg,#133441f5,#081e2af8);box-shadow:inset 0 1px 0 #b8f4ff70,inset 0 -2px 5px #0009,0 7px 15px #0006,0 0 13px #00cfe90c;overflow:hidden}.glass:before{content:'';pointer-events:none;position:absolute;top:0;left:15px;right:25%;height:1px;background:linear-gradient(90deg,#92f4ff99,transparent)}.accountbar{display:flex;align-items:center;gap:24px;padding:13px 20px;margin-bottom:15px;min-height:78px}.account-cell{display:flex;align-items:center;gap:13px;padding-right:25px;border-right:1px solid #7294a54d}.account-cell svg{width:25px;height:25px;color:#9ceafa;filter:drop-shadow(0 0 6px #2cdeff55)}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.account-cell label,.small{font-size:12px;color:var(--muted);line-height:1.6}.account-cell strong{display:block;font-size:19px;font-variant-numeric:tabular-nums}.account-cell select{display:block;border:0;background:transparent;padding:3px 20px 0 0;max-width:190px;color:white;font-weight:600}.connection-cell{display:flex;align-items:center;gap:9px;flex:1;flex-wrap:wrap;font-size:13px}.status-dot{width:8px;height:8px;border-radius:50%;background:#8f9ca6;box-shadow:0 0 8px #aaaaaa22}.status-dot.live{background:var(--cyan);box-shadow:0 0 10px #30eaff99}.safe-label{color:#d8e4ec;font-size:12px;white-space:nowrap}.safe-label:before{content:'⊘';color:var(--coral);font-size:17px;margin-right:8px}.text-button{background:none;border:0;color:var(--cyan);padding:6px;font-size:12px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:15px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.card-head h2{margin:0;display:flex;align-items:center;gap:10px;font-size:18px;font-weight:650;letter-spacing:-.2px}.mini-icon{color:#b4edff;display:inline-flex;align-items:center;justify-content:center;text-shadow:0 0 10px #3fc6ee66;font-size:24px}.market-card{padding:20px 18px 14px}.chart-head{flex-wrap:wrap;gap:10px}.market-heading{display:flex;gap:10px;align-items:center;margin-right:auto}.market-heading h2{font-size:17px}.market-heading .small{font-size:11px}select,input{border:1px solid #496b80;border-radius:8px;background:linear-gradient(#183a4a,#0a2332);color:#f7fbff;padding:9px 12px;box-shadow:inset 0 1px 2px #0007,0 1px #a8e6fc15}select option{background:#143140;color:white}.timeframe{border:1px solid #476375;border-radius:7px;padding:9px 12px;font-size:12px}.quote{color:var(--cyan);font-size:25px;font-variant-numeric:tabular-nums;font-weight:700}.countdown{padding-left:10px;text-align:right}.countdown .small{font-size:10px;display:block}.countdown b{font-size:17px;font-variant-numeric:tabular-nums}.chart-wrap{height:310px;position:relative;margin-top:20px}canvas{display:block;width:100%;height:100%}.chart-empty{position:absolute;inset:0;display:grid;place-items:center;text-align:center;color:#d2e3ed;font-size:14px;background:#0a233244;pointer-events:none;padding:30px}.market-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;min-height:34px}.small-button{padding:7px 12px;border:1px solid #527d91;border-radius:7px;background:linear-gradient(#285269,#112e3d);font-size:12px;white-space:nowrap;box-shadow:inset 0 1px #a8e6fc33,0 3px 5px #0004}.ai-card{padding:20px 22px;display:flex;flex-direction:column}.icon-button{background:linear-gradient(145deg,#315367,#102c3d);border:1px solid #67879a;border-radius:8px;padding:7px;display:inline-flex;align-items:center;justify-content:center;box-shadow:inset 0 1px #d6f4ff55,0 3px 5px #0005}.icon-button svg{width:19px;height:19px}.model-label{margin:8px 0 0;color:#c4d8e4;font-size:12px}.model-label span{margin:0 8px}.power-wrap{text-align:center;margin:22px 0 10px}.power{display:inline-flex;align-items:center;justify-content:center;gap:13px;min-width:175px;padding:13px 26px;border:1px solid #a6b6c2;border-radius:13px;background:linear-gradient(180deg,#7a8c99,#485d6c 60%,#394c59);box-shadow:inset 0 2px #e2f2ff77,inset 0 -3px #172b3f99,0 5px 12px #0009;color:#fff;font-size:19px;font-weight:800;letter-spacing:.6px;transition:background .15s,box-shadow .15s}.power[aria-pressed=true]{background:linear-gradient(#dcff9c,#b6f250 45%,#8dcf32);border-color:#e3ffb1;color:#173306;box-shadow:inset 0 2px #ffffffe0,inset 0 -3px #5c9c2377,0 0 22px #b1ff4330,0 5px 12px #0009}.power:active{transform:translateY(1px)}.power svg{width:25px;height:25px;stroke-width:2.5}.ai-state{font-size:12px;line-height:1.65;min-height:40px;text-align:center;color:#d7e5ee;margin:3px 0 12px}.analysis-result{border-top:1px solid #69879677;padding-top:17px;text-align:center;flex:1;display:flex;flex-direction:column;align-items:center}.direction{font-size:48px;letter-spacing:1px;line-height:1.15;color:#d7e4eb;font-weight:750}.direction.rise{color:#6df4f5;text-shadow:0 0 18px #22e8f022}.direction.fall{color:#ff998b}.result-meta{font-size:13px;color:#9af1f7;min-height:20px;margin:5px 0 0}.reason{font-size:15px;line-height:1.65;color:#f0f7fb;margin:13px 0 16px;max-width:440px;overflow-wrap:anywhere}.result-time{font-size:11px;color:#bfd3df;border-top:1px solid #69879666;padding-top:12px;margin-top:auto;width:100%}.history-card,.settings-card{padding:18px 20px;min-width:0}.table-wrap{overflow-x:auto;margin-top:16px;max-height:260px}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{font-size:11px;color:#c4d6e1;font-weight:500;padding:10px 8px;background:#102c3b;position:sticky;top:0}td{font-size:13px;padding:12px 8px;border-top:1px solid #50708455}td:last-child{text-align:right}.direction-tag{display:inline-block;min-width:64px;text-align:center;border-radius:6px;border:1px solid #8197a5;padding:5px 9px;font-size:11px;font-weight:700;background:#37536344}.direction-tag.rise{color:#6af0ea;border-color:#31bfc5;background:#1ab5b71a}.direction-tag.fall{color:#ffa296;border-color:#bc746d;background:#be59491a}.row-copy{border:0;background:none;color:#bbd7e6;padding:5px}.empty-note{padding:22px 0;text-align:center;color:#c3d7e4;font-size:13px;line-height:1.6}.inactive{font-size:11px;display:flex;align-items:center;gap:6px;white-space:nowrap;background:#102736;border:1px solid #526a7a;padding:5px 8px;border-radius:7px}.inactive i{width:7px;height:7px;border-radius:50%;background:#f3bd67}.mm-grid{border:0;margin:17px 0 12px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.mm-grid label{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:12px;color:#d7e6ef}.mm-grid input{width:100%;opacity:1;-webkit-text-fill-color:#e2edf4;color:#e2edf4}details{border-top:1px solid #55738566;padding-top:10px}summary{color:#dfebf2;font-size:12px;padding:3px 0}details p{line-height:1.6}.budgetbar{margin-top:15px;padding:14px 18px;display:flex;align-items:center;gap:15px}.budget-icon{color:var(--gold);font-size:25px}.budgetbar>div{display:flex;gap:12px;font-size:12px;align-items:center}.budgetbar strong{font-size:13px;color:#ffe1a0}.budgetbar progress{appearance:none;flex:1;height:7px;border:0;background:#294859;border-radius:10px;overflow:hidden;min-width:40px}.budgetbar progress::-webkit-progress-bar{background:#294859}.budgetbar progress::-webkit-progress-value{background:linear-gradient(90deg,#69f4ed,#00b3c2);border-radius:10px}.budgetbar progress::-moz-progress-bar{background:#3cdae2}.budget-info{border:0;padding:0}.budget-info summary{list-style:none;font-size:18px;color:#c7dfec}.budget-info p{margin:10px 0;max-width:400px;font-size:12px}.budgetbar:has(.budget-info[open]){flex-wrap:wrap}.budget-info[open]{flex-basis:100%}.mobile-nav{display:none}.page-footer{display:flex;justify-content:space-between;gap:12px;margin-top:17px;color:#8daaba;font-size:10px;letter-spacing:1px}.login-panel{max-width:460px;margin:65px auto;padding:35px}.eyebrow{font-size:11px;color:var(--gold);letter-spacing:2px}.login-panel h1{font-size:35px;line-height:1.2;white-space:pre-line;margin:18px 0}.login-panel p{color:#d5e5ef;line-height:1.7}.login-panel form{display:grid;gap:12px;margin:25px 0 12px}.login-panel label{font-size:13px}.primary{padding:12px;border-radius:9px;color:#082a32;background:linear-gradient(#7ff7f7,#36c9d9);border:1px solid #a2ffff;font-weight:750;box-shadow:inset 0 1px white,0 4px 10px #0005}.toast{position:fixed;z-index:20;bottom:25px;left:50%;transform:translateX(-50%);padding:13px 19px;border:1px solid #91baca;border-radius:10px;background:#173f50;box-shadow:0 8px 30px #0008;color:white;max-width:min(90vw,600px);font-size:13px;line-height:1.5}.mobile-nav button b{font-weight:500}
@media(min-width:1500px){.chart-wrap{height:370px}.reason{font-size:16px}}
@media(max-width:1100px){.shell{padding:20px}.accountbar{gap:15px;padding:12px}.account-cell{padding-right:15px}.desktop-only{display:none}.dashboard-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.countdown{display:none}.market-heading .small{display:none}.chart-wrap{height:320px}.brand{font-size:16px}.card-head h2{font-size:16px}.ai-card{padding:18px}.quote{font-size:22px}}
@media(max-width:700px){.shell{padding:16px 13px 96px}.topbar{margin-bottom:14px}.brand{font-size:13px;gap:9px;letter-spacing:0}.brand b{font-weight:700}.mark{font-size:36px}.top-actions{gap:8px}.language{padding:3px}.language button{padding:6px 8px;font-size:11px}.top-actions>.icon-button{padding:5px}.top-actions>.icon-button svg{width:16px;height:16px}.accountbar{gap:0;display:grid;grid-template-columns:1fr 1fr;margin-bottom:12px;padding:12px}.account-cell{gap:9px;padding:0;border:0;min-width:0}.account-cell:nth-child(2){border-left:1px solid #55738588;padding-left:13px}.account-cell svg{width:21px;height:21px}.account-cell strong{font-size:16px}.account-cell label,.account-cell .small{font-size:10px}.account-cell select{font-size:12px;max-width:130px}.connection-cell{grid-column:1/-1;border-top:1px solid #55738555;padding-top:8px;margin-top:9px;font-size:11px}.connection-cell .text-button{margin-left:auto;font-size:11px;padding:3px}.dashboard-grid{display:flex;flex-direction:column;gap:12px}.glass{border-radius:11px;background:linear-gradient(135deg,#244c60b3,transparent 48%),linear-gradient(#153b4b,#0b2635)}.card-head h2{font-size:17px}.market-card{padding:12px}.market-heading{display:none}.chart-head{gap:9px}.quote{margin-left:auto;font-size:23px}.timeframe{padding:8px;font-size:11px}#symbol{font-size:12px;padding:8px}.chart-wrap{height:200px;margin-top:12px}.market-footer{margin-top:5px}.market-footer .small{font-size:10px}.small-button{font-size:11px;padding:6px 8px}.ai-card{padding:17px 18px}.power-wrap{margin:17px 0 10px}.power{min-width:170px;padding:12px 24px}.ai-state{min-height:0;margin-bottom:14px;font-size:12px}.analysis-result{padding-top:15px}.direction{font-size:43px}.reason{font-size:15px;line-height:1.7;margin:12px 0 16px}.history-card,.settings-card{padding:17px 14px}.budgetbar{padding:11px 12px;margin-top:12px;gap:8px;flex-wrap:wrap}.budgetbar>div{gap:8px;font-size:11px}.budgetbar strong{font-size:12px}.budgetbar #requestCount{margin-left:auto;font-size:10px}.budget-icon{font-size:21px}.budgetbar progress{flex-basis:80%;order:5}.budget-info{margin-left:auto;order:6}.budget-info summary{font-size:15px}.mobile-nav{display:flex;position:fixed;z-index:10;bottom:0;left:0;right:0;padding:8px 12px max(8px,env(safe-area-inset-bottom));gap:8px;border-top:1px solid #638b9b;background:linear-gradient(#173849f7,#071b28fa);box-shadow:0 -4px 18px #0006}.mobile-nav button{flex:1;display:flex;flex-direction:column;gap:3px;align-items:center;background:none;border:1px solid transparent;border-radius:10px;padding:7px;color:#c7d8e3;font-size:11px}.mobile-nav button>span{font-size:24px;line-height:1}.mobile-nav button[aria-current=page]{border-color:#bb9d62;color:#ffe0a0;background:linear-gradient(135deg,#65563b77,#132b3d);box-shadow:inset 0 1px #f9e0a13d}.page-footer{font-size:8px;letter-spacing:.4px}.toast{bottom:85px}#dashboard[data-tab=analysis] [data-view]:not([data-view=analysis]),#dashboard[data-tab=history] [data-view]:not([data-view=history]),#dashboard[data-tab=settings] [data-view]:not([data-view=settings]){display:none}.login-panel{margin:35px auto;padding:26px}.login-panel h1{font-size:32px}.table-wrap{max-height:none}td{font-size:12px}.budgetbar:has(.budget-info[open]){padding-bottom:15px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.copy-buffer{position:fixed;left:-10000px;top:0}

.pilot-panel{padding:16px;margin-bottom:20px;border:1px solid #698d43;border-radius:16px;background:rgba(154,205,65,.06)}.pilot-panel .toggle{width:auto;min-width:150px;padding:10px 16px;height:auto}.pilot-panel .small{line-height:1.6}.pilot-panel [aria-pressed="true"]{background:#c7f45b;color:#101c13}
.pilot-panel .toggle{border:1px solid #7893a0;border-radius:10px;background:linear-gradient(#536b78,#304654);color:#f5faff;font:inherit;cursor:pointer;box-shadow:inset 0 1px #ffffff30}.pilot-panel .toggle[aria-pressed="true"]{background:linear-gradient(#d5ff75,#a9d94c);color:#14210b;border-color:#d5ff75}.pilot-panel .toggle:disabled{opacity:.5;cursor:default}

.trade-win{color:#c7f45b}.trade-loss{color:#ff9479}.contract-id{display:block;color:#b9cfda;font-size:10px;margin-top:5px}.trade-summary{line-height:1.7;margin:0 0 12px}.history-card .card-head{flex-wrap:wrap;gap:8px}
@media(max-width:700px){.history-card table,.history-card tbody{display:block}.history-card thead{display:none}.history-card tbody tr{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:7px 12px;padding:13px 35px 13px 12px;margin-bottom:10px;border:1px solid #567f9066;border-radius:10px;background:#183e4d66}.history-card td{padding:0;border:0;white-space:normal}.history-card td:nth-child(even){text-align:right}.history-card td:last-child{position:absolute;right:5px;top:9px}.history-card td:nth-child(3),.history-card td:nth-child(5),.history-card td:nth-child(6){font-weight:700}.history-card .contract-id{overflow-wrap:anywhere}.history-card .table-wrap{overflow-x:hidden}}

.cost-note{margin:12px 0 0;line-height:1.6;color:#b9cfda}.trade-state{line-height:1.5;text-align:center}.ai-cost-cell{font-variant-numeric:tabular-nums;white-space:nowrap}@media(max-width:700px){.history-card td.ai-cost-cell{grid-column:1 / -1;text-align:left;color:#b9cfda}.history-card td.ai-cost-cell::before{content:"AI · ";color:#8ee6e1}}

/* Reserve transient status/result space: polling must not resize the shared grid row. */
html{scrollbar-gutter:stable}.market-card,.ai-card{min-width:0}
.ai-state{height:3.3em;min-height:3.3em;overflow:auto;margin:3px 0 12px}
.trade-state{height:3em;min-height:3em;overflow:auto;margin:0 0 8px}
.confidence{height:1.5em;line-height:1.5;margin:5px 0;color:var(--gold);font-size:12px}
.reason{height:8.25em;min-height:8.25em;overflow-y:auto;scrollbar-gutter:stable;flex-shrink:0;width:100%;padding:0 5px}
.result-time{min-height:3.5em;line-height:1.5}.result-meta{height:20px;flex-shrink:0}
.trade-summary{min-height:1.7em}.history-card .table-wrap{height:260px;scrollbar-gutter:stable}
.history-card{position:relative}.history-card .empty-note{position:absolute;left:20px;right:20px;top:150px;pointer-events:none}
@media(max-width:700px){.reason{height:10.2em;min-height:10.2em}.history-card .table-wrap{height:auto;min-height:180px}.ai-state{min-height:3.3em}.trade-summary{min-height:3.4em}}

.market-card{display:grid;grid-template-rows:auto minmax(310px,1fr) auto}.chart-wrap{height:auto;min-height:310px}.chart-wrap canvas{position:absolute;inset:0}
@media(min-width:1500px){.market-card{grid-template-rows:auto minmax(370px,1fr) auto}.chart-wrap{min-height:370px}}
@media(max-width:700px){.market-card{grid-template-rows:auto 200px auto}.chart-wrap{height:200px;min-height:0}}
