/* One encounter, before the archive. The first frame belongs entirely to stone. */
body{background:#0d0e0d}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body.ritual-active{height:100svh;overflow:hidden;overscroll-behavior:none}
#ritual-scene{position:fixed;inset:0;z-index:2;overflow:hidden;background:radial-gradient(ellipse at 50% 48%,#27261f40,transparent 64%),#0d0e0d;transition:background 5s;isolation:isolate}
#sculpture-mount{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;opacity:0;transition:opacity 1.8s ease}
.stone-ready #sculpture-mount{opacity:1}
#sculpture-canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab;outline-offset:-8px}
#sculpture-canvas[hidden]{display:none}
#sculpture-canvas:focus-visible{outline:1px solid #c5aa7380}
#sculpture-canvas.is-turning{cursor:grabbing}
.brush-loaded #sculpture-canvas{cursor:crosshair}
#sculpture-fallback{width:100%;height:100%;object-fit:contain}
#sculpture-fallback[hidden]{display:none}
.ritual-vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 48%,transparent 46%,#05060566 100%);z-index:2}
.ritual-vignette:after{content:'';position:absolute;inset:0;background:url('/assets/grain.png');opacity:.12;mix-blend-mode:soft-light}
#ritual-controls{position:absolute;inset:auto 0 0;z-index:4;padding:26px clamp(23px,4vw,70px) max(25px,env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:30px;background:linear-gradient(0deg,#0d0e0df5,transparent);opacity:0;visibility:hidden;transform:translateY(16px);transition:opacity 2s,transform 2s,visibility 2s}
.invitation-visible #ritual-controls{opacity:1;visibility:visible;transform:translateY(0)}
.ritual-note p{font:26px/1.05 var(--hand);color:#c5b89f;transform:rotate(-2deg);margin:0 0 12px;max-width:310px}
.ritual-note>span{font:11px/1.6 var(--sans);color:#8e8a7d;display:block;max-width:290px}
.brush-well{display:grid;grid-template-columns:31px auto;gap:4px 15px;align-items:center;min-width:205px;justify-self:center;padding-bottom:3px}
#dip-swatch{height:27px;width:29px;background:#514d40;border:1px solid #7e7464;transform:rotate(-13deg);border-radius:43% 54% 37% 48%;box-shadow:inset 2px 1px 3px #ffffff25,inset -2px -2px 4px #0005;transition:background 1.5s}
#dip-brush{font:32px/1.2 var(--hand);padding:0;text-align:left;white-space:nowrap;min-height:43px}
#dip-brush:disabled{opacity:1;color:#b4a387;cursor:crosshair}
.dip-details{grid-column:2;font:10px/1.5 var(--sans);color:#938c7d;letter-spacing:.025em}
#dip-meter{height:2px;background:#6a635a50;margin-top:12px;overflow:hidden;max-width:185px}
#dip-meter>span{display:block;width:0;height:100%;background:#c7aa7a;transition:width .12s linear}
.ritual-actions{display:flex;flex-wrap:wrap;gap:3px 23px;justify-content:flex-end;max-width:280px;justify-self:end}
.ritual-actions button{font-size:23px;line-height:1.25;padding:6px 0;white-space:nowrap;color:#a19a8d}
#enter-archive{flex-basis:100%;text-align:right;color:#d0c4ad}
#brush-cursor{position:absolute;display:none;z-index:3;pointer-events:none;border:1px solid #eee1c5a0;border-radius:44% 51% 48% 46%;transform:translate(-50%,-50%);mix-blend-mode:difference}
.brush-loaded.pointer-brush #brush-cursor{display:block}
.ritual-active #archive-content,.ritual-active .site-header,.ritual-active .site-footer,.ritual-active .reading-line{visibility:hidden;opacity:0;pointer-events:none}
.ritual-active #archive-content,.ritual-active .site-footer{height:0;overflow:hidden}
#archive-content,.site-footer{position:relative;z-index:3;transition:opacity 2.8s ease}
.site-header{transition:opacity 2.4s ease,background .35s}
.archive-opening #ritual-scene,.archive-open #ritual-scene{z-index:0;pointer-events:none}
.archive-opening #ritual-controls,.archive-open #ritual-controls{opacity:0;visibility:hidden;pointer-events:none}
.archive-opening #archive-content,.archive-opening .site-header,.archive-opening .site-footer{opacity:0}
.archive-open #archive-content,.archive-open .site-header,.archive-open .site-footer{opacity:1}
.archive-welcome{min-height:100svh;padding:clamp(150px,19svh,230px) var(--gutter) 65px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(90deg,#0d0e0d88,transparent 72%)}
.archive-welcome .hero-dedication{max-width:530px;color:#bdb6a8;margin-bottom:50px}
.archive-welcome h1{font:600 clamp(110px,16vw,250px)/.8 var(--display);letter-spacing:-.075em;max-width:1150px}
.archive-welcome h1>span{display:block}
.archive-welcome .turner-line{margin:.1em 0 0 9vw}
.archive-welcome-bottom{display:flex;align-items:center;gap:65px;margin-top:65px}
.archive-welcome-bottom>p{font:14px/1.8 var(--sans);color:#b2ac9f;margin:0}
.archive-welcome-bottom .round-link{margin:0}
#replay-ritual{margin-left:auto;font:25px/1.2 var(--hand);color:#aa9d84;text-align:right}
#archive-content .section-shell{background:#10110fee}
#archive-content .works{background:#171814ee}
#archive-content .corner{background:#111211ee}
#archive-content .timeline{background:#e7e2d8f2}
.archive-open .closing{background:linear-gradient(#10110fdd,transparent)}
.site-footer{background:#0d0e0ddd}
.ritual-loading-error #ritual-controls{opacity:1;visibility:visible;transform:none}
@media(max-width:760px){
  #ritual-controls{grid-template-columns:1fr auto;gap:17px 18px;padding:60px 22px max(22px,env(safe-area-inset-bottom))}
  .ritual-note{grid-column:1/-1;text-align:center}.ritual-note p{font-size:25px;max-width:none;margin-bottom:8px}.ritual-note>span{max-width:none;font-size:10px}
  .brush-well{justify-self:start;min-width:0;grid-template-columns:23px auto;gap:3px 12px}#dip-swatch{width:22px;height:23px}#dip-brush{font-size:29px}.dip-details{font-size:9px}#dip-meter{margin-top:8px;width:140px}
  .ritual-actions{gap:1px 12px;max-width:145px}.ritual-actions button{font-size:20px}#enter-archive{padding-bottom:2px}
  .archive-welcome{padding-top:150px;padding-bottom:60px;min-height:95svh}.archive-welcome .hero-dedication{font-size:10px;max-width:280px;line-height:1.9;margin-bottom:45px}.archive-welcome h1{font-size:clamp(87px,22vw,167px)}.archive-welcome .turner-line{margin-left:5vw}.archive-welcome-bottom{flex-wrap:wrap;gap:28px;margin-top:47px}.archive-welcome-bottom>p{flex-basis:100%;font-size:13px}.archive-welcome-bottom .round-link{font-size:24px}#replay-ritual{font-size:23px;max-width:115px}
}
@media(max-height:540px) and (min-width:761px){#ritual-controls{padding-top:10px;padding-bottom:16px}.ritual-note p{font-size:23px}.ritual-note>span{font-size:10px}}
@media(prefers-reduced-motion:reduce){#sculpture-mount,#ritual-controls,#archive-content,.site-footer,.site-header{transition:opacity .2s}}
