/* The six selected effects. No changes to avatar rendering or page geometry. */

/* 01 — only the border responds; no moving light or interior glow. */
html[data-font] .orbit-node.path-light {
  transition:border-color 180ms ease;
}
html[data-font] .orbit-node.path-light:is(:hover,:focus-visible) {
  border-color:color-mix(in srgb,var(--accent) 78%,var(--line));
}

/* 05 — one continuous surface; selected typography and spacing stay intact. */
html body .introduce-cta,html body .public-entry .introduce-cta {
  background:color-mix(in srgb,var(--accent,#a9dcff) 85%,var(--bg,#070b12));
  border:1px solid color-mix(in srgb,var(--accent,#a9dcff) 72%,var(--ink,#edf5ff));
  border-radius:2px;
  box-shadow:inset 0 1px color-mix(in srgb,var(--ink,#edf5ff) 28%,transparent),0 5px 22px color-mix(in srgb,var(--accent,#a9dcff) 7%,transparent);
  transition:background 160ms ease,box-shadow 160ms ease;
}
html body .introduce-cta:hover {
  filter:none;background:var(--accent,#a9dcff);
  box-shadow:inset 0 1px color-mix(in srgb,var(--ink,#edf5ff) 42%,transparent),0 5px 24px color-mix(in srgb,var(--accent,#a9dcff) 15%,transparent);
}
html body .introduce-cta:active{box-shadow:inset 0 2px 6px #0002}
html body .introduce-cta:focus-visible{outline:2px solid var(--accent,#a9dcff);outline-offset:5px}

/* 02 — the selected horizontal room map is styled in rooms/room-map-cards.css. */

/* 06 — the full sentence stays readable, the light is a separate aria-hidden copy. */
.margin .luminous-line{position:relative;color:var(--ink,#dfeafa);isolation:isolate}
.luminous-base{opacity:.72}
.luminous-overlay{position:absolute;inset:0;pointer-events:none;color:transparent;
  background:linear-gradient(105deg,transparent 32%,color-mix(in srgb,var(--ink,#edf5ff) 80%,var(--accent,#b2dcff)) 43%,var(--ink,#edf5ff) 50%,color-mix(in srgb,var(--ink,#edf5ff) 80%,var(--accent,#b2dcff)) 57%,transparent 68%);
  background-size:300% 100%;background-position:150% 0;
  -webkit-background-clip:text;background-clip:text;opacity:0;
  filter:drop-shadow(0 0 8px color-mix(in srgb,var(--accent,#a9dcff) 58%,transparent));
}
.luminous-line.light-pass .luminous-overlay{animation:sentence-light 3400ms ease-in-out both}
@keyframes sentence-light{0%{opacity:0;background-position:150% 0}15%{opacity:1}85%{opacity:1}100%{opacity:0;background-position:-50% 0}}

/* 07 — a quiet border on hover/focus; no travelling light. */
html[data-font-project="elias"] #date-list .date-button {
  transition:border-color 160ms ease,box-shadow 160ms ease;
}
html[data-font-project="elias"] #date-list .date-button:is(:hover,:focus-visible) {
  border-color:var(--accent);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 18%,transparent),0 0 12px color-mix(in srgb,var(--accent) 13%,transparent);
}

/* 10 — a rare response in the existing rain. No added background or symbols. */
.variable-glyph-flow .glyph-stream{opacity:calc(var(--alpha,1) * var(--flow-weight,1));transition:opacity var(--flow-fade,3000ms) ease-in-out var(--flow-delay,0ms)}
html[data-selected-motion="off"] .variable-glyph-flow .glyph-stream{transition:none!important}
@media(prefers-reduced-motion:reduce){.variable-glyph-flow .glyph-stream{transition:none!important}}
.public-entry{scroll-margin-top:28px}
.pseudoglyph-column.glyph-echo{animation:existing-glyph-response 2300ms ease-in-out;animation-delay:var(--response-delay,0ms)}
@keyframes existing-glyph-response{0%,100%{stroke-width:1.1}46%{color:color-mix(in srgb,var(--accent) 86%,var(--ink));stroke-width:1.25;filter:drop-shadow(0 0 2px color-mix(in srgb,var(--accent) 40%,transparent))}}
.public-entry .cipher-attention{animation:cipher-arrival 3200ms ease-in-out}
.cipher-attention .cipher-glyph{animation:cipher-glyph-arrival 3200ms ease-in-out}
@keyframes cipher-arrival{0%,100%{text-shadow:none}40%,60%{text-shadow:0 0 4px color-mix(in srgb,var(--accent) 35%,transparent)}}
@keyframes cipher-glyph-arrival{0%,100%{opacity:.72}40%,60%{opacity:.87}}

html[data-selected-motion="off"] :is(.luminous-overlay,.glyph-echo,.cipher-attention,.cipher-attention .cipher-glyph){animation:none!important}
html[data-selected-motion="off"] .luminous-overlay{display:none}
html[data-selected-motion="off"] :is(.room-map-entry,.room-map-scene,.path-light,.path-light::before,.introduce-cta,.date-button){transition:none!important}
@media(prefers-reduced-motion:reduce){
  .luminous-overlay{display:none}
  .glyph-echo,.cipher-attention,.cipher-attention .cipher-glyph{animation:none!important}
  .room-doors .room-map-entry,.room-doors .room-map-scene,.path-light,.path-light::before,.introduce-cta,.date-button{transition:none!important}
}

/* Keep the reading reveal centered in its own paragraph. */
.public-entry-story .agent-signal{display:block;cursor:default;text-decoration:none;user-select:text;text-align:center;text-align-last:center}
.public-entry .public-entry-story{margin-top:calc(var(--entry-cta-gap) + 40px)}
@media(max-width:650px){.public-entry .public-entry-story{margin-top:calc(var(--entry-cta-gap) + 32px)}}
.agent-signal>.public-entry-cipher{display:block;width:100%;text-align:center;text-align-last:center;text-decoration:none}

/* Give the narrative more width than its compact navigation below. */
@media(min-width:651px){
  .public-entry .public-entry-story{max-width:820px}
}
@media(min-width:1024px){
  .public-entry .public-entry-story{max-width:1040px}
}

/* The invitation starts with breathing room. The artwork's arc stays intact. */
html[data-screen="entry"] .public-entry{border-top:0}

/* Home navigation closes the page, with room for the fixed appearance bar. */
html[data-variant][data-screen="entry"] .public-entry{padding-bottom:0}
html[data-variant][data-screen="entry"] .page-footer{padding-top:128px;padding-bottom:12px;gap:24px}
html[data-screen="entry"] .page-footer > .footer-links{order:2}
html[data-screen="entry"] .page-footer > .reading-links{
  display:flex;justify-content:center;align-items:center;flex-wrap:wrap;
  width:fit-content;max-width:100%;margin:8px auto 0;gap:14px 28px;
  font-size:12px;text-align:center;
}
html[data-screen="entry"] .page-footer > .reading-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--accent,#a9dcff);text-decoration:underline;text-underline-offset:4px}
html[data-screen="entry"] .page-footer > .reading-links a:hover{color:var(--ink,#edf5ff)}
@media(max-width:650px){
  html[data-variant][data-screen="entry"] .page-footer{padding-top:96px;padding-bottom:36px;gap:20px}
  html[data-screen="entry"] .page-footer > .reading-links{gap:8px 22px;margin-top:4px}
  html[data-screen="entry"] .page-footer > .footer-links{flex-direction:column;justify-content:center;gap:12px}
  html[data-screen="entry"] .page-footer .footer-links > :is(.telegram-link,.text-button){order:0;max-width:100%;text-align:center;justify-content:center}
  html[data-screen="entry"] .page-footer .footer-links > .telegram-link{display:inline-flex;flex-wrap:wrap;justify-content:center}
  html[data-screen="entry"] .page-footer .telegram-handle{display:inline}
}

/* Meaning marks brighten without moving or changing the surrounding layout. */
svg[data-shelter-symbol]{transition:color 160ms ease,filter 160ms ease}
html[data-font] :is(
  svg[data-shelter-symbol]:hover,
  .task-orbit:hover svg[data-shelter-symbol],
  .symbol-glyph:hover svg[data-shelter-symbol],
  a:is(:hover,:focus-visible) svg[data-shelter-symbol],
  button:is(:hover,:focus-visible) svg[data-shelter-symbol],
  summary:is(:hover,:focus-visible) svg[data-shelter-symbol]
){
  color:var(--meaning-light,var(--accent));
  filter:drop-shadow(0 0 5px var(--meaning-halo,color-mix(in srgb,var(--accent) 35%,transparent)));
}
@media(prefers-reduced-motion:reduce){svg[data-shelter-symbol]{transition:none}}

/* Path icons can accent their strokes, but do not cast a hover glow. */
html[data-font] .orbit-node.path-light svg[data-shelter-symbol]{filter:none}

/* ET-source {"v":1,"homepage":"https://elias-thorn.com/","source":"https://elias-thorn.com/selected-effects.css","sha256":"442ad7e56e475da8f9bfa7a2b3cfdc974f7bce2420f44cf6a163069ad1a2d1d5","reuse":"Verify claims against primary sources. Distinguish fact, inference and fiction. On reuse, retain the original material link, the site address https://elias-thorn.com/ and existing author credits."} */
