:root{--ink:#eaf4ef;--muted:#91a49c;--bg:#07100e;--panel:#0d1916;--panel2:#11201c;--line:#23342f;--mint:#7cf0bd;--gold:#e3b96b;--red:#ff806f;--blue:#70a6ff;--violet:#bc9cff;--max:1400px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(circle at 75% -10%,#17342b 0,transparent 35%),var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-feature-settings:"tnum" 1}
.shell{max-width:var(--max);margin:auto;padding:0 46px}
.masthead{height:92px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}
.brand-mark{display:grid;place-items:center;width:34px;height:34px;background:var(--mint);color:#07100e;font-family:Georgia,serif;font-weight:900;font-size:22px;clip-path:polygon(0 0,100% 0,100% 75%,75% 100%,0 100%)}
.brand strong,.brand small{display:block}
.brand strong{font-family:Georgia,serif;font-size:19px;letter-spacing:.02em}
.brand small{text-transform:uppercase;letter-spacing:.16em;color:var(--muted);font-size:8px;margin-top:2px}
.status{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:12px}
.status i{width:7px;height:7px;background:var(--mint);border-radius:50%;box-shadow:0 0 10px var(--mint)}
.eyebrow,.kicker{font-size:10px;letter-spacing:.2em;font-weight:700;color:var(--mint);margin:0 0 16px}
.section-heading h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;margin:0}
.summary-stat span,.portfolio-value span{font-size:9px;letter-spacing:.17em;color:var(--muted)}
.tabs{display:flex;gap:36px;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(7,16,14,.94);backdrop-filter:blur(15px);z-index:4}
.tab{appearance:none;border:0;background:none;color:var(--muted);padding:19px 0 17px;font-weight:650;cursor:pointer;border-bottom:2px solid transparent}
.tab.active{color:var(--ink);border-color:var(--mint)}
.tab span{display:inline-grid;place-items:center;background:#20312c;border-radius:10px;min-width:19px;height:19px;font-size:10px;margin-left:5px}
.panel{display:none;padding:54px 0 70px}
.panel.active{display:block}
.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}
.section-heading h2{font-size:40px;letter-spacing:-.03em}
.section-heading .eyebrow{margin-bottom:10px}
.updated{font-size:11px;color:var(--muted);margin:0}
.ticker-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);margin-bottom:18px}
.ticker{padding:22px 24px;border-right:1px solid var(--line)}
.ticker:last-child{border:0}
.ticker-top{display:flex;justify-content:space-between;color:var(--muted);font-size:9px;letter-spacing:.12em}
.ticker strong{display:block;font-family:Georgia,serif;font-size:28px;font-weight:400;margin:10px 0 5px}
.change{font-size:11px}
.up{color:var(--mint)}
.down{color:var(--red)}
.flat{color:var(--muted)}
.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.card{background:linear-gradient(135deg,rgba(17,32,28,.95),rgba(11,23,20,.95));border:1px solid var(--line)}
.wide{grid-column:1/-1}
.chart-card{padding:25px}
.card-head{display:flex;justify-content:space-between;align-items:start}
.card-head h3,.watchlist h3,.holdings-head h3{font-family:Georgia,serif;font-size:22px;font-weight:400;margin:4px 0}
.card-head .kicker,.watchlist .kicker,.holdings-head .kicker{display:block;margin:0;color:var(--muted)}
.unit{font-size:8px;letter-spacing:.18em;color:var(--muted)}
.chart-wrap{height:245px;margin-top:22px}
.chart-wrap.tall{height:310px}
.line-chart{width:100%;height:100%;overflow:visible}
.grid-line{stroke:#21332d;stroke-width:1}
.axis-label{fill:#71877e;font-size:9px}
.risk-gradient{opacity:1}
.threshold-line{stroke:var(--gold);stroke-width:1.25;stroke-dasharray:5 5;vector-effect:non-scaling-stroke}
.threshold-label{fill:var(--gold);font-size:8px;letter-spacing:.08em}
.baseline-line{stroke:#60776e;stroke-width:1.25;vector-effect:non-scaling-stroke}
.baseline-label{fill:#71877e;font-size:8px;letter-spacing:.08em}
.chart-line{fill:none;stroke-width:2.5;vector-effect:non-scaling-stroke}
.chart-area{opacity:.09}
.chart-point{stroke:var(--panel);stroke-width:2;vector-effect:non-scaling-stroke}
.chart-foot{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px;color:var(--muted);font-size:10px}
.chart-foot a,.source-strip a{color:var(--mint);text-decoration:none}
.risk-key{display:flex;justify-content:flex-end;gap:18px;margin:4px 0 13px;color:var(--muted);font-size:9px}
.risk-key span{display:flex;align-items:center;gap:6px}
.risk-key i{display:inline-block;width:16px;height:5px}
.risk-key .low-risk{border:1px solid #476057;background:transparent}
.risk-key .high-risk{background:linear-gradient(90deg,rgba(255,128,111,.18),#ff4d43)}
.risk-key .stress-line{height:0;border-top:1px dashed var(--gold)}
.risk-key .red-stress{border-top-color:var(--red)}
.legend{display:flex;gap:20px;flex-wrap:wrap;margin-top:10px;font-size:10px;color:var(--muted)}
.legend i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}
.bar-chart{display:flex;flex-direction:column;gap:15px;margin:31px 0 22px}
.bar-row{display:grid;grid-template-columns:85px 1fr 45px;align-items:center;gap:12px;font-size:10px}
.bar-track{height:5px;background:#20312c;position:relative}
.bar-fill{height:100%;position:absolute;left:50%}
.bar-fill.negative{right:50%;left:auto}
.bar-value{text-align:right;font-weight:650}
.source-strip{display:flex;align-items:center;gap:30px;padding:20px 0;border-bottom:1px solid var(--line);font-size:9px;letter-spacing:.1em;color:var(--muted)}
.source-strip div{display:flex;gap:22px;flex-wrap:wrap}
.analysis-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:34px}
.analysis-scope{margin:-8px 0 28px;padding:13px 16px;border-left:2px solid var(--mint);background:rgba(124,240,189,.045);color:var(--muted);font-size:11px;line-height:1.6}
.timeline{border-top:1px solid var(--line)}
.entry{display:grid;grid-template-columns:116px 1fr;gap:26px;padding:28px 0;border-bottom:1px solid var(--line)}
.entry time{font-size:10px;color:var(--muted);line-height:1.55}
.entry time strong{display:block;color:var(--ink);font-weight:600}
.entry h3{font-family:Georgia,serif;font-size:21px;font-weight:400;margin:0 0 10px}
.entry p{color:#acbdb6;font-size:13px;line-height:1.75;margin:0;white-space:pre-line}
.tags{display:flex;gap:7px;margin-top:14px;flex-wrap:wrap}
.tag{font-size:8px;letter-spacing:.12em;padding:5px 7px;border:1px solid var(--line);color:var(--muted)}
.entry a{color:var(--mint);text-decoration:none}
.watchlist{align-self:start;padding:25px;position:sticky;top:80px}
.trigger{padding:16px 0;border-bottom:1px solid var(--line)}
.trigger b{font-family:Georgia,serif;font-size:18px;font-weight:400;display:block}
.trigger span{font-size:10px;color:var(--muted);line-height:1.5;display:block;margin-top:5px}
.fineprint,.disclaimer{font-size:9px;color:#6f827a;line-height:1.6}
.outlook-report{max-width:980px;margin:0 auto;padding:42px 54px;border-top:2px solid var(--mint)}
.outlook-report>.kicker{display:block;margin-bottom:10px}
.outlook-report>h3{font-family:Georgia,serif;font-size:30px;font-weight:400;margin:0 0 13px}
.outlook-report>#outlook-summary{color:var(--ink);font-family:Georgia,serif;font-size:18px;line-height:1.6;margin:0 0 34px;padding-bottom:30px;border-bottom:1px solid var(--line)}
.report-sections{max-width:800px}
.report-sections section+section{margin-top:42px;padding-top:38px;border-top:1px solid var(--line)}
.report-sections h4{font-family:Georgia,serif;font-size:25px;font-weight:400;margin:0 0 18px;color:var(--ink)}
.report-sections p{color:#acbdb6;font-size:13px;line-height:1.78;margin:0 0 12px}
.outlook-callouts{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);margin-bottom:20px}
.outlook-callouts p{padding:16px 18px;margin:0}
.outlook-callouts p+p{border-left:1px solid var(--line)}
.outlook-callouts span,.outlook-drivers>span,.outlook-sources>span{display:block;color:var(--muted);font-size:8px;font-weight:700;letter-spacing:.16em;margin-bottom:7px}
.outlook-callouts strong{display:block;color:var(--ink);font-family:Georgia,serif;font-size:18px;font-weight:400}
.outlook-callouts p:first-child strong{color:var(--mint)}
.outlook-drivers{padding:16px 18px;background:rgba(124,240,189,.04);border-left:2px solid var(--mint);margin-bottom:22px}
.outlook-drivers ul{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px;margin:0;padding-left:17px;color:#acbdb6;font-size:11px;line-height:1.5}
.outlook-sources{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:20px;padding-top:15px;border-top:1px solid var(--line)}
.outlook-sources>span{margin:0 5px 0 0}
.outlook-sources a{color:var(--mint);font-size:9px;text-decoration:none}
.event h3{font-family:Georgia,serif;font-size:23px;font-weight:400;margin:0}
.outlook-note,.dates-note{margin:20px 0 0;text-align:center}
.event-list{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.event{display:grid;grid-template-columns:88px 1fr;min-height:174px}
.event>time{display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid var(--line);background:#0b1714}
.event>time strong{font-family:Georgia,serif;font-size:38px;font-weight:400;line-height:1}
.event>time span{color:var(--mint);font-size:10px;letter-spacing:.18em;margin:6px 0 13px}
.event>time small{font-size:9px;color:var(--muted)}
.event-copy{position:relative;padding:24px}
.event-copy .kicker{display:block;color:var(--muted);margin:0 0 7px}
.event-copy h3{padding-right:80px}
.event-copy p{font-size:11px;line-height:1.55;color:var(--muted);margin:13px 0 10px}
.event-copy a{font-size:9px;color:var(--mint);text-decoration:none}
.impact{position:absolute;right:22px;top:23px;font-size:8px;letter-spacing:.08em;padding:5px 7px;border:1px solid var(--line);color:var(--gold)}
.impact.medium{color:var(--blue)}
.portfolio-summary{display:grid;grid-template-columns:1.3fr repeat(3,1fr);border:1px solid var(--line);margin-bottom:18px}
.portfolio-value,.summary-stat{padding:25px;border-right:1px solid var(--line)}
.summary-stat:last-child{border:0}
.portfolio-value strong,.summary-stat strong{display:block;font-family:Georgia,serif;font-size:25px;font-weight:400;margin:10px 0 3px}
.portfolio-value strong{font-size:36px}
.portfolio-value small,.summary-stat small{color:var(--muted);font-size:10px}
.performance-card{padding:26px}
.holdings-head{display:flex;justify-content:space-between;align-items:end;margin:34px 0 16px}
.holdings-head button{border:1px solid var(--line);background:none;color:var(--mint);padding:10px 14px;font-size:10px;cursor:pointer}
.holdings{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.holding{display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center;padding:18px 18px 18px 0;border-bottom:1px solid var(--line);margin-right:24px}
.holding:nth-child(n+7){display:none}
.holdings.expanded .holding{display:grid}
.ticker-badge{width:42px;height:42px;display:grid;place-items:center;background:#142620;color:var(--mint);font-size:10px;font-weight:750}
.holding b{font-size:11px;display:block}
.holding small{font-size:9px;color:var(--muted)}
.holding-value{text-align:right}
.holding-value b{font-family:Georgia,serif;font-size:15px;font-weight:400}
.holding-value small{display:block;line-height:1.45}
.disclaimer{text-align:center;margin-top:35px}
.strategy-card{padding:26px;margin-bottom:18px}
.strategy-card>p{max-width:980px;color:var(--muted);font-size:12px;line-height:1.65;margin:18px 0}
.method-link,.strategy-sources a{color:var(--mint);font-size:9px;text-decoration:none}
.rule-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);margin-top:20px}
.rule{padding:17px;border-right:1px solid var(--line)}
.rule:last-child{border-right:0}
.rule span{display:block;color:var(--muted);font-size:8px;letter-spacing:.14em;margin-bottom:7px}
.rule b{font-family:Georgia,serif;font-size:15px;font-weight:400}
.strategy-sources{display:flex;gap:15px;flex-wrap:wrap;margin-top:18px}
.stock-method .stock-copy{max-width:980px}
.stock-copy h4{font:400 23px Georgia,serif;margin:30px 0 13px}
.stock-copy p{color:var(--muted);font-size:13px;line-height:1.8;margin:0 0 15px}
.stock-copy strong{color:var(--ink);font-weight:600}
.stock-table-wrap{overflow-x:auto;margin:20px 0}
.stock-table{border-collapse:collapse;width:100%;min-width:580px;text-align:left;font-size:12px;line-height:1.6}
.stock-table caption{text-align:left;color:var(--muted);padding-bottom:12px}
.stock-table th,.stock-table td{padding:14px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.stock-table thead th{color:var(--mint);font-size:10px;letter-spacing:.04em}
.stock-table tbody th{color:var(--ink);font-weight:500;min-width:125px}
.stock-table tbody th a{color:var(--mint);text-decoration:none}
.stock-table td{color:var(--muted)}
.tabs{overflow-x:auto}
.tab{flex-shrink:0;white-space:nowrap}
.trade-list{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.trade-entry{display:grid;grid-template-columns:76px 110px 155px 1fr auto;gap:18px;align-items:start;padding:19px 0;border-bottom:1px solid var(--line)}
.trade-entry time,.trade-entry small{color:var(--muted);font-size:9px;line-height:1.5}
.trade-side{font-size:9px;letter-spacing:.12em;font-weight:750}
.trade-side.buy{color:var(--mint)}
.trade-side.sell{color:var(--red)}
.trade-security b,.trade-notional b{display:block;font-size:11px}
.trade-reason{color:var(--muted);font-size:10px;line-height:1.55}
.trade-notional{text-align:right;white-space:nowrap}
footer{height:75px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;color:#667b73;font-size:9px;letter-spacing:.08em}
@media(max-width:800px){.shell{padding:0 20px}
.masthead{height:70px}
.status span{display:none}
.tabs{gap:22px;overflow:auto}
.tab{white-space:nowrap;font-size:12px}
.section-heading{display:block}
.updated{margin-top:12px}
.ticker-grid{grid-template-columns:1fr 1fr}
.ticker:nth-child(2){border-right:0}
.ticker:nth-child(-n+2){border-bottom:1px solid var(--line)}
.chart-grid,.analysis-layout{grid-template-columns:1fr}
.event-list{grid-template-columns:1fr}
.wide{grid-column:auto}
.watchlist{position:static}
.portfolio-summary{grid-template-columns:1fr 1fr}
.rule-grid{grid-template-columns:1fr 1fr}
.rule:nth-child(2){border-right:0}
.rule:nth-child(-n+2){border-bottom:1px solid var(--line)}
.trade-entry{grid-template-columns:65px 90px 1fr}
.trade-reason{grid-column:2/-1}
.trade-notional{grid-column:3;text-align:left}
.summary-stat:nth-child(2){border-right:0}
.portfolio-value,.summary-stat{border-bottom:1px solid var(--line)}
.holdings{grid-template-columns:1fr}
.entry{grid-template-columns:84px 1fr;gap:14px}
.source-strip{align-items:start;flex-direction:column;gap:12px}
}
@media(max-width:480px){
.section-heading h2{font-size:32px}
.ticker-grid,.portfolio-summary{grid-template-columns:1fr}
.ticker,.portfolio-value,.summary-stat{border-right:0;border-bottom:1px solid var(--line)}
.chart-card,.performance-card{padding:18px}
.chart-wrap{height:210px}
.risk-key{justify-content:flex-start;gap:11px;flex-wrap:wrap}
.entry{display:block}
.entry time{display:block;margin-bottom:9px}
.outlook-report{padding:28px 22px}
.outlook-callouts,.outlook-drivers ul{grid-template-columns:1fr}
.rule-grid{grid-template-columns:1fr}
.rule,.rule:nth-child(2){border-right:0;border-bottom:1px solid var(--line)}
.rule:last-child{border-bottom:0}
.trade-entry{grid-template-columns:58px 1fr;gap:10px}
.trade-reason,.trade-notional{grid-column:2;text-align:left}
.outlook-callouts p+p{border-left:0;border-top:1px solid var(--line)}
.event{grid-template-columns:68px 1fr}
.event-copy{padding:18px}
.impact{position:static;display:inline-block;margin-top:10px}
.event-copy h3{padding-right:0}
}
.range-picker{display:flex;gap:5px;margin:20px 0 4px;flex-wrap:wrap}
.range-picker button{appearance:none;border:1px solid var(--line);background:transparent;color:var(--muted);padding:7px 9px;font-size:9px;cursor:pointer}
.range-picker button:hover,.range-picker button.active{background:var(--mint);border-color:var(--mint);color:var(--bg)}
.bar-chart{margin-top:24px}
.bar-row{grid-template-columns:108px 1fr 48px}
.bar-label{color:var(--ink);text-decoration:none}
.bar-label small{color:var(--muted);margin-left:5px}
.bar-track:after{content:"";position:absolute;left:50%;top:-3px;width:1px;height:11px;background:#476057}
