:root{--paper: #f0e9d8;--ink: #24343d;--muted-ink: #657075;--brass: #967848;--hairline: #b7a78a;--serif: "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;--sans: "Segoe UI", "Helvetica Neue", sans-serif;--programme-width: 440px;--ui-inset: 28px;--ui-bottom: 18px;--hud-height: 40px}html,body{margin:0;height:100%;background:#10181e;overflow:hidden;font-family:var(--sans)}canvas#view{display:block;width:100vw;height:100vh}button{-webkit-tap-highlight-color:transparent}kbd{display:inline-block;box-sizing:border-box;min-width:17px;height:16px;padding:0 3px;border:1px solid #b7a78a90;color:var(--brass);font:9px/14px var(--sans);text-align:center}#help kbd{color:inherit;border-color:#eee9dc80;margin-right:3px}#letterbox{position:fixed;inset:0;pointer-events:none;display:none}#letterbox:before,#letterbox:after{content:"";position:absolute;left:0;right:0;background:#000;height:var(--bar, 0px)}#letterbox:before{top:0}#letterbox:after{bottom:0}body.cine #letterbox{display:block}#slate{position:fixed;left:32px;bottom:calc(var(--bar, 0px) + 64px);color:var(--paper);letter-spacing:.17em;font-size:10px;text-transform:uppercase;opacity:0;transition:opacity 1.2s;pointer-events:none;text-shadow:0 1px 8px #0009}#slate b{display:block;font-family:var(--serif);font-size:23px;letter-spacing:.035em;font-weight:400;text-transform:none;margin-top:6px}body.slate #slate{opacity:.92}body.views #slate{opacity:0}#loading{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--paper);background:#15232c;transition:opacity .8s;z-index:10}#loading.done{opacity:0;pointer-events:none}.loading-place{font:38px var(--serif);letter-spacing:.04em}.loading-date{margin:14px 0 35px;padding-top:14px;border-top:1px solid #96784880;font-size:10px;letter-spacing:.24em;text-transform:uppercase}.loading-status{font-size:10px;letter-spacing:.08em;opacity:.55}#help{position:fixed;right:16px;top:12px;color:var(--paper);font-size:10px;opacity:.6;pointer-events:none;text-shadow:0 1px 5px #000}body.cine #help,body.clean #help,body.clean .lil-gui{display:none!important}#camera-picker{display:none;position:fixed;left:16px;top:68px;bottom:auto;width:var(--programme-width);max-width:calc(100vw - var(--ui-inset) * 2);max-height:calc(100dvh - 68px - var(--ui-bottom) - var(--hud-height) - 16px);box-sizing:border-box;flex-direction:column;color:var(--ink);background-color:var(--paper);background-image:radial-gradient(#78653c0a .6px,transparent .7px),linear-gradient(115deg,#fff5,transparent 40%,#b49b6020);background-size:5px 5px,100% 100%;border:1px solid var(--hairline);border-radius:1px;box-shadow:0 6px 28px #0a192535;padding:22px 23px 16px;z-index:4}#camera-picker:before{content:"";position:absolute;inset:5px;border:1px solid #b7a78a99;pointer-events:none}body.views #camera-picker{display:flex;animation:programme-in .18s ease-out}.camera-heading{position:relative;flex-shrink:0;text-align:center;padding-top:28px}.programme-kicker{font-size:8px;text-transform:uppercase;letter-spacing:.17em;margin:0 0 11px;color:var(--muted-ink)}#camera-heading{font:30px/1.2 var(--serif);font-weight:400;letter-spacing:-.025em;margin:0}.programme-date{margin:9px 0 7px;font-size:8px;text-transform:uppercase;letter-spacing:.13em;color:var(--muted-ink)}.programme-date>span:first-child{margin:0 5px;color:var(--brass)}.programme-ornament{width:100%;height:14px;fill:none;stroke:var(--brass);stroke-width:.65;margin-bottom:8px}#camera-close{position:absolute;top:0;right:0;width:36px;height:28px;border:0;background:transparent;color:var(--muted-ink);cursor:pointer;font:20px/1 var(--serif)}#camera-close:hover{color:var(--ink)}#camera-panel{display:flex;flex-direction:column;min-height:0}#camera-list{overflow-y:auto;min-height:0;scrollbar-width:thin;scrollbar-color:#b7a78a transparent;overscroll-behavior:contain}.camera-group+.camera-group{margin-top:12px}.camera-group h2{font-size:8px;letter-spacing:.16em;text-transform:uppercase;font-weight:400;color:var(--muted-ink);margin:5px 0 6px}.camera-view{display:flex;width:100%;align-items:baseline;gap:10px;text-align:left;position:relative;padding:4.5px 5px;border:0;border-bottom:1px solid transparent;color:var(--ink);background:transparent;cursor:pointer;font:13px/1.2 var(--serif)}.camera-number{font:9px var(--sans);letter-spacing:.04em;color:#8a806d;flex:0 0 18px}.camera-view:hover{background:#9678480d}.camera-view[aria-current=true]{color:#172c3c;background:#96784812;border-bottom-color:#96784870}.camera-view[aria-current=true]:after{content:"◇";font-size:12px;color:var(--brass);margin-left:auto}.camera-view[aria-current=true] .camera-number{color:var(--brass)}#camera-description{font:italic 11px/1.55 var(--serif);color:var(--muted-ink);margin:14px 0 12px;min-height:34px;flex-shrink:0}.camera-actions{display:flex;align-items:center;gap:8px;border-top:1px solid #b7a78a80;padding-top:8px;flex-shrink:0}.camera-actions button{min-height:30px;min-width:32px;padding:4px 8px;cursor:pointer;color:var(--ink);background:transparent;border:1px solid transparent;font:12px var(--serif)}.camera-actions button:hover{border-color:var(--hairline)}.camera-actions button:disabled{opacity:.35;cursor:default;border-color:transparent}#camera-play{flex:1;letter-spacing:.025em}#camera-play span{font:11px var(--sans);margin-left:7px;color:var(--brass)}.programme-footer{text-align:center;color:#8a806d;font:8px var(--sans);text-transform:uppercase;letter-spacing:.12em;margin:11px 0 0;flex-shrink:0}.programme-footer span{padding:0 4px}#camera-picker button:focus-visible,#camera-select:focus-visible{outline:1px solid var(--brass);outline-offset:2px}#view-hud{position:fixed;left:var(--ui-inset);bottom:calc(var(--bar, 0px) + var(--ui-bottom));display:flex;align-items:center;gap:10px;height:var(--hud-height);width:var(--programme-width);max-width:calc(100vw - var(--ui-inset) * 2);box-sizing:border-box;padding:7px 12px;color:var(--ink);background-color:var(--paper);background-image:radial-gradient(#78653c0a .6px,transparent .7px),linear-gradient(115deg,#fff5,transparent 40%,#b49b6020);background-size:5px 5px,100% 100%;border:1px solid var(--hairline);border-radius:1px;box-shadow:0 3px 15px #0a192528;font:12px/1.5 var(--serif);white-space:nowrap;z-index:3}#view-hud:before{content:"";position:absolute;inset:3px;border:1px solid #b7a78a80;pointer-events:none}#view-hud button{display:inline-flex;align-items:center;flex-shrink:0;padding:2px 0;border:0;border-bottom:1px solid transparent;background:none;color:inherit;font:inherit;cursor:pointer}#view-hud button:hover,#hud-shot[aria-expanded=true]{border-bottom-color:var(--brass)}#view-hud button:focus-visible{outline:1px solid var(--brass);outline-offset:2px}#view-hud kbd{margin-right:5px}.hud-camera{display:flex;align-items:center;gap:6px;min-width:0;flex:1}#view-hud #hud-prev,#view-hud #hud-next{justify-content:center;width:24px;min-height:24px;padding:0;color:var(--brass);font:14px var(--serif)}#view-hud #hud-prev:hover,#view-hud #hud-next:hover{background:#96784812}#view-hud #hud-prev kbd,#view-hud #hud-next kbd{margin:0}#view-hud .divider{width:1px;height:12px;background:var(--hairline);color:transparent;opacity:.65;flex-shrink:0}#view-hud #hud-shot{display:flex;flex:1;flex-shrink:1;font:13px var(--serif);letter-spacing:.015em;min-width:0;text-align:left}#hud-shot kbd{flex-shrink:0}#hud-shot-label{min-width:0;overflow:hidden;text-overflow:ellipsis}#autoplay-toggle[aria-pressed=true]{color:#836334;border-bottom-color:var(--brass)}#view-hud #autoplay-toggle{width:76px;justify-content:flex-start}#film-status{margin-left:5px;color:var(--muted-ink);font:8px var(--sans);text-transform:uppercase;letter-spacing:.07em}#film-toggle[aria-pressed=true],#film-toggle[aria-pressed=true] #film-status{color:#836334}.lil-gui{--background-color: #eee7d8;--text-color: #24343d;--title-background-color: #ded3bd;--title-text-color: #24343d;--widget-color: #ddd4c3;--hover-color: #d0c2a5;--focus-color: #cbb995;--number-color: #6a5738;--string-color: #24343d;--font-family: var(--sans);--font-size: 10px}@keyframes programme-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media(max-width:600px){:root{--ui-inset: 16px;--ui-bottom: 14px;--hud-height: 66px}#camera-picker{padding:20px 20px 14px;max-height:calc(100dvh - 68px - var(--ui-bottom) - var(--hud-height) - 16px)}#view-hud{flex-wrap:wrap;justify-content:space-between;gap:4px 8px;padding:6px 10px;font-size:11px}#view-hud .hud-camera{flex-basis:100%}#view-hud .divider{display:none}#view-hud #hud-shot{font-size:11px}.camera-view{padding-top:7px;padding-bottom:7px}#help{display:none}}@media(max-width:400px){#view-hud{gap:6px;padding-inline:8px}.hud-camera{gap:4px}}@media(max-height:560px){#camera-picker{padding-top:15px}#camera-heading{font-size:21px}#camera-description{min-height:0;margin:9px 0}.programme-footer{display:none}}@media(prefers-reduced-motion:reduce){body.views #camera-picker{animation:none}#loading,#slate,#view-hud{transition:none}}.demo-back{position:fixed;top:16px;left:16px;z-index:11;padding:11px 14px;background:#15232cdd;border:1px solid #eee9dc40;border-radius:3px;color:var(--paper);font-size:12px;text-decoration:none}.demo-back:hover,.demo-back:focus-visible{background:#24343d;outline:2px solid var(--paper);outline-offset:3px}.demo-back span{opacity:.7}.demo-message{position:fixed;inset:35% 20px auto;z-index:12;color:var(--paper);text-align:center}.demo-message a{color:inherit}@media(max-width:600px){.demo-back span,.lil-gui.root{display:none}}#help,.lil-gui.root,#slate{display:none!important}.programme-subtitle{margin:8px 0 0;font:italic 14px/1.3 var(--serif);color:var(--muted-ink)}body.capture .demo-back,body.capture #view-hud,body.capture #camera-picker{display:none!important}.loading-retry{margin-top:24px;padding:10px 20px;color:var(--ink);background:var(--paper);border:1px solid var(--hairline);cursor:pointer;font:16px var(--serif)}#view-hint{display:flex;align-items:center;position:fixed;left:50%;bottom:calc(var(--bar, 0px) + var(--ui-bottom) + 12px);transform:translate(-50%);margin:0;color:var(--paper);font:11px/1.5 var(--sans);letter-spacing:.04em;white-space:nowrap;text-shadow:0 1px 5px #000;pointer-events:none;z-index:3}#view-hint span{margin:0 8px}body.capture #view-hint,body.clean #view-hint{display:none}@media(max-width:1050px){#view-hint{bottom:calc(var(--bar, 0px) + var(--ui-bottom) + var(--hud-height) + 12px)}}#view-hint svg{width:28px;height:22px;margin-right:7px;flex-shrink:0;filter:drop-shadow(0 1px 2px #0009)}
