/* Document ruler and flowing section typography. */
.scroll-rail,.rail-type{display:none}
@media(min-width:1024px) and (hover:hover) and (pointer:fine){
 main{margin-right:60px}.scroll-rail,.rail-type{display:block;position:fixed;inset:0;z-index:42;pointer-events:none;color:var(--ink)}
 .scroll-rail{left:auto;width:60px;top:49px;pointer-events:auto;cursor:ns-resize;touch-action:none;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--paper) 70%,transparent) 65%);backdrop-filter:blur(9px)}
 .scroll-rail:focus-visible{outline:1px solid var(--accent);outline-offset:-2px}
 .rail-tick{position:absolute;right:0;height:1px;background:currentColor;transform-origin:right;will-change:transform}
 .rail-tick b{position:absolute;right:25px;top:-5px;font:9px/1 var(--mono);font-weight:400}
 .rail-needle,.rail-ghost{position:absolute;right:0;width:60px;height:2px;background:var(--accent);z-index:2}
 .rail-ghost{opacity:0;height:1px}.rail-needle b{position:absolute;right:8px;bottom:7px;font:10px/1 var(--mono);font-weight:500;color:var(--accent);display:flex;overflow:hidden;height:11px}
 .rail-digit{width:6px;position:relative}.rail-digit i{display:block;font-style:normal;height:11px;line-height:11px}.rail-digit-inner{display:block;transition:transform .16s ease-out}
 .rail-viewport{position:absolute;inset:auto 0 auto 0;border-block:1px solid var(--accent);background:color-mix(in srgb,var(--accent) 9%,transparent);opacity:0}
 .rail-letter{position:absolute;left:0;top:0;font:620 34px/1 Archivo,sans-serif;letter-spacing:0;white-space:pre;will-change:transform;transform-origin:center;pointer-events:none}
 .rail-hit{position:absolute;pointer-events:auto;outline-offset:5px}.rail-hit:focus-visible{outline:2px solid var(--accent)}

}

.reduced-motion .rail-digit-inner,.motion-paused .rail-digit-inner{transition:none}

.rail-map-wash{position:absolute;right:55px;top:49px;bottom:0;width:300px;background:linear-gradient(90deg,transparent,var(--paper) 65%);opacity:var(--map,0);pointer-events:none}

/* Reference treatment: corner contrast pools, with a per-glyph shadow. */
.rail-frost{display:none}
@media(min-width:1024px) and (hover:hover) and (pointer:fine){
 .rail-frost{display:block;position:fixed;inset:0;z-index:39;pointer-events:none}
 .rail-pool{position:absolute;right:0;opacity:0;background:color-mix(in srgb,var(--paper) 80%,transparent);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);mask-image:radial-gradient(100% 100% at 100% var(--pool-origin),black 38%,rgba(0,0,0,.82) 56%,rgba(0,0,0,.48) 72%,rgba(0,0,0,.2) 86%,rgba(0,0,0,.05) 94%,transparent 97%);-webkit-mask-image:radial-gradient(100% 100% at 100% var(--pool-origin),black 38%,rgba(0,0,0,.82) 56%,rgba(0,0,0,.48) 72%,rgba(0,0,0,.2) 86%,rgba(0,0,0,.05) 94%,transparent 97%)}
 .rail-pool.top{top:0;--pool-origin:0%}.rail-pool.bottom{bottom:0;--pool-origin:100%}
 .rail-letter{z-index:2;text-shadow:0 0 4px var(--paper),0 0 10px var(--paper)}
 .rail-hit{z-index:3}
}
