/* POLY TERMINAL V2: original UI, informed by the compact PolyScalp layout. */
:root{color-scheme:dark;--bg:#0b0e11;--panel:#101417;--raised:#161b20;--border:#252c32;--text:#e6ecef;--muted:#84939e;--green:#36c5a3;--red:#ee6672;--yellow:#d6ab51;font-family:Inter,"Segoe UI",Arial,sans-serif;font-synthesis:none;background:var(--bg);color:var(--text)}
*{box-sizing:border-box}html,body,#root{margin:0;width:100%;height:100%;overflow:hidden}button,input,select{font:inherit}button{border:1px solid var(--border);border-radius:6px;background:var(--raised);color:var(--text);padding:8px 11px;cursor:pointer;transition:background .12s,border-color .12s}button:hover:not(:disabled){background:#1c252a;border-color:#52626b}button:disabled{cursor:not-allowed;opacity:.48}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--green);outline-offset:3px}button,input{touch-action:manipulation}input{min-width:0;width:100%;border:1px solid var(--border);border-radius:6px;background:#0c1115;color:var(--text);padding:11px}label{display:flex;flex-direction:column;gap:7px;color:#adbac2;font-size:12px}h1,h2,h3,p{margin:0}small{font-size:11px}.up{color:var(--green)}.down{color:var(--red)}.muted{color:var(--muted)}.primary{background:var(--green);color:#062820;border-color:var(--green);font-weight:700}.primary:hover:not(:disabled){background:#59d4b7;border-color:#59d4b7}.brand-mark{width:29px;height:29px;flex-shrink:0}
*{scrollbar-width:thin;scrollbar-color:#34424b transparent}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-thumb{background:#34424b;border-radius:6px}::-webkit-scrollbar-track{background:transparent}
/* Fullscreen authentication remains the only anonymous screen. */
.login-page{height:100dvh;overflow:auto;display:flex;align-items:center;justify-content:center;padding:32px 20px;background:radial-gradient(ellipse at 50% 28%,#17332c55,transparent 58%),var(--bg)}.login-card{width:410px;max-width:100%;padding:34px;background:#101619;border:1px solid #293a35;border-radius:14px;box-shadow:0 26px 90px #0005}.login-brand{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:700;letter-spacing:.8px;margin-bottom:42px}.login-brand .brand-mark{width:34px;height:34px}.login-brand small{font-size:9px;color:var(--muted);margin-left:6px}.login-eyebrow{color:var(--green);font-size:9px;font-weight:600;letter-spacing:1.7px;margin-bottom:11px}.login-card h1{font-size:27px;font-weight:600;letter-spacing:-.6px}.login-card>p{margin:10px 0 25px;color:var(--muted);font-size:12px;line-height:1.7}.login-card form{display:flex;flex-direction:column;gap:17px}.login-card input{height:44px}.login-submit{height:45px;display:flex;justify-content:space-between;align-items:center;margin-top:4px}.login-submit span{font-size:19px}.login-note{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:10px;padding-top:20px;margin-top:24px;border-top:1px solid var(--border)}.login-note span{color:var(--green)}.login-footer{position:fixed;bottom:20px;color:#5d737d;font-size:9px;letter-spacing:1.6px;pointer-events:none}.form-error{font-size:12px;color:var(--red);line-height:1.5}.login-loading{display:flex;align-items:center;gap:14px;font-size:13px;letter-spacing:1px}.loader{width:15px;height:15px;border:2px solid var(--border);border-top-color:var(--green);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
/* One fixed desktop viewport; only the ticket column scrolls. */
.terminal{height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}.topbar{height:48px;flex-shrink:0;padding:0 18px;display:flex;align-items:center;gap:24px;background:#0b0f12;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:700;letter-spacing:.6px;white-space:nowrap}.brand-light{color:#a5b5bc;font-weight:400;margin-left:5px}.brand small{color:var(--muted);font-size:8px;font-weight:500;margin-left:7px}.top-status{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:10px}.live-dot,.waiting-dot{display:inline-block;width:5px;height:5px;flex-shrink:0;border-radius:50%;background:var(--green)}.waiting-dot{background:var(--yellow)}.top-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.balance-pill{display:flex;align-items:center;gap:10px;padding:6px 11px;background:#10211e;border-color:#23443a;font-size:11px}.balance-pill small{color:var(--muted);font-size:9px}.balance-pill strong{color:var(--green);font-size:13px;font-variant-numeric:tabular-nums}.balance-pill>span{padding-left:10px;border-left:1px solid #2d443e;font-size:11px;font-variant-numeric:tabular-nums}.icon-button{width:30px;height:31px;padding:0;background:transparent;color:#94a5ae;font-size:18px}
.marketbar{height:62px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 18px;border-bottom:1px solid var(--border);background:#101417}.market-name{display:flex;align-items:center;gap:9px;min-width:0}.bitcoin{display:grid;place-items:center;width:25px;height:25px;flex-shrink:0;border-radius:50%;font-size:17px;font-weight:600;background:#3b2918;color:#efab4a}.market-name strong{font-size:13px;font-weight:600;white-space:nowrap}.market-name strong>span{font-size:11px;color:var(--muted);font-weight:500;margin-left:4px}.market-metrics{display:flex;align-items:center;gap:26px;flex-shrink:0}.market-metrics>div{text-align:right}.market-metrics small{display:block;margin-bottom:4px;color:var(--muted);font-size:9px;line-height:1}.market-metrics strong{font-size:17px;font-weight:600;letter-spacing:-.3px;font-variant-numeric:tabular-nums;white-space:nowrap}.market-metrics .countdown{min-width:82px;border-left:1px solid var(--border);padding-left:22px}.countdown strong{color:var(--yellow);font-size:24px;letter-spacing:.5px}
.round-history{position:relative;z-index:12;margin-left:5px}.round-history summary{list-style:none;display:flex;align-items:center;gap:9px;border:1px solid var(--border);background:#151b1f;border-radius:5px;padding:5px 8px;cursor:pointer}.round-history summary::-webkit-details-marker{display:none}.round-history summary>span{display:flex;gap:3px;font-size:10px;line-height:12px;letter-spacing:-1px}.round-history b{font-weight:700}.round-history i{font-style:normal;color:var(--muted);font-size:11px}.round-results{position:absolute;left:0;top:calc(100% + 8px);width:268px;padding:13px;border:1px solid #35444e;border-radius:8px;background:#141b20;box-shadow:0 14px 35px #0009;font-size:11px}.round-results>strong{display:block;color:var(--muted);font-size:10px;padding-bottom:9px}.round-results>div{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--border);padding:8px 0}.round-results>p{color:var(--muted);line-height:1.5}
.workspace{display:grid;grid-template-columns:minmax(0,1fr) 334px;flex:1;min-height:0;overflow:hidden}.chart-area{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:#090c10}.chart-toolbar{height:36px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--border);padding:0 11px;background:#101417}.chart-toolbar>div{display:flex;align-items:center;gap:9px}.chart-vendor{color:var(--green);background:#17352f;border:1px solid #25453d;border-radius:4px;padding:4px 8px;font-size:10px}.chart-symbol{font-size:9px;color:var(--muted);white-space:nowrap}.intervals button{border:0;background:transparent;color:var(--muted);font-size:10px;padding:4px 7px}.intervals button[aria-pressed=true]{background:#273138;color:var(--text)}.chart-frame{flex:1;position:relative;min-height:0;background:#090c10}.chart-frame iframe{position:absolute;inset:0;border:0;width:100%;height:100%}.chart-attribution{height:18px;flex-shrink:0;display:flex;align-items:center;padding:0 11px;border-top:1px solid #1c252c;color:#7c909a;font-size:8px}.chart-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;color:var(--muted);background:#0c1115;font-size:12px}
.trade-column{min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:12px;background:var(--panel);border-left:1px solid var(--border)}.ticket-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:15px;margin-bottom:8px;color:#91a1aa;font-size:9px;letter-spacing:.8px}.fok-badge{font-size:8px;letter-spacing:0;color:#9fb4bb;border:1px solid #2a3a42;border-radius:4px;padding:2px 5px;background:#141e23;white-space:nowrap}.outcomes{display:grid;grid-template-columns:1fr 1fr;gap:8px}.outcome{height:72px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:8px 12px;text-align:left;border:1px solid #357765;background:#15211f;color:var(--green);border-radius:8px}.outcome.down{border-color:#77434b;background:#231a1e;color:var(--red)}.outcome:hover:not(:disabled){background:#19332b;border-color:var(--green)}.outcome.down:hover:not(:disabled){background:#382229;border-color:var(--red)}.outcome>span{width:100%;font-size:11px;font-weight:700;line-height:14px}.outcome strong{margin-top:4px;font-size:26px;font-weight:650;font-variant-numeric:tabular-nums;line-height:27px;letter-spacing:-.7px}.outcome em{margin-top:3px;font-size:9px;font-style:normal;color:#91aaa3}.outcome.down em{color:#b59a9e}.outcome small{float:right;font-size:8px;border:1px solid currentColor;border-radius:3px;padding:0 4px;font-weight:600;line-height:12px}.outcome:disabled{opacity:.52}.amount-input{display:flex;flex-direction:row;align-items:center;gap:9px;height:36px;margin-top:8px;padding:0 11px;border:1px solid var(--border);border-radius:6px;background:#151b20}.amount-input>span{color:#93a3ad;font-size:10px}.amount-input>span:first-child{font-size:13px}.amount-input input{border:0;padding:0;background:transparent;height:100%;flex:1;font-size:16px;font-variant-numeric:tabular-nums}.amount-input:focus-within{border-color:#478674}.amount-input input:focus-visible{outline:none}.presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:6px}.presets button{height:30px;padding:4px 0;font-size:11px;color:#a6bac8;background:#151b20}.presets button.active{background:#18352e;border-color:#3f7e69;color:#67ddbd}.ticket-info{display:flex;justify-content:space-between;gap:8px;margin:8px 0;color:var(--muted);font-size:9px;line-height:14px}
.position-card{border:1px solid #2b3c3a;border-radius:7px;background:#111e1b;padding:8px 9px}.position-card.is-empty{border-color:var(--border);background:#12181c}.position-heading{display:flex;justify-content:space-between;gap:8px;color:#8da49e;font-size:8px;letter-spacing:.7px;line-height:10px;margin-bottom:7px}.position-heading>span:last-child{font-variant-numeric:tabular-nums;color:var(--muted);letter-spacing:0}.position-line{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:23px;white-space:nowrap;font-size:10px}.position-line>span{color:#b7c8c8}.position-line strong{font-size:18px;font-weight:650;letter-spacing:-.4px;font-variant-numeric:tabular-nums}.position-line:not(.up):not(.down)>span{color:var(--muted)}.position-note{display:block;color:#92a69f;font-size:8px;line-height:12px;text-align:right;margin-top:4px;overflow-wrap:anywhere}.sell-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px}.sell-controls button{height:34px;padding:6px;font-size:12px;font-weight:600;background:#211a1e;border-color:#51313a;color:#f397a2}.sell-controls button:hover:not(:disabled){border-color:#ab5967;background:#332128}.trade-notice{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:5px;padding:8px 1px 0;color:#b3b9af;font-size:10px;line-height:1.5;text-align:center}.trade-notice>span{color:var(--yellow)}.trade-notice button{border:0;background:none;padding:1px 3px;color:var(--green);font-size:10px}
.signal-section{border-top:1px solid var(--border);margin-top:16px;padding-top:11px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px;min-height:15px}.section-title h2{color:#b7c6cf;font-size:11px;font-weight:600}.section-title>span{color:var(--muted);font-size:9px}.signal-heading h2{font-size:9px;text-transform:uppercase;letter-spacing:.8px}.signal-heading>span{font-size:8px}.signal-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.signal-card{min-width:0;min-height:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:9px 3px;background:#12191e;border:1px solid var(--border);border-radius:6px}.signal-card>span{font-size:10px;font-weight:500;color:#b4c2cb;white-space:nowrap}.signal-card strong{font-size:17px;font-weight:600;color:#71838e;line-height:17px}.signal-card strong.up{color:var(--green)}.signal-card strong.down{color:var(--red)}.signal-card small{font-size:9px;color:#82949f;white-space:nowrap}.signal-card.has-signal{border-color:#35534d;background:#12201e}
.alerts{margin-top:17px}.alerts>.section-title{border-bottom:1px solid var(--border);padding-bottom:9px;margin-bottom:0}.alert-row{display:grid;grid-template-columns:34px 54px 1fr 26px 13px;gap:5px;align-items:center;min-height:29px;padding:7px 0;border-bottom:1px solid #202930;font-size:9px}.alert-row time,.alert-row>span{color:#92a3af}.alert-row>strong{font-size:11px;font-weight:600}.alert-row .score{font-variant-numeric:tabular-nums;color:#b9c6ce}.alert-row>span.up{color:var(--green)}.alert-row>span.down{color:var(--red)}.empty-alerts{padding:18px 8px;text-align:center;color:var(--muted);font-size:10px;line-height:1.6}.empty-alerts>span{display:block;margin-bottom:7px;color:#5c7783;font-size:21px}.alerts>p{font-size:10px;line-height:1.5;margin:8px 0}
.terminal>footer{height:26px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--border);padding:0 16px;color:#8196a3;font-size:9px;background:#0b1013}.terminal>footer>span{display:flex;align-items:center;gap:6px}.footer-separator{color:#45545e;padding:0 3px}.mobile-tabs,.mobile-alerts{display:none}.connection-banner{display:flex;align-items:center;justify-content:center;flex-shrink:0;gap:12px;padding:7px 14px;background:#292318;border-top:1px solid #4c4129;color:var(--yellow);font-size:11px}.connection-banner button{padding:4px 8px;font-size:10px}.toast{position:fixed;z-index:100;left:50%;bottom:35px;transform:translateX(-50%);max-width:calc(100vw - 24px);padding:12px 19px;border:1px solid #3d6759;border-radius:8px;background:#142b24;color:#d4eee4;box-shadow:0 10px 35px #0008;font-size:12px;line-height:1.5;text-align:center}
/* Settings and account stay outside the trading canvas. */
.modal-backdrop{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:20px;background:#000b;backdrop-filter:blur(4px)}.modal{display:flex;flex-direction:column;width:560px;max-width:100%;max-height:90dvh;border:1px solid #36464f;border-radius:12px;background:var(--panel);overflow:hidden}.modal-heading{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 22px;border-bottom:1px solid var(--border)}.modal-heading h2{font-size:18px;font-weight:600}.modal-heading>button{width:30px;height:30px;padding:0;background:transparent;border:0;color:var(--muted);font-size:24px}.modal-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:22px}.settings section+section{margin-top:24px;padding-top:22px;border-top:1px solid var(--border)}.settings h3,.account h3{margin-bottom:11px;font-size:13px;font-weight:500}.settings p{margin-bottom:15px;color:var(--muted);font-size:11px;line-height:1.7}.settings form{display:flex;flex-direction:column;gap:13px}.settings form button{align-self:flex-start}.settings .settings-hint{margin:0 0 3px;font-size:10px}.settings-amounts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:19px}.settings-amounts input{font-size:12px;padding:9px 5px}.settings>section>label{margin-bottom:19px}.settings>section>label input{max-width:120px}.indicator-options{display:flex;gap:17px;margin:16px 0 22px}.indicator-options label{flex-direction:row;align-items:center;gap:6px;font-size:11px}.indicator-options input{width:14px;accent-color:var(--green)}.settings-message{margin-top:18px!important;color:var(--yellow)!important}.account .muted{margin-bottom:17px;font-size:11px;line-height:1.6}.account-stats{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:18px 0}.account-stats>div{padding:13px;background:#121b20;border:1px solid var(--border);border-radius:7px}.account-stats small{display:block;margin-bottom:7px;color:var(--muted);font-size:9px}.account-stats strong{font-size:20px}.operation{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:11px 0;border-top:1px solid var(--border);color:var(--muted);font-size:10px}.operation button{padding:6px;font-size:10px}.closed-trade{padding:12px 0;border-bottom:1px solid var(--border);font-size:11px}.closed-trade>div{display:flex;justify-content:space-between;gap:12px}.closed-trade small{display:block;margin:6px 0;color:var(--muted);line-height:1.5}.closed-trade p{margin:7px 0;line-height:1.5}.closed-trade summary{margin-top:8px;color:var(--muted);cursor:pointer}
@media(max-width:1100px) and (min-width:901px){.topbar{padding:0 13px}.marketbar{padding:0 13px;gap:10px}.market-metrics{gap:16px}.market-metrics strong{font-size:15px}.market-metrics .countdown{min-width:70px;padding-left:15px}.countdown strong{font-size:23px}.metric-detail{display:none}.round-history summary>span{gap:2px;font-size:9px}}
/* Mobile is a large fixed chart above a separately scrolling Trade / Alerts sheet. */
@media(max-width:900px){
 .topbar{height:44px;padding:0 11px;gap:8px}.brand{font-size:10px;gap:7px;letter-spacing:.3px}.brand-mark{width:26px;height:26px}.brand small,.top-status,.balance-pill small,.balance-pill>span{display:none}.brand-light{margin-left:3px}.top-actions{gap:5px}.balance-pill{padding:6px 8px;gap:0}.balance-pill strong{font-size:11px}.icon-button{width:28px;height:30px;font-size:18px}
 .marketbar{height:80px;display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:9px;padding:7px 12px}.market-name{gap:7px}.bitcoin{width:19px;height:19px;font-size:13px}.market-name strong{font-size:11px}.market-name strong>span{font-size:10px}.round-history{margin-left:auto}.round-history summary{padding:3px 6px;gap:6px}.round-history summary>span{font-size:9px;gap:3px;line-height:11px}.round-results{left:auto;right:0;top:calc(100% + 6px)}.market-metrics{display:grid;grid-template-columns:1fr 1fr .9fr .65fr;gap:9px}.market-metrics>div{text-align:left}.market-metrics small{font-size:8px;margin-bottom:4px}.metric-detail{display:none}.market-metrics strong{font-size:13px;letter-spacing:-.3px}.market-metrics .countdown{min-width:0;padding-left:9px;text-align:right}.countdown strong{font-size:18px;line-height:15px;letter-spacing:0}
 .workspace{display:flex;flex-direction:column;min-height:0}.chart-area{flex:0 0 auto}.chart-toolbar{height:30px;padding:0 9px;gap:5px}.chart-toolbar>div{gap:6px}.chart-vendor{padding:3px 6px;font-size:8px}.chart-symbol{font-size:8px}.intervals button{font-size:9px;padding:4px 5px}.chart-frame{flex:none;height:clamp(250px,36dvh,360px)}.chart-attribution{height:14px;padding:0 10px;font-size:7px}
 .trade-column{flex:1;min-height:0;display:flex;flex-direction:column;padding:0;overflow:hidden;border-top:1px solid var(--border);border-left:0}.mobile-tabs{flex-shrink:0;display:grid;grid-template-columns:1fr 1fr;height:36px;padding:3px 10px;gap:5px;border-bottom:1px solid var(--border);background:#11171b}.mobile-tabs button{font-size:11px;padding:4px 8px;background:#151d23;color:#94a7b4;border:1px solid #2a333c;border-radius:6px}.mobile-tabs button.active{background:#18352f;border-color:#39745f;color:#69dbc0}.trading-content,.mobile-alerts{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:10px 12px 14px}.mobile-alerts{display:block}.mobile-hidden{display:none!important}.ticket-head{min-height:12px;margin-bottom:6px;font-size:8px;letter-spacing:.6px}.fok-badge{font-size:7px;padding:1px 4px}.outcomes{gap:8px}.outcome{height:60px;padding:6px 11px;position:relative}.outcome>span{font-size:10px;line-height:12px}.outcome strong{font-size:24px;line-height:25px;margin-top:3px}.outcome em{position:absolute;bottom:8px;right:10px;font-size:8px;margin:0}.outcome small{font-size:7px;line-height:10px}.amount-input{height:34px;margin-top:6px;padding:0 10px}.amount-input input{font-size:16px}.presets{gap:6px;margin-top:5px}.presets button{height:32px;font-size:11px}.ticket-info{margin:6px 0;font-size:8px;line-height:12px}.position-card{padding:7px 9px}.position-heading{font-size:7px;line-height:9px;margin-bottom:4px}.position-line{min-height:22px;font-size:10px}.position-line strong{font-size:17px;letter-spacing:-.5px}.position-note{font-size:8px;line-height:10px;margin-top:3px}.sell-controls{gap:8px;margin-top:6px}.sell-controls button{height:44px;font-size:12px}.signal-section{margin-top:14px;padding-top:10px}.signal-card{min-height:68px;gap:6px}.signal-card>span{font-size:9px}.signal-card strong{font-size:17px}.signal-card small{font-size:8px}.desktop-alerts{display:none}.mobile-alerts .alerts{margin-top:0}.alert-row{min-height:35px;font-size:11px;grid-template-columns:40px 60px 1fr 32px 14px}.alert-row>strong{font-size:11px}.alerts>.section-title h2{font-size:11px}.terminal>footer{height:24px;padding:0 11px;font-size:8px}.terminal>footer>span{gap:4px}.footer-separator{padding:0 1px}.connection-banner{font-size:10px;padding:6px 10px}.toast{bottom:32px;font-size:11px;width:max-content;padding:10px 14px}
 .modal-backdrop{align-items:flex-end;padding:0}.modal{width:100%;max-height:92dvh;border-radius:14px 14px 0 0}.modal-heading{padding:15px 18px}.modal-heading h2{font-size:17px}.modal-body{padding:19px 18px}.login-card{padding:29px 25px}.login-brand{margin-bottom:35px}.login-card h1{font-size:25px}.login-footer{font-size:8px}
}
@media(max-width:900px) and (max-height:760px){.chart-frame{height:clamp(185px,31dvh,250px)}.sell-controls button{height:38px}.presets button{height:28px}.marketbar{height:74px}.trading-content,.mobile-alerts{padding:8px 11px 12px}.ticket-head{display:none}.outcome{height:56px}.position-heading{margin-bottom:2px}.position-card{padding:6px 8px}.position-line strong{font-size:16px}.ticket-info{margin:5px 0}.position-note{font-size:7px}}
@media(max-width:370px){.brand-light{font-size:9px}.brand{gap:5px}.market-metrics{gap:6px}.market-metrics strong{font-size:12px}.market-metrics .countdown{padding-left:6px}.countdown strong{font-size:17px}.round-history summary>span{gap:2px}.signal-card>span{font-size:8px}.position-line strong{font-size:15px}.position-heading{font-size:7px}.topbar{padding:0 9px}.top-actions{gap:3px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* 2026-10-31: black canvas, native TradingView toolbar and compact account rows. */
:root{--bg:#060708;--panel:#0b0d10;--raised:#11151a;--border:#1d242b;--text:#f0f3f5;--muted:#9aa7b1;--green:#28d4ab;--red:#f3697a}
.topbar{background:#080a0c}.marketbar{height:80px;background:#0b0e11}.market-metrics{gap:28px}.market-metrics small{font-size:10px;margin-bottom:6px;color:#a3afb8}.market-metrics strong{font-size:27px;font-weight:750;letter-spacing:-.7px;color:#f4f6f8}.market-metrics strong.up{color:var(--green)}.market-metrics strong.down{color:var(--red)}.countdown strong{font-size:36px;color:var(--yellow);letter-spacing:0}.market-metrics .countdown{min-width:100px}.round-history summary>span{font-size:17px;line-height:19px;gap:3px;letter-spacing:-2px}.round-history summary{background:#101419;border-color:#222b32;padding:4px 8px}.round-history summary>span>b{font-weight:800}.chart-area{background:#050607}.chart-frame{background:#050607}
.trade-column{background:#0b0d10}.outcome{background:#0d1815;border-color:#255747}.outcome.down{background:#1a1014;border-color:#65333e}.outcome strong{font-size:29px;font-weight:750}.outcome>span{font-size:12px}.outcome em{font-size:10px}.amount-input,.presets button{background:#11151a}.position-card{position:relative;background:#0b1713;border-color:#20352e;margin-top:10px}.position-card.is-empty{background:#0d1115;border-color:#22292f}.position-heading{font-size:9px;line-height:12px;margin-bottom:6px}.position-line{font-size:13px;min-height:28px}.position-line>span{font-weight:600}.position-line strong{font-size:20px;font-weight:750}.position-note{display:flex;align-items:center;justify-content:space-between;gap:7px;text-align:left;font-size:10px;line-height:15px;color:#a2b4ab}.position-note b{font-size:12px;white-space:nowrap;color:#c5ddd3}.closed-result{padding-right:35px}.closed-result .position-heading>span:last-child{display:none}.closed-result .position-line{flex-wrap:wrap}.dismiss-result{position:absolute;right:5px;top:4px;border:0;background:transparent;font-size:20px;color:#9aaca4;padding:0;width:26px;height:26px}.sell-controls button{font-size:12px}.signal-section{margin-top:13px}.signal-card{background:#0d1115;border-color:#222a31}.signal-card>span{font-size:10px}.signal-card strong{font-size:19px}.signal-card small{font-size:10px}.section-title h2{font-size:12px}
.alert-table-heading,.alert-row{display:grid;grid-template-columns:34px 54px minmax(42px,1fr) 39px 26px 20px;gap:4px;align-items:center}.alert-table-heading{color:#889ba9;text-transform:uppercase;font-size:8px;letter-spacing:.2px;height:25px}.alert-row{font-size:11px;min-height:34px;padding:7px 0;border-color:#1c232a;font-variant-numeric:tabular-nums}.alert-row>strong{font-size:11px}.alert-row .alert-share-price{color:#e3e9ed;font-weight:650;font-size:12px}.alert-row .score{color:#e5edf2;font-size:12px}.alert-row>span:last-child{font-size:13px}
.account-modal{width:1000px;max-width:96vw}.account-stats{grid-template-columns:repeat(3,1fr)}.account .account-stats small{font-size:11px}.account .account-stats strong{font-size:22px}.trade-history-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;border-top:1px solid #29343e}.closed-trades{min-width:740px}.history-columns,.history-row{display:grid;grid-template-columns:102px 67px minmax(135px,1fr) 90px 100px 85px 20px;gap:9px;align-items:center;padding:12px 10px}.history-columns{font-size:10px;color:#96a9b8;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;background:#10151a}.closed-trade{font-size:12px;padding:0;border-bottom:1px solid #232b32}.history-row{list-style:none;cursor:pointer;font-size:13px;white-space:nowrap;font-variant-numeric:tabular-nums}.history-row::-webkit-details-marker{display:none}.history-row:hover{background:#131a20}.history-row time{color:#aebdca;font-size:12px}.history-row>strong{font-size:13px}.expand-row{color:#7e95a5;text-align:right}.history-detail{padding:10px 14px;background:#10171d;border-top:1px solid #24323b;color:#a6bac8;white-space:normal;font-size:12px;line-height:1.6}.history-detail p{margin:4px 0}.account .history-hint{font-size:11px;color:#95a6b2;margin:0 0 12px}.operation-details{margin-top:20px;font-size:12px;color:#a5b7c2}.operation-details>summary{cursor:pointer;margin-bottom:12px}.viewport-info{margin-top:18px!important;font-size:11px!important;color:#92a6b5!important}.settings select{width:120px;background:#101820;color:#e2ebf2;border:1px solid #344450;padding:9px;border-radius:5px}
@media(max-width:1100px) and (min-width:901px){.market-metrics{gap:20px}.market-metrics strong{font-size:24px}.countdown strong{font-size:32px}.round-history summary>span{font-size:16px}.market-metrics .countdown{min-width:85px}}
@media(max-width:900px){.marketbar{height:92px;gap:9px;padding:7px 12px}.market-metrics{gap:8px;grid-template-columns:1.12fr 1.12fr 1fr .72fr}.market-metrics small{font-size:9px;margin-bottom:5px;letter-spacing:-.2px}.market-metrics strong{font-size:19px;font-weight:750;letter-spacing:-.6px}.market-metrics .countdown{min-width:0;padding-left:7px}.countdown strong{font-size:26px;line-height:23px}.round-history summary>span{font-size:16px;line-height:18px;gap:2px;letter-spacing:-2px}.round-history summary{padding:2px 7px}.chart-frame{height:clamp(290px,38dvh,390px)}.trading-content,.mobile-alerts{padding:10px 12px 14px}.outcome{height:62px}.outcome strong{font-size:28px;line-height:28px}.outcome>span{font-size:12px}.outcome em{font-size:10px;bottom:8px}.position-card{margin-top:8px;padding:8px 9px}.position-heading{font-size:8px;line-height:11px}.position-line{font-size:13px;min-height:27px}.position-line strong{font-size:20px}.position-note{font-size:9px;line-height:14px;gap:5px}.position-note b{font-size:12px}.sell-controls button{height:44px;font-size:13px}.signal-card>span{font-size:10px}.signal-card small{font-size:9px}.alert-row{font-size:12px;min-height:40px;grid-template-columns:38px 59px minmax(43px,1fr) 43px 28px 22px;gap:5px}.alert-table-heading{grid-template-columns:38px 59px minmax(43px,1fr) 43px 28px 22px;gap:5px;font-size:9px}.alert-row>strong{font-size:12px}.alert-row .alert-share-price,.alert-row .score{font-size:13px}.account-modal{width:100%;max-width:100%;max-height:94dvh}.account-stats{grid-template-columns:repeat(2,1fr)}.modal-body{padding:16px;overflow-x:hidden}.closed-result{padding-right:34px}.dismiss-result{width:28px;height:28px}.history-row{font-size:13px}.login-card{background:#0c1013}}
@media(max-width:900px) and (max-height:760px){.chart-frame{height:clamp(180px,31dvh,260px)}.marketbar{height:86px}.position-line strong{font-size:18px}.position-note{font-size:9px}.position-card{padding:7px 8px}.sell-controls button{height:40px}}
@media(max-width:370px){.market-metrics strong{font-size:16px}.market-metrics small{font-size:8px}.countdown strong{font-size:23px}.round-history summary>span{font-size:15px}.position-line{font-size:11px}.position-line strong{font-size:17px}.alert-row,.alert-table-heading{grid-template-columns:33px 52px minmax(39px,1fr) 35px 23px 16px;gap:3px}.alert-row{font-size:10px}.alert-row>strong{font-size:11px}}

/* OnePlus review: page scroll, generous chart, two mobile metrics. Desktop unchanged. */
.mobile-history-row{display:none}.time-diagnostics{margin-top:20px;color:#b5c4ce;font-size:12px}.time-diagnostics summary{cursor:pointer}.time-diagnostics p{margin-top:10px;overflow-wrap:anywhere}
@media(max-width:900px){
 html,body,#root{height:auto;min-height:100%;overflow:visible}html{overflow-x:clip}body{overflow-x:clip}
 .terminal{height:auto;min-height:100svh;overflow:visible;padding-bottom:max(20px,env(safe-area-inset-bottom))}
 .topbar{height:40px}.top-status{display:flex;font-size:0;margin-left:auto;gap:0}.top-status i{width:6px;height:6px}.top-actions{margin-left:0}.brand-mark{width:23px;height:23px}
 .marketbar{height:69px;flex-shrink:0;padding:4px 12px 6px;gap:4px}.market-name{height:19px}.market-name strong{font-size:10px}.bitcoin{width:16px;height:16px;font-size:12px}.round-history summary{padding:1px 6px}.round-history summary>span{font-size:13px;line-height:15px}
 .market-metrics{display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,1fr);gap:12px;align-items:center}.market-metrics>div:nth-child(-n+2){display:none}.market-metrics .reference-delta,.market-metrics .countdown{display:flex;align-items:baseline;gap:8px;min-width:0;white-space:nowrap}.market-metrics small{font-size:9px;margin:0}.market-metrics strong{font-size:25px;letter-spacing:-.5px;line-height:30px}.market-metrics .countdown{justify-content:flex-end;padding:0;border:0;min-width:0}.countdown strong{font-size:29px;line-height:31px;letter-spacing:0}
 .workspace{flex:none;overflow:visible;min-height:0}.chart-area{flex:none}.chart-frame{height:max(420px,57svh)}
 .trade-column{flex:none;overflow:visible;min-height:0}.mobile-tabs{height:39px}.trading-content,.mobile-alerts{flex:none;overflow:visible;min-height:0;padding:12px 12px max(24px,env(safe-area-inset-bottom));overscroll-behavior:auto}
 .terminal>footer{display:none}.toast{bottom:calc(24px + env(safe-area-inset-bottom))}.modal-backdrop{padding-top:env(safe-area-inset-top)}.modal-body{padding-bottom:calc(22px + env(safe-area-inset-bottom))}
 .mobile-alerts .alert-row,.mobile-alerts .alert-table-heading{grid-template-columns:36px 57px minmax(47px,1fr) 40px 32px 32px;gap:7px}.mobile-alerts .alert-row{min-height:45px;font-size:12px;color:#e4ebf1}.mobile-alerts .alert-row time,.mobile-alerts .alert-row>span{color:#bdccd7}.mobile-alerts .alert-table-heading{height:32px;font-size:10px;color:#bacbd8;letter-spacing:0;text-transform:none}.mobile-alerts .alert-row>strong{font-size:12px}.mobile-alerts .alert-row>span:nth-last-child(-n+2),.mobile-alerts .alert-table-heading>span:nth-last-child(-n+2){text-align:center;border-left:1px solid #28333c;padding-left:4px}.mobile-alerts .alert-row>span.up{color:var(--green)}.mobile-alerts .alert-row>span.down{color:var(--red)}
 .account h3{font-size:12px;margin-bottom:10px}.account .account-pnl-note,.account .history-hint,.history-columns{display:none}.account-stats{gap:6px;margin:10px 0 14px}.account-stats>div{padding:9px}.account .account-stats strong{font-size:18px}.account .account-stats small{font-size:10px;margin-bottom:4px}
 .closed-trades{min-width:0}.trade-history-scroll{overflow-x:visible;overscroll-behavior-x:auto}.history-row{display:block;padding:0;margin:0!important}.history-row> :not(.mobile-history-row){display:none}.mobile-history-row{display:flex;align-items:center;justify-content:space-between;gap:5px;padding:13px 0;font-size:11px;letter-spacing:-.2px;white-space:nowrap;font-variant-numeric:tabular-nums}.mobile-history-row>*{flex-shrink:0}.mobile-history-row time{font-size:11px;color:#becbd5}.mobile-history-row strong{font-size:11px}.mobile-history-row b{font-weight:650}.closed-trade>.history-detail{display:block;padding:9px 10px;font-size:11px;overflow-wrap:anywhere}.operation-details{margin-top:17px}
}
@media(max-width:370px){.market-metrics small{font-size:8px}.market-metrics strong{font-size:23px}.countdown strong{font-size:27px}.market-metrics{gap:8px}.mobile-alerts .alert-row,.mobile-alerts .alert-table-heading{grid-template-columns:33px 52px minmax(40px,1fr) 33px 29px 29px;gap:4px}.mobile-alerts .alert-row{font-size:11px}.mobile-alerts .alert-row>strong{font-size:11px}.mobile-history-row{font-size:10.5px;gap:3px;letter-spacing:-.3px}.mobile-history-row time,.mobile-history-row strong{font-size:10.5px}.account-modal .modal-body{padding-left:10px;padding-right:10px}}

@media(min-width:371px) and (max-width:900px){.mobile-history-row,.mobile-history-row strong{font-size:12px}.mobile-history-row time{font-size:11.5px}}

/* Required own-signal status text within the accepted three-card layout. */
.signal-card .our-caption{white-space:normal;text-align:center;line-height:12px;max-width:100%}
