:root{font-family:Inter,system-ui,sans-serif;color:#edf8f3;background:#07110f;color-scheme:dark}*{box-sizing:border-box}body{margin:0}a{color:#71e8b1;text-decoration:none}header{border-bottom:1px solid #30483b;display:flex;justify-content:space-between;align-items:center;padding:18px max(24px,calc((100vw - 1120px)/2))}.brand{font-size:23px;font-weight:800}.brand span{letter-spacing:3px;font-size:14px}nav{display:flex;gap:20px;flex-wrap:wrap}nav a[aria-current]{color:#edf8f3;border-bottom:2px solid #71e8b1}main{max-width:1120px;margin:auto;padding:42px 24px 85px}.heading{display:flex;justify-content:space-between;align-items:end;gap:24px}.heading p{color:#b8cbbf;line-height:1.55;margin:8px 0 0}.eyebrow{color:#71e8b1!important;font-size:12px;font-weight:800;letter-spacing:2px;margin:0}h1{font-size:clamp(34px,5vw,56px);letter-spacing:-2px;line-height:1.08;margin:8px 0}h2{font-size:24px;margin:0}.controls{display:flex;align-items:end;gap:10px;flex-shrink:0}label{font-size:14px;color:#adc5b8}select,button{font:inherit;padding:11px 14px;border-radius:9px;margin-top:6px}select{background:#0a1914;color:#edf8f3;border:1px solid #45604f}button{background:#71e8b1;color:#07110f;border:0;font-weight:800;cursor:pointer}button:disabled{opacity:.5;cursor:wait}#status{min-height:28px;color:#a5dfbc;margin:24px 0 12px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 34px}.metrics article,.panel,.trade{background:#102019;border:1px solid #30483b;border-radius:14px}.metrics article{padding:20px;border-top:3px solid #71e8b1}.metrics span{display:block;color:#adc5b8;font-size:14px}.metrics strong{display:block;font-size:clamp(20px,2.5vw,30px);margin-top:8px}.profit{color:#71e8b1}.loss{color:#ff8dba}.sectionhead,.trade-top,.trade-foot{display:flex;align-items:center;justify-content:space-between;gap:14px}.sectionhead{margin:0 0 16px}.muted,.legal{color:#adc5b8;font-size:14px;line-height:1.6}.trades{display:grid;gap:12px}.trade{padding:22px}.trade-top strong{font-size:20px}.badge{border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800;white-space:nowrap}.badge.closed{background:#294035;color:#c9edd7}.badge.open{background:#183b2a;color:#71e8b1}.trade-legs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}.leg{border-left:2px solid #71e8b1;padding:2px 0 2px 15px}.leg:nth-child(2){border-color:#f1c975}.leg small,.leg b{display:block}.leg small{color:#adc5b8;font-size:13px;font-weight:750}.leg b{font-size:20px;margin-top:5px}.leg p{color:#d0e5d7;line-height:1.5;margin:10px 0 0;font-size:14px}.trade-foot{border-top:1px solid #30483b;padding-top:13px;color:#adc5b8}.trade-foot strong{font-size:20px}.panel{padding:22px;margin-top:24px}.positions{display:grid;gap:8px}.position{padding:13px 0;border-bottom:1px solid #30483b}.position:last-child{border:0}.position strong,.position span,.position small{display:block}.position span,.position small{color:#adc5b8;margin-top:3px}.details{margin-top:14px;color:#adc5b8;line-height:1.6}.details summary{cursor:pointer;color:#edf8f3;font-weight:750}.details p{font-size:14px}.empty{color:#adc5b8;padding:18px}.legal{border-top:1px solid #30483b;padding-top:20px;margin-top:28px}a:focus-visible,select:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid white;outline-offset:3px}@media(max-width:720px){header{padding:15px;align-items:flex-start;gap:16px}main{padding:28px 15px}.heading{display:block}.controls{margin-top:18px}.metrics{grid-template-columns:1fr}.trade-legs{grid-template-columns:1fr}.trade{padding:16px}}@media(max-width:480px){.brand span{display:none}nav{gap:10px;font-size:14px}.sectionhead,.trade-top{align-items:flex-start}.trade-top{flex-direction:column}}

.dayline{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap;margin:14px 0;padding:16px 20px;background:#123125;border:1px solid #3f8c66;border-radius:12px}.dayline strong{color:#71e8b1;font-size:24px}.dayline span{font-size:20px;font-weight:800}.dayline small{color:#adc5b8;font-size:13px;margin-left:auto}@media(max-width:720px){.dayline small{margin-left:0}}
.signals-panel{margin:0 0 30px}.signals-panel h2{margin-bottom:8px}.signals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.signal{border:1px solid #30483b;border-radius:9px;padding:12px;display:grid;gap:4px}.signal.active{border-color:#71e8b1;background:#173326}.signal span,.signal small{color:#b8cbbf;font-size:14px}@media(max-width:720px){.signals{grid-template-columns:1fr}}

#signalSearch{width:100%;max-width:420px;padding:11px 14px;margin:7px 0 3px;border:1px solid #45604f;border-radius:9px;background:#0a1914;color:#edf8f3;font:inherit}#signalSearch:focus-visible{outline:3px solid #fff;outline-offset:3px}
.signal-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.signal-controls label{display:grid;gap:6px;min-width:220px}.signal-controls select{width:100%;padding:11px 14px;border:1px solid #45604f;border-radius:9px;background:#0a1914;color:#edf8f3;font:inherit}.signal-controls select:focus-visible{outline:3px solid #fff;outline-offset:3px}

/* Shared outcome states in Week and Crypto. */
.trade,.position,.leg{position:relative;transition:background-color .2s,border-color .2s}
.trade.outcome-gain,.position.outcome-gain{background:#103d2b;border-color:#39ce8a;border-left:5px solid #39ce8a}
.trade.outcome-loss,.position.outcome-loss{background:#482329;border-color:#f07870;border-left:5px solid #f07870}
.trade.outcome-flat,.position.outcome-flat{background:#182a26;border-color:#638c7c}
.outcome-gain .leg p,.outcome-loss .leg p{color:#f0f6f3}
.outcome-loss .loss{color:#ffb1a8}.outcome-gain .profit{color:#9ff5c5}
.position{padding:16px 18px;border:1px solid #30483b;border-radius:12px}.position:last-child{border:1px solid #30483b}.position.outcome-gain:last-child{border-color:#39ce8a;border-left:5px solid #39ce8a}.position.outcome-loss:last-child{border-color:#f07870;border-left:5px solid #f07870}
.position b{display:block;font-size:20px;margin:10px 0 6px}
.has-outcome-icon{padding-right:88px}.outcome-icon{position:absolute;right:18px;top:20px;font-size:44px;line-height:1.2;filter:drop-shadow(0 3px 6px #0004)}
.leg.has-outcome-icon{padding-right:56px}.leg .outcome-icon{right:2px;top:0;font-size:30px}
.trade-foot{flex-wrap:wrap}.trade-foot small{flex-basis:100%;font-size:14px}.trade-top strong{overflow-wrap:anywhere}.position span,.position small{font-size:14px;line-height:1.5}
.position .outcome-icon{font-size:44px;line-height:1.2}
@media(max-width:480px){.trade.has-outcome-icon,.position.has-outcome-icon{padding-right:70px}.outcome-icon,.position .outcome-icon{right:12px;top:16px;font-size:38px}}
@media(prefers-reduced-motion:reduce){.trade,.position,.leg{transition:none}}
