:root{--bg:#f8f6f1;--bg-soft:#f3f0e8;--surface:#fff;--surface-2:#fbfaf7;--surface-3:#f2eee6;--ink:#12110f;--ink-2:#39352f;--muted:#777067;--muted-2:#a49d93;--border:#e7e1d6;--border-2:#d8d0c1;--accent:#b86b1e;--accent-soft:#f5e7d4;--blue:#345cff;--blue-soft:#eef2ff;--long:#0f8f68;--long-soft:#e8f6f1;--short:#d64545;--short-soft:#faeceb;--success:#0e8f60;--success-soft:#e7f6ee;--danger:#d64d4d;--danger-soft:#fceeed;--warning:#b7791f;--warning-soft:#f8edd8;--indigo:#4c5bd7;--indigo-soft:#eef0ff;--dark:#171411;--dark-2:#211d18;--dark-border:#ffffff1c;--shadow:0 24px 70px #2a231912;--shadow-soft:0 12px 34px #2a23190e;--radius-xl:28px;--radius-lg:22px;--radius-md:16px;--radius-sm:12px;--rail:84px;--max:1680px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;color:var(--ink);background:radial-gradient(circle at 16% 0%, #b86b1e1c, transparent 36%), radial-gradient(circle at 100% 12%, #345cff12, transparent 34%), linear-gradient(180deg, #fbfaf6 0%, var(--bg) 42%, #f6f4ef 100%);-webkit-font-smoothing:antialiased;text-rendering:geometricprecision;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.appShell{grid-template-columns:var(--rail) minmax(0, 1fr);min-height:100vh;display:grid}.appRail{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:30;background:#ffffff94;border-right:1px solid #e7e1d6bf;flex-direction:column;align-items:center;gap:28px;height:100vh;padding:22px 14px;display:flex;position:sticky;top:0}.railLogo{color:#fff;letter-spacing:-.02em;background:linear-gradient(135deg,#181511,#3b2a1a);border-radius:15px;place-items:center;width:42px;height:42px;font-weight:800;display:grid;box-shadow:0 14px 32px #1714112e}.appRail nav{flex-direction:column;gap:10px;width:100%;display:flex}.appRail a{color:var(--muted);text-align:center;letter-spacing:-.01em;border:1px solid #0000;border-radius:14px;padding:10px 7px;font-size:11px;font-weight:700;text-decoration:none;transition:color .18s,background .18s,border-color .18s}.appRail a:hover,.appRail a.active{color:var(--ink);background:var(--surface);border-color:var(--border);box-shadow:var(--shadow-soft)}.workspaceRoot{width:min(var(--max), 100%);margin:0 auto;padding:26px 26px 48px}.topbar{z-index:20;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#f8f6f1d1;border-bottom:1px solid #e7e1d6b3;justify-content:space-between;align-items:center;gap:18px;min-height:74px;margin:-26px -26px 24px;padding:18px 26px;display:flex;position:sticky;top:0}.productTitle{align-items:center;gap:13px;display:flex}.productTitle>span{background:var(--ink);color:#fff;border-radius:12px;place-items:center;width:36px;height:36px;font-size:13px;font-weight:800;display:grid}.productTitle strong{letter-spacing:-.03em;font-size:16px;line-height:1.1;display:block}.productTitle small{color:var(--muted);margin-top:2px;font-size:12px;display:block}.topControls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.selectWrap{border:1px solid var(--border);background:#ffffffd9;border-radius:999px;align-items:center;gap:10px;height:40px;padding:0 13px;display:inline-flex;box-shadow:0 8px 20px #2a231909}.selectWrap span{text-transform:uppercase;letter-spacing:.11em;color:var(--muted-2);font-size:10px;font-weight:800}.selectWrap select{color:var(--ink);background:0 0;border:0;outline:0;font-weight:650}.refreshButton{border:1px solid var(--border);background:var(--surface);height:40px;color:var(--ink);border-radius:999px;padding:0 15px;font-weight:750;transition:transform .18s,border-color .18s;box-shadow:0 8px 20px #2a231909}.refreshButton:hover{border-color:var(--border-2);transform:translateY(-1px)}.livePill{border:1px solid var(--border);background:var(--surface);height:40px;color:var(--muted);border-radius:999px;justify-content:center;align-items:center;gap:9px;min-width:106px;padding:0 14px;font-size:13px;font-weight:800;display:inline-flex}.livePill span{background:var(--muted-2);border-radius:999px;width:8px;height:8px;box-shadow:0 0 0 4px #a49d931f}.livePill.isLive{color:var(--success)}.livePill.isLive span{background:var(--success);animation:1.9s ease-in-out infinite pulse;box-shadow:0 0 0 4px #0e8f601f}.livePill.isReconnecting{color:var(--warning)}.livePill.isReconnecting span{background:var(--warning)}.overviewGrid{grid-template-columns:minmax(0,1.65fr) minmax(310px,.75fr);gap:16px;margin-bottom:16px;display:grid}.activeSignalCard,.assistantCard,.panel,.metricCard{border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft);background:#ffffffeb}.activeSignalCard{min-height:292px;padding:28px;position:relative;overflow:hidden}.activeSignalCard:before{content:"";pointer-events:none;background:radial-gradient(circle at 85% 12%,#b86b1e18,#0000 35%);position:absolute;inset:0}.activeSignalCard>*{z-index:1;position:relative}.cardHeaderLine{justify-content:space-between;align-items:center;gap:14px;margin-bottom:22px;display:flex}.cardHeaderLine span,.microLabel{color:var(--accent);text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:850}.cardHeaderLine time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.activeSignalTop{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:18px;display:grid}.symbolLine{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.symbolLine h1{letter-spacing:-.075em;margin:0;font-size:clamp(42px,5vw,68px);font-weight:900;line-height:.92}.symbolLine span{background:var(--surface-3);height:30px;color:var(--muted);border-radius:999px;align-items:center;padding:0 11px;font-size:13px;font-weight:850;display:inline-flex}.activeSignalTop p{max-width:860px;color:var(--muted);margin:14px 0 0;font-size:15px;line-height:1.55}.signalMetaStack{flex-direction:column;align-items:flex-end;gap:8px;min-width:138px;display:flex}.badge{border:1px solid var(--border);background:var(--surface-2);min-height:27px;color:var(--ink-2);letter-spacing:.015em;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:0 11px;font-size:11px;font-weight:850;display:inline-flex}.badge.compact{min-height:23px;padding:0 8px;font-size:10px}.badge.direction{letter-spacing:.07em}.dir-long{color:var(--long);background:var(--long-soft);border-color:#0f8f6833}.dir-short{color:var(--short);background:var(--short-soft);border-color:#d6454538}.dir-neutral{color:var(--muted);background:var(--surface-3)}.status-sweep{color:#b45b16;background:#fbebdc;border-color:#f1d0b3}.status-armed{color:var(--warning);background:var(--warning-soft);border-color:#ead3a8}.status-retest{color:var(--indigo);background:var(--indigo-soft);border-color:#d7dcff}.status-entry{color:var(--blue);background:var(--blue-soft);border-color:#d7ddff}.status-tp{color:var(--success);background:var(--success-soft);border-color:#cce9db}.status-sl{color:var(--danger);background:var(--danger-soft);border-color:#f0c8c5}.status-closed,.status-neutral{color:var(--muted);background:var(--surface-3);border-color:var(--border)}.score-high{color:var(--success);background:var(--success-soft);border-color:#cce9db}.score-good{color:var(--accent);background:var(--accent-soft);border-color:#ead3b6}.score-mid{color:var(--warning);background:var(--warning-soft)}.score-low{color:var(--danger);background:var(--danger-soft)}.score-empty{color:var(--muted);background:var(--surface-3)}.phaseStepper{border:1px solid var(--border);background:#ffffff9e;border-radius:18px;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;margin-top:32px;padding:16px;display:grid}.phaseStep{color:var(--muted-2);flex-direction:column;gap:8px;display:flex;position:relative}.phaseStep:after{content:"";background:var(--border);height:1px;position:absolute;top:6px;left:20px;right:0}.phaseStep:last-child:after{display:none}.phaseStep span{border:1px solid var(--border-2);z-index:1;background:#fff;border-radius:999px;width:13px;height:13px}.phaseStep.done span{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 4px #b86b1e1a}.phaseStep.current span{transform:scale(1.08)}.phaseStep small{font-size:11px;font-weight:800}.phaseStep.done small{color:var(--ink)}.assistantCard{flex-direction:column;min-height:292px;padding:24px;display:flex}.assistantCard p,.compactInsight p,.readingBox p{color:var(--ink-2);margin:0;font-size:15px;line-height:1.58}.assistantCard p{margin-top:auto;margin-bottom:auto}.statusDot{background:var(--warning);border-radius:999px;width:11px;height:11px;box-shadow:0 0 0 4px #b7791f1f}.statusDot.live{background:var(--success);animation:1.9s ease-in-out infinite pulse;box-shadow:0 0 0 4px #0e8f601f}.tagCloud{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.tagCloud span{border:1px solid var(--border);background:var(--surface-2);min-height:25px;color:var(--muted);letter-spacing:.04em;border-radius:999px;align-items:center;padding:0 9px;font-size:10px;font-weight:800;display:inline-flex}.tagCloud.compact{margin-top:12px}.metricStrip{grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.metricCard{border-radius:20px;min-height:104px;padding:16px 16px 15px}.metricCard span,.levelCell span,.searchBox span{color:var(--muted);letter-spacing:.025em;font-size:11px;font-weight:800;display:block}.metricCard strong{letter-spacing:-.05em;font-variant-numeric:tabular-nums;margin-top:9px;font-size:28px;font-weight:860;line-height:1;display:block}.metricCard small{color:var(--muted-2);margin-top:9px;font-size:12px;display:block}.metricCard.tone-success strong{color:var(--success)}.metricCard.tone-danger strong{color:var(--danger)}.metricCard.tone-watch strong{color:var(--accent)}.metricCard.tone-entry strong{color:var(--blue)}.metricCard.tone-retest strong{color:var(--indigo)}.mainGrid{grid-template-columns:330px minmax(0,1fr) 360px;align-items:start;gap:16px;display:grid}.panel{border-radius:var(--radius-lg);padding:18px}.panelTitle{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.panelTitle h2{letter-spacing:-.035em;margin:0;font-size:17px;line-height:1.1}.panelTitle p{color:var(--muted);margin:4px 0 0;font-size:12px}.panelTitle>span{border:1px solid var(--border);color:var(--muted);background:var(--surface-2);border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800}.panelTitle.dark h2{color:#fff}.panelTitle.dark p{color:#ffffff8f}.panelTitle.dark>span{border-color:var(--dark-border);color:#ffffffb8;background:#ffffff14}.filters{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px;display:flex}.filters button{border:1px solid var(--border);background:var(--surface-2);color:var(--muted);border-radius:999px;height:30px;padding:0 10px;font-size:11px;font-weight:800;transition:color .18s,background .18s,border-color .18s}.filters button.active,.filters button:hover{background:var(--ink);border-color:var(--ink);color:#fff}.searchBox{border:1px solid var(--border);background:var(--surface-2);border-radius:16px;margin-bottom:14px;padding:10px 12px;display:block}.searchBox input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;margin-top:4px;font-weight:680}.searchBox input::placeholder{color:var(--muted-2)}.signalList{gap:10px;max-height:694px;padding-right:2px;display:grid;overflow:auto}.signalListItem,.timelineRow,.terminalEvent{appearance:none;border:1px solid var(--border);background:var(--surface-2);text-align:left;width:100%}.signalListItem{border-radius:18px;padding:14px;transition:transform .18s,border-color .18s,box-shadow .18s,background .18s}.signalListItem:hover{border-color:var(--border-2);box-shadow:var(--shadow-soft);transform:translateY(-1px)}.signalListItem.selected{background:#fffaf4;border-color:#b86b1e61;box-shadow:0 16px 34px #b86b1e1a}.signalListTop,.signalListMiddle,.signalListFoot{justify-content:space-between;align-items:center;gap:8px;display:flex}.signalListTop strong{letter-spacing:.12em;font-size:14px}.signalListTop span{border:1px solid var(--border);min-height:24px;color:var(--muted);background:#fff;border-radius:999px;align-items:center;padding:0 8px;font-size:10px;font-weight:850;display:inline-flex}.signalListMiddle{justify-content:flex-start;margin-top:12px}.signalListItem p{color:var(--muted);margin:10px 0 12px;font-size:12px;line-height:1.45}.signalListFoot time{color:var(--muted-2);font-variant-numeric:tabular-nums;font-size:11px;font-weight:750}.tradePanel{padding:20px}.tradeSummary{border:1px solid var(--border);background:linear-gradient(135deg,#fff 0%,#fbfaf7 100%);border-radius:22px;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px;padding:20px;display:flex}.tradeIdentity span{color:var(--accent);text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:850}.tradeIdentity h2{letter-spacing:-.07em;margin:8px 0 0;font-size:clamp(34px,4vw,56px);line-height:.95}.tradeIdentity h2 em{color:var(--muted);letter-spacing:-.02em;font-size:.46em;font-style:normal}.tradeScore{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.levelGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.levelCell{border:1px solid var(--border);background:var(--surface-2);border-radius:16px;min-height:72px;padding:13px}.levelCell strong{letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin-top:9px;font-size:18px;display:block}.readingBox,.timelineCard{border:1px solid var(--border);background:#fff;border-radius:20px;margin-top:12px;padding:16px}.readingBox p{margin-top:10px}.timelineCard{padding-bottom:8px}.timelineRow{border:0;border-top:1px solid var(--border);text-align:left;background:0 0;grid-template-columns:16px minmax(0,1fr) auto;align-items:start;gap:12px;padding:13px 0;display:grid;position:relative}.timelineRow:first-of-type{margin-top:10px}.timelineDot{background:var(--accent);border-radius:999px;width:9px;height:9px;margin-top:4px;box-shadow:0 0 0 4px #b86b1e1a}.timelineRow strong{font-size:13px}.timelineRow p{color:var(--muted);margin:3px 0 0;font-size:12px;line-height:1.45}.timelineRow time{color:var(--muted-2);font-variant-numeric:tabular-nums;font-size:11px;font-weight:800}.rightStack{gap:16px;display:grid}.compactInsight{min-height:210px}.compactInsight p{margin-top:18px}.terminalPanel{background:linear-gradient(180deg, var(--dark) 0%, var(--dark-2) 100%);border-color:var(--dark-border);color:#ffffffe6;box-shadow:0 24px 70px #17141138}.terminalList{gap:10px;max-height:470px;padding-right:2px;display:grid;overflow:auto}.terminalEvent{border-color:var(--dark-border);color:#ffffffdb;background:#ffffff0e;border-radius:16px;grid-template-columns:58px minmax(0,1fr);gap:12px;padding:12px;transition:background .18s,transform .18s,border-color .18s;display:grid}.terminalEvent:hover{background:#ffffff14;border-color:#ffffff2e;transform:translateY(-1px)}.terminalEvent time{color:#ffffff6b;font-variant-numeric:tabular-nums;font-size:11px;font-weight:800}.terminalEvent strong{letter-spacing:.01em;color:#fffffff0;font-size:12px;display:block}.terminalEvent p{color:#ffffff8f;margin:5px 0 0;font-size:12px;line-height:1.45}.terminalEmpty{color:#ffffff73;padding:18px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.journalPanel{margin-top:16px;padding:20px}.journalHead{justify-content:space-between;align-items:start;gap:12px;display:flex}.journalLegend{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.journalLegend span{border:1px solid var(--border);background:var(--surface-2);color:var(--muted);border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800}.journalTableWrap{border:1px solid var(--border);background:#fff;border-radius:18px;overflow:auto}.journalTable{border-collapse:collapse;width:100%;min-width:920px}.journalTable th{text-align:left;color:var(--muted-2);background:var(--surface-2);text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid var(--border);padding:12px 14px;font-size:10px}.journalTable td{border-bottom:1px solid var(--border);color:var(--ink-2);vertical-align:middle;padding:12px 14px;font-size:13px}.journalTable tr{cursor:pointer;transition:background .18s}.journalTable tbody tr:hover{background:#fffcf7}.journalTable tbody tr:last-child td{border-bottom:0}.journalTable time{color:var(--muted);font-variant-numeric:tabular-nums;font-weight:750}.journalNote{white-space:nowrap;text-overflow:ellipsis;max-width:520px;overflow:hidden;color:var(--muted)!important}.emptyState{border:1px dashed var(--border-2);color:var(--muted);background:var(--surface-2);text-align:center;border-radius:18px;padding:22px}.emptyState strong{color:var(--ink);font-size:14px;display:block}.emptyState p{max-width:340px;margin:7px auto 0;font-size:13px;line-height:1.45}.emptyState.compact{padding:16px}.isNew{animation:2.8s ease-out newFlash}@keyframes newFlash{0%{border-color:#345cff73;box-shadow:0 0 #345cff57,0 16px 38px #345cff1f}to{box-shadow:none}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.62;transform:scale(.72)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (max-width:1340px){.mainGrid{grid-template-columns:320px minmax(0,1fr)}.rightStack{grid-column:1/-1;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.terminalList{max-height:340px}}@media (max-width:1080px){:root{--rail:0px}.appShell{display:block}.appRail{display:none}.workspaceRoot{padding:18px}.topbar{margin:-18px -18px 18px;padding:14px 18px;position:sticky}.overviewGrid{grid-template-columns:1fr}.metricStrip{grid-template-columns:repeat(4,minmax(0,1fr))}.mainGrid,.rightStack{grid-template-columns:1fr}.signalList{max-height:420px}}@media (max-width:720px){.topbar{flex-direction:column;align-items:flex-start}.topControls{justify-content:flex-start;width:100%}.selectWrap{flex:1;min-width:180px}.overviewGrid{gap:12px}.activeSignalCard,.assistantCard,.panel{border-radius:20px;padding:16px}.activeSignalTop{grid-template-columns:1fr}.signalMetaStack{flex-flow:wrap;align-items:flex-start}.symbolLine h1{font-size:40px}.phaseStepper{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 0}.phaseStep:after{display:none}.metricStrip,.levelGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.journalHead{flex-direction:column}.journalLegend{justify-content:flex-start}}@media (max-width:460px){.metricStrip,.levelGrid{grid-template-columns:1fr}.tradeSummary{flex-direction:column}.tradeScore{flex-flow:wrap;align-items:flex-start}}
