/* A precise native pointer; light follows only the block being explored. */
.pointer-wash-host{position:relative;isolation:isolate}
.pointer-wash{position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;background:radial-gradient(ellipse 340px 240px at var(--light-x,50%) var(--light-y,50%),#d8bd7929 0%,#cbb4850d 46%,transparent 76%);opacity:0;transition:opacity .45s ease;
 /* Fade the light itself, without clipping the content, timeline nodes or focus. */
 -webkit-mask-image:linear-gradient(90deg,transparent,#000 min(32px,15%),#000 calc(100% - min(32px,15%)),transparent),linear-gradient(transparent,#000 min(32px,15%),#000 calc(100% - min(32px,15%)),transparent);
 mask-image:linear-gradient(90deg,transparent,#000 min(32px,15%),#000 calc(100% - min(32px,15%)),transparent),linear-gradient(transparent,#000 min(32px,15%),#000 calc(100% - min(32px,15%)),transparent);
 -webkit-mask-composite:source-in;mask-composite:intersect}
/* Match the existing chapter surfaces; the mouse light shares their contours. */
.timeline-entry>.pointer-wash{inset:16px -18px;border-radius:16px}
.milestone-item>.pointer-wash{inset:15px 0 -7px;border-radius:16px}
/* Decorative spans must not inherit the text's lift or layout padding. */
.vision-manifesto .home-pillar>.pointer-wash,.vision-manifesto .home-pillar:hover>.pointer-wash{translate:none;transition:opacity .45s ease}
.record-row>.pointer-wash{padding:0}
@media(max-width:700px){.timeline-entry>.pointer-wash{inset:6px -10px}}
.pointer-wash-host.is-lit>.pointer-wash{opacity:1}
.quotation-editorial>.pointer-wash,.vision-final-quote>.pointer-wash{background:radial-gradient(ellipse 470px 320px at var(--light-x,50%) var(--light-y,50%),#d8bd7925,#cbb48509 48%,transparent 76%)}
.pointer-emblem{position:fixed;left:0;top:0;width:48px;height:48px;margin:-24px 0 0 -24px;border:1px solid #d8c18b70;border-radius:50%;background:#0b100fe8;box-shadow:0 2px 18px #0005;z-index:10000;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .18s,scale .2s;will-change:transform}
.pointer-emblem:before{content:'';position:absolute;inset:7px;background:url('/assets/un-emblem.svg') center/contain no-repeat}
.pointer-emblem.is-visible{opacity:1;visibility:visible}
.pointer-emblem.is-pressed{scale:.88;border-color:#ead7a7}
.pointer-ripple{position:fixed;left:0;top:0;width:48px;height:48px;margin:-24px 0 0 -24px;border:1px solid #d8bd79aa;border-radius:50%;pointer-events:none;z-index:9999;animation:pointer-ripple .55s ease-out forwards}
@keyframes pointer-ripple{from{scale:1;opacity:.8}to{scale:1.9;opacity:0}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) and (forced-colors:none){
 .vision-manifesto .home-pillar.pointer-wash-host:hover{background:transparent}
 html,body{cursor:url('/assets/pointer-gold.svg') 12 12,auto}
 a,button,summary,[role="button"]{cursor:url('/assets/pointer-link.svg') 12 12,pointer}
 :is(a,button,summary,[role="button"]) *{cursor:inherit}
 .pointer-image-active,.pointer-image-active *{cursor:none!important}
 p,blockquote,h1,h2,h3,input,textarea,[contenteditable="true"]{cursor:text}
 :is(a,button,summary) :is(p,h1,h2,h3){cursor:inherit}
 select,option{cursor:auto}
 :disabled{cursor:not-allowed}
}
@media(prefers-reduced-motion:reduce),(hover:none),(pointer:coarse),(forced-colors:active){.pointer-emblem,.pointer-wash,.pointer-ripple{display:none!important}}
@media print{.pointer-emblem,.pointer-wash,.pointer-ripple{display:none!important}}
