/* Horizon observatory — compact panels, luminous geometry, quiet typography. */
:root { --bg:#060909; --rail:#090c0d; --panel:#0b1011; --panel-deep:#080c0d; --border:#222b2c; --line:#1b2425; --mint:#a8f0c4; --red:#ee9dba; --muted:#9caeab; --quiet:#7d9290; --rail-width:56px; }
body { background:radial-gradient(ellipse at 48% 40%,#10201945,transparent 55%),var(--bg); }
.rail { background:#080c0ddd; backdrop-filter:blur(16px); padding-top:17px; }
.rail-brand img { width:30px; height:30px; }
.rail-icon { border-radius:6px; width:34px; height:34px; }
.topbar { height:65px; padding:0 24px; background:#090d0eec; grid-template-columns:1fr minmax(270px,450px) 1fr; }
.wordmark { font-size:24px; }.wordmark small { font:9px var(--mono); letter-spacing:.11em; }
.search { background:#101617; border-radius:5px; }.local-badge { border:0; font:9px var(--mono); text-transform:uppercase; letter-spacing:.08em; }
main { max-width:1900px; padding:22px 24px 18px; }
.intro { align-items:center; margin-bottom:20px; gap:12px; }.intro .eyebrow { font-size:8px; letter-spacing:.2em; }
h1 { font-size:clamp(22px,2.2vw,32px); margin:6px 0 4px; font-weight:550; letter-spacing:-.045em; }
h1 em { font-style:normal; color:#8fa49b; }.intro p { font-size:11px; color:var(--quiet); }
.intro-tools { display:flex; align-items:center; gap:8px; }.data-badge { border:0; font:9px var(--mono); }.secondary-button { font-size:10px; background:#141d1d; border-color:#303d3a; border-radius:4px; padding:7px 10px; }
.workspace { grid-template-columns:220px minmax(0,1fr) 320px; gap:12px; align-items:start; }
.insight-column,.main-column,.side-column { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; min-width:0; }
.panel { border-radius:7px; background:linear-gradient(130deg,#11191a55,transparent 80%),var(--panel); box-shadow:0 2px 12px #0002; }
.panel-heading h2 { font-size:13px; font-weight:550; letter-spacing:-.015em; }.panel-heading p { font-size:10px; }.section-icon { width:26px; height:26px; border-radius:5px; background:#16221d; }.section-icon svg { width:13px; height:13px; }
.panel-header { padding:13px 14px; }.panel-heading { gap:8px; }
.watch-panel .panel-header { display:block; }.watch-panel .quiet-label { display:block; padding-left:34px; font-size:9px; margin-top:4px; }.watch-panel .section-icon { display:none; }.watch-panel .quiet-label { padding:0; }.watch-panel .panel-heading p { display:none; }
.watch-row { grid-template-columns:minmax(0,1fr) 12px; gap:4px; padding:12px 14px; }.watch-id { display:grid; gap:3px; }.watch-id b { width:auto; font-size:12px; letter-spacing:.025em; }.watch-id span { font-size:10px; }.watch-exchange { display:none; }.watch-row:hover { background:#16241e; }
.asset-top { padding:13px 16px 6px; }.asset-mark { width:34px; height:34px; border-radius:6px; font:600 17px var(--mono); }.asset-names h2 { font-size:16px; font-weight:550; }.asset-meta { font-size:9px; }.asset-meta b { font-size:9px; }
.quote-strip { padding:5px 16px 9px; }.quote-main strong { font:500 28px var(--mono); letter-spacing:-.06em; }.quote-main>span:last-child:not(:empty) { font-size:9px; padding:3px 5px; }.quote-note { font:9px var(--mono); margin-top:4px; }
.chart-tools { padding:0 16px 4px; }.chart-label { font-size:10px; }.segmented { border-radius:4px; padding:1px; }.segmented button { font-size:9px; padding:3px 7px; border-radius:3px; }.chart-wrap { height:153px; margin:0 10px; }
.chart-line { stroke-width:1.35; filter:drop-shadow(0 0 3px #91edba44); }.chart-grid { stroke:#20302c; stroke-dasharray:2 5; }.chart-area { opacity:.6; }#chart text { font-size:8px; }
.asset-stats>div { padding:9px 13px; gap:3px; }.asset-stats span { font-size:9px; }.asset-stats strong { font-size:10px; }
.plan-panel,.scenarios-panel { padding:14px; }#plan-form { gap:11px; margin-top:13px; }.plan-field>label,.fee-field>label { font-size:10px; margin-bottom:5px; }
.amount-box,.fee-box,.custom-period { border-radius:4px; }.amount-box input { font:500 22px var(--mono); padding:9px 0; }.field-hint { font-size:9px; }.periods button { padding:6px 0; border-radius:3px; font-size:9px; }.custom-period { margin-top:5px; }.custom-period input { padding:2px 0; }
.fee-box input { padding:5px 0; }.primary-button { background:#b0f3c8; border-radius:4px; font-size:11px; padding:10px 24px; box-shadow:0 0 20px #97f2b90d; }.primary-button:hover:not(:disabled) { box-shadow:0 0 28px #97f2b92a; }
.scenarios-panel { border-color:#3a4338; background:linear-gradient(145deg,#18241950,transparent 75%),#0d1212; }.plan-assessment { border-radius:4px; padding:12px; margin-top:12px; background:#27251b80; }.plan-assessment>strong { font-size:21px; font-weight:550; }.plan-assessment p { font-size:11px; line-height:1.5; }
.plan-assessment[data-lean="buy"] { background:#16352475; }.plan-assessment[data-lean="avoid"] { background:#321b2675; }.outcome-explanation { font-size:10px; margin-top:10px; }.scenario-row { position:relative; padding:11px 0; gap:7px; margin-bottom:3px; font-size:10px; border-bottom:0; }.scenario-row b,.scenario-row strong { font-size:10px; }.scenario-row::after { content:""; position:absolute; bottom:0; left:0; height:2px; width:var(--bar,0%); background:var(--bar-color,var(--mint)); opacity:.65; transition:width .7s cubic-bezier(.2,.7,.2,1); }.scenario-row:nth-child(1) { --bar-color:var(--red); }.scenario-row:nth-child(2) { --bar-color:#c4b4e3; }.scenario-note { font-size:9px; }.past-outcomes { margin-top:10px; padding:8px 0 0; }.past-outcomes summary { font-size:10px; }
.micro-heading { display:flex; gap:8px; align-items:center; padding:14px 14px 0; }.micro-heading h2 { font-size:12px; font-weight:500; }.section-number { color:#6d837b; font:9px var(--mono); }.status-dot { display:inline-block; width:5px; height:5px; border-radius:50%; background:var(--mint); box-shadow:0 0 9px #9cebb970; }.micro-heading .status-dot { margin-left:auto; }
.pulse-head { padding:17px 14px 4px; display:grid; gap:3px; }.pulse-head strong { font:500 27px var(--mono); letter-spacing:-.06em; }.pulse-head>span { font-size:9px; color:var(--quiet); }
#pulse-chart { display:block; width:calc(100% - 24px); height:66px; margin:0 12px; }.pulse-legend { display:flex; justify-content:space-between; font:9px var(--mono); color:var(--muted); margin:10px 14px; }.pulse-legend span { display:flex; align-items:center; gap:4px; }.pulse-legend i { width:5px; height:5px; background:var(--mint); }.pulse-legend span+span i { background:var(--red); }.pulse-legend b { font-weight:500; color:var(--text); }
.session-grid { display:grid; grid-template-columns:repeat(10,1fr); gap:4px; padding:0 14px; }.session-grid span { aspect-ratio:1; border-radius:2px; background:#274737; }.session-grid span.down { background:#633f50; }.session-grid span.flat { background:#4b514f; }.micro-note { font-size:9px; color:var(--quiet); padding:9px 14px 13px; }
.signal-orbit { position:relative; width:120px; height:120px; margin:12px auto 8px; }.signal-orbit svg { width:100%; height:100%; transform:rotate(-90deg); fill:none; stroke-width:3; }.signal-track { stroke:#23342e; stroke-dasharray:2 6; }#signal-progress { stroke:var(--mint); stroke-dasharray:289; stroke-dashoffset:289; stroke-linecap:round; filter:drop-shadow(0 0 4px #a8f0c455); transition:stroke-dashoffset .8s ease; }.signal-orbit>div { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; }.signal-orbit strong { font:500 31px var(--mono); color:var(--mint); }.signal-orbit span { font:8px var(--mono); color:var(--quiet); text-transform:uppercase; letter-spacing:.1em; }
#signal-description { padding:0 14px 14px; text-align:center; font-size:10px; color:var(--muted); }.signal-link { padding:11px 14px; border-top:1px solid var(--line); display:flex; justify-content:space-between; font-size:10px; color:var(--mint); }
.globe-panel { position:relative; overflow:hidden; background:radial-gradient(ellipse at 50% 48%,#0c241952,transparent 65%),#070c0c; }.globe-heading { padding:17px 18px 0; display:flex; justify-content:space-between; align-items:start; position:relative; z-index:1; }.globe-heading .eyebrow { font-size:8px; letter-spacing:.15em; color:var(--quiet); }.globe-heading h2 { font-size:23px; letter-spacing:-.045em; font-weight:500; margin-top:3px; }.globe-heading h2>span { font:9px var(--mono); vertical-align:top; margin:4px; color:var(--mint); }.globe-caption { display:flex; align-items:center; gap:7px; font:8px var(--mono); color:var(--mint); margin-top:5px; }
.globe-stage { height:330px; position:relative; margin-top:-10px; }#globe { width:100%; height:100%; display:block; cursor:grab; touch-action:none; }#globe:active { cursor:grabbing; }#globe:focus-visible { outline-offset:-4px; border-radius:5px; }.globe-label { pointer-events:none; position:absolute; top:40%; font:8px var(--mono); display:grid; gap:6px; max-width:100px; }.globe-label span { font-size:7px; letter-spacing:.08em; color:var(--quiet); }.globe-label b { font-size:9px; font-weight:500; color:var(--mint); }.label-left { left:18px; }.label-right { right:18px; text-align:right; }.label-right b { color:#dfadc6; }.globe-coordinate { position:absolute; bottom:14px; left:50%; transform:translateX(-50%); font:8px var(--mono); letter-spacing:.16em; color:#8ba69a; pointer-events:none; }
.globe-crosshair { position:absolute; color:#3b5245; font:15px var(--mono); pointer-events:none; }.crosshair-a { top:24px; left:18px; }.crosshair-b { bottom:22px; right:18px; }.globe-footer { border-top:1px solid #1a2b234d; display:flex; justify-content:space-between; align-items:center; padding:9px 14px 4px; gap:10px; }.globe-footer>span { font:8px var(--mono); color:var(--quiet); }.globe-controls { display:flex; align-items:center; gap:3px; }.globe-controls button { width:26px; height:26px; background:#101c17; color:var(--mint); border:1px solid #27372f; border-radius:4px; font-size:14px; }.globe-controls button:hover { background:#223c2c; }.globe-controls output { width:44px; text-align:center; font:9px var(--mono); color:var(--muted); }.globe-disclaimer { font-size:8px; text-align:center; color:var(--quiet); padding:4px 12px 10px; }
.evidence-panel { margin-top:1px; }.evidence-card { padding:15px; }.evidence-card strong { font-size:15px; font-weight:550; }.evidence-card p { font-size:11px; }.evidence-card a { font-size:10px; }.research-sources summary { font-size:11px; }
.news-story { transition:background .2s; }.news-story:hover { background:#13221c; }.news-story b { font-size:12px; line-height:1.5; }.news-story .news-kind { font:8px var(--mono); letter-spacing:.03em; }.news-context { font-size:10px; }.page-footer { font:9px var(--mono); }.page-footer button { font:9px var(--mono); }
.research-loading { display:grid; gap:12px; padding:16px 0; color:var(--muted); font-size:11px; }.loading-track { display:flex; gap:5px; }.loading-track i { display:block; height:3px; flex:1; background:#243b2d; animation:scan 1.6s ease-in-out infinite; }.loading-track i:nth-child(2) { animation-delay:.2s; }.loading-track i:nth-child(3) { animation-delay:.4s; }.loading-track i:nth-child(4) { animation-delay:.6s; }
@keyframes scan { 0%,100% { background:#243b2d; } 50% { background:#b5f8c8; box-shadow:0 0 8px #b5f8c830; } }
body.motion-paused *,body.motion-paused *::after { animation-play-state:paused!important; }
@media(min-width:1600px) { .workspace { grid-template-columns:250px minmax(0,1fr) 350px; }.chart-wrap { height:190px; }.globe-stage { height:390px; } }
@media(max-width:1200px) { .workspace { grid-template-columns:175px minmax(0,1fr) 292px; gap:10px; }main { padding-inline:16px; }.topbar { padding-inline:16px; }.brand-divider,.wordmark small { display:none; }.globe-label { top:76%; }.globe-stage { height:300px; }.globe-heading h2 { font-size:21px; }.globe-footer { flex-wrap:wrap; }.asset-stats>div { padding-inline:8px; }.asset-stats strong { font-size:9px; } }
@media(max-width:1000px) { .workspace { grid-template-columns:minmax(0,1fr) 300px; }.insight-column { grid-row:2; grid-column:1/-1; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; }.main-column { grid-row:1; grid-column:1; }.side-column { grid-row:1; grid-column:2; }.globe-stage { height:330px; }.evidence-panel,.news-panel { grid-column:1/-1; }.signal-orbit { width:100px; height:100px; } }
@media(max-width:700px) { :root { --rail-width:0px; }.rail { display:none; }.topbar { grid-template-columns:auto minmax(0,1fr); gap:16px; padding:0 14px; height:60px; }.topbar .local-badge { display:none; }.intro { flex-wrap:wrap; }.intro h1 { font-size:25px; }.intro-tools { width:100%; justify-content:space-between; }.intro .eyebrow { display:none; } main { padding:18px 12px; }.workspace { display:flex; flex-direction:column; gap:12px; }.main-column,.side-column { display:contents; }.insight-column { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); order:4; width:100%; }.insight-column .watch-panel { grid-column:1/-1; }.watch-panel .panel-header { display:flex; }.watch-row { grid-template-columns:1fr 12px; }.watch-id { display:flex; }.watch-id b { width:70px; }.watch-id span { max-width:250px; }.panel { width:100%; }.asset-panel { order:0; }.globe-panel { order:1; }.plan-panel { order:2; }.scenarios-panel { order:3; }.evidence-panel { order:5; }.news-panel { order:6; }.chart-wrap { height:175px; }.globe-stage { height:310px; }.globe-label { top:74%; }.globe-footer { flex-wrap:nowrap; }.globe-footer>span { max-width:170px; line-height:1.5; }.evidence-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }.news-rows { grid-template-columns:1fr; }.plan-assessment>strong { font-size:23px; }.session-grid { gap:4px; }.signal-orbit { margin-block:15px; }.page-footer { line-height:1.7; }.search kbd { display:none; } }
@media(max-width:400px) { .globe-caption { display:none; }.globe-footer>span { max-width:140px; }.evidence-cards { grid-template-columns:1fr; }.intro h1 { font-size:23px; }.asset-meta { gap:3px; }.asset-names h2 { font-size:14px; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
@media(prefers-reduced-transparency:reduce) { .rail,.topbar { backdrop-filter:none; background:#080c0d; } }
