:root{color-scheme:dark;font-family:Georgia,'Times New Roman',serif;color:#fff0d4;background:#132532}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}button,select,input{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,select{color:inherit;background:#1a2a30bb;border:1px solid #dccca02f;border-radius:3px;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #ffd187;outline-offset:5px}button{padding:10px 15px}button:disabled{opacity:.55;cursor:wait}a{color:inherit}#world{width:100%;height:100%;display:block}.vignette{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 44%,transparent 42%,#07152350 100%)}header{position:fixed;left:4%;right:4%;top:30px;display:flex;justify-content:space-between;align-items:start;transition:opacity 1s}.brand{font-size:13px;letter-spacing:4px;text-decoration:none}.brand span{display:block;font:9px system-ui;letter-spacing:3px;margin-top:9px;opacity:.62}#fullscreen{font-size:20px;background:transparent;border:0}#welcome{position:fixed;left:7.5%;top:25%;max-width:470px;text-shadow:0 2px 26px #06121c}#welcome:before{content:'';position:absolute;inset:-120px -80px;z-index:-1;background:radial-gradient(ellipse,#0b1d28b3,transparent 70%);pointer-events:none}.eyebrow{font:10px system-ui;letter-spacing:3px;color:#e5bd88}h1{font-size:clamp(48px,6vw,82px);font-weight:400;line-height:1.06;letter-spacing:-2px;margin:25px 0}h1 em{font-weight:400;color:#ffd493}#welcome>p:not(.eyebrow){font-size:16px;line-height:1.75;color:#dccfbc}#begin{display:block;margin:27px 0 23px;background:#eec288;color:#2c241b;border:0;padding:18px 27px;box-shadow:0 2px 40px #eabe6b22}small{font:11px system-ui;line-height:1.9;letter-spacing:.6px}small span{opacity:.62}#status{font:12px system-ui!important}#chapter{position:fixed;left:4%;bottom:140px;font-size:12px;letter-spacing:1px;color:#eddbbeb0}#controls{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);width:min(690px,90%);padding:13px 17px 8px;background:#0b1c29b0;border:1px solid #e8cf9825;backdrop-filter:blur(10px);transition:opacity 1s;opacity:0;pointer-events:none}.started #welcome{display:none}.started #controls{opacity:1;pointer-events:auto}.started.idle #controls,.started.idle header,.started.idle #chapter{opacity:0}.started.idle #controls:focus-within{opacity:1}.row{display:flex;align-items:center;gap:9px}.row button{border:0;background:transparent;font-size:16px;padding:3px 8px}output{font:11px system-ui;color:#e5d3b7;font-variant-numeric:tabular-nums}.spacer{flex:1}select{font:11px system-ui;padding:6px}input[type=range]{accent-color:#e7bc7b}#volume{width:70px}#scrub{width:100%;height:13px;margin:10px 0 3px}.hint{font:8px system-ui;letter-spacing:1.5px;opacity:.55;margin:0 0 3px}.hint a{float:right;letter-spacing:0;text-decoration:none}#greeting{position:fixed;bottom:16%;left:0;right:0;text-align:center;font-size:28px;letter-spacing:3px;text-shadow:0 2px 20px #090f20}#qa{position:fixed;top:80px;right:15px;background:#071725de;font:11px monospace;padding:10px;max-width:340px}#qa input{width:70px}#qa button{font-size:10px;padding:5px}#diagnostics{white-space:pre-wrap;max-height:450px;overflow:auto}.clean header,.clean #controls,.clean #chapter,.clean #qa,.clean #welcome{display:none!important}@media(max-width:600px){#welcome{left:8%;top:24%;max-width:84%}h1{font-size:52px}#welcome>p:not(.eyebrow){font-size:14px}header{top:24px}#controls{bottom:15px;width:94%;padding:12px}#volume{width:46px}#chapter{bottom:128px;font-size:10px}.row{gap:3px}select{max-width:85px}#greeting{font-size:24px;bottom:17%}}@media(max-height:550px) and (min-width:600px){#welcome{top:16%}h1{font-size:42px;margin:14px 0}#welcome>p:not(.eyebrow){display:none}#begin{margin:18px 0}#chapter{display:none}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* The greeting belongs to Jimmy; music attribution remains with the artist. */
#welcome{max-width:650px}h1{font-size:clamp(46px,5.6vw,78px)}#greeting small{display:block;font:italic 19px Georgia;margin-top:13px;letter-spacing:.5px;color:#f2d4a5}#greeting span{display:block}#greeting{padding:0 16px}
@media(max-width:600px){h1{font-size:clamp(40px,11.9vw,62px)}#welcome{top:23%;max-width:88%}#greeting small{font-size:17px}}
@media(max-height:550px) and (min-width:600px){h1{font-size:42px}#welcome{top:16%}}

#greeting{line-height:1.45;letter-spacing:1px;color:#fff0d4}#greeting span{font-size:clamp(23px,2.3vw,32px)}
@media(max-height:550px) and (min-width:600px){#welcome{top:14%}#welcome h1{font-size:38px;margin:10px 0}#welcome>p:not(.eyebrow){display:block;font-size:13px;line-height:1.3;margin:10px 0}#welcome #begin{padding:13px 24px;margin:16px 0}}

/* A small printed gift tag, placed on the final image by the song clock. */
#greeting.gift-tag{inset:auto auto clamp(110px,13vh,145px) 50%;width:min(450px,94vw);height:auto;aspect-ratio:470/190;padding:0;color:#743332;text-shadow:none;letter-spacing:0;filter:drop-shadow(0 9px 10px #06111a80);transform-origin:60% 60%;pointer-events:none;will-change:transform,opacity}
.tag-art{position:absolute;width:100%;height:100%;inset:0;overflow:visible}.tag-message{position:absolute;inset:26% 8% 11% 16%;display:flex;flex-direction:column;align-items:center;justify-content:center}
#greeting.gift-tag small{font:9px Georgia,serif;letter-spacing:3px;margin:0 0 10px;color:#836043}
#greeting.gift-tag span{font:600 clamp(18px,2.1vw,24px)/1.3 Georgia,serif;letter-spacing:-.2px}
#greeting.gift-tag i{font:17px Georgia;color:#a77d3d;margin-top:6px}
@media(max-width:600px){#greeting.gift-tag{width:96vw;bottom:115px}#greeting.gift-tag span{font-size:clamp(17px,4.9vw,23px)}#greeting.gift-tag small{font-size:8px;letter-spacing:2px;margin-bottom:7px}}
@media(max-height:550px) and (min-width:600px){#greeting.gift-tag{width:310px;left:auto;right:9px;bottom:95px}#greeting.gift-tag span{font-size:17px}#greeting.gift-tag small{font-size:7px;margin-bottom:5px}#greeting.gift-tag i{font-size:12px;margin-top:3px}}
