/* Performance-system page, part 1: hero, the film frame (stage, ticks, grounds, relay), heads, shared controls.
   Every selector is ps- prefixed or scoped to this page. Motion animates transform, opacity, clip-path and filter
   only. Pre-states exist only under :root[data-m-go][data-ps-live] (the kit's go flag and this page's script flag),
   so reduced motion, Calm and a failed script all show the composed state. */
.ps-film{--ps-night:#072d2b;--ps-forest:#0e4d4a;--ps-paper:#f6f4ef;--ps-sagep:#eaf1ec;--ps-inight:#1b2650;--ps-indigo:#2c3e7a;--ps-ochre:#c98a2b;--ps-ochre-hi:#e9b04f;--ps-ochre-ink:#7d4f0c;--ps-sage:#6bb68f;--ps-leaf:#2f7354;--ps-on-dark:#e9f1ec;--ps-on-dark-2:#c9dccf;--ps-ink:#1d2826;--ps-ink-2:#33403d;--ps-io:cubic-bezier(.65,0,.35,1);--ps-out:cubic-bezier(.16,1,.3,1)}
.ps-mono{font:600 13px/1.5 var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase}
.ps-body{font-size:17px;line-height:1.58;letter-spacing:-.005em;margin:0}
.ps-note{font-size:14px;line-height:1.5;margin:0}
.ps-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* ---------- hero (splash structure, kept): read-out fixed to 22 px values and 13 px labels ---------- */
[data-page="prog-a-performance"] .gft-splash{min-height:max(640px,calc(88svh - 88px))}
[data-page="prog-a-performance"] .gft-splash__content{padding-top:56px;padding-bottom:36px}
[data-page="prog-a-performance"] .gft-splash h1{font-size:clamp(3.9rem,6.8vw,7.1rem);max-width:7.2em;line-height:1.02}
[data-page="prog-a-performance"] .gft-splash h1 .gft-serif{letter-spacing:-.055em;display:inline-block;transform-origin:0 50%}
:root[data-m-go] [data-page="prog-a-performance"] .gft-splash h1 .gft-serif{animation-name:ps-swing;animation-duration:900ms;animation-delay:260ms;animation-timing-function:var(--gft-ease-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
@keyframes ps-swing{from{opacity:0;transform:perspective(700px) rotateY(68deg)}to{opacity:1;transform:perspective(700px) rotateY(0)}}
[data-page="prog-a-performance"] .gft-splash__lede{max-width:26.5em;font-size:clamp(1.0625rem,1.3vw,1.25rem);line-height:1.6}
[data-page="prog-a-performance"] .gft-splash__structure{inset:0 0 0 39%;align-items:stretch}
[data-page="prog-a-performance"] .gft-splash__structure::after{background:linear-gradient(90deg,#072d2b 0,#072d2bcc 10%,#072d2b00 34%)}
[data-page="prog-a-performance"] :is(.gft-splash__data,.gft-splash__data span,.gft-splash__caption,.gft-splash__position,.gft-splash__cue,.gft-splash__signal,.gft-eyebrow){font-size:13px}
[data-page="prog-a-performance"] :is(.gft-splash__caption,.gft-splash__position,.gft-splash__data span){color:#c9dccf}
.ps-hero{position:relative;width:100%;height:100%;min-height:600px;overflow-anchor:none}
.ps-hero__svg{display:block;width:100%;height:100%;min-height:600px;overflow:hidden}
.ps-hero__deck{display:flex;flex-direction:column;gap:20px;max-width:520px}
.ps-hero__actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.ps-status{font:13px/1.7 var(--gft-font-mono);color:#d4e6db;border-left:1px solid #6bb68f99;padding-left:20px}
.ps-hero__strip{display:grid;gap:8px;padding:12px 14px;background:#072d2bd9;border:1px solid #6bb68f66}
.ps-hero__strip-hd{margin:0;display:flex;justify-content:space-between;gap:12px;color:#c9dccf}
.ps-hero__pills{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.ps-hero__pill{appearance:none;min-height:44px;padding:6px 10px;display:flex;align-items:center;gap:6px;background:#0a3d3a99;border:1px solid #6bb68f66;border-radius:4px;color:#e9f1ec;font:700 14px/1.2 var(--gft-font-sans);cursor:pointer;text-align:left}
.ps-hero__pill .ps-mono{color:#8fd0ac;font-size:12px}
.ps-hero__pill b{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ps-hero__pill[data-active]{background:#e9b04f;border-color:#e9b04f;color:#072d2b}
.ps-hero__pill[data-active] .ps-mono{color:#072d2b}
.ps-hero__pill:focus-visible{outline:3px solid #e9b04f;outline-offset:2px}
.ps-hero__warp,.ps-hero__weft,.ps-hero__threads,.ps-hero__counter{overflow-anchor:none}
.ps-hero__orbit{transform-origin:400px 380px;overflow-anchor:none}
:root[data-m-go] .ps-hero__counter{animation-name:ps-counter;animation-duration:140s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:normal;animation-play-state:var(--m-play)}
@keyframes ps-counter{to{rotate:-360deg}}
.ps-hero[data-ps-stop] :is(.ps-hero__orbit,.ps-hero__counter){animation-play-state:paused!important}
.ps-hero__spoke{stroke:#6bb68f;stroke-opacity:.26;stroke-width:1.3;transition:stroke .6s,stroke-opacity .6s}
.ps-hero__ring{opacity:.55;transition:opacity .6s}
.ps-hero__ring[data-active]{opacity:1}
.ps-hero__disc{fill:#072d2b;stroke:#6bb68f;stroke-opacity:.75;stroke-width:1.6}
.ps-hero__ticks{stroke:#6bb68f;stroke-opacity:.7;stroke-width:1.3;fill:none}
.ps-hero__arc{stroke:#6bb68f;stroke-width:4;stroke-linecap:round;fill:none}
.ps-hero__idx{font:800 24px var(--gft-font-display);fill:#f6f4ef;letter-spacing:-.04em}
.ps-hero__label{font:600 16px var(--gft-font-mono);letter-spacing:.08em;fill:#d4e6db}
.ps-hero__ring[data-active] .ps-hero__spoke{stroke:#e0a244;stroke-opacity:1;stroke-width:2.6}
.ps-hero__ring[data-active] .ps-hero__disc{fill:#3a2d12;stroke:#e0a244;stroke-width:3}
.ps-hero__ring[data-active] .ps-hero__arc{stroke:#e9b04f}
.ps-hero__read{position:absolute;right:clamp(16px,1.8vw,28px);top:48px;width:clamp(220px,18vw,272px);padding:14px 16px 12px;border:1px solid #6bb68f99;background:#072d2bf2;color:#e9f1ec;z-index:2}
.ps-hero__readhead{display:flex;align-items:flex-start;gap:10px;font:600 13px/1.45 var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;color:#e9f1ec;margin:0 0 8px}
.ps-hero__tick{flex:0 0 8px;height:8px;margin-top:6px;border-radius:50%;background:#e9b04f}
.ps-hero__rows{margin:0;display:grid;gap:8px}
.ps-hero__rows div{display:grid;gap:2px;padding-top:8px;border-top:1px solid #6bb68f55}
.ps-hero__rows dt{font:600 13px/1.4 var(--gft-font-mono);letter-spacing:.08em;text-transform:uppercase;color:#c9dccf}
.ps-hero__rows dd{margin:0;font-size:22px;font-weight:700;letter-spacing:-.02em;line-height:1.2;color:#f6f4ef;min-height:1.2em}
.ps-hero__key{display:none}
/* the splash plate steps back as the console rises: own layer, transform and opacity only, on the root scroll */
@supports(animation-timeline:scroll()){
 :root[data-m-go] .ps-hero__warp{animation-name:ps-warp;animation-duration:1ms;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:scroll(root);animation-range-start:0px;animation-range-end:100vh}
 :root[data-m-go] .ps-hero__weft{animation-name:ps-weft;animation-duration:1ms;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:scroll(root);animation-range-start:0px;animation-range-end:100vh}
 :root[data-m-go] .ps-hero__plate{animation-name:ps-plate;animation-duration:1ms;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:scroll(root);animation-range-start:0px;animation-range-end:88vh}
}
@keyframes ps-warp{to{transform:translateY(-110px)}}
@keyframes ps-weft{to{transform:translateX(160px)}}
@keyframes ps-plate{to{transform:scale(.92);opacity:.4}}
.ps-hero__plate{transform-origin:50% 100%;overflow-anchor:none}
@media(prefers-reduced-motion:reduce){.ps-hero__warp,.ps-hero__weft,.ps-hero__plate,.ps-hero__counter{animation-name:none!important;animation-timeline:auto!important}}
:root[data-motion="calm"] :is(.ps-hero__warp,.ps-hero__weft,.ps-hero__plate,.ps-hero__counter){animation-name:none!important;animation-timeline:auto!important}
@media(min-width:1500px){[data-page="prog-a-performance"] .gft-splash__structure{left:43%}}
@media(max-width:850px){
 [data-page="prog-a-performance"] .gft-splash{display:grid;grid-template-rows:auto auto auto;min-height:0}
 [data-page="prog-a-performance"] .gft-splash__content{grid-row:1;padding-top:64px;padding-bottom:24px}
 [data-page="prog-a-performance"] .gft-splash h1{font-size:clamp(3.2rem,7.8vw,5.2rem);max-width:9.25em}
 [data-page="prog-a-performance"] .gft-splash__structure{grid-row:2;position:relative;inset:auto;min-width:0;height:auto}
 [data-page="prog-a-performance"] .gft-splash__structure::after{display:none}
 [data-page="prog-a-performance"] .gft-splash__bottom{grid-row:3;margin-top:0}
 .ps-hero{min-height:0}
 .ps-hero__strip{display:none}
 .ps-hero__svg{min-height:0;height:auto;aspect-ratio:1100/760}
 .ps-hero__label{visibility:hidden}
 .ps-hero__idx{font-size:44px}
 .ps-hero__read{position:static;width:auto;margin:6px 20px 0;padding:10px 14px}
 .ps-hero__readhead{display:none}
 .ps-hero__rows{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
 .ps-hero__rows dd{font-size:17px}
}
@media(max-width:640px){
 [data-page="prog-a-performance"] .gft-splash h1{font-size:clamp(2.7rem,12vw,3.8rem);line-height:1.05;max-width:100%;margin-top:20px}
 [data-page="prog-a-performance"] .gft-splash__lede{font-size:17px;max-width:100%;margin-top:20px}
 [data-page="prog-a-performance"] .gft-splash__content{padding-top:48px;padding-bottom:18px}
 .ps-hero__actions{gap:16px}.ps-status{padding-left:12px}
 .ps-hero__actions .gft-button{font-size:13px;padding:10px 14px;gap:18px}
 .ps-hero__rows{grid-template-columns:1fr;gap:4px}
 .ps-hero__rows div{grid-template-columns:96px minmax(0,1fr);align-items:baseline;padding-top:4px}
}

/* ---------- the film frame ---------- */
.ps-film{position:relative;background-image:linear-gradient(#072d2b,#072d2b);color:var(--ps-on-dark);overflow-x:clip}
.ps-stage{position:relative}
.ps-tick{height:0}
[data-film] .ps-stage{position:sticky;top:0;height:100svh;overflow:clip;container-type:size;container-name:ps;z-index:1}
[data-film] .ps-track{position:relative;margin-top:-100svh;pointer-events:none;z-index:0}
[data-film] .ps-tick--0-0{height:120svh}
[data-film] :is(.ps-tick--1-0,.ps-tick--1-1,.ps-tick--1-2,.ps-tick--2-0,.ps-tick--2-1,.ps-tick--2-2,.ps-tick--3-0,.ps-tick--3-1,.ps-tick--3-2,.ps-tick--4-0,.ps-tick--4-1,.ps-tick--5-0,.ps-tick--5-1,.ps-tick--5-2,.ps-tick--6-0,.ps-tick--6-1,.ps-tick--6-2){height:88svh}
[data-film] :is(.ps-tick--1-3,.ps-tick--2-3,.ps-tick--3-3,.ps-tick--4-2,.ps-tick--5-3,.ps-tick--6-3){height:100svh}
[data-film] .ps-tick--7-0{height:110svh}
@media(max-width:760px){
 [data-film] .ps-tick--0-0{height:70svh}
 [data-film] .ps-tick--0-1{height:75svh}
 [data-film] .ps-tick--0-2{height:80svh}
 [data-film] .ps-tick--7-0{height:80svh}
 [data-film] .ps-tick--7-1{height:90svh}
}
/* scenes: one at a time; fast clean hand-over so 250 ms mid-frames are settled and high contrast */
.ps-sc{position:relative}
[data-film] .ps-sc{position:absolute;inset:0;z-index:2;opacity:0;visibility:hidden;transition:opacity .08s linear,visibility 0s linear .08s}
[data-film] .ps-sc[data-on]{opacity:1;visibility:visible;transition:opacity .14s ease-out .06s,visibility 0s linear .06s}

/* grounds: immediate solid fill and rapid edge-origin wipe within 220 ms so no pale disc or white band shows */
.ps-grounds{display:none}
[data-film] .ps-grounds{display:block;position:absolute;inset:0;z-index:0}
.ps-gd{position:absolute;inset:0;background-image:linear-gradient(var(--c),var(--c));opacity:0;transition:opacity .14s ease-out,clip-path .22s var(--ps-out)}
.ps-gd--0{opacity:1}
.ps-gd--night{--c:#072d2b;background-image:linear-gradient(90deg,#6bb68f14 1px,transparent 1px),linear-gradient(#6bb68f14 1px,transparent 1px),linear-gradient(var(--c),var(--c));background-size:48px 48px,48px 48px,auto}
.ps-gd--forest{--c:#0e4d4a}
.ps-gd--paper{--c:#f6f4ef}
.ps-gd--sage{--c:#eaf1ec}
.ps-gd--indigo{--c:#1b2650;background-image:linear-gradient(90deg,#2c3e7a55 1px,transparent 1px),linear-gradient(var(--c),var(--c));background-size:64px 100%,auto}
/* the back half alternates: night interlude, light data-layer mist (spine), warm sand (maturity), night closing */
.ps-gd--mist{--c:#e9ecf6;background-image:linear-gradient(90deg,#2c3e7a14 1px,transparent 1px),linear-gradient(var(--c),var(--c));background-size:64px 100%,auto}
.ps-gd--sand{--c:#f2e8d5}
.ps-gd--1,.ps-gd--2,.ps-gd--3{clip-path:inset(12% 0 0 0)}
.ps-gd--4{clip-path:circle(78% at var(--ps-c4,100% 50%))}
.ps-gd--5{clip-path:circle(78% at var(--ps-c5,50% 100%))}
.ps-gd--6{clip-path:circle(78% at 100% 100%)}
.ps-gd--7{clip-path:circle(78% at var(--ps-c7,100% 0%))}
.ps-gd--1[data-open],.ps-gd--2[data-open],.ps-gd--3[data-open]{opacity:1;clip-path:inset(0 0 0 0)}
.ps-gd--5[data-open]{opacity:1;clip-path:circle(150% at var(--ps-c5,50% 100%))}
.ps-gd--4[data-open]{opacity:1;clip-path:circle(150% at var(--ps-c4,100% 50%))}
.ps-gd--6[data-open]{opacity:1;clip-path:circle(150% at 100% 100%)}
.ps-gd--7[data-open]{opacity:1;clip-path:circle(150% at var(--ps-c7,100% 0%))}

/* the relay: 72 segments, each placed by the client; colour by ground through two cross-faded layers */
.ps-relay{display:none}
[data-film] .ps-relay{display:block;position:absolute;inset:0;z-index:1;pointer-events:none}
.ps-rg,.ps-rg__in{position:absolute;inset:0}
.ps-sgm{position:absolute;left:0;top:0;width:40px;height:3px;opacity:0;transform-origin:50% 50%;will-change:transform;transition:transform .65s var(--ps-out) calc(var(--i) * 6ms),opacity .25s linear calc(var(--i) * 4ms)}
.ps-sgm::before,.ps-sgm::after{content:'';position:absolute;inset:0;border-radius:2px;transition:opacity .25s linear}
.ps-sgm::before{background:#8fd0ac}
.ps-sgm::after{background:#2f7354;opacity:0}
.ps-stage:is([data-scene="2"],[data-scene="3"],[data-scene="5"],[data-scene="6"]) .ps-sgm::after{opacity:1}
.ps-stage:is([data-scene="2"],[data-scene="3"],[data-scene="5"],[data-scene="6"]) .ps-sgm::before{opacity:0}
.ps-stage[data-scene="5"] .ps-sgm::after{background:#2c3e7a}
.ps-stage[data-scene="6"] .ps-sgm::after{background:#0e4d4a}
.ps-stage[data-scene="1"] .ps-rg .ps-sgm{height:3px}
.ps-stage[data-scene="4"] .ps-rg--c .ps-sgm::before,.ps-stage[data-scene="7"] .ps-rg--c .ps-sgm::before{background:#9fd7b8}
/* the giant ring breathes around its current trueness (interlude only) */
.ps-rg--c .ps-rg__in{transform-origin:var(--ps-gx,80%) var(--ps-gy,50%);overflow-anchor:none}
:root[data-m-go] .ps-stage[data-scene="4"] .ps-rg--c .ps-rg__in{animation-name:ps-breathe;animation-duration:6s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
@keyframes ps-breathe{from{transform:scale(.99,1)}to{transform:scale(1.01,1)}}

/* ---------- heads: eyebrow and an h2 split into whole words at build ---------- */
.ps-hd{position:absolute;z-index:3;margin:0}
.ps-eye{font:600 13px/1.5 var(--gft-font-mono);letter-spacing:.1em;text-transform:uppercase;margin:0 0 12px;color:var(--ps-sage)}
.ps-h2{margin:0;font-family:var(--gft-font-display);font-weight:800;font-size:clamp(30px,3.3cqw,52px);line-height:1.05;letter-spacing:-.04em;text-wrap:balance}
.ps-w{display:inline-block}
:root[data-m-go][data-ps-live] [data-film] .ps-sc:not([data-in]) .ps-w{opacity:.78;transform:translateY(8px)}
:root[data-m-go][data-ps-live] [data-film] .ps-sc[data-in] .ps-w{animation-duration:520ms;animation-delay:calc(min(var(--wi) * 20ms, 120ms));animation-timing-function:var(--ps-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go][data-ps-live] [data-film] .ps-sc[data-in] .ps-h2[data-fx=rise] .ps-w{animation-name:ps-fx-rise}
:root[data-m-go][data-ps-live] [data-film] .ps-sc[data-in] .ps-h2[data-fx=skew] .ps-w{animation-name:ps-fx-skew;transform-origin:0 100%}
:root[data-m-go][data-ps-live] [data-film] .ps-sc[data-in] .ps-h2[data-fx=wdth] .ps-w{animation-name:ps-fx-wdth;transform-origin:0 100%}
:root[data-m-go][data-ps-live] [data-film] .ps-sc[data-in] .ps-h2[data-fx=track] .ps-w{animation-name:ps-fx-track;transform-origin:50% 100%}
:root[data-m-go][data-ps-live] [data-film] .ps-sc[data-in] .ps-h2[data-fx=zoom] .ps-w{animation-name:ps-fx-zoom}
:root[data-m-go][data-ps-live] [data-film] .ps-sc[data-in] .ps-h2[data-fx=blur] .ps-w{animation-name:ps-fx-blur}
:root[data-m-go][data-ps-live] [data-film] .ps-sc[data-in] .ps-h2[data-fx=turn] .ps-w{animation-name:ps-fx-turn;transform-origin:50% 100%}
:root[data-m-go][data-ps-live] [data-film] .ps-sc[data-in] .ps-h2[data-fx=drop] .ps-w{animation-name:ps-fx-drop}
@keyframes ps-fx-rise{from{opacity:.78;transform:translateY(8px)}}
@keyframes ps-fx-skew{from{opacity:.78;transform:translateY(8px) skewY(5deg)}}
@keyframes ps-fx-wdth{from{opacity:.78;transform:translateY(8px) scaleX(.76)}}
@keyframes ps-fx-track{from{opacity:.78;transform:translateY(8px) scaleX(.82)}}
@keyframes ps-fx-zoom{from{opacity:.78;transform:translateY(8px) scale(.88);filter:blur(3px)}}
@keyframes ps-fx-blur{from{opacity:.78;transform:translateY(8px);filter:blur(4px)}}
@keyframes ps-fx-turn{from{opacity:.78;transform:translateY(8px) perspective(600px) rotateX(-45deg)}}
@keyframes ps-fx-drop{from{opacity:.78;transform:translateY(-10px)}}
/* kit textile entrances inside the film wait for their scene (the kit starts them at 112 % of the viewport; here they
   start when the scene arrives): the same pre-state the kit uses, held until data-in */
:root[data-m-go][data-ps-live] [data-film] .ps-sc:not([data-in]) :is([data-m=weft],[data-m=warp],[data-m=twill-shift],[data-m=comb],[data-m=selvedge-draw],[data-m=satin-float],[data-m=shed],[data-m=heddle]){animation-name:none!important;opacity:.82}
:root[data-m-go][data-ps-live] [data-film] .ps-sc:not([data-in]) [data-m=weft]{transform:translateX(-16px)}
:root[data-m-go][data-ps-live] [data-film] .ps-sc:not([data-in]) [data-m=warp]{transform:translateY(14px) scaleY(.99)}
:root[data-m-go][data-ps-live] [data-film] .ps-sc:not([data-in]) [data-m=twill-shift]{transform:translate(-12px,8px)}
:root[data-m-go][data-ps-live] [data-film] .ps-sc:not([data-in]) [data-m=comb]{transform:translateY(-10px)}
:root[data-m-go][data-ps-live] [data-film] .ps-sc:not([data-in]) [data-m=selvedge-draw]{transform:none;clip-path:inset(-5% -5% -5% 12%)}
:root[data-m-go][data-ps-live] [data-film] .ps-sc:not([data-in]) [data-m=satin-float]{transform:translateY(14px)}
:root[data-m-go][data-ps-live] [data-film] .ps-sc:not([data-in]) [data-m=shed]{transform:translateY(12px) skewY(.4deg)}
:root[data-m-go][data-ps-live] [data-film] .ps-sc:not([data-in]) [data-m=heddle]{transform:translateY(-12px) scaleY(.99)}

/* ---------- shared controls and cards ---------- */
.ps-card{background:#0a3d3a;border:1px solid #6bb68f66;box-shadow:10px 10px 0 #04201f55}
.ps-cap{display:grid}
.ps-cap__i>*+*{margin-top:10px}
.ps-cap h3{font-size:clamp(22px,1.9cqw,28px);line-height:1.15;letter-spacing:-.03em;margin:0}
.ps-cap .ps-mono{margin:0}
[data-film] .ps-cap__i{grid-area:1/1;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .08s linear,transform .08s var(--ps-io),visibility 0s linear .08s}
[data-film] .ps-cap__i[data-on]{opacity:1;visibility:visible;transform:none;transition:opacity .15s ease-out .08s,transform .22s var(--ps-out) .08s,visibility 0s linear .08s}
.ps-seg{border:0;margin:0;padding:0;display:flex;gap:6px;flex-wrap:wrap;min-width:0}
.ps-seg legend{display:block;width:100%;margin-bottom:8px;padding:0;color:inherit;opacity:.92}
.ps-seg label{position:relative;flex:1 1 0;min-width:0;min-height:46px;display:flex;align-items:center;justify-content:center;text-align:center;padding:8px 12px;border:1px solid #6bb68f99;border-radius:999px;font-size:15px;font-weight:700;line-height:1.2;cursor:pointer;color:var(--ps-on-dark);background:#072d2b80}
.ps-seg input,.ps-chips input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.ps-seg label:has(input:checked){background:var(--ps-ochre-hi);border-color:var(--ps-ochre-hi);color:#072d2b}
.ps-seg label:has(input:focus-visible),.ps-chip:has(input:focus-visible){outline:3px solid var(--ps-ochre-hi);outline-offset:3px}
.ps-seg--light label{color:#0e4d4a;border-color:#0e4d4a88;background:#ffffffb3}
.ps-seg--light label:has(input:checked){background:#0e4d4a;border-color:#0e4d4a;color:#fff}
.ps-seg--light label:has(input:focus-visible){outline-color:#0e4d4a}
.ps-chips{border:0;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-width:0}
.ps-chips legend{grid-column:1/-1;margin-bottom:8px;padding:0;color:var(--ps-on-dark-2)}
.ps-chip{position:relative;min-height:46px;display:flex;align-items:center;padding:8px 12px;border:1px solid #6bb68f88;border-radius:6px;font-size:15px;font-weight:700;cursor:pointer;color:var(--ps-on-dark);background:#072d2bcc}
.ps-chip b{font:600 13px var(--gft-font-mono);letter-spacing:.06em;color:var(--ps-sage);margin-right:6px}
.ps-chip:has(input:checked){background:var(--ps-ochre-hi);border-color:var(--ps-ochre-hi);color:#072d2b}
.ps-chip:has(input:checked) b{color:#072d2b}
.ps-anc{position:absolute;display:block;pointer-events:none;visibility:hidden}

/* ---------- no script: the scenes stack in flow, every state shown ---------- */
.ps-film:not([data-film]) .ps-sc{padding:56px 20px;border-top:1px solid #6bb68f44}
.ps-film:not([data-film]) .ps-sc *{position:static!important;transform:none!important}
.ps-film:not([data-film]) :is(svg){max-width:min(520px,100%);height:auto}
.ps-film:not([data-film]) :is(.ps-anc,.ps-sgm,.ps-int__warp,.ps-int__motes,.ps-cls__thread){display:none}
.ps-film:not([data-film]) .ps-cap{display:block}
/* Performance-system page, part 2: the eight scenes of the film. Positions are in stage container units (cqw, cqh),
   so every scene composes the same at any frame size; phones get their own composition at the end. Hidden states are
   written under [data-film] only: the HTML (and a page without script) shows each scene composed. Lives run only on
   the scene on screen ([data-on]) and only under the kit's go flag. */
.ps-hero__plate{width:100%;height:100%}

/* ===================== the gauge ring (console and closing) ===================== */
.ps-ring{display:block;width:100%;height:100%;overflow:visible}
.ps-ring__grid path{stroke:#6bb68f;stroke-opacity:.07}
.ps-ring__track{stroke:#6bb68f;stroke-opacity:.3;stroke-dasharray:2 9}
.ps-ring--cls .ps-ring__track{stroke-opacity:0}
.ps-ring__notch{fill:#e9b04f}
.ps-ring__rot{transform:rotate(var(--ps-rot,0deg));transition:transform .6s var(--ps-io)}
.ps-ring__spoke{stroke:#6bb68f;stroke-opacity:.32;stroke-width:1.4}
.ps-gauge{transform:rotate(calc(var(--ps-rot,0deg) * -1));transition:transform .6s var(--ps-io),opacity .45s linear;opacity:.5;cursor:pointer}
.ps-gauge:hover{opacity:.85}
.ps-gauge__hit{fill:transparent}
.ps-gauge__disc{fill:#0a3d3a;stroke:#6bb68f;stroke-opacity:.8;stroke-width:1.6}
.ps-gauge__ticks{stroke:#8fd0ac;stroke-opacity:.75;stroke-width:1.4}
.ps-gauge__dash circle{stroke:#8fd0ac;stroke-opacity:.6}
.ps-gauge__arc{stroke:#8fd0ac;stroke-width:4;stroke-linecap:round}
.ps-gauge__index{fill:#e9b04f;opacity:0}
.ps-gauge__idx{font:800 30px var(--gft-font-display);fill:#f6f4ef;letter-spacing:-.04em}
.ps-gauge__label{font:600 16px var(--gft-font-mono);letter-spacing:.08em;fill:#e9f1ec}
/* Keep the closing labels above the relay as its segments morph into the ring. */
.ps-ring--cls .ps-gauge__label{paint-order:stroke fill;stroke:#072d2b;stroke-width:8px;stroke-linejoin:round}
.ps-ring__hub .ps-ring__halo{stroke:#e9b04f;stroke-opacity:.6;transform-box:fill-box;transform-origin:center}
.ps-ring__disc{fill:#072d2b;stroke:#e9b04f;stroke-opacity:.85;stroke-width:1.6}
.ps-ring__mono{font:600 15px var(--gft-font-mono);letter-spacing:.08em;fill:#e9f1ec}
.ps-ring__signal circle{fill:#e9b04f}
.ps-ring__signal{opacity:0}
:is(.ps-con[data-fam="0"] .ps-gauge--0,.ps-con[data-fam="1"] .ps-gauge--1,.ps-con[data-fam="2"] .ps-gauge--2,.ps-con[data-fam="3"] .ps-gauge--3,.ps-con[data-fam="4"] .ps-gauge--4,.ps-con[data-fam="5"] .ps-gauge--5,.ps-cls[data-fam="0"] .ps-gauge--0,.ps-cls[data-fam="1"] .ps-gauge--1,.ps-cls[data-fam="2"] .ps-gauge--2,.ps-cls[data-fam="3"] .ps-gauge--3,.ps-cls[data-fam="4"] .ps-gauge--4,.ps-cls[data-fam="5"] .ps-gauge--5){opacity:1}
:is(.ps-con[data-fam="0"] .ps-gauge--0,.ps-con[data-fam="1"] .ps-gauge--1,.ps-con[data-fam="2"] .ps-gauge--2,.ps-con[data-fam="3"] .ps-gauge--3,.ps-con[data-fam="4"] .ps-gauge--4,.ps-con[data-fam="5"] .ps-gauge--5,.ps-cls[data-fam="0"] .ps-gauge--0,.ps-cls[data-fam="1"] .ps-gauge--1,.ps-cls[data-fam="2"] .ps-gauge--2,.ps-cls[data-fam="3"] .ps-gauge--3,.ps-cls[data-fam="4"] .ps-gauge--4,.ps-cls[data-fam="5"] .ps-gauge--5) :is(.ps-gauge__arc){stroke:#e9b04f}
:is(.ps-con[data-fam="0"] .ps-gauge--0,.ps-con[data-fam="1"] .ps-gauge--1,.ps-con[data-fam="2"] .ps-gauge--2,.ps-con[data-fam="3"] .ps-gauge--3,.ps-con[data-fam="4"] .ps-gauge--4,.ps-con[data-fam="5"] .ps-gauge--5,.ps-cls[data-fam="0"] .ps-gauge--0,.ps-cls[data-fam="1"] .ps-gauge--1,.ps-cls[data-fam="2"] .ps-gauge--2,.ps-cls[data-fam="3"] .ps-gauge--3,.ps-cls[data-fam="4"] .ps-gauge--4,.ps-cls[data-fam="5"] .ps-gauge--5) .ps-gauge__disc{fill:#3a2d12;stroke:#e9b04f;stroke-width:3}
:is(.ps-con[data-fam="0"] .ps-gauge--0,.ps-con[data-fam="1"] .ps-gauge--1,.ps-con[data-fam="2"] .ps-gauge--2,.ps-con[data-fam="3"] .ps-gauge--3,.ps-con[data-fam="4"] .ps-gauge--4,.ps-con[data-fam="5"] .ps-gauge--5) .ps-gauge__index{opacity:1}
.ps-ring--cls .ps-gauge__index{opacity:1}
.ps-ring--cls .ps-gauge{opacity:.78}
:is(.ps-con[data-fam="0"] .ps-ring__spoke--0,.ps-con[data-fam="1"] .ps-ring__spoke--1,.ps-con[data-fam="2"] .ps-ring__spoke--2,.ps-con[data-fam="3"] .ps-ring__spoke--3,.ps-con[data-fam="4"] .ps-ring__spoke--4,.ps-con[data-fam="5"] .ps-ring__spoke--5,.ps-cls[data-fam="0"] .ps-ring__spoke--0,.ps-cls[data-fam="1"] .ps-ring__spoke--1,.ps-cls[data-fam="2"] .ps-ring__spoke--2,.ps-cls[data-fam="3"] .ps-ring__spoke--3,.ps-cls[data-fam="4"] .ps-ring__spoke--4,.ps-cls[data-fam="5"] .ps-ring__spoke--5){stroke:#e9b04f;stroke-opacity:1;stroke-width:2.6}
/* lives: dashed gauge rings orbit, the signal runs hub to seated gauge, the seated gauge's outer ticks sweep */
.ps-gauge__dash,.ps-gauge__outer,.ps-ring__signal{overflow-anchor:none}
:root[data-m-go] .ps-sc[data-on] .ps-gauge__dash{animation-name:ps-spin;animation-duration:var(--ps-p,60s);animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:normal}
:root[data-m-go] .ps-sc[data-on] .ps-ring__signal{animation-name:ps-signal;animation-duration:4s;animation-timing-function:cubic-bezier(.45,0,.3,1);animation-iteration-count:infinite;animation-direction:normal}
.ps-ring--con{--ps-sig:-86px}
.ps-ring--cls{--ps-sig:-46px}
@keyframes ps-signal{0%{opacity:0;transform:translateY(0)}12%{opacity:1}70%{opacity:1;transform:translateY(var(--ps-sig))}82%,100%{opacity:0;transform:translateY(var(--ps-sig))}}
:root[data-m-go] .ps-sc[data-on] :is(.ps-con[data-fam="0"] .ps-gauge--0,.ps-con[data-fam="1"] .ps-gauge--1,.ps-con[data-fam="2"] .ps-gauge--2,.ps-con[data-fam="3"] .ps-gauge--3,.ps-con[data-fam="4"] .ps-gauge--4,.ps-con[data-fam="5"] .ps-gauge--5) .ps-gauge__outer{animation-name:ps-spin;animation-duration:12s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:normal}
@keyframes ps-spin{to{transform:rotate(360deg)}}

/* ===================== #2 console (night) ===================== */
.ps-sc--con{color:var(--ps-on-dark)}
.ps-con{position:absolute;inset:0}
.ps-con__ring{position:absolute;left:29cqw;top:3cqh;height:66cqh;aspect-ratio:760/700}
.ps-anc--seat{left:38.29%;top:3.57%;width:23.42%;height:25.43%}
.ps-con__leader{position:absolute;left:calc(29cqw + 44.2cqh);top:13.75cqh;width:calc(40.5cqw - 44.2cqh);height:2px;background:#e9b04f;transform-origin:0 50%}
.ps-con__leader::before{content:'';position:absolute;left:-5px;top:-4px;width:10px;height:10px;border-radius:50%;background:#e9b04f}
.ps-con__col{position:absolute;left:4cqw;top:15cqh;width:24cqw;display:flex;flex-direction:column;gap:22px}
.ps-con__col .ps-hd{position:static}
.ps-con__hd .ps-h2{font-size:clamp(28px,2.9cqw,46px)}
.ps-con__chips{grid-template-columns:repeat(2,minmax(0,1fr))}
.ps-con__lede{color:var(--ps-on-dark)}
.ps-con__card{position:absolute;left:69.5cqw;right:2.5cqw;top:12cqh;padding:22px 24px 20px;background:#0a3a37;border:1px solid #6bb68f80;box-shadow:10px 10px 0 #04201f66}
.ps-con__reads{display:grid}
.ps-con__read{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .2s linear,visibility 0s linear .2s}
:is(.ps-con[data-fam="0"] .ps-con__read--0,.ps-con[data-fam="1"] .ps-con__read--1,.ps-con[data-fam="2"] .ps-con__read--2,.ps-con[data-fam="3"] .ps-con__read--3,.ps-con[data-fam="4"] .ps-con__read--4,.ps-con[data-fam="5"] .ps-con__read--5){opacity:1;visibility:visible;transition:opacity .3s linear .2s,visibility 0s linear .2s}
.ps-con__chain{color:#f0c36a;margin:0 0 8px}
.ps-con__title{font-size:24px;line-height:1.15;letter-spacing:-.025em;margin:0 0 14px}
.ps-facts{margin:0 0 14px;display:grid;gap:10px}
.ps-facts div{border-top:1px solid #6bb68f55;padding-top:8px}
.ps-facts dt{color:var(--ps-on-dark-2)}
.ps-facts dd{margin:3px 0 0;font-size:22px;font-weight:700;line-height:1.18;letter-spacing:-.02em;color:#f6f4ef}
.ps-con__card .ps-note{margin-top:14px;color:var(--ps-on-dark-2)}
/* entrance (the ring is already present from the hand-over): the leader draws, chips and card come in from either side */
:root[data-m-go][data-ps-live] [data-film] .ps-sc--con:not([data-in]) .ps-con__leader{transform:scaleX(0)}
:root[data-m-go][data-ps-live] [data-film] .ps-sc--con[data-in] .ps-con__leader{animation-name:ps-draw-x;animation-duration:700ms;animation-delay:200ms;animation-timing-function:var(--ps-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
:root[data-m-go][data-ps-live] [data-film] .ps-sc--con:not([data-in]) .ps-con__card{transform:translateX(26px)}
:root[data-m-go][data-ps-live] [data-film] .ps-sc--con[data-in] .ps-con__card{animation-name:ps-weft-r!important;animation-duration:760ms;animation-delay:120ms;animation-timing-function:var(--ps-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
@keyframes ps-weft-r{from{opacity:.28;transform:translateX(26px)}}
@keyframes ps-draw-x{from{transform:scaleX(0)}}

/* ===================== #3 contract (forest), four steps ===================== */
.ps-sc--ctr{color:#f1f5f2}
.ps-ctr__hd{left:4cqw;top:6cqh;width:58cqw}
.ps-led{position:absolute;left:4cqw;top:24cqh;width:58cqw;height:70cqh;--lw:58cqw;--lh:70cqh}
.ps-led__cam{position:absolute;inset:0}
.ps-led p,.ps-sp p{max-width:none}
.ps-led__bar{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 16px;margin:0;color:var(--ps-on-dark-2);padding-bottom:8px;border-bottom:1px solid #6bb68f40}
.ps-led__bar span:first-child{white-space:nowrap}
.ps-led__id{margin:10px 0 0;font:600 20px/1.3 var(--gft-font-mono);letter-spacing:.02em;color:#f6f4ef}
.ps-led__id .ps-mono{color:#f0c36a;margin-right:10px}
.ps-led__idv{display:inline-block;clip-path:inset(0 0 0 0);transition:clip-path 1s steps(20,end) .35s}
:root[data-m-go][data-ps-live] [data-film] .ps-sc--ctr:not([data-in]) .ps-led__idv{clip-path:inset(0 100% 0 0)}
.ps-anc--r0,.ps-anc--r1,.ps-anc--r2{left:0;right:0;height:0}
.ps-anc--r0{top:34%}.ps-anc--r1{top:56%}.ps-anc--r2{top:78%}
/* the ribbon: three field cells; the active one lights and opens into the visual below */
.ps-rib{position:absolute;left:0;right:0;top:13%;height:15%;margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ps-rib__c{position:relative;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:10px 16px;border:1px solid #8fd0ac66;border-radius:4px;min-width:0}
.ps-rib__plate{position:absolute;inset:-1px;border-radius:4px;background:linear-gradient(#e9b04f2e,#e9b04f12);border-top:4px solid #e9b04f;opacity:0;transition:opacity .4s linear}
.ps-rib__n{position:relative;color:#c9dccf}
.ps-rib__k{position:relative;font-size:24px;line-height:1.1;letter-spacing:-.02em;color:#f6f4ef}
.ps-rib__s{position:relative;font-size:15px;line-height:1.3;color:#dbe8e0}
.ps-rib__c[data-on] .ps-rib__plate{opacity:1}
.ps-rib__c[data-on] .ps-rib__n{color:#f0c36a}
/* panels: one per step, laid over the lanes; an outgoing panel fades first, the next opens from its cell */
.ps-pn{position:absolute;inset:0;pointer-events:none}
[data-film] .ps-pn{opacity:0;visibility:hidden;transition:opacity .08s linear,visibility 0s linear .08s,clip-path 0s linear .08s}
[data-film] .ps-pn--0{clip-path:inset(34% 0 66% 0)}
[data-film] .ps-pn--1{clip-path:inset(13% 66.7% 72% 0)}
[data-film] .ps-pn--2{clip-path:inset(13% 33.3% 72% 33.3%)}
[data-film] .ps-pn--3{clip-path:inset(13% 0 72% 66.7%)}
[data-film] .ps-pn[data-on]{opacity:1;visibility:visible;clip-path:inset(-6% -3% -6% -3%);transition:opacity .15s ease-out .08s,visibility 0s linear .08s,clip-path .38s var(--ps-out) .08s}
.ps-pn__tag{position:absolute;left:0;top:29.4%;margin:0;color:#c9dccf}
/* step 0: the whole record, one lane per field */
.ps-lane{position:absolute;left:0;right:0;display:grid;grid-template-columns:150px minmax(0,1fr);align-items:baseline;gap:18px;padding-top:22px}
.ps-lane--0{top:34%}.ps-lane--1{top:56%}.ps-lane--2{top:78%}
.ps-lane__k{color:#f0c36a}
.ps-lane__v{font-size:22px;line-height:1.3;font-weight:600;letter-spacing:-.01em;color:#f6f4ef}
.ps-led__cur{position:absolute;left:0;top:34%;bottom:0;width:2px;background:#e9b04f;opacity:0;overflow-anchor:none}
:root[data-m-go] .ps-sc--ctr[data-on][data-st="0"] .ps-led__cur{opacity:.9;animation-name:ps-cursor;animation-duration:7s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:normal}
@keyframes ps-cursor{from{transform:translateX(0)}to{transform:translateX(var(--lw))}}
/* step 1: the timestamp scrubber on the middle rule */
/* the axis sits on the third rule; stems of different heights keep the four labels apart */
.ps-ev{position:absolute;left:0;right:0;top:34%;height:44%}
.ps-ev__m{position:absolute;left:calc(var(--x) * 1%);bottom:0;width:0;height:70px}
/* label bands clear the middle rule (138 px above the axis) */
.ps-ev__m:nth-child(2){height:196px}.ps-ev__m:nth-child(3){height:26px}.ps-ev__m:nth-child(4){height:166px}
.ps-ev__m::before{content:'';position:absolute;left:-1px;top:0;bottom:0;width:2px;background:#8fd0ac99}
.ps-ev__l{position:absolute;left:-6px;bottom:100%;padding-bottom:6px;display:grid;gap:0;white-space:nowrap}
.ps-ev__m:nth-child(4) .ps-ev__l{left:auto;right:-6px;text-align:right}
.ps-ev__l b{font-size:18px;line-height:1.2;color:#f6f4ef}
.ps-ev__l .ps-mono{color:#c9dccf}
.ps-ev__dot{position:absolute;left:-8px;bottom:-8px;width:16px;height:16px;border-radius:50%;background:#0e4d4a;border:3px solid #8fd0ac}
.ps-ev__m--main::before{background:#e9b04f}
.ps-ev__m--main .ps-ev__dot{background:#e9b04f;border-color:#e9b04f;box-shadow:0 0 0 6px #e9b04f40}
.ps-ev__m--main .ps-ev__l .ps-mono{color:#f0c36a}
.ps-ev__axis{position:absolute;left:0;right:0;top:calc(100% + 16px);height:20px;color:#c9dccf}
.ps-ev__axis span{position:absolute;left:calc(var(--x) * 1%);transform:translateX(-50%)}
.ps-ev__axis span:first-child{transform:none}.ps-ev__axis span:last-child{transform:translateX(-100%)}
.ps-ev__play{position:absolute;left:0;top:-10px;bottom:-12px;width:0;overflow-anchor:none}
.ps-ev__play i{position:absolute;left:-1px;top:0;bottom:0;width:2px;background:#f6f4ef;opacity:.75}
.ps-ev__play i::before{content:'';position:absolute;left:-5px;top:-6px;width:12px;height:12px;border-radius:2px;background:#f6f4ef;transform:rotate(45deg)}
:root[data-m-go] .ps-sc--ctr[data-on][data-st="1"] .ps-ev__play{animation-name:ps-cursor;animation-duration:9s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:normal}
.ps-pn__read{position:absolute;left:0;right:0;top:78%;margin:0;padding-top:50px;display:grid;gap:6px}
.ps-pn__read b{color:#f0c36a}
.ps-pn__read span{font:600 24px/1.3 var(--gft-font-mono);letter-spacing:.01em;color:#f6f4ef}
/* step 2: the swim-lane hand-off */
.ps-sw{position:absolute;left:0;right:0;height:22%}
.ps-sw--0{top:34%}.ps-sw--1{top:56%}.ps-sw--2{top:78%}
.ps-sw__k{position:absolute;left:0;top:20px;color:#f0c36a}
.ps-sw__who{position:absolute;left:0;top:44px;width:25%;font-size:18px;line-height:1.25;font-weight:600;color:#f6f4ef}
.ps-sw__box{position:absolute;top:16%;height:64%;width:22%;display:flex;align-items:center;padding:0 14px;border:1px solid #8fd0ac99;border-radius:4px;background:#0a3d3a;font-size:17px;line-height:1.25;font-weight:600;color:#f6f4ef}
.ps-sw--0 .ps-sw__box{left:28%}.ps-sw--1 .ps-sw__box{left:52%}.ps-sw--2 .ps-sw__box{left:76%}
.ps-sw__hand{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.ps-sw__hand path{stroke:#e9b04f;stroke-width:2.4;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.ps-sw__tok{position:absolute;left:-7px;top:-7px;width:14px;height:14px;border-radius:50%;background:#e9b04f;box-shadow:0 0 0 5px #e9b04f40;transform:translate(calc(var(--lw) * .39),calc(var(--lh) * .516));overflow-anchor:none}
:root[data-m-go] .ps-sc--ctr[data-on][data-st="2"] .ps-sw__tok{animation-name:ps-hand;animation-duration:6s;animation-timing-function:var(--ps-io);animation-iteration-count:infinite;animation-direction:normal}
@keyframes ps-hand{0%,8%{transform:translate(calc(var(--lw) * .39),calc(var(--lh) * .516))}22%{transform:translate(calc(var(--lw) * .39),calc(var(--lh) * .665))}34%,48%{transform:translate(calc(var(--lw) * .52),calc(var(--lh) * .665))}50%{transform:translate(calc(var(--lw) * .63),calc(var(--lh) * .736))}64%{transform:translate(calc(var(--lw) * .63),calc(var(--lh) * .885))}76%,100%{transform:translate(calc(var(--lw) * .76),calc(var(--lh) * .885))}}
/* step 3: the revision diff */
.ps-df{position:absolute;left:0;right:0;display:grid;grid-template-columns:32px 150px minmax(0,1fr);grid-template-rows:auto auto;column-gap:14px;row-gap:4px;align-items:baseline;padding-top:20px}
.ps-df--was{top:34%}.ps-df--now{top:56%}.ps-df--kept{top:78%}
.ps-df__g{grid-row:1/3;font-size:26px;line-height:1;color:#f0c36a}
.ps-df__k{color:#c9dccf}
.ps-df__v{position:relative;justify-self:start;font-size:26px;line-height:1.2;font-weight:700;letter-spacing:-.02em;color:#f6f4ef}
.ps-df__m{grid-column:3;font-size:17px;color:#dbe8e0}
.ps-df--was .ps-df__v{color:#dbe8e0}
.ps-df--was .ps-df__v i{position:absolute;left:-4px;right:-4px;top:54%;height:3px;background:#f0c36a;transform-origin:0 50%;transition:transform .55s var(--ps-out) .6s}
.ps-df--now .ps-df__v{padding:2px 12px;border:2px solid #e9b04f;border-radius:4px;clip-path:inset(-4px -4px -4px -4px);transition:clip-path .6s var(--ps-out) .9s}
.ps-df--kept .ps-df__v{font-size:22px;color:#f0c36a}
[data-film] .ps-sc--ctr:not([data-st="3"]) .ps-df--was .ps-df__v i{transform:scaleX(0)}
[data-film] .ps-sc--ctr:not([data-st="3"]) .ps-df--now .ps-df__v{clip-path:inset(-4px 100% -4px -4px)}
:root[data-m-go] .ps-sc--ctr[data-on][data-st="3"] .ps-df--kept .ps-df__g{animation-name:gft-pulse;animation-duration:2.4s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
.ps-film:not([data-film]) :is(.ps-sw__hand,.ps-sw__tok,.ps-ev__play,.ps-led__cur){display:none}
/* the caption card sits beside the ledger */
.ps-ctr__card{position:absolute;left:65cqw;right:4cqw;top:26cqh;padding:22px 26px 22px;display:flex;flex-direction:column;gap:18px}
.ps-count{display:grid;margin:0;font:800 30px/1 var(--gft-font-display);letter-spacing:-.03em;color:#f6f4ef;font-variant-numeric:tabular-nums}
.ps-count>span{grid-area:1/1}
.ps-count b{color:#f0c36a}
[data-film] .ps-count>span{opacity:0;transform:translateY(8px);transition:opacity .08s linear,transform .08s}
[data-film] .ps-count>span[data-on]{opacity:1;transform:none;transition:opacity .15s ease-out .08s,transform .22s var(--ps-out) .08s}
.ps-ctr__card .ps-cap .ps-mono{color:#f0c36a}
.ps-ctr__card .ps-body{color:#e9f1ec}
/* ===================== #4 rhythm (paper), four steps ===================== */
.ps-sc--rhy{color:var(--ps-ink)}
.ps-sc--rhy .ps-eye,.ps-sc--uti .ps-eye{color:#2f6b52}
.ps-rhy__hd{left:4cqw;top:4.5cqh;width:45cqw;z-index:4;padding:4px 16px 18px 0;background:#f6f4ef;border-radius:4px}
.ps-rhy__radar{position:absolute;left:-6cqw;top:11cqh;width:88cqh;height:88cqh;z-index:2}
.ps-anc--radar{inset:0}
.ps-rhy__zoom{position:absolute;inset:0;transition:transform .8s var(--ps-io)}
[data-film] .ps-sc--rhy[data-st="2"] .ps-rhy__zoom{transform:scale(1.06)}
.ps-cad{display:block;width:100%;height:100%;overflow:visible}
.ps-cad__ticks{stroke:#2f7354;stroke-width:1.4;stroke-opacity:.55;transition:stroke-opacity .5s}
.ps-cad__label{font:700 14px var(--gft-font-mono);letter-spacing:.08em;fill:#33403d;paint-order:stroke;stroke:#f6f4ef;stroke-width:6px;stroke-linejoin:round;transition:fill .5s}
.ps-cad__dot{fill:#c98a2b}
.ps-cad__evt rect{fill:#0e4d4a}
.ps-cad__wedge{fill:#b87a1d;fill-opacity:.13}
.ps-cad__edge{stroke:#b87a1d;stroke-width:2;stroke-opacity:.75}
.ps-cad__core{fill:#0e4d4a}
.ps-cad__drop circle{fill:#c98a2b}
.ps-cad__rep rect{fill:#c98a2b}
.ps-cad__rep path{stroke:#c98a2b;stroke-width:2;stroke-dasharray:3 5}
.ps-cad__flipmark circle{fill:#c98a2b;stroke:#fff;stroke-width:3}
.ps-cad__sweep,.ps-cad__orb,.ps-cad__evt{transform-origin:300px 300px;overflow-anchor:none}
.ps-cad__sweepk{transform-origin:300px 300px;transition:transform .8s var(--ps-io),opacity .5s}
.ps-cad__coreg,.ps-cad__rep,.ps-cad__flipmark{transform-box:fill-box;transform-origin:center;transition:transform .6s var(--ps-out),opacity .4s}
/* states (the composed HTML is step 3) */
[data-film] .ps-sc--rhy[data-st="0"] .ps-cad__sweepk{opacity:0;transform:scale(.3)}
[data-film] .ps-sc--rhy[data-st="1"] .ps-cad__sweepk{transform:scale(.4)}
[data-film] .ps-sc--rhy[data-st="2"] .ps-cad__sweepk{transform:scale(.7)}
[data-film] .ps-sc--rhy:not([data-st="2"]) .ps-cad__rep{opacity:0;transform:scale(.4)}
[data-film] .ps-sc--rhy:not([data-st="3"]) .ps-cad__flipmark{opacity:0;transform:scale(.2)}
.ps-sc--rhy:is([data-st="1"]) .ps-cad__ring--0 .ps-cad__label,.ps-sc--rhy[data-st="2"] .ps-cad__ring--1 .ps-cad__label,.ps-sc--rhy[data-st="3"] .ps-cad__ring--2 .ps-cad__label{fill:#0e4d4a}
.ps-sc--rhy:is([data-st="1"]) .ps-cad__ring--0 .ps-cad__ticks,.ps-sc--rhy[data-st="2"] .ps-cad__ring--1 .ps-cad__ticks,.ps-sc--rhy[data-st="3"] .ps-cad__ring--2 .ps-cad__ticks{stroke-opacity:1;stroke:#0e4d4a}
:root[data-m-go] .ps-sc--rhy[data-on] .ps-cad__sweep{animation-name:ps-spin;animation-duration:16s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:normal}
:root[data-m-go] .ps-sc--rhy[data-on] .ps-cad__orb,:root[data-m-go] .ps-sc--rhy[data-on] .ps-cad__evt{animation-name:ps-spin;animation-duration:var(--ps-p,20s);animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:normal}
:root[data-m-go] .ps-sc--rhy[data-on] .ps-cad__coreg{animation-name:ps-core;animation-duration:5s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
@keyframes ps-core{from{transform:scale(.9)}to{transform:scale(1.1)}}
/* entrance: the ochre event dot drops from the ledger onto the core; ticks and labels settle quickly */
.ps-cad__drop{opacity:0}
:root[data-m-go][data-ps-live] [data-film] .ps-sc--rhy[data-in] .ps-cad__drop{animation-name:ps-drop;animation-duration:700ms;animation-timing-function:cubic-bezier(.5,0,.3,1.3);animation-iteration-count:1;animation-direction:normal}
@keyframes ps-drop{from{opacity:1;transform:translate(-160px,-300px)}85%{opacity:1}to{opacity:0;transform:translate(0,0)}}
:root[data-m-go][data-ps-live] [data-film] .ps-sc--rhy:not([data-in]) :is(.ps-cad__ticks,.ps-cad__label,.ps-cad__orb,.ps-cad__evt){opacity:.65}
:root[data-m-go][data-ps-live] [data-film] .ps-sc--rhy[data-in] .ps-cad__ring{animation-name:ps-ringin;animation-duration:480ms;animation-delay:calc(20ms + var(--ps-ri,0) * 50ms);animation-timing-function:var(--ps-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal;transform-origin:300px 300px}
.ps-cad__ring--1{--ps-ri:1}.ps-cad__ring--2{--ps-ri:2}
@keyframes ps-ringin{from{opacity:.65;transform:rotate(-12deg) scale(.96)}}
.ps-rhy__col{position:absolute;left:50cqw;right:4cqw;top:5.5cqh;bottom:4.5cqh;display:flex;flex-direction:column;gap:14px;z-index:3}
.ps-rhy__card{padding:20px 24px;background:#ffffffeb;border:1px solid #0e4d4a38;box-shadow:10px 10px 0 #0e4d4a14;display:flex;flex-direction:column;gap:16px}
.ps-rhy__col .ps-cap .ps-mono{color:#2f6b52}
.ps-cadread{display:grid;border-top:2px solid #0e4d4a;padding-top:14px;margin-top:0}
.ps-cadset{grid-area:1/1;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 22px}
.ps-cadset dt{color:#2f6b52;margin-bottom:2px}
.ps-cadset dd{margin:0;font-size:20px;font-weight:650;line-height:1.28;color:var(--ps-ink)}
.ps-cadset dt::before{content:'';display:inline-block;width:8px;height:8px;margin-right:8px;background:#c98a2b;vertical-align:1px}
[data-film] .ps-cadset{opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .08s linear,transform .08s,visibility 0s linear .08s}
[data-film] .ps-cadset[data-on]{opacity:1;visibility:visible;transform:none;transition:opacity .15s ease-out .08s,transform .22s var(--ps-out) .08s,visibility 0s linear .08s}
.ps-rhy__live{padding:16px 22px;background:#0e4d4a;color:#f6f4ef;border:1px solid #6bb68f66;box-shadow:10px 10px 0 #072d2b24;display:flex;flex-direction:column;gap:12px}
.ps-rhy__lhead{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#c9dccf;border-bottom:1px solid #6bb68f40;padding-bottom:8px}
.ps-rhy__lpulse{display:inline-flex;align-items:center;gap:8px;color:#f0c36a}
.ps-rhy__lpulse i{width:8px;height:8px;border-radius:50%;background:#e9b04f;box-shadow:0 0 0 4px #e9b04f33;overflow-anchor:none}
:root[data-m-go] .ps-sc--rhy[data-on] .ps-rhy__lpulse i{animation-name:gft-pulse;animation-duration:2s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
.ps-rhy__lbody{display:grid;grid-template-columns:56px minmax(0,1fr);gap:16px;align-items:center}
.ps-rhy__clock{width:56px;height:56px;display:block;overflow:visible}
.ps-rhy__chand{transform-origin:32px 32px;overflow-anchor:none}
:root[data-m-go] .ps-sc--rhy[data-on] .ps-rhy__chand{animation-name:ps-spin;animation-duration:12s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:normal}
.ps-rhy__lmeta{display:flex;flex-direction:column;gap:10px;min-width:0}
.ps-rhy__chain{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ps-rhy__cnode{padding:3px 10px;border-radius:999px;border:1px solid #6bb68f66;font:600 12px/1.4 var(--gft-font-mono);letter-spacing:.06em;text-transform:uppercase;color:#c9dccf;background:#072d2b66}
.ps-rhy__cnode[data-on]{background:#e9b04f;border-color:#e9b04f;color:#072d2b;font-weight:700}
.ps-rhy__carrow{width:16px;height:2px;background:#6bb68f88;position:relative}
.ps-rhy__lset{grid-area:1/1;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ps-rhy__lmeta{display:grid}
.ps-rhy__chain{grid-row:1}
.ps-rhy__lset{grid-row:2;opacity:0;visibility:hidden;transition:opacity .08s linear,visibility 0s linear .08s}
.ps-rhy__lset[data-on]{opacity:1;visibility:visible;transition:opacity .15s ease-out .08s,visibility 0s linear .08s}
.ps-rhy__lset dt{color:#8fd0ac;font-size:12px}
.ps-rhy__lset dd{margin:2px 0 0;font-size:16px;font-weight:700;line-height:1.25;color:#f6f4ef}

/* ===================== #5 utilisation (sage paper), four steps ===================== */
.ps-sc--uti{color:var(--ps-ink)}
.ps-uti__hd{left:4cqw;top:5cqh;width:52cqw}
.ps-uti__seg{position:absolute;right:4cqw;top:6.5cqh;width:38cqw}
.ps-uti__seg legend{color:#2f6b52}
.ps-uti__row{position:absolute;left:4cqw;right:4cqw;top:18.5cqh;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
.ps-dial{display:grid;grid-template-columns:min(14cqw,24cqh) minmax(0,1fr);gap:16px;align-items:center;text-align:left;padding:14px 18px;background:#ffffffcc;border:1px solid #0e4d4a38;box-shadow:8px 8px 0 #0e4d4a12;border-radius:6px;outline-offset:4px;cursor:pointer}
.ps-dial[data-active-dial]{border-color:#0e4d4a;box-shadow:8px 8px 0 #0e4d4a28;background:#fff}
.ps-dial:focus-visible{outline:3px solid #0e4d4a}
.ps-dial__box{position:relative;width:100%;aspect-ratio:1}
.ps-anc--d0,.ps-anc--d1,.ps-anc--d2{inset:0}
.ps-dial__scale{position:absolute;inset:0;transition:transform .8s var(--ps-io)}
.ps-dial__scale>*{position:absolute;inset:0;width:100%;height:100%}
.ps-dial__scale svg{display:block;width:100%;height:100%;overflow:visible}
.ps-dial__rim{stroke:#0e4d4a;stroke-opacity:.24;stroke-width:3}
.ps-dial__ticks{stroke:#0e4d4a;stroke-opacity:.55;stroke-width:1.3}
.ps-dial__in{stroke:#0e4d4a;stroke-opacity:.2}
.ps-dial__scan{transform-origin:100px 100px;overflow-anchor:none}
.ps-dial__bezel{stroke:#2f7354;stroke-opacity:.5;stroke-width:1.4}
.ps-dial__beam{fill:#c98a2b;fill-opacity:.16}
.ps-dial__pip{fill:#c98a2b}
:root[data-m-go] .ps-sc--uti[data-on] .ps-dial__scan{animation-name:ps-spin;animation-duration:var(--ps-sp,18s);animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:normal}
.ps-dial__sweep{clip-path:var(--ps-wedge);transition:clip-path .65s var(--ps-out),opacity .4s}
.ps-dial__arc{stroke:#c98a2b;stroke-width:13;stroke-linecap:round}
.ps-dial__needle{stroke:#7d4f0c;stroke-width:2.5}
.ps-dial__q circle{stroke:#0e4d4a;stroke-width:2;stroke-dasharray:4 6}
.ps-dial__q text{font:700 9px var(--gft-font-mono);fill:#0e4d4a}
.ps-dial__q{transform-origin:100px 100px;transition:opacity .3s linear calc(var(--k) * 70ms),transform .5s var(--ps-out) calc(var(--k) * 70ms)}
.ps-dial__gapedge{stroke:#7d4f0c;stroke-width:1.2;stroke-dasharray:3 3}
.ps-dial__hatch path{stroke:#7d4f0c;stroke-width:2.2;stroke-opacity:.6}
.ps-dial__gap{transition:opacity .4s linear,clip-path .6s var(--ps-out);clip-path:circle(75% at 50% 50%)}
.ps-dial__hatch{overflow-anchor:none}
.ps-dial__meta{display:flex;flex-direction:column;gap:4px;min-width:0;text-align:left}
.ps-dial__name{margin:0;font-size:18px;font-weight:800;letter-spacing:-.01em;color:var(--ps-ink)}
.ps-dial__fig{margin:0;line-height:1}
.ps-val{font:800 clamp(30px,2.5cqw,38px)/1.08 var(--gft-font-display);letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:#0e4d4a}
.ps-dial__st{display:grid;margin:4px 0 0;color:#5b4108}
.ps-dial__st span{grid-area:1/1}
[data-film] .ps-dial__st span{opacity:0;transition:opacity .08s linear}
[data-film] .ps-dial__st span[data-on]{opacity:1;transition:opacity .15s ease-out .08s}
/* states */
/* step 0 is the reported state: the arcs sweep in on arrival (never a blank chart) */
:root[data-m-go][data-ps-live] [data-film] .ps-sc--uti:not([data-in]) .ps-dial__sweep{clip-path:var(--ps-shut)}
:root[data-m-go][data-ps-live] [data-film] .ps-sc--uti[data-in] .ps-dial__sweep{animation-name:ps-sweepin;animation-duration:720ms;animation-delay:40ms;animation-timing-function:var(--ps-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
.ps-dial--1 .ps-dial__sweep{animation-delay:90ms!important}.ps-dial--2 .ps-dial__sweep{animation-delay:140ms!important}
@keyframes ps-sweepin{from{clip-path:var(--ps-shut)}}
.ps-dial__fig{transition:opacity .2s linear}
[data-film] .ps-sc--uti:is([data-st="2"],[data-st="3"]) .ps-dial__sweep{opacity:.4}
[data-film] .ps-sc--uti:is([data-st="0"],[data-st="1"]) .ps-dial__q{opacity:0;transform:rotate(-40deg) scale(.7)}
[data-film] .ps-sc--uti:not([data-st="3"]) .ps-dial__gap{opacity:0;clip-path:circle(0 at 50% 50%)}
[data-film] .ps-sc--uti[data-st="3"] .ps-dial--2 .ps-dial__scale{transform:scale(1.08)}
[data-film] .ps-sc--uti[data-st="3"] :is(.ps-dial--0,.ps-dial--1) .ps-dial__scale{transform:scale(.94)}
:root[data-m-go] .ps-sc--uti[data-on] .ps-dial__q circle{animation-name:ps-spin;animation-duration:30s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:normal;transform-origin:100px 100px}
:root[data-m-go] .ps-sc--uti[data-on][data-st="3"] .ps-dial__hatch{animation-name:ps-hatch;animation-duration:20s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:alternate}
@keyframes ps-hatch{to{transform:translateX(24px)}}
/* entrance: the dials comb in left to right */
:root[data-m-go][data-ps-live] [data-film] .ps-sc--uti:not([data-in]) .ps-dial__base{opacity:.65;transform:rotate(-16deg) scale(.92)}
:root[data-m-go][data-ps-live] [data-film] .ps-sc--uti[data-in] .ps-dial__base{animation-name:ps-dialin;animation-duration:520ms;animation-timing-function:var(--ps-out);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
.ps-dial--1 .ps-dial__base{animation-delay:40ms!important}.ps-dial--2 .ps-dial__base{animation-delay:80ms!important}
.ps-dial--0 .ps-dial__base{animation-delay:0ms}
@keyframes ps-dialin{from{opacity:.65;transform:rotate(-16deg) scale(.92)}}
.ps-uti__deck{position:absolute;left:4cqw;right:4cqw;top:49cqh;bottom:8cqh;display:grid;grid-template-columns:1.15fr 1fr;gap:24px;align-items:stretch}
.ps-uti__left{display:flex;flex-direction:column;justify-content:space-between;gap:14px;padding:18px 22px;background:#ffffffc4;border:1px solid #0e4d4a33;box-shadow:8px 8px 0 #0e4d4a10}
.ps-uti__cap{text-align:left}
.ps-uti__cap .ps-cap__tip{text-align:left}
.ps-uti__cap .ps-mono{color:#2f6b52}
.ps-uti__cap .ps-body{font-size:17.5px;line-height:1.54;text-align:left;color:var(--ps-ink)}
[data-film] .ps-cap__tip{opacity:0;visibility:hidden}
[data-film] .ps-sc--uti[data-tip] .ps-cap__i[data-ps-k]{opacity:0;visibility:hidden;transition:opacity .08s linear,visibility 0s linear .08s}
:is([data-film] .ps-sc--uti[data-tip="0"] [data-ps-tip="0"],[data-film] .ps-sc--uti[data-tip="1"] [data-ps-tip="1"],[data-film] .ps-sc--uti[data-tip="2"] [data-ps-tip="2"]){opacity:1;visibility:visible;transform:none;transition:opacity .15s ease-out .08s,visibility 0s linear .08s}
.ps-uti__morph{display:grid;gap:6px;padding-top:12px;border-top:1px solid #0e4d4a2e}
.ps-uti__morph label{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#2f6b52}
.ps-uti__morph output{color:#0e4d4a;font-weight:700}
.ps-uti__morph input{width:100%;min-height:44px;margin:0;accent-color:#0e4d4a;cursor:pointer}
.ps-uti__marks{display:flex;justify-content:space-between;gap:8px;color:#33403d;font-size:12px}
.ps-uti__inspector{padding:18px 22px;background:#0e4d4a;color:#f6f4ef;border:1px solid #6bb68f66;box-shadow:10px 10px 0 #072d2b24;display:flex;flex-direction:column;justify-content:space-between;gap:12px}
.ps-uti__ihead{display:flex;flex-direction:column;gap:8px;border-bottom:1px solid #6bb68f44;padding-bottom:10px}
.ps-uti__ihead>.ps-mono{color:#c9dccf}
.ps-uti__sites{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ps-uti__sitebtn{appearance:none;min-height:44px;padding:6px 10px;border-radius:4px;border:1px solid #6bb68f88;background:#072d2b99;color:#e9f1ec;font:600 14px/1.2 var(--gft-font-sans);cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:6px}
.ps-uti__sitebtn b{font:700 13px var(--gft-font-mono);color:#f0c36a}
.ps-uti__sitebtn[data-active]{background:#e9b04f;border-color:#e9b04f;color:#072d2b;font-weight:700}
.ps-uti__sitebtn[data-active] b{color:#072d2b}
.ps-uti__sitebtn:focus-visible{outline:3px solid #e9b04f;outline-offset:2px}
.ps-uti__ibody{display:grid}
.ps-uti__iset{grid-area:1/1;margin:0;display:grid;gap:8px;opacity:0;visibility:hidden;transition:opacity .08s linear,visibility 0s linear .08s}
:is(.ps-sc--uti[data-site="0"] .ps-uti__iset--0,.ps-sc--uti[data-site="1"] .ps-uti__iset--1,.ps-sc--uti[data-site="2"] .ps-uti__iset--2){opacity:1;visibility:visible;transition:opacity .15s ease-out .08s,visibility 0s linear .08s}
.ps-uti__iset div{display:grid;grid-template-columns:170px minmax(0,1fr);gap:10px;align-items:baseline;padding-top:6px;border-top:1px solid #6bb68f33}
.ps-uti__iset div:first-child{border-top:0;padding-top:0}
.ps-uti__iset dt{color:#8fd0ac;font-size:12px}
.ps-uti__iset dd{margin:0;font-size:15.5px;font-weight:600;line-height:1.3;color:#f6f4ef}
.ps-uti__src{position:absolute;left:4cqw;bottom:2.2cqh;color:#33403d;display:flex;align-items:center;gap:8px}
/* Reserve the wrapped heading before seating the dials. The lower deck and source keep their stage bands. */
@media(min-width:761px){
 [data-film] .ps-sc--uti{display:grid;padding:5cqh 4cqw 8cqh;grid-template-columns:52cqw 38cqw;grid-template-rows:max-content minmax(0,1fr) 43cqh;gap:2cqh 2cqw}
 [data-film] .ps-uti__hd{position:static;width:auto;grid-area:1/1}
 [data-film] .ps-uti__seg{position:static;width:auto;grid-area:1/2;align-self:start;margin-top:1.5cqh}
 [data-film] .ps-uti__row{position:static;grid-area:2/1/3/3;min-height:0}
 [data-film] .ps-uti__row .ps-dial{grid-template-columns:min(14cqw,21cqh) minmax(0,1fr)}
 [data-film] .ps-uti__deck{position:static;grid-area:3/1/4/3;min-height:0}
}
.ps-uti__src .gft-cite{min-width:48px;min-height:30px;justify-content:center;font:700 13px var(--gft-font-mono);color:#0e4d4a;border-color:#0e4d4a;background:#fff}

/* ===================== #6 interlude (night), three states ===================== */
.ps-sc--int{color:var(--ps-on-dark)}
.ps-int__warp{position:absolute;inset:0;overflow:hidden}
.ps-int__warp i{position:absolute;inset:0 -6%;background:repeating-linear-gradient(90deg,#6bb68f1f 0 1px,transparent 1px 40px);overflow-anchor:none}
:root[data-m-go] .ps-sc--int[data-on] .ps-int__warp i{animation-name:ps-warpfield;animation-duration:18s;animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:alternate}
@keyframes ps-warpfield{to{transform:translateX(40px)}}
.ps-int__motes{position:absolute;inset:0;overflow:hidden}
.ps-int__motes i{position:absolute;left:calc(var(--x) * 1%);top:calc(var(--y) * 1%);width:5px;height:5px;border-radius:50%;background:#e9b04f;opacity:.55;overflow-anchor:none}
.ps-int__motes i:nth-child(3n){background:#8fd0ac}
:root[data-m-go] .ps-sc--int[data-on] .ps-int__motes i{animation-name:ps-mote;animation-duration:calc(8s + var(--k) * .7s);animation-delay:calc(var(--k) * -1.3s);animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
@keyframes ps-mote{from{transform:translate(0,0)}to{transform:translate(70px,-46px)}}
.ps-int__giant{position:absolute;left:calc(88cqw - 48cqh);top:2cqh;width:96cqh;height:96cqh}
.ps-anc--giant{inset:0}
.ps-int__true{position:absolute;inset:0;transition:transform .9s var(--ps-io)}
[data-film] .ps-sc--int[data-st="0"] .ps-int__true{transform:scaleX(1.18)}
[data-film] .ps-sc--int[data-st="1"] .ps-int__true{transform:scaleX(1.08)}
.ps-int__true>*{position:absolute;inset:0;width:100%;height:100%}
.ps-int__svg{overflow:visible}
.ps-int__ticks{stroke:#8fd0ac;stroke-opacity:.5;stroke-width:.7}
.ps-int__out{stroke:#e9b04f;stroke-width:3.2;stroke-linecap:round}
.ps-int__den{stroke:#8fd0ac;stroke-width:2;stroke-opacity:.3;transition:stroke-opacity .5s}
.ps-sc--int[data-st="0"] .ps-int__den--0,.ps-sc--int[data-st="1"] .ps-int__den--1,.ps-sc--int[data-st="2"] .ps-int__den--2{stroke-opacity:1}
.ps-int__hubc{fill:#072d2b;stroke:#8fd0ac;stroke-opacity:.6}
.ps-int__ratio svg path{stroke:#e9b04f;stroke-width:6;stroke-linecap:round}
.ps-int__ratio{clip-path:var(--ps-w2);transition:clip-path .75s cubic-bezier(.3,1.35,.5,1)}
[data-film] .ps-sc--int[data-st="0"] .ps-int__ratio{clip-path:var(--ps-w0)}
[data-film] .ps-sc--int[data-st="1"] .ps-int__ratio{clip-path:var(--ps-w1)}
.ps-int__nd{transform-origin:100px 100px;transform:rotate(var(--ps-r2));transition:transform .75s cubic-bezier(.3,1.5,.5,1)}
[data-film] .ps-sc--int[data-st="0"] .ps-int__nd{transform:rotate(var(--ps-r0))}
[data-film] .ps-sc--int[data-st="1"] .ps-int__nd{transform:rotate(var(--ps-r1))}
.ps-int__nd path{stroke:#f6f4ef;stroke-width:2.4;stroke-linecap:round}
.ps-int__nd circle{fill:#f6f4ef}
.ps-int__hd{left:4cqw;top:7cqh;width:50cqw}
.ps-int__hd .ps-h2{font-size:clamp(36px,4.6cqw,72px);line-height:1.02}
.ps-int__lede{position:absolute;left:4cqw;top:37cqh;width:44cqw;color:#e9f1ec}
.ps-denom{position:absolute;left:4cqw;top:55cqh;width:58cqw;padding:18px 22px 18px;background:#072d2bdb;border:1px solid #6bb68f66;display:flex;flex-direction:column;gap:12px}
.ps-denom .ps-seg legend{color:var(--ps-on-dark-2);margin-bottom:6px}
.ps-denom__rows{display:grid;gap:8px}
.ps-denom__row{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:14px;height:28px}
.ps-denom__row .ps-mono{color:#e9f1ec}
.ps-denom__track{position:relative;height:12px;background:#ffffff1a;border-radius:6px;overflow:hidden}
.ps-denom__bar{position:absolute;inset:0;border-radius:6px;transform-origin:0 50%;transition:transform .75s var(--ps-io)}
.ps-denom__bar--out{background:#8fd0ac;transform:scaleX(var(--v))}
.ps-denom__bar--den{background:#e9f1ec;transform:scaleX(.52)}
.ps-denom__bar--ratio{background:#e9b04f;transform:scaleX(.77);transition:transform .75s cubic-bezier(.3,1.35,.5,1)}
[data-film] .ps-sc--int[data-st="0"] .ps-denom__bar--den{transform:scaleX(1)}
[data-film] .ps-sc--int[data-st="1"] .ps-denom__bar--den{transform:scaleX(.74)}
[data-film] .ps-sc--int[data-st="0"] .ps-denom__bar--ratio{transform:scaleX(.4)}
[data-film] .ps-sc--int[data-st="1"] .ps-denom__bar--ratio{transform:scaleX(.54)}
.ps-denom__says{display:grid;font-size:22px;line-height:1.3;letter-spacing:-.015em;font-weight:600}
.ps-denom__says p{grid-area:1/1;margin:0}
.ps-denom__says b{color:#f0c36a}
[data-film] .ps-denom__says p{opacity:0;visibility:hidden;transition:opacity .08s linear,visibility 0s linear .08s}
[data-film] .ps-denom__says p[data-on]{opacity:1;visibility:visible;transition:opacity .15s ease-out .08s,visibility 0s linear .08s}
.ps-denom .ps-note{color:var(--ps-on-dark-2)}

/* ===================== #7 spine (indigo on light mist: the data layer, the contrast reset after the interlude) ===================== */
.ps-sc--spi{color:#141c3a}
.ps-sc--spi .ps-eye{color:#2c3e7a}
.ps-spi__hd{left:4cqw;top:6cqh;width:56cqw}
.ps-spi__seg{position:absolute;right:4cqw;top:7.5cqh;width:34cqw}
.ps-spi__seg legend{color:#2c3e7a}
.ps-spi__seg label{color:#2c3e7a;border-color:#2c3e7a88;background:#ffffffcc}
.ps-spi__seg label:has(input:checked){background:#2c3e7a;border-color:#2c3e7a;color:#fff}
.ps-spi__seg label:has(input:focus-visible){outline-color:#2c3e7a}
.ps-spi__pan{position:absolute;inset:0;transition:transform .8s var(--ps-io)}
[data-film] .ps-sc--spi[data-st="2"] .ps-spi__pan{transform:translateX(var(--ps-pan,0px))}
.ps-spi__rail{position:absolute;left:4cqw;right:4cqw;top:calc(64cqh - 20px);height:40px;--rw:92cqw}
.ps-anc--rail{inset:0}
.ps-spi__bed{position:absolute;left:-8px;right:-8px;top:50%;height:22px;margin-top:-11px;border-radius:11px;background:#2c3e7a14;border:1px solid #2c3e7a2e}
.ps-spi__flow{position:absolute;inset:0;overflow:hidden}
.ps-spi__flow i{position:absolute;left:0;top:13px;width:10px;height:14px;border-radius:2px;background:#2c3e7a;opacity:0;overflow-anchor:none}
.ps-spi__flow i.ps-spi__late{background:#f6f4ef;border:2px solid #b0721a}
:root[data-m-go] .ps-sc--spi[data-on] .ps-spi__flow i{animation-name:ps-recflow;animation-duration:15s;animation-delay:calc(var(--k) * -1.5s);animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:normal}
@keyframes ps-recflow{from{transform:translateX(0);opacity:0}4%{opacity:.85}96%{opacity:.85}to{transform:translateX(var(--rw));opacity:0}}
.ps-spi__node{position:absolute;left:calc(var(--x) * 1%);top:50%;width:28px;height:28px;margin:-14px 0 0 -14px;border-radius:50%;border:3px solid #2c3e7a;background:#fff;transition:transform .4s var(--ps-out)}
.ps-spi__node[data-past]{background:#2c3e7a}
.ps-spi__node[data-on]{background:#c98a2b;border-color:#c98a2b;transform:scale(1.25)}
.ps-spi__node::after{content:'';position:absolute;inset:-9px;border-radius:50%;border:2px solid #c98a2b;opacity:0;overflow-anchor:none}
:root[data-m-go] .ps-sc--spi[data-on] .ps-spi__node[data-on]::after{animation-name:ps-ping;animation-duration:2.2s;animation-timing-function:ease-out;animation-iteration-count:infinite;animation-direction:normal}
@keyframes ps-ping{from{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(1.6)}}
.ps-spi__tag{position:absolute;top:44px;color:#7d4f0c;white-space:nowrap}
.ps-spi__tag--late{left:calc(16% + 22px)}
.ps-spi__tag--gap{left:calc(54% + 60px)}
.ps-spi__dup{position:absolute;left:calc(54% + 22px);top:4px;width:30px;height:14px}
.ps-spi__dup i{position:absolute;left:0;top:0;width:3px;height:14px;background:#b0721a;transition:transform .6s var(--ps-out) .3s}
.ps-spi__dup i+i{transform:translateX(10px)}
.ps-sc--spi[data-st="2"] .ps-spi__dup i+i{transform:translateX(0)}
.ps-spi__gap{position:absolute;left:calc(54% + 60px);top:-2px;width:72px;height:26px;border:2px dashed #b0721a;border-radius:3px}
.ps-spi__closed{position:absolute;left:calc(86% - 230px);top:44px;display:flex;gap:14px;color:#7d4f0c}
.ps-spi__closed b{font-weight:600;transition:opacity .3s linear}
.ps-sc--spi[data-st="3"] .ps-spi__closed b+b{transition-delay:.9s}
[data-film] .ps-spi__tag,[data-film] .ps-spi__dup,[data-film] .ps-spi__gap,[data-film] .ps-spi__closed b{opacity:0;transition:opacity .3s linear}
[data-film] :is(.ps-spi__tag,.ps-spi__dup,.ps-spi__gap)[data-on]{opacity:1;transition:opacity .4s linear .5s}
[data-film] .ps-spi__closed[data-on] b{opacity:1;transition:opacity .4s linear .5s}
[data-film] .ps-spi__closed[data-on] b+b{transition-delay:1.3s}
.ps-spi__bead{position:absolute;left:0;top:50%;width:0;height:0;transform:translateX(86cqw);transition:transform .9s var(--ps-io)}
[data-film] .ps-sc--spi:is([data-st="0"],[data-st="1"]) .ps-spi__bead{transform:translateX(14.7cqw)}
[data-film] .ps-sc--spi[data-st="2"] .ps-spi__bead{transform:translateX(49.7cqw)}
[data-film] .ps-sc--spi[data-st="3"] .ps-spi__bead{transform:translateX(79.1cqw)}
.ps-spi__bead i{position:absolute;left:-8px;top:-8px;width:16px;height:16px;border-radius:50%;background:#c98a2b;box-shadow:0 0 0 5px #c98a2b40;overflow-anchor:none}
:root[data-m-go] .ps-sc--spi[data-on] .ps-spi__bead i{animation-name:ps-bead;animation-duration:5s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:normal}
@keyframes ps-bead{0%,15%{transform:translateX(0)}50%,60%{transform:translateX(9cqw)}100%{transform:translateX(0)}}
/* stage cards: always open (never an empty field); the active one lifts onto a dark indigo plate */
.ps-spi__cards{position:absolute;left:4cqw;right:4cqw;top:0;bottom:calc(36cqh + 34px)}
.ps-sp{position:absolute;bottom:0;left:calc(var(--x) * 1%);width:27.5cqw;margin-left:-14.25cqw;height:35cqh;transition:transform .5s var(--ps-out)}
.ps-sp--0{margin-left:-10.5cqw}.ps-sp--2{margin-left:-14.5cqw}
.ps-sp__in{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-start;gap:10px;padding:16px 20px 12px;background:#fff;border:1px solid #2c3e7a66;box-shadow:8px 8px 0 #2c3e7a1f;color:#141c3a}
.ps-sp__in::before{content:'';position:absolute;inset:-1px;background:#24336a;border:1px solid #24336a;opacity:0;transition:opacity .3s linear}
.ps-sp__in>*{position:relative}
.ps-sp[data-on]{transform:translateY(-8px)}
.ps-sp[data-on] .ps-sp__in{color:#f1f5f2;box-shadow:10px 10px 0 #2c3e7a40}
.ps-sp[data-on] .ps-sp__in::before{opacity:1}
.ps-sp ul{order:1;margin:0;padding:0;list-style:none;display:grid;gap:5px}
.ps-sp li{font-size:18px;line-height:1.26;padding-left:18px;position:relative}
.ps-sp li::before{content:'';position:absolute;left:0;top:.5em;width:8px;height:8px;background:#2c3e7a}
.ps-sp[data-on] li::before{background:#9fb4f0}
.ps-sp__k{order:2;margin:auto 0 0;padding-top:8px;border-top:1px solid #2c3e7a44;color:#7d4f0c}
.ps-sp[data-on] .ps-sp__k{color:#f0c36a;border-top-color:#9fb4f066}
.ps-sp__mark{position:absolute!important;right:16px;bottom:10px;width:30px;height:30px;color:#2c3e7a}
.ps-sp[data-on] .ps-sp__mark{color:#f0c36a}
.ps-sp__mock{order:0;display:grid;gap:0;position:relative;overflow:hidden;border:1px solid #2c3e7a33;border-radius:3px}
.ps-sp__mock .ps-mono{margin:0;padding:2px 10px;font-size:12px;background:#2c3e7a14;color:#2c3e7a}
.ps-sp[data-on] .ps-sp__mock{border-color:#9fb4f055}
.ps-sp[data-on] .ps-sp__mock .ps-mono{background:#ffffff14;color:#c9d4f5}
.ps-sp__row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:0;padding:3px 10px;border-top:1px solid #2c3e7a1f;font-size:14px;line-height:1.3}
.ps-sp__row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ps-sp__row b{flex:none;font:600 13px/1.3 var(--gft-font-mono);color:#2c3e7a}
.ps-sp__row--f b{color:#7d4f0c}
.ps-sp[data-on] .ps-sp__row{border-top-color:#9fb4f033}
.ps-sp[data-on] .ps-sp__row b{color:#c9d4f5}
.ps-sp[data-on] .ps-sp__row--f b{color:#f0c36a}
.ps-sp__scan{position:absolute;left:0;right:0;top:0;height:26px;background:linear-gradient(90deg,#e9b04f00,#e9b04f33,#e9b04f00);opacity:0;pointer-events:none;overflow-anchor:none}
:root[data-m-go] .ps-sc--spi[data-on] .ps-sp[data-on] .ps-sp__scan{opacity:1;animation-name:ps-scanrows;animation-duration:3.6s;animation-timing-function:steps(3,end);animation-iteration-count:infinite;animation-direction:normal}
@keyframes ps-scanrows{from{transform:translateY(20px)}to{transform:translateY(98px)}}
.ps-spi__cap{position:absolute;left:4cqw;width:58cqw;top:70.5cqh}
.ps-scrub{position:absolute;left:4cqw;right:4cqw;bottom:3cqh;display:grid;grid-template-columns:minmax(220px,24cqw) minmax(0,1fr) auto;align-items:center;gap:22px}
.ps-scrub label{display:grid;gap:2px}
.ps-scrub label .ps-mono{color:#2c3e7a}
.ps-scrub output{font-size:22px;font-weight:700;letter-spacing:-.02em;color:#141c3a}
.ps-scrub input{width:100%;min-height:44px;accent-color:#2c3e7a}
.ps-scrub__n{display:grid;margin:0;font:800 30px/1 var(--gft-font-display);font-variant-numeric:tabular-nums;color:#141c3a}
.ps-scrub__n span{grid-area:1/1}
.ps-scrub__n b{color:#7d4f0c}
[data-film] .ps-scrub__n span{opacity:0;transform:translateY(8px);transition:opacity .08s linear,transform .08s}
[data-film] .ps-scrub__n span[data-on]{opacity:1;transform:none;transition:opacity .15s ease-out .08s,transform .22s var(--ps-out) .08s}
/* ===================== #8 maturity (warm sand, a dark-green staircase), four steps ===================== */
.ps-sc--mat{color:var(--ps-ink)}
.ps-sc--mat .ps-eye{color:#2a6149}
.ps-mat__hd{left:4cqw;right:4cqw;top:3.5cqh;width:92cqw}
.ps-mat__hd .ps-h2{font-size:clamp(26px,2.65cqw,40px);white-space:nowrap;text-wrap:nowrap}
.ps-mat__marker{position:absolute;left:4cqw;width:46.5cqw;top:calc(11cqh + 32px);padding:15px 20px;background:#fdfbf7;border:1px solid #0e4d4a44;box-shadow:8px 8px 0 #0e4d4a14;display:flex;flex-direction:column;gap:10px;z-index:2}
.ps-mat__mhead{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#2a6149;border-bottom:1px solid #0e4d4a26;padding-bottom:8px}
.ps-mat__mpulse{display:inline-flex;align-items:center;gap:8px;color:#7d4f0c}
.ps-mat__mpulse i{width:8px;height:8px;border-radius:50%;background:#c98a2b;box-shadow:0 0 0 4px #c98a2b33;overflow-anchor:none}
:root[data-m-go] .ps-sc--mat[data-on] .ps-mat__mpulse i{animation-name:gft-pulse;animation-duration:2s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
.ps-mat__mtrack{display:grid;gap:8px}
.ps-mat__mbar{position:relative;height:10px;background:#0e4d4a1a;border-radius:999px;overflow:hidden}
.ps-mat__mfill{position:absolute;inset:0;background:#0e4d4a;transform-origin:0 50%;transform:scaleX(1);transition:transform .5s var(--ps-out)}
[data-film] .ps-sc--mat:is([data-st="0"],[data-st="1"]) .ps-mat__mfill{transform:scaleX(.333)}
[data-film] .ps-sc--mat[data-st="2"] .ps-mat__mfill{transform:scaleX(.666)}
.ps-mat__mscan{position:absolute;left:0;top:0;bottom:0;width:24%;background:linear-gradient(90deg,transparent,#e9b04fcc,transparent);overflow-anchor:none}
:root[data-m-go] .ps-sc--mat[data-on] .ps-mat__mscan{animation-name:ps-mscan;animation-duration:3.4s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
@keyframes ps-mscan{from{transform:translateX(0)}to{transform:translateX(315%)}}
.ps-mat__mgates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ps-mat__mgate{padding:5px 8px;border-radius:4px;border:1px solid #0e4d4a33;background:#f2e8d580;font-size:13.5px;font-weight:600;color:#33403d;display:flex;align-items:center;gap:6px}
.ps-mat__mgate b{color:#2a6149;font-size:12px}
.ps-mat__mgate[data-past]{background:#0e4d4a;border-color:#0e4d4a;color:#f6f4ef}
.ps-mat__mgate[data-past] b{color:#f0c36a}
.ps-mat__mread{display:grid;padding-top:4px;border-top:1px solid #0e4d4a26}
.ps-mat__mread p{grid-area:1/1;margin:0;display:flex;flex-direction:column;gap:2px;font-size:15.5px;line-height:1.38;color:var(--ps-ink);opacity:0;visibility:hidden;transition:opacity .08s linear,visibility 0s linear .08s}
.ps-mat__mread p[data-on]{opacity:1;visibility:visible;transition:opacity .15s ease-out .08s,visibility 0s linear .08s}
.ps-mat__mread b{color:#7d4f0c;font-size:12px}
.ps-stairs{position:absolute;left:4cqw;right:4cqw;top:50.5cqh;bottom:9cqh}
/* high-contrast stage numerals on sand (unbuilt) or on the built dark-green tread */
.ps-tread::after{position:absolute;right:18px;bottom:10px;font:800 clamp(44px,5.2cqw,82px)/1 var(--gft-font-display);letter-spacing:-.03em;color:#0e4d4a;background:#f2e8d5;-webkit-text-stroke:0 transparent;pointer-events:none}
.ps-tread[data-past]::after{color:#d8ece1;background:#0e4d4a}
.ps-tread--0::after{content:'01'}.ps-tread--1::after{content:'02'}.ps-tread--2::after{content:'03'}
.ps-tread[data-on]::after{color:#f0c36a}
.ps-anc--stairs{inset:0}
.ps-tread{position:absolute;bottom:0;width:33.333%}
.ps-tread--0{left:0;height:33.333%}.ps-tread--1{left:33.333%;height:66.666%}.ps-tread--2{left:66.666%;height:100%}
.ps-tread__fill{position:absolute;inset:0;background:linear-gradient(#0e4d4a,#0e4d4ae0);transform-origin:50% 100%;transition:transform .65s var(--ps-out)}
[data-film] .ps-tread:not([data-past]) .ps-tread__fill{transform:scaleY(0)}
.ps-tread__glint{position:absolute;left:0;right:0;top:0;height:4px;overflow:hidden;opacity:0}
.ps-tread__glint::after{content:'';position:absolute;inset:0 70% 0 0;background:linear-gradient(90deg,transparent,#f6f4efcc,transparent);overflow-anchor:none}
.ps-tread[data-on] .ps-tread__glint{opacity:1}
:root[data-m-go] .ps-sc--mat[data-on] .ps-tread[data-on] .ps-tread__glint::after{animation-name:ps-glint;animation-duration:9s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:normal}
@keyframes ps-glint{0%,60%{transform:translateX(-100%)}100%{transform:translateX(330%)}}
.ps-tread__lbl{position:absolute;left:20px;right:16px;top:16px;margin:0;display:grid;gap:4px;background:#f2e8d5}
/* Opaque text plates switch with the foreground, independently of the moving fill in either direction. */
.ps-tread[data-past] .ps-tread__lbl{background:#0e4d4a}
.ps-tread__lbl .ps-mono{color:#2a6149}
.ps-tread__lbl b{font-size:18px;font-weight:700;color:#1d2826}
.ps-tread[data-past] .ps-tread__lbl b{font-weight:800;color:#f6f4ef}
.ps-tread[data-past] .ps-tread__lbl .ps-mono{color:#c9dccf}
.ps-tread[data-on] .ps-tread__lbl .ps-mono{color:#f0c36a}
.ps-stairs__top{position:absolute;right:0;top:-26px;margin:0;color:#0e4d4a}
.ps-stairs__top[data-past]{color:#7d4f0c}
.ps-stairs__note{position:absolute;left:0;bottom:-36px;font-size:14px;color:#33403d}
.ps-stairs__bead{position:absolute;left:0;bottom:0;width:0;height:0;transform:translate(70.7cqw,-40.5cqh);transition:transform .65s var(--ps-out)}
[data-film] .ps-sc--mat:is([data-st="0"],[data-st="1"]) .ps-stairs__bead{transform:translate(9.7cqw,-13.5cqh)}
[data-film] .ps-sc--mat[data-st="2"] .ps-stairs__bead{transform:translate(40.3cqw,-27cqh)}
.ps-stairs__bead i{position:absolute;left:-10px;top:-24px;width:20px;height:20px;border-radius:50%;background:#c98a2b;box-shadow:0 0 0 6px #c98a2b40;overflow-anchor:none}
:root[data-m-go] .ps-sc--mat[data-on] .ps-stairs__bead i{animation-name:gft-pulse;animation-duration:2.6s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
.ps-mat__seg{position:absolute;right:4cqw;bottom:1.6cqh;width:36cqw}
.ps-mat__seg legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.ps-mat__seg label{color:#0e4d4a;border-color:#0e4d4a88;background:#ffffffb3}
.ps-mat__seg label:has(input:checked){background:#0e4d4a;border-color:#0e4d4a;color:#fff}
.ps-mat__seg label:has(input:focus-visible){outline-color:#0e4d4a}
.ps-mat__caps{position:absolute;inset:0;pointer-events:none}
.ps-mat__cap{position:absolute;left:52.5cqw;right:4cqw;width:auto;top:calc(11cqh + 32px);padding:15px 22px;display:flex;flex-direction:column;gap:6px;pointer-events:auto}
.ps-mat__cap h3{font-size:clamp(20px,1.7cqw,25px);line-height:1.15;margin:0;letter-spacing:-.025em}
.ps-mat__cap p{margin:0}
.ps-mat__cap{color:#f1f5f2}
.ps-mat__cap .ps-mono{color:#f0c36a}
.ps-mat__cap .ps-need{color:#8fd0ac}
.ps-mat__leader{position:absolute;left:28px;top:100%;width:2px;height:2.4cqh;background:#b0721a}
[data-film] .ps-mat__cap{opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .08s linear,transform .08s,visibility 0s linear .08s}
[data-film] .ps-mat__cap[data-on]{opacity:1;visibility:visible;transform:none;transition:opacity .15s ease-out .08s,transform .22s var(--ps-out) .08s,visibility 0s linear .08s}

/* ===================== #9 closing (night) ===================== */
.ps-sc--cls{color:var(--ps-on-dark)}
.ps-cls{position:absolute;inset:0}
.ps-cls__ring{position:absolute;left:3cqw;top:13cqh;height:72cqh;aspect-ratio:760/700}
.ps-anc--track{left:18.95%;top:16.29%;width:62.11%;height:67.43%}
.ps-cls__hub{position:absolute;left:50%;top:50%;width:27%;transform:translate(-50%,-50%);display:grid;text-align:center}
.ps-cls__read{grid-area:1/1;margin:0;display:grid;gap:6px;opacity:0;visibility:hidden;transition:opacity .2s linear,visibility 0s linear .2s}
.ps-cls__read dt{color:#c9dccf;font-size:13px}
.ps-cls__read dd{margin:0;font-size:22px;font-weight:800;line-height:1.1;letter-spacing:-.02em;color:#f6f4ef}
:is(.ps-cls[data-fam="0"] .ps-cls__read--0,.ps-cls[data-fam="1"] .ps-cls__read--1,.ps-cls[data-fam="2"] .ps-cls__read--2,.ps-cls[data-fam="3"] .ps-cls__read--3,.ps-cls[data-fam="4"] .ps-cls__read--4,.ps-cls[data-fam="5"] .ps-cls__read--5){opacity:1;visibility:visible;transition:opacity .3s linear .25s,visibility 0s linear .25s}
.ps-cls__thread{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.ps-cls__tpath{stroke:#e9b04f;stroke-width:2.6;fill:none;stroke-linecap:round}
.ps-cls__beads circle{fill:#f6d58f;opacity:.2}
:root[data-m-go] .ps-sc--cls[data-on] .ps-cls__beads circle{animation-name:ps-bead-flow;animation-duration:2.4s;animation-delay:calc(var(--k) * .4s);animation-timing-function:linear;animation-iteration-count:infinite;animation-direction:normal}
@keyframes ps-bead-flow{0%,100%{opacity:.15}18%{opacity:1}40%{opacity:.15}}
:root[data-m-go][data-ps-live] [data-film] .ps-sc--cls:not([data-in]) .ps-cls__thread{clip-path:inset(0 0 100% 0)}
:root[data-m-go][data-ps-live] [data-film] .ps-sc--cls[data-in] .ps-cls__thread{animation-name:ps-thread-in;animation-duration:1100ms;animation-delay:500ms;animation-timing-function:var(--ps-io);animation-fill-mode:backwards;animation-iteration-count:1;animation-direction:normal}
@keyframes ps-thread-in{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}
.ps-cls__panel{position:absolute;left:55cqw;right:4cqw;top:8.5cqh;display:flex;flex-direction:column;gap:14px}
.ps-cls__panel .ps-hd{position:static}
.ps-cls__hd .ps-h2{font-size:clamp(28px,3cqw,46px)}
.ps-cls__lede{color:#e9f1ec}
.ps-cls__chips .ps-chip{min-height:44px}
.ps-cls__lines{display:grid}
.ps-cls__line{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .2s linear,visibility 0s linear .2s}
:is(.ps-cls[data-fam="0"] .ps-cls__line--0,.ps-cls[data-fam="1"] .ps-cls__line--1,.ps-cls[data-fam="2"] .ps-cls__line--2,.ps-cls[data-fam="3"] .ps-cls__line--3,.ps-cls[data-fam="4"] .ps-cls__line--4,.ps-cls[data-fam="5"] .ps-cls__line--5){opacity:1;visibility:visible;transition:opacity .3s linear .25s,visibility 0s linear .25s}
.ps-cls__chain{color:#f0c36a;margin:0}
.ps-cls__nk{color:#c9dccf;margin:8px 0 2px}
.ps-cls__next{font-size:24px;line-height:1.15;margin:0;letter-spacing:-.02em}
.ps-cls__cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.ps-dest{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border:1px solid #6bb68f88;background:#0a3d3a;color:#f6f4ef;text-decoration:none;min-height:44px}
.ps-dest .ps-mono{color:#c9dccf}
.ps-dest strong{font-size:22px;line-height:1.12;letter-spacing:-.02em}
.ps-dest em{font-style:normal;font-size:17px;color:#f0c36a}
a.ps-dest:hover,a.ps-dest:focus-visible{border-color:#e9b04f;outline:none;box-shadow:0 0 0 3px #e9b04f}
.ps-cls__feeds{margin:0;font-size:17px;line-height:1.5;color:#e9f1ec}
.ps-cls__feeds .ps-mono{display:block;color:#c9dccf}
.ps-cls__feeds a{color:#f6f4ef;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#e9b04f;display:inline-block;min-height:24px}
.ps-cls__feeds a:hover{color:#f0c36a}
.ps-cls__q{color:#c9dccf}

/* ===================== phones: each scene recomposed for a 390 x 844 frame ===================== */
@media(max-width:760px){
 .ps-h2{font-size:clamp(25px,7.2cqw,30px);line-height:1.08}
 .ps-hd{left:5cqw!important;right:5cqw;width:auto!important;top:2.6cqh!important}
 .ps-eye{margin-bottom:6px}
 .ps-seg label{font-size:14px;padding:6px 8px;min-height:44px}
 .ps-seg legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .ps-cap h3{font-size:21px}
 .ps-body{font-size:17px;line-height:1.5}
 .ps-chips{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
 .ps-chips legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .ps-chip{font-size:13.5px;padding:6px 7px;min-height:44px;justify-content:center;text-align:center}
 .ps-chip b{display:none}
 .ps-gauge__label{visibility:hidden}
 .ps-gauge__idx{font-size:40px}
 .ps-ring__mono{visibility:hidden}
 /* console */
 .ps-con__col{display:contents}
 .ps-con__col .ps-hd{position:absolute}
 .ps-con__chips{position:absolute;left:5cqw;right:5cqw;top:17.5cqh}
 .ps-con__ring{left:50%;top:31cqh;height:auto;width:78cqw;margin-left:-39cqw}
 .ps-con__leader{display:none}
 .ps-con__lede,.ps-con__card{position:absolute;left:5cqw;right:5cqw;top:67cqh;padding:0;background:none;border:0;box-shadow:none}
 .ps-con__title{font-size:21px;margin-bottom:8px}
 .ps-facts dd{font-size:17px}
 .ps-facts{gap:6px}
 [data-film] .ps-sc--con:not([data-st="0"]) .ps-con__lede,[data-film] .ps-sc--con[data-st="0"] .ps-con__card{opacity:0;visibility:hidden}
 [data-film] .ps-sc--con:not([data-st="1"]) .ps-facts,[data-film] .ps-sc--con:not([data-st="2"]) :is(.ps-con__text,.ps-con__card>.ps-note){display:none}
 [data-film] .ps-sc--con[data-st="2"] :is(.ps-con__chain,.ps-con__title){display:none}
 .ps-con__lede,.ps-con__card{transition:opacity .3s linear,visibility 0s linear .3s}
 /* contract */
 .ps-led{left:5cqw;right:5cqw;width:auto;top:13.5cqh;height:42.5cqh;--lw:90cqw;--lh:42.5cqh}
 .ps-led__bar{letter-spacing:.02em;font-size:12px}
 .ps-led__bar span:first-child{display:none}
 .ps-led__id{font-size:13px;margin-top:6px}
 .ps-led__id .ps-mono{display:none}
 .ps-rib{top:15%;height:13%;gap:6px}
 .ps-rib__c{padding:4px 8px;align-items:center;text-align:center}
 .ps-rib__n,.ps-rib__s{display:none}
 .ps-rib__k{font-size:16px}
 .ps-pn__tag{display:none}
 .ps-lane{grid-template-columns:1fr;gap:0;padding-top:6px}
 .ps-lane__v{font-size:15px;line-height:1.22}
 .ps-ev__m:nth-child(n){height:24px}
 .ps-ev__m.ps-ev__m--main{height:96px}
 .ps-ev__l{display:none}
 .ps-ev__m--main .ps-ev__l{display:grid}
 .ps-ev__l b{font-size:15px}
 .ps-ev__axis{top:calc(100% + 12px);font-size:12px}
 .ps-ev__dot{left:-6px;bottom:-6px;width:12px;height:12px;border-width:2px}
 .ps-pn__read{padding-top:32px;gap:0}
 .ps-pn__read span{font-size:15px}
 .ps-sw__k{top:6px}
 .ps-sw__who{top:24px;width:27%;font-size:14px;line-height:1.2}
 .ps-sw__box{top:10%;height:76%;width:24%;padding:0 7px;font-size:13px;line-height:1.15}
 .ps-df{grid-template-columns:16px auto minmax(0,1fr);grid-template-rows:auto auto;column-gap:8px;row-gap:3px;align-items:center;padding-top:8px}
 .ps-df__g{grid-row:1/3;font-size:20px;align-self:start}
 .ps-df__v{font-size:18px}
 .ps-df--kept .ps-df__v{font-size:16px}
 .ps-df__m{grid-column:2/4;font-size:14px}
 .ps-df--kept .ps-df__v{grid-column:2/4}
 .ps-df--kept .ps-df__k{display:none}
 .ps-ctr__card{left:5cqw;right:5cqw;top:57.5cqh;bottom:2.5cqh;padding:14px 16px;gap:10px}
 .ps-count{font-size:24px}
 .ps-ctr__card .ps-seg{order:-1}
 /* rhythm */
 .ps-rhy__hd{background:none;padding:0}
 .ps-rhy__radar{left:50%;margin-left:-31cqw;top:26.5cqh;width:62cqw;height:62cqw}
 .ps-cad__label{font-size:30px}
 .ps-rhy__col{left:5cqw;right:5cqw;top:58cqh;bottom:2cqh;gap:10px}
 .ps-rhy__card{padding:0;background:none;border:0;box-shadow:none;gap:10px}
 .ps-rhy__live{display:none}
 .ps-rhy__col .ps-seg{position:absolute;left:0;right:0;top:-38.5cqh}
 .ps-rhy__col .ps-cap .ps-mono{display:none}
 .ps-cadread{padding-top:8px}
 .ps-cadset{grid-template-columns:1fr 1fr;gap:6px 14px}
 .ps-cadset>div:nth-child(-n+2){display:none}
 .ps-cadset dd{font-size:15px}
 /* utilisation: three rows, dial at left */
 .ps-uti__seg{left:5cqw;right:5cqw;width:auto;top:16cqh}
 .ps-uti__row{left:5cqw;right:5cqw;top:24cqh;grid-template-columns:1fr;row-gap:1.6cqh;justify-items:stretch}
 .ps-dial{width:auto;display:grid;grid-template-columns:23cqw minmax(0,1fr);column-gap:14px;align-items:center;text-align:left;padding:6px 10px;box-shadow:none}
 .ps-dial__meta{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:10px;align-items:center}
 .ps-dial__name{margin:0;align-self:end}
 .ps-dial__fig{grid-column:2;grid-row:1/3;margin:0}
 .ps-val{font-size:26px}
 .ps-dial__st{grid-column:1;grid-row:2;margin:0;align-self:start}
 .ps-dial__q text{visibility:hidden}
 [data-film] .ps-sc--uti[data-st="3"] .ps-dial--2 .ps-dial__scale{transform:scale(1.12)}
 [data-film] .ps-sc--uti[data-st="3"] :is(.ps-dial--0,.ps-dial--1) .ps-dial__scale{transform:scale(.92)}
 .ps-uti__deck{left:5cqw;right:5cqw;top:61cqh;bottom:6cqh;grid-template-columns:1fr;gap:0}
 .ps-uti__left{padding:0;background:none;border:0;box-shadow:none}
 .ps-uti__morph,.ps-uti__inspector{display:none}
 .ps-uti__cap{position:static;text-align:left}
 .ps-uti__cap .ps-body{font-size:16px;line-height:1.45}
 .ps-uti__src{left:5cqw;right:5cqw;bottom:1.6cqh;flex-wrap:wrap}
 /* interlude */
 .ps-int__giant{left:calc(84cqw - 55cqw);top:24cqh;width:110cqw;height:110cqw}
 .ps-int__hd .ps-h2{font-size:clamp(30px,9cqw,38px)}
 .ps-int__lede{left:3cqw;right:3cqw;width:auto;top:24.5cqh;font-size:17px;padding:8px 10px;background:#072d2bd9}
 .ps-denom{left:3cqw;right:3cqw;width:auto;top:auto;bottom:2cqh;padding:12px 14px;gap:8px}
 .ps-denom__row{grid-template-columns:104px minmax(0,1fr);height:24px}
 .ps-denom__says{font-size:19px}
 /* spine: the rail runs down the left edge, nodes as rows */
 .ps-spi__seg{left:5cqw;right:5cqw;width:auto;top:19.5cqh}
 /* cards sized to their text (px), the rail and its nodes follow them */
 .ps-spi__rail{left:6cqw;right:auto;width:40px;top:26.5cqh;height:340px;margin-left:-14px}
 .ps-spi__flow,.ps-spi__bed{display:none}
 .ps-spi__node{left:50%;top:calc(var(--x) * 1%)}
 .ps-spi__node--0{top:13.5%}.ps-spi__node--1{top:47.4%}.ps-spi__node--2{top:83.8%}
 .ps-spi__tag,.ps-spi__dup,.ps-spi__gap,.ps-spi__closed{display:none}
 .ps-spi__bead{left:50%;top:0;transform:translateY(285px)}
 [data-film] .ps-sc--spi:is([data-st="0"],[data-st="1"]) .ps-spi__bead{transform:translateY(46px)}
 [data-film] .ps-sc--spi[data-st="2"] .ps-spi__bead{transform:translateY(161px)}
 [data-film] .ps-sc--spi[data-st="3"] .ps-spi__bead{transform:translateY(285px)}
 :root[data-m-go] .ps-sc--spi[data-on] .ps-spi__bead i{animation-name:none}
 .ps-spi__cards{left:15cqw;right:4cqw;top:26.5cqh;bottom:auto;height:340px}
 .ps-sp{left:0;right:0;width:auto;margin-left:0!important;bottom:auto}
 .ps-sp--0{top:0;height:92px}.ps-sp--1{top:98px;height:126px}.ps-sp--2{top:230px;height:110px}
 .ps-sp[data-on]{transform:none}
 .ps-sp__in{padding:6px 10px;gap:3px}
 .ps-sp__mock{display:none}
 .ps-sp ul{order:2;gap:1px}
 .ps-sp li{font-size:15px;line-height:1.16;padding-left:13px}
 .ps-sp li::before{width:6px;height:6px}
 .ps-sp__k{order:1;margin:0;border:0;padding:0;font-size:12px}
 .ps-sp__mark{display:none}
 .ps-spi__cap{left:5cqw;right:5cqw;width:auto;top:calc(26.5cqh + 354px)}
 .ps-spi__cap h3{font-size:19px}
 .ps-spi__cap .ps-body{font-size:15px;line-height:1.42}
 .ps-spi__cap .ps-cap__i>*+*{margin-top:6px}
 .ps-scrub{left:5cqw;right:5cqw;bottom:1.6cqh;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px}
 .ps-scrub label{grid-column:1/-1}
 .ps-scrub label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .ps-scrub output{font-size:17px}
 .ps-scrub__n{font-size:22px}
 /* maturity */
 .ps-mat__hd .ps-h2{font-size:clamp(25px,7.2cqw,30px);white-space:normal;text-wrap:balance}
 .ps-mat__marker{display:none}
 .ps-stairs{left:5cqw;right:5cqw;top:27cqh;bottom:auto;height:27cqh}
 .ps-tread__lbl{left:8px;right:4px;top:8px}
 .ps-tread::after{font-size:30px;right:8px;bottom:6px}
 .ps-tread__lbl b{font-size:13px;line-height:1.2}
 .ps-tread__lbl .ps-mono{display:none}
 .ps-stairs__top{top:-26px}
 .ps-stairs__note{bottom:-40px;right:0}
 .ps-stairs__bead{transform:translate(66cqw,-27cqh)}
 [data-film] .ps-sc--mat:is([data-st="0"],[data-st="1"]) .ps-stairs__bead{transform:translate(6cqw,-9cqh)}
 [data-film] .ps-sc--mat[data-st="2"] .ps-stairs__bead{transform:translate(36cqw,-18cqh)}
 .ps-mat__seg{left:5cqw;right:5cqw;width:auto;top:16.5cqh;bottom:auto}
 .ps-mat__cap{left:5cqw!important;right:5cqw;width:auto!important;top:60.5cqh!important;padding:12px 14px;gap:5px}
 .ps-mat__leader,.ps-mat__cap--3 .ps-mat__leader{display:none}
 .ps-mat__cap .ps-body{font-size:17px;line-height:1.42}
 /* closing */
 .ps-cls__ring{left:50%;top:13cqh;height:auto;width:76cqw;margin-left:-38cqw}
 .ps-cls__hub{width:29%}
 .ps-cls__read{gap:2px}
 .ps-cls__read dt{display:none}
 .ps-cls__read dd{font-size:13.5px}
 .ps-cls__panel{left:5cqw;right:5cqw;top:2.6cqh;bottom:2cqh;gap:8px}
 .ps-cls__panel .ps-hd{position:absolute;left:0!important;right:0;top:0!important}
 .ps-cls__chips{position:absolute;left:0;right:0;top:calc(10cqh + 70cqw)}
 .ps-cls__lede,.ps-cls__lines,.ps-cls__feeds,.ps-cls__q{position:absolute;left:0;right:0}
 .ps-cls__lede{top:calc(22cqh + 70cqw)}
 .ps-cls__lines{top:calc(10cqh + 70cqw)}
 .ps-cls__feeds{bottom:6cqh}
 .ps-cls__q{bottom:0}
 .ps-cls__next{font-size:20px}
 .ps-cls__cards{grid-template-columns:1fr;gap:6px;margin-top:6px}
 .ps-dest{padding:8px 12px;gap:2px}
 .ps-dest strong{font-size:17px}
 .ps-dest em{font-size:14px}
 [data-film] .ps-sc--cls[data-st="0"] :is(.ps-cls__lines,.ps-cls__feeds,.ps-cls__q),[data-film] .ps-sc--cls[data-st="1"] :is(.ps-cls__lede,.ps-cls__chips){opacity:0;visibility:hidden}
 .ps-cls__chips{transition:opacity .3s linear,visibility 0s linear .3s}
 .ps-cls__lede,.ps-cls__lines,.ps-cls__feeds,.ps-cls__q{transition:opacity .3s linear,visibility 0s linear .3s}
}
/* Only the reported decorative layers are bounded. Text and its entrances stay intact. */
.ps-led__cur{left:-12px}
:root[data-m-go] .ps-sc--ctr[data-on][data-st="0"] .ps-led__cur{animation-name:ps-cursor-gutter}
@keyframes ps-cursor-gutter{
 0%,100%{transform:translateX(0)}
 50%{transform:translateX(6px)}
}
.ps-relay-guards{position:absolute;width:0;height:0;pointer-events:none;overflow:hidden}
.ps-stage[data-scene="1"] .ps-rg{mask:url(#ps-relay-contract)}
.ps-stage[data-scene="3"] .ps-rg{mask:url(#ps-relay-utilisation)}
.ps-stage[data-scene="7"] .ps-rg{mask:url(#ps-relay-closing)}
.ps-relay-guard-rot{transform:rotate(var(--ps-rot,0deg));transition:transform .6s var(--ps-io)}
.ps-relay-guard-counter{transform:rotate(calc(var(--ps-rot,0deg) * -1));transition:transform .6s var(--ps-io)}
