#prologue{--ivory:#f4efde;position:absolute;inset:0;display:none;z-index:30;color:var(--ivory);font-family:'JetBrains Mono',monospace;pointer-events:none;font-weight:300;font-size:11px;letter-spacing:.04em;text-shadow:0 1px 12px #0a0d13a8}
#prologue.active{display:block}.prologue-active #touchui,.prologue-active #hud,.prologue-active #subtitle{display:none!important}
.prologue-active #debug-hotkey{display:none}
.p-assessment.inverted svg{transform:scaleX(-1)}.p-loading button{pointer-events:auto;border:1px solid #e8dfc654;background:transparent;color:#e8dfc6;font:11px 'JetBrains Mono';padding:12px 20px;margin-top:15px;cursor:pointer}
.p-assessment{position:absolute;width:300px;height:150px;display:none;color:#e8dfc6;pointer-events:none}.p-assessment svg{width:300px;height:150px;fill:none;stroke:#e8e2ce9c;stroke-width:.65}.p-assess-arc{stroke-dasharray:3 13;opacity:.4}.p-reading{position:absolute;left:71px;top:10px;display:grid;gap:6px;font-size:9px;letter-spacing:.08em}.p-reading small{font-size:6px;letter-spacing:.15em;opacity:.58}.p-reading span{font-size:8px}.p-reading i{font-style:normal;font-size:7px;opacity:.55}.p-touch-device .p-touch{display:block}.p-touch-device .p-actions,.p-touch-device .p-steer{display:none}
.p-top{position:absolute;left:4%;right:7%;top:5%;display:flex;justify-content:space-between;align-items:start}.p-identity{display:flex;gap:20px;align-items:center}.p-identity b{font-size:30px;letter-spacing:-.08em;font-weight:200}.p-life{display:flex;gap:7px}.p-life i{width:6px;height:6px;transform:rotate(45deg);border:1px solid #f4efde6b}.p-life i.full{background:#f4efde}.p-location{text-align:right;display:grid;gap:7px;font-size:10px;letter-spacing:.15em}.p-location small{font-size:8px;opacity:.5;letter-spacing:.22em}
.p-menu{position:absolute;right:2.6%;top:4%;pointer-events:auto;background:transparent;border:0;color:var(--ivory);font:14px inherit;cursor:pointer;padding:12px;opacity:.6}.p-menu:hover{opacity:1}
.p-bottom{position:absolute;left:4%;right:4%;bottom:5.3%;display:flex;justify-content:space-between;align-items:end;gap:22px}.p-hint{max-width:48%;font-size:10px;line-height:1.8;opacity:.83}.p-actions{display:flex;gap:20px;font-size:9px;opacity:.85}.p-actions span{white-space:nowrap}.p-actions kbd{font:10px inherit;border-bottom:1px solid #eee4c862;margin-right:5px;padding-bottom:4px}
.p-steer{position:absolute;bottom:10%;left:4%;font-size:9px;opacity:0;transition:opacity .8s;color:#e0e4eb}.p-steer span{padding:0 8px;opacity:.4}.p-caption{position:absolute;left:20%;right:20%;bottom:17%;text-align:center;line-height:1.7;font-size:11px;color:#f4efdeeb;min-height:20px}
.p-chapter{position:absolute;left:0;right:0;top:23%;text-align:center;opacity:0;transition:opacity .12s}.p-chapter small{font-size:8px;letter-spacing:.28em;opacity:.65}.p-chapter h1{font-weight:200;letter-spacing:-.045em;font-size:clamp(22px,3vw,38px);margin:16px 0}.p-chapter p{font-size:10px;opacity:.8}
.p-reticle{position:absolute;transform:translate(-50%,-50%);display:none;opacity:.83}.p-reticle i{position:absolute;width:7px;height:7px;border-color:#faf4dfa8;border-style:solid}.p-reticle i:nth-child(1){left:0;top:0;border-width:1px 0 0 1px}.p-reticle i:nth-child(2){right:0;top:0;border-width:1px 1px 0 0}.p-reticle i:nth-child(3){left:0;bottom:0;border-width:0 0 1px 1px}.p-reticle i:nth-child(4){right:0;bottom:0;border-width:0 1px 1px 0}.p-reticle span{position:absolute;top:-19px;left:50%;transform:translateX(-50%);font-size:8px;letter-spacing:.16em}.p-reticle.occluded{opacity:.25}
.p-loading{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 39%,#18232d 0,#0d121a 46%,#090d12 100%);font-size:12px;padding:24px;text-align:left;line-height:1.6;pointer-events:auto;z-index:3}
.p-load-panel{width:min(440px,100%)}.p-load-panel>small{font-size:9px;letter-spacing:.24em;color:#a4abb4}.p-load-phase{font-family:Georgia,'Times New Roman',serif;font-size:clamp(27px,4vw,36px);font-weight:normal;letter-spacing:-.025em;line-height:1.2;margin:25px 0 31px;color:#f4efde}
.p-load-meter{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:13px}.p-load-detail{font-size:10px;color:#aeb9c7;overflow-wrap:anywhere}.p-load-percent{color:#eae5d6;font-size:23px;font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:-.035em}.p-load-percent span{font-size:10px;color:#a4abb4;margin-left:4px}
.p-load-track{height:3px;background:#c5d2e11c;position:relative;--load:0}.p-load-track i{position:absolute;inset:0;background:linear-gradient(90deg,#b0bccb,#fff1cf);transform:scaleX(var(--load));transform-origin:left;transition:transform .16s linear;box-shadow:0 0 13px #e9dbb143}
.p-load-stages{display:flex;justify-content:space-between;gap:10px;margin-top:19px;font-size:8px;letter-spacing:.11em;color:#717d8a}.p-loading[data-stage="shaders"] .p-load-stages span:first-child,.p-loading[data-stage="world"] .p-load-stages span:nth-child(2),.p-loading[data-stage="scene"] .p-load-stages span:last-child{color:#ede4cf}.p-loading[data-stage="error"] .p-load-detail{color:#d8b5a7}.p-loading[data-stage="error"] .p-load-track i{background:#c99e89}
.p-pause,.p-end{position:absolute;inset:0;display:none;place-items:center;background:#0c1119b8;backdrop-filter:blur(16px);pointer-events:auto}.paused .p-pause,.complete .p-end{display:grid}.p-panel{width:min(510px,83vw);max-height:88vh;overflow:auto;padding:30px 12px;text-align:left}.p-panel small{font-size:9px;opacity:.5;letter-spacing:.22em}.p-panel h2{font-weight:200;font-size:38px;letter-spacing:-.06em;margin:18px 0 28px}.p-panel button{display:block;width:100%;background:transparent;border:0;border-bottom:1px solid #edead821;text-align:left;padding:15px 0;color:var(--ivory);font:12px 'JetBrains Mono',monospace;cursor:pointer}.p-panel button:hover,.p-panel button:focus-visible{color:white;background:#f1eaca0a;outline:1px solid #eee4c840;outline-offset:6px}.p-panel label{display:flex;gap:10px;align-items:center;font-size:10px;line-height:1.5;margin-top:20px;cursor:pointer}.p-panel input{accent-color:#ded7c6}.p-control-sheet{font-size:9px;line-height:1.8;opacity:.73;margin-top:24px}.p-control-sheet b{font-weight:400;color:white}.p-rules{padding-top:10px}.p-pad-help{opacity:.6}.p-panel>p{font-size:11px;margin-bottom:30px;line-height:1.8}
.p-touch{display:none;position:absolute;inset:0}.p-stick{position:absolute;left:5%;bottom:12%;width:98px;height:98px;border:1px solid #e1e6ed2c;border-radius:50%;pointer-events:auto;touch-action:none}.p-stick i{position:absolute;left:33px;top:33px;width:30px;height:30px;border:1px solid #e1e6ed70;border-radius:50%;background:#f4efde09}.p-look{position:absolute;right:4%;top:18%;width:38%;height:42%;pointer-events:auto;touch-action:none}.p-touch-actions{position:absolute;right:4%;bottom:9%;display:grid;grid-template-columns:repeat(3,48px);gap:10px}.p-touch-actions button{width:48px;height:44px;border:1px solid #e1e6ed38;border-radius:13px;background:#16202c36;color:#f4efde;font:10px 'JetBrains Mono';pointer-events:auto;touch-action:none;backdrop-filter:blur(6px)}
@media(pointer:coarse){.p-touch{display:block}.p-actions,.p-steer{display:none}.p-hint{font-size:9px;max-width:100%}.p-top{top:5%;left:4%}.p-identity b{font-size:23px}.p-caption{bottom:28%}.p-bottom{bottom:3%;left:4%;right:4%}.p-panel{padding:10px;max-height:85vh}.p-panel h2{font-size:28px;margin:10px 0}.p-control-sheet{font-size:8px}.p-panel label{margin-top:12px}}
@media(max-width:850px){.p-actions{gap:11px;font-size:8px}.p-hint{font-size:9px}.p-location{font-size:8px}.p-life{gap:5px}.p-chapter p{font-size:9px}.p-chapter{top:24%}}
@media(prefers-reduced-motion:reduce){#prologue *{transition:none!important}}

/* Optional authorization, earned after the first atrium. */
#prologue .p-bearer{position:absolute;bottom:92px;left:50%;transform:translateX(-50%);color:#eac984;font:10px/1.5 var(--mono,monospace);letter-spacing:.18em;text-shadow:0 1px 9px #000;pointer-events:none;white-space:nowrap;opacity:.86}
#prologue .p-bearer[hidden],#prologue .p-touch-actions button[hidden]{display:none}
@media(max-width:700px){#prologue .p-bearer{bottom:122px;font-size:8px;letter-spacing:.06em}}

/* Three compact, independently readable skill states. */
#prologue .p-bearer{left:auto;right:4%;bottom:12%;transform:none;display:grid;gap:10px;font-size:8px;letter-spacing:.09em;text-align:right}
#prologue .p-bearer>div{position:relative;padding-bottom:5px;color:#eee4ce}
#prologue .p-bearer>div::after{content:"";position:absolute;bottom:0;right:0;width:calc(var(--charge)*100%);height:1px;background:currentColor;opacity:.40}
#prologue .p-bearer>div[hidden]{display:none}
#prologue .p-bearer .p-skill-plummet{color:#d4b7f5}
#prologue .p-bearer .p-skill-escort{color:#d8e8f4}
#prologue .p-bearer .p-skill-authorization{color:#eddbac}
@media(pointer:coarse){#prologue .p-bearer{bottom:auto;top:18%;right:auto;left:4%;font-size:7px;text-align:left}.p-touch-actions{grid-template-columns:repeat(4,44px);gap:7px}.p-touch-actions button{width:44px}}
.p-terminal{position:absolute;left:50%;bottom:15%;transform:translateX(-50%);font-size:11px;letter-spacing:.11em;color:#eee3cb;text-shadow:0 2px 8px #050913;white-space:nowrap;pointer-events:none}
.p-key-award{position:absolute;left:50%;top:24%;transform:translateX(-50%);font-size:13px;letter-spacing:.18em;color:#f6e4b5;text-shadow:0 2px 12px #02060b;pointer-events:none}
.p-cinema-bar{position:absolute;left:0;right:0;height:8%;background:#030609;transform:scaleY(0);transition:transform .7s;pointer-events:none;z-index:12}.p-cinema-top{top:0;transform-origin:top}.p-cinema-bottom{bottom:0;transform-origin:bottom}.cinematic .p-cinema-bar{transform:scaleY(1)}.cinematic .p-bottom,.cinematic .p-top,.cinematic .p-bearer,.cinematic .p-steer{opacity:0}.cinematic .p-terminal{bottom:12%;font-size:9px;letter-spacing:.35em}

.p-terminal{bottom:22%;padding:9px 15px;background:linear-gradient(90deg,transparent,#050c17b0 30%,#050c17b0 70%,transparent)}.cinematic .p-terminal{bottom:12%}
