:root { --discovery-paper: oklch(86% .024 82); --discovery-muted: oklch(67% .025 310); --discovery-night: oklch(17% .024 305); --discovery-edge: oklch(49% .048 310); --discovery-rose: oklch(79% .1 340); }
.discovery-menu { position: relative; color: var(--discovery-paper); font-family: var(--f-digital); }
.discovery-menu summary { display: grid; place-items: center; width: 36px; height: 40px; box-sizing: border-box; cursor: pointer; list-style: none; font-size: 1.5rem; line-height: 1; }
.discovery-menu summary::-webkit-details-marker { display: none; }
.discovery-menu summary:hover, .discovery-menu summary:focus-visible { color: var(--discovery-rose); }
.discovery-menu.discovery-complete summary, .discovery-counter.discovery-complete { position: relative; color: var(--discovery-paper); text-shadow: 0 0 10px var(--discovery-rose), 0 0 24px var(--discovery-rose); animation: discovery-sparkle 2.4s ease-in-out infinite; }
.discovery-menu.discovery-complete summary::after, .discovery-counter.discovery-complete::after { content: '✧'; position: absolute; right: 1px; top: 2px; font-size: .65rem; color: var(--discovery-rose); }
.discovery-counter.discovery-complete { min-width: 36px; }
@keyframes discovery-sparkle { 50% { text-shadow: 0 0 4px var(--discovery-rose), 0 0 10px var(--discovery-rose); } }
.discovery-completion { position: fixed; margin: auto; inset: 0; width: min(560px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); box-sizing: border-box; padding: clamp(1.5rem, 5vw, 3rem); color: var(--discovery-paper); background: var(--discovery-night); border: 1px solid var(--discovery-rose); box-shadow: 0 0 65px oklch(79% .1 340 / .3); text-align: center; font-family: var(--f-display); }
.discovery-completion::backdrop { background: oklch(8% .02 305 / .78); backdrop-filter: blur(8px); }
.discovery-completion-star { display: block; color: var(--discovery-rose); font-size: 3rem; line-height: 1; text-shadow: 0 0 20px var(--discovery-rose); }
.discovery-completion h2 { margin: 1.2rem 0; font-size: clamp(1.6rem, 4vw, 2.4rem); line-height: 1.2; }
.discovery-completion p { line-height: 1.65; }
.discovery-completion > div { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; margin-top: 1.6rem; }
.discovery-completion a { color: var(--discovery-rose); border: 1px solid var(--discovery-edge); padding: .7rem .9rem; font: .9rem var(--f-digital); text-decoration: none; }
.discovery-completion a:hover, .discovery-completion a:focus-visible { background: var(--discovery-rose); color: var(--discovery-night); }
.discovery-completion-close { position: absolute; top: .5rem; right: .6rem; width: 36px; height: 36px; border: 0; background: transparent; color: var(--discovery-paper); font: 1.8rem var(--f-display); cursor: pointer; }
.discovery-completion-close:focus-visible { outline: 2px solid var(--discovery-rose); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .discovery-menu.discovery-complete summary, .discovery-counter.discovery-complete { animation: none; } }
.discovery-list { position: absolute; right: 0; top: 100%; width: min(340px,85vw); max-height: 65vh; overflow: auto; padding: 1.25rem; background: var(--discovery-night); border: 1px solid var(--discovery-edge); box-shadow: 0 12px 32px var(--discovery-night); }
.discovery-list h2 { font-size: 1.15rem; }.discovery-list p { color: var(--discovery-muted); font-size: .85rem; }.discovery-list ol { padding: 0; list-style: none; }.discovery-list li { padding: .5rem 0; font-size: .88rem; color: var(--discovery-muted); }.discovery-list [data-earned="true"] { color: var(--discovery-rose); }
.discovery-pocket { position: fixed; bottom: 1rem; right: 1.2rem; display: flex; gap: .6rem; z-index: 160; }
.discovery-pocket button, .discovery-actions button { font-family: var(--f-digital); font-size: .85rem; color: var(--discovery-muted); background: transparent; border: 1px solid transparent; border-radius: .2rem; padding: .6rem .8rem; cursor: pointer; }
.discovery-pocket button:hover, .discovery-actions button:hover, .discovery-actions button:focus-visible { color: var(--discovery-paper); background: var(--discovery-night); border-color: var(--discovery-edge); }
.discovery-pocket .discovery-key { color: var(--discovery-paper); background: var(--discovery-night); }
.discovery-actions { position: fixed; display: flex; flex-direction: column; align-items: flex-start; max-width: min(330px,75vw); z-index: 155; }
.discovery-actions button { background: oklch(17% .024 305 / .78); border-color: oklch(84% .05 80 / .35); color: var(--discovery-paper); box-shadow: 0 0 22px oklch(84% .05 80 / .1); }
.discovery-aura { position: fixed; width: 78px; height: 78px; z-index: 100; transform: translate(-50%, -50%); pointer-events: none; border-radius: 50%; background: radial-gradient(circle, oklch(88% .07 80 / .21), oklch(88% .07 80 / .055) 48%, transparent 75%); filter: blur(8px); }
.discovery-tether { position: fixed; height: 1px; z-index: 154; transform-origin: 0 50%; pointer-events: none; background: linear-gradient(90deg, oklch(84% .05 80 / .5), oklch(84% .05 80 / .08)); }
.discovery-tether::after { content: ''; position: absolute; right: -3px; top: -3px; width: 7px; height: 7px; border-radius: 50%; background: oklch(88% .07 80 / .85); box-shadow: 0 0 7px oklch(88% .07 80 / .6); }
.discovery-fork {
  position: fixed; left: 50%; top: 53%; transform: translate(-50%, -50%);
  width: min(960px, calc(100vw - 64px)); max-height: calc(100dvh - 100px);
  padding: clamp(28px, 3.5vw, 56px); box-sizing: border-box; overflow: auto;
  z-index: 156; text-align: center; color: oklch(18% .035 300);
  background: oklch(93% .018 295 / .95); border: 1px solid oklch(58% .05 300);
  box-shadow: 0 0 0 8px oklch(93% .018 295 / .12), 0 22px 90px oklch(20% .04 300 / .55);
  backdrop-filter: blur(15px);
}
.discovery-fork-kicker { margin: 0; font: clamp(.8rem, 1.1vw, 1rem) var(--f-digital); letter-spacing: .14em; }
.discovery-fork h2 { margin: .9rem 0 .4rem; font: clamp(2rem, 3.6vw, 3.5rem) var(--f-display); line-height: 1.15; }
.discovery-fork-line { margin: 0; font: clamp(1rem, 1.5vw, 1.3rem) var(--f-display); line-height: 1.4; }
.discovery-fork-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(14px, 2vw, 28px); margin-top: clamp(28px, 4vw, 52px); }
.discovery-fork button {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  min-height: clamp(130px, 13vw, 180px); padding: clamp(16px, 2vw, 28px);
  border: 1px solid oklch(44% .055 300); background: oklch(83% .026 300 / .82);
  color: oklch(17% .035 300); font-family: var(--f-digital); text-align: left;
  cursor: pointer;
}
.discovery-fork button strong { display: block; font-size: clamp(1.15rem, 1.7vw, 1.55rem); font-weight: 500; }
.discovery-fork button small { display: block; margin-top: .65rem; font-size: clamp(.75rem, 1vw, .95rem); line-height: 1.4; }
.discovery-fork-arrow { font: clamp(3.5rem, 6vw, 6rem) var(--f-display); line-height: 1; }
.discovery-fork button:hover, .discovery-fork button:focus-visible { border-color: oklch(20% .06 310); background: oklch(72% .05 305); outline: 2px solid oklch(20% .06 310); outline-offset: 4px; }
.hospital-visit { position: fixed; inset: 0; z-index: 156; display: grid; align-content: end; justify-items: center; padding: 0 6vw max(9vh, 4.5rem); pointer-events: none; color: var(--discovery-paper); background: linear-gradient(to top, oklch(12% .03 305 / .78), oklch(12% .03 305 / .35) 28%, transparent 46%); font-family: var(--f-frag); }
.hospital-visit-writing { display: grid; justify-items: center; gap: 1.4rem; pointer-events: auto; text-align: center; text-shadow: 0 0 18px oklch(10% .03 305 / .9); }
.hospital-visit-phrase { margin: 0; font-size: clamp(1.2rem, 2.2vw, 1.9rem); line-height: 1.7; letter-spacing: .025em; }
.hospital-visit-invitations { display: flex; flex-wrap: wrap; justify-content: center; gap: .4rem 1.6rem; margin: 0; }
.hospital-visit-invitations .memory-talk { margin: 0; opacity: .92; }
.hospital-visit-invitations[hidden] { display: none; }
.hospital-visit-return { position: absolute; right: 5vw; bottom: max(4vh, 1.5rem); pointer-events: auto; padding: .75rem 1.1rem; border: 1px solid var(--discovery-edge); background: oklch(14% .025 305 / .6); color: var(--discovery-paper); font: .9rem var(--f-frag); letter-spacing: .06em; cursor: pointer; }
.hospital-visit-return:hover, .hospital-visit-return:focus-visible { border-color: var(--discovery-rose); color: oklch(95% .02 330); }
html.hospital-ending body > :not(.hospital-visit):not(#ride-canvas):not(#ride-display):not(dialog) { visibility: hidden !important; }
#ride-ui.hospital-journey .ride-heading, #ride-ui.hospital-journey .ride-reader, #ride-ui.hospital-journey .ride-onward, #ride-ui.hospital-journey .ride-pan-hint { visibility: hidden; }
.discovery-notice { position: fixed; right: 1.5rem; bottom: 8rem; max-width: min(360px,80vw); z-index: 170; padding: 1rem 1.25rem; color: var(--discovery-paper); background: var(--discovery-night); border-left: 1px solid var(--discovery-rose); font-size: 1rem; line-height: 1.6; }
.discovery-actions[hidden],.discovery-notice[hidden],.discovery-key[hidden],.discovery-aura[hidden],.discovery-tether[hidden],.discovery-fork[hidden],.hospital-visit[hidden] { display: none; }
html.memory-arriving .discovery-pocket, html.memory-remembered .discovery-pocket, html.memory-forgetting .discovery-pocket, html.memory-arriving .discovery-actions, html.memory-remembered .discovery-actions, html.memory-forgetting .discovery-actions, html.site-page-open .discovery-actions, html.site-page-open .discovery-pocket { display: none; }
html[data-ride-mode="baked"]:not(.discovery-departing) .transmission { --door-open: 0; }
html[data-ride-mode="baked"].discovery-departing .transmission { --door-open: 1; }
html[data-ride-mode="baked"].discovery-lamp-off [data-scene="records"] .scene-backdrop, html[data-ride-mode="baked"].discovery-xray-off [data-scene="films"] .scene-backdrop { filter: brightness(.3); }
@media (max-width: 700px) { .discovery-actions { bottom: 3.5rem; right: .5rem; }.discovery-pocket { right: .5rem; bottom: .5rem; }.discovery-key span { display: none; }.hospital-visit { padding-bottom: 6.5rem; }.hospital-visit-return { right: 50%; transform: translateX(50%); }.discovery-fork { width: calc(100vw - 28px); max-height: calc(100dvh - 84px); padding: 24px; }.discovery-fork-choices { grid-template-columns: 1fr; }.discovery-fork button { min-height: 100px; } }

html.memory-active .discovery-pocket, html.memory-active .discovery-actions, html.memory-active .discovery-aura, html.memory-active .discovery-tether, html.memory-active .discovery-fork, html.memory-active .discovery-notice, html.memory-closed .discovery-pocket, html.memory-closed .discovery-actions { display: none; }

body:has(.afterlight-invitation:not([hidden])) .discovery-notice { bottom: auto; top: 42vh; }
body:has(.afterlight-invitation:not([hidden])) .discovery-pocket { bottom: auto; top: 22vh; }
.discovery-notice { pointer-events: none; }
html[data-ride-mode="baked"] .discovery-actions { right: .8rem; bottom: 4rem; left: auto !important; top: auto !important; }
html[data-ride-mode="baked"] .discovery-aura, html[data-ride-mode="baked"] .discovery-tether, html[data-ride-mode="baked"] .discovery-fork { display: none; }
