.codex-book{--codex-bg:#130b08;--paper:#d8c08c;--paper-light:#efe1c1;--paper-deep:#ddcaa4;--ink:#24140e;--ink-soft:#6b5636;--red:#8f3a1d;--primary:#d8a943;--muted:#907d61;--border:rgba(216,192,140,0.22);position:relative;width:100vw;margin-left:calc(50% - 50vw);height:100dvh;display:flex;flex-direction:column;justify-content:center;gap:clamp(1rem,3vh,2rem);overflow:hidden;padding:1.5rem 3.5rem clamp(1rem,4vh,2.5rem);color:var(--codex-fg,#d8c08c);font-family:IBM Plex Mono,ui-monospace,monospace;background:radial-gradient(circle at 50% 46%,#2a170d 0,var(--codex-bg) 46%,#0c0705 100%)}.codex-book:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.16;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.4'/%3E%3C/svg%3E");mix-blend-mode:screen}.codex-book *{box-sizing:border-box}.codex-book button{color:inherit;font:inherit;border:0;background:transparent;cursor:pointer}.codex-book a:focus-visible,.codex-book button:focus-visible{outline:1px solid var(--primary);outline-offset:4px}.book-volume{position:relative;z-index:2;width:min(70rem,94vw);margin:0 auto;perspective:2400px;perspective-origin:50% 18%}.book-spread{position:relative;display:flex;align-items:center;justify-content:center;transform-style:preserve-3d}.book-spread:not(.is-turning-forward):not(.is-turning-backward){filter:drop-shadow(0 22px 40px rgba(0,0,0,.55))}.book-shadow{position:absolute;left:50%;bottom:-3.2rem;width:108%;height:6.5rem;transform:translateX(-50%);transform:translateX(-50%) rotateX(78deg);background-size:100% 100%;opacity:.9;pointer-events:none;z-index:0;filter:blur(2px)}.cover{position:relative;z-index:0;border-radius:8px 3px 3px 8px;background:#2a160d;box-shadow:0 6px 22px rgba(0,0,0,.6)}.cover--right{margin-left:-.4rem;border-radius:3px 8px 8px 3px}.cover-leather{position:absolute;inset:0;background-size:cover;border-radius:inherit;opacity:.96}.book-edge{position:absolute;inset:0;z-index:0;pointer-events:none;border-radius:10px}.book-edge--back{transform:translate(.35rem,.3rem)}.page-stack{width:100%;height:100%;background-color:#cbb488;background-size:100% 100%;opacity:.9;border-radius:inherit}.book-spine{position:relative;z-index:2;width:clamp(1.5rem,3.2vw,3rem);align-self:stretch;margin:0 -.35rem;border-radius:10px;background:#2a160d;box-shadow:inset -4px 0 8px rgba(0,0,0,.7),inset 4px 0 8px rgba(0,0,0,.7),0 0 24px rgba(0,0,0,.6)}.spine-leather{position:absolute;inset:0;background-size:cover;border-radius:inherit;opacity:.95}.spine-thread{top:8%;bottom:8%;width:2px;background:repeating-linear-gradient(180deg,rgba(216,200,160,.4) 0 5px,transparent 5px 12px)}.spine-folios,.spine-thread{position:absolute;left:50%;transform:translateX(-50%)}.spine-folios{top:12%;bottom:12%;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:.4rem}.spine-folio{color:rgba(216,200,160,.55);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.5rem;font-style:normal;letter-spacing:.1em;transition:color .3s}.spine-folio.active{color:var(--primary)}.page-slot{position:relative;flex:0 0 auto;aspect-ratio:1520/2020;height:min(64vh,620px)}.page-slot--left{border-radius:5px 2px 2px 5px}.page-slot--right{border-radius:2px 5px 5px 2px;margin-left:-.35rem}.page{z-index:1;overflow:hidden;border-radius:inherit;transform-style:preserve-3d;background:#e4d2aa}.page,.parchment-canvas{position:absolute;inset:0}.parchment-canvas{width:100%;height:100%;display:block;opacity:1}.page--left .parchment-canvas{box-shadow:inset -26px 0 48px rgba(30,15,5,.34)}.page--right .parchment-canvas{box-shadow:inset 26px 0 48px rgba(30,15,5,.34)}.turning-leaf--next .leaf-face--front .parchment-canvas{box-shadow:inset -26px 0 48px rgba(30,15,5,.34)}.turning-leaf--next .leaf-face--back .parchment-canvas{box-shadow:inset 26px 0 48px rgba(30,15,5,.3)}.turning-leaf--prev .leaf-face--front .parchment-canvas{box-shadow:inset 26px 0 48px rgba(30,15,5,.34)}.turning-leaf--prev .leaf-face--back .parchment-canvas{box-shadow:inset -26px 0 48px rgba(30,15,5,.3)}.manu-page{position:absolute;inset:0;z-index:2;padding:clamp(2rem,7%,4rem) clamp(2rem,6%,3.5rem) 3rem;color:var(--ink);font-family:Cormorant Garamond,Georgia,serif}.manu-page-inner{position:relative;height:100%;display:flex;flex-direction:column;gap:.55rem;overflow:hidden;min-width:0}.page-ornament{color:var(--red);font-size:clamp(1.6rem,4vw,2.5rem);line-height:1;text-align:center}.page-emblem{position:absolute;right:clamp(.5rem,4%,2rem);top:34%;color:rgba(111,64,35,.2);font-family:serif;font-size:clamp(6rem,22vw,13rem);line-height:.65;pointer-events:none;user-select:none}[dir=rtl] .page-emblem{right:auto;left:clamp(.5rem,4%,2rem)}.page-eyebrow{margin:0;color:#d8b86a;opacity:1;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:clamp(.52rem,1vw,.66rem);letter-spacing:.2em;text-transform:uppercase;text-shadow:0 1px 8px rgba(0,0,0,.45)}.page-eyebrow span{color:var(--red);margin:0 .4rem}.page-title{margin:.1rem 0 0;font-weight:600;font-size:clamp(1.6rem,4.8vw,3.6rem);line-height:.95;letter-spacing:.01em;color:var(--ink);overflow-wrap:anywhere}.page-kicker,.page-title{font-family:Cormorant Garamond,Georgia,serif}.page-kicker{margin:0;font-weight:500;font-size:clamp(1.05rem,2.2vw,1.5rem);line-height:1.15;color:var(--red)}.page-rule{display:block;height:1.4px;margin:.35rem 0 .45rem;background:linear-gradient(90deg,transparent,rgba(122,90,56,.6) 24% 48%,transparent 48% 52%,rgba(122,90,56,.6) 52% 76%,transparent),var(--red) no-repeat center /6px 6px;opacity:.9}.page-body{margin:0;color:var(--ink);font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(1rem,1.9vw,1.3rem);line-height:1.45;overflow-wrap:anywhere}.page-body-ar{font-family:Amiri,serif;font-size:clamp(1.05rem,2vw,1.4rem);direction:rtl}.page-note{margin:0;color:var(--ink-soft);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:clamp(.6rem,1vw,.74rem);letter-spacing:.03em;line-height:1.5;overflow-wrap:anywhere}.page-cta{margin-top:.5rem;display:flex;flex-direction:column;gap:.45rem}.page-cta-link{color:var(--red);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:clamp(.62rem,1vw,.76rem);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;padding:.35rem 0;border-bottom:1px solid rgba(143,58,29,.35);width:fit-content;max-width:100%;transition:color .2s,padding-left .2s;overflow-wrap:anywhere}.page-cta-link:hover{color:var(--primary);padding-left:.4rem}.page-links{margin-top:.4rem;display:flex;flex-direction:column}.page-links--cols{display:grid;grid-template-columns:1fr 1fr;gap:0 1.4rem}.page-links-title{margin:0 0 .3rem;font-family:IBM Plex Mono,ui-monospace,monospace;font-weight:500;font-size:clamp(.56rem,.9vw,.7rem);letter-spacing:.14em;text-transform:uppercase;color:var(--red)}.page-link{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.32rem 0;border-bottom:1px solid rgba(36,20,14,.12);text-decoration:none;color:var(--ink);font-family:Cormorant Garamond,Georgia,serif;transition:color .2s,padding-left .2s}.page-link:hover{color:var(--red);padding-left:.3rem}.page-link-copy{display:flex;flex-direction:column;min-width:0}.page-link-label{font-weight:600;font-size:clamp(.95rem,1.7vw,1.18rem);line-height:1.1;overflow-wrap:anywhere}.page-link-sub{color:var(--ink-soft);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:clamp(.55rem,.85vw,.68rem);letter-spacing:.02em;margin-top:.08rem;line-height:1.4;overflow-wrap:anywhere}.page-link-arrow{color:var(--red);font-size:1.05rem}.page-wordplate{display:flex;flex-direction:column;align-items:center;gap:.3rem;margin:1.4rem 0 .7rem;text-align:center}.wordplate-glyph{font-size:clamp(2.4rem,7.6vw,4.7rem);line-height:1.05;letter-spacing:.02em;color:var(--ink);max-width:100%;overflow-wrap:anywhere}.wordplate-latin{color:var(--red);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:clamp(.56rem,1vw,.74rem);letter-spacing:.34em;text-transform:uppercase}.wordplate-gloss{color:var(--ink-soft);font-family:Cormorant Garamond,Georgia,serif;font-style:italic;font-size:clamp(.85rem,1.6vw,1.15rem)}[dir=rtl] .wordplate-glyph{line-height:1.6}.page-letters{display:grid;grid-template-columns:repeat(8,1fr);gap:.28rem .2rem;margin:.5rem 0 .3rem}.letter-cell{display:grid;place-items:center;aspect-ratio:1;border-bottom:1px solid rgba(36,20,14,.14);color:var(--ink);font-size:clamp(.95rem,2.1vw,1.5rem);line-height:1.6}.page-timeline{margin-top:.5rem;display:flex;flex-direction:column}.page-timeline .page-links-title{margin-bottom:.15rem}.page-link--timeline{padding:.24rem 0}.timeline-label{display:block;color:var(--red);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:clamp(.5rem,.85vw,.64rem);letter-spacing:.14em;text-transform:uppercase}.timeline-title{display:block;font-family:Cormorant Garamond,Georgia,serif;font-weight:600;font-size:clamp(.9rem,1.6vw,1.12rem);line-height:1.15;color:var(--ink);overflow-wrap:anywhere}.page-continue{margin-top:.5rem}.page-continue .card-learning{box-shadow:none;border:1px solid rgba(36,20,14,.18);background:rgba(221,202,164,.5);border-radius:4px}.page-folio{margin-top:auto;align-self:flex-end;color:var(--ink-soft);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:clamp(.56rem,.9vw,.7rem);letter-spacing:.18em;opacity:.8;margin-bottom:-.2rem}.event-hint{display:none}.turning-leaf{position:absolute;inset:0;z-index:6;transform-style:preserve-3d;will-change:transform;pointer-events:none}.turning-leaf--next{transform-origin:right center;border-radius:5px 2px 2px 5px}.turning-leaf--prev{transform-origin:left center;border-radius:2px 5px 5px 2px}.leaf-face{position:absolute;inset:0;overflow:hidden;border-radius:inherit;background:#e4d2aa;backface-visibility:hidden;-webkit-backface-visibility:hidden}.leaf-face--back{transform:rotateY(180deg);filter:brightness(.97) saturate(.98)}.turning-leaf:before{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(90deg,transparent 0 34%,rgba(20,10,4,.32) 45%,rgba(20,10,4,.6) 50%,rgba(20,10,4,.32) 55%,transparent 66%);animation:fold-crease .82s ease forwards}@keyframes fold-crease{0%,24%{opacity:0}38%{opacity:.45}50%{opacity:.7}62%{opacity:.45}76%,to{opacity:0}}.book-spread.is-turning-forward .turning-leaf--next{animation:leaf-turn-next .82s cubic-bezier(.42,0,.32,1) forwards}.book-spread.is-turning-backward .turning-leaf--prev{animation:leaf-turn-prev .82s cubic-bezier(.42,0,.32,1) forwards}@keyframes leaf-turn-next{0%{transform:translateZ(0) rotateY(0deg) rotateX(0deg) rotate(0deg)}18%{transform:translateZ(.7vh) rotateY(-30deg) rotateX(-.6deg) rotate(-.35deg)}36%{transform:translateZ(1.15vh) rotateY(-58deg) rotateX(-1.1deg) rotate(-.6deg)}50%{transform:translateZ(1.35vh) rotateY(-90deg) rotateX(-1.5deg) rotate(-.9deg)}64%{transform:translateZ(1.15vh) rotateY(-122deg) rotateX(-1.1deg) rotate(-.6deg)}82%{transform:translateZ(.7vh) rotateY(-154deg)}to{transform:translateZ(0) rotateY(-180deg)}}@keyframes leaf-turn-prev{0%{transform:translateZ(0) rotateY(0deg) rotateX(0deg) rotate(0deg)}18%{transform:translateZ(.7vh) rotateY(30deg) rotateX(.6deg) rotate(.35deg)}36%{transform:translateZ(1.15vh) rotateY(58deg) rotateX(1.1deg) rotate(.6deg)}50%{transform:translateZ(1.35vh) rotateY(90deg) rotateX(1.5deg) rotate(.9deg)}64%{transform:translateZ(1.15vh) rotateY(122deg) rotateX(1.1deg) rotate(.6deg)}82%{transform:translateZ(.7vh) rotateY(154deg)}to{transform:translateZ(0) rotateY(180deg)}}.book-spread.is-turning-backward:after,.book-spread.is-turning-forward:after{content:"";position:absolute;inset:0;z-index:7;pointer-events:none;background:linear-gradient(90deg,transparent 42%,rgba(20,10,4,.3) 48%,rgba(20,10,4,.65) 50%,rgba(20,10,4,.3) 52%,transparent 58%)}.book-spread.is-turning-forward:after{animation:fold-shadow-next .82s cubic-bezier(.42,0,.32,1) forwards}.book-spread.is-turning-backward:after{animation:fold-shadow-prev .82s cubic-bezier(.42,0,.32,1) forwards}@keyframes fold-shadow-next{0%{opacity:0;transform:translateX(-85%)}16%{opacity:1;transform:translateX(-46%)}50%{transform:translateX(4%)}84%{opacity:1;transform:translateX(54%)}to{opacity:0;transform:translateX(85%)}}@keyframes fold-shadow-prev{0%{opacity:0;transform:translateX(85%)}16%{opacity:1;transform:translateX(46%)}50%{transform:translateX(-4%)}84%{opacity:1;transform:translateX(-54%)}to{opacity:0;transform:translateX(-85%)}}.side-nav{position:absolute;z-index:3;top:50%;left:2.2rem;display:flex;align-items:center;gap:1rem;transform:translateY(-50%)}.vertical-label{writing-mode:vertical-rl;transform:rotate(180deg);color:var(--muted);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.56rem;letter-spacing:.2em;text-transform:uppercase}.side-lines{display:flex;flex-direction:column;gap:1.5rem}.side-dot{display:flex;align-items:center;gap:.5rem;color:var(--muted);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.58rem;letter-spacing:.12em}.side-dot:after{content:"";display:block;width:1.6rem;height:1px;background:var(--border);transition:width .3s,background .3s}.side-dot.active{color:var(--primary)}.side-dot.active:after{width:2.9rem;background:var(--primary)}.control-button{padding:.55rem;color:var(--primary);transition:color .2s,opacity .2s}.control-button:hover:not(:disabled){color:#f0c870}.control-button:disabled{opacity:.35;cursor:default}.control-button svg{width:1.35rem;height:1.35rem}.book-arrow{position:absolute;z-index:4;top:50%;transform:translateY(-50%)}.book-arrow--prev{left:clamp(.6rem,calc(50% - min(35rem, 47vw) - .9rem),12rem)}.book-arrow--next{right:clamp(.6rem,calc(50% - min(35rem, 47vw) - .9rem),12rem)}@media (max-width:767px){.codex-book{height:auto;min-height:100dvh;padding:clamp(.75rem,2.4vw,1rem) .75rem clamp(1rem,3dvh,1.5rem);gap:.8rem;overflow-x:clip}.side-nav{position:relative;top:auto;left:auto;align-self:center;display:flex;align-items:center;justify-content:center;transform:none}[dir=rtl] .side-nav{left:auto;right:auto}.vertical-label{display:none}.side-lines{flex-direction:row;gap:.35rem;padding:.25rem;border:1px solid rgba(216,192,140,.18);border-radius:999px;background:rgba(19,11,8,.42)}.side-dot{min-width:2.35rem;min-height:2rem;justify-content:center;border-radius:999px;font-size:.58rem}.side-dot:after{display:none}.side-dot.active{color:var(--primary);background:rgba(216,169,67,.12)}.book-volume{width:calc(100vw - 24px);max-width:none;perspective:1900px}.book-shadow{bottom:-2.2rem}.page-slot{height:clamp(20rem,52vw,25rem)}.cover{display:none}.book-edge--back{transform:translate(.2rem,.2rem)}.book-spine{margin:0 -.2rem}.page-slot--right{margin-left:0}.manu-page{padding:clamp(1.25rem,5%,2rem) clamp(1rem,5%,1.7rem) 1.5rem}.manu-page-inner{gap:.42rem}.page-title{font-size:clamp(1.45rem,4.8vw,2.25rem);line-height:1}.page-kicker{font-size:clamp(.98rem,2.7vw,1.2rem)}.page-body,.page-body-ar{font-size:clamp(.98rem,2.6vw,1.1rem);line-height:1.38}.page-wordplate{margin:.7rem 0 .35rem}.wordplate-glyph{font-size:clamp(2.1rem,7vw,3.35rem)}.page-letters{gap:.16rem}.page-cta-link,.page-link{padding-right:.2rem}.control-button{min-width:2.75rem;min-height:2.75rem;display:grid;place-items:center;padding:0;border:1px solid rgba(216,192,140,.18);border-radius:999px;background:rgba(19,11,8,.48);backdrop-filter:blur(8px)}.book-arrow--prev{left:.45rem}.book-arrow--next{right:.45rem}}@media (max-width:599px){.codex-book{justify-content:center;padding-inline:.75rem;gap:.65rem}.book-spread{display:block;width:100%;height:min(calc(100dvh - 7.25rem),760px);min-height:24rem;overflow:hidden;border-radius:7px}.book-spread>.page-slot{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;margin:0;border-radius:inherit}.book-spread>.page-slot--left{z-index:2}.book-spread>.page-slot--right{z-index:1}.book-spread>.page-slot--left>.page{visibility:hidden}.book-spread>.page-slot--right>.page{visibility:visible}.book-spine{display:none}.book-spread>.page-slot>.page{overflow:auto}.book-spread>.page-slot>.page>.manu-page{min-height:100%;padding:clamp(1.15rem,5vw,1.7rem) clamp(2.75rem,12vw,3.5rem) 1.35rem}.book-spread>.page-slot>.page>.manu-page>.manu-page-inner{height:auto;min-height:100%;overflow:visible}.book-spread>.page-slot>.page .page-eyebrow{font-size:clamp(.55rem,2.4vw,.66rem);letter-spacing:.12em}.book-spread>.page-slot>.page .page-title{font-size:clamp(1.62rem,8.4vw,2.35rem);line-height:1.02}.book-spread>.page-slot>.page .page-kicker{font-size:clamp(1.02rem,4.8vw,1.24rem);line-height:1.2}.book-spread>.page-slot>.page .page-body,.book-spread>.page-slot>.page .page-body-ar{font-size:clamp(1rem,4.4vw,1.12rem);line-height:1.42}.book-spread>.page-slot>.page .page-note{font-size:clamp(.62rem,2.8vw,.72rem);line-height:1.45}.book-spread>.page-slot>.page .page-links--cols{grid-template-columns:1fr}.book-spread>.page-slot>.page .page-link{gap:.45rem;padding-block:.28rem}.book-spread>.page-slot>.page .page-link-label,.book-spread>.page-slot>.page .timeline-title{font-size:clamp(1rem,4.4vw,1.14rem)}.book-spread>.page-slot>.page .page-link-sub,.book-spread>.page-slot>.page .page-links-title,.book-spread>.page-slot>.page .timeline-label{font-size:clamp(.56rem,2.45vw,.66rem)}.book-spread>.page-slot>.page .wordplate-glyph{font-size:clamp(2.1rem,13vw,3.55rem)}.book-spread>.page-slot>.page .wordplate-latin{max-width:100%;letter-spacing:clamp(.12em,1.2vw,.28em);overflow-wrap:anywhere}.book-spread>.page-slot>.page .page-letters{grid-template-columns:repeat(8,minmax(0,1fr));gap:.12rem;margin-block:.25rem .2rem}.book-spread>.page-slot>.page .letter-cell{font-size:clamp(1rem,5vw,1.28rem)}.book-spread>.page-slot>.turning-leaf{display:block;min-height:100%;border-radius:inherit}.book-spread>.page-slot>.turning-leaf--next{transform-origin:right center}.book-spread>.page-slot>.turning-leaf--prev,[dir=rtl] .book-spread>.page-slot>.turning-leaf--next{transform-origin:left center}[dir=rtl] .book-spread>.page-slot>.turning-leaf--prev{transform-origin:right center}.book-spread>.page-slot>.turning-leaf .leaf-face{min-height:100%;border-radius:inherit}.book-spread.is-turning-forward .page-slot--left .turning-leaf--next{animation-name:mobile-leaf-turn-next}.book-spread.is-turning-backward .page-slot--right .turning-leaf--prev{animation-name:mobile-leaf-turn-prev}.book-spread.is-turning-backward:after,.book-spread.is-turning-forward:after{border-radius:inherit}.book-arrow{top:54%}.book-arrow--prev{left:.25rem}.book-arrow--next{right:.25rem}}@keyframes mobile-leaf-turn-next{0%{transform:translateZ(0) rotateY(0deg)}36%{transform:translateZ(.75vh) rotateY(-58deg) rotateX(-.8deg)}50%{transform:translateZ(1vh) rotateY(-90deg) rotateX(-1deg)}64%{transform:translateZ(.75vh) rotateY(-122deg) rotateX(-.8deg)}to{transform:translateZ(0) rotateY(-180deg)}}@keyframes mobile-leaf-turn-prev{0%{transform:translateZ(0) rotateY(0deg)}36%{transform:translateZ(.75vh) rotateY(58deg) rotateX(.8deg)}50%{transform:translateZ(1vh) rotateY(90deg) rotateX(1deg)}64%{transform:translateZ(.75vh) rotateY(122deg) rotateX(.8deg)}to{transform:translateZ(0) rotateY(180deg)}}@media (prefers-reduced-motion:reduce){.codex-book,.codex-book *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}