:root{
  font-family:Inter,Segoe UI,Arial,sans-serif;color:#d1d4dc;background:#0d1117;
  --panel:#131722;--surface:#11151e;--border:#2a2e39;--muted:#787b86;
  --blue:#2962ff;--blue2:#4678ff;--green:#26a69a;--red:#ef5350;--gold:#f0b90b;--chart-bg:#131722;--grid:#202531;--axis-text:#787b86;--bull-body:#26a69a;--bull-wick:#26a69a;--bull-border:#26a69a;--bear-body:#ef5350;--bear-wick:#ef5350;--bear-border:#ef5350;--support:#26a69a;--resistance:#ef5350;--horizontal:#f0b90b;--trend:#4e8cff;--fib-line:#42b8e6;--fib-text:#a8dff4;--position:#d1d4dc;--bos:#42a5f5;--choch:#ffb74d
}
*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}button,select,input{font:inherit}
.topbar{height:50px;display:flex;align-items:center;gap:8px;padding:0 10px;border-bottom:1px solid var(--border);background:var(--surface)}
.brand{display:flex;align-items:center;gap:8px;margin-right:10px;white-space:nowrap}.logo{display:grid;place-items:center;width:29px;height:29px;border-radius:8px;background:linear-gradient(135deg,#2962ff,#7b61ff);font-weight:800;color:white;box-shadow:0 5px 16px rgba(41,98,255,.28)}.version{font-size:11px;color:#9ca6bc}
button,select,input{border:1px solid var(--border);background:#1b2030;color:#d1d4dc;border-radius:6px;padding:6px 10px;outline:none}button{cursor:pointer}button:hover,select:hover,input:hover{background:#252b3d;border-color:#3a4050}button:disabled{opacity:.45;cursor:not-allowed}.spacer{flex:1}.danger{color:#ff8c8c}.primary{background:#203a7d;border-color:#3159bd}.primary:hover{background:#294998}
.timeframes{display:flex;gap:2px}.timeframes button{border:none;background:transparent;padding:7px 8px}.timeframes button.active{color:#fff;background:var(--blue)}
.modeSwitch{display:flex;border:1px solid var(--border);border-radius:7px;overflow:hidden;background:#171c29}.modeSwitch button{border:0;border-radius:0;background:transparent;padding:6px 9px}.modeSwitch button.active{background:#263457;color:#fff}.liveDot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#596173;margin-right:5px}.modeSwitch button.active .liveDot{background:#28c89b;box-shadow:0 0 0 4px rgba(40,200,155,.12)}
.countdown{font-variant-numeric:tabular-nums;min-width:62px;padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:#171d29;text-align:center;color:#cfd6e5}.alertButton b{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;margin-left:4px;border-radius:9px;background:#314b86;color:#fff;font-size:11px}
main{display:flex;height:calc(100% - 50px)}.toolbar{width:48px;border-right:1px solid var(--border);background:var(--surface);padding:8px 5px;display:flex;flex-direction:column;gap:6px}.tool{font-size:20px;padding:7px 4px;background:transparent}.tool.active{background:#2a3350;color:#fff;border-color:#4d65ad}.toolDivider{height:1px;background:var(--border);margin:3px 2px}.fibTool{font-size:17px;font-weight:800}.dangerTool{color:#ff8585}
.workspace{flex:1;display:flex;flex-direction:column;min-width:0;position:relative}.chartHeader{height:40px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-bottom:1px solid var(--border);font-size:13px;background:var(--panel)}.chartIdentity{min-width:0;display:flex;align-items:center}.chartHeader #ohlc{margin-left:14px;color:var(--muted);white-space:nowrap}#status{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-left:20px}.liveBadge{font-size:10px;margin-left:9px;padding:3px 6px;border-radius:9px;border:1px solid #315f55;background:#16342f;color:#8ee6d2}.liveBadge.offline{border-color:#5e3940;background:#301b21;color:#ffadb5}.liveBadge.connecting{border-color:#5b532f;background:#302b16;color:#f2df8f}
#chartWrap{position:relative;flex:1;min-height:0;background:var(--panel)}canvas{display:block;width:100%;height:100%;cursor:crosshair;touch-action:none;user-select:none}.crosshairLabel{position:absolute;display:none;pointer-events:none;background:#242a37;border:1px solid #4b5262;padding:5px 7px;border-radius:4px;font-size:11px;color:#fff;white-space:nowrap;box-shadow:0 4px 14px rgba(0,0,0,.25);z-index:4}
.loading,.emptyState{position:absolute;inset:0;display:none;align-items:center;justify-content:center;gap:10px;background:rgba(19,23,34,.68);color:#b9c0cc;z-index:8}.loading.show,.emptyState.show{display:flex}.loading span{width:16px;height:16px;border:2px solid #536079;border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.objectPanel{position:absolute;right:82px;top:14px;width:286px;max-height:calc(100% - 28px);overflow:auto;display:none;background:rgba(20,25,37,.97);border:1px solid #394154;border-radius:9px;box-shadow:0 12px 35px rgba(0,0,0,.36);padding:10px;z-index:6}.objectPanel.show{display:block}.objectPanelHeader{display:flex;align-items:center;justify-content:space-between}.objectPanelHeader button{width:27px;height:27px;padding:0;font-size:18px}.objectPanel p{font-size:12px;color:#9aa3b5;line-height:1.45;margin:8px 0 10px}.deleteObject{width:100%;margin-top:10px;color:#ff9b9b;background:#2a1b22;border-color:#55303b}.positionInfo,.linkedAlert{display:none;padding:8px;border-radius:6px;background:#171d2a;border:1px solid #30394d;font-size:12px;margin-bottom:8px}.positionInfo.show,.linkedAlert.show{display:block}.linkedAlert{color:#f3d984;border-color:#5c5131}.fibEditor{display:none}.fibEditor.show{display:block}.fibEditorTitle{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:700;margin-bottom:7px}.fibEditorTitle button{padding:4px 7px;font-size:11px}.fibLevels{display:flex;flex-direction:column;gap:5px}.fibLevelRow{display:grid;grid-template-columns:24px 1fr 30px;gap:6px;align-items:center}.fibLevelRow input[type=checkbox]{width:16px;height:16px;accent-color:var(--blue);margin:0}.fibLevelRow input[type=number]{width:100%;padding:5px 7px}.fibLevelRow button{padding:4px 0;color:#ff9696}
.sidePanel{position:absolute;right:12px;top:12px;bottom:12px;width:365px;display:none;flex-direction:column;background:rgba(17,22,33,.98);border:1px solid #3a4254;border-radius:10px;z-index:7;box-shadow:0 14px 40px rgba(0,0,0,.4)}.sidePanel.show{display:flex}.sidePanelHeader{display:flex;justify-content:space-between;align-items:flex-start;padding:12px;border-bottom:1px solid var(--border)}.sidePanelHeader div{display:flex;flex-direction:column;gap:3px}.sidePanelHeader span{font-size:11px;color:var(--muted)}.sidePanelHeader button{width:28px;height:28px;padding:0;font-size:18px}.alertsList{padding:9px;overflow:auto;display:flex;flex-direction:column;gap:8px}.alertEmpty{padding:22px;text-align:center;color:#7e8798}.alertCard{border:1px solid #30384b;border-radius:8px;padding:9px;background:#161c29}.alertCardTop{display:flex;align-items:center;justify-content:space-between;gap:8px}.alertCardTitle{font-weight:700}.alertCardMeta{font-size:11px;color:#8f99ad;margin-top:4px}.alertCardActions{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.alertCardActions button{padding:4px 7px;font-size:11px}.alertCard.disabled{opacity:.62}
.replaybar{min-height:54px;display:flex;align-items:center;gap:9px;padding:6px 10px;border-top:1px solid var(--border);background:var(--surface)}.replaybar.hidden{display:none}.replayInputGroup,.replayControls{display:flex;align-items:center;gap:6px}.replayInputGroup{flex-wrap:nowrap}.replayLabel{font-size:11px;color:#9aa3b5;white-space:nowrap}.replayInputGroup input[type=text]{width:112px}.replayInputGroup input[type=time]{width:94px;color-scheme:dark}.replaybar>input[type=range]{flex:1;min-width:120px;padding:0;accent-color:var(--blue)}.replaybar>span{min-width:190px;text-align:right;color:var(--muted);font-size:12px}.replayNotice{display:none;position:absolute;left:58px;bottom:12px;padding:7px 10px;border-radius:6px;background:#3b2024;border:1px solid #793d45;color:#ffc1c1;font-size:12px;z-index:12}.replayNotice.show{display:block}
.modalBackdrop{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(4,7,12,.66);z-index:30}.modalBackdrop.show{display:flex}.modal{display:none;width:min(480px,calc(100vw - 30px));max-height:calc(100vh - 40px);overflow:auto;background:#151b28;border:1px solid #3b4458;border-radius:11px;box-shadow:0 22px 70px rgba(0,0,0,.55);padding:14px}.modal.show{display:block}.modalHeader{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.modalHeader strong{font-size:16px}.modalHeader button{width:29px;height:29px;padding:0;font-size:18px}.modal p{color:#aab3c3;font-size:13px;line-height:1.5}.radioCards{display:grid;grid-template-columns:1fr 1fr;gap:8px}.radioCard{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid #333c50;border-radius:8px;background:#181f2e;cursor:pointer}.radioCard:has(input:checked){border-color:#537ad9;background:#1e2c4b}.fixedRule{margin:11px 0;padding:9px;border-left:3px solid #466bc4;background:#18233b;font-size:12px;color:#b7c7ed}.checkRow,.switchRow{display:flex;align-items:center;gap:8px;font-size:13px}.checkRow input,.switchRow input{width:17px;height:17px;accent-color:var(--blue)}.modalActions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.settingsModal{width:min(650px,calc(100vw - 30px))}.formGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.formGrid label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#aeb7c7}.formGrid .wide{grid-column:1/-1}.formGrid input,.formGrid select{width:100%}.formGrid small{color:#717b8e}.settingsStatus{min-height:35px;margin-top:10px;padding:8px;border-radius:6px;background:#111722;color:#929caf;font-size:12px;white-space:pre-wrap}
@media(max-width:1300px){.version{display:none}.topbar{overflow-x:auto}.countdown{display:none}}
@media(max-width:1180px){.replaybar{flex-wrap:wrap}.replaybar>input[type=range]{order:3;flex-basis:65%}.replaybar>span{order:4}.objectPanel{right:18px}.sidePanel{width:330px}}
@media(max-width:900px){.chartHeader #ohlc{display:none}.brand{margin-right:2px}.replayLabel{display:none}.objectPanel{width:250px}.formGrid{grid-template-columns:1fr}.formGrid .wide{grid-column:auto}}

/* 0.0.5 authentication, trade and account UI */
.appShell.locked{visibility:hidden}.appShell{height:100%}
.authGate{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:radial-gradient(circle at 50% 30%,#1c2740,#090c12 60%)}
.authGate.hidden{display:none}.authCard{width:min(390px,calc(100vw - 28px));padding:28px;border:1px solid #30384a;border-radius:16px;background:#111722;box-shadow:0 25px 80px rgba(0,0,0,.55);text-align:center}.authLogo{width:58px;height:58px;margin:0 auto 12px;display:grid;place-items:center;border-radius:16px;background:linear-gradient(135deg,#2962ff,#7b61ff);font-size:30px;font-weight:900;color:#fff}.authCard h1{margin:8px 0}.authCard p{color:#aeb7c9}.authCard form{display:grid;gap:12px;margin:20px 0;text-align:left}.authCard label{display:grid;gap:6px}.authCard input{font-size:22px;letter-spacing:8px;text-align:center;padding:12px}.authCard button{width:100%;padding:11px}.authStatus{min-height:24px;color:#ff9c9c}.authStatus.ok{color:#7ee1bd}.authCard small{display:block;color:#737f94;line-height:1.45}.hidden{display:none!important}
.structureToggle.active{color:#9ed0ff;border-color:#4377b4;background:#1e3655}.tradeModeButton.on{color:#72e6b6;border-color:#2c9168;background:#173b31}.tradeModeButton.expiring{color:#ffd180;border-color:#987431}
.tradeEditor{display:none;margin:10px 0;padding:10px;border:1px solid var(--border);border-radius:8px;background:#151b28;gap:8px}.tradeEditor.show{display:grid;grid-template-columns:1fr 95px}.tradeEditor label{display:grid;gap:4px;font-size:12px;color:#aeb7c9}.tradeEditor button,.tradeEditor small{grid-column:1/-1}.tradeEditor small{color:#9ca6bc;line-height:1.35}.tradeEditor.locked{opacity:.72}.tradeEditor.locked select,.tradeEditor.locked input,.tradeEditor.locked button{pointer-events:none}
.accountPanel{position:absolute;right:14px;bottom:14px;z-index:9;width:285px;max-height:48%;overflow:hidden;border:1px solid #333b4d;border-radius:10px;background:rgba(17,22,33,.96);box-shadow:0 10px 35px rgba(0,0,0,.35);backdrop-filter:blur(8px)}.accountPanel.collapsed{width:245px}.accountPanel.collapsed .accountDetails{display:none}.accountPanelHeader{height:36px;display:flex;align-items:center;justify-content:space-between;padding:0 10px;border-bottom:1px solid var(--border)}.accountPanelHeader button{border:0;background:transparent;padding:2px 6px}.accountSummary{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;padding:10px;font-size:12px}.accountMetric{display:flex;justify-content:space-between;gap:7px}.accountMetric b{font-variant-numeric:tabular-nums}.profitPlus{color:#4fd2a3}.profitMinus{color:#ff7673}.accountDetails{max-height:270px;overflow:auto;padding:0 8px 9px}.accountTrade{padding:8px;margin-top:6px;border:1px solid #293246;border-radius:7px;background:#151b27;font-size:11px}.accountTradeTop{display:flex;justify-content:space-between;font-weight:700}.accountTradeMeta{margin-top:4px;color:#9ca6bc;line-height:1.4}
.themeModal{width:min(780px,calc(100vw - 30px))}.presetRow{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.colorGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;max-height:340px;overflow:auto}.colorGrid label{display:grid;grid-template-columns:1fr 44px;align-items:center;gap:5px;font-size:12px;color:#abb5c8;border:1px solid var(--border);padding:7px;border-radius:7px}.colorGrid input[type=color]{width:42px;height:28px;padding:2px}.structureSettings{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.structureSettings label{display:grid;gap:4px;font-size:12px}.structureSettings label:has(input[type=checkbox]){display:flex;align-items:center}.compactModal{width:min(430px,calc(100vw - 30px))}.compactModal>input{width:100%;font-size:20px;letter-spacing:7px;text-align:center}.orderConfirmBody{display:grid;gap:8px;padding:8px 0}.orderConfirmRow{display:flex;justify-content:space-between;padding:7px;border-bottom:1px solid #252c3b}.orderConfirmRow strong{font-variant-numeric:tabular-nums}
.structureLabel{font:700 11px Segoe UI}.topbar{overflow-x:auto;overflow-y:hidden}.topbar::-webkit-scrollbar{height:3px}.objectPanel{max-height:calc(100% - 28px);overflow:auto}
@media(max-width:1100px){.brand .version{display:none}.topbar{gap:5px}.topbar button,.topbar select{padding:5px 7px}.colorGrid{grid-template-columns:repeat(2,1fr)}}
