:root{--c-cobalt:#1d2dff;--c-vermilion:#ff4a1c;--c-acid:#d8ff3a;--c-forest:#14532d}.book-stage{perspective:1800px}.book-root{--paper:#ece6da;--paper-2:#e2dbcc;--ink:#0a0a0a;margin-inline:auto;position:relative}.book-root .stf__parent{margin-inline:auto}.book-shadow{filter:blur(14px);pointer-events:none;background:radial-gradient(#000000bf,#0000 70%);border-radius:50%;height:7%;position:absolute;bottom:-3.5%;left:6%;right:6%}.pg{width:100%;height:100%;color:var(--ink);font-family:var(--font-sans);font-size:calc(var(--u) * 4);padding:calc(var(--u) * 8) calc(var(--u) * 8) calc(var(--u) * 7);-webkit-user-select:none;user-select:none;flex-direction:column;line-height:1.35;display:flex;position:relative;overflow:hidden}.pg-paper{background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 .5 0'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='0.16'/></svg>"),linear-gradient(#f2ede2 0%,#e9e2d3 100%)}.stf__item.--left .pg:after,.stf__item.--right .pg:after{content:"";pointer-events:none;z-index:5;width:14%;position:absolute;top:0;bottom:0}.stf__item.--left .pg:after{background:linear-gradient(270deg,#0003,#0000);right:0}.stf__item.--right .pg:after{background:linear-gradient(90deg,#0003,#0000);left:0}.pg .mono{font-size:calc(var(--u) * 2.5);letter-spacing:.16em;font-weight:600}.pg-title{font-family:var(--font-display);letter-spacing:-.045em;font-weight:600;line-height:.95}.pg-serif{font-family:var(--font-serif);letter-spacing:-.02em;font-style:italic;font-weight:400}.pg-rule{opacity:.18;background:currentColor;height:1px}.pg-num{font-family:var(--font-mono);font-size:calc(var(--u) * 2.4);letter-spacing:.2em;opacity:.5}.pg-link{cursor:pointer;transition:transform .4s var(--ease-out), opacity .3s}.pg-link:hover{transform:translateX(calc(var(--u) * 1.2))}.pg-btn{align-items:center;gap:calc(var(--u) * 2.4);cursor:pointer;padding:calc(var(--u) * 2.6) calc(var(--u) * 4.2);font-family:var(--font-display);font-weight:700;font-size:calc(var(--u) * 3.3);letter-spacing:.04em;text-transform:uppercase;background:var(--ink);color:var(--paper);transition:background .35s var(--ease-out), color .35s var(--ease-out), transform .35s var(--ease-out);border:0;border-radius:999px;line-height:1;display:inline-flex}.pg-btn:hover{background:var(--acid);color:var(--ink);transform:translateY(-2px)}.pg-btn.on-dark{background:var(--acid);color:var(--ink)}.pg-btn.on-dark:hover{background:#fff}.pg-btn svg{width:calc(var(--u) * 3.2);height:calc(var(--u) * 3.2)}.pg-cover{color:var(--bone);padding:calc(var(--u) * 7);background:#0a0a0a}.pg-cover:before{content:"";inset:calc(var(--u) * 3.2);border-radius:calc(var(--u) * 1.2);pointer-events:none;border:1px solid #d8ff3a66;position:absolute}.pg-cover:after{content:"";pointer-events:none;opacity:.5;background:radial-gradient(ellipse at 30% 20%, #d8ff3a2e, transparent 55%), repeating-linear-gradient(90deg, #ece6da09 0 1px, transparent 1px calc(var(--u) * 6));position:absolute;inset:0}.stf__item.--hard.--right .pg-cover:after{background:radial-gradient(ellipse at 30% 20%, #d8ff3a2e, transparent 55%), repeating-linear-gradient(90deg, #ece6da09 0 1px, transparent 1px calc(var(--u) * 6)), linear-gradient(to right, #00000080, transparent 12%)}.pg-theme{background:var(--bg);color:var(--fg)}.book-ctl{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem 1.25rem;display:flex}.book-nav{width:3.25rem;height:3.25rem;color:var(--bone);transition:background .35s var(--ease-out), color .35s var(--ease-out), border-color .35s, transform .35s var(--ease-out);border:1.5px solid #ece6da59;border-radius:999px;place-items:center;display:grid}.book-nav:hover:not(:disabled){background:var(--acid);color:#0a0a0a;border-color:var(--acid);transform:scale(1.06)}.book-nav:disabled{opacity:.25;cursor:default}.book-chip{font-family:var(--font-display);letter-spacing:.02em;color:var(--bone);transition:background .35s var(--ease-out), color .35s var(--ease-out), border-color .35s;border:1px solid #ece6da38;border-radius:999px;align-items:center;gap:.6rem;padding:.7rem 1.1rem;font-size:14px;font-weight:600;display:inline-flex}.book-chip i{border-radius:999px;width:.6rem;height:.6rem;display:block}.book-chip:hover,.book-chip[aria-current=true]{background:var(--bone);color:#0a0a0a;border-color:var(--bone)}@media (prefers-reduced-motion:reduce){.pg-link,.pg-btn,.book-nav{transition:none}}@keyframes foil{0%{background-position:200% 0}to{background-position:-200% 0}}.shine{background:linear-gradient(100deg, var(--acid) 35%, #fff 50%, var(--acid) 65%);color:#0000;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;animation:4.5s linear infinite foil}@media (prefers-reduced-motion:reduce){.shine{color:var(--acid);background:0 0;animation:none}}.pg-ink{color:#ece6da;background:#0a0a0a}.book-root.is-portrait{--r:4px}.book-root.is-portrait .stf__parent{z-index:1;position:relative}.book-stack{z-index:0;pointer-events:none;box-shadow:calc(var(--sr) * .2) calc(var(--sr) * .2) 0 0 #ece5d6, calc(var(--sr) * .4) calc(var(--sr) * .4) 0 0 #e0d8c6, calc(var(--sr) * .6) calc(var(--sr) * .6) 0 0 #d4cbb7, calc(var(--sr) * .8) calc(var(--sr) * .8) 0 0 #c8bea8, var(--sr) var(--sr) 0 0 #bdb29a, calc(var(--sl) * -.5) 0 0 0 #cfc6b1, calc(var(--sl) * -1) 0 0 0 #b9af98, 0 28px 40px -8px #000000bf;transition:box-shadow .6s var(--ease-out);border-radius:3px 12px 12px 3px;position:absolute;inset:0}.book-root.is-portrait:after{content:"";z-index:6;width:calc(var(--u) * 3.2);pointer-events:none;background:linear-gradient(90deg,#0000008c 0%,#00000038 35%,#ffffff14 55%,#0000001f 80%,#0000 100%);border-radius:3px 0 0 3px;position:absolute;top:0;bottom:0;left:0}.book-root.is-portrait .stf__item .pg{border-radius:2px 10px 10px 2px}.dog-ear{z-index:20;width:calc(var(--u) * 11);height:calc(var(--u) * 11);cursor:pointer;transition:opacity .4s, transform .5s var(--ease-out);background:0 0;border:0;padding:0;position:absolute}.dog-ear:before{content:"";background:linear-gradient(var(--dog-angle), #f6f1e6 0%, #d9d0bb 55%, #a89e86 100%);filter:drop-shadow(0 0 3px #00000073);position:absolute;inset:0}.dog-next{--dog-angle:135deg;bottom:0;right:0}.dog-next:before{clip-path:polygon(100% 0,100% 100%,0 100%);animation:dog-wiggle 3.2s var(--ease-out) 1.2s infinite;transform-origin:100% 100%;border-bottom-right-radius:10px}.dog-prev{--dog-angle:225deg;bottom:0;left:0}.dog-prev:before{clip-path:polygon(0 0,100% 100%,0 100%);transform-origin:0 100%}.dog-ear:disabled{opacity:0;pointer-events:none}.dog-ear:active{transform:scale(1.25)}@keyframes dog-wiggle{0%,70%,to{transform:scale(1)}80%{transform:scale(1.22)rotate(-3deg)}90%{transform:scale(1.05)}}@media (prefers-reduced-motion:reduce){.dog-next:before{animation:none}}
