@import "https://fonts.googleapis.com/css2?family=Courier+Prime:ital,wght@0,400;0,700;1,400&family=IM+Fell+English:ital@0;1&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap";:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{color:#2a2218;background:#e8dcc4;min-width:320px;margin:0;font-family:IM Fell English,Times New Roman,serif}button,input{font:inherit}button{cursor:pointer}main{background:radial-gradient(at 18% 12%,#84302612,#0000 34%),radial-gradient(at 84% 78%,#3e4e3014,#0000 36%),radial-gradient(circle at 50% 40%,#f0e4cb 0%,#e4d5b6 52%,#d8c6a4 100%);min-height:100vh;position:relative;overflow:hidden}main:before{content:"";pointer-events:none;opacity:.28;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 220 220' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");position:fixed;inset:0}nav{z-index:1;justify-content:space-between;align-items:center;max-width:1220px;height:78px;margin:auto;padding:0 34px;display:flex;position:relative}.brand{color:#2a2218;letter-spacing:-.5px;align-items:center;gap:10px;font-family:IM Fell English,serif;font-size:28px;text-decoration:none;display:flex}.brand span{color:#f3e7cf;letter-spacing:.8px;background:#7a2f26;border:1.5px solid #7a2f26;border-radius:2px;place-items:center;min-width:34px;height:28px;padding:0 7px;font-family:Courier Prime,monospace;font-size:11px;font-weight:700;display:grid;box-shadow:2px 2px #2a2218}.nav-links{align-items:center;gap:28px;margin-left:90px;display:flex}.nav-links a,.text-button{color:#5c4f3c;letter-spacing:.4px;text-transform:uppercase;background:0 0;border:0;font-family:Courier Prime,monospace;font-size:12px;text-decoration:none}.text-button{color:#7a2f26;border-bottom:1px dashed #7a2f26;padding-bottom:1px;font-weight:700}.avatar{color:#2a2218;background:#efe1c4;border:1.5px solid #2a2218;border-radius:2px;width:34px;height:34px;font:700 11px Courier Prime,monospace;box-shadow:2px 2px #2a2218}.hero-copy{text-align:center;z-index:1;padding:58px 20px 38px;position:relative}.eyebrow{letter-spacing:3px;color:#7a2f26;text-transform:uppercase;margin:0 0 16px;font:700 11px Courier Prime,monospace}h1{letter-spacing:-1.5px;color:#2a2218;text-shadow:1px 1px #f3e7cfb3;margin:0;font:italic 500 62px/.92 IM Fell English,serif}h1 em{color:#7a2f26;font-style:italic}.subhead{color:#5c4f3c;max-width:340px;margin:20px auto 24px;font-family:IM Fell English,serif;font-size:16px;line-height:1.5}.upload-button{color:#f3e7cf;letter-spacing:.3px;text-transform:uppercase;background:#7a2f26;border:1.5px solid #2a2218;border-radius:2px;align-items:center;gap:9px;padding:12px 14px 12px 16px;font:700 13px Courier Prime,monospace;transition:transform .15s,box-shadow .15s,background .15s;display:inline-flex;box-shadow:3px 3px #2a2218}.upload-button:hover{background:#91372d;transform:translate(-1px,-1px);box-shadow:4px 4px #2a2218}.upload-button span{color:#e8c9b4;border-left:1px solid #b45a4d;margin-left:8px;padding-left:10px;font:700 10px Courier Prime,monospace}input[type=file]{display:none}.hint{color:#7a6b55;margin:14px 0 0;font-family:Courier Prime,monospace;font-size:12px}.hint strong{color:#7a2f26;font-weight:700}.reader{z-index:1;background:#c9b48f;border:1.5px solid #2a2218;max-width:1025px;margin:0 auto;position:relative;box-shadow:6px 6px #2a2218,0 24px 48px #3e301c2e}.reader-toolbar,.reader-footer{color:#5c4f3c;letter-spacing:.8px;text-transform:uppercase;background:#efe1c4;justify-content:space-between;align-items:center;height:48px;padding:0 17px;font:700 11px Courier Prime,monospace;display:flex}.reader-toolbar{border-bottom:1.5px solid #2a2218}.live-dot{vertical-align:0;background:#7a2f26;border-radius:50%;width:7px;height:7px;margin-right:8px;display:inline-block;box-shadow:0 0 0 1px #2a2218}.toolbar-actions{gap:4px;display:flex}.toolbar-actions button{color:#5c4f3c;background:0 0;border:1px solid #0000;border-radius:2px;place-items:center;width:28px;height:28px;padding:0;display:grid}.toolbar-actions button.active{color:#7a2f26;background:#e4d2ad;border-color:#2a2218}.book-stage{perspective:2600px;perspective-origin:50% 44%;background:radial-gradient(at 50% 42%,#d9c7a4,#bda984 78%),repeating-linear-gradient(90deg,#0000 0 11px,#2a221809 11px 12px);justify-content:center;align-items:center;height:504px;display:flex;position:relative;overflow:hidden}.book{width:min(84%,740px);height:398px;transform-style:preserve-3d;transform:translateX(var(--shift,0%));transition:transform var(--turn) cubic-bezier(.42,.03,.28,1);flex:none;display:flex;position:relative}.book.open{--shift:0%}.book.closed-front{--shift:-25%}.book.closed-back{--shift:25%}.book.sized{flex:0 auto;width:auto;max-width:92%;height:86%}.book.sized .book-page{height:100%;aspect-ratio:var(--aspect);flex:0 auto}.book.sized .face>.book-page{aspect-ratio:auto}.book:after{content:"";z-index:-1;height:24px;transition:left var(--turn) ease, right var(--turn) ease;background:radial-gradient(#4c42305c,#4c423000 72%);border-radius:50%;position:absolute;bottom:-13px;left:3%;right:3%}.book.no-left:after{left:50%}.book.no-right:after{right:50%}.stack{z-index:0;pointer-events:none;height:97.2%;transition:width var(--turn) ease, opacity var(--turn) ease;background:repeating-linear-gradient(90deg,#f6f1e5 0 1px,#ddd6c5 1px 2px,#ece6d8 2px 3px);position:absolute;top:1.4%}.stack.left{width:calc(1px + 11px * (var(--turned) / var(--sheets)));border-radius:3px 0 0 3px;right:100%;box-shadow:-2px 3px 9px #564c3a47}.stack.right{width:calc(1px + 11px * ((var(--sheets) - var(--turned)) / var(--sheets)));border-radius:0 3px 3px 0;left:100%;box-shadow:2px 3px 9px #564c3a47}.book-page{color:#36372f;background:#fbf8ef;flex:1;min-width:0;padding:34px 40px;font-family:Playfair Display;position:relative;overflow:hidden}.book-page.left{text-align:center;transform-origin:100%;background:linear-gradient(90deg,#f6f2e6 0%,#fcf9f0 14%,#fbf8ef 100%);border-radius:5px 1px 1px 5px;transform:rotateY(2.2deg);box-shadow:-3px 4px 15px #4a403033}.book-page.right{transform-origin:0;background:linear-gradient(270deg,#f6f2e6 0%,#fcf9f0 14%,#fbf8ef 100%);border-radius:1px 5px 5px 1px;transform:rotateY(-2.2deg);box-shadow:3px 4px 15px #4a403033}.book-page.blank{background:linear-gradient(90deg,#f4f0e4,#faf7ee)}.book-page.empty{box-shadow:none;background:0 0;border-radius:0}.book-page.empty:before,.book-page.empty:after{display:none}.pdf-page{background:#fff;place-items:center;padding:0;display:grid}.pdf-page img{z-index:1;object-fit:contain;width:100%;height:100%;display:block;position:relative}.page-loading{border:2px solid #e2dcce;border-top-color:#9aa290;border-radius:50%;width:22px;height:22px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.book-page:after{content:"";z-index:2;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='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");position:absolute;inset:0}.book-page:before{content:"";z-index:3;pointer-events:none;position:absolute;inset:0}.book-page.left:before{background:linear-gradient(90deg,#6c5e4421 0%,#0000 6% 70%,#68583e14 90%,#483c2833 100%)}.book-page.right:before{background:linear-gradient(270deg,#6c5e4421 0%,#0000 6% 70%,#68583e14 90%,#483c2833 100%)}.gutter{z-index:4;pointer-events:none;background:linear-gradient(90deg,#fffcf400 0%,#fffcf442 26%,#78664814 40%,#54462e42 47%,#32281880 49.4%,#20190e99 50%,#32281880 50.6%,#54462e42 53%,#78664814 60%,#fffcf442 74%,#fffcf400 100%);width:16%;max-width:130px;height:100%;position:absolute;top:0;left:50%;transform:translate(-50%)}.book.no-left .gutter{clip-path:inset(0 0 0 50%)}.book.no-right .gutter{clip-path:inset(0 50% 0 0)}.page-number{z-index:3;color:#a09a8c;font:9px Courier Prime,monospace;position:absolute;bottom:20px}.left .page-number{left:34px}.right .page-number{right:34px}.pdf-page .page-number{color:#bdb6a7;bottom:10px}.left.pdf-page .page-number{left:12px}.right.pdf-page .page-number{right:12px}.book-page.cover{color:#ece7d7;background:linear-gradient(118deg,#5e2a22 0%,#3f1c17 46%,#2a130f 100%);box-shadow:3px 5px 20px #2622186b}.cover-art{z-index:1;text-align:center;border:1px solid #cbbc8d3d;flex-direction:column;justify-content:center;align-items:center;padding:8%;display:flex;position:absolute;inset:13px}.cover-rule{background:#c8b98a;width:44px;height:1px;margin:0 0 26px}.cover-art h2{letter-spacing:-.7px;color:#f3eede;margin:0;font:500 34px/1.12 IM Fell English,serif}.cover-art .ornament{color:#c8b98a;margin:22px 0 18px}.cover-kind{letter-spacing:3px;color:#b6b09c;margin:0;font:700 10px Courier Prime,monospace}.cover-kicker{color:#c8b98a;letter-spacing:2.5px;margin:0 0 24px;font:700 9px Courier Prime,monospace}.cover-subtitle{color:#d6c7aa;max-width:190px;margin:18px 0 0;font:italic 15px/1.25 IM Fell English,serif}.cover-author{color:#e8d6b4;letter-spacing:.2px;margin:22px 0 0;font:italic 16px/1 IM Fell English,serif}.book-page.back-cover{background:linear-gradient(242deg,#4a211c 0%,#2f1411 48%,#1d0d0b 100%)}.back-cover-art{justify-content:flex-start;gap:0;padding:10% 9% 8%}.back-cover-art .cover-kicker{margin:0 0 16px}.back-cover-image{filter:sepia(.25)contrast(1.05)saturate(.7);background-image:url(/old-love-interludes.png);background-position:-100% -100%;background-size:200% 200%;border:1px solid #c8ad7c73;width:100%;height:34%;margin:0 0 18px;box-shadow:inset 0 0 0 5px #28120e66}.back-cover-blurb{color:#ead9ba;text-align:center;max-width:100%;margin:0;font:italic 14px/1.4 IM Fell English,serif}.back-cover-art .ornament{margin:16px 0 12px}.back-cover-art h2{font-size:28px}.back-cover-art .cover-subtitle{margin-top:10px}.back-cover-art .cover-author{color:#c8ad7c;letter-spacing:1.4px;text-transform:uppercase;margin-top:18px;font-family:Courier Prime,monospace;font-size:11px;font-style:normal;font-weight:700}.back-cover-mark{color:#9d8664;letter-spacing:1.8px;margin:auto 0 0;font:700 9px Courier Prime,monospace}.book-page.interlude{color:#f1dfbf;background:#3d211c;padding:18px}.interlude-image{background-size:200% 200%;background-position:calc(var(--col,0) * -100%) calc(var(--row,0) * -100%);filter:sepia(.2)contrast(1.05)saturate(.72);border:1px solid #c8ad7c;position:absolute;inset:18px 18px 96px;box-shadow:inset 0 0 0 6px #32191459}.interlude-caption{z-index:4;text-align:center;position:absolute;bottom:20px;left:24px;right:24px}.interlude-caption p{color:#c8ad7c;letter-spacing:2px;text-transform:uppercase;margin:0 0 7px;font:700 9px Courier Prime,monospace}.interlude-caption blockquote{color:#f2e4ca;margin:0;font:italic 17px/1.1 IM Fell English,serif}.pdf-page.has-atmosphere{background:#f7f1e4}.page-atmosphere{z-index:0;pointer-events:none;background-size:200% 200%;background-position:calc(var(--col,0) * -100%) calc(var(--row,0) * -100%);filter:sepia(.35)contrast(.95)saturate(.55)blur(.2px);mix-blend-mode:multiply;background-repeat:no-repeat;position:absolute;inset:8% 10% 12%;-webkit-mask-image:radial-gradient(at 50% 45%,#000 28%,#0000 78%);mask-image:radial-gradient(at 50% 45%,#000 28%,#0000 78%)}.pdf-page.has-atmosphere img{z-index:1;mix-blend-mode:multiply;opacity:.92;position:relative}.pdf-page.has-atmosphere .page-number{z-index:3}.book-page.letter-page{background:linear-gradient(160deg,#e8d7b4,#d9c49a 55%,#cbb387);padding:16px;overflow:hidden}.letter-stage{z-index:2;transform-origin:50%;position:absolute;inset:16px;transform:translateY(9%)rotate(-6deg)scale(.46)}.letter-page.phase-falling .letter-stage,.letter-page.phase-resting .letter-stage{cursor:pointer}.letter-page.phase-falling .letter-stage{animation:2.2s cubic-bezier(.42,.04,.58,.96) both leaf-fall}.letter-page.phase-lifting .letter-stage,.letter-page.phase-asking .letter-stage,.letter-page.phase-sliding .letter-stage{transition:transform 1.7s cubic-bezier(.55,.02,.3,1);transform:translate(0,0)rotate(0)scale(1)}@keyframes leaf-fall{0%{opacity:0;transform:translate(10%,-42%)rotate(16deg)scale(.46)}14%{opacity:1}30%{transform:translate(-9%,-26%)rotate(-12deg)scale(.46)}52%{transform:translate(8%,-8%)rotate(9deg)scale(.46)}74%{transform:translate(-5%,4%)rotate(-7deg)scale(.46)}to{opacity:1;transform:translateY(9%)rotate(-6deg)scale(.46)}}.letter-shadow{z-index:1;opacity:0;background:radial-gradient(#3a261280,#3a261229 45%,#0000 72%);width:38%;height:7%;transition:opacity .7s;position:absolute;bottom:18%;left:50%;transform:translate(-50%)}.letter-page.phase-falling .letter-shadow{animation:2.2s ease-out both leaf-shadow}.letter-page.phase-resting .letter-shadow{opacity:1}@keyframes leaf-shadow{0%,50%{opacity:0;transform:translate(-50%)scale(.5)}to{opacity:1;transform:translate(-50%)scale(1)}}.letter-hint{z-index:3;text-align:center;color:#7a2f26;letter-spacing:2px;text-transform:uppercase;justify-items:center;gap:5px;margin:0;font:700 9px Courier Prime,monospace;animation:.7s 2.1s both hint-in;display:grid;position:absolute;bottom:6%;left:0;right:0}.letter-hint span{color:#5c4330;letter-spacing:0;text-transform:none;font:italic 13px IM Fell English,serif}@keyframes hint-in{0%{opacity:0}to{opacity:.95}}.envelope{z-index:1;perspective:1500px;height:100%;position:relative;overflow:hidden}.letter-page.phase-asking .envelope{animation:2.8s ease-in-out both letter-float}.letter-page.phase-lifting .envelope,.letter-page.phase-asking .envelope,.letter-page.phase-sliding .envelope{transition:box-shadow 1.2s;box-shadow:0 20px 44px #36241257}@keyframes letter-float{0%,to{transform:translateY(0)}45%{transform:translateY(-6px)}}.envelope-pocket{z-index:1;background:linear-gradient(#c1a473,#ab8555);border:1px solid #6d5332;position:absolute;inset:24% 0 0;box-shadow:inset 0 1px #ffeec847}.envelope-slip{z-index:2;opacity:0;position:absolute;inset:0;transform:translateY(38%)scale(.78);box-shadow:0 -10px 22px #36241252}.envelope-front{z-index:3;text-align:center;background:linear-gradient(#d3b787 0%,#bd9a67 100%);border:1px solid #6d5332;padding:20px 16px 14px;position:absolute;inset:46% 0 0;box-shadow:0 -4px 14px #3624123d}.envelope-flap{z-index:4;transform-origin:top;background:linear-gradient(#dcc296 0%,#c3a370 100%);border:1px solid #6d5332;height:23%;transition:transform .6s cubic-bezier(.45,.05,.25,1);position:absolute;top:24%;left:0;right:0;box-shadow:0 5px 12px #36241238}.wax-seal{color:#f3e7cf;background:radial-gradient(circle at 35% 30%,#a43d34,#7a2f26 60%,#4e1a15);border-radius:50%;place-items:center;width:38px;height:38px;font-size:13px;display:grid;position:absolute;bottom:-19px;left:50%;transform:translate(-50%);box-shadow:0 3px 8px #32140e66,inset 0 0 0 1px #f3e7cf33}.letter-page.phase-sliding .envelope-flap{z-index:0;transform:rotateX(-168deg)}.letter-page.phase-sliding .wax-seal{opacity:.3;transition:opacity .3s}.letter-page.phase-sliding .envelope-slip{animation:1.05s cubic-bezier(.3,.62,.22,1) .45s both letter-slide-out}.letter-page.phase-sliding .envelope-front,.letter-page.phase-sliding .envelope-pocket{opacity:0;transition:opacity .3s 1.1s}@keyframes letter-slide-out{0%{opacity:1;transform:translateY(38%)scale(.78)}60%{opacity:1;transform:translateY(-2%)scale(.88)}to{opacity:1;transform:translateY(0)scale(1)}}.letter-page.opened .old-letter{animation:.35s both letter-settle}@keyframes letter-settle{0%{opacity:.6}to{opacity:1}}.envelope-stamp{color:#7a2f26;background:#f3e7cf99;border:1.5px dashed #7a2f26;place-items:center;width:48px;height:48px;font:700 11px Courier Prime,monospace;display:grid;position:absolute;top:10px;right:12px;transform:rotate(8deg)}.envelope-to{color:#2a2218;margin:0;font:italic 26px/1 IM Fell English,serif}.envelope-from{color:#5c4330;letter-spacing:1.5px;text-transform:uppercase;margin:7px 0 0;font:700 11px Courier Prime,monospace}.envelope-seal-label{color:#7a2f26;letter-spacing:2px;text-transform:uppercase;margin:18px 0 12px;font:700 10px Courier Prime,monospace}.letter-lock{justify-items:center;gap:8px;display:grid}.letter-lock label{color:#5c4330;font:italic 14px IM Fell English,serif}.letter-lock input{color:#2a2218;text-align:center;letter-spacing:3px;background:#f3e7cf;border:1.5px solid #2a2218;border-radius:2px;width:min(180px,80%);padding:8px 10px;font:700 14px Courier Prime,monospace;box-shadow:2px 2px #2a2218}.letter-lock button{color:#f3e7cf;letter-spacing:.8px;text-transform:uppercase;background:#7a2f26;border:1.5px solid #2a2218;border-radius:2px;padding:8px 14px;font:700 11px Courier Prime,monospace;box-shadow:2px 2px #2a2218}.letter-error{color:#7a2f26;margin:0;font:italic 13px IM Fell English,serif}.old-letter{z-index:1;color:#3a2c1d;text-align:left;background:linear-gradient(#7a2f260d,#0000 18%),repeating-linear-gradient(0deg,#0000 0 27px,#5a462814 27px 28px),#f4e6c8;border:1px solid #9a7d52;height:100%;padding:18px 18px 14px;font:italic 13px/1.46 IM Fell English,serif;position:relative;overflow:auto;box-shadow:inset 0 0 30px #7850281f}.old-letter:after{content:"";pointer-events:none;opacity:.18;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='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.4'/%3E%3C/svg%3E");position:absolute;inset:0}.letter-date{text-align:right;color:#7a2f26;letter-spacing:1.5px;text-transform:uppercase;margin:0 0 11px;font:700 9px Courier Prime,monospace}.letter-greeting{margin:0 0 10px;font-size:16px}.old-letter p{z-index:1;margin:0 0 9px;position:relative}.letter-closing{margin-top:6px}.letter-signoff{text-align:right;margin-top:12px}.letter-signoff em{color:#7a2f26;font-size:16px}.feature-page{z-index:1;flex-direction:column;justify-content:center;align-items:center;height:100%;display:flex;position:relative}.chapter-label{color:#7a2f26;letter-spacing:2px;margin:0 0 17px;font:700 10px Courier Prime,monospace}.feature-page h2{letter-spacing:-1.3px;max-width:250px;margin:0;font:500 37px/1.06 IM Fell English,serif}.ornament{color:#8a937e;margin:25px 0;font-size:16px}.feature-page>p:last-child{color:#777367;max-width:240px;margin:0;font-size:13px;line-height:1.55}.quote .feature-page h2{font-size:33px}.quote .feature-page>p:last-child{font-style:italic}.story-page{z-index:1;color:#5d5b51;text-align:justify;padding:16px 5px;font-family:IM Fell English,serif;font-size:13px;line-height:1.72;position:relative}.story-page p{margin:0 0 17px}.drop-text span{float:left;color:#7a2f26;padding:7px 8px 0 0;font-size:53px;line-height:.77}.flip-sheet{z-index:6;width:50%;height:100%;transform-style:preserve-3d;will-change:transform;position:absolute;top:0}.flip-sheet.forward{transform-origin:0;animation:flip-forward var(--turn) cubic-bezier(.5,.04,.34,1) forwards;right:0}.flip-sheet.backward{transform-origin:100%;animation:flip-backward var(--turn) cubic-bezier(.5,.04,.34,1) forwards;left:0}@keyframes flip-forward{0%{transform:rotateY(0)}50%{transform:rotateY(-91deg)scale(1.014)}to{transform:rotateY(-180deg)}}@keyframes flip-backward{0%{transform:rotateY(0)}50%{transform:rotateY(91deg)scale(1.014)}to{transform:rotateY(180deg)}}.face{transform-style:preserve-3d;backface-visibility:hidden;position:absolute;inset:0}.face.back{transform:rotateY(180deg)}.face>.book-page{backface-visibility:hidden;position:absolute;inset:0}.sheet-shade{z-index:5;pointer-events:none;animation:sheet-shade var(--turn) ease-in-out forwards;background:linear-gradient(90deg,#261f14e6 0%,#60523a80 30%,#fff0 76%);position:absolute;inset:0}@keyframes sheet-shade{0%{opacity:0}46%{opacity:.3}to{opacity:0}}.cast-shadow{z-index:5;pointer-events:none;width:50%;height:100%;animation:cast var(--turn) ease-in-out forwards;position:absolute;top:0}.cast-shadow.forward{background:linear-gradient(270deg,#2f2b2299 0%,#2f2b2200 70%);left:0}.cast-shadow.backward{background:linear-gradient(90deg,#2f2b2299 0%,#2f2b2200 70%);right:0}.book.no-left .cast-shadow.forward{-webkit-mask-image:radial-gradient(88% 90% at 100%,#000000bf 16%,#0000 84%);mask-image:radial-gradient(88% 90% at 100%,#000000bf 16%,#0000 84%)}.book.no-right .cast-shadow.backward{-webkit-mask-image:radial-gradient(88% 90% at 0%,#000000bf 16%,#0000 84%);mask-image:radial-gradient(88% 90% at 0%,#000000bf 16%,#0000 84%)}.book.no-left .stack.left,.book.no-right .stack.right{opacity:0}@keyframes cast{0%{opacity:.05}42%{opacity:.5}to{opacity:0}}.corner{z-index:7;background:0 0;border:0;width:16%;height:100%;padding:0;position:absolute;top:0}.corner.left{cursor:w-resize;left:0}.corner.right{cursor:e-resize;right:0}.corner:disabled{cursor:default}.turn{z-index:8;color:#2a2218;background:#efe1c4;border:1.5px solid #2a2218;border-radius:2px;place-items:center;width:38px;height:38px;padding:0;transition:transform .15s,box-shadow .15s;display:grid;position:absolute;top:calc(50% - 19px);box-shadow:2px 2px #2a2218}.turn:hover:not(:disabled){transform:translate(-1px,-1px);box-shadow:3px 3px #2a2218}.turn:disabled{opacity:.3;cursor:default}.turn.left{left:28px}.turn.right{right:28px}.reader-footer{border-top:1.5px solid #2a2218;height:46px}.progress{flex:1;gap:3px;max-width:430px;margin:0 18px;display:flex;overflow:hidden}.progress button{background:#c9b48f;border:0;flex:1;min-width:2px;max-width:18px;height:3px;padding:0}.progress button.current{background:#7a2f26}.save-button{color:#5c4f3c;letter-spacing:.6px;text-transform:uppercase;background:0 0;border:0;align-items:center;gap:6px;padding:0;font:700 11px Courier Prime,monospace;display:flex}.gesture{color:#7a6b55;text-align:center;z-index:1;margin:20px 0 28px;font:12px Courier Prime,monospace;position:relative}.gesture kbd{background:#efe1c4;border:1px solid #2a2218;border-radius:2px;padding:1px 5px;font:700 10px Courier Prime,monospace;box-shadow:1px 1px #2a2218}.reader:fullscreen{border:0;flex-direction:column;width:100vw;max-width:none;height:100vh;display:flex}.reader:fullscreen .book-stage{flex:1;height:auto}.reader:fullscreen .book{height:min(86%,1000px)}.reader:-webkit-full-screen{border:0;flex-direction:column;width:100vw;max-width:none;height:100vh;display:flex}.reader:-webkit-full-screen .book-stage{flex:1;height:auto}.reader:-webkit-full-screen .book{height:min(86%,1000px)}.library-reader{z-index:40;background:radial-gradient(at 50% 40%,#d9c7a4,#b39a72 72%),#a89068;flex-direction:column;animation:.35s ease-out both reader-rise;display:flex;position:fixed;inset:0}@keyframes reader-rise{0%{opacity:0}to{opacity:1}}.library-reader .reader-toolbar,.library-reader .reader-footer{color:#5c4f3c;letter-spacing:.8px;text-transform:uppercase;background:#efe1c4f5;border:0;flex:none;height:52px;padding:0 22px;font:700 11px Courier Prime,monospace}.library-reader .reader-toolbar{border-bottom:1.5px solid #2a2218}.library-reader .reader-footer{border-top:1.5px solid #2a2218}.library-reader .book-stage{flex:1;height:auto;min-height:0}.library-reader .book{height:min(86%,920px)}.library-reader .toolbar-actions button{color:#5c4f3c;letter-spacing:1px;text-transform:uppercase;background:0 0;border:1px solid #0000;border-radius:2px;place-items:center;min-width:28px;height:28px;padding:0 8px;font:700 10px Courier Prime,monospace;display:grid}.library-reader .toolbar-actions button.active{color:#7a2f26;background:#e4d2ad;border-color:#2a2218}.library-reader .reader-hint{color:#7a6d58;letter-spacing:0;text-transform:none;margin:0;font:italic 14px IM Fell English,serif}:-webkit-any(.library-reader:fullscreen,.library-reader:-webkit-full-screen){width:100vw;height:100vh}:is(.library-reader:fullscreen,.library-reader:fullscreen){width:100vw;height:100vh}.library-3d.locked .library-3d-stage canvas{pointer-events:none}.library-3d{color:#3a332b;background:#efece5;flex-direction:column;min-height:100vh;display:flex;position:relative;overflow:hidden}.library-3d-nav{z-index:2;background:linear-gradient(#fdfbf6,#f4f1ea);border-bottom:1px solid #3a332b24;justify-content:space-between;align-items:center;gap:18px;height:70px;padding:0 22px;display:flex;position:relative}.library-3d-nav .brand{color:#3a332b;flex:none}.library-3d-nav .brand span{background:#c4553f;border-color:#e6b394;box-shadow:2px 2px #3a332b33}.library-3d-nav>p{color:#8a8378;letter-spacing:2px;white-space:nowrap;margin:0;font:700 10px Courier Prime,monospace}.library-keys{color:#6f675c;letter-spacing:1px;text-transform:uppercase;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:14px;font:700 10px Courier Prime,monospace;display:flex}.library-keys span{align-items:center;gap:4px;display:inline-flex}kbd{color:#3a332b;text-align:center;background:#fffdf8;border:1px solid #3a332b4d;border-bottom-width:2px;border-radius:4px;min-width:20px;padding:3px 5px;font:700 10px Courier Prime,monospace;display:inline-block}.quality-toggle{color:#3a332b;letter-spacing:1px;text-transform:uppercase;background:#fffdf8;border:1px solid #3a332b47;border-radius:999px;padding:6px 12px;font:700 10px Courier Prime,monospace}.quality-toggle:hover{color:#c4553f;border-color:#c4553f}.community-layer{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1916128f;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.community-panel{color:#342c24;background:repeating-linear-gradient(#0000 0 33px,#78603e1c 33px 34px),linear-gradient(158deg,#fdf7e6 0%,#f3e8cf 58%,#e9dcc0 100%);border:1px solid #604a2e59;border-radius:3px;width:min(720px,100%);max-height:min(760px,100vh - 44px);padding:38px;position:relative;overflow:auto;box-shadow:inset 0 2px #ffffff80,0 24px 80px #0006,0 3px 0 -1px #c8b694e6}.community-close{color:#5a4939;background:#e8ddcc;border:0;border-radius:50%;width:32px;height:32px;font-size:24px;line-height:1;position:absolute;top:14px;right:16px}.community-eyebrow{color:#a34d39;letter-spacing:2px;margin:0 0 9px;font:700 10px Courier Prime,monospace}.community-panel h2{margin:0;font:400 38px/1 IM Fell English,serif}.community-copy{color:#706457;max-width:520px;font:16px/1.55 IM Fell English,serif}.community-form{gap:13px;max-width:460px;margin-top:26px;display:grid}.community-form label{color:#655848;letter-spacing:1px;text-transform:uppercase;gap:6px;font:700 10px Courier Prime,monospace;display:grid}.community-form input{box-sizing:border-box;color:#342c24;background:#fffdf8;border:1px solid #c7b9a5;border-radius:4px;width:100%;padding:12px;font:16px IM Fell English,serif}.community-form button,.community-book button,.community-request button{color:#fff9ee;letter-spacing:1px;text-transform:uppercase;background:#8a3128;border:1px solid #8a3128;border-radius:4px;padding:10px 13px;font:700 10px Courier Prime,monospace}.community-form button:disabled{opacity:.6}.community-switch{color:#8a3128;background:0 0;border:0;margin-top:18px;font:italic 18px IM Fell English,serif}.community-notice{color:#5e4c3b;background:#bf9e6c29;border-left:3px solid #c07940;margin:20px 0 0;padding:11px 13px;font:14px/1.45 IM Fell English,serif}.community-member{align-items:center;gap:12px;margin-top:22px;display:flex}.community-member h2{font-size:27px}.community-member p{color:#7a6d5d;margin:4px 0 0;font:11px Courier Prime,monospace}.community-member>button{color:#8a3128;letter-spacing:1px;text-transform:uppercase;background:0 0;border:0;margin-left:auto;font:700 10px Courier Prime,monospace}.community-avatar{color:#fff;border-radius:50%;place-items:center;width:42px;height:42px;font:700 18px IM Fell English,serif;display:grid}.community-tabs{border-bottom:1px solid #d5c7b6;gap:6px;margin:26px 0 12px;display:flex}.community-tabs button{color:#746554;letter-spacing:1px;text-transform:uppercase;background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 11px;font:700 10px Courier Prime,monospace}.community-tabs button.active{color:#8a3128;border-color:#8a3128}.community-list{gap:8px;display:grid}.community-hint,.community-empty{color:#746554;margin:6px 0 11px;font:italic 16px/1.35 IM Fell English,serif}.community-book,.community-request{background:#ffffff7a;border:1px solid #59442e2e;border-radius:6px;align-items:center;gap:12px;padding:11px;display:flex}.community-book{cursor:pointer}.community-book.selected{border-color:#8a3128;box-shadow:inset 0 0 0 1px #8a3128}.community-spine{background:linear-gradient(90deg,#54221d,#a34d39,#54221d);border-radius:2px;width:10px;height:42px;box-shadow:2px 0 #d8c7af}.community-book div,.community-request div{flex:1;gap:3px;min-width:0;display:grid}.community-book strong,.community-request strong{color:#352d24;text-overflow:ellipsis;white-space:nowrap;font:400 20px IM Fell English,serif;overflow:hidden}.community-book small,.community-request small{color:#776958;letter-spacing:.4px;font:10px Courier Prime,monospace}.community-book button,.community-request button{padding:8px 10px;font-size:9px}.community-book .read-now{background:#344f65;border-color:#344f65}.community-request .decline{color:#8a3128;background:0 0}.community-layer.desk{-webkit-backdrop-filter:blur(2px)saturate(.92);backdrop-filter:blur(2px)saturate(.92);background:linear-gradient(#18140f1a 0%,#18140f85 62%);place-items:end center;padding:0 22px 6vh}.desk-card{color:#3a3026;transform-origin:bottom;background:repeating-linear-gradient(#0000 0 33px,#78603e21 33px 34px),linear-gradient(158deg,#fdf7e6 0%,#f3e8cf 58%,#e7d9bb 100%);border:1px solid #604a2e59;border-radius:3px;width:min(520px,100%);padding:30px 34px 26px;animation:.5s cubic-bezier(.16,.84,.3,1) both card-slide;position:relative;box-shadow:inset 0 2px #ffffff80,0 26px 60px #17110a8c,0 3px 0 -1px #c8b694e6,0 7px 0 -2px #b29e7abf}@keyframes card-slide{0%{opacity:0;transform:translateY(64px)rotateX(34deg)scale(.96)}to{opacity:1;transform:none}}.desk-card .community-close{color:#8a7a60;background:0 0;width:26px;height:26px;font-size:20px;top:10px;right:10px}.desk-card-head{border-bottom:2px solid #604a2e52;justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:14px;display:flex}.desk-card-issuer{color:#9a6b3f;letter-spacing:3px;margin:0 0 4px;font:700 9px Courier Prime,monospace}.desk-card h2{margin:0;font:400 34px/1 IM Fell English,serif}.desk-stamp{color:#8a3128bf;letter-spacing:2px;opacity:.85;border:2px solid #8a31288c;border-radius:50%;flex:none;place-items:center;width:68px;height:68px;font:700 11px Courier Prime,monospace;display:grid;transform:rotate(-11deg)}.desk-stamp em{letter-spacing:1px;font:400 24px IM Fell English,serif}.desk-line{color:#6d5f4c;margin:14px 0 4px;font:italic 17px/1.4 IM Fell English,serif}.desk-form{gap:4px;margin-top:10px;display:grid}.desk-field{gap:0;padding-top:12px;display:grid}.desk-field span{color:#8a7657;letter-spacing:1.6px;text-transform:uppercase;font:700 9px Courier Prime,monospace}.desk-field input{box-sizing:border-box;color:#2f3e63;background:0 0;border:0;border-bottom:1px solid #604a2e73;border-radius:0;width:100%;padding:5px 2px 7px;font:22px IM Fell English,serif}.desk-field input:focus{border-bottom-color:#8a3128;outline:none;box-shadow:0 1px #8a3128}.desk-field input::placeholder{color:#78685080;font-size:17px;font-style:italic}.desk-submit{color:#fdf3e2;letter-spacing:2px;text-transform:uppercase;background:linear-gradient(#94382d,#7c2b22);border:1px solid #6d2620;border-radius:2px;margin-top:22px;padding:12px 14px;font:700 10px Courier Prime,monospace;box-shadow:0 2px #3c141080}.desk-submit:disabled{opacity:.62}.desk-card-foot{border-top:1px dashed #604a2e59;justify-items:start;gap:6px;margin-top:18px;padding-top:12px;display:grid}.desk-card-foot span{color:#97866c;letter-spacing:1.4px;text-transform:uppercase;font:700 8px Courier Prime,monospace}.desk-switch{color:#8a3128;background:0 0;border:0;padding:0;font:italic 18px IM Fell English,serif}.secret-card h2{color:#7a2f26}.secret-card .desk-submit{background:linear-gradient(#7a2f26,#5c221c);border-color:#4a1a16}.library-carry{z-index:3;background:#fffdf8ed;border:1px solid #3a332b2e;border-radius:8px;align-items:center;gap:12px;padding:10px 14px;animation:.3s ease-out both carry-rise;display:flex;position:absolute;bottom:118px;left:22px;box-shadow:0 10px 24px #3a332b33}@keyframes carry-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.library-carry .carry-spine{border-radius:2px;width:9px;height:38px;box-shadow:2px 0 #e2d5bd}.library-carry div{gap:2px;display:grid}.library-carry strong{color:#352d24;font:400 20px/1 IM Fell English,serif}.library-carry span{color:#7c7062;letter-spacing:1px;text-transform:uppercase;font:700 9px Courier Prime,monospace}.library-carry kbd{margin:0 1px}.library-carry button{color:#6c6053;letter-spacing:1px;text-transform:uppercase;background:0 0;border:1px solid #3a332b40;border-radius:4px;padding:7px 9px;font:700 9px Courier Prime,monospace}.library-3d-stage{flex:1;min-height:calc(100vh - 70px);position:relative}.library-3d-stage canvas{touch-action:none;cursor:grab;display:block;width:100%!important;height:100%!important}.library-map{z-index:3;pointer-events:none;filter:drop-shadow(0 8px 18px #3a332b38);width:178px;height:178px;position:absolute;top:18px;right:18px}.map-shell{fill:#fffdf8d6;stroke:#3a332b59;stroke-width:.8px}.map-path{fill:#d8ac7680}.map-zone{fill:#3a332b12;stroke:#3a332b2e;stroke-width:.4px}.map-zone.key{fill:#c4553f29}.map-zone.active{fill:#c4553f61;stroke:#c4553f}.map-you{fill:#2f6f8f;stroke:#fffdf8;stroke-width:1px}.library-prompt{z-index:3;background:#fffdf8ed;border:1px solid #3a332b33;border-radius:999px;align-items:center;gap:10px;padding:10px 16px;animation:.3s ease-out both prompt-rise;display:flex;position:absolute;bottom:120px;left:50%;transform:translate(-50%);box-shadow:0 10px 24px #3a332b2e}.library-prompt span{color:#3a332b;font:italic 18px IM Fell English,serif}@keyframes prompt-rise{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.library-3d-hud{z-index:3;pointer-events:none;background:linear-gradient(#0000,#fffcf5d9);justify-content:space-between;align-items:end;gap:16px;padding:22px 24px 26px;display:flex;position:absolute;bottom:0;left:0;right:0}.library-place{flex-direction:column;gap:2px;display:flex}.library-place strong{color:#3a332b;letter-spacing:.3px;font:400 30px IM Fell English,serif}.library-place span{letter-spacing:1.6px;text-transform:uppercase;color:#8a8378;font:700 10px Courier Prime,monospace}.library-3d-legend{color:#8a8378;letter-spacing:1px;text-transform:uppercase;align-items:baseline;gap:8px;font:700 10px Courier Prime,monospace;display:flex}.library-3d-legend strong{color:#c4553f;letter-spacing:0;text-transform:none;font:italic 22px IM Fell English,serif}@media (prefers-reduced-motion:reduce){.flip-sheet.forward,.flip-sheet.backward,.sheet-shade,.cast-shadow{animation-duration:1ms}.book,.stack{transition-duration:1ms}}@media (width<=700px){nav{padding:0 18px}.nav-links{display:none}.hero-copy{padding-top:43px}h1{font-size:47px}.reader{margin:0 12px}.book-stage{height:390px}.book{width:calc(100% - 60px);height:305px}.book-page{padding:21px 19px}.cover-art h2{font-size:24px}.feature-page h2{font-size:27px}.feature-page>p:last-child,.story-page{font-size:10px}.story-page{padding:2px}.turn.left{left:6px}.turn.right{right:6px}.turn{width:32px;height:32px}.reader-toolbar{padding:0 11px}.progress{max-width:150px}.library-3d-nav{flex-wrap:wrap;height:auto;min-height:70px;padding:10px 12px}.library-3d-nav>p{display:none}.library-keys{justify-content:flex-start;gap:10px;width:100%}.library-map{width:120px;height:120px;top:12px;right:12px}.library-prompt{bottom:150px}.library-3d-hud{flex-direction:column;align-items:flex-start;padding:16px}.library-place strong{font-size:24px}}
