@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500&display=swap');
/* Scroll-linked scenario: a clear page heading, persistent stage strip and timeline. */
#view-forecast{--forecast-red:#ff3946;--reader-serif:'Space Grotesk',system-ui,sans-serif;--reader-white:#eeece5;--reader-line:#30382f;--position-height:108px}
.reader-page-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:29px 0 25px;border-bottom:1px solid var(--reader-line)}.reader-page-heading .eyebrow{font-size:9px;margin-bottom:8px}.reader-page-heading h1{font-family:var(--sans);font-size:36px;line-height:1.16;letter-spacing:-1.2px;font-weight:500}.reader-page-heading p:last-child{font-size:12px;color:#9eab9b;margin-top:10px}.reader-badge{display:inline-block;font-family:var(--mono);font-size:8px;letter-spacing:.8px;line-height:1.5;border:1px solid #73323a;color:var(--forecast-red);padding:7px 10px;white-space:nowrap}
.forecast-position{position:sticky;top:0;z-index:15;display:grid;grid-template-columns:minmax(180px,.85fr) repeat(2,minmax(0,1fr));align-items:stretch;gap:14px;padding:12px 0;background:#0c100ff7;border-bottom:1px solid #43503e;box-shadow:0 10px 18px #05080555;backdrop-filter:blur(12px)}.position-date{display:flex;flex-direction:column;justify-content:center;gap:4px;padding-left:12px;border-left:3px solid var(--forecast-red)}.position-date>span{font-family:var(--mono);font-size:9px;letter-spacing:1px;color:#edf1e7}.position-date>span small{font-size:8px;color:#91a089;margin-left:6px}.position-date>strong{font-family:var(--mono);font-weight:400;font-size:23px;letter-spacing:-1px;line-height:1.3}.position-date>small{font-size:9px;color:#91a089}.position-level{border:1px solid color-mix(in srgb,var(--level-color) 45%,#29342b);border-radius:5px;background:var(--level-tint);padding:9px 13px 10px;min-width:0}.position-level>span{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:9px;letter-spacing:.7px;color:#becbbf;line-height:16px}.position-level svg{width:17px;height:17px;flex-shrink:0;color:var(--level-color)}.position-level>strong{display:block;font-size:24px;font-weight:500;line-height:1.2;color:var(--level-color);margin-top:5px;letter-spacing:-.4px}.position-scale{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;margin-top:9px}.position-scale i{height:3px;background:var(--segment-color);opacity:.18;border-radius:1px}.position-scale .is-reached{opacity:.8}.position-scale .is-selected{opacity:1;outline:1px solid white;outline-offset:2px}
.forecast-reader{display:grid;grid-template-columns:176px minmax(0,1fr) 310px;align-items:start;border-bottom:1px solid var(--reader-line)}.forecast-rail{position:sticky;top:calc(var(--position-height) + 16px);margin:25px 18px 25px 0;min-width:0;align-self:start}.rail-heading{padding:0 10px 14px}.rail-heading strong{font-size:17px;font-weight:500;display:block}.rail-heading>span{font-family:var(--mono);font-size:9px;color:#b3c0ab;display:block;margin-top:5px}.rail-heading>small{font-size:9px;color:#74876c;display:block;margin-top:5px}.rail-events{max-height:calc(100svh - var(--position-height) - 156px);min-height:160px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#4c5c42 transparent;overscroll-behavior:contain;padding:5px 4px 5px 0}.rail-events ol{list-style:none;margin:0;padding:0;position:relative}.rail-events ol:before{content:'';position:absolute;left:17px;top:15px;bottom:25px;width:2px;background:#603138}.rail-events a{position:relative;display:grid;grid-template-columns:20px minmax(0,1fr) 12px;gap:7px;align-items:start;min-height:45px;padding:7px 5px 7px 8px;border:1px solid transparent;border-radius:4px;color:#aebba5}.rail-events i{display:block;justify-self:center;position:relative;z-index:1;width:9px;height:9px;margin-top:4px;border-radius:50%;border:1px solid #b9c6b0;background:#0c100f}.rail-date{font-family:var(--mono);font-size:12px;line-height:1.35;font-weight:500;white-space:nowrap}.rail-date small{font-size:10px;color:#819376}.rail-date b{display:block;font-size:7px;font-weight:400;letter-spacing:.6px;margin-top:4px;color:#6e8264}.rail-here{visibility:hidden;font-size:16px;line-height:1.2;color:var(--forecast-red)}.rail-events [aria-current=step]{background:#36191c;border-color:#a64049;color:#fff3ed}.rail-events [aria-current=step] i{background:var(--forecast-red);border-color:var(--forecast-red);outline:1px solid var(--forecast-red);outline-offset:3px}.rail-events [aria-current=step] small,.rail-events [aria-current=step] b{color:#e9a5a7}.rail-events [aria-current=step] .rail-here{visibility:visible}.rail-events a:hover{background:#ffffff06;color:#edf2e7}.rail-events .rail-end b{color:var(--forecast-red)}.rail-key{font-size:9px;color:#a1b196;padding:12px 10px 0;display:flex;align-items:center;gap:8px}.rail-key i{width:6px;height:6px;background:var(--forecast-red);border-radius:50%}
.reader-main{min-width:0;border-left:1px solid var(--reader-line);padding:0 30px}.reader-event{position:relative;padding:35px 0 55px;min-height:620px;border-bottom:1px solid var(--reader-line);scroll-margin-top:calc(var(--position-height) + 20px)}.reader-event.is-reading:before{content:'';position:absolute;left:-31px;top:36px;width:2px;height:60px;background:var(--forecast-red)}.reader-chapter-count{font-family:var(--mono);font-size:8px;letter-spacing:1px;color:#889b7d;margin-bottom:15px}.reader-chapter-date{font-family:var(--reader-serif);font-size:43px;font-weight:500;line-height:1.15;letter-spacing:-1px;color:var(--reader-white);outline:none;scroll-margin-top:calc(var(--position-height) + 20px)}.reader-chapter-date>time{display:block;font-size:17px;line-height:1.4;letter-spacing:0;font-family:var(--mono);color:#d3dcca;margin-bottom:15px}.reader-chapter-date>span{display:block}.reader-story{font-family:var(--reader-serif);font-size:20px;line-height:1.65;color:#c4cbbc;margin:22px 0}.reader-story p+p{margin-top:16px}.chapter-stage-tags{display:flex;gap:8px 18px;flex-wrap:wrap;margin:24px 0}.chapter-stage-tags>span{font-size:10px;color:#8fa382}.chapter-stage-tags strong{font-size:12px;font-weight:500;color:var(--tag-color);margin-left:5px}.reader-date-note,.chapter-home{border-top:1px solid #293426;margin-top:12px;font-size:11px}.reader-date-note summary,.chapter-home summary,.reader-method summary{display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;list-style:none;padding:13px 0;color:#bdcbb3}.reader-date-note summary::-webkit-details-marker,.chapter-home summary::-webkit-details-marker,.reader-method summary::-webkit-details-marker{display:none}.reader-date-note summary:focus-visible,.chapter-home summary:focus-visible,.reader-method summary:focus-visible{outline:2px solid var(--lime);outline-offset:3px}.reader-date-note[open] summary>span,.chapter-home[open] summary>span,.reader-method[open] summary>span{transform:rotate(45deg)}.reader-date-note>div{border-left:1px solid #73323a;padding:2px 0 5px 14px;margin:5px 0 14px}.reader-date-note h3{font-size:13px;letter-spacing:0;color:#d3dfc9;margin:10px 0 6px}.reader-date-note p{font-size:12px;color:#9dae92;line-height:1.8;margin:8px 0}.reader-note-small{font-size:10px!important;line-height:1.7;color:#8da07f}.reader-note-small a{text-decoration:underline;text-underline-offset:3px}.reader-next-event{display:flex;justify-content:space-between;align-items:center;gap:20px;font-family:var(--mono);font-size:10px;color:#bdccb1;padding:23px 0 0}.reader-next-event>span{font-size:20px;color:var(--forecast-red)}.reader-ending{margin-top:25px}.reader-ending h3{font-family:var(--reader-serif);font-size:29px;font-weight:400}.reader-ending p{font-size:12px;color:#a2b394;margin:12px 0 20px}.reader-disclaimer{font-size:10px;color:#879c78;line-height:1.8;margin:25px 0}
.reader-aside{position:sticky;top:calc(var(--position-height) + 18px);border-left:1px solid var(--reader-line);padding:0 0 20px 22px;min-width:0;align-self:start;margin-top:25px}.reader-aside-label{font-family:var(--mono);font-size:8px;letter-spacing:1px;color:#aabc9c}.reader-illustration{margin:16px -5px}.reader-illustration img{display:block;width:100%;height:auto;border-radius:3px}.reader-illustration figcaption{font-size:7px;color:#748969;text-align:right;margin-top:4px}.reader-summary-date{font-family:var(--mono);font-size:14px;text-transform:uppercase;color:#d7e0ce}.reader-summary-text{font-family:var(--reader-serif);font-size:17px;line-height:1.5;color:#bfcdb3;margin-top:9px}.reader-home{border-top:1px solid var(--reader-line);padding-top:18px;margin-top:19px}.reader-home h2{font-family:var(--reader-serif);font-size:23px;font-weight:400;letter-spacing:-.3px}.reader-home>p{font-size:10px;color:#8da47b;margin-top:6px}.reader-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 13px;margin-top:21px}.reader-services>div{min-width:0}.reader-services svg{width:23px;height:23px;color:#cfdec1;margin-bottom:8px}.reader-services h3{font-family:var(--reader-serif);font-size:14px;line-height:1.35;font-weight:400;letter-spacing:0}.reader-services p{font-size:9px;line-height:1.65;color:#93a984;margin-top:6px}.chapter-home .reader-services{margin-top:6px;margin-bottom:18px}.reader-sources-link{display:inline-flex;gap:14px;font-size:11px;color:#b2c4a4;padding:8px 0;margin-top:18px;text-decoration:underline;text-underline-offset:3px}
.reader-method{margin:25px 0 0 206px;border:1px solid var(--reader-line);border-radius:4px;scroll-margin-top:calc(var(--position-height) + 20px)}.reader-method summary{font-size:12px;padding:17px 20px}.reader-method>div{padding:0 20px 24px;max-width:950px}.reader-method h2{font-family:var(--reader-serif);font-size:27px;margin:12px 0}.reader-method p{font-size:12px;line-height:1.8;color:#9fac96;margin:12px 0}.reader-source-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin:20px 0}.reader-source-list a{display:block;border-top:1px solid var(--reader-line);padding-top:13px}.reader-source-list strong{display:block;font-size:11px;font-weight:500;line-height:1.6}.reader-source-list span{display:block;font-size:10px;color:#8f9d86;line-height:1.7;margin-top:8px}
@media(max-width:1200px){.forecast-reader{grid-template-columns:154px minmax(0,1fr) 270px}.reader-main{padding:0 25px}.reader-event.is-reading:before{left:-26px}.reader-aside{padding-left:18px}.reader-story{font-size:18px}.reader-chapter-date{font-size:36px}.reader-method{margin-left:179px}.forecast-rail{margin-right:12px}.rail-events a{grid-template-columns:17px minmax(0,1fr) 10px;padding-left:6px;gap:5px}.rail-events ol:before{left:14px}.rail-date{font-size:11px}.rail-date small{font-size:9px}}
@media(max-width:1100px){.forecast-reader{grid-template-columns:154px minmax(0,1fr)}.reader-aside{display:none}.reader-main{padding-right:0}.reader-event{min-height:580px}.reader-chapter-date{font-size:40px}.reader-story{font-size:20px}.reader-services{grid-template-columns:repeat(4,minmax(0,1fr))}.position-date>strong{font-size:20px}.position-date>span small{display:none}.position-level>strong{font-size:21px}.position-level>span{font-size:8px;letter-spacing:.4px}.reader-method{margin-left:179px}.reader-source-list{grid-template-columns:1fr}}
@media(max-width:700px){#view-forecast{--position-height:132px}.reader-page-heading{align-items:flex-start;padding:23px 0 20px;gap:14px;flex-direction:column}.reader-page-heading h1{font-size:30px}.reader-page-heading p:last-child{font-size:11px;line-height:1.7;margin-top:9px}.reader-page-heading .eyebrow{font-size:8px}.reader-badge{font-size:7px;padding:5px 7px}.forecast-position{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px 0 10px}.position-date{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between;gap:8px;padding-left:8px;border-left-width:2px}.position-date>span{font-size:7px;letter-spacing:.3px}.position-date>strong{font-size:15px;letter-spacing:-.5px;white-space:nowrap}.position-date>small{font-size:8px;white-space:nowrap}.position-level{padding:7px 9px 8px}.position-level>span{font-size:7px;letter-spacing:.2px;gap:5px;line-height:13px}.position-level svg{width:13px;height:13px}.position-level>strong{font-size:clamp(13px,4vw,20px);margin-top:4px;line-height:20px;letter-spacing:-.3px}.position-scale{gap:3px;margin-top:6px}.position-scale i{height:3px}.forecast-reader{grid-template-columns:76px minmax(0,1fr)}.forecast-rail{top:calc(var(--position-height) + 12px);margin:22px 8px 22px 0}.rail-heading{padding:0 2px 10px}.rail-heading strong{font-size:12px}.rail-heading>span{font-size:7px;line-height:1.7;letter-spacing:-.3px}.rail-heading>small{display:none}.rail-events{max-height:calc(100svh - var(--position-height) - 112px);padding-right:0}.rail-events a{display:block;min-height:44px;padding:7px 2px 7px 13px;border-radius:3px}.rail-events i{position:absolute;left:3px;top:9px;margin:0;width:6px;height:6px}.rail-events ol:before{left:6px;top:13px;bottom:22px;width:1px}.rail-date{font-size:10px;white-space:normal}.rail-date small{display:block;font-size:9px;margin-top:1px}.rail-date b{display:none}.rail-events .rail-end b{display:block;font-size:6px;letter-spacing:0;margin-top:3px}.rail-here{display:none}.rail-key{font-size:7px;gap:4px;padding:10px 0 0}.rail-key i{width:4px;height:4px}.rail-events [aria-current=step] i{outline-offset:2px}.reader-main{padding:0 0 0 15px}.reader-event{padding:27px 0 35px;min-height:560px}.reader-event.is-reading:before{left:-16px;top:28px;height:48px}.reader-chapter-count{font-size:6px;letter-spacing:.3px;line-height:1.7;margin-bottom:12px}.reader-chapter-date{font-size:28px;letter-spacing:-.7px}.reader-chapter-date>time{font-size:14px;margin-bottom:14px}.reader-story{font-size:17px;line-height:1.65;margin-top:17px}.reader-story p+p{margin-top:15px}.chapter-stage-tags{gap:7px;margin:20px 0}.chapter-stage-tags>span{font-size:9px}.chapter-stage-tags strong{font-size:10px}.reader-date-note,.chapter-home{font-size:10px}.reader-date-note p{font-size:11px}.reader-services{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 10px}.reader-services h3{font-size:13px;overflow-wrap:anywhere}.reader-services p{font-size:9px}.reader-next-event{font-size:9px;line-height:1.7;gap:8px}.reader-ending h3{font-size:24px}.reader-ending p{font-size:11px;line-height:1.7}.reader-ending .button{padding:11px 10px;font-size:10px;gap:8px}.reader-disclaimer{font-size:8px;line-height:1.8}.reader-method{margin-left:91px}.reader-method summary{padding:13px 10px;font-size:10px}.reader-method>div{padding:0 10px 16px}.reader-method p{font-size:11px}.reader-method h2{font-size:24px}}
@media(max-width:400px){.reader-page-heading h1{font-size:27px}.forecast-reader{grid-template-columns:64px minmax(0,1fr)}.forecast-rail{margin-right:5px}.rail-heading strong{font-size:11px}.rail-heading>span{font-size:6px}.rail-date{font-size:9px}.rail-date small{font-size:8px}.rail-key{font-size:6px}.reader-main{padding-left:12px}.reader-event.is-reading:before{left:-13px}.reader-chapter-date{font-size:25px}.reader-chapter-date>time{font-size:13px}.reader-story{font-size:16px}.reader-method{margin-left:76px}.position-level>span{font-size:6px}.position-level>strong{font-size:13px}.position-date>strong{font-size:14px}.position-date>small{font-size:7px}}
@media(min-width:1101px) and (max-height:760px){.reader-illustration{display:none}}
@media(min-width:401px) and (max-width:590px){}
@media(max-width:700px){.position-date>span small{display:block;font-size:6.5px;line-height:1.4;letter-spacing:.1px;margin-left:0;color:#96a78b}}
@media(max-width:400px){.rail-date{font-size:10px}.rail-date small{font-size:9px}.rail-key{font-size:7px}.position-level>span{font-size:7px}.position-level>strong{font-size:14px}}
/* Compact provenance and clear transitions between dates. */
.reported-sources{border-top:1px solid var(--reader-line);margin-top:16px;padding:0;display:block}.reported-sources summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:12px 0;list-style:none;cursor:pointer;font-size:11px;line-height:20px;color:#bfceb7}.reported-sources summary::-webkit-details-marker{display:none}.reported-sources summary>span{display:flex;align-items:center;gap:8px}.reported-sources summary small{font-family:var(--mono);font-size:9px;border:1px solid #46523f;border-radius:3px;padding:0 5px;line-height:16px;color:#91a584}.reported-sources summary i{font-style:normal;font-size:16px;color:#a9ba9e}.reported-sources[open] summary i{transform:rotate(45deg)}.reported-sources summary:focus-visible{outline:2px solid var(--lime);outline-offset:3px}.reported-source-links{display:flex;flex-direction:column;gap:12px;padding:2px 0 14px}.reported-source-links>a{font-size:11px;line-height:1.7;color:#d4e1d0}.reported-source-links>a:hover{text-decoration:underline;text-underline-offset:3px}.reported-source-links small{display:block;font-size:9px;line-height:1.6;color:#8b9f83}.reader-method h3{font-size:15px;letter-spacing:0;margin-top:22px}.is-reported .reader-chapter-count{color:#8bb9b0}
.forecast-phase-boundary{padding:17px 18px;border:1px solid #7d5931;background:#251e15;border-radius:4px;margin-bottom:30px}.forecast-phase-boundary strong{font-size:14px;font-weight:500;color:#ebcd99;display:block}.forecast-phase-boundary span{font-size:10px;line-height:1.7;color:#c0b394;display:block;margin-top:5px}
#view-forecast .reader-event{min-height:0;padding:30px 0 34px;border-bottom:2px solid #46523f;margin-bottom:18px}.reader-event:last-child{border-bottom:0!important;margin-bottom:0!important}.reader-chapter-date>time{display:block;background:linear-gradient(to right,#1b251c,transparent);border-top:1px solid #54634a;border-bottom:1px solid #303e2c;padding:11px 13px;font-size:20px;line-height:1.4;letter-spacing:.2px;margin-bottom:22px}.reader-event.is-reading .reader-chapter-date>time{box-shadow:inset 3px 0 var(--forecast-red);color:#eef2e6}.reader-event-footer{margin-top:28px;padding-top:20px;border-top:1px solid #33412d}.reader-next-event{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 18px;border:1px solid #5b6b4c;border-radius:5px;background:#1c251a;color:#e9f0e2;text-decoration:none;min-height:96px}.reader-next-event>.reader-next-copy{display:flex;flex-direction:column;gap:6px;min-width:0;color:inherit;font-size:inherit}.reader-next-copy>small{font-family:var(--mono);font-size:9px;letter-spacing:1px;line-height:1.4;color:#bbd1a3}.reader-next-copy>strong{font-family:var(--mono);font-size:22px;font-weight:500;line-height:1.3;letter-spacing:-.6px}.reader-next-copy>span{font-family:var(--sans);font-size:12px;line-height:1.5;color:#acbca0}.reader-next-event>i{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:38px;height:38px;border-radius:50%;border:1px solid #768f60;font-style:normal;font-size:24px;color:#def3c2}.reader-next-event:hover{background:#25321f;border-color:#b1ce8b}.reader-next-event:hover>i{border-color:#d8f79b;background:#d8f79b;color:#192314}.forecast-anchor-alias{position:absolute;top:0;left:0;width:0;height:0;scroll-margin-top:calc(var(--position-height) + 20px)}
@media(max-width:700px){.reported-sources summary{font-size:10px}.reported-source-links>a{font-size:10px}.reported-source-links small{font-size:8px}.forecast-phase-boundary{padding:12px}.forecast-phase-boundary strong{font-size:12px}.forecast-phase-boundary span{font-size:9px}.rail-date{line-height:1.5}#view-forecast .reader-event{padding:24px 0 27px;margin-bottom:14px}.reader-chapter-date>time{font-size:16px;padding:9px 10px;margin-bottom:18px}.reader-event-footer{margin-top:23px;padding-top:17px}.reader-next-event{padding:13px 12px;gap:12px;min-height:96px}.reader-next-copy>small{font-size:7px;letter-spacing:.5px}.reader-next-copy>strong{font-size:17px;letter-spacing:-.4px}.reader-next-copy>span{font-size:10px}.reader-next-event>i{width:28px;height:28px;font-size:20px}}

/* Stable image framing while the illustration changes with the date. */
#forecast-focus img{aspect-ratio:3/2;object-fit:cover;background:#0c100f}#forecast-focus figcaption{min-height:14px;line-height:1.5}.position-date{gap:5px}

/* Selected subtle whole-page tint follows the cyber stage, independently of AI. */
#view-forecast,body:has(#view-forecast:not([hidden])){--forecast-background:color-mix(in srgb,var(--forecast-cyber-color,#0c100f) 11%,#0c100f)}
body:has(#view-forecast:not([hidden])){background-color:var(--forecast-background);transition:background-color .45s ease}
#view-forecast .forecast-reader,#view-forecast .forecast-position{background-color:var(--forecast-background);transition:background-color .45s ease}
body:has(#view-forecast:not([hidden])) .site-header,body:has(#view-forecast:not([hidden])) .site-footer{background:transparent}
@media(prefers-reduced-motion:reduce){body:has(#view-forecast:not([hidden])),#view-forecast .forecast-reader,#view-forecast .forecast-position{transition:none}}

.reader-recovery{border-color:#82404a}.reader-recovery summary{min-height:64px;font-size:18px}.reader-recovery summary strong{font-weight:500}.reader-recovery p{font-size:15px;color:#c4cbbc}.reader-recovery .button{margin-top:18px;white-space:normal;line-height:1.6}.reader-recovery-link{width:100%;text-align:left;cursor:pointer}.reader-recovery h3{color:var(--reader-white)}
@media(max-width:700px){.reader-recovery{margin-left:0}.reader-recovery summary{font-size:18px;padding:16px}.reader-recovery>div{padding:0 16px 24px}.reader-recovery p{font-size:14px}.reader-recovery .button{font-size:11px}}

/* Keep the phone timeline scrollable without a visible scrollbar. */
@media(max-width:700px){.rail-events{scrollbar-width:none}.rail-events::-webkit-scrollbar{display:none}}
