:root{color-scheme:light;--paper:#f5ecd5;--ink:#233f36;--muted:#65543b;--red:#963b2e;--line:#b9aa88;--gold:#d7ab55}*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.6 Georgia,'Times New Roman',serif}header,main,footer{width:min(1160px,calc(100% - 64px));margin:auto}header,footer{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:24px 0;border-bottom:1px solid var(--ink);font:12px/1.5 ui-monospace,monospace;letter-spacing:.05em}header a,footer a{font-size:14px}a{color:var(--red);text-underline-offset:4px}a:hover{text-decoration-thickness:2px}h1,h2,h3,p{margin:0 0 16px}h1{font-size:clamp(54px,8.5vw,112px);font-weight:400;line-height:.93;letter-spacing:-.055em;margin:24px 0}h1 em{font-weight:400;color:var(--red)}h2{font-size:28px;line-height:1.15;font-weight:400}h3{font-size:21px;font-weight:400;margin-top:24px}.intro{padding:48px 0 40px;max-width:740px}.eyebrow,.section-head>span,.fine,.film small,.caption,.button-row,button,summary,#frame-number,#film-count,#decoder-number{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.eyebrow{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.dek{font-size:23px;line-height:1.4;margin-top:24px}.fine{font-size:13px;line-height:1.6;color:var(--muted)}.workbench{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:30px}.stage-panel{border:1px solid var(--ink);padding:24px;background:var(--paper)}.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:14px;flex-wrap:wrap}.section-head h2{font-size:24px}#frame-number{font-size:13px}#stage svg{display:block;width:100%;height:auto;margin:8px 0 20px}.caption{font-size:19px;font-weight:bold;color:var(--red);margin-bottom:4px}#physical-caption{font-size:17px}.controls{padding:20px 0}.controls .eyebrow:not(:first-child){margin-top:28px}.button-row{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}button,summary{font-size:14px;line-height:1.45;min-height:46px;padding:12px 16px;border:1px solid var(--ink);background:var(--paper);color:var(--ink);cursor:pointer;border-radius:2px;max-width:100%;overflow-wrap:anywhere;touch-action:manipulation}button:hover{background:#e9ddbc}button.primary,button[aria-pressed=true]{background:var(--ink);color:var(--paper)}button.primary:hover,button[aria-pressed=true]:hover{background:#304b3e}button:disabled{cursor:not-allowed;opacity:1;color:var(--muted);border-style:dashed;background:var(--paper)}:focus-visible{outline:3px solid var(--red);outline-offset:4px}.controls:focus{outline-offset:6px}.role-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.role-grid button{text-align:left}.role-grid b{font-family:Georgia,serif;font-weight:400;font-size:22px;display:block}.invitation{border-left:3px solid var(--red);padding-left:16px;font-style:italic;margin-top:24px}.return-link{font-size:14px;display:inline-block;padding:10px 0;min-height:44px}#cutting-room,#inspection,.closing{border-top:1px solid var(--ink);margin-top:40px;padding-top:28px}#cutting-room>p{max-width:760px}.film{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:8px;margin:24px 0}.film button{padding:10px 6px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:8px;min-height:130px;border-top:6px double var(--ink);border-bottom:6px double var(--ink)}.film button[aria-pressed=true]{border-color:var(--ink)}.film svg{width:52px;height:52px;max-width:100%}.film small{font-size:11px;line-height:1.3}.film .cup-letter{font-size:20px;font-family:Georgia,serif}#notice{min-height:3.2em;color:var(--red)}.inspection-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.inspection-top button{flex-shrink:0}#inspection>p{max-width:850px}#verdict{border-left:4px solid var(--red);padding:4px 20px;margin:28px 0;font-size:21px}#verdict p:last-child{margin-bottom:0}#verdict .fine{font-size:14px}#dictionary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}#dictionary div{padding:16px 12px;border:1px solid var(--line)}dt{font-size:13px;font-family:monospace}dd{margin:8px 0 0;font-size:19px}#forecasts{display:grid;grid-template-columns:1fr 1fr;gap:18px}#forecasts article{padding:20px;border:1px solid var(--line)}#forecasts h3{margin-top:0}.closing{padding-bottom:36px}.closing p{max-width:750px}#sources{border-top:1px solid var(--ink);padding:20px 0 36px}summary{border:none;padding-left:0;background:transparent;text-decoration:underline;text-underline-offset:4px;font-size:14px}.source-copy{max-width:800px;padding-top:24px}.source-copy p{font-size:16px}.source-copy h2{font-size:25px}footer{border-top:1px solid var(--ink);border-bottom:0;padding-bottom:32px}code{overflow-wrap:anywhere}#reset-dialog{border:1px solid var(--red);padding:20px;margin-top:20px;max-width:700px}[hidden]{display:none!important}.skip{position:absolute;left:16px;top:-100px;background:var(--paper);padding:14px;z-index:5}.skip:focus{top:16px}p,dd,a,button{overflow-wrap:anywhere}svg{overflow:visible}@media(max-width:850px){.workbench{grid-template-columns:1fr}.controls{padding-top:4px}.film{grid-template-columns:repeat(5,minmax(0,1fr))}#dictionary{grid-template-columns:1fr 1fr}}@media(max-width:500px){body{font-size:16px}header,main,footer{width:calc(100% - 32px)}header{align-items:flex-start;font-size:10px;gap:12px}header span{max-width:110px;text-align:right}.intro{padding:32px 0}.dek{font-size:20px}h1{font-size:60px}h2{font-size:26px}.stage-panel{padding:14px}.stage-panel h2{font-size:22px}.film{grid-template-columns:repeat(3,minmax(0,1fr))}.film button{min-height:128px}.inspection-top{display:block}.inspection-top button{width:100%}#forecasts{grid-template-columns:1fr}#dictionary{gap:8px}#dictionary div{padding:12px 8px}dd{font-size:16px}button{padding:11px 12px}.button-row>button{flex:1 1 120px}.role-grid button{font-size:12px}.role-grid b{font-size:20px}.closing{margin-top:28px}footer{align-items:flex-start;gap:12px}.caption{font-size:17px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
