:root{--color-bg:#05081e;--color-text:#f2f5ff;--color-text-muted:#b8c6e8;--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-serif:Georgia, "Times New Roman", serif;--color-paper:#f3ebdd;--color-ink:#262a3b;--color-ink-soft:#4a5068;--space-page:clamp(1rem, 4vw, 2.5rem);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}body{background:var(--color-bg);min-height:100dvh;color:var(--color-text);font-family:var(--font-sans);margin:0;line-height:1.5;overflow-x:clip}.scene{position:fixed;inset:0}.scene-notice{padding:var(--space-page);color:var(--color-text-muted);text-align:center;place-items:center;display:grid;position:fixed;inset:0}.scene-notice p{max-width:32rem;margin:0}.overlay{padding-block:calc(var(--space-page) + env(safe-area-inset-top,0px)) var(--space-page);padding-inline:max(var(--space-page), env(safe-area-inset-left,0px)) max(var(--space-page), env(safe-area-inset-right,0px));text-align:center;pointer-events:none;position:relative}.overlay h1{font-family:var(--font-serif);letter-spacing:.01em;text-shadow:0 1px 12px #05081ecc;margin:0;font-size:clamp(1.25rem,3vw,1.75rem);font-style:italic;font-weight:400;line-height:1.2;transition:opacity 1.6s}:root[data-title=hidden] .overlay h1{opacity:0}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.story-lines{inset-inline:0;top:calc(clamp(5.5rem, 17vh, 10rem) + env(safe-area-inset-top,0px));padding-inline:max(var(--space-page), env(safe-area-inset-left,0px)) max(var(--space-page), env(safe-area-inset-right,0px));text-align:center;pointer-events:none;justify-items:center;gap:1.5rem;display:grid;position:fixed}.story-line{max-width:34rem;font-family:var(--font-serif);text-shadow:0 1px 3px #05081ee6,0 0 24px #05081ee6;margin:0;font-size:clamp(1.15rem,2.4vw,1.6rem);font-style:italic;line-height:1.4;animation:2.2s both story-arrive}.story-line--passing{animation:story-pass var(--line-seconds) ease both}.story-button{min-height:2.75rem;color:var(--color-text);font:inherit;cursor:pointer;pointer-events:auto;background:#05081e99;border:1px solid #f2f5ff66;border-radius:999px;padding:.55rem 1.25rem;font-size:.95rem;transition:background-color .25s,border-color .25s}.story-button:hover{background:#1a224ecc;border-color:#f2f5ffcc}.story-button:focus-visible,.letter-close:focus-visible{outline-offset:3px;outline:2px solid #ffc56e}.story-button--invitation{font-family:var(--font-serif);border-color:#ffc56eb3;font-size:1.05rem;font-style:italic;animation:2.2s 1.2s both story-arrive}.story-button--begin{min-width:9rem;font-family:var(--font-serif);border-color:#ffc56eb3;font-size:1.15rem;font-style:italic;animation:1s both story-arrive}.scene-loader .scene-loader-note{font-size:.85rem;animation:1s .3s both story-arrive}.story-sound,.story-credits{top:calc(.6rem + env(safe-area-inset-top,0px));min-height:2.75rem;color:var(--color-text-muted);background:#05081e66;border-color:#f2f5ff38;padding:.35rem .8rem;font-size:.75rem;animation:2.2s 1.5s both story-arrive;position:fixed}.story-sound{right:max(.75rem, env(safe-area-inset-right,0px))}.story-credits{left:max(.75rem, env(safe-area-inset-left,0px));align-items:center;text-decoration:none;display:inline-flex}.story-controls{right:max(var(--space-page), env(safe-area-inset-right,0px));bottom:calc(var(--space-page) + env(safe-area-inset-bottom,0px));flex-wrap:wrap;justify-content:flex-end;gap:.6rem;animation:2.2s 1s both story-arrive;display:flex;position:fixed}@media (width<=40rem){.story-controls{left:var(--space-page);flex-wrap:nowrap;justify-content:center}.story-controls .story-button{white-space:nowrap;padding-inline:.8rem;font-size:.82rem}}@media (height<=30rem){.story-controls{flex-direction:column;align-items:flex-end;gap:.4rem}.story-controls .story-button{font-size:.82rem}}.letter{width:min(36rem, 100% - 2 * var(--space-page));max-width:none;max-height:calc(100dvh - 2 * var(--space-page));background:var(--color-paper);color:var(--color-ink);font-family:var(--font-serif);border:0;border-radius:.5rem;margin:auto;padding:clamp(1.5rem,5vw,3rem);font-size:clamp(1.02rem,2.4vw,1.12rem);line-height:1.7;animation:.7s both letter-open;overflow-y:auto;box-shadow:0 1.5rem 4rem #0000008c}.letter::backdrop{background:#0305129e;animation:.9s both letter-dim}.letter--leaving{animation:.38s both letter-close}.letter--leaving::backdrop{animation:.38s reverse both letter-dim}.letter h2{outline:none;margin:0 0 1.75rem;font-size:clamp(1.45rem,4vw,1.8rem);font-style:italic;font-weight:400;line-height:1.25}.letter section{margin-block-end:1.9rem}.letter p{margin:0 0 .9rem}.letter .letter-emphasis{color:var(--color-ink);font-size:1.08em;font-weight:700}.letter-close{border:1px solid var(--color-ink-soft);min-height:2.75rem;color:var(--color-ink);font:inherit;cursor:pointer;background:0 0;border-radius:999px;margin:.5rem auto 0;padding:.55rem 1.4rem;font-size:.98rem;display:block}.letter-close:hover{background:var(--color-ink);color:var(--color-paper)}@keyframes story-arrive{0%{opacity:0}}@keyframes story-pass{0%,15%{opacity:0}35%,85%{opacity:1}to{opacity:0}}@keyframes letter-open{0%{opacity:0;transform:translateY(1.25rem)}}@keyframes letter-close{to{opacity:0;transform:translateY(.75rem)}}@keyframes letter-dim{0%{opacity:0}}.scene-loader{padding:var(--space-page);background:var(--color-bg);color:var(--color-text-muted);text-align:center;transition:opacity var(--loader-fade) ease;place-content:center;justify-items:center;gap:1rem;display:grid;position:fixed;inset:0}.scene-loader--leaving{opacity:0;pointer-events:none}.scene-loader p{font-variant-numeric:tabular-nums;margin:0;font-size:.9rem;animation:1.4s ease-in-out infinite alternate scene-loader-breathe}@keyframes scene-loader-breathe{to{opacity:.55}}.scene-loader-runway{background:#b8c6e838;width:min(16rem,70vw);height:2px;position:relative}.scene-loader-runway:before{content:"";background:var(--color-text);transform:scaleX(var(--loader-progress));transform-origin:0;transition:transform .4s;position:absolute;inset:0}.scene-loader-plane{top:50%;left:calc(var(--loader-progress) * 100%);width:1.75rem;height:1.75rem;fill:var(--color-text);transition:left .4s;position:absolute;transform:translate(-50%,-50%)}@media (prefers-reduced-motion:reduce){.scene-loader,.scene-loader-runway:before,.scene-loader-plane{transition:none}.scene-loader p{animation:none}.letter,.letter--leaving{animation-name:letter-dim}.letter--leaving{animation-direction:reverse}}
