.prologue{--intro-paper:#f0e7d3;--intro-gold:#e8c28b;z-index:80;box-sizing:border-box;color:var(--intro-paper);isolation:isolate;background:#000;flex-direction:column;justify-content:center;align-items:center;gap:clamp(24px,4vh,56px);padding:clamp(16px,4vh,56px) 0 calc(clamp(96px,16vh,176px) + 12px);font-family:IBM Plex Mono,Consolas,monospace;display:flex;position:fixed;inset:0;overflow:hidden}.prologue-grain{pointer-events:none;position:absolute;inset:0}.prologue:before{content:"";z-index:-1;opacity:.9;background:radial-gradient(at 51% 44%,#e8c28b23 0%,#c6a6a91a 22%,#0000 53%),linear-gradient(90deg,#0b0d12a8,#0000 28% 72%,#0b0d12a8),linear-gradient(#0b0d13a8 0%,#12152232 28%,#10121633 67%,#090b0ef0 100%);position:absolute;inset:0}.prologue-backdrop{z-index:-2;transform:translate3d(var(--intro-parallax-x,0px), var(--intro-parallax-y,0px), 0) scale(1.1);transform-origin:50%;will-change:transform, opacity;transition:opacity var(--intro-fade-in,1.9s) ease;pointer-events:none;position:absolute;inset:0;overflow:hidden}.prologue-head-bob{will-change:transform;position:absolute;inset:0}.prologue-photo{opacity:0;transition:opacity var(--intro-backdrop-fade,1.6s) ease;position:absolute;inset:0}.prologue-photo.is-current{opacity:1}.prologue-photo.is-black{background:#000}.prologue-photo>img,.prologue-photo>video{object-fit:cover;filter:saturate(.8)contrast(1.04);width:100%;height:100%;display:block}.prologue-backdrop:after{content:"";background:#000000d6;position:absolute;inset:0}.prologue.is-prelude .prologue-backdrop{opacity:0}.prologue.is-handoff .prologue-backdrop{opacity:0;transition-duration:var(--intro-fade-out,.7s)}.prologue-grain{z-index:2;will-change:transform;opacity:.13;mix-blend-mode:screen;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.2'/%3E%3C/svg%3E");animation:.4s step-end infinite intro-grain;inset:-40%}.prologue-copy{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#d3a66c88 transparent;text-align:center;text-shadow:0 3px 24px #090a0dd9;flex:0 auto;width:min(760px,100vw - 52px);min-height:0;max-height:100%;margin:0;overflow-y:auto}.prologue-scroll-cue{z-index:1;height:34px;color:var(--intro-gold);letter-spacing:.2em;text-shadow:none;pointer-events:none;opacity:.82;background:linear-gradient(#0000,#080a0be8);justify-content:center;align-items:flex-end;gap:6px;margin-top:-34px;padding-bottom:2px;font:8px/1 IBM Plex Mono,Consolas,monospace;transition:opacity .2s;display:none;position:sticky;bottom:0}.prologue-scroll-cue span{letter-spacing:0;font-size:12px;line-height:.75}.prologue.is-copy-overflowing .prologue-scroll-cue{display:flex}.prologue.is-copy-overflowing.is-copy-at-end .prologue-scroll-cue,.prologue:not(.is-settled) .prologue-scroll-cue,.prologue.is-text-leaving .prologue-scroll-cue{opacity:0}.prologue-marker,.prologue-line{opacity:0;transition:opacity var(--intro-fade-out,.7s) ease}.prologue-marker{color:var(--intro-gold);font-size:var(--intro-heading-font-size,10px);line-height:var(--intro-heading-line-height,1.5);letter-spacing:.27em;margin:0 0 24px}.prologue-line{color:#f3ead8;max-width:720px;font-family:Georgia,Times New Roman,serif;font-size:var(--intro-story-font-size,58px);font-weight:400;line-height:var(--intro-story-line-height,1.9);letter-spacing:.036em;text-wrap:balance;white-space:pre-line;margin:0 auto}.prologue.is-settled .prologue-marker,.prologue.is-settled .prologue-line{opacity:1;transition-duration:var(--intro-fade-in,1.9s)}.prologue-footer{opacity:0;pointer-events:none;flex:none;justify-content:center;align-items:center;gap:clamp(24px,7vw,92px);width:max-content;max-width:calc(100vw - 36px);display:flex}.prologue.is-action-only .prologue-footer{width:min(720px,100vw - 52px);max-width:none;position:fixed;top:50%;bottom:auto;left:50%;transform:translate(-50%,-50%)}.prologue.is-action-only.has-marker .prologue-copy{transform:translateY(-56px)}.prologue.is-action-only .prologue-choice{max-width:none;font-size:calc(var(--intro-choice-font-size,14px) + 1px);flex:1 1 0}.prologue.is-choices-visible .prologue-footer{opacity:1;pointer-events:auto}.prologue.is-choices-leaving .prologue-footer{opacity:0;pointer-events:none}.prologue-choice{max-width:min(43vw,380px);color:var(--intro-gold);font:var(--intro-choice-font-size,14px)/1.5 "IBM Plex Mono", Consolas, monospace;letter-spacing:.12em;text-underline-offset:5px;text-align:center;cursor:pointer;background:0 0;border:0;padding:18px 24px;text-decoration:none;transition:color .15s}.prologue-choice:hover:not(:disabled),.prologue-choice:focus:not(:disabled){color:#f3d6ad;text-decoration:underline}.prologue .prologue-back{top:36px;left:var(--corner-gutter,clamp(20px, 5vw, 72px));z-index:81;color:#d3a66cd9;letter-spacing:.12em;cursor:pointer;opacity:.82;background:#080a0bc5;border:1px solid #d3a66c55;padding:5px 10px;font:10px/1.5 IBM Plex Mono,Consolas,monospace;transition:filter .15s;position:fixed}.prologue-choice:hover,.prologue-choice:focus-visible,.prologue .prologue-back:hover:not(:disabled),.prologue .prologue-back:focus-visible:not(:disabled){filter:brightness(1.16)}.prologue .prologue-back:hover:not(:disabled){color:#d3a66cd9;opacity:.82;background:#080a0bc5;border-color:#d3a66c55}.prologue .prologue-back:focus-visible:not(:disabled){outline-offset:3px;outline:2px solid #e8c28b55}.prologue-back:disabled{opacity:.35;cursor:default}.prologue-grain,.prologue:before,.prologue-copy,.prologue-footer{transition:opacity var(--intro-fade-in,1.9s) ease}.prologue.is-choices-leaving .prologue-footer{transition-duration:var(--intro-fade-out,.7s)}.prologue.is-text-leaving .prologue-marker,.prologue.is-text-leaving .prologue-line{opacity:0;transition-duration:var(--intro-fade-out,.7s)}.prologue.is-choices-visible:not(.is-choices-leaving) .prologue-footer{transition-duration:var(--intro-fade-in,1.9s)}.prologue.is-prelude{background-color:#000}.prologue.is-prelude .prologue-grain,.prologue.is-prelude:before,.prologue.is-prelude .prologue-copy,.prologue.is-prelude .prologue-footer,.prologue.is-prelude .prologue-back{opacity:0;pointer-events:none}.prologue.is-prelude{transition:background-color var(--intro-fade-in,1.9s) ease}.prologue.is-handoff{transition:background-color var(--intro-fade-out,.7s) ease;background-color:#000}.prologue.is-handoff:before,.prologue.is-handoff .prologue-grain,.prologue.is-handoff .prologue-copy,.prologue.is-handoff .prologue-footer,.prologue.is-handoff .prologue-back{opacity:0;pointer-events:none;transition-duration:var(--intro-fade-out,.7s)}.prologue.is-leaving{opacity:0;pointer-events:none;transition:opacity var(--intro-fade-out,.7s) ease}@media (width<=600px){.prologue{padding-bottom:calc(clamp(88px,14vh,120px) + 12px)}.prologue-marker{margin-bottom:17px}.prologue .prologue-back{top:18px}}@media (orientation:landscape) and (height<=560px){html.phone .prologue{height:100svh;padding:max(10px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));gap:12px;inset:0 0 auto}html.phone .prologue-copy{width:min(760px,100%)}html.phone .prologue-marker{margin-bottom:10px}html.phone .prologue-line{max-width:100%;font-size:min(var(--intro-story-font-size,20px), 18px);line-height:min(var(--intro-story-line-height,1.9), 1.6);letter-spacing:.025em}html.phone .prologue-footer{gap:12px;max-width:100%}html.phone .prologue-choice{min-height:44px;padding:10px 18px;font-size:14px}html.phone .prologue .prologue-back{top:var(--corner-top,max(10px, env(safe-area-inset-top)));left:var(--corner-left,max(10px, env(safe-area-inset-left)));height:44px;padding:0 12px}html.phone .prologue.is-action-only .prologue-footer{width:min(720px, calc(100vw - max(18px, env(safe-area-inset-left)) - max(18px, env(safe-area-inset-right))))}html.phone .prologue .prologue-skip{top:var(--corner-top,max(10px, env(safe-area-inset-top)));right:var(--corner-right,max(10px, env(safe-area-inset-right)));height:44px;padding:0 12px}}@keyframes intro-grain{0%{transform:translate(0)}17%{transform:translate(-7%,4%)}33%{transform:translate(5%,-6%)}50%{transform:translate(-3%,8%)}67%{transform:translate(8%,2%)}83%{transform:translate(-6%,-5%)}to{transform:translate(2%,6%)}}@media (prefers-reduced-motion:reduce){.prologue-grain{animation:none}.prologue-scroll-cue,.prologue-marker,.prologue-line,.prologue.is-text-leaving .prologue-marker,.prologue.is-text-leaving .prologue-line,.prologue.is-choices-visible .prologue-footer,.prologue.is-choices-leaving .prologue-footer,.prologue-photo,.prologue.is-prelude,.prologue.is-prelude .prologue-grain,.prologue.is-prelude:before,.prologue.is-prelude .prologue-backdrop,.prologue.is-prelude .prologue-copy,.prologue.is-prelude .prologue-footer,.prologue.is-prelude .prologue-back,.prologue.is-handoff .prologue-backdrop,.prologue.is-leaving{transition-duration:.01ms}}.prologue .prologue-skip{left:auto;right:var(--corner-gutter,clamp(20px, 5vw, 72px));z-index:81;color:#c87970d9;border-color:#c8797055;top:36px}.prologue .prologue-skip:hover,.prologue .prologue-skip:focus-visible{color:#dc8e84;background:#171211ed;border-color:#dc8e84}.prologue.is-prelude .prologue-skip,.prologue.is-handoff .prologue-skip{opacity:0;pointer-events:none}.prologue.is-prelude .prologue-back,.prologue.is-prelude .prologue-skip,.prologue.is-handoff .prologue-back,.prologue.is-handoff .prologue-skip{visibility:hidden}@media (width<=600px){.prologue .prologue-skip{top:18px}}.prologue .prologue-dev-toggle{top:auto;right:auto;left:var(--corner-gutter,clamp(20px, 5vw, 72px));z-index:82;color:#9fc5e0d9;background:#081016c5;border-color:#7aa7c855;position:fixed;bottom:20px}.prologue-dev{left:var(--corner-gutter,clamp(20px, 5vw, 72px));z-index:90;color:#d8e2ea;background:#080c10f2;border:1px solid #7aa7c866;border-radius:4px;width:min(380px,100vw - 32px);max-height:min(76vh,680px);padding:12px;font:11px/1.45 IBM Plex Mono,Consolas,monospace;position:fixed;bottom:58px;overflow-y:auto;box-shadow:0 16px 48px #000c}.prologue-dev[hidden]{display:none}.prologue-dev-head,.prologue-dev-nav,.prologue-dev-actions{align-items:center;gap:8px;display:flex}.prologue-dev-head{color:#9fc5e0;letter-spacing:.12em;justify-content:space-between;margin-bottom:8px}.prologue-dev-head button,.prologue-dev-nav button,.prologue-dev-actions button,.prologue-dev-mixer-head button{color:inherit;font:inherit;cursor:pointer;background:#101820;border:1px solid #7aa7c855;padding:4px 8px}.prologue-dev-head button{padding:1px 6px;font-size:15px}.prologue-dev-nav{margin-bottom:4px}.prologue-dev-nav select{flex:1;min-width:0}.prologue-dev-pos{color:#9fc5e0;letter-spacing:.08em;margin:0 0 8px}.prologue-dev-mixer{background:#05080a80;border:1px solid #34434f;margin:0 0 10px;padding:8px}.prologue-dev-mixer-head{color:#9fc5e0;letter-spacing:.1em;justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.prologue-dev-mixer-actions{gap:6px;display:flex}.prologue-dev-mix-track{border-bottom:1px solid #1c2933;margin:0 0 8px;padding-bottom:7px}.prologue-dev-mix-track:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.prologue-dev-mix-row{grid-template-columns:minmax(0,1fr) 112px 38px;align-items:center;gap:8px;margin:0;display:grid}.prologue-dev-mix-name{min-width:0;display:grid}.prologue-dev-mix-name strong{text-overflow:ellipsis;white-space:nowrap;font-weight:400;overflow:hidden}.prologue-dev-mix-name em{color:#9fb1bf;letter-spacing:.04em;text-transform:uppercase;font-size:9px;font-style:normal}.prologue-dev-mix-row input[type=range]{accent-color:#7aa7c8;background:0 0;border:0;width:100%;padding:0}.prologue-dev-mix-row output{color:#d3a66c;font-variant-numeric:tabular-nums;text-align:right}.prologue-dev-mix-pages{color:#9fb1bf;letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:5px;margin-top:3px;font-size:9px;display:flex}.prologue-dev .prologue-dev-mix-pages input{text-align:center;flex:none;width:44px;padding:2px 4px}.prologue-dev-mix-page-reset{color:#9fb1bf;font:inherit;cursor:pointer;background:#101820;border:1px solid #34434f;flex:none;padding:1px 5px}.prologue-dev-mix-page-reset:hover,.prologue-dev-mix-page-reset:focus-visible{color:#e6edf2;border-color:#7aa7c855}.prologue-dev-mix-remove{margin-left:auto}.prologue-dev-mix-remove:hover,.prologue-dev-mix-remove:focus-visible{color:#ffb3a8;border-color:#c8706a88}.prologue-dev-mix-add{border-top:1px solid #1c2933;flex-wrap:wrap;align-items:center;gap:5px;margin-top:8px;padding-top:8px;display:flex}.prologue-dev .prologue-dev-mix-add select{flex:120px;width:auto;min-width:0;padding:2px 4px}.prologue-dev .prologue-dev-mix-add input{text-align:center;flex:none;width:44px;padding:2px 4px}.prologue-dev-mix-add .prologue-dev-mix-pages{margin-top:0}.prologue-dev-mix-add-level{color:#9fb1bf;align-items:center;gap:2px;font-size:9px;display:flex}.prologue-dev-mixer-note{color:#9fb1bf;margin:5px 0 0;font-size:9px}.prologue-dev-field{gap:3px;margin:0 0 8px;display:grid}.prologue-dev-field>span,.prologue-dev-grid span,.prologue-dev-choice span{color:#9fb1bf;letter-spacing:.06em;text-transform:uppercase;font-size:10px}.prologue-dev textarea,.prologue-dev input,.prologue-dev select{box-sizing:border-box;color:#e6edf2;width:100%;font:inherit;background:#05080a;border:1px solid #34434f;border-radius:2px;padding:5px 6px}.prologue-dev textarea{resize:vertical}.prologue-dev-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:8px;display:grid}.prologue-dev-grid label,.prologue-dev-choice{gap:3px;display:grid}.prologue-dev-choices{gap:6px;margin-bottom:10px;display:grid}.prologue-dev-actions{flex-wrap:wrap}.prologue-dev-actions a{color:#9fc5e0;text-underline-offset:3px}.prologue-dev-actions [data-status]{color:#d3a66c;flex:100%;min-height:1.4em}.prologue-dev-actions button:disabled{opacity:.5;cursor:default}@media (width<=600px){.prologue .prologue-dev-toggle{bottom:14px}.prologue-dev{max-height:68vh;bottom:52px}.prologue-dev-grid{grid-template-columns:1fr}.prologue-dev-mix-row{grid-template-columns:minmax(0,1fr) 84px 34px}}.wait-hint{z-index:90;pointer-events:none;letter-spacing:.2em;color:#6d6a63;opacity:0;align-items:center;gap:12px;font:400 10px IBM Plex Mono,ui-monospace,Consolas,monospace;transition:opacity 1.2s;display:flex;position:fixed;bottom:clamp(20px,4vh,40px);right:clamp(20px,4vw,48px)}.wait-hint.shown{opacity:.85}.wait-hint .wait-dial{width:56px;height:9px;position:relative;overflow:hidden}.wait-hint .wait-dial:before{content:"";opacity:.5;background:repeating-linear-gradient(90deg,#6d6a63 0 1px,#0000 1px 6px);position:absolute;inset:0 0 3px}.wait-hint .wait-needle{background:#d3a66c;width:1px;height:9px;animation:3.2s ease-in-out infinite alternate wait-sweep;position:absolute;top:0;left:0;box-shadow:0 0 6px 1px #d3a66c88}@keyframes wait-sweep{to{transform:translate(55px)}}@media (prefers-reduced-motion:reduce){.wait-hint .wait-needle{animation:none;transform:translate(28px)}}
