/* 20261015-between-still2 — flash pass on the book note + book page. Transform/opacity/SVG/CSS only.
   Every decoration is pointer-events:none and sits off the text. Reduced motion: end state only. */
#view-between .book-note .bk-fx,#view-between .book-note .bk-run,#book-page .bk-glow,#book-page .bk-sweep,.bk-trail,.bk-burst{pointer-events:none}
#view-between .book-note{isolation:isolate}
#view-between .book-note .bk-fx{position:absolute;left:-3px;top:0;width:14px;height:100%;overflow:visible;z-index:1}
#view-between .book-note .bk-fx path{fill:none;stroke-linecap:round;stroke-linejoin:round}
#view-between .book-note .bk-fx .z1{stroke:#ffe9a0;stroke-width:1.4;stroke-dasharray:14 90;opacity:.95;filter:drop-shadow(0 0 2px #e8be3c)}
#view-between .book-note .bk-fx .z2{stroke:#fff6d6;stroke-width:1;stroke-dasharray:6 120;opacity:.8}
#view-between .book-note .bk-run{position:absolute;left:0;width:100%;height:1px;overflow:visible;z-index:1}
#view-between .book-note .bk-run.t{top:0}
#view-between .book-note .bk-run.b{bottom:0}
#view-between .book-note .bk-run i{display:block;width:100%;height:100%;transform:translateX(-100%);background:linear-gradient(90deg,transparent calc(100% - 90px),rgba(232,190,60,.5) calc(100% - 24px),#fff3c4 calc(100% - 3px),transparent 100%)}
#view-between .book-note .book-cover{position:relative;overflow:hidden}
#view-between .book-note .book-cover::after{content:"";position:absolute;inset:-20% -60%;background:linear-gradient(105deg,transparent 40%,rgba(255,240,190,.75) 50%,transparent 60%);transform:translateX(-120%)}
#view-between .book-note .book-note-line{background:linear-gradient(100deg,#f4efe2 0%,#f4efe2 38%,#ffd75e 47%,#fff7dc 50%,#ffd75e 53%,#f4efe2 62%,#f4efe2 100%);background-size:300% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
#book-page .book-cover-wrap{position:relative;width:132px;margin:40px auto 18px;perspective:700px}
#book-page .book-cover-wrap .book-cover{position:relative;margin:0;overflow:hidden;transform-style:preserve-3d;box-shadow:inset 0 0 0 1px rgba(232,190,60,.45),0 18px 40px rgba(0,0,0,.6)}
#book-page .bk-glow{position:absolute;left:50%;top:50%;width:300px;height:300px;margin:-150px 0 0 -150px;border-radius:50%;background:radial-gradient(circle,rgba(232,190,60,.38) 0%,rgba(232,190,60,.12) 38%,transparent 68%);z-index:-1;will-change:transform}
#book-page .bk-sweep{position:absolute;inset:-10% -80%;background:linear-gradient(110deg,transparent 42%,rgba(255,246,214,.0) 44%,rgba(255,246,214,.8) 50%,rgba(255,246,214,0) 56%,transparent 58%);transform:translateX(-110%);mix-blend-mode:screen}
#book-page{isolation:isolate}
#book-page .book-buy{position:relative;overflow:hidden;isolation:isolate}
#book-page .book-buy::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(115deg,transparent 35%,#fff8e0 50%,transparent 65%);transform:translateX(-120%);opacity:0}
#book-page .book-buy-wrap{position:relative;max-width:320px;margin:28px auto 0}
#book-page .book-buy-wrap .book-buy{margin:0;max-width:none}
#book-page .book-buy-wrap::after{content:"";position:absolute;inset:0;border-radius:10px;box-shadow:0 0 0 2px rgba(232,190,60,.7),0 0 22px rgba(232,190,60,.55);opacity:0;pointer-events:none}
.bk-trail{position:fixed;inset:0;width:100vw;height:100vh;z-index:31;overflow:visible}
.bk-trail path{fill:none;stroke-linecap:round;stroke-linejoin:round}
.bk-burst{position:fixed;z-index:31;width:64px;height:64px;margin:-32px 0 0 -32px}
.bk-burst span{position:absolute;inset:0;border-radius:50%}
.bk-burst .r{box-shadow:0 0 0 2px #ffd75e,0 0 14px rgba(232,190,60,.8);transform:scale(.2);opacity:0}
.bk-burst .c{background:radial-gradient(circle,rgba(255,240,190,.95) 0%,rgba(232,190,60,.45) 35%,transparent 65%);transform:scale(.3);opacity:0}
.bk-burst i{position:absolute;left:31px;top:4px;width:2px;height:14px;border-radius:2px;background:linear-gradient(#fff3c4,#e8be3c);transform-origin:1px 28px;opacity:0}

@media (prefers-reduced-motion:no-preference){
  #view-between .book-note .bk-fx .z1{animation:bkZap 2.6s linear infinite}
  #view-between .book-note .bk-fx .z2{animation:bkZap 3.9s linear -1.3s infinite}
  #view-between .book-note .bk-fx .zg{animation:bkHum 3.2s ease-in-out infinite}
  #view-between .book-note .bk-run.t i{animation:bkRun 5.2s cubic-bezier(.45,0,.25,1) 1.2s infinite}
  #view-between .book-note .bk-run.b i{animation:bkRunR 5.2s cubic-bezier(.45,0,.25,1) 3.8s infinite}
  #view-between .book-note .book-cover::after{animation:bkGlint 5.2s cubic-bezier(.45,0,.25,1) 1.6s infinite}
  #view-between .book-note .book-note-line{animation:bkShim 5.2s cubic-bezier(.45,0,.25,1) .9s infinite}
  #book-page.fx-open{animation:bkFade .32s ease-out both}
  #book-page.fx-open .bk-glow{animation:bkGlowIn 1.1s cubic-bezier(.2,.8,.2,1) .35s both,bkBreath 4.8s ease-in-out 1.5s infinite}
  #book-page.fx-open .bk-sweep{animation:bkSweep 1.1s cubic-bezier(.45,0,.25,1) .95s both}
  #book-page.fx-open .book-title{background:linear-gradient(100deg,#f4efe2 0%,#f4efe2 40%,#ffd75e 47%,#fff7dc 50%,#ffd75e 53%,#f4efe2 60%,#f4efe2 100%);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:bkRise .6s cubic-bezier(.2,.8,.2,1) .7s both,bkShimOnce 1.6s cubic-bezier(.45,0,.25,1) .9s both}
  #book-page.fx-open .book-line{animation:bkRise .6s cubic-bezier(.2,.8,.2,1) .85s both}
  #book-page.fx-open h3:nth-of-type(1),#book-page.fx-open .book-about{animation:bkRise .6s cubic-bezier(.2,.8,.2,1) 1s both}
  #book-page.fx-open h3:nth-of-type(2),#book-page.fx-open .book-author{animation:bkRise .6s cubic-bezier(.2,.8,.2,1) 1.15s both}
  #book-page.fx-open .book-buy-wrap{animation:bkStrikeIn .5s cubic-bezier(.2,1.3,.4,1) 1.35s both}
  #book-page.fx-open .book-buy::before{animation:bkStrike .7s cubic-bezier(.45,0,.25,1) 1.45s both}
  #book-page.fx-open .book-buy-wrap::after{animation:bkPulse 2.8s ease-in-out 2.1s infinite}
  #book-page.fx-open .book-close{animation:bkFade .4s ease-out .5s both}
  .bk-trail .tr{stroke-dasharray:var(--len) var(--len);stroke-dashoffset:var(--len);animation:bkDraw .5s cubic-bezier(.45,0,.25,1) forwards,bkOut .45s ease-out .55s forwards}
  .bk-burst .r{animation:bkRing .7s cubic-bezier(.2,.8,.2,1) .05s forwards}
  .bk-burst .c{animation:bkCore .6s ease-out forwards}
  .bk-burst i{animation:bkRay .65s cubic-bezier(.2,.8,.2,1) .05s forwards}
}
@keyframes bkZap{to{stroke-dashoffset:-104}}
@keyframes bkHum{0%,100%{opacity:.35}50%{opacity:.85}}
@keyframes bkRun{0%{transform:translateX(-100%)}45%,100%{transform:translateX(100%)}}
@keyframes bkRunR{0%{transform:translateX(100%) scaleX(-1)}45%,100%{transform:translateX(-100%) scaleX(-1)}}
@keyframes bkGlint{0%,8%{transform:translateX(-120%)}30%,100%{transform:translateX(120%)}}
@keyframes bkShim{0%{background-position:100% 0}40%,100%{background-position:0 0}}
@keyframes bkShimOnce{0%{background-position:100% 0}100%{background-position:0 0}}
@keyframes bkFade{from{opacity:0}to{opacity:1}}
@keyframes bkRise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes bkGlowIn{from{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}
@keyframes bkBreath{0%,100%{opacity:1}50%{opacity:.6}}
@keyframes bkSweep{from{transform:translateX(-110%)}to{transform:translateX(110%)}}
@keyframes bkStrikeIn{0%{opacity:0;transform:scale(.86)}60%{opacity:1;transform:scale(1.04)}100%{opacity:1;transform:none}}
@keyframes bkStrike{0%{opacity:1;transform:translateX(-120%)}100%{opacity:1;transform:translateX(120%)}}
@keyframes bkPulse{0%,100%{opacity:0;transform:scale(1)}50%{opacity:.9;transform:scale(1.025)}}
@keyframes bkDraw{to{stroke-dashoffset:0}}
@keyframes bkOut{to{opacity:0}}
@keyframes bkRing{0%{opacity:1;transform:scale(.2)}100%{opacity:0;transform:scale(1)}}
@keyframes bkCore{0%{opacity:0;transform:scale(.3)}30%{opacity:1}100%{opacity:0;transform:scale(1)}}
@keyframes bkRay{0%{opacity:0;transform:rotate(var(--a)) translateY(10px) scaleY(.3)}35%{opacity:1}100%{opacity:0;transform:rotate(var(--a)) translateY(-6px) scaleY(1)}}
/* 20261015-between-still2 — real author photo (Obie supplied; crop/compress only). Face sits upper-left third; nothing overlays it but the passing sweep. */
#book-page .book-photo{position:relative;margin:4px 0 14px;aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:#0b0a07;box-shadow:0 0 0 2px #e8be3c,0 0 0 4px rgba(232,190,60,.18),0 14px 34px rgba(0,0,0,.55)}
#book-page .book-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:40% 40%;transform-origin:36% 38%}
#book-page .book-photo::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 38%,rgba(255,236,170,.55) 50%,transparent 62%);transform:translateX(-130%);opacity:0}
@media (prefers-reduced-motion:no-preference){
  #book-page.fx-open .book-photo{animation:bkRise .6s cubic-bezier(.2,.8,.2,1) 1.05s both}
  #book-page.fx-open .book-photo img{animation:bkBurns 18s ease-in-out 1.1s infinite alternate}
  #book-page.fx-open .book-photo::after{animation:bkPhotoSweep 1.4s cubic-bezier(.45,0,.25,1) 1.6s 1 both}
}
@keyframes bkBurns{from{transform:scale(1)}to{transform:scale(1.07) translate(1.5%,-1%)}}
@keyframes bkPhotoSweep{0%{opacity:1;transform:translateX(-130%)}100%{opacity:1;transform:translateX(130%)}}
/* ---- 20261015-between-still2 premium layer. Transform/opacity/CSS/canvas-lite. Decor never takes taps, never sits over text.
   Reduced motion: everything below lands in its end state, no loops. ---- */
#book-page{background:radial-gradient(120% 70% at 50% 18%,#1d170a 0%,#0c0a07 45%,#050505 100%);text-align:center}
#book-page .bk-stage{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
#book-page .bk-rays{position:absolute;left:50%;top:150px;width:900px;height:900px;margin:-450px 0 0 -450px;border-radius:50%;opacity:.55;
  background:repeating-conic-gradient(from 0deg,rgba(232,190,60,.13) 0deg 5deg,transparent 5deg 18deg);
  -webkit-mask:radial-gradient(circle,#000 0%,rgba(0,0,0,.6) 22%,transparent 55%);mask:radial-gradient(circle,#000 0%,rgba(0,0,0,.6) 22%,transparent 55%)}
#book-page .bk-dust{position:absolute;inset:0;width:100%;height:100%}
#book-page .book-cover-wrap{transform:perspective(700px) rotateY(var(--tx,0deg)) rotateX(var(--ty,0deg));transform-style:preserve-3d;will-change:transform;margin-top:44px}
#book-page .book-cover-wrap .book-cover{box-shadow:inset 0 0 0 1px rgba(232,190,60,.55),0 0 0 1px rgba(232,190,60,.25),0 24px 50px rgba(0,0,0,.7),0 0 40px rgba(232,190,60,.18)}
#book-page .book-cover-wrap .book-cover::after{content:"";position:absolute;inset:0;pointer-events:none;mix-blend-mode:color-dodge;opacity:.55;
  background:linear-gradient(115deg,transparent 20%,rgba(255,215,94,.0) 30%,rgba(255,236,170,.55) 42%,rgba(190,240,255,.35) 48%,rgba(255,180,240,.3) 54%,rgba(255,236,170,.5) 60%,transparent 72%);
  background-size:260% 100%;background-position:var(--fx,50%) 0}
#book-page .book-title,#book-page.fx-open .book-title{font-size:40px;letter-spacing:.06em;margin:0 0 4px;
  background:linear-gradient(100deg,#b8892a 0%,#f6d77a 22%,#fff6d8 34%,#e8be3c 46%,#a8791f 60%,#f6d77a 78%,#fff6d8 88%,#c99a35 100%);background-size:250% 100%;background-position:0 0;
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 10px rgba(232,190,60,.25))}
#book-page .book-line{margin:0 auto 14px;max-width:300px;font:600 13px/1.45 system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#cdbf98}
#book-page p.book-about{margin:0 auto 26px;max-width:300px;font:italic 400 19px/1.4 Georgia,"Times New Roman",serif;color:#f4efe2}
#book-page .book-photo{max-width:340px;margin:0 auto 16px}
#book-page .book-photo img{translate:0 var(--par,0px);scale:1.12}
#book-page .book-author{margin:0 auto}
#book-page .bk-name{margin:0 0 10px;font-family:"Bebas Neue",Impact,"Arial Narrow",sans-serif;font-size:28px;letter-spacing:.08em;color:#f4efe2}
#book-page .bk-stats{list-style:none;margin:0;padding:0;display:flex;justify-content:center;flex-wrap:wrap;gap:8px}
#book-page .bk-stats li{padding:7px 12px;border:1px solid rgba(232,190,60,.45);border-radius:999px;background:rgba(232,190,60,.07);font:700 12px/1 system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#e9dcb4}
#book-page .bk-stats b{font-size:15px;color:#ffd75e;font-variant-numeric:tabular-nums}
#book-page .book-buy-wrap{max-width:300px;margin-top:30px}
#book-page .book-buy{border-radius:999px;padding:16px 22px;font:800 16px system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#1a1204;
  background:linear-gradient(180deg,#ffe48f 0%,#e8be3c 48%,#c9971f 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.6),inset 0 -2px 0 rgba(0,0,0,.18),0 10px 28px rgba(232,190,60,.35);transition:transform .18s cubic-bezier(.2,.8,.2,1)}
#book-page .book-buy:active{transform:scale(.97)}
#book-page .book-buy::before{opacity:.9}
#book-page .book-buy-wrap::after{border-radius:999px}
#book-page .bk-ripple{position:absolute;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:rgba(255,250,230,.75);pointer-events:none;z-index:-1;transform:scale(0);animation:bkRipple .65s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes bkRipple{to{transform:scale(26);opacity:0}}
@media (prefers-reduced-motion:no-preference){
  #book-page.fx-open .bk-rays{animation:bkFade 1.4s ease-out .3s both,bkSpin 90s linear infinite}
  #book-page.fx-open .bk-dust{animation:bkFade 1.6s ease-out .4s both}
  #book-page .book-cover-wrap .book-cover::after{animation:none}
  #book-page.fx-open .book-title{animation:bkRise .7s cubic-bezier(.2,.8,.2,1) .7s both,bkFoil 7s ease-in-out 1.4s infinite}
  #book-page.fx-open .book-line{animation:bkTrack .9s cubic-bezier(.2,.8,.2,1) .85s both}
  #book-page.fx-open .book-about{animation:bkRise .7s cubic-bezier(.2,.8,.2,1) 1s both}
  #book-page.fx-open .book-photo{animation:bkLetter 1.1s cubic-bezier(.65,0,.35,1) 1.1s both}
  #book-page.fx-open .bk-name{animation:bkRise .6s cubic-bezier(.2,.8,.2,1) 1.35s both}
  #book-page.fx-open .bk-stats li{animation:bkSlide .6s cubic-bezier(.2,.8,.2,1) both}
  #book-page.fx-open .bk-stats li:nth-child(1){animation-delay:1.45s}
  #book-page.fx-open .bk-stats li:nth-child(2){animation-delay:1.6s}
  #book-page.fx-open .book-buy-wrap{animation-delay:1.8s}
  #book-page.fx-open .book-buy::before{animation:bkStrike 1.2s cubic-bezier(.45,0,.25,1) 2s both,bkSheen 4.5s cubic-bezier(.45,0,.25,1) 3.4s infinite}
  #book-page.fx-open .book-buy-wrap::after{animation:bkPulse 3.2s ease-in-out 2.4s infinite}
}
@keyframes bkSpin{to{rotate:360deg}}
@keyframes bkFoil{0%,100%{background-position:0 0}50%{background-position:100% 0}}
@keyframes bkTrack{from{opacity:0;letter-spacing:.4em}to{opacity:1;letter-spacing:.14em}}
@keyframes bkLetter{from{clip-path:inset(50% -12px 50% -12px);opacity:.3}to{clip-path:inset(-12px -12px -40px -12px);opacity:1}}
@keyframes bkSlide{from{opacity:0;transform:translateX(-18px)}to{opacity:1;transform:none}}
@keyframes bkSheen{0%,55%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
@media (prefers-reduced-motion:reduce){#book-page .bk-dust{display:none}#book-page .book-photo img{translate:none}}
