@font-face{font-family:SF Pro;src:url(/fonts/SF-Pro.woff2) format("woff2-variations"),url(/fonts/SF-Pro.ttf) format("truetype-variations"),url(/fonts/SF-Pro.ttf) format("truetype");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:SF Pro;src:url(/fonts/SF-Pro-Italic.woff2) format("woff2-variations"),url(/fonts/SF-Pro-Italic.ttf) format("truetype-variations"),url(/fonts/SF-Pro-Italic.ttf) format("truetype");font-weight:100 900;font-style:italic;font-display:swap}@font-face{font-family:SF Pro Display;src:url(/fonts/SF-Pro-Display-Ultralight.woff2) format("woff2"),url(/fonts/SF-Pro-Display-Ultralight.otf) format("opentype");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:SF Pro Display;src:url(/fonts/SF-Pro-Display-UltralightItalic.woff2) format("woff2"),url(/fonts/SF-Pro-Display-UltralightItalic.otf) format("opentype");font-weight:100;font-style:italic;font-display:swap}@font-face{font-family:SF Pro Display;src:url(/fonts/SF-Pro-Display-Thin.woff2) format("woff2"),url(/fonts/SF-Pro-Display-Thin.otf) format("opentype");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:SF Pro Display;src:url(/fonts/SF-Pro-Display-ThinItalic.woff2) format("woff2"),url(/fonts/SF-Pro-Display-ThinItalic.otf) format("opentype");font-weight:200;font-style:italic;font-display:swap}@font-face{font-family:SF Pro Display;src:url(/fonts/SF-Pro-Display-Light.woff2) format("woff2"),url(/fonts/SF-Pro-Display-Light.otf) format("opentype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:SF Pro Display;src:url(/fonts/SF-Pro-Display-LightItalic.woff2) format("woff2"),url(/fonts/SF-Pro-Display-LightItalic.otf) format("opentype");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:SF Pro Display;src:url(/fonts/SF-Pro-Display-Regular.woff2) format("woff2"),url(/fonts/SF-Pro-Display-Regular.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:SF Pro Display;src:url(/fonts/SF-Pro-Display-RegularItalic.woff2) format("woff2"),url(/fonts/SF-Pro-Display-RegularItalic.otf) format("opentype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:SF Pro Display;src:url(/fonts/SF-Pro-Display-Medium.woff2) format("woff2"),url(/fonts/SF-Pro-Display-Medium.otf) format("opentype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:SF Pro Display;src:url(/fonts/SF-Pro-Display-MediumItalic.woff2) format("woff2"),url(/fonts/SF-Pro-Display-MediumItalic.otf) format("opentype");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:SF Pro Display;src:url(/fonts/SF-Pro-Display-Semibold.woff2) format("woff2"),url(/fonts/SF-Pro-Display-Semibold.otf) format("opentype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:SF Pro Display;src:url(/fonts/SF-Pro-Display-SemiboldItalic.woff2) format("woff2"),url(/fonts/SF-Pro-Display-SemiboldItalic.otf) format("opentype");font-weight:600;font-style:italic;font-display:swap}@font-face{font-family:SF Pro Display;src:url(/fonts/SF-Pro-Display-Bold.woff2) format("woff2"),url(/fonts/SF-Pro-Display-Bold.otf) format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:SF Pro Display;src:url(/fonts/SF-Pro-Display-BoldItalic.woff2) format("woff2"),url(/fonts/SF-Pro-Display-BoldItalic.otf) format("opentype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:SF Pro Display;src:url(/fonts/SF-Pro-Display-Heavy.woff2) format("woff2"),url(/fonts/SF-Pro-Display-Heavy.otf) format("opentype");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:SF Pro Display;src:url(/fonts/SF-Pro-Display-HeavyItalic.woff2) format("woff2"),url(/fonts/SF-Pro-Display-HeavyItalic.otf) format("opentype");font-weight:800;font-style:italic;font-display:swap}@font-face{font-family:SF Pro Display;src:url(/fonts/SF-Pro-Display-Black.woff2) format("woff2"),url(/fonts/SF-Pro-Display-Black.otf) format("opentype");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:SF Pro Display;src:url(/fonts/SF-Pro-Display-BlackItalic.woff2) format("woff2"),url(/fonts/SF-Pro-Display-BlackItalic.otf) format("opentype");font-weight:900;font-style:italic;font-display:swap}@font-face{font-family:SF Pro Rounded;src:url(/fonts/SF-Pro-Rounded-Ultralight.woff2) format("woff2"),url(/fonts/SF-Pro-Rounded-Ultralight.otf) format("opentype");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:SF Pro Rounded;src:url(/fonts/SF-Pro-Rounded-Thin.woff2) format("woff2"),url(/fonts/SF-Pro-Rounded-Thin.otf) format("opentype");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:SF Pro Rounded;src:url(/fonts/SF-Pro-Rounded-Light.woff2) format("woff2"),url(/fonts/SF-Pro-Rounded-Light.otf) format("opentype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:SF Pro Rounded;src:url(/fonts/SF-Pro-Rounded-Regular.woff2) format("woff2"),url(/fonts/SF-Pro-Rounded-Regular.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:SF Pro Rounded;src:url(/fonts/SF-Pro-Rounded-Medium.woff2) format("woff2"),url(/fonts/SF-Pro-Rounded-Medium.otf) format("opentype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:SF Pro Rounded;src:url(/fonts/SF-Pro-Rounded-Semibold.woff2) format("woff2"),url(/fonts/SF-Pro-Rounded-Semibold.otf) format("opentype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:SF Pro Rounded;src:url(/fonts/SF-Pro-Rounded-Bold.woff2) format("woff2"),url(/fonts/SF-Pro-Rounded-Bold.otf) format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:SF Pro Rounded;src:url(/fonts/SF-Pro-Rounded-Heavy.woff2) format("woff2"),url(/fonts/SF-Pro-Rounded-Heavy.otf) format("opentype");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:SF Pro Rounded;src:url(/fonts/SF-Pro-Rounded-Black.woff2) format("woff2"),url(/fonts/SF-Pro-Rounded-Black.otf) format("opentype");font-weight:900;font-style:normal;font-display:swap}:root{--ivory:#fff8ee;--cream:#f7eedf;--blush:#f4c7c9;--rose:#dfa6ae;--powder:#c9ddeb;--lavender:#d8cbe5;--peach:#f4c9aa;--sage:#cbd8c5;--butter:#f3dfa3;--brown:#8a6f61;--navy:#35445c;--wine:#7a3b4a;--bg:var(--ivory);--bg-soft:var(--cream);--text:var(--navy);--text-soft:var(--brown);--accent:var(--rose);--border:rgba(53,68,92,.12);--tint-1:rgba(53,68,92,.05);--tint-2:rgba(138,111,97,.05);--tint-3:rgba(201,221,235,.15);--tint-4:rgba(216,203,229,.15);--tint-5:hsla(25,77%,81%,.15);--tint-6:rgba(203,216,197,.15);--tint-7:rgba(244,199,201,.2);--font-body:"SF Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--font-display:"SF Pro Display",-apple-system,BlinkMacSystemFont,Georgia,serif;--font-hand:"SF Pro Rounded","SF Pro Display",-apple-system,cursive;--radius:12px;--radius-lg:24px;--radius-pill:999px;--shadow-sm:0 1px 2px rgba(53,68,92,.08);--shadow:0 4px 24px rgba(53,68,92,.1);--shadow-lg:0 20px 60px rgba(53,68,92,.18)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}html{scroll-behavior:smooth}body{font-family:var(--font-body);font-weight:400;background:var(--bg);color:var(--text);line-height:1.6;letter-spacing:-.005em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;overflow-x:hidden}img,svg,video{display:block;max-width:100%;height:auto}button{font-family:inherit;cursor:pointer;border:none;background:none}a,button{color:inherit}a{text-decoration:none}input,textarea{font-family:inherit}.eyebrow{font-family:var(--font-body);font-size:.75rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--rose)}.display-italic{font-family:var(--font-display);font-style:italic;font-weight:300;letter-spacing:-.02em}.cover{min-height:100vh;display:grid;place-items:center;padding:2rem;background:radial-gradient(ellipse at center,var(--cream) 0,var(--ivory) 100%)}.cover-inner{text-align:center;max-width:640px}.cover-envelope{width:240px;margin:0 auto 2rem;transition:transform .4s ease;filter:drop-shadow(0 10px 20px rgba(46,59,84,.16))}.cover-envelope img{display:block;width:100%;height:auto}.cover-envelope:hover{transform:translateY(-4px) rotate(-1deg)}.cover-title{font-family:var(--font-display);font-style:italic;font-weight:300;font-size:clamp(2.2rem,6vw,3.6rem);line-height:1.05;letter-spacing:-.02em;color:var(--brown);margin-bottom:1rem}.cover-sub{font-family:var(--font-body);font-size:.85rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--rose);margin-bottom:3rem}.cover-cta{display:inline-flex;align-items:center;gap:.5rem;padding:.9rem 2rem;background:var(--rose);color:#fff;border-radius:var(--radius-pill);font-size:.95rem;font-weight:500;letter-spacing:.02em;box-shadow:var(--shadow);transition:transform .2s ease,box-shadow .2s ease}.cover-cta:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.login{min-height:100vh;display:grid;place-items:center;padding:2rem;background:var(--bg)}.login-inner{text-align:center;max-width:480px;width:100%}.login-title{font-family:var(--font-display);font-style:italic;font-weight:300;font-size:2rem;letter-spacing:-.02em;color:var(--brown);margin-bottom:.5rem}.login-hint{font-family:var(--font-body);font-size:.9rem;font-weight:400;color:var(--text-soft);margin-bottom:2.5rem}.dragon-picker{display:flex;justify-content:center;gap:2rem;margin-bottom:2rem}.dragon-choice{width:140px;height:140px;border-radius:50%;overflow:hidden;border:3px solid transparent;transition:transform .2s ease,border-color .2s ease;background:transparent}.dragon-choice:hover{transform:scale(1.05)}.dragon-choice.selected{border-color:var(--rose);transform:scale(1.05)}.dragon-choice img{width:100%;height:100%;object-fit:cover}.login-input{width:100%;padding:.9rem 1.2rem;border-radius:var(--radius-pill);border:1px solid var(--border);background:#fff;font-family:var(--font-body);font-size:1rem;text-align:center;letter-spacing:.1em;margin-bottom:1rem;color:var(--text)}.login-input:focus{outline:none;border-color:var(--rose)}.login-submit{width:100%;padding:.9rem 2rem;background:var(--rose);color:#fff;border-radius:var(--radius-pill);font-size:.95rem;font-weight:500;transition:background .2s ease}.login-submit:hover{background:var(--brown)}.login-error{font-family:var(--font-body);font-size:.9rem;color:var(--brown);margin-top:1rem;min-height:1.5em}.book-shell{min-height:100vh;padding-bottom:6rem;background:radial-gradient(ellipse 900px 480px at 50% 0,hsla(4,61%,89%,.4),transparent 65%),radial-gradient(ellipse 700px 420px at 100% 100%,rgba(199,221,233,.3),transparent 60%);background-attachment:fixed}.top-nav{position:-webkit-sticky;position:sticky;top:0;z-index:40;background:rgba(255,248,238,.85);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--border);padding:.75rem 1.5rem;display:flex;align-items:center;justify-content:space-between}.nav-back{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .9rem;border-radius:var(--radius-pill);color:var(--brown);font-size:.85rem;font-weight:500;transition:background .2s ease}.nav-back:hover{background:var(--cream)}.nav-title{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:.95rem;letter-spacing:-.01em;color:var(--brown)}.nav-actions{display:flex;align-items:center;gap:.75rem}.nav-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;justify-self:end;box-shadow:0 2px 6px rgba(46,59,84,.15)}.hero-rotator{position:relative;aspect-ratio:4/3;overflow:hidden;margin-bottom:3rem}.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease-in-out;display:flex;align-items:flex-end}.hero-slide.active{opacity:1}.hero-slide-bg{position:absolute;inset:0;background-size:cover;background-position:50%;filter:brightness(.85);animation:kenBurns 20s ease-in-out infinite alternate}@keyframes kenBurns{0%{transform:scale(1) translate(0)}to{transform:scale(1.08) translate(-1%,-1%)}}.hero-slide-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(53,68,92,.78) 0,rgba(53,68,92,.3) 16%,transparent 40%)}.hero-slide-content{position:relative;z-index:2;padding:3rem 2rem 4rem;color:#fff;max-width:720px}.hero-slide-chapter{font-family:var(--font-body);font-size:.75rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;opacity:.85;margin-bottom:.6rem}.hero-slide-title{font-family:var(--font-display);font-style:italic;font-size:clamp(2.4rem,5vw,3.8rem);font-weight:300;line-height:1.02;letter-spacing:-.025em;margin-bottom:1rem}.hero-slide-teaser{font-family:var(--font-body);font-size:1rem;font-weight:400;line-height:1.5;opacity:.92;margin-bottom:1.5rem;max-width:540px}.hero-slide-cta{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#fff;color:var(--navy);border-radius:var(--radius-pill);font-size:.9rem;font-weight:500;transition:transform .2s ease}.hero-slide-cta:hover{transform:translateY(-2px)}.section-eyebrow{padding:0 2rem;font-family:var(--font-body);font-size:.75rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--rose);margin-bottom:1rem}.chapter-carousel{display:flex;gap:1rem;padding:0 2rem 3rem;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.chapter-carousel::-webkit-scrollbar{display:none}.chapter-poster{flex:0 0 240px;aspect-ratio:2/3;border-radius:var(--radius);position:relative;overflow:hidden;scroll-snap-align:start;cursor:pointer;transition:transform .3s ease;box-shadow:var(--shadow)}.chapter-poster:hover{transform:translateY(-4px) scale(1.02)}.chapter-poster-bg{position:absolute;inset:0;background-size:cover;background-position:50%}.chapter-poster-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.78) 0,transparent 60%);display:flex;align-items:flex-end;padding:1.25rem;color:#fff}.chapter-poster-num{font-family:var(--font-body);font-size:.7rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;opacity:.85}.chapter-poster-title{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:1.15rem;line-height:1.15;letter-spacing:-.01em;margin-top:.3rem}.section-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:1.25rem;gap:1.25rem;padding:0 2rem 4rem}.section-tile{aspect-ratio:4/3;border-radius:var(--radius);padding:1.5rem;background:#fff;border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:transform .25s ease,box-shadow .25s ease;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;cursor:pointer}.section-tile:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.section-tile-title{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:1.3rem;letter-spacing:-.015em;color:var(--brown)}.section-tile-sub{font-family:var(--font-body);font-size:.82rem;font-weight:400;color:var(--text-soft);margin-top:.3rem;line-height:1.4}.section-tile-bg-dragon{position:absolute;right:-8px;bottom:-8px;width:108px;height:auto;opacity:.92;filter:drop-shadow(0 4px 10px rgba(46,59,84,.12));pointer-events:none;transition:transform .25s ease}.section-tile:hover .section-tile-bg-dragon{transform:scale(1.06) rotate(-2deg)}.section-tile-icon{position:absolute;top:.75rem;left:.75rem;width:28px;height:28px;object-fit:cover;border-radius:6px;opacity:.9;pointer-events:none}.farewell-feature-wrap{max-width:720px;margin:0 auto;padding:0 2rem 2.5rem}.farewell-feature-card{display:block;border-radius:var(--radius-lg);padding:2rem;background:linear-gradient(135deg,var(--wine),var(--rose));box-shadow:var(--shadow-lg);transition:transform .25s ease}.farewell-feature-card:hover{transform:translateY(-3px)}.apology-feature-card{background:linear-gradient(135deg,var(--navy),var(--brown))}.farewell-feature-eyebrow{font-family:var(--font-body);font-size:.72rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:hsla(0,0%,100%,.85);margin-bottom:.6rem}.farewell-feature-title{font-family:var(--font-display);font-style:italic;font-weight:300;font-size:clamp(1.4rem,3.4vw,1.9rem);color:#fff;line-height:1.3;margin-bottom:1.25rem}.farewell-feature-cta{display:inline-block;font-family:var(--font-body);font-size:.85rem;font-weight:500;color:#fff;opacity:.9}.foreword-feature-card{background:linear-gradient(135deg,var(--brown),var(--rose))}.release-feature-wrap{max-width:960px;margin:3rem auto 0;padding:2rem 2rem 4rem;border-top:1px solid var(--border)}.release-feature-card{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;border-radius:var(--radius);padding:1.75rem 2rem;background:var(--paper,#fdf8f2);border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:transform .25s ease,box-shadow .25s ease}.release-feature-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.release-feature-eyebrow{font-family:var(--font-body);font-size:.72rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--text-soft);margin-bottom:.35rem}.release-feature-title{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:1.4rem;color:var(--brown)}.release-feature-cta{font-family:var(--font-body);font-size:.85rem;font-weight:500;color:var(--brown);white-space:nowrap}.chapter-hero{position:relative;aspect-ratio:4/3;overflow:hidden}.chapter-hero-bg{position:absolute;inset:0;background-size:cover;background-position:50%;animation:kenBurns 24s ease-in-out infinite alternate}.chapter-hero-rotator{position:absolute;inset:0;overflow:hidden}.chapter-hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;opacity:0;transform:scale(1) translate(0);transition-property:opacity;transition-timing-function:ease-in-out;will-change:transform,opacity}.chapter-hero-slide.active{opacity:1;animation-name:chapterKenBurns;animation-timing-function:ease-in-out;animation-fill-mode:forwards}@keyframes chapterKenBurns{0%{transform:scale(1) translate(0)}to{transform:scale(1.05) translate(var(--pan-x),var(--pan-y))}}.chapter-hero-still{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}.chapter-hero-overlay{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to top,var(--ivory) 0,rgba(255,248,238,.55) 14%,transparent 34%)}.chapter-photo-strip{position:absolute;inset:0;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.chapter-photo-strip::-webkit-scrollbar{display:none}.chapter-photo-strip-img{flex:0 0 auto;height:100%;aspect-ratio:4/3;object-fit:cover;scroll-snap-align:center}.chapter-hero-content{position:absolute;bottom:0;left:0;right:0;padding:3rem 2rem 2rem;color:var(--navy)}.chapter-hero-num{font-family:var(--font-body);font-size:.75rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--rose);margin-bottom:.5rem}.chapter-hero-title{font-family:var(--font-display);font-style:italic;font-weight:300;font-size:clamp(2.6rem,7vw,4.6rem);line-height:1.02;letter-spacing:-.025em;color:var(--brown);margin-bottom:.6rem}.chapter-hero-dates{font-family:var(--font-body);font-size:.9rem;color:var(--text-soft);margin-bottom:1.5rem;letter-spacing:.02em}.chapter-play{display:inline-flex;align-items:center;gap:.6rem;padding:.85rem 1.8rem;background:var(--rose);color:#fff;border-radius:var(--radius-pill);font-size:.9rem;font-weight:500;box-shadow:var(--shadow);transition:transform .2s ease}.chapter-play:hover{transform:translateY(-2px)}.chapter-body{max-width:720px;margin:0 auto;padding:3rem 2rem 5rem}.chapter-synopsis{font-family:var(--font-body);font-size:1.05rem;line-height:1.75;color:var(--text);margin-bottom:2rem}.chapter-next-prev{display:flex;justify-content:space-between;padding-top:3rem;border-top:1px solid var(--border)}.chapter-nav-btn{padding:.7rem 1.3rem;border-radius:var(--radius-pill);border:1px solid var(--border);color:var(--brown);font-family:var(--font-body);font-size:.85rem;font-weight:500;transition:background .2s ease}.chapter-nav-btn:hover{background:var(--cream)}.chapter-mark{display:block;width:200px;max-width:60%;height:auto;margin:2.5rem auto;opacity:.9}.chapter-carousel-below{position:relative;width:100%;max-width:420px;aspect-ratio:2/3;margin:0 auto 2.5rem;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow)}.chapter-carousel-slide,.chapter-carousel-still{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.chapter-carousel-slide{opacity:0;transform:scale(1) translate(0);transition-property:opacity;transition-timing-function:ease-in-out;will-change:transform,opacity}.chapter-carousel-slide.active{opacity:1;animation-name:chapterKenBurns;animation-timing-function:ease-in-out;animation-fill-mode:forwards}.reader{min-height:100vh;padding-bottom:6rem}.reader-tint-1{background:linear-gradient(180deg,var(--tint-1),var(--bg) 20%)}.reader-tint-2{background:linear-gradient(180deg,var(--tint-2),var(--bg) 20%)}.reader-tint-3{background:linear-gradient(180deg,var(--tint-3),var(--bg) 20%)}.reader-tint-4{background:linear-gradient(180deg,var(--tint-4),var(--bg) 20%)}.reader-tint-5{background:linear-gradient(180deg,var(--tint-5),var(--bg) 20%)}.reader-tint-6{background:linear-gradient(180deg,var(--tint-6),var(--bg) 20%)}.reader-tint-7{background:linear-gradient(hsla(40,65%,95%,.65),hsla(40,65%,95%,.65)),url(/dragons/01_Main_Pack/main_065.png) center 30% /cover no-repeat,linear-gradient(180deg,var(--tint-7),var(--bg) 20%)}.reader-tint-apology{background:linear-gradient(hsla(40,65%,95%,.7),hsla(40,65%,95%,.7)),url(/dragons/01_Main_Pack/main_065.png) center 30% /cover no-repeat,linear-gradient(180deg,var(--tint-7),var(--bg) 20%)}.reader-tint-farewell{background:linear-gradient(180deg,var(--wine) 0,var(--blush) 12%,var(--bg) 26%)}.reader-tint-farewell .reader-eyebrow,.reader-tint-farewell .reader-title{color:#fff}.reader-tint-farewell .reader-body p:first-of-type:first-letter{color:var(--wine)}.reader-inner{max-width:640px;margin:0 auto;padding:4rem 2rem 6rem}.reader-eyebrow{font-family:var(--font-body);font-size:.75rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--rose);margin-bottom:.75rem}.reader-title{font-style:italic;font-weight:300;font-size:clamp(2.4rem,5vw,3.6rem);color:var(--brown);line-height:1.02;letter-spacing:-.025em;margin-bottom:2rem}.reader-body,.reader-title{font-family:var(--font-display)}.reader-body{font-weight:400;font-size:1.1rem;line-height:1.85;color:var(--text);letter-spacing:-.005em}.reader-body p{margin-bottom:1.4rem}.reader-body p:first-of-type:first-letter{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:4rem;float:left;line-height:1;padding-right:.5rem;padding-top:.3rem;color:var(--rose)}.reader-signoff{margin-top:3rem;font-family:var(--font-hand);font-size:1.6rem;color:var(--rose)}.foreword-accent{display:block;width:96px;height:auto;margin:3rem 0 0 auto;opacity:.9}.reader-header-accent{display:block;width:80px;height:auto;margin:0 auto 1.5rem;opacity:.9}.farewell-signoff-mark{display:block;width:160px;max-width:50%;height:auto;margin:3.5rem auto 0;opacity:.92}.reader-tobcontinued{margin-top:4rem;text-align:center;font-family:var(--font-display);font-style:italic;font-size:1rem;color:var(--brown);opacity:.65;letter-spacing:.02em}.empty-state{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:3rem 1rem;text-align:center}.empty-state-art{width:88px;height:auto;opacity:.9}.empty-state-text{font-family:var(--font-hand);font-size:1.2rem;color:var(--text-soft)}.book-loading-screen{min-height:60vh;display:grid;place-items:center}.dragon-loader{display:flex;flex-direction:column;align-items:center;gap:.75rem}.dragon-loader-img{width:64px;height:auto;animation:dragonLoaderFly 1.6s ease-in-out infinite}@keyframes dragonLoaderFly{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-10px) rotate(-4deg)}}.dragon-loader-label{font-family:var(--font-body);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-soft)}.dragon-divider{display:flex;align-items:center;justify-content:center;gap:.75rem;margin:3rem 0;opacity:.5}.dragon-divider img{width:32px;height:32px}.dragon-divider .heart{color:var(--rose);font-size:1rem}.songs-list{max-width:720px;margin:0 auto;padding:2rem}.song-card{background:#fff;border-radius:var(--radius);padding:1.5rem;margin-bottom:1rem;border:1px solid var(--border);box-shadow:var(--shadow-sm)}.song-num{font-family:var(--font-body);font-size:.7rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--rose);margin-bottom:.4rem}.song-title{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:1.3rem;color:var(--brown);letter-spacing:-.015em;margin-bottom:.3rem}.song-artist{font-size:.82rem;margin-bottom:1rem;line-height:1.4}.song-artist,.song-source{font-family:var(--font-body);color:var(--text-soft)}.song-source{font-size:.72rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;margin-bottom:.75rem}.song-timestamp{font-size:.78rem;margin-bottom:.6rem}.song-badge,.song-timestamp{font-family:var(--font-body);font-weight:500;color:var(--rose)}.song-badge{display:inline-block;padding:.25rem .7rem;border-radius:var(--radius-pill);background:var(--cream);font-size:.72rem;letter-spacing:.06em;margin-bottom:.9rem}.song-note{font-family:var(--font-body);font-size:1rem;line-height:1.65;color:var(--text)}.song-timestamp-badge{display:inline-block;padding:.2rem .6rem;border-radius:var(--radius-pill);background:var(--cream);color:var(--brown);font-family:var(--font-body);font-size:.7rem;font-weight:500;letter-spacing:.04em;margin-left:.5rem;vertical-align:middle}.song-embed{display:block;margin:.75rem 0;border-radius:12px;overflow:hidden}.song-timestamp-badge-below{margin-left:0;margin-bottom:.75rem}.finalsong-embed{max-width:480px;margin:1rem auto}.playlist-buttons{display:flex;gap:.75rem;justify-content:center;padding:2rem;flex-wrap:wrap}.playlist-btn{padding:.7rem 1.4rem;border-radius:var(--radius-pill);background:#fff;border:1px solid var(--border);color:var(--brown);font-family:var(--font-body);font-size:.9rem;font-weight:500;transition:background .2s ease}.playlist-btn:hover{background:var(--cream)}.playlist-btn.spotify{background:#1db954;color:#fff;border:none}.playlist-btn.spotify:hover{background:#1aa54a}.finalsong{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;background:linear-gradient(hsla(25,77%,81%,.55),hsla(40,65%,95%,.82)),url(/dragons/scenes/finalsong-cliff.png) center 30% /cover no-repeat,radial-gradient(ellipse at center,var(--peach),var(--ivory) 70%)}.finalsong-eyebrow{font-family:var(--font-body);font-size:.75rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--rose);margin-bottom:1rem}.finalsong-title{font-family:var(--font-display);font-style:italic;font-weight:300;font-size:clamp(2.4rem,6vw,4rem);color:var(--brown);line-height:1.02;letter-spacing:-.025em;margin-bottom:.6rem}.finalsong-artist{font-family:var(--font-body);font-size:.95rem;color:var(--text-soft);margin-bottom:2rem;line-height:1.5}.finalsong-time{font-family:var(--font-display);font-style:italic;color:var(--rose);font-size:1.15rem;margin-bottom:2rem}.finalsong-prose{max-width:640px;margin:0 auto 2rem;text-align:left}.finalsong-note{font-family:var(--font-display);font-size:1.1rem;line-height:1.85;color:var(--text);margin-bottom:1.25rem;letter-spacing:-.005em}.finalsong-note:last-child{margin-bottom:0}.finalsong-buttons{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.polaroids-caption{font-family:var(--font-hand);font-size:1.3rem;color:var(--brown);text-align:center;margin:.5rem 0 0}.polaroid-carousel{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:40px 20px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.polaroid-carousel::-webkit-scrollbar{display:none}.polaroid-item{flex:0 0 auto;scroll-snap-align:center;background:none;padding:0;cursor:pointer;filter:drop-shadow(0 8px 16px rgba(46,59,84,.18));transition:transform .3s}.polaroid-item:nth-child(odd){transform:rotate(-2deg)}.polaroid-item:nth-child(2n){transform:rotate(3deg)}.polaroid-item:nth-child(3n){transform:rotate(-1deg)}.polaroid-item img{display:block;height:340px;width:auto;border-radius:4px}.polaroids-pagination{font-family:var(--font-display);letter-spacing:.06em;font-size:.85rem;color:var(--text-soft);text-align:right;max-width:960px;margin:0 auto;padding:0 20px}@media (max-width:640px){.polaroid-item img{height:260px}}.lightbox{position:fixed;inset:0;z-index:100;background:rgba(53,68,92,.92);display:none;align-items:center;justify-content:center;padding:2rem;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.lightbox.open{display:flex}.lightbox-content{background:#fff;padding:1rem 1rem 2.5rem;border-radius:6px;box-shadow:var(--shadow-lg);max-width:min(560px,90vw);max-height:90vh;position:relative}.lightbox-img{display:block;width:100%;height:auto;max-height:70vh;object-fit:contain;border-radius:10px;margin-bottom:1rem}.lightbox-caption{font-family:var(--font-display);font-style:italic;font-size:1.05rem;color:var(--brown);text-align:center}.lightbox-close{position:absolute;top:-3rem;right:0;color:#fff;font-family:var(--font-body);font-size:.8rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;padding:.5rem 1rem}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);color:#fff;font-size:2rem;padding:1rem;opacity:.7;transition:opacity .2s ease}.lightbox-nav:hover{opacity:1}.lightbox-nav.prev{left:-3.5rem}.lightbox-nav.next{right:-3.5rem}@media (max-width:640px){.lightbox-nav.prev{left:.5rem}.lightbox-nav.next{right:.5rem}}.lineandreply-shell{max-width:640px;margin:0 auto;padding:4rem 2rem 6rem;min-height:80vh;display:flex;flex-direction:column;align-items:center;justify-content:center}.lar-progress{font-family:var(--font-body);font-size:.75rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--rose);margin-bottom:.75rem}.lar-date{font-family:var(--font-display);font-style:italic;color:var(--text-soft);font-size:1rem;margin-bottom:2rem}.lar-bubble{background:#fff;padding:1.25rem 1.5rem;border-radius:18px;max-width:480px;box-shadow:var(--shadow);margin-bottom:1.25rem;position:relative}.lar-bubble.line{border-bottom-left-radius:4px;margin-right:auto;margin-left:0}.lar-bubble.reply{background:var(--rose);color:#fff;border-bottom-right-radius:4px;margin-left:auto;margin-right:0}.lar-speaker{font-size:.7rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;opacity:.65;margin-bottom:.4rem}.lar-speaker,.lar-text{font-family:var(--font-body)}.lar-text{font-size:1rem;line-height:1.5;white-space:pre-line}.lar-reveal-btn{padding:.75rem 1.75rem;background:var(--brown);color:#fff;border-radius:var(--radius-pill);font-family:var(--font-body);font-size:.9rem;font-weight:500;transition:transform .2s ease;margin-top:1rem}.lar-reveal-btn:hover{transform:translateY(-2px)}.lar-next-btn{padding:.6rem 1.4rem;background:transparent;border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--brown);font-family:var(--font-body);font-size:.85rem;font-weight:500;margin-top:1.5rem;transition:background .2s ease}.lar-next-btn:hover{background:var(--cream)}.voicenotes-player{max-width:480px;margin:2rem auto 0;padding:2rem;background:#fff;border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow);text-align:center}.voicenotes-progress{font-family:var(--font-body);font-size:.72rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--rose);margin-bottom:.5rem}.voicenotes-speaker{font-family:var(--font-display);font-style:italic;color:var(--brown);font-size:1.1rem;margin-bottom:1rem}.voicenotes-audio{width:100%;margin-bottom:1rem}.voicenotes-caption{font-family:var(--font-body);color:var(--text);font-size:.95rem;line-height:1.5}.tc-shell{max-width:640px;margin:0 auto;padding:4rem 2rem 6rem}.tc-status{text-align:center;padding:3rem 2rem;background:#fff;border-radius:var(--radius);border:1px solid var(--border);margin-bottom:2rem}.tc-icon{display:block;width:120px;height:auto;margin:0 auto 1.5rem;opacity:.9;border-radius:var(--radius)}.tc-lock-msg{font-family:var(--font-display);font-style:italic;font-size:1.5rem;color:var(--brown);margin-bottom:.5rem;letter-spacing:-.015em}.tc-lock-sub{font-family:var(--font-body);color:var(--text-soft);font-size:.95rem}.tc-textarea{width:100%;min-height:240px;padding:1.25rem;border-radius:var(--radius);border:1px solid var(--border);background:#fff;font-family:var(--font-display);font-size:1.05rem;line-height:1.7;color:var(--text);resize:vertical}.tc-textarea:focus{outline:none;border-color:var(--rose)}.tc-photo-upload{margin-top:1rem;padding:1rem;border:1px dashed var(--border);border-radius:var(--radius);text-align:center;color:var(--text-soft);font-family:var(--font-body);font-size:.85rem}.tc-save-btn{padding:.9rem 2rem;background:var(--rose);color:#fff;border-radius:var(--radius-pill);font-family:var(--font-body);font-size:.95rem;font-weight:500;margin-top:1.5rem;width:100%;transition:background .2s ease}.tc-save-btn:hover{background:var(--brown)}.tc-warning{font-size:.8rem;color:var(--brown);opacity:.7;margin-top:.75rem;text-align:center}.tc-admin-badge,.tc-warning{font-family:var(--font-body)}.tc-admin-badge{display:inline-block;padding:.35rem .9rem;background:var(--navy);color:#fff;border-radius:var(--radius-pill);font-size:.7rem;font-weight:600;letter-spacing:.14em;margin-bottom:1rem}.tc-admin-letter{background:#fff;padding:2rem;border-radius:var(--radius);border:1px solid var(--border);margin-bottom:1.5rem}.tc-admin-letter-header{font-family:var(--font-body);font-size:.8rem;font-weight:500;letter-spacing:.06em;color:var(--rose);margin-bottom:1rem}.tc-admin-letter-body{font-family:var(--font-display);font-style:italic;font-size:1.05rem;line-height:1.8;color:var(--text);white-space:pre-wrap}.release-shell{max-width:640px;margin:0 auto;padding:4rem 2rem 6rem;text-align:center}.release-explain{font-family:var(--font-display);font-style:italic;font-size:1.1rem;color:var(--text);line-height:1.7;margin-bottom:2rem}.release-status{padding:2rem;background:#fff;border-radius:var(--radius);border:1px solid var(--border);margin-bottom:1.5rem}.release-countdown{font-family:var(--font-display);font-style:italic;font-weight:300;font-size:2.4rem;color:var(--rose);margin-bottom:.5rem;letter-spacing:-.02em}.release-countdown-sub{color:var(--text-soft)}.release-btn-danger,.release-countdown-sub{font-family:var(--font-body);font-size:.9rem}.release-btn-danger{padding:.9rem 2rem;background:transparent;color:var(--brown);border:1px solid var(--brown);border-radius:var(--radius-pill);font-weight:500;transition:all .2s ease}.release-btn-danger:hover{background:var(--brown);color:#fff}.release-btn-cancel{padding:.9rem 2rem;background:var(--rose);color:#fff;border-radius:var(--radius-pill);font-family:var(--font-body);font-size:.9rem;font-weight:500}.cast-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:2rem;gap:2rem;padding:2rem;max-width:800px;margin:0 auto}.cast-card{background:#fff;border-radius:var(--radius);padding:2rem;text-align:center;border:1px solid var(--border);box-shadow:var(--shadow-sm)}.cast-dragon{width:140px;height:140px;border-radius:50%;overflow:hidden;margin:0 auto 1rem}.cast-dragon img{width:100%;height:100%;object-fit:cover}.cast-name{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:1.7rem;color:var(--brown);letter-spacing:-.02em;margin-bottom:.3rem}.cast-role{font-size:.75rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--rose);margin-bottom:1rem}.cast-bio,.cast-role{font-family:var(--font-body)}.cast-bio{font-size:.95rem;color:var(--text);line-height:1.65}.content-page{max-width:720px;margin:0 auto;padding:3rem 2rem 5rem}.content-title{font-family:var(--font-display);font-style:italic;font-weight:300;font-size:clamp(2.2rem,5vw,3.2rem);color:var(--brown);letter-spacing:-.025em;margin-bottom:.5rem}.content-header-art{display:block;width:76px;height:auto;margin:0 0 1rem;filter:drop-shadow(0 4px 10px rgba(46,59,84,.1))}.content-eyebrow{font-family:var(--font-body);font-size:.75rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--rose);margin-bottom:1.25rem}.content-intro{font-family:var(--font-body);color:var(--text);line-height:1.7;margin-bottom:2.5rem;font-size:1rem}.item-list{display:flex;flex-direction:column;gap:.5rem}.item{padding:1rem 1.25rem;background:#fff;border-radius:var(--radius);border:1px solid var(--border);display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.item-name{font-family:var(--font-display);font-style:italic;color:var(--brown);font-size:1.05rem;letter-spacing:-.01em}.item-note{font-family:var(--font-body);color:var(--text-soft);font-size:.85rem;text-align:right;line-height:1.4}.places-map-wrap{margin-bottom:2.5rem}.places-map-svg{width:100%;height:auto;max-width:480px;display:block;margin:0 auto}.places-map-land{fill:var(--sage);opacity:.35}.places-pin{cursor:pointer;outline:none}.places-pin-dot{fill:var(--rose);stroke:#fff;stroke-width:2;filter:drop-shadow(0 2px 4px rgba(46,59,84,.25));transition:r .15s ease,fill .15s ease}.places-pin-num{font-family:var(--font-body);font-size:9px;font-weight:600;fill:#fff;pointer-events:none}.places-pin.active .places-pin-dot,.places-pin:hover .places-pin-dot{fill:var(--wine);r:12}.places-map-hint{text-align:center;font-family:var(--font-display);font-style:italic;color:var(--text-soft);font-size:.9rem;margin-top:1rem}.places-map-card{max-width:420px;margin:1rem auto 0;padding:1.25rem 1.5rem;background:#fff;border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow);text-align:center}.places-map-card-num{font-family:var(--font-body);font-size:.7rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--rose);margin-bottom:.4rem}.places-map-card-name{font-family:var(--font-display);font-style:italic;color:var(--brown);font-size:1.15rem;margin-bottom:.4rem}.places-map-card-note{font-family:var(--font-body);color:var(--text);font-size:.9rem;line-height:1.5}.watched-section-title{margin-top:2rem;margin-bottom:1rem;font-family:var(--font-display);font-style:italic;color:var(--rose);font-size:1.3rem}.watched-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1.25rem 1rem;gap:1.25rem 1rem}.watched-card{display:flex;flex-direction:column}.watched-poster{position:relative;width:100%;aspect-ratio:2/3;border-radius:var(--radius);overflow:hidden;background:var(--cream);box-shadow:var(--shadow-sm);margin-bottom:.5rem}.watched-poster-img{width:100%;height:100%;object-fit:cover;display:flex;align-items:center;justify-content:center;text-align:center;padding:.5rem;font-family:var(--font-body);font-size:.75rem;color:var(--text-soft)}.watched-card-title{font-family:var(--font-display);font-style:italic;color:var(--brown);font-size:.9rem;line-height:1.3}.watched-card-line{font-family:var(--font-body);color:var(--text-soft);font-size:.75rem;line-height:1.4;margin-top:.2rem}.watched-add-tile{width:100%;aspect-ratio:2/3;border-radius:var(--radius);border:1.5px dashed rgba(223,166,174,.3);background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;margin-bottom:.5rem;cursor:pointer;transition:border-color .15s ease,background .15s ease}.watched-add-tile:hover{border-color:var(--rose);background:rgba(223,166,174,.08)}.watched-add-form{cursor:default;padding:.75rem}.watched-add-input{width:100%;border:1px solid rgba(223,166,174,.4);border-radius:calc(var(--radius) / 2);padding:.4rem .6rem;font-family:var(--font-body);font-size:.85rem;color:var(--brown);background:var(--cream);text-align:center}.watched-add-input:focus{outline:none;border-color:var(--rose)}.watched-add-submit{font-family:var(--font-display);font-style:italic;color:var(--rose);background:none;border:1px solid rgba(223,166,174,.4);border-radius:calc(var(--radius) / 2);padding:.3rem .9rem;font-size:.85rem;cursor:pointer}.watched-add-submit:disabled{opacity:.5;cursor:default}.watched-add-error{font-family:var(--font-body);color:var(--rose);font-size:.7rem;text-align:center}.watched-add-plus{font-size:48px;line-height:1}.watched-add-label,.watched-add-plus{font-family:var(--font-display);font-style:italic;color:var(--rose)}.watched-add-label{font-size:.85rem}.watched-add-caption{font-family:var(--font-hand);color:var(--text-soft);font-size:.8rem;text-align:center;cursor:default}@media (max-width:640px){.watched-grid{grid-template-columns:repeat(2,1fr);gap:1rem .75rem}}.dict-shelf{margin-bottom:2.5rem}.dict-shelf-title{font-family:var(--font-body);font-size:.75rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--rose);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.dict-entry{padding:.75rem 0;border-bottom:1px dashed var(--border)}.dict-entry:last-child{border-bottom:none}.dict-term{font-family:var(--font-display);font-style:italic;color:var(--brown);font-size:1.15rem;letter-spacing:-.01em}.dict-def{font-family:var(--font-body);color:var(--text);font-size:.9rem;margin-top:.25rem;line-height:1.5}.fl-tabs{display:flex;gap:.5rem;margin-bottom:2rem;justify-content:center}.fl-tab{padding:.6rem 1.5rem;border-radius:var(--radius-pill);border:1px solid var(--border);color:var(--brown);font-family:var(--font-body);font-size:.85rem;font-weight:500;transition:all .2s ease}.fl-tab.active{background:var(--rose);color:#fff;border-color:var(--rose)}.fl-entry{display:grid;grid-template-columns:110px 1fr;grid-gap:1.5rem;gap:1.5rem;padding:1rem 0;border-bottom:1px dashed var(--border)}.fl-date{color:var(--rose);font-size:.8rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;padding-top:.2rem}.fl-body,.fl-date{font-family:var(--font-body)}.fl-body{color:var(--text);line-height:1.6;font-size:.98rem}.numbers-band{background:linear-gradient(135deg,var(--cream),var(--peach));border-radius:var(--radius-lg);padding:2.5rem;margin-bottom:3rem;text-align:center}.numbers-title{font-family:var(--font-display);font-style:italic;font-weight:300;color:var(--brown);font-size:1.7rem;margin-bottom:1.5rem;letter-spacing:-.02em}.numbers-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:1rem;gap:1rem}.number-cell{padding:1rem}.number-value{font-family:var(--font-display);font-style:italic;font-size:2.2rem;color:var(--brown);font-weight:300;letter-spacing:-.03em}.number-label{font-family:var(--font-body);color:var(--text-soft);font-size:.78rem;margin-top:.4rem;line-height:1.4}.ledger-entry{display:grid;grid-template-columns:110px 1fr;grid-gap:1.25rem;gap:1.25rem;padding:.85rem 0;border-bottom:1px dashed var(--border)}.ledger-who{color:var(--rose);font-size:.85rem;font-weight:500;letter-spacing:.04em}.ledger-what,.ledger-who{font-family:var(--font-body)}.ledger-what{font-size:.95rem;line-height:1.6}.otd-today-card{background:#fff;border-radius:var(--radius-lg);padding:2.5rem;border:1px solid var(--border);box-shadow:var(--shadow);text-align:center;margin-bottom:3rem}.otd-year{font-family:var(--font-hand);color:var(--rose);font-size:1.5rem;margin-bottom:.75rem}.otd-memory{font-weight:300;font-size:1.4rem;color:var(--brown);line-height:1.5;letter-spacing:-.015em;margin-bottom:0}.otd-empty,.otd-memory{font-family:var(--font-display);font-style:italic}.otd-empty{color:var(--text-soft);font-size:1.05rem;padding:3rem 1rem;text-align:center}.otd-calendar{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:.75rem;gap:.75rem;padding:1rem 0}.otd-date-card{padding:1rem;background:#fff;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:transform .2s ease}.otd-date-card:hover{transform:translateY(-2px)}.otd-date-label{font-family:var(--font-body);color:var(--rose);font-size:.75rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.otd-date-preview{font-family:var(--font-body);font-size:.88rem;color:var(--text);margin-top:.35rem;line-height:1.5}.trip-card{background:#fff;border-radius:var(--radius);overflow:hidden;margin-bottom:1.5rem;border:1px solid var(--border);box-shadow:var(--shadow-sm)}.trip-header{padding:1.5rem;border-bottom:1px solid var(--border)}.trip-name{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:1.5rem;color:var(--brown);letter-spacing:-.015em}.trip-dates{color:var(--rose);font-size:.8rem;font-weight:500;letter-spacing:.06em;margin-top:.35rem;text-transform:uppercase}.trip-body,.trip-dates{font-family:var(--font-body)}.trip-body{padding:1.5rem;color:var(--text);line-height:1.65;font-size:.98rem}.trip-special{background:linear-gradient(135deg,var(--lavender),var(--powder))}.trip-special .trip-name{color:var(--navy)}.trips-header-art{display:block;width:140px;height:auto;margin:0 auto 2rem;opacity:.95}.trip-special-art{display:block;width:110px;height:auto;margin:0 1.5rem 1.5rem auto;border-radius:var(--radius)}.trips-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:12px;gap:12px}@media (min-width:900px){.trips-grid{grid-template-columns:repeat(4,1fr)}}.trip-tile{display:flex;flex-direction:column;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);background:#fff}.trip-tile-imgbtn{display:block;width:100%;aspect-ratio:3/4;padding:0;border:none;background:none;cursor:zoom-in;overflow:hidden}.trip-tile-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}.trip-tile-imgbtn:focus-visible .trip-tile-img,.trip-tile-imgbtn:hover .trip-tile-img{transform:scale(1.06)}.trip-tile-fallback{width:100%;aspect-ratio:3/4;background:linear-gradient(160deg,var(--blush) 0,var(--cream) 100%)}.trip-tile-info{padding:.75rem .9rem 1rem;text-align:center}.trip-tile-name{font-family:var(--font-display);font-style:italic;font-size:1.1rem;color:var(--wine)}.trip-tile-caption{font-family:var(--font-hand);font-size:.85rem;color:var(--brown);margin-top:.2rem}.bg-music-toggle{position:fixed;top:1rem;right:1rem;z-index:50;width:40px;height:40px;border-radius:50%;background:hsla(0,0%,100%,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border);display:grid;place-items:center;color:var(--brown);transition:transform .2s ease,background .2s ease;box-shadow:var(--shadow-sm)}.bg-music-toggle:hover{transform:scale(1.05);background:#fff}.bg-music-toggle svg{width:20px;height:20px}.reveal-note{background:linear-gradient(135deg,var(--blush),var(--peach));border-radius:var(--radius-lg);padding:2rem;margin-top:3rem;text-align:center}.reveal-note-lead{font-family:var(--font-hand);font-size:1.5rem;color:var(--brown);margin-bottom:1rem}.reveal-note-btn{display:inline-block;padding:.85rem 2rem;background:#fff;color:var(--brown);border-radius:var(--radius-pill);font-family:var(--font-body);font-size:.9rem;font-weight:500;box-shadow:var(--shadow);transition:transform .2s ease}.reveal-note-btn:hover{transform:translateY(-2px)}.center{text-align:center}.mt-2{margin-top:1rem}.mt-4{margin-top:2rem}.mb-2{margin-bottom:1rem}.mb-4{margin-bottom:2rem}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (max-width:640px){.section-grid{padding:0 1rem 3rem;grid-template-columns:repeat(2,1fr);gap:.75rem}.section-tile{padding:1rem;aspect-ratio:1}.section-tile-title{font-size:1.05rem}.chapter-carousel{padding:0 1rem 2rem}.chapter-poster{flex-basis:170px}.hero-rotator{height:55vh}.hero-slide-content{padding:2rem 1.25rem 3rem}.chapter-hero-content{padding:2rem 1.25rem 1.5rem}.reader-inner{padding:3rem 1.5rem 4rem}.polaroid-carousel{padding:24px 12px}.dragon-picker{gap:1rem}.dragon-choice{width:110px;height:110px}}.ao-root{--ink:#6b4638;--ink-soft:rgba(107,70,56,.56);--seal:#b5565a;--seal-deep:#9c4548;--ring:rgba(181,86,90,.92);--seal-x:51.4%;--seal-y:73.3%;--seal-d:12.5%;--pick-y:68.27%;--pick-w:15.19%;--pick-l:38.45%;--pick-r:62.43%;--pick-hl:20.43%;--pick-hr:19.65%;--pill-x:24.70%;--pill-y:80.06%;--pill-w:50.84%;--pill-h:7.47%;--go-x:72.66%;--go-y:84.09%;--go-d:4.32%;height:100dvh;color:var(--ink);font-family:var(--font-body);background:#f4e7df;z-index:1000;-webkit-font-smoothing:antialiased}.ao-root,.ao-scene{position:fixed;inset:0;overflow:hidden}.ao-scene{display:flex;align-items:center;justify-content:center}.ao-spill{position:absolute;inset:0;transition:opacity 3.2s ease}.ao-spill.a{background:radial-gradient(130% 100% at 50% 42%,#fbf3ed 0,#f5e9de 52%,#efe0d1 100%)}.ao-spill.b{background:radial-gradient(130% 100% at 50% 30%,#f9dbcb 0,#f0c8b8 55%,#e5b6ac 100%);opacity:0}.ao-spill.b.show{opacity:1}.ao-stage{position:relative;flex:none;width:min(620px,96vw,112dvh);aspect-ratio:930/757;container-type:inline-size;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 5.5%,#000 95%,transparent);mask-image:linear-gradient(180deg,transparent 0,#000 5.5%,#000 95%,transparent);transition:width .95s cubic-bezier(.22,.72,.2,1),transform .95s cubic-bezier(.22,.72,.2,1),filter .7s ease;will-change:width,transform}.ao-stage.focus{width:min(720px,154vw,158dvh);transform:translateY(-6.5%)}.ao-stage.bloom{filter:brightness(1.06) saturate(1.04)}.ao-layer{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:fill;border:0}.ao-layer.final,.ao-layer.vid{opacity:0;transition:opacity .45s ease}.ao-layer.final.show,.ao-layer.vid.show{opacity:1}.ao-seal{left:var(--seal-x);top:var(--seal-y);width:var(--seal-d);aspect-ratio:1;transform:translate(-50%,-50%);padding:0;border:0;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}.ao-seal,.ao-seal:before{position:absolute;border-radius:50%}.ao-seal:before{content:"";inset:-28%;box-shadow:0 0 0 0 rgba(181,86,90,.42);animation:ao-knock 2.9s ease-out infinite}@keyframes ao-knock{0%{box-shadow:0 0 0 0 rgba(181,86,90,.4)}70%{box-shadow:0 0 0 2.8cqi rgba(181,86,90,0)}to{box-shadow:0 0 0 0 rgba(181,86,90,0)}}.ao-seal:focus-visible{outline:2px solid var(--seal);outline-offset:6px}.ao-seal.pressed{animation:ao-press .42s cubic-bezier(.3,1.5,.5,1);pointer-events:none}@keyframes ao-press{0%{transform:translate(-50%,-50%) scale(1)}40%{transform:translate(-50%,-50%) scale(.88) rotate(-5deg)}to{transform:translate(-50%,-50%) scale(1.04)}}.ao-seal.pressed:before{opacity:0;transition:opacity .3s}.ao-ui{opacity:0;pointer-events:none;transition:opacity .6s ease}.ao-ui.show{opacity:1;pointer-events:auto}.ao-pick{position:absolute;top:var(--pick-y);width:var(--pick-w);transform:translate(-50%,-50%);padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer;transition:transform .4s cubic-bezier(.22,.9,.3,1.2),box-shadow .35s ease;-webkit-tap-highlight-color:transparent}.ao-pick.one{left:var(--pick-l);height:var(--pick-hl)}.ao-pick.two{left:var(--pick-r);height:var(--pick-hr)}.ao-pick:before{content:"";inset:0;background:hsla(30,74%,93%,0);transition:background .4s ease}.ao-pick:after,.ao-pick:before{position:absolute;border-radius:50%}.ao-pick:after{content:"♥";right:-4%;bottom:2%;width:30%;height:30%;display:grid;place-items:center;background:#fdf0e4;color:var(--seal);font-size:clamp(10px,4.4cqi,20px);line-height:1;box-shadow:0 2px 8px rgba(120,70,50,.22);opacity:0;transform:scale(.4) translateY(6px);transition:opacity .3s ease,transform .45s cubic-bezier(.2,1.4,.4,1)}.ao-pick:hover{transform:translate(-50%,-50%) scale(1.035)}.ao-pick:focus-visible{outline:2px solid var(--seal);outline-offset:5px}.ao-pick.on{box-shadow:0 0 0 .34cqi var(--ring),0 0 4.5cqi .8cqi rgba(181,86,90,.26)}.ao-pick.on:after{opacity:1;transform:scale(1) translateY(0)}.ao-ui.chosen .ao-pick:not(.on):before{background:hsla(30,74%,93%,.34)}.ao-pick.nudge{animation:ao-nudge .7s ease}@keyframes ao-nudge{0%,to{transform:translate(-50%,-50%) scale(1)}30%{transform:translate(-50%,-50%) scale(1.07)}60%{transform:translate(-50%,-50%) scale(.99)}}.ao-pw{position:absolute;left:var(--pill-x);top:var(--pill-y);width:var(--pill-w);height:var(--pill-h);padding:0 9% 0 4%;border:0;background:transparent;font-family:var(--font-body);font-weight:300;font-size:16px;letter-spacing:.34em;text-align:center;color:var(--ink);caret-color:var(--seal);border-radius:999px;outline:none}.ao-pw::placeholder{color:transparent}.ao-pw::selection{background:rgba(181,86,90,.22);color:var(--ink)}.ao-ph{position:absolute;left:var(--pill-x);top:var(--pill-y);width:var(--pill-w);height:var(--pill-h);padding-right:9%;display:grid;place-items:center;pointer-events:none;font-weight:300;font-size:clamp(11px,2.45cqi,20px);letter-spacing:.17em;color:var(--ink-soft);white-space:nowrap;transition:opacity .2s ease}.ao-ph.hide{opacity:0}.ao-pw:focus-visible{box-shadow:inset 0 0 0 2px rgba(181,86,90,.35)}.ao-pw.wrong{animation:ao-shake .5s ease}@keyframes ao-shake{0%,to{transform:translateX(0)}20%{transform:translateX(-2.2%)}45%{transform:translateX(1.8%)}70%{transform:translateX(-1.1%)}}.ao-go{position:absolute;left:var(--go-x);top:var(--go-y);width:var(--go-d);aspect-ratio:1;transform:translate(-50%,-50%);padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer;transition:transform .3s cubic-bezier(.2,1.3,.4,1),box-shadow .3s ease;-webkit-tap-highlight-color:transparent}.ao-go:hover{transform:translate(-50%,-50%) scale(1.12);box-shadow:0 0 3cqi .6cqi rgba(181,86,90,.35)}.ao-go:active{transform:translate(-50%,-50%) scale(.94)}.ao-go:focus-visible{outline:2px solid var(--seal-deep);outline-offset:4px}.ao-go:disabled{cursor:default}.ao-msg{position:absolute;left:12%;right:12%;top:89.5%;margin:0;text-align:center;font-size:max(12px,2.05cqi);letter-spacing:.06em;color:var(--seal-deep);opacity:0;transform:translateY(-4px);transition:opacity .3s ease,transform .3s ease}.ao-msg.show{opacity:1;transform:none}.ao-hint{position:absolute;left:0;right:0;bottom:max(5dvh,env(safe-area-inset-bottom));margin:0;text-align:center;font-family:var(--font-display);font-style:italic;font-size:clamp(17px,2.4vw,22px);letter-spacing:.02em;color:#96705f;transition:opacity .5s ease}.ao-hint.ao-hide,.ao-skip{opacity:0}.ao-skip{position:absolute;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));padding:8px 14px;border:1px solid rgba(150,112,95,.35);border-radius:999px;background:rgba(255,247,240,.55);color:#8a6a5e;font-size:13px;letter-spacing:.08em;cursor:pointer;pointer-events:none;transition:opacity .4s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.ao-skip.show{opacity:1;pointer-events:auto}.ao-skip:hover{background:rgba(255,247,240,.85)}@media (prefers-reduced-motion:reduce){.ao-root *{animation:none!important}.ao-layer,.ao-spill,.ao-stage{transition-duration:.2s!important}}