:root{color-scheme:dark;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:#10171e;color:#e2e4df}*{box-sizing:border-box}body{margin:0;min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 20%,#23303c 0,#10171e 75%)}main{width:min(1440px,94vw);padding:26px 0}header{display:flex;align-items:center;justify-content:space-between;margin:0 0 19px;letter-spacing:2px;font-size:11px}.wordmark{color:#f0ece1;text-decoration:none;font-weight:700}.wordmark span{color:#8c9baa;margin-left:8px}.edition{color:#8796a4;font-size:9px}.scene{position:relative;aspect-ratio:16/9;overflow:hidden;background:#a6b1bd;box-shadow:0 20px 80px #0005;border:1px solid #b6c5d522}canvas{display:block;width:100%;height:100%;image-rendering:pixelated;outline:none}.location{position:absolute;top:5%;left:3.3%;pointer-events:none;text-shadow:0 2px 0 #33475f33}.location>span{font-size:clamp(7px,.7vw,11px);letter-spacing:3px;color:#f1f0e6}.location h1{font-size:clamp(22px,3vw,44px);line-height:1;margin:9px 0;letter-spacing:6px;color:#fff8e9}.location p{font-size:clamp(9px,.9vw,13px);color:#f4f0e5;letter-spacing:1px;margin:0}.scene-bottom{position:absolute;bottom:4%;left:3.3%;right:3.3%;display:flex;justify-content:space-between;font-size:clamp(8px,.9vw,13px);color:#f0eadb;letter-spacing:1px;pointer-events:none}.scene-bottom small{font-size:inherit;color:#bdc9d4}.live{font-size:9px;display:flex;align-items:center;gap:8px}.live i{width:4px;height:4px;background:#c7d4c1;box-shadow:0 0 7px #c7d4c155}footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:19px 0;border-bottom:1px solid #a8b7c21a}button{font:inherit;background:transparent;color:#c0ccd4;border:0;cursor:pointer;font-size:16px;padding:8px 10px;border-radius:4px}button span{font-size:11px;margin-left:5px}button:hover{background:#d4e1ef0d;color:#fff}button:focus-visible,input:focus-visible{outline:2px solid #e3c69a;outline-offset:4px}.transport{display:flex;gap:12px}.pace{display:flex;align-items:center;gap:14px;font-size:10px;letter-spacing:1px;color:#95a5b2}.pace output{min-width:45px;color:#c1cbd2}input{width:110px;height:3px;accent-color:#cbd5da;cursor:pointer}.note{font-size:10px;letter-spacing:.5px;color:#a2adb6;margin-top:18px}.note span{color:#657581;margin-left:8px}.loading{position:absolute;inset:0;display:grid;place-items:center;background:#263645;color:#e7e3d7;font-size:13px}.loading.hidden{display:none}.touch-controls{display:none}.scene:fullscreen{width:100vw;height:100vh;aspect-ratio:auto;background:#10171e;display:grid;place-items:center}.scene:fullscreen canvas{width:min(100vw,177.777vh);height:auto;max-height:100vh;object-fit:contain}@media(max-width:650px){main{width:100vw;padding:16px 0}header,footer,.note{margin-left:14px;margin-right:14px}.edition{font-size:7px;letter-spacing:1px}footer{gap:4px}.pace{gap:7px}input{width:65px}.transport{gap:0}button span{font-size:9px}.note span{display:block;margin:7px 0}.live{font-size:7px}.touch-controls{display:flex;justify-content:center;gap:30px}.touch-controls button{border:1px solid #8597a333;padding:12px 35px;font-size:12px}}
/* Keep the trail controls readable over bright, deep snow. */
.scene-bottom{text-shadow:0 1px 3px #172738,0 0 5px #172738}

#fast-forward[aria-pressed="true"]{background:#c6d6df;color:#182632}
@media(max-width:650px){footer{flex-wrap:wrap}.transport{width:100%;justify-content:space-between}.pace{margin-left:10px}}

.scene-picker{display:flex;align-items:center;gap:18px;margin:15px 0;font-size:11px;color:#aebdc6}.scene-picker label{white-space:nowrap}.scene-picker select{background:#1d2a35;border:1px solid #566674;color:#e0e4dd;padding:9px;max-width:70%;font:inherit}.story-caption{position:absolute;bottom:12%;left:10%;right:10%;color:#f0e7d1;background:#13212be8;text-align:center;font-size:clamp(10px,1.15vw,16px);line-height:1.5;padding:10px 15px;pointer-events:none}.story-caption:empty{display:none}.ending{position:absolute;inset:0;background:#13212bf0;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#ede2c8;text-align:center}.ending[hidden]{display:none}.ending button{border:1px solid #bca785;padding:12px 20px;margin:20px}.location h1{max-width:85vw;font-size:clamp(16px,2.4vw,36px)}@media(max-width:650px){.scene-picker{margin:12px 14px}.story-caption{left:5%;right:5%;padding:6px;font-size:10px}}

.story-caption{top:25%;bottom:auto;left:16%;right:8%;font-size:clamp(9px,1vw,14px)}

/* Film subtitles stay clear of the cast and scenery. */
.story-caption{top:auto;bottom:10%;left:12%;right:12%;background:#14202bed;border-top:2px solid #ad9671;padding:12px 18px;font-size:clamp(10px,1.1vw,16px)}
.touch-controls{display:none!important}

.story-caption[data-cinematic="true"]{top:25%;bottom:auto;left:20%;right:20%;padding:7px 12px}
