body{padding:0 var(--s-6)}header,main,footer{max-width:1440px;margin:auto}header{display:flex;align-items:center;gap:var(--s-5);min-height:80px;border-bottom:1px solid var(--hair-strong)}header>a:last-child{margin-left:auto}.brand{display:flex;align-items:center;gap:var(--s-3);font-weight:600;text-decoration:none}.brand img{margin:var(--s-3)}a{color:var(--ink);text-underline-offset:4px}button,a,input,summary{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--ink)}.meta,.footnote{font-size:var(--t-secondary);color:var(--ink-2)}.meta{font-family:var(--font-mono)}.dot{color:var(--imperial-red)}.intro{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-5);padding:var(--s-5) 0}.intro h1{font-size:var(--t-h2)}h1 em,h2 em{font-family:var(--font-serif);font-style:italic;font-weight:400}.intro p{margin:0;color:var(--ink-2)}nav{display:flex;gap:var(--s-2);border-bottom:1px solid var(--hair-strong);padding-bottom:var(--s-4)}button{font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--hair-strong);border-radius:var(--r-pill);padding:var(--s-3) var(--s-5);cursor:pointer;transition:background var(--d-1) var(--ease)}button:hover{background:var(--paper-2)}nav button{flex:1;text-align:left}nav button[aria-current=true],.primary{color:var(--paper);background:var(--ink);border-color:var(--ink)}.primary:hover{background:var(--ink-1)}.film-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);padding:var(--s-4) 0}.film-heading h2{font-size:var(--t-h3)}.film-heading p{font-size:var(--t-body);color:var(--ink-2);margin:var(--s-1) 0 0}.stage{background:var(--ink);aspect-ratio:16/9;border:1px solid var(--hair-strong);border-radius:var(--r-2);overflow:hidden}video{width:100%;height:100%;display:block;object-fit:contain}.playback{display:flex;align-items:center;gap:var(--s-4);padding-top:var(--s-4);flex-wrap:wrap}.playback a{font-size:var(--t-secondary)}.spacer{flex:1}.footnote{margin:var(--s-3) 0}.chapters{display:flex;gap:var(--s-2);overflow:auto;padding:var(--s-2) 0 var(--s-4)}.chapters button{flex:1;min-width:160px;text-align:left;padding:var(--s-3);font-size:var(--t-secondary)}.chapters .time{display:block;font-family:var(--font-mono);color:var(--ink-2);font-size:var(--t-meta);margin-bottom:var(--s-1)}.chapters button.active{border-color:var(--ink);background:var(--paper-2)}.result{display:flex;justify-content:space-between;gap:var(--s-6);border-top:1px solid var(--hair-strong);padding:var(--s-4) 0}.result p{max-width:760px;margin:0}.result a{font-size:var(--t-secondary);display:inline-block;margin:0 var(--s-3) var(--s-2) 0}.questions{padding:var(--s-7) 0}.questions>h2{font-size:var(--t-h2);margin-bottom:var(--s-5)}details{border-top:1px solid var(--hair-strong);padding:var(--s-4) 0}summary{font-size:var(--t-title);cursor:pointer}details p{max-width:900px;font-size:var(--t-body);line-height:1.65}details button{font-size:var(--t-secondary);margin:var(--s-1) var(--s-2) var(--s-1) 0}.calculator{display:flex;align-items:end;gap:var(--s-5);flex-wrap:wrap}.calculator label{display:grid;gap:var(--s-2);font-size:var(--t-secondary);max-width:260px}.calculator input{font:inherit;font-family:var(--font-mono);width:180px;background:var(--bone);border:1px solid var(--hair-strong);color:var(--ink);padding:var(--s-3);border-radius:var(--r-1)}output{font-size:var(--t-h3);padding:var(--s-2) 0}footer{display:flex;justify-content:space-between;border-top:1px solid var(--hair-strong);padding:var(--s-5) 0;font-size:var(--t-secondary);color:var(--ink-2)}.skip{position:absolute;left:-9999px;top:0}.skip:focus{left:var(--s-4);padding:var(--s-3);background:var(--paper);z-index:2}@media(max-width:800px){body{padding:0 var(--s-4)}header{gap:var(--s-2)}header .meta{display:none}.intro{display:block}.intro h1{font-size:var(--t-h3);margin-bottom:var(--s-2)}nav{display:grid;grid-template-columns:1fr 1fr}.film-heading p{max-width:500px}.film-heading>.meta{display:none}.playback{gap:var(--s-2)}.spacer{display:none}.result{display:block}.result p{margin-bottom:var(--s-4)}.questions>h2{font-size:var(--t-h3)}footer{gap:var(--s-4)}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

button{min-height:var(--s-7)}
nav button{text-align:center;line-height:1.35}
.chapters{scroll-padding-inline:var(--s-2);scroll-snap-type:x proximity}
.chapters button{border-radius:var(--r-pill);padding:var(--s-3) var(--s-5);min-width:max-content;scroll-snap-align:start}
.chapters .time{display:inline;margin:0 var(--s-2) 0 0}
.playback a{display:inline-flex;align-items:center;justify-content:center;min-height:var(--s-7);padding:var(--s-2) var(--s-4);border:1px solid var(--hair-strong);border-radius:var(--r-pill);text-decoration:none}
.playback a:hover{background:var(--paper-2)}
.calculator input{font-size:var(--t-title)}
#website-analytics{margin-bottom:var(--s-5)}
#website-analytics summary{font-size:var(--t-secondary)}
@media(max-width:800px){nav{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}nav button{padding:var(--s-3) var(--s-4)}.playback{align-items:center}.playback #playback-state{flex-basis:100%;order:1}.playback a{order:2}.playback .spacer{display:none}.playback button{padding-inline:var(--s-4)}.chapters button{flex:none}.stage{border-radius:var(--r-3)}.questions{padding-block:var(--s-6)}.calculator label{max-width:100%;width:100%}.calculator input{width:100%}footer{flex-wrap:wrap}}
@media(max-width:360px){.playback{gap:var(--s-2)}.playback button{padding-inline:var(--s-3)}header .brand{gap:0}header>a:last-child{font-size:var(--t-secondary)}}

[hidden]{display:none!important}
body.player-expanded{overflow:hidden}
.stage.expanded{position:fixed;inset:0;z-index:100;aspect-ratio:auto;width:100%;height:100dvh;border:none;border-radius:0;background:var(--ink);padding:calc(var(--s-8) + env(safe-area-inset-top)) var(--s-4) calc(var(--s-4) + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center}
.stage.expanded video{width:100%;height:100%;object-fit:contain}
#close-fullscreen{position:absolute;right:calc(var(--s-4) + env(safe-area-inset-right));top:calc(var(--s-2) + env(safe-area-inset-top));min-height:var(--s-7);color:var(--paper);background:var(--ink);border-color:var(--ink-2)}

.focus-guard{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}
