/* Sample-only typography contract. Graphics retain their established colours. */
.stage{--course-font:'PingFang SC','Hiragino Sans GB','Heiti SC','Microsoft YaHei',sans-serif;--era-title:4cqw;--meeting-copy:2.45cqw;--body-copy:1.6cqw;--source-copy:.8cqw;color:#fff;}
.stage :is(h1,h2,h3,h4,p,span,small,strong,b,em,figcaption,a,button,footer,blockquote,div){color:#fff!important;-webkit-text-fill-color:#fff;font-family:var(--course-font)!important;}
.stage :is(strong,b){font-weight:750!important;}
.stage svg text{fill:#fff!important;}
.stage .title{font-weight:650;}
.stage .cover{background:none;}
.stage .cover :is(.source,.chapter-title,.credit){display:inline-block;padding:.24cqw .52cqw;border-radius:.2cqw;background:rgba(255,255,255,.88);color:#171717!important;-webkit-text-fill-color:#171717!important;text-shadow:none!important;box-shadow:0 1px 7px #0002;}
.stage .intro-beat{background:#12212be0;border-color:#ffffff80;text-shadow:0 1px 4px #000;}
.stage :is(.history-heading h2,.second-heading h2,.later-heading h2,.reform-bridge strong){font-size:var(--era-title)!important;font-weight:600!important;line-height:1.3;letter-spacing:.1em;text-shadow:0 3px 18px #000;}
.stage :is(.history-heading p,.second-heading p,.later-heading p,.reform-bridge span){font-size:1.25cqw!important;line-height:1.5;letter-spacing:.4em;margin:0 0 1.1cqw;}
.stage :is(.history-label,.second-label,.third-entry-label,.later-tag){font-size:1.1cqw!important;line-height:1.5;letter-spacing:.16em;text-shadow:0 2px 10px #000;}
.stage :is(.history-label,.second-label,.third-entry-label,.later-tag) small{font-size:.8cqw!important;line-height:1.5;letter-spacing:.04em;margin-top:.55cqw;}
.stage :is(.history-meeting,.second-meeting,.third-meeting,.later-content[data-kind="meeting"]){inset:18% 7% 13%;grid-template-columns:minmax(0,40%) minmax(0,1fr);gap:4%;align-items:center;}
.stage :is(.meeting-copy,.second-meeting>div,.third-meeting-copy,.later-content[data-kind="meeting"] .later-copy){width:fit-content;max-width:100%;height:auto;min-height:0;justify-self:start;align-self:center;padding:1.5cqw 1.8cqw;background:#12222bcc;backdrop-filter:blur(10px);border:1px solid #ffffff70;border-radius:.65cqw;text-shadow:0 1px 4px #0008;box-shadow:0 .8cqw 2.5cqw #0003;}
.stage :is(.history-entry .meeting-goal,.second-meeting p,.second-meeting .second-impact,.third-meeting p,.later-content[data-kind="meeting"] .later-copy h3){font-size:var(--meeting-copy)!important;line-height:1.7;letter-spacing:.015em;font-weight:500;margin:0;text-wrap:pretty;}
.stage .second-meeting .second-impact,.stage .third-meeting-copy p+p{margin-top:1cqw;}
.stage .meeting-goal strong{border:0;}
.stage :is(.meeting-photo,.second-meeting figure,.third-meeting figure,.later-content[data-kind="meeting"] .later-photo){position:relative;width:100%;max-width:100%;height:auto;aspect-ratio:auto;margin:0;padding:.35cqw;display:block;align-self:center;overflow:hidden;background:#ffffff18;border:1px solid #ffffff60;border-radius:.35cqw;}
.stage :is(.meeting-photo img,.second-meeting img,.third-meeting figure img,.later-content[data-kind="meeting"] .later-photo img){width:100%;height:auto;max-height:29cqw;aspect-ratio:auto;object-fit:contain;display:block;margin:0;box-shadow:none;background:transparent;}
.stage :is(.history-entry .meeting-photo figcaption,.second-meeting figcaption,.third-meeting figcaption,.later-content[data-kind="meeting"] .later-photo figcaption){position:static;margin:.5cqw 0 0;padding:.45cqw .5cqw;font-size:var(--source-copy)!important;line-height:1.5;background:#10202bdb;}
.stage .complete-key,.stage .control-primary{background:#183441;border-color:#ffffffb3;text-shadow:0 1px 2px #000;}
.stage .ending-glass{background:#10212bdb;}
.stage .ending-quote{font-family:var(--course-font)!important;}
.stage .spotlight-label{font-size:.96cqw;text-shadow:0 2px 4px #000;}
.stage .relay-era>strong{font-weight:650!important;}
.stage .relay-tool-name{font-size:.95cqw;}
/* Portrait source keeps its natural width instead of a wide empty photo frame. */
.stage .history-meeting .meeting-photo{width:fit-content;justify-self:center;max-width:100%;}
.stage .history-meeting .meeting-photo img{width:auto;max-width:100%;height:29cqw;object-fit:contain;}
.stage .history-meeting .meeting-photo figcaption{max-width:21cqw;}
.stage .term{white-space:nowrap;}
.stage .history-meeting .meeting-photo{width:fit-content!important;}
.stage .history-meeting .meeting-photo img{width:auto!important;height:29cqw!important;}

/* 2026-10-01: intro paragraph and restrained centenary tracks, sample only. */
.stage .portrait-intro{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:0;box-shadow:none;padding:0 1cqw;max-width:49%;font-size:1.9cqw;line-height:1.85;text-shadow:0 1px 4px #fff9;}
.stage .portrait-intro .intro-beat{background:transparent;border:0;box-shadow:none;text-shadow:none;font-size:inherit;}
.stage .portrait-intro .intro-beat.is-revealed{display:inline;animation:none;clip-path:none;transform:none;}
.stage .portrait-intro .intro-beat+.intro-beat{margin:0;}
.stage .portrait-panel :is(h2,p,span,strong){font-family:'Heiti SC','SimHei','PingFang SC','Microsoft YaHei',sans-serif!important;}
.stage .portrait-intro :is(p,span,strong){color:#242d35!important;-webkit-text-fill-color:#242d35!important;}
.stage .portrait-intro strong{font-size:inherit;text-decoration-line:underline;text-decoration-color:#bd2429;text-decoration-thickness:.08em;text-underline-offset:.18em;text-decoration-skip-ink:none;}
.stage .question-panel h2{font-size:2.7cqw;line-height:1.65;max-width:84%;margin:auto;text-wrap:balance;}
.century-tracks .webgl-title{top:16%;font-size:2.7cqw!important;}
.century-tracks .webgl-kicker{top:11%;opacity:.75;}
.goal-track{position:absolute;left:8%;right:8%;top:29%;}
.goal-track.country{top:61%;}
.goal-track-heading{display:flex;align-items:center;gap:1.1cqw;margin-bottom:2.25cqw;}
.goal-track-heading h4{font-size:2.15cqw;line-height:1.4;margin:0;font-weight:600;}
.goal-index{font-size:1.1cqw;opacity:.65;border-bottom:1px solid #ffffff70;padding:.4cqw 0;}
.goal-status{font-size:1.05cqw;margin-left:auto;opacity:.65;}
.goal-track-rail{height:.7cqw;position:relative;background:#ffffff18;border-radius:1cqw;box-shadow:0 .25cqw .75cqw #0004,inset 0 1px 0 #ffffff35;}
.goal-track-fill{height:100%;width:100%;border-radius:1cqw;transform-origin:left;background:linear-gradient(180deg,#f2deb4,#bd9760);box-shadow:0 .15cqw 0 #755634,0 0 1.3cqw #eed4a020;}
.country .goal-track-fill{width:77%;background:linear-gradient(180deg,#d3eff1,#71b5c4);box-shadow:0 .15cqw 0 #376b79;}
.goal-track-future{position:absolute;left:78%;right:0;top:0;bottom:0;background:repeating-linear-gradient(90deg,#a4dae780 0 .65cqw,transparent .65cqw 1.2cqw);border-radius:1cqw;}
.goal-now{position:absolute;left:77%;top:-.35cqw;width:.9cqw;height:1.4cqw;transform:translateX(-50%);background:#e8fcff;border-radius:.3cqw;box-shadow:0 0 1.2cqw #c8f4ff70;}
.goal-track-years{display:flex;justify-content:space-between;position:relative;margin-top:1cqw;font-size:1.55cqw;line-height:1.4;}
.goal-current{position:absolute;left:77%;transform:translateX(-50%);font-size:1.1cqw;line-height:2;}
.goal-track-target{display:flex;align-items:center;gap:1.4cqw;margin-top:1.35cqw;}
.goal-track-target p{margin:0;font-size:1.8cqw;line-height:1.5;}
.goal-underway{font-size:1cqw;white-space:nowrap;opacity:.7;margin-left:auto;}
.stage .goal-track .complete-key{font-size:1.1cqw;border-radius:2cqw;padding:.3cqw .8cqw;box-shadow:none;background:#27595680;border:1px solid #afd8c77a;}
.goal-track .complete-key b{font-size:1.25cqw;}
.proclamation-scene{perspective:1800px;}
.proclamation-scene .webgl-title{top:15%;font-size:2.05cqw!important;right:6%;}
.proclamation-sheet{position:absolute;left:6%;top:29%;width:88%;height:59%;transform-style:preserve-3d;will-change:transform;}
.proclamation-sheet .centenary-aside{left:0;top:0;width:44%;}
.proclamation-sheet .centenary-aside h4{display:none;}
.proclamation-sheet .century-summary{left:49%;right:0;top:0;}
.proclamation-sheet .century-summary h4{font-size:2cqw;line-height:1.5;margin-bottom:1.4cqw;}
.proclamation-sheet .century-summary p{font-size:1.68cqw;line-height:1.95;}
.proclamation-sheet .centenary-aside img{border:1px solid #ffffff70;box-shadow:.5cqw 1.1cqw 2cqw #0007;}
.proclamation-scene .achievement-title{position:absolute;left:52%;top:32%;font-size:2cqw;font-weight:600;margin:0;}
.achievement-ground{position:absolute;left:46%;right:4%;top:63%;height:20%;background:linear-gradient(175deg,transparent,#99cfe914);border-bottom:1px solid #c6e5f24a;transform:skewY(-8deg);}
.proclamation-scene .column-label{width:15%;}
.proclamation-scene .column-label .big{font-size:2.8cqw;}
.proclamation-scene .column-complete{font-size:1.05cqw;}
.proclamation-scene .column-base-label{width:15%;}
.proclamation-scene .column-base-label h4{font-size:1.6cqw;}
.proclamation-scene .column-base-label p{font-size:.9cqw;}
.proclamation-scene .webgl-foot{font-size:.75cqw;}

.stage .portrait-intro strong{white-space:nowrap;}
.stage .portrait-panel.is-question .portrait-intro{opacity:0;}


/* Goals sit directly after each anniversary heading, above its rail. */
.goal-track-heading{gap:.35cqw;margin-bottom:.55cqw;white-space:nowrap;}
.goal-track-heading h4{font-size:1.85cqw;font-weight:750;flex-shrink:0;}
.goal-track-heading .goal-track-target{margin:0;gap:.65cqw;min-width:0;}
.stage .goal-track-heading .goal-track-target p{font-size:1.85cqw;line-height:1.4;font-weight:800;color:#fff3cc!important;-webkit-text-fill-color:#fff3cc!important;text-shadow:0 1px 5px #0008;}
.stage .country .goal-track-heading h4{font-size:1.6cqw;}
.stage .country .goal-track-heading .goal-track-target p{font-size:1.6cqw;color:#e0faff!important;-webkit-text-fill-color:#e0faff!important;}
.goal-track>.goal-status{display:block;margin:0 0 1.4cqw 2cqw;font-size:1.05cqw;opacity:.85;}
.stage .goal-track .complete-key{font-size:1.5cqw;font-weight:800;white-space:nowrap;background:transparent;border:0;padding:0;}

/* Vector subjects remain sharp at any display scale; no drop or ground shadow. */
.spotlight-vector{position:absolute;object-fit:contain;pointer-events:none;filter:none!important;box-shadow:none!important;z-index:3;}
.stage .relay-cutout>img{filter:none!important;box-shadow:none!important;image-rendering:auto;}
.spotlight-leaders,.spotlight-label,.spotlight-heading,.spotlight-note{z-index:4;}

/* Recording rhythm: a light wash supports the paragraph over the wooden cabinet. */
.stage .portrait-intro{background:linear-gradient(90deg,#fff8ede8,#fff8edd9 86%,#fff8ed00);padding:.55cqw 1.1cqw;text-shadow:none;}
.stage:has(.portrait-panel.is-visible:not(.is-question)) .tv-media{filter:brightness(.72) saturate(.78);}
.stage .tv-media{transition:filter .4s ease;}
.proclamation-sheet .century-summary h4{margin-bottom:1cqw;}
.spotlight-focus{position:absolute;left:4.5%;top:15%;margin:0;font-size:1.65cqw;line-height:1.6;text-shadow:0 2px 12px #000;z-index:4;}
.spotlight-focus[hidden]{display:none;}
.scene-spotlight[data-scene="6"] .spotlight-label{font-size:1.05cqw;}
/* Cover video captions and vermilion signature seal. */
.stage .cover :is(.source,.chapter-title){display:block;padding:0;background:none;box-shadow:none;border-radius:0;color:#fff!important;-webkit-text-fill-color:#fff!important;text-shadow:0 2px 8px #000,0 0 2px #000!important;font-family:'Songti SC','STSong','SimSun',serif!important;}
.stage .cover .source{font-size:1.28cqw;letter-spacing:.015em;font-weight:600;}
.stage .cover .chapter-title{font-size:1.95cqw;letter-spacing:.025em;font-weight:600;}
.stage .cover :is(.source-block,.chapter-block){opacity:1;}
.stage .cover.is-entering :is(.source-block,.chapter-block){animation:cover-caption-arrive 650ms ease-out 2650ms both;}
@keyframes cover-caption-arrive{from{opacity:0;filter:blur(4px)}to{opacity:1;filter:blur(0)}}
.stage .cover .credit{display:flex;flex-direction:column;align-items:center;gap:.08cqw;margin:0;padding:.42cqw .55cqw;background:rgba(255,249,235,.93);border:double .28cqw #a8291f;border-radius:.12cqw;box-shadow:0 1px 7px #0003;color:#a8291f!important;-webkit-text-fill-color:#a8291f!important;text-shadow:none!important;font-family:'Songti SC','STSong','SimSun',serif!important;font-weight:700;font-size:1.12cqw;line-height:1.3;letter-spacing:.04em;}
.stage .cover .credit span{color:#a8291f!important;-webkit-text-fill-color:#a8291f!important;font-family:'Songti SC','STSong','SimSun',serif!important;}
.stage .cover .credit-name{font-size:1.35em;letter-spacing:.26em;padding-left:.26em;}
html[data-motion='reduced'] .stage .cover.is-entering :is(.source-block,.chapter-block){animation:none!important;opacity:1!important;filter:none!important;}
@media (prefers-reduced-motion:reduce){html[data-motion='system'] .stage .cover.is-entering :is(.source-block,.chapter-block){animation:none!important;opacity:1!important;filter:none!important;}}
