:root{--bg: #080d18;--panel: #0d1525;--panel-2: #111827;--panel-3: #1f2937;--line: #1f2937;--line-soft: rgba(148, 163, 184, .15);--text: #ffffff;--muted: #94a3b8;--green: #22c55e;--green-dark: #16a34a;--red: #ef4444}*{box-sizing:border-box}html,body,#root{width:100%;max-width:100%;height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:hidden}button,input{font:inherit}button{cursor:pointer}.app{height:100dvh;width:100%;max-width:100%;overflow-x:hidden;display:flex;flex-direction:column;background:#0a0f1c}.topbar{height:64px;border-bottom:1px solid var(--line);background:#111827;display:flex;align-items:center;justify-content:space-between;padding:0 16px;flex:0 0 auto}.topbar-left,.topbar-actions,.nav-links,.market-status,.trade-actions,.rail-tabs{display:flex;align-items:center}.brand{font-weight:950;font-size:23px;letter-spacing:0;white-space:nowrap}.brand span{color:var(--green)}.brand strong{color:#fff}.status-pill{margin-left:10px;color:var(--green);border:1px solid var(--green);border-radius:999px;font-size:10px;font-weight:800;padding:3px 8px;text-transform:uppercase}.nav-links{gap:24px;margin-left:32px}.nav-links button,.rail-tabs button,.mobile-tabs button{display:inline-flex;align-items:center;gap:7px;color:var(--muted);border:0;background:transparent;font-weight:800;font-size:13px;text-transform:uppercase}.nav-links button:hover,.rail-tabs button.active{color:var(--green)}.topbar-actions{gap:10px}.user-chip{height:45px;min-width:148px;border:1px solid rgba(34,197,94,.25);background:#22c55e14;border-radius:4px;display:flex;flex-direction:column;justify-content:center;align-items:flex-end;padding:0 12px;color:var(--green);line-height:1.1}.user-chip span{color:#b7c1d4;font-size:12px}.user-chip strong{font-size:16px}.outline-btn,.green-btn,.login-btn,.danger-outline,.icon-btn{height:38px;border-radius:5px;font-weight:900;text-transform:uppercase;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:7px}.outline-btn{color:var(--green);border:1px solid var(--green);background:transparent}.green-btn{color:#03120a;background:var(--green);border:1px solid var(--green)}.login-btn{color:#dbeafe;background:#172232;border:1px solid #334155}.danger-outline{color:var(--red);background:#ef444414;border:1px solid rgba(239,68,68,.35)}.icon-btn{width:38px;color:#b7c1d4;background:#172232;border:1px solid #334155;padding:0}.marketbar{height:64px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#0c1322;padding:0 24px;flex:0 0 auto}.market-metrics{display:flex;gap:30px}.market-metrics span,.input-row label>span,.limits,.quote-card span{color:var(--muted);text-transform:uppercase;font-size:12px}.market-metrics strong{display:block;font-size:20px;line-height:1.1}.positive{color:var(--green)}.negative{color:var(--red)}.market-status{gap:16px}.live{color:var(--green);font-weight:900;text-transform:uppercase;display:flex;align-items:center;gap:8px}.live span,.chat-head span{width:8px;height:8px;border-radius:50%;background:var(--green)}.currency-btn{height:30px;display:inline-flex;align-items:center;gap:6px;color:var(--muted);background:#1f2937;border:1px solid #334155;border-radius:5px;padding:0 12px}.currency-btn strong{color:#fff}.workspace{min-height:0;flex:1;display:grid;grid-template-columns:minmax(0,1fr) 320px 320px}.main-stage{min-width:0;min-height:0;overflow:hidden;border-right:1px solid var(--line)}.chart-shell{width:100%;height:100%;position:relative;overflow:hidden;background:#0a0f1c}.chart-host{width:100%;height:100%}.trade-panel{background:var(--panel);border-right:1px solid var(--line);padding:20px 16px;display:flex;flex-direction:column;min-width:0}.panel-title{font-size:15px;font-weight:900;margin-bottom:18px}.panel-title span{color:var(--muted);font-weight:500}.trade-actions{gap:10px;margin-bottom:20px}.trade-actions button{height:46px;flex:1;border:1px solid transparent;border-radius:8px;font-size:21px;font-weight:950;transition:opacity .16s ease,box-shadow .16s ease,transform .16s ease}.trade-actions button:not(.active){opacity:.72}.trade-actions button.active{box-shadow:0 0 0 2px #ffffff14 inset}.trade-actions .buy{color:#020a05;background:var(--green)}.trade-actions .sell{color:#fff;background:var(--red)}.input-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.input-row label{min-width:0}.input-row label>span{display:block;margin-bottom:8px}.money-input{height:48px;border:1px solid #334155;background:#111827;border-radius:8px;display:flex;align-items:center;padding:0 12px;gap:7px}.money-input strong{color:var(--muted);font-size:19px}.money-input input{min-width:0;width:100%;color:#fff;background:transparent;border:0;outline:0;font-size:16px}.money-input input::placeholder{color:#7b879a}.trade-meta{display:flex;align-items:flex-start;flex-direction:column;gap:4px;margin:8px 0 16px}.limits{margin:0;text-transform:none}.trade-meta span{color:#64748b;font-size:12px}.quick-amounts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.quick-amounts button{height:32px;white-space:nowrap;color:#fff;background:transparent;border:1px solid #334155;border-radius:8px;font-size:13px}.quick-amounts .active{color:#03120a;background:var(--green);border-color:var(--green)}.order-summary{margin-top:16px;border:1px solid rgba(148,163,184,.14);border-radius:8px;background:#080d1899;overflow:hidden}.order-summary div{height:38px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-bottom:1px solid rgba(148,163,184,.1)}.order-summary div:last-child{border-bottom:0}.order-summary span{color:var(--muted);font-size:12px}.order-summary strong{color:#fff;font-size:13px}.order-summary .buy{color:var(--green)}.order-summary .sell{color:var(--red)}.quote-card{margin-top:auto;background:#1f2937;border-radius:8px;padding:16px;display:grid;gap:12px}.quote-card div{display:flex;align-items:center;justify-content:space-between}.quote-card span{text-transform:none;font-size:14px}.quote-card strong{color:#fff}.quote-card div:first-child strong{color:var(--green);font-size:18px}.warning{margin-top:14px;height:38px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(239,68,68,.35);border-radius:4px;color:#ff6b72;background:#ef44441f;font-size:12px;font-weight:800}.submit-trade{margin-top:14px;height:40px;border:0;border-radius:4px;color:#03120a;font-size:12px;font-weight:950;text-transform:uppercase}.submit-trade.buy{background:var(--green)}.submit-trade.sell{color:#fff;background:var(--red)}.submit-trade:disabled{color:#ff8790;background:#ef44441f;border:1px solid rgba(239,68,68,.35);cursor:not-allowed}.position-section,.history-section{margin-top:14px}.position-title{height:28px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px;text-transform:uppercase}.position-title strong{color:#fff;font-size:12px}.position-title span{min-width:22px;height:20px;display:inline-flex;align-items:center;justify-content:center;color:var(--green);border:1px solid rgba(34,197,94,.25);border-radius:999px;background:#22c55e14;font-size:11px;font-weight:900}.empty-positions{min-height:42px;display:flex;align-items:center;justify-content:center;color:#64748b;border:1px dashed rgba(148,163,184,.18);border-radius:8px;background:#080d1873;font-size:12px}.position-list,.history-list{display:grid;gap:6px}.position-list{max-height:168px;overflow-y:auto}.position-row,.history-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid rgba(148,163,184,.12);border-radius:8px;background:#080d1894}.position-row{min-height:52px;padding:8px 10px}.position-row>div:first-child,.position-result{min-width:0;display:grid;gap:3px}.position-row strong,.history-row strong{font-size:12px}.position-row .buy{color:var(--green)}.position-row .sell{color:var(--red)}.position-row span,.history-row span{color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.position-result{justify-items:end}.position-result button{height:22px;color:#dbeafe;background:#172232;border:1px solid #334155;border-radius:5px;padding:0 9px;font-size:11px;font-weight:900}.history-row{min-height:34px;padding:0 10px}.right-rail{min-width:0;background:#080d18;display:flex;flex-direction:column}.rail-tabs{height:38px;border-bottom:1px solid var(--line)}.rail-tabs button{height:100%;flex:1;justify-content:center;font-size:11px;border-bottom:2px solid transparent}.rail-tabs .active{border-bottom-color:var(--green)}.chat-tab,.top-traders{min-height:0;flex:1;display:flex;flex-direction:column}.chat-head{height:42px;display:flex;justify-content:space-between;align-items:center;padding:0 16px;border-bottom:1px solid var(--line);background:#111827}.chat-head div{display:flex;align-items:center;gap:8px;font-weight:900}.chat-head p{margin:0;color:var(--muted);font-size:13px}.empty-chat{flex:1}.chat-stream{flex:1;overflow-y:auto;padding:14px 12px;display:grid;align-content:start;gap:10px}.chat-message{display:grid;grid-template-columns:30px minmax(0,1fr);gap:9px;padding:10px;border:1px solid rgba(148,163,184,.12);border-radius:8px;background:#0d1525db}.chat-message header{display:flex;align-items:center;justify-content:space-between;gap:8px}.chat-message strong{font-size:12px}.chat-message span{color:#64748b;font-size:11px}.chat-message p{margin:4px 0 0;color:#cbd5e1;font-size:12px;line-height:1.35}.avatar.small{width:30px;height:30px;font-size:10px;background:#2563eb}.chat-compose{height:46px;display:flex;align-items:center;gap:8px;padding:7px 12px;border-top:1px solid var(--line);background:#0d1525}.chat-compose input{min-width:0;flex:1;height:30px;color:#64748b;background:#080d18;border:1px solid #1f2937;border-radius:5px;padding:0 10px}.chat-compose button{width:30px;height:30px;color:#94a3b8;background:#172232;border:1px solid #334155;border-radius:5px}.chat-login{border-top:1px solid var(--line);height:40px;color:var(--muted);display:flex;align-items:center;justify-content:center;font-size:13px;font-style:italic}.top-traders{padding:14px 12px}.list-title{display:flex;align-items:center;gap:8px;color:#fff;text-transform:uppercase;margin-bottom:10px}.list-title svg{color:#fbbf24}.podium-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:12px}.podium-card{min-width:0;min-height:86px;display:grid;justify-items:center;align-content:center;gap:4px;border:1px solid rgba(251,191,36,.22);border-radius:8px;background:linear-gradient(180deg,#fbbf241f,#0d1525d9)}.podium-card svg{color:#fbbf24}.podium-card span{color:#94a3b8;font-size:11px;font-weight:900}.podium-card strong{font-size:16px}.podium-card small{max-width:100%;color:var(--green);font-size:10px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 5px}.periods{display:flex;gap:5px;margin-bottom:12px;overflow-x:auto}.periods button{border:0;border-radius:999px;background:#1f2937;color:var(--muted);height:24px;padding:0 10px;font-size:11px;font-weight:900;white-space:nowrap;text-transform:uppercase}.periods .active{color:#03120a;background:var(--green)}.trader-list{display:grid;gap:6px;overflow-y:auto;padding-bottom:8px}.trader-row{height:54px;display:grid;align-items:center;grid-template-columns:28px 34px minmax(0,1fr) 28px auto;gap:8px;padding:8px;border:1px solid #1f2937;border-radius:8px;background:#0d1525}.rank{color:#64748b;font-weight:900;font-size:12px}.avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:950}.trader-name{min-width:0}.trader-name strong,.trader-name span{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.trader-name strong{font-size:12px}.trader-name span{color:#64748b;font-size:10px}.flag{color:var(--muted);font-size:11px}.profit{color:var(--green);font-size:12px;white-space:nowrap}.tours-tab{min-height:0;flex:1;padding:16px 14px;color:#64748b;display:flex;flex-direction:column}.tour-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}.tour-head svg{color:#fbbf24}.tour-head strong,.tour-head span{display:block}.tour-head strong{color:#fff;font-size:15px;text-transform:uppercase}.tour-head span{color:var(--muted);font-size:12px}.tour-list{display:grid;gap:10px;overflow-y:auto}.tour-card{padding:12px;border:1px solid rgba(148,163,184,.14);border-radius:8px;background:#0d1525}.tour-card div,.tour-card footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.tour-card strong{color:#fff;font-size:13px}.tour-card div span{color:var(--green);font-size:11px;font-weight:900;white-space:nowrap}.tour-card p{margin:10px 0;color:#cbd5e1;font-size:12px}.tour-card footer span{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:12px}.tour-card button{height:28px;color:#03120a;background:var(--green);border:0;border-radius:5px;padding:0 12px;font-size:12px;font-weight:900}.mobile-rail-view{display:none}.mobile-rail-title{height:42px;display:flex;align-items:center;padding:0 14px;border-bottom:1px solid var(--line);color:#fff;background:#111827;font-size:13px;font-weight:950;text-transform:uppercase}.mobile-tabs{display:none}@media(max-width:1180px){.workspace{grid-template-columns:minmax(0,1fr) 320px}.right-rail{display:none}}@media(max-width:860px){html,body,#root{width:100vw;max-width:100vw}body{overflow-x:hidden;overflow-y:auto}.app{min-height:100dvh;height:auto;max-width:100vw}.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;height:56px;width:100vw;max-width:100vw;gap:8px;padding:0 12px;overflow:hidden;min-width:0}.topbar-left{min-width:0;overflow:hidden}.brand{font-size:22px}.status-pill{margin-left:8px;padding:3px 7px;font-size:9px}.topbar-actions{flex:0 0 auto;gap:8px}.nav-links,.user-chip,.danger-outline,.login-btn,.outline-btn,.topbar-actions .green-btn{display:none}.marketbar{display:grid;grid-template-columns:minmax(0,1fr) auto;height:54px;width:100vw;max-width:100vw;padding:0 12px;gap:10px;overflow:hidden;min-width:0}.market-metrics{min-width:0;overflow:hidden;gap:18px}.market-status{flex:0 0 auto;gap:8px}.currency-btn{display:none}.market-metrics strong{font-size:14px;white-space:nowrap}.workspace{display:flex;flex-direction:column;min-height:calc(100dvh - 158px);width:100vw;max-width:100vw;overflow-x:hidden}.main-stage{width:100vw;max-width:100vw;height:350px;border-right:0;border-bottom:1px solid var(--line)}.trade-panel{width:100vw;max-width:100vw;flex:0 0 auto;border-right:0;min-height:420px;overflow:hidden;padding-bottom:68px}.trade-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.trade-actions button,.quick-amounts button{min-width:0}.quick-amounts{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-hidden{display:none}.mobile-rail-view{min-height:calc(100dvh - 158px);display:flex;flex-direction:column;background:#080d18}.mobile-rail-view .chat-tab,.mobile-rail-view .top-traders,.mobile-rail-view .tours-tab{flex:1}.mobile-tabs{height:48px;display:flex;width:100vw;max-width:100vw;overflow:hidden;border-top:1px solid var(--line);background:#111827;position:fixed;left:0;right:0;bottom:0;z-index:20}.mobile-tabs button{flex:1;justify-content:center;flex-direction:column;gap:2px;font-size:10px}.mobile-tabs .active{color:var(--green);border-top:2px solid var(--green)}}@media(max-width:380px){.status-pill{display:none}.brand{font-size:21px}.market-metrics{gap:12px}.live{font-size:13px}}.guide-link,.preview-user{height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:6px;font-size:12px;font-weight:900;text-transform:uppercase}.guide-link{color:#cbd5e1;border:0;background:transparent}.guide-link:hover{color:var(--green)}.preview-user{max-width:138px;overflow:hidden;color:#d9ffe7;border:1px solid rgba(34,197,94,.3);background:#22c55e1a;padding:0 12px;text-overflow:ellipsis;white-space:nowrap}.chart-toolbar{position:absolute;z-index:4;top:14px;left:16px;display:inline-flex;align-items:center;gap:7px;padding:6px;border:1px solid rgba(148,163,184,.16);border-radius:8px;background:#080d18d6;box-shadow:0 10px 30px #00000029;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.chart-market,.chart-timeframe,.chart-live{display:inline-flex;align-items:center;height:25px;border-radius:5px;font-size:11px;font-weight:900;letter-spacing:.02em;text-transform:uppercase}.chart-market{color:#e2e8f0;padding:0 8px}.chart-timeframe{color:#03120a;background:var(--green);padding:0 8px}.chart-live{gap:6px;color:#9fb0c8;padding:0 6px}.chart-live i{width:6px;height:6px;border-radius:999px;background:var(--green);box-shadow:0 0 0 4px #22c55e1f}.chart-caption{position:absolute;z-index:4;right:16px;bottom:13px;max-width:330px;padding:6px 8px;color:#8290a6;border:1px solid rgba(148,163,184,.12);border-radius:6px;background:#080d18c7;font-size:10px;line-height:1.35}.demo-copy{color:#fbbf24!important}.trade-disclaimer{margin:8px 0 0;color:#708098;font-size:10px;line-height:1.4;text-align:center}.chat-login{width:100%;height:40px;border:0;border-top:1px solid var(--line);color:#b3f5c7;background:#22c55e0d;font-size:12px;font-style:normal;font-weight:800}.chat-login:hover{background:#22c55e1c}.chat-compose input:disabled{cursor:not-allowed}.modal-layer{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:20px}.modal-scrim{position:absolute;inset:0;width:100%;height:100%;border:0;background:#020610b8;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.modal-card{position:relative;z-index:1;width:min(100%,510px);max-height:min(720px,calc(100dvh - 40px));overflow:auto;border:1px solid rgba(148,163,184,.18);border-radius:16px;background:linear-gradient(160deg,#152237,#0c1423 58%,#0a101c);box-shadow:0 24px 70px #0000007a}.modal-header{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid rgba(148,163,184,.13)}.modal-header span{display:block;margin-bottom:3px;color:var(--green);font-size:10px;font-weight:950;letter-spacing:.1em;text-transform:uppercase}.modal-header h2{margin:0;color:#f8fafc;font-size:20px;letter-spacing:-.02em}.modal-close{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;color:#cbd5e1;border:1px solid rgba(148,163,184,.22);border-radius:8px;background:#0f172ab8}.modal-close:hover{color:#fff;border-color:#22c55e8c}.modal-body{padding:20px}.auth-tabs,.cashier-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:18px;padding:4px;border:1px solid rgba(148,163,184,.15);border-radius:10px;background:#02061054}.auth-tabs button,.cashier-tabs button{height:36px;color:#9aa9bd;border:0;border-radius:7px;background:transparent;font-size:12px;font-weight:900;text-transform:uppercase}.auth-tabs button.active,.cashier-tabs button.active{color:#03120a;background:var(--green)}.auth-form{display:grid;gap:14px}.auth-form label{display:grid;gap:7px}.auth-form label>span{color:#cbd5e1;font-size:12px;font-weight:800}.auth-form em{color:#7d8ba0;font-style:normal;font-weight:500}.auth-form input{width:100%;height:46px;color:#f8fafc;border:1px solid #334155;border-radius:8px;outline:0;background:#080d18e6;padding:0 12px;font-size:15px}.auth-form input:focus{border-color:var(--green);box-shadow:0 0 0 3px #22c55e1f}.auth-form input::placeholder{color:#64748b}.form-error{margin:-3px 0 0;color:#ff9ca5;font-size:12px}.auth-submit,.cashier-disabled{height:46px;border:0;border-radius:8px;color:#03120a;background:var(--green);font-size:13px;font-weight:950;text-transform:uppercase}.auth-note{margin:14px 0 0;color:#8390a3;font-size:11px;line-height:1.45;text-align:center}.guide-list{display:grid;gap:10px}.guide-step{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;padding:12px;border:1px solid rgba(148,163,184,.13);border-radius:10px;background:#080d187a}.guide-step>span{width:40px;height:40px;display:grid;place-items:center;color:#052c14;border-radius:8px;background:#86efac;font-size:11px;font-weight:950}.guide-step strong,.guide-step p{display:block}.guide-step strong{margin-top:1px;color:#f1f5f9;font-size:14px}.guide-step p{margin:4px 0 0;color:#9aa9bd;font-size:12px;line-height:1.4}.guide-safe-note,.cashier-guard{display:flex;gap:10px;align-items:flex-start;margin-top:16px;padding:12px;color:#b9ecc8;border:1px solid rgba(34,197,94,.25);border-radius:10px;background:#22c55e12;font-size:12px;line-height:1.42}.guide-safe-note svg,.cashier-guard svg{flex:0 0 auto;margin-top:1px;color:var(--green)}.cashier-copy h3{margin:0;color:#f8fafc;font-size:16px}.cashier-copy ol{display:grid;gap:9px;margin:14px 0 0;padding-left:20px;color:#b8c4d4;font-size:13px;line-height:1.4}.cashier-guard p{margin:0}.cashier-disabled{width:100%;margin-top:14px;color:#9da9b9;border:1px solid rgba(148,163,184,.2);background:#94a3b81a;cursor:not-allowed}.toast{position:fixed;z-index:120;right:18px;bottom:18px;max-width:min(390px,calc(100vw - 36px));display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:11px 11px 11px 13px;color:#ddfce6;border:1px solid rgba(34,197,94,.33);border-radius:10px;background:#08190ff5;box-shadow:0 14px 40px #00000059}.toast>svg{color:var(--green)}.toast p{margin:0;font-size:12px;line-height:1.35}.toast button{width:26px;height:26px;display:grid;place-items:center;color:#b8c4d4;border:0;border-radius:6px;background:transparent}.toast button:hover{color:#fff;background:#ffffff14}@media(max-width:860px){.preview-user{display:none}.chart-toolbar{top:10px;left:10px}.chart-live{display:none}.chart-caption{right:10px;bottom:8px;max-width:230px;font-size:9px}.modal-layer{align-items:end;padding:0}.modal-card{width:100%;max-height:min(790px,calc(100dvh - 10px));border-right:0;border-bottom:0;border-left:0;border-radius:18px 18px 0 0}.modal-header,.modal-body{padding-right:16px;padding-left:16px}.toast{right:12px;bottom:58px;max-width:calc(100vw - 24px)}}
