.recap-book-page{--recap-navy:#d83584;--recap-violet:#ff5fb2;--recap-muted:#8b94a7;--recap-takeover-x:clamp(3.5rem, 6vw, 5.5rem);--recap-takeover-y:-1.75rem;width:100%;min-height:80vh;padding:1rem 0 4rem}.recap-book-page.is-cinematic-opening{position:relative}.recap-book-page.is-cinematic-opening:before{z-index:40;content:"";pointer-events:none;opacity:0;background:radial-gradient(circle at 42% 48%,#fff3,#0000 28%),radial-gradient(circle at 50% 45%,#a78bfa1f,#0000 35%),#0d073429;animation:1.45s cubic-bezier(.22,1,.36,1) both recap-cinematic-backdrop;position:fixed;inset:0}.recap-intro{text-align:center;max-width:760px;margin:0 auto 2.25rem}.recap-kicker{color:var(--recap-violet);letter-spacing:.22em;text-transform:uppercase;font-size:.68rem;font-weight:800}.recap-intro h1{color:var(--recap-navy);letter-spacing:-.06em;white-space:nowrap;margin-top:.85rem;font-family:Playfair Display,Georgia,serif;font-size:clamp(2.4rem,6vw,5rem);font-weight:900;line-height:1}.recap-intro p{color:#615b75;max-width:590px;margin:1rem auto 0;font-size:.95rem;line-height:1.75}.recap-mode-switcher{border:1px solid var(--color-border,#e8eaf2);background:var(--color-surface,#fff);border-radius:999px;width:fit-content;margin:0 auto 2.5rem;padding:.35rem;display:flex;box-shadow:0 10px 30px #ff5fb214}.recap-mode-switcher button{min-width:112px;color:var(--color-neutral-body,#5c6470);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.6rem 1.25rem;font-size:.78rem;font-weight:800;transition:all .18s}.recap-mode-switcher button.active{color:#fff;background:linear-gradient(90deg,#ff5fb2 0%,#a855f7 100%);box-shadow:0 7px 20px #ff5fb259}.recap-closed-state{grid-template-columns:minmax(260px,360px) minmax(280px,430px);justify-content:center;align-items:center;gap:clamp(3rem,8vw,7rem);min-height:510px;display:grid}.recap-closed-state.is-opening{z-index:50;pointer-events:none;position:relative}.recap-book-trigger{width:fit-content;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;place-items:center;margin:0 auto;padding:0;display:grid;position:relative}.recap-book-trigger:disabled{cursor:progress}.recap-book-trigger:focus-visible{outline:none}.recap-book-trigger:focus-visible .recap-closed-book__body{box-shadow:0 0 0 4px #ffffffe6,0 0 0 7px #25158f59,0 34px 80px #17105f3d}.recap-closed-state.is-opening .recap-book-trigger{animation:1.45s cubic-bezier(.16,1,.3,1) both recap-book-trigger-takeover}.recap-book-hint{z-index:8;width:max-content;max-width:260px;color:var(--recap-navy);letter-spacing:.03em;opacity:.88;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffc7;border:1px solid #25158f1a;border-radius:999px;padding:.52rem .82rem;font-size:.66rem;font-weight:800;transition:opacity .26s,transform .26s,background .26s;position:absolute;bottom:-3.15rem;left:50%;transform:translate(-50%);box-shadow:0 12px 30px #17105f17}.recap-book-trigger:hover .recap-book-hint,.recap-book-trigger:focus-visible .recap-book-hint{opacity:1;background:#ffffffeb;transform:translate(-50%)translateY(-3px)}.recap-closed-book{width:var(--book-width);perspective:1800px;transform-style:preserve-3d;display:block;position:relative}.recap-closed-book__body{aspect-ratio:49/60;width:100%;transform-style:preserve-3d;backface-visibility:hidden;border-radius:5px 17px 17px 5px;transition:transform .76s cubic-bezier(.22,1,.36,1),box-shadow .76s cubic-bezier(.22,1,.36,1),filter .76s cubic-bezier(.22,1,.36,1);position:relative;transform:rotateY(-16deg)rotateX(3deg)translateZ(0);box-shadow:0 30px 70px #17105f38}.recap-book-trigger:hover .recap-closed-book__body,.recap-book-trigger:focus-visible .recap-closed-book__body{transform:rotateY(-23deg)rotateX(2deg)translate(-8px)translateY(-4px)scale(1.025);box-shadow:0 42px 90px #17105f45}.recap-closed-book.is-opening .recap-closed-book__body{animation:1.45s cubic-bezier(.16,1,.3,1) both recap-book-body-power-open}.recap-closed-book.is-opening .recap-closed-book__body,.recap-closed-book.is-opening .recap-closed-book__cover,.recap-closed-book.is-opening .recap-closed-book__inner-spread,.recap-closed-book.is-opening .recap-closed-book__pages{will-change:transform, opacity}.recap-closed-book__cover,.recap-closed-book__back,.recap-closed-book__inner-spread{border-radius:5px 17px 17px 5px;position:absolute;inset:0;overflow:hidden}.recap-closed-book__cover{z-index:5;transform-origin:0;transform-style:preserve-3d;transform:translateZ(24px);box-shadow:inset 10px 0 18px #00000047,10px 0 25px #17105f1f}.recap-closed-book.is-opening .recap-closed-book__cover{animation:1.18s cubic-bezier(.17,.84,.22,1) .25s both recap-cover-power-open}.recap-closed-book__cover-face{backface-visibility:hidden;background:var(--book-color);position:absolute;inset:0;overflow:hidden}.recap-closed-book__cover-face--front{transform:rotateY(0)}.recap-closed-book__cover-face--front:after{content:"";pointer-events:none;opacity:0;background:linear-gradient(90deg,#0000 0%,#ffffff14 42%,#fff6 50%,#ffffff14 58%,#0000 100%);transition:opacity .26s,transform .9s cubic-bezier(.22,1,.36,1);position:absolute;inset:-40% -70%;transform:translate(-40%)rotate(18deg)}.recap-book-trigger:hover .recap-closed-book__cover-face--front:after,.recap-book-trigger:focus-visible .recap-closed-book__cover-face--front:after,.recap-closed-book.is-opening .recap-closed-book__cover-face--front:after{opacity:1;transform:translate(42%)rotate(18deg)}.recap-closed-book__cover-face--back{color:#25158f66;letter-spacing:.2em;background:linear-gradient(90deg,#17105f1f,#0000 18%),linear-gradient(135deg,#f8f2ff,#fffaf0 60%,#eee9ff);border-right:1px solid #17105f1f;place-items:center;font-size:.7rem;font-weight:900;display:grid;transform:rotateY(180deg)}.recap-closed-book__back{z-index:0;background:var(--book-color);transform:translateZ(-20px);box-shadow:inset -12px 0 18px #0003}.recap-closed-book__pages{z-index:2;transform-origin:0;background:repeating-linear-gradient(90deg,#eadfce 0 2px,#fffaf0 2px 4px),linear-gradient(#fffaf0,#efe3d0);width:38px;height:calc(100% - 14px);position:absolute;top:7px;right:-18px;transform:rotateY(90deg)translateZ(2px);box-shadow:5px 0 16px #17105f26}.recap-closed-book.is-opening .recap-closed-book__pages{animation:.95s cubic-bezier(.22,1,.36,1) .3s both recap-page-block-power}.recap-closed-book__inner-spread{z-index:1;opacity:0;filter:blur(5px);background:#fffaf0;border:1px solid #25158f1a;border-radius:4px 13px 13px 4px;grid-template-columns:1fr 1fr;display:grid;inset:8px 8px 8px 10px;transform:translateZ(8px)rotateY(7deg)scaleX(.74)scaleY(.96)}.recap-closed-book.is-opening .recap-closed-book__inner-spread{animation:.9s cubic-bezier(.22,1,.36,1) .52s both recap-inner-spread-power-reveal}.recap-closed-book__inner-spread:after{content:"";background:radial-gradient(#1d143533,#0000 70%);width:12px;position:absolute;inset:0 auto 0 50%;transform:translate(-50%)}.recap-closed-book__inner-page{min-width:0;color:var(--recap-navy);opacity:.35;background:linear-gradient(#fffaf0e6,#fffaf0e6),repeating-linear-gradient(0deg,#0000 0 5px,#2c20610a 5px 6px);flex-direction:column;justify-content:flex-end;padding:1.1rem;display:flex}.recap-closed-book.is-opening .recap-closed-book__inner-page--left{animation:.76s cubic-bezier(.22,1,.36,1) .56s both recap-page-left-ripple}.recap-closed-book.is-opening .recap-closed-book__inner-page--right{animation:.76s cubic-bezier(.22,1,.36,1) .62s both recap-page-right-ripple}.recap-closed-book__inner-page--left{border-radius:4px 0 0 4px;box-shadow:inset -14px 0 22px -24px #17105fcc}.recap-closed-book__inner-page--right{border-radius:0 12px 12px 0;box-shadow:inset 14px 0 22px -24px #17105fcc}.recap-closed-book__inner-page span,.recap-closed-book__inner-page small{color:var(--recap-muted);letter-spacing:.13em;text-transform:uppercase;font-size:.48rem;font-weight:900}.recap-closed-book__inner-page strong{margin:.25rem 0;font-family:Playfair Display,Georgia,serif;font-size:1rem;line-height:.95}.recap-closed-book__glow{z-index:-1;opacity:.55;filter:blur(18px);background:radial-gradient(circle,#25158f2e,#a78bfa14 45%,#0000 70%);border-radius:999px;transition:opacity .65s,transform .65s;position:absolute;inset:-18%;transform:translateZ(-42px)scale(.95)}.recap-book-trigger:hover .recap-closed-book__glow,.recap-closed-book.is-opening .recap-closed-book__glow{opacity:1;transform:translateZ(-42px)scale(1.08)}.recap-closed-book.is-opening .recap-closed-book__glow{animation:1.45s cubic-bezier(.22,1,.36,1) both recap-book-glow-power}.recap-closed-book__burst{z-index:-2;opacity:0;filter:blur(1px);background:conic-gradient(from 15deg,#0000 0deg,#c4b5fd4d 8deg,#0000 16deg 55deg,#ffffff52 62deg,#0000 72deg 132deg,#c4b5fd40 140deg,#0000 152deg 220deg,#ffffff42 230deg,#0000 238deg 360deg);border-radius:999px;position:absolute;inset:-28%;transform:translateZ(-50px)scale(.8)}.recap-closed-book.is-opening .recap-closed-book__burst{animation:.76s cubic-bezier(.22,1,.36,1) .42s both recap-book-burst}.recap-cover-art{color:#fff;background:radial-gradient(circle at 72% 16%,#ffffff47,#0000 28%),linear-gradient(135deg,#ff5fb2 0%,#d83584 45%,#a855f7 100%);flex-direction:column;height:100%;padding:2.2rem 2rem;display:flex;position:relative}.recap-cover-art:before{content:"";background:linear-gradient(90deg,#00000047,#0000);border-right:1px solid #ffffff1f;width:9%;position:absolute;inset:0 auto 0 0}.recap-cover-art__brand,.recap-cover-art__tag{letter-spacing:.2em;text-transform:uppercase;font-size:.66rem;font-weight:800}.recap-cover-art__tag{border:1px solid #ffffff59;border-radius:999px;align-self:flex-start;margin-top:1.4rem;padding:.42rem .7rem}.recap-cover-art__title{letter-spacing:-.07em;margin-top:auto;font-family:Playfair Display,Georgia,serif;font-size:3.5rem;font-weight:900;line-height:.85}.recap-cover-art__footer{color:#ffffffa6;margin-top:1rem;font-size:.68rem;font-weight:700;line-height:1.5}.recap-closed-copy h2{color:var(--recap-navy);font-family:Playfair Display,Georgia,serif;font-size:clamp(2rem,4vw,3.3rem);font-weight:900;line-height:1.04}.recap-closed-copy p{color:#69627e;margin:1rem 0 1.7rem;font-size:.92rem;line-height:1.75}.recap-closed-state.is-opening .recap-closed-copy{animation:.52s cubic-bezier(.22,1,.36,1) both recap-copy-cinematic-out}.recap-open-hint{color:var(--recap-navy);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffa8;border:1px solid #25158f1a;border-radius:999px;align-items:center;gap:.58rem;padding:.65rem .85rem;font-size:.72rem;font-weight:850;display:inline-flex;box-shadow:0 12px 30px #17105f14}.recap-open-hint__dot{background:var(--recap-violet);border-radius:999px;width:.55rem;height:.55rem;position:relative;box-shadow:0 0 0 5px #25158f14}.recap-open-hint__dot:after{content:"";border-radius:inherit;border:1px solid #25158f33;animation:1.8s ease-out infinite recap-hint-pulse;position:absolute;inset:-6px}.recap-open-button,.recap-control{cursor:pointer;border:0;justify-content:center;align-items:center;gap:.5rem;font-weight:800;transition:all .18s;display:inline-flex}.recap-reader{animation:.5s both recap-reader-in}.recap-reader--after-open,.recap-reader--entered{animation:.72s cubic-bezier(.16,1,.3,1) both recap-reader-cinematic-in}.recap-toolbar{background:#ffffffb8;border:1px solid #25158f1f;border-radius:1rem;justify-content:space-between;align-items:center;gap:1rem;max-width:1100px;margin:0 auto 1.25rem;padding:.7rem .8rem .7rem 1rem;display:flex;box-shadow:0 12px 30px #17105f14}.recap-toolbar__eyebrow{color:var(--recap-muted);letter-spacing:.17em;text-transform:uppercase;font-size:.57rem;font-weight:800}.recap-toolbar__title{color:var(--recap-navy);margin-top:.15rem;font-size:.82rem;font-weight:800}.recap-toolbar__controls{gap:.4rem;display:flex}.recap-control{min-height:2.25rem;color:var(--recap-navy);background:#fff;border:1px solid #25158f24;border-radius:.7rem;padding:0 .72rem;font-size:.69rem}.recap-control:hover:not(:disabled){border-color:var(--recap-violet);background:#f4f0ff}.recap-control:disabled{cursor:not-allowed;opacity:.38}.recap-flip-stage{background:linear-gradient(145deg,#2d1435,#15091c);border:1px solid #ff5fb233;border-radius:2rem;max-width:1120px;min-height:600px;margin:auto;padding:1.5rem 1.7rem;position:relative;box-shadow:0 35px 70px #d8358438}.recap-flip-stage:after{z-index:20;content:"";pointer-events:none;background:radial-gradient(#1d143547,#0000 68%);width:12px;position:absolute;inset:7% auto 7% 50%;transform:translate(-50%)}.recap-flip-book{margin:auto}.recap-page{color:#241d3f;background:linear-gradient(#fffaf0eb,#fffaf0eb),repeating-linear-gradient(0deg,#0000 0 5px,#2c20610a 5px 6px);position:relative;overflow:hidden}.recap-page--left{border-radius:11px 2px 2px 11px;box-shadow:inset -18px 0 25px -25px #1d1435a6}.recap-page--right{border-radius:2px 11px 11px 2px;box-shadow:inset 18px 0 25px -25px #1d1435a6}.recap-page__inner{flex-direction:column;height:100%;padding:clamp(1.4rem,3vw,2.5rem);display:flex}.recap-page__chapter{color:var(--recap-violet);letter-spacing:.18em;text-transform:uppercase;font-size:.58rem;font-weight:800}.recap-page__title{color:var(--recap-navy);margin-top:.55rem;font-family:Playfair Display,Georgia,serif;font-size:clamp(1.8rem,3.4vw,2.8rem);font-weight:900;line-height:.98}.recap-page__subtitle{color:var(--recap-muted);margin-top:.45rem;font-size:.67rem;font-weight:700}.recap-section{border-top:1px solid #25158f24;margin-top:1.45rem;padding-top:.9rem}.recap-section__heading{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.65rem;display:flex}.recap-section__heading h3{color:var(--recap-navy);letter-spacing:.11em;text-transform:uppercase;font-size:.68rem;font-weight:800}.recap-badge{color:#d83584;background:#fff0f7;border:1px solid #ffd1e6;border-radius:999px;padding:.27rem .6rem;font-size:.57rem;font-weight:800}.recap-list{scrollbar-width:thin;scrollbar-color:#d8358466 transparent;gap:.42rem;max-height:150px;padding-right:.4rem;display:grid;overflow-y:auto}.recap-list::-webkit-scrollbar{width:4px}.recap-list::-webkit-scrollbar-track{background:0 0}.recap-list::-webkit-scrollbar-thumb{background:#d8358466;border-radius:4px}.recap-list::-webkit-scrollbar-thumb:hover{background:#d83584b3}.recap-list li{color:#342d4b;grid-template-columns:5.6rem 1fr;gap:.65rem;font-size:.66rem;line-height:1.45;display:grid}.recap-list time,.recap-meta{color:var(--recap-muted);font-size:.61rem;font-weight:700}.recap-content-title{color:#342d4b;margin-top:.25rem;font-size:.68rem;font-weight:700;line-height:1.5}.recap-pm-grid{border:1px solid #25158f1f;border-radius:.8rem;grid-template-columns:repeat(3,1fr);display:grid}.recap-pm-grid div{text-align:center;padding:.7rem .4rem}.recap-pm-grid div+div{border-left:1px solid #25158f1f}.recap-pm-grid strong{color:var(--recap-navy);font-family:Playfair Display,Georgia,serif;font-size:1.25rem;display:block}.recap-pm-grid span{color:var(--recap-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.53rem;font-weight:800}.recap-page__number{color:var(--recap-muted);letter-spacing:.14em;text-transform:uppercase;margin-top:auto;padding-top:1rem;font-size:.56rem;font-weight:800}.recap-page--right .recap-page__number{text-align:right}.recap-toc{flex-wrap:wrap;justify-content:center;gap:.45rem;max-width:900px;margin:1.5rem auto 0;display:flex}.recap-toc button{color:var(--recap-muted);cursor:pointer;background:#ffffffad;border:1px solid #25158f1f;border-radius:999px;padding:.5rem .8rem;font-size:.64rem;font-weight:800;transition:all .16s}.recap-toc button.active,.recap-toc button:hover{border-color:var(--color-pink,#ff5fb2);color:#fff;background:linear-gradient(90deg,#ff5fb2 0%,#a855f7 100%);box-shadow:0 4px 12px #ff5fb240}.recap-mobile-reader{display:none}.recap-annual{background:#fffaf0eb;border:1px solid #25158f1f;border-radius:1.5rem;max-width:1050px;margin:auto;padding:clamp(1.4rem,4vw,3rem);animation:.4s both recap-reader-in;box-shadow:0 25px 60px #17105f24}.recap-annual__header{max-width:650px}.recap-annual__header h2{color:var(--recap-navy);margin-top:.6rem;font-family:Playfair Display,Georgia,serif;font-size:clamp(2.2rem,6vw,4.5rem);font-weight:900;line-height:.98}.recap-annual__stats,.recap-annual__months{gap:.8rem;margin-top:2rem;display:grid}.recap-annual__stats{grid-template-columns:repeat(4,1fr)}.recap-annual__stats div,.recap-annual__months article{background:#ffffffb3;border:1px solid #25158f1f;border-radius:.9rem;padding:1rem}.recap-annual__stats strong{color:var(--recap-navy);font-family:Playfair Display,Georgia,serif;font-size:2rem;display:block}.recap-annual__stats span,.recap-annual__months p{color:var(--recap-muted);font-size:.64rem;font-weight:700}.recap-annual__months{grid-template-columns:repeat(2,1fr)}.recap-annual__months h3{color:var(--recap-navy);font-size:.86rem;font-weight:800}.recap-annual__months p{margin-top:.35rem;line-height:1.6}@keyframes recap-hint-pulse{0%{opacity:.75;transform:scale(.8)}to{opacity:0;transform:scale(1.9)}}@keyframes recap-reader-in{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes recap-cinematic-backdrop{0%{opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur()}16%{opacity:1;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px)}82%{opacity:1;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px)}to{opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur()}}@keyframes recap-book-trigger-takeover{0%{transform:translate(0,0)scale(1)}5%{transform:translateY(6px)scale(.985)}18%{transform:translate3d(calc(var(--recap-takeover-x) * .7), var(--recap-takeover-y), 0) scale(1.11)}38%{transform:translate3d(var(--recap-takeover-x), calc(var(--recap-takeover-y) * 1.18), 0) scale(1.18)}74%{transform:translate3d(var(--recap-takeover-x), calc(var(--recap-takeover-y) * 1.18), 0) scale(1.18)}to{transform:translate3d(var(--recap-takeover-x), var(--recap-takeover-y), 0) scale(1.08)}}@keyframes recap-book-body-power-open{0%{filter:saturate();transform:rotateY(-16deg)rotateX(3deg)translateY(0)scale(1)}8%{transform:rotateY(-18deg)rotateX(4deg)translateY(5px)scale(.985)}22%{filter:saturate(1.05);transform:rotateY(-5deg)rotateX(1deg)translateY(-12px)scale(1.08)}48%{transform:rotateY(2deg)rotateX(0)translateY(-18px)scale(1.14)}82%{transform:rotateY(0)rotateX(0)translateY(-18px)scale(1.14)}to{filter:saturate(1.02);transform:rotateY(0)rotateX(0)translateY(-8px)scale(1.06)}}@keyframes recap-cover-power-open{0%{transform:translateZ(24px)rotateY(0)}14%{transform:translateZ(25px)rotateY(-18deg)}42%{transform:translateZ(28px)rotateY(-112deg)}72%{transform:translateZ(26px)rotateY(-174deg)}88%{transform:translateZ(25px)rotateY(-162deg)}to{transform:translateZ(24px)rotateY(-166deg)}}@keyframes recap-inner-spread-power-reveal{0%{opacity:0;filter:blur(5px);transform:translateZ(8px)rotateY(7deg)scaleX(.74)scaleY(.96)}28%{opacity:.55;filter:blur(2px);transform:translateZ(12px)rotateY(3deg)scaleX(.9)scaleY(.98)}70%{opacity:1;filter:blur();transform:translateZ(17px)rotateY(-1deg)scaleX(1.035)scaleY(1)}to{opacity:1;filter:blur();transform:translateZ(15px)rotateY(0)scaleX(1)scaleY(1)}}@keyframes recap-page-block-power{0%{opacity:1;width:38px;transform:rotateY(90deg)translateZ(2px)}45%{opacity:.85;width:54px;transform:rotateY(83deg)translateZ(4px)translate(5px)}to{opacity:.72;width:46px;transform:rotateY(86deg)translateZ(3px)translate(2px)}}@keyframes recap-page-left-ripple{0%{opacity:.35;transform:translate(16px)rotateY(8deg)}55%{opacity:1;transform:translate(-4px)rotateY(-2deg)}to{opacity:1;transform:translate(0)rotateY(0)}}@keyframes recap-page-right-ripple{0%{opacity:.35;transform:translate(-16px)rotateY(-8deg)}55%{opacity:1;transform:translate(4px)rotateY(2deg)}to{opacity:1;transform:translate(0)rotateY(0)}}@keyframes recap-book-glow-power{0%{opacity:.55;filter:blur(18px);transform:translateZ(-42px)scale(.95)}34%{opacity:1;filter:blur(24px);transform:translateZ(-42px)scale(1.32)}78%{opacity:.9;filter:blur(22px);transform:translateZ(-42px)scale(1.18)}to{opacity:.2;filter:blur(18px);transform:translateZ(-42px)scale(1.05)}}@keyframes recap-book-burst{0%{opacity:0;transform:translateZ(-50px)scale(.8)rotate(0)}30%{opacity:.9;transform:translateZ(-50px)scale(1.12)rotate(8deg)}to{opacity:0;transform:translateZ(-50px)scale(1.45)rotate(22deg)}}.recap-closed-state.is-exiting .recap-closed-book__glow{animation:.6s cubic-bezier(.25,1,.5,1) both recap-book-glow-exit}@keyframes recap-book-glow-exit{0%{opacity:.2;filter:blur(18px);transform:translateZ(-42px)scale(1.05)}to{opacity:1;filter:blur(35px);background:radial-gradient(circle,#a78bfa59 0%,#25158f1a 50%,#0000 80%);transform:translateZ(-42px)scale(1.6)}}.recap-closed-state.is-exiting .recap-closed-book__burst{animation:.6s cubic-bezier(.25,1,.5,1) both recap-book-burst-exit}@keyframes recap-book-burst-exit{0%{opacity:0;transform:translateZ(-50px)scale(1.45)rotate(22deg)}to{opacity:0;filter:blur(15px);transform:translateZ(-50px)scale(2.1)rotate(45deg)}}@keyframes recap-copy-cinematic-out{0%{opacity:1;filter:blur();transform:translate(0)translateY(0)scale(1)}to{opacity:0;filter:blur(10px);transform:translate(42px)translateY(12px)scale(.96)}}@keyframes recap-reader-cinematic-in{0%{opacity:0;filter:blur(12px);transform:translateY(34px)scale(.94)}52%{opacity:1;filter:blur(2px);transform:translateY(-4px)scale(1.012)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}.recap-closed-state.is-exiting{pointer-events:none;animation:.6s cubic-bezier(.25,1,.5,1) both recap-cover-cinematic-exit}@keyframes recap-cover-cinematic-exit{0%{opacity:1;filter:blur();transform:scale(1)}to{opacity:0;filter:blur(8px);transform:scale(1.06)}}.recap-reader.is-entering{z-index:10;animation:.6s cubic-bezier(.25,1,.5,1) both recap-reader-cinematic-entry;position:absolute;top:auto;left:0;right:0}@keyframes recap-reader-cinematic-entry{0%{opacity:0;filter:blur(6px);transform:scale(.96)translateY(12px)}to{opacity:1;filter:blur();transform:scale(1)translateY(0)}}.recap-mobile-pages-wrapper{width:100%;min-height:550px;position:relative;overflow:hidden}.recap-mobile-pages-wrapper .recap-page{border:1px solid #25158f1a;border-radius:.9rem;min-height:530px;box-shadow:0 15px 35px #17105f1a}.recap-mobile-page-transition{width:100%;animation:none!important}@media (prefers-reduced-motion:reduce){.recap-book-page:not([data-force-motion=true]) .recap-closed-book__body,.recap-book-page:not([data-force-motion=true]) .recap-closed-book__cover,.recap-book-page:not([data-force-motion=true]) .recap-closed-book__pages,.recap-book-page:not([data-force-motion=true]) .recap-closed-book__inner-spread,.recap-book-page:not([data-force-motion=true]) .recap-closed-book__inner-page,.recap-book-page:not([data-force-motion=true]) .recap-closed-book__glow,.recap-book-page:not([data-force-motion=true]) .recap-closed-book__burst,.recap-book-page:not([data-force-motion=true]) .recap-book-hint,.recap-book-page:not([data-force-motion=true]) .recap-open-hint__dot:after,.recap-book-page:not([data-force-motion=true]) .recap-reader,.recap-book-page:not([data-force-motion=true]) .recap-reader--after-open,.recap-book-page:not([data-force-motion=true]).is-cinematic-opening:before{transition:none!important;animation:none!important}}@media (max-width:900px){.recap-book-page{--recap-takeover-x:0px;--recap-takeover-y:-.8rem;padding-top:.5rem}.recap-closed-state{text-align:center;grid-template-columns:1fr;gap:2.7rem;min-height:auto}.recap-book-hint{font-size:.62rem;bottom:-2.8rem}.recap-open-hint{justify-content:center}.recap-closed-copy{max-width:520px;margin:auto}.recap-toolbar,.recap-flip-stage,.recap-toc{display:none}.recap-mobile-reader{animation:.4s both recap-reader-in;display:block}.recap-mobile-select{width:100%;color:var(--recap-navy);background:#fff;border:1px solid #25158f26;border-radius:.8rem;margin-bottom:.75rem;padding:.8rem 1rem;font-size:.78rem;font-weight:800}.recap-mobile-tabs{background:#ffffffb8;border:1px solid #25158f1f;border-radius:.8rem;width:100%;margin-bottom:1rem;padding:.25rem;display:flex;box-shadow:0 8px 25px #17105f0d}.recap-mobile-tab-btn{color:var(--recap-muted);cursor:pointer;background:0 0;border:0;border-radius:.6rem;flex:1;padding:.75rem .5rem;font-size:.76rem;font-weight:800;transition:all .22s}.recap-mobile-tab-btn.active{color:#fff;background:linear-gradient(90deg,#ff5fb2 0%,#a855f7 100%);box-shadow:0 4px 12px #ff5fb240}.recap-mobile-pages{gap:1rem;display:grid}.recap-mobile-pages .recap-page{border:1px solid #25158f1a;border-radius:.9rem;min-height:530px;box-shadow:0 15px 35px #17105f1a}.recap-mobile-page-transition{animation:.32s cubic-bezier(.25,1,.5,1) forwards recap-fade-in-subpage}@keyframes recap-fade-in-subpage{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.recap-mobile-controls{grid-template-columns:1fr 1fr;gap:.7rem;margin-top:1rem;display:grid}.recap-mobile-controls .recap-control{min-height:2.8rem}.recap-annual__stats,.recap-annual__months{grid-template-columns:repeat(2,1fr)}}@media (max-width:520px){.recap-intro h1{font-size:clamp(2rem,10vw,3rem)}.recap-closed-book{--book-width:245px!important}.recap-closed-book__inner-page{padding:.85rem}.recap-closed-book__inner-page strong{font-size:.82rem}.recap-cover-art{padding:1.8rem 1.6rem}.recap-cover-art__title{font-size:3rem}.recap-annual__stats{grid-template-columns:1fr 1fr}.recap-annual__months{grid-template-columns:1fr}}@media (min-width:901px){.recap-book-page{--recap-book-center-shift:clamp(16rem, 28vw, 22rem);--recap-book-center-y:-4rem}.recap-closed-state.is-opening .recap-book-trigger{animation:1.45s cubic-bezier(.16,1,.3,1) both recap-book-trigger-takeover-centered}.recap-closed-book.is-opening .recap-closed-book__body{animation:1.45s cubic-bezier(.16,1,.3,1) both recap-book-body-power-open-centered}}@keyframes recap-book-trigger-takeover-centered{0%{transform:translate(0,0)scale(1)}5%{transform:translateY(6px)scale(.985)}18%{transform:translate3d(calc(var(--recap-book-center-shift) * .48), calc(var(--recap-book-center-y) * .62), 0) scale(1.1)}34%{transform:translate3d(calc(var(--recap-book-center-shift) * .94), calc(var(--recap-book-center-y) * 1.08), 0) scale(1.18)}58%{transform:translate3d(var(--recap-book-center-shift), calc(var(--recap-book-center-y) * 1.16), 0) scale(1.22)}78%{transform:translate3d(var(--recap-book-center-shift), calc(var(--recap-book-center-y) * 1.16), 0) scale(1.2)}to{transform:translate3d(calc(var(--recap-book-center-shift) * .94), var(--recap-book-center-y), 0) scale(1.1)}}@keyframes recap-book-body-power-open-centered{0%{filter:saturate();transform:rotateY(-16deg)rotateX(3deg)translateY(0)scale(1)}8%{transform:rotateY(-18deg)rotateX(4deg)translateY(5px)scale(.985)}22%{filter:saturate(1.05);transform:rotateY(-5deg)rotateX(1deg)translateY(-12px)scale(1.08)}46%{transform:rotateY(1deg)rotateX(0)translateY(-22px)scale(1.16)}72%{transform:rotateY(0)rotateX(0)translateY(-22px)scale(1.16)}to{filter:saturate(1.02);transform:rotateY(0)rotateX(0)translateY(-10px)scale(1.08)}}@media (max-width:900px){.recap-book-page{--recap-book-center-shift:0px;--recap-book-center-y:-.8rem}}
