@import"https://fonts.googleapis.com/css2?family=Lexend:wght@300..900&display=swap";@import"https://fonts.googleapis.com/css2?family=VT323&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{min-height:100vh}a{color:inherit;text-decoration:none}ul,ol{list-style:none}img{max-width:100%;display:block}.skip-link{position:absolute;left:-9999px;top:0;z-index:10000;padding:.5rem 1rem;background:var(--accent, #667eea);color:#fff;font-weight:600;text-decoration:none;border-radius:0 0 4px}.skip-link:focus{left:0}.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}:root,:root[data-theme=blueprint]{--bg-primary: #0c1a30;--bg-page: #0f2040;--bg-surface: #162848;--text-primary: #c8daea;--text-muted: #6e94bf;--accent: #7daad0;--accent-hover: #c8ddf0;--outline-border: #1e3a60;--page-inset-shadow: inset 0 0 0 1px rgba(125, 170, 208, .12)}:root[data-theme=phosphor]{--bg-primary: #06100a;--bg-page: #0a1810;--bg-surface: #0c1a10;--text-primary: #99ff99;--text-muted: #5cbc5c;--accent: #80e080;--accent-hover: #a8f0a8;--outline-border: #1a3a1a}:root[data-theme=ember]{--bg-primary: #100c04;--bg-page: #181208;--bg-surface: #1a1408;--text-primary: #f0c860;--text-muted: #b89848;--accent: #e0b848;--accent-hover: #f0d080;--outline-border: #3a2a10}:root[data-theme=paperback]{--bg-primary: #9c968c;--bg-page: #f4f0e8;--bg-surface: #e8e4dc;--text-primary: #1a1a1a;--text-muted: #4a4844;--accent: #2e2e2c;--accent-hover: #111111;--outline-border: #c4c0b8}:root[data-theme=neon]{--bg-primary: #1a0818;--bg-page: #220c20;--bg-surface: #2a1028;--text-primary: #ff80c0;--text-muted: #cc5c90;--accent: #ff4088;--accent-hover: #ff90c0;--outline-border: #3a1830;--page-inset-shadow: inset 0 0 0 1px rgba(255, 64, 136, .12)}:root[data-theme=spectrum]{--bg-primary: #0a0a14;--bg-page: #10101c;--bg-surface: #181824;--text-primary: #e8e0f0;--text-muted: #9898b8;--accent: #ff6b6b;--accent-hover: #ffa0a0;--outline-border: #282840;--page-inset-shadow: inset 0 0 0 1px rgba(255, 107, 107, .1)}:root[data-theme=spectrum] .progress-bar{background:linear-gradient(90deg,#ff6b6b,orange,gold,#00e676,#40c4ff,#a6f)}:root[data-theme=solar]{--bg-primary: #140c04;--bg-page: #1c1208;--bg-surface: #241810;--text-primary: #f8d870;--text-muted: #c09840;--accent: #f09020;--accent-hover: #f8b860;--outline-border: #3a2810;--page-inset-shadow: inset 0 0 0 1px rgba(240, 144, 32, .1)}:root[data-theme=ultraviolet]{--bg-primary: #0c0618;--bg-page: #100a20;--bg-surface: #180e2c;--text-primary: #d0b8f8;--text-muted: #9070b8;--accent: #a060e0;--accent-hover: #c890f0;--outline-border: #281850;--page-inset-shadow: inset 0 0 0 1px rgba(160, 96, 224, .1)}:root[data-theme=arctic]{--bg-primary: #04101a;--bg-page: #081820;--bg-surface: #0c2030;--text-primary: #c0e4f0;--text-muted: #60a0b8;--accent: #40c8d0;--accent-hover: #80e0e8;--outline-border: #102838;--page-inset-shadow: inset 0 0 0 1px rgba(64, 200, 208, .1)}:root[data-theme=valentine]{--bg-primary: #c8a0a8;--bg-page: #fce8ee;--bg-surface: #f0d0d8;--text-primary: #880c28;--text-muted: #984860;--accent: #c01040;--accent-hover: #80081e;--outline-border: #e0b8c0}:root[data-theme=darkroom]{--bg-primary: #140404;--bg-page: #1c0808;--bg-surface: #240c0c;--text-primary: #e04040;--text-muted: #a84848;--accent: #e02828;--accent-hover: #ff5050;--outline-border: #381010;--page-inset-shadow: inset 0 0 0 1px rgba(204, 48, 48, .1)}:root[data-theme=typewriter]{--bg-primary: #b8b8b0;--bg-page: #f0ece4;--bg-surface: #dedad2;--text-primary: #181818;--text-muted: #504e48;--accent: #282828;--accent-hover: #000000;--outline-border: #c8c4bc}:root[data-theme=void]{--bg-primary: #0c0c0c;--bg-page: #141414;--bg-surface: #1c1c1c;--text-primary: #b8b8b8;--text-muted: #727272;--accent: #c0c0c0;--accent-hover: #e0e0e0;--outline-border: #2a2a2a;--page-inset-shadow: inset 0 0 0 1px rgba(160, 160, 160, .08)}:root[data-theme=hazard]{--bg-primary: #0c0c04;--bg-page: #141408;--bg-surface: #1c1c0c;--text-primary: #d8e030;--text-muted: #98a028;--accent: #d0e020;--accent-hover: #e8f060;--outline-border: #2c2c10;--page-inset-shadow: inset 0 0 0 1px rgba(200, 208, 32, .1)}@keyframes gentle-bob{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(6px)}}html{background:var(--bg-primary)}body{background:var(--bg-primary);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.4;transition:background .3s,color .3s;overflow-x:hidden}.rv-starfield-bg{background:var(--bg-primary)}.page{min-height:100vh;display:flex;flex-direction:column}.page-content{flex:1;padding:2rem 5vw;max-width:var(--content-width, 800px);width:100%;margin:0 auto;transition:max-width .3s}body.is-paginated .page-content{transition:none}body.is-two-page .page-content{max-width:calc(var(--content-width, 800px) * 2 + 5rem)}body.is-cover-single .page-content:has(.page-outline.is-jacket){max-width:var(--content-width, 800px)}.page-outline{border:1px solid var(--outline-border);border-radius:3px;padding:3rem;background:var(--bg-page, var(--bg-primary));box-shadow:0 4px 24px #00000080,var(--page-inset-shadow, 0 0 0 0 transparent);transition:background .3s,border-color .3s,border-radius .3s}.page-outline.is-jacket{background-color:var(--accent);border-color:var(--accent);border-radius:8px;position:relative;background-image:repeating-linear-gradient(0deg,rgba(0,0,0,.06) 0 1px,transparent 1px 20px),repeating-linear-gradient(90deg,rgba(0,0,0,.06) 0 1px,transparent 1px 20px)}.page-outline.is-jacket:before{content:"";position:absolute;inset:.75rem;border:2px solid var(--bg-page, var(--bg-primary));border-radius:6px;opacity:.5;pointer-events:none;z-index:2}.page-outline.is-jacket:after{content:"";position:absolute;inset:0;border-radius:8px;pointer-events:none;z-index:3;background-color:transparent;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Ccircle cx='7' cy='7' r='6' fill='white' fill-opacity='.5'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Ccircle cx='7' cy='7' r='6' fill='white' fill-opacity='.5'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Ccircle cx='7' cy='7' r='6' fill='white' fill-opacity='.5'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Ccircle cx='7' cy='7' r='6' fill='white' fill-opacity='.5'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 18'%3E%3Cpath d='M0 9h12l4-7 8 14 8-14 8 14 4-7h12' fill='none' stroke='white' stroke-width='2.5' stroke-opacity='.5'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 18'%3E%3Cpath d='M0 9h12l4-7 8 14 8-14 8 14 4-7h12' fill='none' stroke='white' stroke-width='2.5' stroke-opacity='.5'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 32'%3E%3Cpath d='M9 0v10m0 12v10M2 10h14M2 22h14' fill='none' stroke='white' stroke-width='2.5' stroke-opacity='.5'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 32'%3E%3Cpath d='M9 0v10m0 12v10M2 10h14M2 22h14' fill='none' stroke='white' stroke-width='2.5' stroke-opacity='.5'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Ccircle cx='4' cy='4' r='3' fill='white' fill-opacity='.5'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Ccircle cx='4' cy='4' r='3' fill='white' fill-opacity='.5'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Ccircle cx='4' cy='4' r='3' fill='white' fill-opacity='.5'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Ccircle cx='4' cy='4' r='3' fill='white' fill-opacity='.5'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Ccircle cx='4' cy='4' r='3' fill='white' fill-opacity='.5'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Ccircle cx='4' cy='4' r='3' fill='white' fill-opacity='.5'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Ccircle cx='4' cy='4' r='3' fill='white' fill-opacity='.5'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Ccircle cx='4' cy='4' r='3' fill='white' fill-opacity='.5'/%3E%3C/svg%3E"),linear-gradient(var(--accent),var(--accent)),linear-gradient(var(--accent),var(--accent)),linear-gradient(var(--accent),var(--accent)),linear-gradient(var(--accent),var(--accent)),linear-gradient(var(--accent),var(--accent)),linear-gradient(var(--accent),var(--accent)),linear-gradient(var(--accent),var(--accent)),linear-gradient(var(--accent),var(--accent)),linear-gradient(var(--accent),var(--accent)),linear-gradient(var(--accent),var(--accent)),linear-gradient(var(--accent),var(--accent)),linear-gradient(var(--accent),var(--accent)),linear-gradient(var(--accent),var(--accent)),linear-gradient(var(--accent),var(--accent)),linear-gradient(var(--accent),var(--accent)),linear-gradient(var(--accent),var(--accent));background-size:18px 18px,18px 18px,18px 18px,18px 18px,72px 24px,72px 24px,24px 40px,24px 40px,10px 10px,10px 10px,10px 10px,10px 10px,10px 10px,10px 10px,10px 10px,10px 10px,18px 18px,18px 18px,18px 18px,18px 18px,72px 24px,72px 24px,24px 40px,24px 40px,10px 10px,10px 10px,10px 10px,10px 10px,10px 10px,10px 10px,10px 10px,10px 10px;background-position:3px 3px,calc(100% - 3px) 3px,3px calc(100% - 3px),calc(100% - 3px) calc(100% - 3px),50% 0px,50% 100%,0px 50%,100% 50%,25% 7px,75% 7px,25% calc(100% - 7px),75% calc(100% - 7px),7px 25%,7px 75%,calc(100% - 7px) 25%,calc(100% - 7px) 75%,3px 3px,calc(100% - 3px) 3px,3px calc(100% - 3px),calc(100% - 3px) calc(100% - 3px),50% 0px,50% 100%,0px 50%,100% 50%,25% 7px,75% 7px,25% calc(100% - 7px),75% calc(100% - 7px),7px 25%,7px 75%,calc(100% - 7px) 25%,calc(100% - 7px) 75%;background-repeat:no-repeat}body.is-paginated .page-outline{position:relative}.page-zone{position:absolute;top:0;bottom:0;width:12%;z-index:10;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .3s}.page-zone.is-visible{opacity:.5;pointer-events:auto}.page-zone.is-visible:hover{opacity:1}.page-zone--left{left:0;background:linear-gradient(to right,rgba(0,0,0,.1),transparent)}.page-zone--right{right:0;background:linear-gradient(to left,rgba(0,0,0,.1),transparent)}body.is-two-page .page-outline{padding-left:5rem;padding-right:5rem;border-radius:0;position:relative}body.is-two-page .page-outline.is-jacket{border-radius:8px}body.is-two-page .page-outline:not(.is-jacket):after{content:"";position:absolute;top:0;bottom:0;left:50%;width:120px;transform:translate(-50%);background:radial-gradient(ellipse 4px 100% at 50% 50%,rgba(0,0,0,.12) 0%,transparent 100%),linear-gradient(to right,transparent 0%,rgba(0,0,0,.03) 20%,rgba(0,0,0,.07) 38%,rgba(0,0,0,.1) 50%,rgba(0,0,0,.07) 62%,rgba(0,0,0,.03) 80%,transparent 100%);pointer-events:none;z-index:1}body.is-two-page .page-outline.is-title-spread{clip-path:inset(-40px -40px -40px 50%)}body.is-two-page .page-outline.is-title-spread:not(.is-jacket):after{display:none}.toast{position:fixed;bottom:2rem;left:50%;transform:translate(-50%) translateY(.5rem);padding:.4rem 1rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.75rem;color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--outline-border);border-radius:3px;z-index:400;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.toast.is-visible{opacity:1;transform:translate(-50%) translateY(0)}.shortcuts-overlay{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center}.shortcuts-overlay__backdrop{position:absolute;inset:0;background:#0009}.shortcuts-overlay__panel{position:relative;background:var(--bg-primary);border:1px solid var(--outline-border);padding:2rem;max-width:420px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 8px 32px #00000080}.shortcuts-overlay__heading{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-primary);margin-bottom:1.5rem}.shortcuts-overlay__list{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1.5rem;align-items:baseline}.shortcuts-overlay__key{font-family:Courier New,Courier,monospace;font-size:.8rem;color:var(--accent);white-space:nowrap;padding:.15rem .5rem;border:1px solid var(--outline-border);border-radius:3px;background:var(--bg-surface);text-align:center}.shortcuts-overlay__desc{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.85rem;color:var(--text-primary)}.shortcuts-overlay__close{position:absolute;top:.75rem;right:.75rem;background:none;border:none;font-size:1.25rem;color:var(--text-muted);cursor:pointer;padding:.25rem}.shortcuts-overlay__close:hover{color:var(--accent-hover)}.chapter-nav{display:flex;justify-content:space-between;align-items:flex-start;padding:3rem 0 1rem;margin-top:3rem;border-top:1px solid var(--outline-border);gap:1rem}.chapter-nav__link{display:flex;align-items:center;gap:.5rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.85rem;color:var(--text-muted);transition:color .2s;text-decoration:none}.chapter-nav__link:hover{color:var(--accent-hover)}.chapter-nav__link--next{margin-left:auto;text-align:right}.continue-reading{display:flex;align-items:center;gap:.75rem;padding:1rem;margin-bottom:2rem;border:1px solid var(--accent);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.9rem;color:var(--text-primary);transition:background .2s,color .2s;text-decoration:none}.continue-reading:hover{background:var(--bg-surface)}.continue-reading i{color:var(--accent)}.scroll-page-marker{text-align:center;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.75rem;color:var(--text-muted);letter-spacing:.2em;padding:2rem 0;opacity:.4}.rv-reduce-motion *,.rv-reduce-motion *:before,.rv-reduce-motion *:after,:root:has(.rv-reduce-motion) *,:root:has(.rv-reduce-motion) *:before,:root:has(.rv-reduce-motion) *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.progress-bar{position:fixed;top:0;left:0;height:2px;width:0%;background:var(--accent);z-index:1000;transition:width .1s linear;mask-image:linear-gradient(to right,black calc(100% - 4px),transparent);-webkit-mask-image:linear-gradient(to right,black calc(100% - 4px),transparent)}.page-header{position:sticky;top:0;z-index:100;padding:.75rem 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--outline-border);background:var(--bg-primary);opacity:.5;transition:transform .3s,background .3s,opacity .3s}.page-header:hover,.page-header:focus-within{opacity:1}.page-header.is-hidden{transform:translateY(-100%)}.page-header__title{display:inline-flex;align-items:center;gap:.35rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);transition:color .2s;white-space:nowrap;cursor:pointer}.page-header__title:hover{color:var(--accent-hover)}.page-header__logo{height:1.2em;width:auto;vertical-align:middle;flex-shrink:0}.page-header__controls{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}.page-header__back{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;color:var(--text-muted);cursor:pointer;transition:color .2s;margin-left:.25rem}.page-header__back:hover{color:var(--accent-hover)}.control-btn{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.7rem;color:var(--text-muted);background:transparent;border:1px solid var(--outline-border);padding:.2rem .4rem;cursor:pointer;transition:color .2s,border-color .2s;line-height:1;white-space:nowrap;position:relative}.control-btn:hover{color:var(--accent-hover);border-color:var(--accent)}.control-btn[data-tip]:after{content:attr(data-tip);position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:6px;padding:.3rem .55rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.65rem;font-weight:500;line-height:1.3;white-space:nowrap;color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--outline-border);border-radius:3px;z-index:300;pointer-events:none;opacity:0;transition:opacity .15s ease}.control-btn[data-tip]:hover:after{opacity:1}.page-footer{display:flex;align-items:center;justify-content:space-between;position:sticky;bottom:0;padding:.5rem 5vw;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.75rem;color:var(--text-muted);border-top:1px solid var(--outline-border);background:var(--bg-primary);opacity:.5;transition:transform .3s,background .3s,opacity .3s;margin-top:auto}.page-footer:hover,.page-footer:focus-within{opacity:1}.page-footer.is-hidden{transform:translateY(100%)}.page-footer__page-num{font-size:.7rem;letter-spacing:.15em;color:var(--text-muted)}@keyframes fab-page-enter{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}@keyframes fab-page-back{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes fab-jello{0%,to{transform:none}22%{transform:skew(-8deg) skewY(-8deg)}44%{transform:skew(5deg) skewY(5deg)}66%{transform:skew(-3deg) skewY(-3deg)}88%{transform:skew(1deg) skewY(1deg)}}@keyframes fab-squish{0%,to{transform:scale(1)}50%{transform:scale(.5)}75%{transform:scale(1.1)}}@keyframes fab-pop{0%,to{transform:scale(1)}40%{transform:scale(1.5)}70%{transform:scale(.9)}}@keyframes fab-rubberband{0%,to{transform:scaleX(1) scaleY(1)}30%{transform:scaleX(1.25) scaleY(.75)}50%{transform:scaleX(.85) scaleY(1.15)}70%{transform:scaleX(1.1) scaleY(.9)}}@keyframes fab-bounce{0%,to{transform:translateY(0)}30%{transform:translateY(-6px)}60%{transform:translateY(2px)}80%{transform:translateY(-1px)}}@keyframes fab-stretch{0%,to{transform:scaleX(1)}40%{transform:scaleX(1.5)}70%{transform:scaleX(.9)}}@keyframes fab-flip{0%{transform:perspective(200px) rotateY(0)}to{transform:perspective(200px) rotateY(360deg)}}@keyframes fab-swing{0%,to{transform:rotate(0)}20%{transform:rotate(12deg)}40%{transform:rotate(-8deg)}60%{transform:rotate(5deg)}80%{transform:rotate(-3deg)}}@keyframes fab-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fab-spin-reverse{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}@keyframes fab-tada{0%,to{transform:scale(1) rotate(0)}20%{transform:scale(.9) rotate(-5deg)}40%{transform:scale(1.2) rotate(5deg)}60%{transform:scale(1.2) rotate(-3deg)}80%{transform:scale(1.1) rotate(2deg)}}@keyframes fab-drop{0%{transform:translateY(0)}30%{transform:translateY(-8px)}60%{transform:translateY(3px)}80%{transform:translateY(-1px)}to{transform:translateY(0)}}@keyframes fab-shake{0%,to{transform:translate(0)}15%{transform:translate(-4px)}30%{transform:translate(4px)}45%{transform:translate(-3px)}60%{transform:translate(3px)}75%{transform:translate(-1px)}90%{transform:translate(1px)}}.fab{position:fixed;bottom:2.5rem;right:3.5rem;z-index:150}.fab__trigger{width:2.75rem;height:2.75rem;border-radius:50%;background:var(--accent);color:var(--bg-primary);border:none;cursor:pointer;font-size:1.1rem;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 12px #0006;transition:transform .2s,background .2s;position:relative;z-index:152}.fab__trigger:hover{background:var(--accent-hover)}.fab.is-open .fab__trigger{transform:rotate(90deg)}.fab__panel{position:absolute;bottom:calc(100% + .75rem);right:0;background:var(--bg-primary);border:1px solid var(--outline-border);padding:.5rem;display:flex;flex-direction:column;gap:.125rem;min-width:220px;max-height:70vh;overflow-y:auto;z-index:151;box-shadow:0 4px 24px #00000080;opacity:0;transform:scale(.9) translateY(.5rem);pointer-events:none;transform-origin:bottom right;transition:opacity .2s,transform .2s}.fab.is-open .fab__panel{opacity:1;transform:scale(1) translateY(0);pointer-events:auto}.fab__page{display:none;flex-direction:column;gap:.125rem}.fab__page.is-active{display:flex;animation:fab-page-enter .15s ease}.fab__page.is-active.is-back{animation:fab-page-back .15s ease}.fab__nav-btn{display:flex;align-items:center;gap:.75rem;width:100%;padding:.55rem .75rem;border:none;border-radius:3px;background:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.8rem;color:var(--text-primary);cursor:pointer;transition:background .2s}.fab__nav-btn i:first-child{flex-shrink:0;font-size:.85rem;width:1.25rem;text-align:center;color:var(--text-muted)}.fab__nav-btn span{flex:1;text-align:left}.fab__nav-btn:hover{background:var(--bg-surface)}.fab__nav-chevron{font-size:.65rem;color:var(--text-muted)}.fab__back-btn{display:flex;align-items:center;gap:.5rem;width:100%;padding:.55rem .75rem;border:none;border-radius:3px;background:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.8rem;font-weight:600;color:var(--text-muted);cursor:pointer;transition:color .2s,background .2s}.fab__back-btn i{font-size:.7rem}.fab__back-btn:hover{color:var(--accent-hover);background:var(--bg-surface)}.fab__hr{border:none;border-top:1px solid var(--outline-border);margin:.25rem 0}.fab__panel .theme-btn{display:flex;align-items:center;gap:.75rem;width:100%;padding:.45rem .75rem;border:none;border-radius:3px;background:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.8rem;color:var(--text-primary);cursor:pointer;transition:background .2s,color .2s}.fab__panel .theme-btn:hover{background:var(--bg-surface)}.fab__panel .theme-btn.is-active{color:var(--accent);font-weight:600;background:var(--bg-surface);box-shadow:inset 3px 0 0 var(--accent)}.fab__panel .theme-swatch{width:1.1rem;height:1.1rem;border-radius:3px;flex-shrink:0;box-shadow:inset -1px -1px #00000040,inset 1px 1px #ffffff26,1px 2px 3px #0006}.fab__panel .theme-label{flex:1;text-align:left}.fab__panel .control-btn{display:flex;align-items:center;gap:.75rem;width:100%;text-align:left;border:none;padding:.55rem .75rem;border-radius:3px;font-size:.8rem;text-decoration:none}.fab__panel .control-btn i{flex-shrink:0;font-size:.85rem;width:1.25rem;text-align:center}.fab__panel .control-btn[data-tip]:after{position:static;transform:none;margin-top:0;opacity:1;background:none;border:none;border-radius:0;padding:0;font-size:.8rem;font-weight:400;color:var(--text-primary);white-space:nowrap;z-index:auto}.fab__panel .control-btn:hover{background:var(--bg-surface)}.fab__slider-row{display:flex;align-items:center;gap:.5rem;width:100%;padding:.55rem .75rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.8rem;color:var(--text-primary)}.fab__slider-row i:first-child{flex-shrink:0;font-size:.85rem;width:1.25rem;text-align:center;color:var(--text-muted)}.fab__slider-row span{white-space:nowrap}.fab__slider-row input[type=range]{flex:1;min-width:60px;accent-color:var(--accent)}.fab__slider-row .fab__slider-val{font-size:.7rem;color:var(--text-muted);min-width:2.2em;text-align:right}.fab__dock{display:flex;align-items:center;gap:.25rem}.fab__dock-btn{width:2.25rem;height:2.25rem;border-radius:50%;background:var(--bg-primary);color:var(--text-muted);border:1px solid var(--outline-border);cursor:pointer;font-size:.85rem;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000004d;transition:opacity .2s,color .2s,background .2s;opacity:0;pointer-events:none}.fab__dock-btn.is-visible{opacity:.7;pointer-events:auto}.fab__dock-btn.is-visible:hover{opacity:1;color:var(--accent)}.fab__overlay{position:fixed;inset:0;z-index:149;display:none}.fab.is-open .fab__overlay{display:block}.fab__panel .control-btn i{transition:transform .25s ease}.fab__panel #toc-toggle:hover i{transform:translate(3px)}.fab__panel #font-down:hover i{transform:scale(.75)}.fab__panel #font-up:hover i{transform:scale(1.3)}.fab__panel #font-family:hover i{transform:rotateY(25deg)}.fab__panel #line-height:hover i{transform:translateY(-3px)}.fab__panel #page-width:hover i{transform:scaleX(1.4)}.fab__panel #pages-toggle:hover i{transform:rotateY(180deg)}.fab__panel #hyphenate:hover i{transform:skew(-10deg)}.fab__panel #dyslexia-toggle:hover i{transform:scale(1.1)}.fab__panel #dialect-toggle:hover i{transform:rotateY(-180deg)}.fab__panel #reset-btn:hover i{transform:rotate(-360deg);transition-duration:.5s}.fab__panel #share-btn:hover i{transform:scale(1.25) rotate(15deg)}.fab__panel #bookmark-btn:hover i{transform:translateY(-4px)}.fab__panel #mute-toggle:hover i{transform:translate(2px)}.fab__panel a[href="/"]:hover i{transform:translateY(-3px) scale(1.1)}.fab__panel #test-bench-btn:hover i{transform:rotate(15deg) scale(1.15)}.fab__panel #toc-toggle.is-clicked i{animation:fab-jello .5s ease}.fab__panel #font-down.is-clicked i{animation:fab-squish .35s ease}.fab__panel #font-up.is-clicked i{animation:fab-pop .35s ease}.fab__panel #font-family.is-clicked i{animation:fab-rubberband .5s ease}.fab__panel #line-height.is-clicked i{animation:fab-bounce .4s ease}.fab__panel #page-width.is-clicked i{animation:fab-stretch .4s ease}.fab__panel #pages-toggle.is-clicked i{animation:fab-flip .5s ease}.fab__panel #hyphenate.is-clicked i,.fab__panel #dyslexia-toggle.is-clicked i{animation:fab-swing .5s ease}.fab__panel #dialect-toggle.is-clicked i{animation:fab-spin .5s ease}.fab__panel #reset-btn.is-clicked i{animation:fab-spin-reverse .5s ease}.fab__panel #share-btn.is-clicked i{animation:fab-tada .5s ease}.fab__panel #bookmark-btn.is-clicked i{animation:fab-drop .4s ease}.fab__panel #mute-toggle.is-clicked i{animation:fab-shake .4s ease}.fab__panel #fullscreen-toggle.is-clicked i{animation:fab-pop .35s ease}.fab__panel #reduce-motion.is-clicked i{animation:fab-swing .5s ease}.fab__panel a[href="/"].is-clicked i{animation:fab-bounce .4s ease}.fab__panel #test-bench-btn.is-clicked i{animation:fab-pop .35s ease}.chapter-toc{position:fixed;top:0;left:0;bottom:0;width:280px;background:var(--bg-primary);border-right:1px solid var(--outline-border);z-index:200;transform:translate(-100%);transition:transform .25s ease;overflow-y:auto;padding:1rem 0}.chapter-toc.is-open{transform:translate(0)}.chapter-toc__header{display:flex;align-items:center;justify-content:space-between;padding:0 1rem .75rem;border-bottom:1px solid var(--outline-border);margin-bottom:.5rem}.chapter-toc__title{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.chapter-toc__close{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;color:var(--text-muted);background:none;border:none;cursor:pointer;padding:.25rem}.chapter-toc__close:hover{color:var(--accent-hover)}.chapter-toc__list{list-style:none;padding:0;margin:0}.chapter-toc__item a{display:block;padding:.5rem 1rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.85rem;color:var(--text-muted);transition:color .15s,background .15s;text-decoration:none}.chapter-toc__item a:hover{color:var(--accent-hover);background:var(--bg-surface)}.chapter-toc__item.is-active a{color:var(--accent-hover);background:var(--bg-surface);border-left:2px solid var(--accent)}.chapter-toc__bookmarks{list-style:none}.chapter-toc__subtitle{display:block;padding:.75rem 1rem .25rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-top:1px solid var(--outline-border);margin-top:.5rem}.chapter-toc__bookmark-list{list-style:none;padding:0;margin:0}.chapter-toc__bookmark-item{display:flex;align-items:center}.chapter-toc__bookmark-item a{flex:1;padding:.4rem 1rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.8rem;color:var(--text-muted);transition:color .15s;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chapter-toc__bookmark-item a:hover{color:var(--accent-hover)}.chapter-toc__bookmark-del{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem .5rem;font-size:.7rem;opacity:.5;transition:opacity .2s,color .2s}.chapter-toc__bookmark-del:hover{opacity:1;color:var(--accent-hover)}.chapter-toc__page-num{float:right;font-size:.7rem;color:var(--text-muted);opacity:.6;font-weight:400;margin-left:.5rem}.toc-overlay{position:fixed;inset:0;background:#00000080;z-index:199;opacity:0;pointer-events:none;transition:opacity .25s}.toc-overlay.is-open{opacity:1;pointer-events:auto}.landing{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;text-align:center;padding:2rem 5vw}.landing__title{font-family:Georgia,Times New Roman,serif;font-size:2rem;font-weight:400;letter-spacing:.08em;margin-bottom:.5rem}.landing__logo{width:100%;max-width:120px;margin:.5rem auto 1rem;color:var(--accent)}.landing__logo svg{width:100%;height:auto}.landing__subtitle{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;color:var(--text-muted);margin-bottom:3rem}.landing__nav{display:flex;gap:1.5rem}.landing__btn{display:block;padding:1rem 2.5rem;border:1px solid var(--accent);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;letter-spacing:.05em;text-transform:uppercase;color:var(--text-primary);cursor:pointer;background:transparent;transition:background .2s,color .2s}.landing__btn:hover{background:var(--text-primary);color:var(--bg-primary)}.landing__cards{display:flex;gap:1.5rem;width:100%;max-width:540px}.landing__card{flex:1;display:flex;flex-direction:column;align-items:center;padding:1.5rem;border:1px solid var(--accent);text-align:center;cursor:pointer;background:transparent;transition:background .2s,color .2s,border-color .2s}.landing__card:hover{background:var(--text-primary);color:var(--bg-primary)}.landing__card-title{display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;letter-spacing:.05em;text-transform:uppercase;margin-bottom:.5rem}.landing__card-desc{font-size:.75rem;color:var(--text-muted);line-height:1.5}.landing__card:hover .landing__card-desc{color:var(--bg-primary)}.landing__card-meta{display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.65rem;color:var(--text-muted);margin-top:.5rem}.landing__card:hover .landing__card-meta{color:var(--bg-primary)}.landing__synopsis{max-width:800px;width:100%;margin-bottom:2rem;text-align:center}.landing__synopsis-toggle{display:inline-flex;align-items:center;gap:.5rem;background:none;border:none;color:var(--text-muted);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.85rem;line-height:1.5;cursor:pointer;padding:.5rem 0;transition:color .2s}.landing__synopsis-toggle:hover{color:var(--text-primary)}.landing__synopsis-toggle p{margin:0;display:inline}.landing__synopsis-icon{font-size:.7rem;transition:transform .3s ease;flex-shrink:0}.landing__synopsis.is-open .landing__synopsis-icon{transform:rotate(180deg)}.landing__synopsis-body{max-width:540px;margin:0 auto;text-align:left;font-family:Georgia,Times New Roman,serif;font-size:.875rem;line-height:1.7;color:var(--text-primary);overflow:hidden;max-height:0;opacity:0;transition:max-height .4s ease,opacity .3s ease,margin .3s ease}.landing__synopsis-body p{margin-bottom:.75rem}.landing__synopsis-body strong{font-weight:600;color:var(--accent)}.landing__synopsis.is-open .landing__synopsis-body{max-height:600px;opacity:1;margin-top:1rem}.listing__item{padding:.5rem 0;border-bottom:1px solid var(--bg-surface);position:relative;overflow:hidden;transition:background .3s ease,border-color .3s ease;opacity:0;animation:listing-enter .5s ease-out forwards;animation-delay:calc(var(--i, 0) * 60ms)}.listing__item:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--accent) 0%,transparent 100%);opacity:0;transition:opacity .4s ease;pointer-events:none}.listing__item:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.05) 48%,rgba(255,255,255,.05) 52%,transparent 70%);opacity:0;pointer-events:none;transform:translate(-100%);transition:opacity .2s}.listing__item:hover{border-color:var(--accent)}.listing__item:hover:before{opacity:.07}.listing__item:hover:after{opacity:1;transform:translate(100%);transition:opacity .2s,transform .7s ease-out}.listing__item a{display:flex;align-items:baseline;gap:.5rem;font-size:.95rem;color:var(--text-primary);transition:color .3s ease,transform .3s ease;position:relative}.listing__item a:hover{color:var(--accent-hover);transform:translate(4px)}.listing__item a:hover .listing__page-num{transform:translate(-4px);opacity:.9}.listing__item a:hover .listing__dots{opacity:.5}.listing__item--current{border-left:2px solid var(--accent);padding-left:0}.listing__item--current:before,.listing__item--current:hover:before{background:linear-gradient(90deg,var(--accent) 0%,transparent 60%);animation:listing-glow 3s ease-in-out infinite}.listing__current-icon{position:absolute;left:-.45rem;top:50%;transform:translateY(-50%);font-size:.55rem;color:var(--accent);animation:listing-pulse 2s ease-in-out infinite;pointer-events:none}.listing__title{flex:0 1 auto}.listing__chapter-num{white-space:nowrap;opacity:.7;font-variant-numeric:tabular-nums}.listing__dash{opacity:.3}.listing__chapter-name{font-style:italic}.listing__dots{flex:1;border-bottom:1px dotted var(--text-muted);opacity:.3;min-width:1rem;margin:0 .25rem;align-self:baseline;transform:translateY(-.2em);transition:opacity .3s ease}.listing__page-num{flex-shrink:0;font-size:.8rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--text-muted);opacity:.6;transition:opacity .3s ease,transform .3s ease}@keyframes listing-pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes listing-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes listing-glow{0%,to{opacity:.04}50%{opacity:.12}}.book-title-page{display:flex;align-items:center;justify-content:center;min-height:50vh;text-align:center;break-after:column}.book-title-page__title{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:2.5rem;font-weight:300;letter-spacing:.15em;text-transform:uppercase;color:var(--accent)}.chapter-listing{padding:2rem 0}.chapter-listing__heading{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:1.5rem}.toc-copyright{display:flex;flex-direction:column;align-items:center;justify-content:center;break-after:column;text-align:center}.toc-copyright p{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.8rem;color:var(--text-muted);letter-spacing:.05em;max-width:320px;line-height:1.5;margin-bottom:.5rem}.toc-copyright hr{border:none;border-top:1px solid var(--outline-border);width:60px;margin:1rem auto}.toc-copyright em{font-style:italic;opacity:.7}.chapter-loading{display:flex;align-items:center;justify-content:center;min-height:40vh;font-size:2rem;color:var(--accent);opacity:.5}.book-cover{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;min-height:calc(100vh - 16rem);text-align:center;padding:2rem 0 3.5rem;box-sizing:border-box}.book-cover__title{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:3rem;font-weight:300;letter-spacing:.18em;text-transform:uppercase;color:var(--bg-page, var(--bg-primary));margin-bottom:2rem}.book-cover__logo{width:100%;max-width:480px;margin:0 auto 3rem;color:var(--bg-page, var(--bg-primary))}.book-cover__logo svg{width:100%;height:auto}.book-cover__actions{display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:480px}.book-cover__btn{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.25rem .75rem;width:100%;padding:1rem 2rem;border:2px solid var(--bg-page, var(--bg-primary));font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.9rem;letter-spacing:.05em;text-transform:uppercase;color:var(--accent);background:var(--bg-page, var(--bg-primary));cursor:pointer;transition:background .2s,color .2s,border-color .2s;text-decoration:none}.book-cover__btn:hover{background:var(--accent-hover);color:var(--bg-page, var(--bg-primary));border-color:var(--accent-hover)}.book-cover__btn-title{width:100%;text-align:center}.book-cover__continue{position:absolute;bottom:.75rem;left:50%;transform:translate(-50%);font-size:1.25rem;color:var(--bg-page, var(--bg-primary));cursor:pointer;opacity:.4;transition:opacity .3s,color .2s;animation:gentle-bob 2s ease-in-out infinite}.book-cover__continue:hover{opacity:.9}.book-cover__blurb{max-width:480px;margin:0 auto 2rem;text-align:center;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.9rem;color:var(--bg-page, var(--bg-primary));line-height:1.6}.book-cover__blurb p{margin-bottom:.75rem}.book-cover__blurb em{font-style:italic;opacity:.85}.book-cover__blurb strong{font-weight:600}body.is-paginated.is-two-page .book-cover{min-height:min(100vh - 16rem,100%);padding:1.25rem 0 2rem}body.is-paginated.is-two-page .book-cover .book-cover__title{font-size:2rem;letter-spacing:.12em;margin-bottom:1rem}body.is-paginated.is-two-page .book-cover .book-cover__logo{max-width:min(280px,85%);margin-bottom:1.5rem}body.is-paginated.is-two-page .book-cover .book-cover__actions{max-width:min(320px,90%);gap:.75rem}body.is-paginated.is-two-page .book-cover .book-cover__btn{padding:.75rem 1.5rem;font-size:.85rem}body.is-paginated.is-two-page .book-cover .book-cover__continue{bottom:.5rem;font-size:1rem}.book-endpage{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;background-color:var(--accent);margin:2rem -3rem -3rem;background-image:repeating-linear-gradient(0deg,rgba(0,0,0,.06) 0 1px,transparent 1px 20px),repeating-linear-gradient(90deg,rgba(0,0,0,.06) 0 1px,transparent 1px 20px);padding:4rem 3rem;border-radius:8px 8px 0 0;position:relative}.book-endpage:before{content:"";position:absolute;inset:.75rem;inset-block-end:0;border:2px solid var(--bg-page, var(--bg-primary));border-radius:6px 6px 0 0;border-bottom:none;opacity:.5;pointer-events:none;z-index:1}.book-endpage:after{content:"";position:absolute;inset:0;inset-block-end:0;border-radius:8px 8px 0 0;pointer-events:none;z-index:2;opacity:.3;background-color:transparent;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Ccircle cx='7' cy='7' r='6' fill='white'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Ccircle cx='7' cy='7' r='6' fill='white'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 18'%3E%3Cpath d='M0 9h12l4-7 8 14 8-14 8 14 4-7h12' fill='none' stroke='white' stroke-width='2.5'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 32'%3E%3Cpath d='M9 0v10m0 12v10M2 10h14M2 22h14' fill='none' stroke='white' stroke-width='2.5'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 32'%3E%3Cpath d='M9 0v10m0 12v10M2 10h14M2 22h14' fill='none' stroke='white' stroke-width='2.5'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Ccircle cx='4' cy='4' r='3' fill='white'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Ccircle cx='4' cy='4' r='3' fill='white'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Ccircle cx='4' cy='4' r='3' fill='white'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Ccircle cx='4' cy='4' r='3' fill='white'/%3E%3C/svg%3E");background-size:18px 18px,18px 18px,72px 24px,24px 40px,24px 40px,10px 10px,10px 10px,10px 10px,10px 10px;background-position:3px 3px,calc(100% - 3px) 3px,50% 0px,0px 50%,100% 50%,25% 7px,75% 7px,7px 25%,calc(100% - 7px) 25%;background-repeat:no-repeat}.book-endpage__end-mark{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1.2rem;font-weight:400;letter-spacing:.3em;text-transform:uppercase;color:var(--bg-page, var(--bg-primary));margin-bottom:3rem}.book-endpage__title{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:2.4rem;font-weight:300;letter-spacing:.18em;text-transform:uppercase;color:var(--bg-page, var(--bg-primary))}.book-endpage__logo{width:100%;max-width:360px;margin:2rem auto 0;color:var(--bg-page, var(--bg-primary))}.book-endpage__logo svg{width:100%;height:auto;opacity:.4}.book-endpage--standalone{margin:0;min-height:calc(100vh - 16rem);border-radius:8px}.book-endpage--standalone:before{inset-block-end:.75rem;border-bottom:2px solid var(--bg-page, var(--bg-primary));border-radius:6px}.book-endpage--standalone:after{border-radius:8px}.book-credits{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:calc(100vh - 16rem);padding:3rem 2rem}.book-credits h1,.book-credits h2,.book-credits h3{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:300;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:1.5rem}.book-credits h1{font-size:1.5rem}.book-credits h2{font-size:1.2rem}.book-credits h3{font-size:1rem;font-weight:600;color:var(--text-muted)}.book-credits p{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.9rem;color:var(--text-primary);line-height:1.6;max-width:480px;margin-bottom:1rem}.book-credits hr{border:none;border-top:1px solid var(--outline-border);width:100%;max-width:200px;margin:2rem auto}.book-credits strong{color:var(--accent)}.chapter-intro__header-section{position:relative;break-after:column;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;margin:6rem 0 4rem}.chapter-intro__logo{width:100%;max-width:300px;margin:0 auto 2rem;color:var(--accent)}.chapter-intro__logo svg{width:100%;height:auto}.chapter-intro__title{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:2.5rem;margin:1rem 0 1.5rem;letter-spacing:.05em;text-transform:uppercase}.chapter-intro__crt{height:auto;min-height:10rem;align-self:stretch;margin:1rem 0}.chapter-intro__crt .nostromo-terminal{height:auto;min-height:10rem}.chapter-intro__status{text-align:left}.chapter-intro__continue{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);font-size:1.25rem;color:var(--accent);cursor:pointer;transition:color .2s}.chapter-intro__continue.is-bobbing{animation:gentle-bob 2s ease-in-out infinite}.chapter-intro__continue:hover{opacity:1;color:var(--accent-hover)}.reader{font-family:var(--reader-font-family, Georgia, Times New Roman, serif);font-size:var(--reader-font-size, 16px);line-height:var(--reader-line-height, 1.6)}.reader h1,.reader h2,.reader h3{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:2rem 0 1rem}.reader h1{font-size:1.5rem}.reader h2{font-size:1.25rem}.reader h3{font-size:1.1rem}.reader p{margin-bottom:1rem}.reader a{color:var(--accent);text-decoration:underline}.reader a:hover{color:var(--accent-hover)}.reader blockquote{border-left:2px solid var(--text-muted);padding-left:1rem;color:var(--text-primary);margin:1rem 0}.reader code{font-family:Courier New,Courier,monospace;background:var(--bg-surface);padding:.15em .4em;border-radius:3px;font-size:.9em}.reader pre{background:var(--bg-surface);padding:1rem;overflow-x:auto;margin:2rem 0;line-height:1.1;border:1px solid var(--accent);box-shadow:0 0 6px var(--accent),0 0 20px var(--accent),inset 0 0 8px var(--bg-surface);break-inside:avoid}.reader pre code{background:none;padding:0;line-height:inherit}.reader pre code.ascii-art{color:var(--text-primary)}.reader hr{border:none;border-top:1px solid var(--bg-surface);margin:2rem 0}.reader p.scene-break{text-align:center;color:var(--text-muted);letter-spacing:.5em;font-size:.85em;margin:2.5rem 0;opacity:.55;font-style:normal;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.reader ul,.reader ol{padding-left:1.5rem;margin-bottom:1rem;list-style:disc}.reader ol{list-style:decimal}.reader table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.9em;break-inside:avoid}.reader th,.reader td{border:1px solid var(--outline-border, var(--bg-surface));padding:.4rem .75rem;text-align:left}.reader th{background:var(--bg-surface);font-weight:700}.reader tr:nth-child(2n){background:color-mix(in srgb,var(--bg-surface) 40%,transparent)}.reader ul:has(>li>input[type=checkbox]),.reader ul.task-list{list-style:none;padding-left:.25rem}.reader li>input[type=checkbox]{margin-right:.5rem;accent-color:var(--accent);vertical-align:middle;pointer-events:none}.reader li>.task-icon{margin-right:.5rem;vertical-align:middle}.reader li>.task-icon.task-icon--done{color:var(--accent)}.reader li>.task-icon.task-icon--pending{color:var(--text-muted);opacity:.45}.reader del{color:var(--text-muted);text-decoration:line-through;opacity:.7}.reader img{max-width:100%;height:auto;display:block;margin:1.5rem auto;border-radius:4px}.rv-hyphens .reader{hyphens:auto;-webkit-hyphens:auto;word-break:break-word}.rv-dyslexia .reader{font-family:"Lexend",var(--reader-font-family),sans-serif}@keyframes crt-cursor-blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes crt-subtle-flicker{0%{opacity:.98}50%{opacity:.95}52%{opacity:.9}54%{opacity:1}to{opacity:.98}}@keyframes crt-scanline-flicker{0%{opacity:1}5%{opacity:calc(1 - .45 * var(--flicker-intensity, 2))}6%{opacity:1}40%{opacity:1}41%{opacity:calc(1 - .6 * var(--flicker-intensity, 2))}42%{opacity:calc(1 - .15 * var(--flicker-intensity, 2))}44%{opacity:1}80%{opacity:1}81%{opacity:calc(1 - .35 * var(--flicker-intensity, 2))}82%{opacity:1}to{opacity:1}}@keyframes crt-scanline-drift{0%{background-position:0 0}to{background-position:0 2000px}}@keyframes crt-sweep{0%,70%{transform:translateY(-100%) skew(-3deg)}to{transform:translateY(450%) skew(-3deg)}}@keyframes crt-snow-jitter{0%{background-position:0 0,0 0,0 0}20%{background-position:-3px 2px,5px -4px,-7px 6px}40%{background-position:4px -1px,-2px 7px,3px -5px}60%{background-position:-5px 5px,3px -3px,-1px 4px}80%{background-position:2px -3px,-4px 1px,6px -2px}to{background-position:0 0,0 0,0 0}}@keyframes crt-interference{0%,82%{opacity:.08;transform:translate(0)}84%{opacity:.3;transform:translate(2px)}85%{opacity:.5;transform:translate(-3px)}86%{opacity:.2;transform:translate(1px)}87%{opacity:.45;transform:translate(-2px)}89%{opacity:.25;transform:translate(3px)}91%{opacity:.08;transform:translate(0)}to{opacity:.08;transform:translate(0)}}.crt-monitor{--bezel: clamp(10px, 1.75vw, 24px);position:relative;width:100%;max-width:960px;padding:var(--bezel);box-sizing:border-box;resize:horizontal;overflow:hidden;--_bl: calc(16.5 * var(--crt-bevel-brightness, 1));background:linear-gradient(160deg,hsl(0,0%,calc(var(--_bl) * 1.45 * 1%)),hsl(0,0%,calc(var(--_bl) * 1.21 * 1%)),hsl(0,0%,calc(var(--_bl) * 1%)) 50%,hsl(0,0%,calc(var(--_bl) * .81 * 1%)) 80%,hsl(0,0%,calc(var(--_bl) * .67 * 1%)));border-radius:clamp(12px,2.5vw,24px)}.crt-monitor::-webkit-resizer{background:transparent}.crt-monitor{box-shadow:0 0 clamp(10px,2.5vw,28px) clamp(2px,.5vw,6px) color-mix(in srgb,var(--accent) 15%,transparent),inset 1px 1px #ffffff1f,inset 3px 3px 8px #ffffff0f,inset 8px 8px #ffffff06,inset -1px -1px #00000059,inset -3px -3px 10px #00000038,inset -8px -8px #0000001f,6px 10px 30px #00000080,3px 5px 12px #00000059}.crt-monitor:before{content:"";position:absolute;top:var(--bezel);left:var(--bezel);right:var(--bezel);bottom:var(--bezel);border-radius:2%;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:200px 200px;opacity:var(--crt-noise, .04);mix-blend-mode:screen;pointer-events:none;z-index:55}.crt-monitor:after{content:"";position:absolute;top:calc(var(--bezel) - clamp(3px,.5vw,6px));left:calc(var(--bezel) - clamp(3px,.5vw,6px));right:calc(var(--bezel) - clamp(3px,.5vw,6px));bottom:calc(var(--bezel) - clamp(3px,.5vw,6px));border-radius:2.5%;box-shadow:inset 2px 2px 6px #0009,inset -1px -1px 3px #ffffff0a;pointer-events:none;z-index:5}.crt-monitor .crt-glass-tube{resize:none;max-width:100%}.crt-glass-tube{position:relative;width:100%;max-width:960px;aspect-ratio:4/3;background-color:var(--bg-primary);border-radius:2%;overflow:hidden;padding:3%;box-sizing:border-box;font-family:VT323,Courier New,Courier,monospace;font-size:var(--crt-font-size, 16px);font-weight:400;line-height:var(--crt-line-height, 1.5);-webkit-font-smoothing:none;-moz-osx-font-smoothing:unset;resize:horizontal}.crt-glass-tube::-webkit-resizer{background:transparent}.crt-glass-tube{box-shadow:0 0 0 clamp(2px,.3vw,4px) #0a0a0a,inset 0 0 0 1px color-mix(in srgb,var(--accent) 20%,transparent),inset 0 clamp(4px,1vw,12px) clamp(14px,3vw,32px) #0006,inset clamp(2px,.5vw,6px) 0 clamp(8px,2vw,18px) #0003,inset clamp(-6px,-.5vw,-2px) 0 clamp(8px,2vw,18px) #0003,inset 0 clamp(-5px,-.4vw,-2px) clamp(10px,2vw,22px) #00000040,inset 0 0 clamp(20px,7vw,60px) #00000080,inset 0 0 clamp(8px,2.5vw,20px) #00000040}.crt-glass-tube .nostromo-terminal{padding:0 8px}.crt-glass-tube:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 30% 15%,rgba(255,255,255,calc(.08 * var(--crt-spotlight, 1))) 0%,rgba(255,255,255,calc(.03 * var(--crt-spotlight, 1))) 30%,transparent 60%),linear-gradient(155deg,rgba(255,255,255,calc(.03 * var(--crt-spotlight, 1))) 0%,transparent 30%,transparent 75%,rgba(255,255,255,calc(.015 * var(--crt-spotlight, 1))) 100%);pointer-events:none;z-index:100}.crt-glass-tube:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,transparent 25%,rgba(0,0,0,.15) 50%,transparent 75%);background-size:100% 4px;animation:crt-scanline-drift 15s linear infinite,crt-scanline-flicker 4s ease-in-out infinite;pointer-events:none;z-index:50}.nostromo-terminal{position:relative;width:100%;height:100%;z-index:10;padding:1em;box-sizing:border-box;display:flex;flex-direction:column;text-transform:uppercase;color:var(--accent);white-space:pre;overflow-y:auto;scrollbar-width:none}.nostromo-terminal::-webkit-scrollbar{display:none}.nostromo-terminal{animation:crt-subtle-flicker .15s infinite}.nostromo-terminal .crt-line{flex:0 0 var(--crt-line-height, 1.5em);height:var(--crt-line-height, 1.5em);line-height:var(--crt-line-height, 1.5em);clip-path:inset(0 -200px);overflow:hidden;text-shadow:-1px 0 1px rgba(255,0,0,.3),1px 0 1px rgba(0,255,255,.3),0 0 calc(3px * var(--crt-glow, 1)) var(--accent),0 0 calc(12px * var(--crt-glow, 1)) color-mix(in srgb,var(--accent) 60%,transparent)}.nostromo-terminal .cursor{display:inline-block;width:calc(.6em - 2px);height:calc(1.15em - 4px);background:var(--accent);box-shadow:0 0 8px color-mix(in srgb,var(--accent) 60%,transparent);animation:crt-cursor-blink 1s step-end infinite;margin-left:2px;vertical-align:text-bottom}.nostromo-terminal:before{content:"";position:absolute;top:0;left:-5%;right:-5%;height:20%;background:linear-gradient(to bottom,transparent 0%,rgba(255,255,255,.02) 25%,rgba(255,255,255,.06) 50%,rgba(255,255,255,.02) 75%,transparent 100%);transform:translateY(-100%) skew(-3deg);animation:crt-sweep 12s cubic-bezier(.4,0,.6,1) infinite;pointer-events:none;z-index:2}.nostromo-terminal:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0px,transparent 1px,rgba(255,255,255,.03) 1px,rgba(255,255,255,.03) 2px),repeating-linear-gradient(90deg,transparent 0px,transparent 2px,rgba(255,255,255,.02) 2px,rgba(255,255,255,.02) 3px),repeating-linear-gradient(30deg,transparent 0px,transparent 3px,rgba(255,255,255,.015) 3px,rgba(255,255,255,.015) 4px);background-size:3px 3px,5px 5px,7px 7px;animation:crt-snow-jitter .15s steps(5) infinite,crt-interference 10s ease-in-out infinite;pointer-events:none;z-index:2}@media(prefers-reduced-motion:reduce){.nostromo-terminal{animation:none}.nostromo-terminal:before{animation:none;opacity:0}.nostromo-terminal:after{animation:none;opacity:0}.crt-glass-tube:after{animation:none}.nostromo-terminal .cursor{animation:none}}body.test-bench{background:transparent;color:var(--text-primary);font-family:Courier New,Courier,monospace;padding:2rem;margin:0;transition:color .3s}#page-wrap{max-width:800px;min-width:320px;margin:0 auto;resize:horizontal;overflow:auto;padding-right:6px;background:var(--bg-primary);transition:background .3s}.test-header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.5rem}body.test-bench h1{color:var(--accent);margin:0;font-size:1.6rem}.header-links{display:flex;align-items:baseline;gap:1rem;flex-shrink:0}.home-link{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--text-muted);text-decoration:none;transition:color .15s;white-space:nowrap}.home-link:hover{color:var(--accent)}.subtitle{color:var(--text-muted);font-size:.85rem;margin-bottom:2rem}.section{position:relative;border:1px solid var(--outline-border);border-radius:6px;padding:1.25rem;margin-bottom:1.5rem;background:var(--bg-surface)}.section-actions{position:absolute;bottom:.5rem;right:.5rem;display:flex;gap:.25rem;z-index:2}.section.is-collapsed .section-actions{display:none}.section-action-btn{background:var(--bg-surface);border:1px solid var(--outline-border);border-radius:4px;padding:.25rem .35rem;color:var(--text-muted);cursor:pointer;font-size:.8rem;line-height:1;transition:color .15s,border-color .15s;display:inline-flex;align-items:center;justify-content:center}.section-action-btn:hover{color:var(--accent);border-color:var(--accent)}.section h2{font-size:1.5rem;margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.05em;background:radial-gradient(ellipse at 15% 50%,var(--accent-hover),var(--accent) 50%,var(--text-muted));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;cursor:pointer;display:flex;align-items:center;column-gap:.4em;-webkit-user-select:none;user-select:none}.section h2 i{-webkit-text-fill-color:var(--accent);flex-shrink:0;font-size:.75em}.section h3{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:1.25rem 0 .5rem;padding-top:.75rem;border-top:1px solid var(--outline-border)}.section h3:first-of-type{margin-top:0;padding-top:0;border-top:none}.section p{font-size:.8rem;color:var(--text-muted);margin:0 0 .75rem}.section-arrow{font-size:.8rem;opacity:.6;transition:transform .25s ease;flex-shrink:0;margin-left:auto;padding-left:.5rem}.section.is-collapsed .section-arrow{transform:rotate(-90deg)}.section-body{transition:max-height .35s ease,opacity .25s ease;overflow:hidden;max-height:4000px;opacity:1}.section.is-collapsed .section-body{max-height:0;opacity:0}.section.is-collapsed h2{margin-bottom:0}.btn-row{display:flex;flex-wrap:wrap;gap:.75rem}.test-btn{background:var(--accent);color:var(--bg-primary);border:none;border-radius:4px;padding:.6rem 1.2rem;font-family:inherit;font-size:.85rem;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;transition:opacity .15s;font-weight:600;text-decoration:none}.test-btn i{font-size:.85em}.test-btn:hover{opacity:.85}.test-btn:active{opacity:.7}.tab-btn{background:var(--bg-primary);color:var(--text-muted);border:1px solid var(--outline-border);border-radius:4px;padding:.35rem .75rem;font-family:inherit;font-size:.75rem;cursor:pointer;transition:border-color .15s,background .15s,color .15s;white-space:nowrap}.tab-btn:hover{border-color:var(--accent);color:var(--text-primary)}.tab-btn.active{border-color:var(--accent);background:var(--accent);color:var(--bg-primary);font-weight:600}#theme-row{display:flex;flex-wrap:wrap;gap:.5rem;padding:4px;margin:-4px}.theme-btn{background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--outline-border);border-radius:4px;padding:.4rem .75rem;font-family:inherit;font-size:.75rem;cursor:pointer;transition:border-color .15s,background .15s;white-space:nowrap;flex:0 0 auto}.theme-btn:hover{opacity:.85}.theme-btn.active{outline:2px solid var(--accent);outline-offset:2px;font-weight:600}.font-preview{margin-top:.75rem;font-size:.9rem;color:var(--text-primary);line-height:1.6;padding:.5rem .75rem;border:1px solid var(--outline-border);border-radius:4px;background:var(--bg-primary)}.controls-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.75rem;align-items:center}.speed-label{font-size:.75rem;color:var(--text-muted);display:flex;align-items:center;gap:.4rem}.speed-label input[type=range]{accent-color:var(--accent)}.speed-label select{background:var(--bg-primary);border:1px solid var(--outline-border);color:var(--text-primary);font-family:inherit;font-size:.8rem;padding:.25rem .5rem;border-radius:3px}.sf-canvas{display:block;width:100%;height:220px;border-radius:6px;background:#0d0d1a}.toast{transition:opacity .25s ease,transform .4s cubic-bezier(.34,1.56,.64,1)!important}.toast[data-effect=scale]{transform:translate(-50%) scale(.3)!important}.toast.is-visible[data-effect=scale]{transform:translate(-50%) scale(1)!important}.toast[data-effect=flip]{transform:translate(-50%) rotateX(90deg)!important;transition:opacity .2s ease,transform .35s ease!important}.toast.is-visible[data-effect=flip]{transform:translate(-50%) rotateX(0)!important}@keyframes toast-shake{0%,to{transform:translate(-50%) translateY(0)}20%{transform:translate(calc(-50% - 6px)) translateY(0)}40%{transform:translate(calc(-50% + 6px)) translateY(0)}60%{transform:translate(calc(-50% - 3px)) translateY(0)}80%{transform:translate(calc(-50% + 3px)) translateY(0)}}.toast.is-visible[data-effect=shake]{animation:toast-shake .45s ease .25s}.tab-bar{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--outline-border);padding-bottom:.75rem}.tab-bar__btn{background:none;border:1px solid var(--outline-border);border-radius:4px 4px 0 0;padding:.5rem 1rem;font-family:inherit;font-size:.8rem;color:var(--text-muted);cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;transition:color .15s,border-color .15s,background .15s}.tab-bar__btn i{font-size:.85em}.tab-bar__btn:hover{color:var(--text-primary);border-color:var(--accent)}.tab-bar__btn.active{color:var(--bg-primary);background:var(--accent);border-color:var(--accent);font-weight:600}.section[data-tab]{display:none}.section[data-tab].tab-visible{display:block}.dialect-changed{background:color-mix(in srgb,var(--accent) 25%,transparent);border-bottom:1px solid var(--accent);border-radius:2px;padding:0 1px}.highlight-toggle{display:inline-flex;align-items:center;gap:.5rem;font-size:.8rem;font-family:inherit;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;padding:.5rem .9rem;border:1px solid var(--outline-border);border-radius:4px;transition:border-color .15s,color .15s}.highlight-toggle input[type=checkbox]{display:none}.highlight-toggle:has(input:checked){border-color:var(--accent);color:var(--accent)}#dialect-count{font-size:.75rem;color:var(--text-muted);margin-top:.5rem;min-height:1.1em}.vibe-log{background:var(--bg-primary);border:1px solid var(--outline-border);border-radius:6px;padding:.75rem 1rem;font-size:.75rem;color:var(--text-muted);min-height:2.5rem;max-height:8rem;overflow-y:auto;margin-top:.75rem;font-family:Courier New,Courier,monospace;white-space:pre-wrap}#markdown-showcase img{max-width:50%;height:auto}body.test-bench .reader{background:transparent}.page-turn-preview-wrap{margin-top:.75rem;min-height:200px}.page-turn-preview{--page-turn-duration-ms: 150;height:200px;max-width:380px;border-radius:8px;border:1px solid var(--outline-border);background:var(--bg-primary);overflow:hidden;position:relative}.page-turn-preview.page-turn-preview--1page{max-width:300px;height:200px}.page-turn-preview.page-turn-preview--1page.page-turn-preview--flip{height:240px;max-width:300px;min-width:0;overflow:visible;perspective:1400px;perspective-origin:50% 50%}.page-turn-preview.page-turn-preview--2page{max-width:100%;min-width:320px}.page-turn-preview.page-turn-preview--2page.page-turn-preview--flip{height:280px;max-width:100%;min-width:320px;overflow:visible;perspective:1400px;perspective-origin:50% 50%}.page-turn-strip,.page-turn-stack{position:absolute;inset:0;width:100%;height:100%}.page-turn-preview .page-turn-strip[aria-hidden=true],.page-turn-preview .page-turn-stack[aria-hidden=true]{visibility:hidden;pointer-events:none;z-index:0}.page-turn-preview .page-turn-strip[aria-hidden=false],.page-turn-preview .page-turn-stack[aria-hidden=false]{visibility:visible;z-index:1}.page-turn-strip{display:flex;width:400%;transition:transform calc(var(--page-turn-duration-ms) * 1ms) cubic-bezier(.33,1,.68,1)}.page-turn-preview--2page .page-turn-strip{width:200%}.page-turn-strip .page-turn-page{flex:0 0 25%;width:25%;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:.75rem 1rem;font-size:.8rem;line-height:1.5;color:var(--text-muted);background:var(--bg-surface);border:1px solid var(--outline-border);margin:6px;border-radius:6px;box-shadow:0 1px 4px #0000001a}.page-turn-strip .page-turn-page .page-turn-page__num{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);opacity:.8;margin-bottom:.5rem}.page-turn-strip .page-turn-page .page-turn-page__body{flex:1;color:var(--text-primary);font-size:.75rem}.page-turn-stack{display:block}.page-turn-stack.page-turn-stack--3d{transform-style:preserve-3d;perspective:1400px;perspective-origin:50% 50%}.page-turn-stack .page-turn-page{position:absolute;inset:0;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:.75rem 1rem;font-size:.8rem;line-height:1.5;color:var(--text-muted);background:var(--bg-surface);border:1px solid var(--outline-border);margin:6px;border-radius:6px;box-shadow:0 1px 4px #0000001a;transition:opacity calc(var(--page-turn-duration-ms) * 1ms) cubic-bezier(.25,.46,.45,.94),transform calc(var(--page-turn-duration-ms) * 1ms) cubic-bezier(.25,.46,.45,.94),filter calc(var(--page-turn-duration-ms) * 1ms) cubic-bezier(.25,.46,.45,.94)}.page-turn-stack .page-turn-page .page-turn-page__num{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);opacity:.8;margin-bottom:.5rem}.page-turn-stack .page-turn-page .page-turn-page__body{flex:1;color:var(--text-primary);font-size:.75rem}.page-turn-stack--3d .page-turn-page{transform-style:preserve-3d;backface-visibility:hidden;transform:rotateY(0)}.page-turn-stack .page-turn-page:not(.active){opacity:0;pointer-events:none;z-index:0}.page-turn-stack .page-turn-page.active{opacity:1;z-index:1;transform:translate(0)}.page-turn-stack--3d .page-turn-page.active{transform:rotateY(0)}.page-turn-stack .page-turn-page.exit-next{transform:translate(-42%);opacity:0}.page-turn-stack .page-turn-page.exit-prev{transform:translate(42%);opacity:0}.page-turn-stack .page-turn-page.exit-fade{opacity:0;transform:scale(.98)}.page-turn-stack--3d .page-turn-page.exit-flip-next{transform-origin:right center;transform:rotateY(-180deg)}.page-turn-stack--3d .page-turn-page.exit-flip-prev{transform-origin:left center;transform:rotateY(180deg)}.page-turn-stack .page-turn-page.exit-blur{opacity:0;filter:blur(8px)}.page-turn-stack .page-turn-page.exit-scale{opacity:0;transform:scale(.88)}.rv-reduce-motion .page-turn-preview .page-turn-strip,.rv-reduce-motion .page-turn-preview .page-turn-stack .page-turn-page{transition-duration:.01s}.rv-reduce-motion .page-turn-preview .page-turn-stack .page-turn-page.exit-blur{filter:none}@media(max-width:480px){.landing__title{font-size:1.5rem}.landing__nav{flex-direction:column;gap:1rem;width:100%}.landing__btn{width:100%}.landing__synopsis-toggle{font-size:.8rem}.landing__synopsis-body{font-size:.825rem;padding:0 .5rem}.book-cover__title{font-size:2rem}.book-cover__logo{max-width:260px}.book-endpage{margin:2rem -1.5rem -1.5rem;padding:3rem 1.5rem}.book-endpage__title{font-size:1.6rem}.book-endpage__logo{max-width:200px}.book-endpage--standalone{margin:0;padding:3rem 1.5rem}.book-credits{padding:2rem 1rem}.page-content{padding:1.5rem 5vw}.page-header,.page-footer{opacity:1}.page-outline{padding:1.5rem}.page-header__controls{gap:.25rem}.fab.is-open .fab__panel{position:fixed;inset:0;max-height:none;min-width:0;border:none;border-radius:0;box-shadow:none;display:flex;flex-direction:column;justify-content:center;align-items:stretch;padding:2rem 1.5rem;gap:.25rem;transform-origin:center center}.fab.is-open .fab__panel .control-btn{padding:.75rem 1rem;font-size:.9rem}.fab.is-open .fab__panel .control-btn i{font-size:1rem;width:1.5rem}.fab.is-open .fab__panel .control-btn[data-tip]:after{font-size:.9rem}.fab__nav-btn,.fab__back-btn{padding:.75rem 1rem;font-size:.9rem}.fab__nav-btn i:first-child,.fab__back-btn i:first-child{font-size:1rem;width:1.5rem}.fab__panel [data-hide-mobile]{display:none}body.is-paginated .page-outline{padding:1rem}body.is-paginated .page-zone{width:20%}}@media(min-width:768px){.landing__title{font-size:2.5rem}}@media print{:root{--bg-primary: #fff !important;--bg-page: #fff !important;--bg-surface: #f5f5f5 !important;--text-primary: #000 !important;--text-muted: #333 !important;--accent: #333 !important;--accent-hover: #000 !important;--outline-border: #ccc !important}body{background:#fff!important;color:#000!important}canvas,.fab,.progress-bar,.chapter-toc,.toc-overlay,.page-zone,.skip-link,.chapter-nav,.scroll-page-marker,.shortcuts-overlay,.toast,.book-cover__continue{display:none!important}.page-header{position:static!important;border-bottom:1px solid #ccc!important;background:#fff!important}.page-header__controls{display:none!important}.page-footer{position:static!important;background:#fff!important}.page-outline{height:auto!important;overflow:visible!important;border:none!important;box-shadow:none!important;padding:0!important;background:#fff!important}.page-clip{height:auto!important;overflow:visible!important}#story-root,#wiki-root{height:auto!important;column-width:unset!important;column-gap:unset!important;column-fill:unset!important;transform:none!important;transition:none!important;opacity:1!important}.page-content{max-width:none!important;padding:0!important}h1,h2,h3{break-after:avoid}p,blockquote,li{break-inside:avoid}.chapter-intro__header-section{break-after:page;height:auto!important;min-height:auto!important;margin:2rem 0!important}.book-title-page,.book-cover{height:auto!important;min-height:auto!important;break-after:page}.reader{font-size:12pt!important;line-height:1.5!important}.page-spacer{display:none!important}.reader a[href^=http]:after{content:" (" attr(href) ")";font-size:.8em;color:#666}}
