:root{--bg:#eef1f4;--panel:#fff;--ink:#12202b;--mute:#52606d;--line:#cfd6dd;--acc:#0f766e;--warn:#b45309;--up:#0f766e;--dn:#b91c1c;
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0f1a22;--panel:#16242e;--ink:#e6edf2;--mute:#9fb0bd;--line:#2b3b47;--acc:#3fbfb2;--warn:#f59e0b;--up:#3fbfb2;--dn:#f87171}}
:root[data-theme="dark"]{--bg:#0f1a22;--panel:#16242e;--ink:#e6edf2;--mute:#9fb0bd;--line:#2b3b47;--acc:#3fbfb2;--warn:#f59e0b;--up:#3fbfb2;--dn:#f87171}
html{scroll-padding-top:env(safe-area-inset-top,0px);scroll-behavior:smooth}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.6 "IBM Plex Sans",system-ui,sans-serif}
h1,h2,h3{font-family:"IBM Plex Serif",Georgia,serif;font-weight:600;line-height:1.15;margin:0}
a{color:var(--acc)}
:focus-visible{outline:3px solid var(--warn);outline-offset:2px}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
header{display:flex;justify-content:space-between;align-items:center;padding:18px 0;gap:12px;flex-wrap:nowrap;position:relative}
.logo{font:600 22px "IBM Plex Serif",serif;color:var(--ink);text-decoration:none}
nav{display:flex;align-items:center;gap:22px}
nav a{color:var(--mute);text-decoration:none;font-size:15px}
nav a:hover{color:var(--ink)}
.nav-toggle{display:none;align-items:center;gap:9px;padding:9px 12px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--ink);font:inherit;font-size:15px;cursor:pointer}
.nav-toggle-icon{display:grid;gap:4px;width:18px}
.nav-toggle-icon i{display:block;height:2px;background:currentColor;border-radius:2px}
.nav-toggle-icon i{transition:transform 180ms ease,opacity 180ms ease}
.nav-toggle[aria-expanded="true"] .nav-toggle-icon i:first-child{transform:translateY(6px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle-icon i:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] .nav-toggle-icon i:last-child{transform:translateY(-6px) rotate(-45deg)}
.hero{display:grid;grid-template-columns:1fr 1.1fr;gap:36px;align-items:center;padding:36px 0 56px}
.hero h1{font-size:clamp(34px,5vw,54px)}
.hero p{color:var(--mute);max-width:46ch;margin:18px 0 26px}
.btn{display:inline-block;background:var(--acc);color:#fff;padding:12px 20px;border-radius:6px;text-decoration:none;font-weight:500;border:0;font:inherit;font-weight:500;cursor:pointer}
.btn.alt{background:transparent;color:var(--ink);border:1px solid var(--line);margin-left:8px}
.chart-top{display:flex;justify-content:space-between;font-size:14px;color:var(--mute);margin-bottom:6px;gap:10px;flex-wrap:wrap}
.market-visual{position:relative;min-width:0;height:390px;isolation:isolate}
.market-visual::before{content:"";position:absolute;z-index:-1;inset:44px 0 28px;background-image:linear-gradient(to right,color-mix(in srgb,var(--line) 70%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--line) 70%,transparent) 1px,transparent 1px);background-size:32px 32px;opacity:.55;mask-image:linear-gradient(to bottom,transparent,#000 26%,#000 78%,transparent)}
#market-scene{position:absolute;inset:36px 0 22px;width:100%;height:calc(100% - 58px);display:block;touch-action:pan-y;cursor:grab;outline:none}
#market-scene:active{cursor:grabbing}
.visual-label{display:inline-flex;align-items:center;gap:9px;color:var(--ink);font-weight:500}
.visual-mark{width:8px;height:8px;border-radius:50%;background:var(--acc);box-shadow:0 0 0 4px color-mix(in srgb,var(--acc) 16%,transparent)}
.visual-legend{position:absolute;left:0;bottom:0;display:flex;gap:18px;color:var(--mute);font-size:12px}
.visual-legend span{display:inline-flex;align-items:center;gap:7px}
.visual-legend i{width:15px;height:2px;display:inline-block;background:var(--acc)}
.visual-legend .legend-forecast{background:var(--warn)}
.tick b{color:var(--ink);font-variant-numeric:tabular-nums}
section{padding:56px 0;border-top:1px solid var(--line)}
section>.wrap>h2{font-size:clamp(26px,3.4vw,36px);margin-bottom:10px}
.lead{color:var(--mute);max-width:60ch;margin:0 0 28px}
.areas{display:grid;grid-template-columns:repeat(2,1fr);gap:0 40px}
.area{padding:18px 0;border-bottom:1px solid var(--line)}
.area h3{font-size:20px;margin-bottom:4px}
.area p{margin:0;color:var(--mute);font-size:16px}
.feed{list-style:none;padding:0;margin:0}
.feed li{display:grid;grid-template-columns:90px 1fr auto;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);align-items:baseline}
.feed time{color:var(--mute);font-size:14px}
.tag{font-size:13px;border:1px solid var(--line);border-radius:99px;padding:2px 10px;color:var(--mute);white-space:nowrap}
.two{display:grid;grid-template-columns:1fr 1fr;gap:36px}
.tool{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:22px}
label{display:block;font-size:14px;color:var(--mute);margin:12px 0 4px}
input,select,textarea{width:100%;padding:10px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--ink);font:inherit}
.out{margin-top:16px;padding-top:14px;border-top:1px dashed var(--line);font-variant-numeric:tabular-nums}
.out b{font-size:22px;color:var(--acc)}
.problems{list-style:none;margin:0;padding:0}
.problems li{padding:12px 0;border-bottom:1px solid var(--line)}
.problems small{color:var(--mute);display:block}
.steps{margin:0;padding-left:20px}
.steps li{margin-bottom:10px}
footer{border-top:1px solid var(--line);padding:28px 0 40px;color:var(--mute);font-size:14px}
.note{font-size:13px;color:var(--mute);margin-top:10px}
@media(max-width:800px){
	.hero,.two,.areas{grid-template-columns:1fr}
	.feed li{grid-template-columns:1fr;gap:4px}
	.bar .wrap{flex-wrap:nowrap;overflow-x:auto;gap:18px;white-space:nowrap;scrollbar-width:thin}
	.bar .wrap>span{flex:0 0 auto}
	header{flex-wrap:wrap}
	.nav-toggle{display:inline-flex}
	header nav{display:none;flex:0 0 100%;align-items:stretch;gap:0;padding-top:8px}
	header nav.is-open{display:flex;flex-direction:column}
	header nav a{display:block;padding:11px 4px;border-top:1px solid var(--line)}
	nav a.cur{border-bottom:0;color:var(--acc);font-weight:500}
}

.bar{display:none;background:var(--panel);border-bottom:1px solid var(--line);font-size:14px;padding:7px 0}
.bar.on{display:block}
.bar .wrap{display:flex;gap:22px;flex-wrap:wrap;font-variant-numeric:tabular-nums;color:var(--mute)}
.bar b{color:var(--ink)}.up{color:var(--up)}.dn{color:var(--dn)}
.logo{display:flex;align-items:center;gap:10px}
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:24px}
.person{border-top:2px solid var(--acc);padding-top:12px}
.person h3{font-size:19px}.person p{margin:4px 0 0;color:var(--mute);font-size:15px}
.links{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.links a{display:block;border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:14px;text-decoration:none;color:var(--ink)}
.links small{display:block;color:var(--mute)}
details{border-bottom:1px solid var(--line);padding:14px 0}
summary{cursor:pointer;font-weight:500}
details p{color:var(--mute);margin:8px 0 0}
@media(max-width:800px){.team{grid-template-columns:1fr}.links{grid-template-columns:1fr 1fr}}

nav a.cur{color:var(--ink);border-bottom:2px solid var(--acc);padding-bottom:3px}
.cta{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:28px;text-align:center}
.cta p{color:var(--mute);margin:8px 0 18px}

html.motion-ready [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity 560ms ease var(--reveal-delay,0ms),transform 560ms cubic-bezier(.2,.7,.25,1) var(--reveal-delay,0ms)}
html.motion-ready [data-reveal].is-visible{opacity:1;transform:translateY(0)}
.area,.tool,.person,.links a,.btn{transition:transform 180ms ease,border-color 180ms ease,box-shadow 180ms ease}
.area:hover,.tool:hover,.person:hover,.links a:hover{transform:translateY(-3px)}
.links a:hover,.tool:hover{border-color:var(--acc)}
.btn:hover{transform:translateY(-2px);box-shadow:0 5px 14px color-mix(in srgb,var(--ink) 16%,transparent)}
.btn:active{transform:translateY(0)}
@media(max-width:800px){
	.market-visual{height:310px}
	.visual-legend{font-size:11px;gap:14px}
	header nav{display:none;flex:0 0 100%;flex-direction:column;align-items:stretch;gap:0;padding-top:8px}
	header nav.is-open{display:flex}
	header nav a{display:block;padding:11px 4px;border-top:1px solid var(--line)}
	.bar.on .wrap{flex-wrap:nowrap;overflow-x:auto;gap:18px;white-space:nowrap;scrollbar-width:thin}
	.bar.on .wrap>span{flex:0 0 auto}
}

@media(prefers-reduced-motion:reduce){
	html{scroll-behavior:auto}
	*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
}

.news-intro{padding:38px 0 24px;border-top:0}
.news-kicker,.panel-kicker{font-size:12px;font-weight:500;letter-spacing:.08em;color:var(--mute)}
.news-kicker{display:flex;align-items:center;gap:9px}
.news-live-dot,.status-dot{width:8px;height:8px;border-radius:50%;background:var(--mute);flex:0 0 auto}
.news-live-dot{background:var(--acc);box-shadow:0 0 0 4px color-mix(in srgb,var(--acc) 15%,transparent)}
.news-slash{color:var(--line)}
.news-heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-top:18px}
.news-heading-row h1{font:600 42px/1.08 "IBM Plex Serif",Georgia,serif}
.news-heading-row .lead{margin:12px 0 0}
.refresh-button,.share-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--ink);font:500 14px "IBM Plex Sans",sans-serif;cursor:pointer}
.refresh-button{padding:10px 14px;white-space:nowrap}
.refresh-button span{font-size:19px;line-height:1}
.refresh-button:hover,.share-button:hover{border-color:var(--acc)}
.refresh-button:disabled{opacity:.55;cursor:wait}
.refresh-button.is-loading span{animation:news-spin 850ms linear infinite}
@keyframes news-spin{to{transform:rotate(360deg)}}
.news-status{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:24px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px;color:var(--mute)}
.status-dot[data-state="connected"]{background:var(--acc)}
.status-dot[data-state="loading"]{background:var(--warn)}
.status-dot[data-state="error"]{background:var(--dn)}
.status-divider{color:var(--line)}
.news-content{padding:30px 0 64px}
.news-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,.8fr);gap:56px;align-items:start}
.news-main{min-width:0}
.news-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px}
.news-toolbar h2,.context-panel h2{font-size:24px}
.news-search{display:flex;align-items:center;gap:8px;width:min(250px,50%);margin:0;padding:0 10px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--mute)}
.news-search>span{font-size:21px}
.news-search input{min-width:0;padding:8px 0;border:0;background:transparent;outline:none}
.news-filters{display:flex;gap:8px;overflow-x:auto;padding:17px 0 12px;scrollbar-width:thin}
.filter-chip{flex:0 0 auto;padding:7px 12px;border:1px solid var(--line);border-radius:99px;background:transparent;color:var(--mute);font:500 13px "IBM Plex Sans",sans-serif;cursor:pointer}
.filter-chip:hover,.filter-chip.active{border-color:var(--acc);background:color-mix(in srgb,var(--acc) 9%,var(--bg));color:var(--ink)}
.news-feed{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.news-story{padding:21px 0 20px;border-bottom:1px solid var(--line)}
.story-meta{display:flex;align-items:center;gap:10px;color:var(--mute);font-size:12px}
.story-source{font-weight:500;color:var(--acc)}
.story-title{margin:8px 0 10px;font:600 21px/1.3 "IBM Plex Serif",Georgia,serif}
.story-title a{color:var(--ink);text-decoration:none}
.story-title a:hover{color:var(--acc)}
.story-tags{display:flex;flex-wrap:wrap;gap:6px}
.story-tag{padding:3px 8px;border:1px solid var(--line);border-radius:99px;color:var(--mute);font-size:11px}
.story-context{margin:12px 0 7px;color:var(--mute);font-size:14px;line-height:1.55}
.story-markets{margin:0;font-size:12px;color:var(--ink)}
.story-markets strong{font-weight:500}
.trade-scenarios{margin-top:15px;padding:12px 0 0;border-top:1px solid var(--line)}
.scenario-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}
.scenario-heading h4{font:500 12px "IBM Plex Sans",sans-serif;color:var(--ink)}
.scenario-disclaimer{color:var(--mute);font-size:10px;text-align:right}
.scenario-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.scenario-callout{min-width:0;padding-left:9px;border-left:2px solid var(--line)}
.scenario-callout h5{margin:0 0 4px;font:500 10px "IBM Plex Sans",sans-serif;letter-spacing:.03em}
.scenario-callout p{margin:0;color:var(--mute);font-size:11px;line-height:1.45}
.scenario-buy{border-color:var(--up)}
.scenario-buy h5{color:var(--up)}
.scenario-sell{border-color:var(--dn)}
.scenario-sell h5{color:var(--dn)}
.scenario-exit{border-color:var(--warn)}
.scenario-exit h5{color:var(--warn)}
.story-actions{display:flex;align-items:center;gap:16px;margin-top:12px}
.share-button{padding:6px 10px;font-size:12px}
.read-source{font-size:12px;text-decoration:none}
.news-empty{padding:34px 0;border-bottom:1px solid var(--line)}
.news-empty h3{font-size:20px}
.news-empty p,.feed-disclaimer{color:var(--mute);font-size:13px}
.feed-disclaimer{margin-top:18px;line-height:1.55}
.news-aside{min-width:0}
.context-panel{padding:20px;background:var(--panel);border:1px solid var(--line);border-radius:8px}
.panel-kicker{color:var(--acc);margin-bottom:10px}
.panel-intro{margin:10px 0 0;color:var(--mute);font-size:13px}
.release-list{margin-top:13px}
.release-item{padding:14px 0;border-top:1px solid var(--line)}
.release-code{font-size:10px;font-weight:500;color:var(--acc);letter-spacing:.04em}
.release-item h3{margin-top:3px;font-size:17px}
.release-item p{margin:5px 0;color:var(--mute);font-size:12px;line-height:1.55}
.release-assets{font-size:10px;color:var(--ink)}
.calendar-links{display:grid;gap:0;margin-top:8px;padding-top:12px;border-top:1px solid var(--line)}
.calendar-links h3{margin-bottom:5px;font:500 12px "IBM Plex Sans",sans-serif;color:var(--mute)}
.calendar-links a{display:flex;justify-content:space-between;padding:7px 0;font-size:12px;text-decoration:none}
.news-safety-note{margin:16px 0 0;color:var(--mute);font-size:12px;line-height:1.55}
.news-safety-note strong{color:var(--ink)}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:800px){.news-layout{grid-template-columns:1fr;gap:32px}.news-aside{max-width:none}.news-heading-row h1{font-size:36px}}
@media(max-width:520px){.news-heading-row{align-items:flex-start;flex-direction:column;gap:16px}.news-heading-row h1{font-size:32px}.refresh-button{align-self:flex-end}.news-toolbar{align-items:flex-start;flex-direction:column}.news-search{width:100%}.news-status{gap:7px;font-size:12px}.news-content{padding-top:22px}}
@media(max-width:800px){.scenario-grid{grid-template-columns:1fr;gap:10px}.scenario-heading{align-items:flex-start;flex-direction:column;gap:3px}.scenario-disclaimer{text-align:left}}
