:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--bg:#07101a;--panel:#0c1725;--panel2:#0a1420;--line:#1b2a3e;--line2:#263a55;--text:#edf4ff;--muted:#8191a9;--green:#36d26f;--green2:#20b85a;--blue:#4f8cff;--red:#ff5d6c;--amber:#f0b44d;--purple:#b06cff;--shadow:0 14px 40px rgba(0,0,0,.28)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 20% -10%,#0f2538 0,transparent 34%),var(--bg);color:var(--text);min-height:100vh}button,input,select{font:inherit}button{color:inherit}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{max-width:2200px;margin:0 auto;padding:0 14px 20px}.card{background:linear-gradient(180deg,rgba(14,27,43,.98),rgba(10,20,32,.98));border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}
.app-header{height:72px;display:grid;grid-template-columns:minmax(270px,1fr) auto minmax(270px,1fr);align-items:center;gap:18px;border-bottom:1px solid var(--line);margin-bottom:12px}.brand{display:flex;align-items:center;gap:12px}.brand h1{font-size:1.12rem;margin:0}.brand p{font-size:.72rem;color:var(--muted);margin:2px 0 0}.brand-mark{display:flex;align-items:flex-end;gap:3px;width:32px;height:32px;padding:4px;border-radius:8px;background:rgba(54,210,111,.1);border:1px solid rgba(54,210,111,.28)}.brand-mark span{display:block;width:6px;background:var(--green);border-radius:2px 2px 0 0}.brand-mark span:nth-child(1){height:11px}.brand-mark span:nth-child(2){height:18px}.brand-mark span:nth-child(3){height:24px}.top-nav{display:flex;height:100%;align-items:stretch}.nav-tab{border:0;border-bottom:3px solid transparent;background:transparent;color:#aab7ca;padding:0 18px;text-transform:uppercase;font-size:.74rem;letter-spacing:.08em;cursor:pointer}.nav-tab:hover,.nav-tab.active{color:var(--green);border-bottom-color:var(--green)}.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.status-pill,.pill{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:8px 11px;font-size:.78rem;border:1px solid var(--line2);background:#0a1522}.status-pill.connected{color:#a8f7bf;border-color:rgba(54,210,111,.28);background:rgba(31,148,74,.12)}.status-pill.disconnected{color:#ffc0c7;border-color:rgba(255,93,108,.3);background:rgba(164,36,50,.12)}.status-dot{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 10px currentColor}.status-dot.small{width:6px;height:6px;color:var(--green)}
.command-bar{display:flex;align-items:end;gap:9px;padding:10px 12px;margin-bottom:12px;position:relative;z-index:30}.compact-search{min-width:245px;max-width:360px;flex:1}.search-row{display:flex;gap:6px}.search-row input,.select-control select,.advanced-content input,.advanced-content select,.forecast-inline input{background:#07111d;border:1px solid var(--line2);border-radius:8px;color:#fff;padding:8px 10px;outline:none}.search-row input{min-width:0;width:100%}.search-row input:focus,.select-control select:focus,.advanced-content input:focus{border-color:#3f6fa7;box-shadow:0 0 0 3px rgba(79,140,255,.1)}button{border:1px solid var(--line2);background:#102035;border-radius:8px;padding:8px 11px;cursor:pointer}button:hover{background:#162a45;border-color:#3a5678}.primary-btn,.primary-tool{border-color:rgba(54,210,111,.42);background:rgba(35,159,78,.15);color:#d8ffe3}.secondary-btn{background:#0e1b2d}.icon-btn{display:inline-flex;align-items:center;gap:7px}.market-chip{display:flex;align-items:center;gap:8px;padding:5px 11px;min-width:120px}.market-chip strong{display:block;font-size:.9rem}.market-chip small{display:block;color:var(--muted);font-size:.62rem;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coin-dot{display:grid;place-items:center;width:29px;height:29px;background:#f59e0b;color:#fff;border-radius:50%;font-weight:800}.select-control{display:grid;gap:4px;color:var(--muted);font-size:.68rem}.select-control select{min-width:116px;padding:7px 9px}.segmented{display:flex;border:1px solid var(--line2);border-radius:8px;overflow:hidden;background:#07111d}.segmented button{border:0;border-right:1px solid var(--line);border-radius:0;background:transparent;padding:8px 10px;color:#a9b5c7}.segmented button:last-child{border-right:0}.segmented button.active{background:rgba(54,210,111,.18);color:#bcffd0}.command-status{margin-left:auto}.market-search-wrap{position:relative}.market-results{position:absolute;top:calc(100% + 6px);left:0;right:0;max-height:360px;overflow:auto;background:#07111d;border:1px solid var(--line2);border-radius:9px;box-shadow:0 20px 50px rgba(0,0,0,.55);z-index:100}.market-result{display:flex;justify-content:space-between;gap:10px;width:100%;padding:10px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;text-align:left}.market-result:hover{background:#102035}.market-result span{color:var(--muted);font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.muted{color:var(--muted);font-size:.78rem}
.workspace{display:grid;grid-template-columns:220px minmax(0,1fr) 250px;gap:12px;align-items:start}.left-rail,.right-rail{display:grid;gap:12px;position:sticky;top:8px}.market-overview,.drawing-help,.mtf-compact,.setup-card,.quick-stats,.alerts-panel,.recent-lines-card{padding:13px}.section-kicker{text-transform:uppercase;letter-spacing:.08em;font-size:.66rem;color:#9ba9bc;margin-bottom:9px}.market-overview h2{font-size:1rem;margin:0}.market-overview>p{margin:4px 0 10px;color:var(--muted);font-size:.7rem}.hero-price{font-size:1.65rem;font-weight:800;color:var(--green);margin-bottom:12px}.overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.overview-grid span,.mtf-compact span,.quick-stats span{display:block;color:var(--muted);font-size:.67rem}.overview-grid strong,.mtf-compact strong,.quick-stats strong{display:block;margin-top:2px;font-size:.84rem}.mini-price{color:#a7b5ca}.drawing-help{display:grid;gap:12px}.help-step{display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:start}.help-step>b{display:grid;place-items:center;width:25px;height:25px;border-radius:7px;background:rgba(54,210,111,.12);color:var(--green)}.help-step strong{display:block;font-size:.8rem}.help-step span{display:block;color:var(--muted);font-size:.69rem;line-height:1.35;margin-top:2px}.mtf-compact{display:grid;gap:8px}.mtf-compact>div{display:grid;grid-template-columns:36px 1fr;align-items:center;gap:4px;padding:7px 0;border-bottom:1px solid var(--line)}.mtf-compact>div:last-child{border-bottom:0}.mtf-compact small{grid-column:2;color:var(--muted);font-size:.64rem}.mtf-summary{padding-top:10px!important}
.center-stage{min-width:0}.chart-card{overflow:hidden}.chart-toolbar{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px;border-bottom:1px solid var(--line);background:#0a1522}.tool-cluster{display:flex;gap:5px;flex-wrap:wrap}.tool-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;font-size:.74rem;background:#0e1b2d}.square-tool{width:34px;justify-content:center}.pane{border-bottom:1px solid var(--line)}.pane:last-child{border-bottom:0}.pane-title{display:flex;justify-content:space-between;gap:8px;padding:6px 10px 2px;color:#a9b7ca;font-size:.69rem}.pane-title strong{color:#dfe9f7}.pane-title span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chart{width:100%}.chart-wrap{position:relative}.pane-price .chart{height:min(58vh,650px);min-height:470px}.pane-small .chart{height:125px}.pane-macd .chart{height:145px}.drawing-overlay{position:absolute;inset:0;width:100%;height:100%;z-index:8;pointer-events:none}.drawing-overlay.drawing-active{pointer-events:auto;cursor:crosshair;touch-action:none}.manual-drawing{pointer-events:stroke;cursor:pointer;stroke-linecap:round}.manual-drawing.hit{stroke:transparent;stroke-width:14}.drawing-handle{pointer-events:all;cursor:grab;fill:#07111d;stroke:#fff;stroke-width:2}.drawing-handle:active{cursor:grabbing}.drawing-preview{stroke:var(--blue);stroke-width:2;stroke-dasharray:5 5;pointer-events:none}.drawing-editor{position:absolute;z-index:20;right:14px;top:14px;width:180px;padding:10px;background:#07111df2;border:1px solid #365275;border-radius:9px;box-shadow:0 12px 30px rgba(0,0,0,.5)}.drawing-editor .editor-title{font-weight:700;font-size:.78rem;margin-bottom:8px}.drawing-editor label{display:flex;justify-content:space-between;align-items:center;gap:8px;color:#aebbd0;font-size:.7rem;margin:7px 0}.drawing-editor input[type=color]{width:48px;height:28px;padding:1px;border:1px solid var(--line2);background:#0e1b2d;border-radius:6px}.drawing-editor select{background:#0e1b2d;color:#fff;border:1px solid var(--line2);border-radius:6px;padding:5px}.danger-btn{width:100%;background:rgba(255,93,108,.12);border-color:rgba(255,93,108,.35);color:#ffc4ca}.chart-footer-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;background:#08131f}.draw-status-wrap{display:flex;align-items:center;gap:7px;min-width:0}.forecast-inline{display:flex;align-items:end;gap:5px}.forecast-inline label{display:grid;gap:3px;color:var(--muted);font-size:.62rem}.forecast-inline input{width:100px;padding:6px 8px}.forecast-inline button{padding:6px 9px;font-size:.72rem}.signal-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:8px}.signal-card{padding:10px 11px;min-width:0}.signal-card span{display:block;color:var(--muted);font-size:.66rem}.signal-card strong{display:block;margin-top:2px;font-size:.82rem}.signal-card small{display:block;color:#71819a;font-size:.62rem;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}.section-heading>span:first-child,.section-heading>strong{font-size:.82rem}.bias-badge{font-size:.64rem;padding:5px 7px;border-radius:999px;background:#132238;border:1px solid var(--line2)}.score-row{display:flex;align-items:baseline;gap:8px}.score-row strong{font-size:2rem;color:var(--green)}.score-row small{color:var(--muted)}.score-meter{height:8px;border-radius:999px;background:#07111d;border:1px solid var(--line);margin:9px 0;overflow:hidden}.score-meter>div{height:100%;width:0;background:linear-gradient(90deg,#e14b5c,#f1b94e,#36d26f);transition:width .2s}.score-big-row{display:flex;justify-content:space-between;font-size:.7rem;color:var(--muted);padding-bottom:8px}.score-big-row strong{color:#eaf2ff}.reason-list{display:grid;gap:5px;max-height:185px;overflow:auto}.reason{display:flex;justify-content:space-between;gap:8px;padding:6px 7px;background:#07111d;border:1px solid #142238;border-radius:6px;font-size:.66rem}.reason .positive,.bullish{color:#7ff0a3!important}.reason .negative,.bearish{color:#ff8f9a!important}.reason .neutral{color:#b3c0d2}.warning{color:#ffd17c!important}.quick-stats>div:last-child{display:grid;gap:2px}.quick-stats small{color:var(--muted);font-size:.65rem}.alerts-panel{min-height:180px}.alert-log{max-height:225px;overflow:auto;display:grid;gap:6px}.alert-item{padding:7px 8px;border:1px solid var(--line);background:#07111d;border-radius:7px}.alert-item strong{font-size:.72rem}.alert-item small{display:block;color:var(--muted);font-size:.62rem;margin-top:2px}.alert-empty{color:var(--muted);font-size:.7rem;padding:14px 2px;text-align:center}.full-width{width:100%;margin-top:8px}.recent-lines{display:grid;gap:6px}.recent-line{display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:7px;padding:7px;background:#07111d;border:1px solid var(--line);border-radius:7px}.recent-line .swatch{width:8px;height:24px;border-radius:4px}.recent-line strong{font-size:.7rem}.recent-line small{display:block;color:var(--muted);font-size:.6rem}.recent-line button{padding:4px 6px;font-size:.65rem;background:transparent}
.advanced-panel{margin-top:12px}.advanced-panel summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 15px;cursor:pointer;list-style:none}.advanced-panel summary::-webkit-details-marker{display:none}.advanced-panel summary span{font-weight:700}.advanced-panel summary small{color:var(--muted)}.advanced-content{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 15px 15px;border-top:1px solid var(--line)}.settings-block h3{font-size:.8rem;margin:12px 0 8px}.toggle-group{display:flex;flex-wrap:wrap;gap:6px}.check{display:flex;align-items:center;gap:5px;padding:6px 8px;border-radius:7px;background:#07111d;border:1px solid var(--line);font-size:.7rem;color:#cad5e5}.check input{accent-color:var(--green)}.inline-settings{display:flex;flex-wrap:wrap;gap:7px;align-items:end;margin-top:8px}.inline-settings label{display:grid;gap:4px;color:var(--muted);font-size:.65rem}.inline-settings input{width:78px;padding:6px 7px}.app-footer{display:flex;justify-content:space-between;gap:12px;padding:18px 4px 3px;color:#61728b;font-size:.67rem}.hidden-pane{display:none}.neutral{color:#c7d2e5;background:#152034}
@media(max-width:1500px){.workspace{grid-template-columns:195px minmax(0,1fr) 220px}.signal-strip{grid-template-columns:repeat(3,1fr)}.nav-tab{padding:0 12px}.app-header{grid-template-columns:minmax(240px,1fr) auto minmax(220px,1fr)}}
@media(max-width:1180px){.workspace{grid-template-columns:1fr}.left-rail,.right-rail{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.left-rail .drawing-help,.left-rail .mtf-compact{display:none}.right-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.recent-lines-card{display:none}.app-header{grid-template-columns:1fr auto}.top-nav{display:none}.command-bar{overflow-x:auto;align-items:center}.command-status{display:none}.pane-price .chart{height:58vh;min-height:430px}}
@media(max-width:760px){.app-shell{padding:0 8px 12px}.app-header{height:auto;min-height:62px;padding:9px 2px}.brand h1{font-size:.95rem}.brand p{display:none}.brand-mark{width:29px;height:29px}.header-actions .icon-btn span{display:none}.status-pill{font-size:.7rem;padding:7px 8px}.command-bar{display:grid;grid-template-columns:1fr auto auto;gap:7px;padding:8px}.compact-search{grid-column:1/-1;max-width:none}.search-row button{display:none}.market-chip{padding:3px 5px}.market-chip small{display:none}.select-control{font-size:0}.select-control select{min-width:102px;font-size:.72rem;padding:7px}.range-segmented{grid-column:1/-1;display:grid;grid-template-columns:repeat(6,1fr)}.segmented button{padding:8px 5px;font-size:.68rem}.command-bar>#loadHistory,.command-bar>#refreshNow{display:none}.left-rail{display:none}.right-rail{grid-template-columns:1fr 1fr}.alerts-panel,.recent-lines-card{display:none}.center-stage{width:100%;min-width:0}.chart-toolbar{overflow-x:auto;flex-wrap:nowrap}.tool-cluster{flex-wrap:nowrap}.tool-btn{padding:8px;flex:0 0 auto}.tool-btn span{display:none}.primary-tool span{display:inline}.right-tools{margin-left:auto}.pane-price .chart{height:56vh;min-height:390px}.pane-small .chart{height:105px}.pane-macd .chart{height:120px}.pane-title{font-size:.62rem}.chart-footer-controls{align-items:flex-start;flex-direction:column}.forecast-inline{width:100%}.forecast-inline label{flex:1}.forecast-inline input{width:100%}.signal-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.signal-card{padding:8px}.signal-card small{display:none}.setup-card{grid-column:1/-1}.quick-stats{display:none}.advanced-content{grid-template-columns:1fr}.advanced-panel summary small{display:none}.drawing-editor{right:8px;top:8px;width:160px}.app-footer{flex-direction:column;gap:3px}.app-footer span:nth-child(2){order:3}}
@media(max-width:430px){.right-rail{display:block}.setup-card{margin-top:8px}.signal-strip{grid-template-columns:repeat(2,1fr)}.pane-price .chart{height:52vh;min-height:350px}.brand{gap:8px}.status-pill{max-width:115px;overflow:hidden;text-overflow:ellipsis}.forecast-inline{display:none}.drawing-help{display:none}}


/* Indicator quick panel */
.chart-card{position:relative}
.indicator-popover{position:absolute;z-index:40;right:52px;top:52px;width:min(410px,calc(100% - 24px));padding:12px;background:rgba(7,17,29,.98);border:1px solid #29415f;border-radius:12px;box-shadow:0 20px 50px rgba(0,0,0,.55);backdrop-filter:blur(12px)}
.indicator-popover[hidden]{display:none}
.indicator-popover-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.indicator-popover-head strong{display:block;font-size:.86rem}.indicator-popover-head small{display:block;color:var(--muted);font-size:.66rem;margin-top:2px}.compact-icon{padding:4px 8px;font-size:1rem}
.indicator-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:10px}.indicator-switch{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:#0b1726;color:#dce7f7;font-size:.73rem;cursor:pointer}.indicator-switch:has(input:checked){border-color:rgba(54,210,111,.45);background:rgba(54,210,111,.08)}.indicator-switch input{accent-color:var(--green);width:15px;height:15px}.settings-note{color:var(--muted);font-size:.72rem;line-height:1.45;margin:9px 0}

/* Drawing UX */
.drawing-overlay.drawing-active{pointer-events:auto;cursor:crosshair;touch-action:none;user-select:none;-webkit-user-select:none}
.manual-drawing.hit{stroke:transparent;stroke-width:24;pointer-events:stroke;touch-action:none}
.manual-drawing:not(.hit){pointer-events:stroke;touch-action:none}
.drawing-handle{r:8;pointer-events:all;touch-action:none}
.drawing-preview{stroke:var(--blue);stroke-width:2.5;stroke-dasharray:6 5;pointer-events:none;filter:drop-shadow(0 0 4px rgba(79,140,255,.45))}
.drawing-start-marker{fill:#07111d;stroke:var(--blue);stroke-width:2.5;pointer-events:none}
.active-tool{border-color:rgba(54,210,111,.7)!important;background:rgba(54,210,111,.12)!important;color:#dffff0!important}

@media(max-width:760px){
  .indicator-popover{position:fixed;left:8px;right:8px;top:auto;bottom:max(8px,env(safe-area-inset-bottom));width:auto;max-height:72vh;overflow:auto;border-radius:15px;z-index:100}
  .indicator-grid{grid-template-columns:1fr 1fr}
  .drawing-overlay.drawing-active{touch-action:none}
  .manual-drawing.hit{stroke-width:32}
  .drawing-handle{r:10}
  .drawing-editor{position:fixed;left:8px;right:8px;top:auto;bottom:max(8px,env(safe-area-inset-bottom));width:auto;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px;z-index:110}
  .drawing-editor[hidden]{display:none}
  .drawing-editor .editor-title{grid-column:1/-1;margin:0}.drawing-editor label{margin:0}.drawing-editor .danger-btn{grid-column:1/-1}
}
@media(max-width:430px){.indicator-grid{grid-template-columns:1fr}.indicator-popover{max-height:78vh}}


/* Advanced settings indicator toggles */
.settings-indicator-toggles{display:flex;flex-wrap:wrap;gap:7px;margin:9px 0 4px}.settings-indicator-toggles .check{min-width:118px}.settings-indicator-toggles .check:has(input:checked){border-color:rgba(54,210,111,.45);background:rgba(54,210,111,.08);color:#dcffe6}

/* Coinbase/TradingView-like drawing interaction */
.drawing-overlay{pointer-events:none}
.drawing-overlay.drawing-active{pointer-events:auto;cursor:crosshair;touch-action:none;overscroll-behavior:contain}
.drawing-overlay .manual-drawing,.drawing-overlay .drawing-handle{pointer-events:none}
.drawing-handle{fill:#07111d;stroke:#f3f7ff;stroke-width:2.5;filter:drop-shadow(0 0 5px rgba(79,140,255,.65))}
.drawing-preview{stroke:#6ea1ff;stroke-width:2.5;stroke-dasharray:none;filter:drop-shadow(0 0 5px rgba(79,140,255,.55))}
.drawing-preview-guide{stroke:rgba(110,161,255,.28);stroke-width:1;stroke-dasharray:4 5;pointer-events:none}
.drawing-start-marker,.drawing-preview-marker{fill:#07111d;stroke:#6ea1ff;stroke-width:2.5;pointer-events:none}
.chart-wrap.drawing-mode::after{content:'Tap/click start • move to preview • tap/click end';position:absolute;left:50%;top:10px;transform:translateX(-50%);z-index:18;padding:6px 10px;border-radius:999px;background:rgba(5,13,23,.88);border:1px solid rgba(79,140,255,.35);color:#dce9ff;font-size:.68rem;pointer-events:none;white-space:nowrap;box-shadow:0 8px 24px rgba(0,0,0,.3)}
@media(max-width:760px){.settings-indicator-toggles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.settings-indicator-toggles .check{min-width:0}.chart-wrap.drawing-mode::after{top:8px;font-size:.62rem;padding:5px 8px;max-width:calc(100% - 20px);overflow:hidden;text-overflow:ellipsis}.drawing-handle{stroke-width:3}}
@media(max-width:430px){.settings-indicator-toggles{grid-template-columns:1fr 1fr}}
