@import"https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;0,600;1,400&family=Jost:wght@300;400;500;600&display=swap";@font-face{font-family:Ajoure Decorative;src:url(/Ajoure-Decorative.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--cream: #f5ede0;--parchment: #ede0c8;--parchment-dark: #d9c5a3;--rose: #c47e7a;--rose-dark: #8c4f4c;--sage: #8a9b7e;--sage-dark: #5a6b50;--ink: #3a322a;--ink-soft: #5c544a;--font-display: "EB Garamond", Georgia, serif;--font-body: "EB Garamond", Georgia, serif;--font-ui: "Jost", system-ui, sans-serif;--font-envelope-script: "Ajoure Decorative", "EB Garamond", cursive;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 20px;--shadow-soft: 0 2px 12px rgba(58, 50, 42, .08);--shadow-page: 0 8px 32px rgba(58, 50, 42, .18);--shadow-envelope: 0 6px 24px rgba(58, 50, 42, .22)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;background:#0e1730;color:var(--ink);font-family:var(--font-body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}h1,h2,h3{font-family:var(--font-display);font-weight:500;letter-spacing:.005em}h1{font-size:2.4rem;line-height:1.15}h2{font-size:1.6rem}h3{font-size:1.2rem}.page-title-decorative{font-family:var(--font-display);font-weight:500;letter-spacing:.005em;font-size:2rem;line-height:1.1;color:var(--ink)}.title-ajoure{font-family:var(--font-envelope-script);text-transform:uppercase;letter-spacing:.04em;font-weight:400}.series-page-decorative-title{font-family:var(--font-envelope-script);font-weight:400;text-transform:uppercase;letter-spacing:.04em;font-size:clamp(1.8rem,4.5vw,3.4rem);line-height:1.05;color:var(--cream);margin:0;text-align:left}button,.btn{font-family:var(--font-ui);font-weight:500;border:none;cursor:pointer;border-radius:var(--radius-md);padding:.85rem 1.5rem;font-size:.95rem;letter-spacing:.03em;transition:transform .15s ease,background .2s ease,opacity .2s}.btn-primary{background:var(--rose);color:#fff}.btn-primary:hover{background:var(--rose-dark)}.btn-primary:active{transform:scale(.98)}.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--parchment-dark)}.btn-ghost:hover{background:var(--parchment)}button:disabled{cursor:not-allowed}input[type=email],input[type=text]{font-family:var(--font-ui);font-size:1rem;padding:.85rem 1rem;border:1px solid var(--parchment-dark);border-radius:var(--radius-md);background:#fff;width:100%;outline:none;transition:border-color .2s}input:focus{border-color:var(--rose)}.field-label{display:block;font-family:var(--font-ui);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.4rem}a{color:var(--rose-dark);text-decoration:none}a:hover{text-decoration:underline}.page{min-height:100vh;padding:1.5rem;background:var(--cream);color:var(--ink)}.page>*{max-width:480px;margin-left:auto;margin-right:auto}.series-page-wrapper .page{background:transparent;color:inherit}.series-page-wrapper .page>*{max-width:100%}.center-stack{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem}img.protected{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.envelope{position:relative;aspect-ratio:1.6 / 1;cursor:pointer;transition:transform .2s ease}.envelope:hover{transform:translateY(-2px)}.envelope:active{transform:scale(.98)}.envelope.sealed{cursor:not-allowed;opacity:.45;filter:grayscale(.3)}.envelope-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 16px rgba(58,50,42,.18))}.envelope-address{position:absolute;left:5%;right:5%;top:52%;pointer-events:none;text-align:center;line-height:1.1;color:var(--ink);container-type:inline-size}.envelope-address .recipient-name{font-family:var(--font-envelope-script);font-size:var(--rname, 8cqw);line-height:1;letter-spacing:.04em;margin-bottom:1.8cqw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase}.envelope-address .recipient-line{font-family:var(--font-body);font-size:var(--rline, 2.6cqw);line-height:1.3;letter-spacing:.01em}.envelope-tile{display:flex;flex-direction:column;gap:.6rem}.envelope-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem;max-width:1400px;margin:0 auto}@media (min-width: 640px){.envelope-grid{grid-template-columns:repeat(2,1fr);gap:1.8rem}}@media (min-width: 960px){.envelope-grid{grid-template-columns:repeat(3,1fr);gap:2.2rem}}@media (min-width: 1280px){.envelope-grid{grid-template-columns:repeat(3,1fr);gap:2.6rem}}@media (min-width: 1600px){.envelope-grid{grid-template-columns:repeat(4,1fr);gap:2.6rem}}.envelope-tile .envelope{box-shadow:0 1px 2px #00000040,0 12px 28px #00000059,0 2px 6px #0000002e;transition:transform .3s ease,box-shadow .3s ease}.envelope-tile .envelope:hover{transform:translateY(-3px);box-shadow:0 1px 2px #00000040,0 18px 36px #00000073,0 4px 10px #00000038}.envelope-caption{text-align:center;font-family:var(--font-ui);color:var(--ink-soft);padding-top:.4rem}.envelope-caption-line1{font-size:.85rem;letter-spacing:.2em;text-transform:uppercase;display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap}.envelope-caption-title{font-family:var(--font-display);font-size:1.05rem;letter-spacing:.01em;text-transform:none;margin-top:.3rem;opacity:.95;font-style:italic}.series-page-wrapper.theme-norah-aven .envelope-caption{color:#f5ede0c7}.envelope-caption .opened-tag{display:inline-block;margin-left:.5rem;font-size:.6rem;color:var(--rose-dark);letter-spacing:.12em}.envelope-number,.envelope-opened-badge{display:none}.series-card{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 6px 24px #3a322a2e;display:flex;flex-direction:column;color:#fff;background:linear-gradient(155deg,#8b1f2a,#6b0f1a);container-type:inline-size}.series-card.theme-norah-aven{background:radial-gradient(1.5px 1.5px at 12% 18%,rgba(255,255,255,.7),transparent 50%),radial-gradient(1px 1px at 27% 42%,rgba(255,255,255,.55),transparent 50%),radial-gradient(1.5px 1.5px at 42% 22%,rgba(255,255,255,.65),transparent 50%),radial-gradient(1px 1px at 58% 60%,rgba(255,255,255,.5),transparent 50%),radial-gradient(1.5px 1.5px at 72% 30%,rgba(255,255,255,.7),transparent 50%),radial-gradient(1px 1px at 88% 12%,rgba(255,255,255,.4),transparent 50%),radial-gradient(1.5px 1.5px at 15% 75%,rgba(255,255,255,.6),transparent 50%),radial-gradient(1px 1px at 35% 85%,rgba(255,255,255,.45),transparent 50%),radial-gradient(1.5px 1.5px at 62% 92%,rgba(255,255,255,.65),transparent 50%),radial-gradient(1px 1px at 83% 70%,rgba(255,255,255,.55),transparent 50%),radial-gradient(1.5px 1.5px at 95% 48%,rgba(255,255,255,.5),transparent 50%),radial-gradient(ellipse at top,#1a2547,#0e1730 55%,#060c1e)}.series-card.theme-default{background:linear-gradient(155deg,#5a4a3e,#3a2d24)}.series-card-stamp-hero{padding:1.2rem .8rem .4rem;display:flex;align-items:center;justify-content:center}.series-card-stamp-hero img{width:92%;max-width:420px;height:auto;display:block;filter:drop-shadow(0 10px 22px rgba(0,0,0,.4))}.series-card-stamp-placeholder{width:240px;aspect-ratio:.85 / 1;background:#ffffff14;border:1px dashed rgba(255,255,255,.35);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#ffffffb3;padding:1rem;text-align:center;font-family:var(--font-envelope-script);text-transform:uppercase;font-size:1.3rem;line-height:1.1}.series-card-body{padding:.5rem 1.5rem 1.6rem;text-align:center;display:flex;flex-direction:column;align-items:center}.series-card-title{font-family:var(--font-envelope-script);font-weight:400;font-style:normal;text-transform:uppercase;letter-spacing:.04em;color:#fff;margin-top:.6rem;text-align:center;line-height:1;width:100%}.series-card-title .title-main{display:block;font-size:clamp(1.4rem,9.5cqw,2.6rem);white-space:nowrap;letter-spacing:.02em}.series-card-title .title-sub{display:block;font-size:clamp(1.05rem,6.5cqw,1.85rem);letter-spacing:.05em;margin-top:.3rem}.series-card-part{font-family:var(--font-ui);font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:#ffffffbf;margin-top:.7rem;text-align:center}.series-card-description{margin-top:.8rem;color:#ffffffe0;font-size:.98rem;line-height:1.45;font-family:var(--font-body);text-align:center}.series-card-meta{margin-top:.7rem;color:#ffffffa6;font-family:var(--font-ui);font-size:.74rem;letter-spacing:.06em;text-align:center}.series-card-synopsis-link{display:inline-block;margin-top:.9rem;color:#fffffff2;font-family:var(--font-ui);font-size:.85rem;text-decoration:underline;text-underline-offset:4px;background:transparent;border:none;padding:0;cursor:pointer;text-align:center}.series-card-synopsis-link:hover{color:#fff}.series-card-actions{margin-top:1.4rem;width:100%;display:flex;flex-direction:column;gap:.6rem}.series-card-actions .btn-series{width:100%;background:linear-gradient(180deg,#ffd687,#d99a3a 55%,#b87726);color:#2a1306;font-family:var(--font-ui);font-weight:600;font-size:.95rem;letter-spacing:.14em;text-transform:uppercase;padding:1rem 1.4rem;border:none;border-radius:var(--radius-md);cursor:pointer;box-shadow:inset 0 1px #ffffff80,inset 0 -2px #0000001f,0 10px 28px #00000059,0 2px 6px #00000040;transition:transform .12s ease,box-shadow .2s}.series-card-actions .btn-series:hover{transform:translateY(-1px);box-shadow:inset 0 1px #ffffff80,inset 0 -2px #0000001f,0 14px 34px #0006,0 2px 6px #00000040}.series-card-actions .btn-series:active{transform:translateY(0);box-shadow:inset 0 1px #fff6,inset 0 -1px #00000026,0 6px 16px #0000004d}@media (max-width: 380px){.series-card-stamp-hero{padding:1.4rem 1.2rem .4rem}.series-card-stamp-hero img{width:230px}.series-card-body{padding:.4rem 1.2rem 1.3rem}.series-card-title{font-size:1.4rem}}.series-card-hero{max-width:900px;margin:0 auto;width:100%}.series-hero-art{position:relative;width:100%;aspect-ratio:16 / 9;overflow:hidden;cursor:pointer;border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.series-hero-art img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}.series-hero-art:hover img{transform:scale(1.03)}.series-hero-actions{padding:1.4rem 1.5rem 1.6rem;display:flex;flex-direction:column;align-items:center;gap:.5rem}.series-hero-actions .series-card-title{margin-top:0}.series-hero-actions .series-card-part{margin-top:.5rem;margin-bottom:.4rem}.series-hero-actions .series-card-synopsis-link{margin-top:.2rem;margin-bottom:.6rem}.series-hero-actions .btn-series{width:100%;max-width:440px;background:linear-gradient(180deg,#ffd687,#d99a3a 55%,#b87726);color:#2a1306;font-family:var(--font-ui);font-weight:600;font-size:1rem;letter-spacing:.14em;text-transform:uppercase;padding:1.05rem 1.4rem;border:none;border-radius:var(--radius-md);cursor:pointer;box-shadow:inset 0 1px #ffffff80,inset 0 -2px #0000001f,0 10px 28px #00000059,0 2px 6px #00000040;transition:transform .12s ease,box-shadow .2s}.series-hero-actions .btn-series:hover{transform:translateY(-1px);box-shadow:inset 0 1px #ffffff80,inset 0 -2px #0000001f,0 14px 34px #0006,0 2px 6px #00000040}.series-hero-actions .btn-series:active{transform:translateY(0)}@media (min-width: 768px){.series-card-hero{max-width:1000px}.series-hero-actions .btn-series{font-size:1.05rem}}.library-page>*{max-width:1100px}@media (min-width: 768px){.library-page>*{max-width:1100px}.series-card-hero{max-width:1100px}.series-hero-actions .series-card-title .title-main{font-size:clamp(2.4rem,4.4vw,4rem)}.series-hero-actions .series-card-title .title-sub{font-size:clamp(1.7rem,3vw,2.8rem)}.series-hero-actions .series-card-part{font-size:.95rem;letter-spacing:.26em}.series-hero-actions{padding:2rem 2rem 2.2rem;gap:.7rem}.series-hero-actions .btn-series{max-width:520px;font-size:1.15rem;padding:1.25rem 1.6rem}}@media (min-width: 1100px){.library-page>*{max-width:1200px}.series-card-hero{max-width:1200px}}.series-page-wrapper{min-height:100vh;background:var(--cream);position:relative}.series-page-wrapper.theme-norah-aven{background:radial-gradient(ellipse at top,#1a2547,#0e1730 55%,#060c1e);background-attachment:fixed;color:var(--cream)}.starfield{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background-image:radial-gradient(1.2px 1.2px at 12% 18%,rgba(255,255,255,.85),transparent 50%),radial-gradient(1px 1px at 27% 42%,rgba(255,255,255,.6),transparent 50%),radial-gradient(1.5px 1.5px at 42% 22%,rgba(255,255,255,.7),transparent 50%),radial-gradient(1px 1px at 58% 60%,rgba(255,255,255,.55),transparent 50%),radial-gradient(1.3px 1.3px at 72% 30%,rgba(255,255,255,.75),transparent 50%),radial-gradient(1px 1px at 88% 12%,rgba(255,255,255,.45),transparent 50%),radial-gradient(1.5px 1.5px at 15% 75%,rgba(255,255,255,.65),transparent 50%),radial-gradient(1px 1px at 35% 85%,rgba(255,255,255,.5),transparent 50%),radial-gradient(1.3px 1.3px at 62% 92%,rgba(255,255,255,.7),transparent 50%),radial-gradient(1px 1px at 83% 70%,rgba(255,255,255,.6),transparent 50%),radial-gradient(1.2px 1.2px at 95% 48%,rgba(255,255,255,.55),transparent 50%),radial-gradient(1px 1px at 5% 50%,rgba(255,255,255,.5),transparent 50%)}.series-page{position:relative;z-index:1}.contents-piece-card{width:100%;background:linear-gradient(135deg,#ffffff12,#ffffff08);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-lg);padding:1.4rem 1.6rem;cursor:pointer;display:flex;align-items:center;gap:1.4rem;text-align:left;color:var(--cream);transition:background .3s ease,border-color .3s ease,transform .25s ease,box-shadow .3s ease;box-shadow:0 4px 12px #00000026}.contents-piece-card:hover{background:linear-gradient(135deg,#ffffff1a,#ffffff0d);border-color:#ffffff47;transform:translateY(-2px);box-shadow:0 8px 24px #00000040}.contents-piece-number{font-family:var(--font-display);font-size:2.6rem;line-height:1;color:#ffffff8c;font-weight:300;letter-spacing:.05em;flex-shrink:0;min-width:3rem;text-align:center}.contents-piece-card:hover .contents-piece-number{color:#ffffffd9}.contents-piece-body{flex:1;min-width:0}.contents-piece-eyebrow{font-family:var(--font-ui);font-size:.65rem;letter-spacing:.22em;text-transform:uppercase;color:#ffffff80;margin-bottom:.4rem}.contents-piece-title{font-family:var(--font-display);font-size:1.3rem;line-height:1.2;color:var(--cream)}.contents-piece-arrow{color:#fff6;font-size:1.4rem;font-family:var(--font-ui);flex-shrink:0;transition:transform .25s ease,color .25s ease}.contents-piece-card:hover .contents-piece-arrow{color:var(--cream);transform:translate(4px)}@media (max-width: 640px){.contents-piece-card{padding:1.1rem 1.2rem;gap:1rem}.contents-piece-number{font-size:2rem;min-width:2.4rem}.contents-piece-title{font-size:1.1rem}}.reader-nav-arrow{position:fixed;top:50%;transform:translateY(-50%);width:3.5rem;height:3.5rem;border-radius:999px;background:#0e1730d9;border:1px solid rgba(255,255,255,.35);color:var(--cream);font-size:2rem;line-height:1;font-family:var(--font-display);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:12;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:opacity .25s ease,background .25s ease,transform .2s ease,border-color .25s ease;padding:0;opacity:.85;box-shadow:0 4px 12px #0006}.reader-nav-arrow:hover:not(:disabled){opacity:1;background:#1a2547f2;border-color:#ffffff8c;transform:translateY(-50%) scale(1.05)}.reader-nav-arrow:disabled{opacity:.15;cursor:default}.reader-nav-prev{left:1rem}.reader-nav-next{right:1rem}.code-link{background:none;border:none;color:#ffffffbf;font-family:var(--font-ui);font-size:.8rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:.4rem 0;align-self:center}.code-link:hover{color:var(--cream)}.code-entry{display:flex;align-items:center;gap:.4rem;width:100%}.code-entry-input{flex:1;padding:.55rem .7rem;background:#ffffff14;border:1px solid rgba(255,255,255,.25);border-radius:var(--radius-sm);color:var(--cream);font-family:var(--font-ui);font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;outline:none}.code-entry-input::placeholder{color:#fff6;text-transform:none;letter-spacing:0}.code-entry-input:focus{border-color:#ffffff80;background:#ffffff1f}.code-entry-apply{background:var(--cream);color:var(--ink);border:none;padding:.55rem .9rem;border-radius:var(--radius-sm);font-family:var(--font-ui);font-size:.8rem;font-weight:600;cursor:pointer}.code-entry-apply:disabled{opacity:.4;cursor:default}.code-entry-cancel{background:none;border:none;color:#fff9;font-size:1.2rem;padding:.25rem .4rem;cursor:pointer;line-height:1}.code-applied{display:flex;align-items:center;justify-content:space-between;gap:.4rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.25);border-radius:var(--radius-sm);padding:.5rem .8rem;width:100%}.code-applied-text{color:var(--cream);font-family:var(--font-ui);font-size:.8rem}.code-applied-remove{background:none;border:none;color:#fff9;font-size:1.2rem;cursor:pointer;line-height:1;padding:0}.code-error{color:#ffb4b4;font-family:var(--font-ui);font-size:.75rem;margin:.3rem 0 0}.code-original-price{color:#ffffff8c;font-family:var(--font-ui);font-size:.72rem;margin:.4rem 0 0;text-align:center}.code-original-strike{text-decoration:line-through}@media (max-width: 640px){.reader-nav-arrow{width:2.6rem;height:2.6rem;font-size:1.5rem;opacity:.4}.reader-nav-prev{left:.5rem}.reader-nav-next{right:.5rem}}.series-page-wrapper.theme-norah-aven .page-title-decorative{color:#fff}.series-page-wrapper.theme-norah-aven .series-page-subtitle{color:#ffffffbf;font-family:var(--font-ui);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;margin-top:.4rem}.series-page-wrapper.theme-norah-aven .series-page-meta{color:#ffffffd9;font-family:var(--font-ui);font-size:.85rem;margin-top:.8rem}.series-page-wrapper.theme-norah-aven .series-page-meta-small{color:#fff9;font-family:var(--font-ui);font-size:.78rem;margin-top:.3rem}.series-page-wrapper.theme-norah-aven .series-page-link-btn{background:transparent;border:none;color:#ffd687;text-decoration:underline;cursor:pointer;padding:0;font-size:.85rem;font-family:var(--font-ui)}.series-page-wrapper.theme-norah-aven .btn-ghost-on-dark{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.25)}.series-page-wrapper.theme-norah-aven .btn-ghost-on-dark:hover{background:#ffffff2e}.series-page-wrapper.theme-norah-aven .envelope-caption{color:#ffffffd9}.series-page-wrapper.theme-norah-aven .envelope-caption .opened-tag{color:#ffd687}.series-page-wrapper:not(.theme-norah-aven):not(.theme-default) .series-page-subtitle{color:var(--ink-soft);font-family:var(--font-ui);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;margin-top:.4rem}.series-page-wrapper:not(.theme-norah-aven):not(.theme-default) .series-page-meta{color:var(--ink-soft);font-family:var(--font-ui);font-size:.85rem;margin-top:.8rem}.series-page-wrapper:not(.theme-norah-aven):not(.theme-default) .series-page-meta-small{color:var(--ink-soft);font-family:var(--font-ui);font-size:.78rem;margin-top:.3rem}.series-page-wrapper:not(.theme-norah-aven):not(.theme-default) .series-page-link-btn{background:transparent;border:none;color:var(--rose-dark);text-decoration:underline;cursor:pointer;padding:0;font-size:.85rem;font-family:var(--font-ui)}.synopsis-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#080c18c7;display:flex;align-items:flex-end;justify-content:center;z-index:40;padding:0}@media (min-width: 640px){.synopsis-overlay{align-items:center;padding:2rem}}.synopsis-modal{width:100%;max-width:640px;max-height:92vh;background:linear-gradient(165deg,#16223f,#0e1730);color:#e7e8f0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:2rem 1.6rem;overflow-y:auto;position:relative;box-shadow:0 -16px 60px #00000073}@media (min-width: 640px){.synopsis-modal{border-radius:var(--radius-lg);padding:2.4rem 2rem}}.synopsis-modal .close{position:absolute;top:.8rem;right:.8rem;width:36px;height:36px;border-radius:50%;background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#ffffffe6;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.synopsis-modal .close:hover{background:#ffffff26}.synopsis-modal .eyebrow{color:#c9a456;font-family:var(--font-ui);font-size:.78rem;letter-spacing:.22em;text-transform:uppercase}.synopsis-modal h2{font-family:var(--font-display);font-weight:500;font-size:1.9rem;line-height:1.15;color:#fff;margin-top:.6rem;margin-bottom:1.4rem}.synopsis-modal p{font-family:var(--font-body);font-size:1.04rem;line-height:1.65;color:#e7e8f0e0;margin-bottom:1.1rem}.synopsis-modal .cta-row{margin-top:1.6rem;display:flex;gap:.8rem;flex-wrap:wrap}.synopsis-modal .btn-gold{background:#c9a456;color:#16223f;font-family:var(--font-ui);font-weight:600;letter-spacing:.06em;text-transform:uppercase;border-radius:var(--radius-md);padding:.85rem 1.4rem;cursor:pointer;border:none}.synopsis-modal .btn-gold:hover{background:#b89240}.synopsis-modal .btn-quiet{background:transparent;color:#ffffffbf;border:1px solid rgba(255,255,255,.2);font-family:var(--font-ui);border-radius:var(--radius-md);padding:.85rem 1.2rem;cursor:pointer}.profile-section{background:#fff;border:1px solid var(--parchment);border-radius:var(--radius-lg);padding:1.2rem 1.3rem;margin-bottom:1rem;box-shadow:var(--shadow-soft)}.profile-section-title{font-family:var(--font-display);font-size:1.15rem;font-weight:500;color:var(--ink);margin-bottom:.4rem}.profile-section-description{color:var(--ink-soft);font-size:.9rem;margin-bottom:1rem}.profile-readonly-field{background:var(--parchment);padding:.75rem 1rem;border-radius:var(--radius-md);font-family:var(--font-ui);color:var(--ink);font-size:.95rem}.profile-purchase-row{display:flex;align-items:center;gap:1rem;padding:.7rem .9rem;background:var(--cream);border:1px solid var(--parchment);border-radius:var(--radius-md)}.profile-purchase-card{background:var(--cream);border:1px solid var(--parchment);border-radius:var(--radius-md);padding:1rem 1.1rem}.profile-purchase-header{display:flex;align-items:flex-start;gap:1rem}.profile-purchase-title{font-family:var(--font-display);font-size:1.05rem;color:var(--ink);line-height:1.25}.profile-purchase-subtitle{font-family:var(--font-ui);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-top:.2rem}.profile-purchase-amount{font-family:var(--font-display);font-size:1.1rem;color:var(--ink);font-weight:500;white-space:nowrap}.profile-purchase-meta{margin-top:.7rem;padding-top:.7rem;border-top:1px solid var(--parchment-dark);display:flex;flex-direction:column;gap:.35rem}.profile-purchase-meta>div{display:flex;gap:.6rem;font-family:var(--font-ui);font-size:.82rem}.profile-purchase-meta .meta-label{color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;min-width:5.5rem;padding-top:.15rem}.profile-purchase-meta .meta-value{color:var(--ink);flex:1}.profile-purchase-receipt{display:inline-block;margin-top:.8rem;font-family:var(--font-ui);font-size:.85rem;color:var(--rose-dark);text-decoration:underline;text-underline-offset:3px}.profile-purchase-receipt:hover{color:var(--rose)}.legal-doc{font-family:var(--font-body);color:var(--ink);font-size:1.02rem;line-height:1.65}.legal-doc h1{font-family:var(--font-display);font-size:1.9rem;font-weight:500;margin-bottom:.8rem;line-height:1.15}.legal-doc h2{font-family:var(--font-display);font-size:1.25rem;font-weight:500;margin-top:2rem;margin-bottom:.6rem}.legal-doc h3{font-family:var(--font-display);font-size:1.05rem;font-weight:500;margin-top:1.4rem;margin-bottom:.4rem}.legal-doc p{margin-bottom:.9rem}.legal-doc ul,.legal-doc ol{margin-bottom:1rem;padding-left:1.4rem}.legal-doc li{margin-bottom:.35rem}.legal-doc strong{color:var(--ink);font-weight:600}.legal-doc hr{border:none;border-top:1px solid var(--parchment-dark);margin:1.6rem 0}.legal-doc a{color:var(--rose-dark);text-decoration:underline}.legal-doc table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.92rem}.legal-doc th,.legal-doc td{text-align:left;padding:.45rem .6rem;border-bottom:1px solid var(--parchment)}.legal-doc th{font-family:var(--font-ui);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.app-footer{max-width:480px;margin:2.5rem auto 0;padding:1.6rem 1.5rem 2rem;border-top:1px solid var(--parchment);font-family:var(--font-ui);font-size:.74rem;letter-spacing:.04em;color:var(--ink-soft);text-align:center}.app-footer a{color:var(--ink-soft);margin:0 .5rem;text-decoration:none}.app-footer a:hover{color:var(--rose-dark);text-decoration:underline}.app-footer .footer-brand{font-family:var(--font-display);color:var(--ink);margin-bottom:.4rem;letter-spacing:.01em;font-size:.85rem}@media print{body,body *{visibility:hidden!important;display:none!important}body:before{visibility:visible!important;display:block!important;content:"Printing of The Flower Letters content is not permitted.";font-family:sans-serif;font-size:18px;color:#333;padding:2rem}}.envelope-status{display:inline-block;margin-left:.5rem;padding:.18rem .55rem;border-radius:999px;font-family:var(--font-ui);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;vertical-align:middle}.envelope-status-opened{background:#f5ede01f;color:#f5ede0d9;border:1px solid rgba(245,237,224,.25)}.envelope-status-read{background:#a8404f47;color:#ffdcdcf2;border:1px solid rgba(255,200,200,.35)}.envelope-tile .envelope.envelope-opened .envelope-img{opacity:.78;filter:saturate(.85)}.envelope-tile .envelope.envelope-read .envelope-img{opacity:.6;filter:saturate(.7)}.envelope-tile .envelope.envelope-opened:hover .envelope-img,.envelope-tile .envelope.envelope-read:hover .envelope-img{opacity:1;filter:none}.contents-title-page{text-align:center;margin:2rem auto 2.5rem;max-width:580px;padding:0 1rem}.contents-series-title{font-family:var(--font-envelope-script);font-size:clamp(.95rem,2.2vw,1.2rem);letter-spacing:.22em;text-transform:uppercase;color:#f5ede0d9;margin:0}.contents-divider{width:60px;height:1px;background:#f5ede066;margin:1.4rem auto;transform-origin:center}.contents-chronicle-label{font-family:var(--font-ui);font-size:.78rem;letter-spacing:.32em;text-transform:uppercase;color:#f5ede0a6;margin:0}.contents-chronicle-title{font-family:var(--font-display);font-size:clamp(2.4rem,6.5vw,3.6rem);font-style:italic;font-weight:400;line-height:1.1;color:var(--cream);margin:.6rem 0 0;letter-spacing:.005em}.contents-pieces-note{font-family:var(--font-display);font-style:italic;font-size:1rem;color:#f5ede09e;margin:0}.reveal-env{transition:filter .3s ease}.reveal-env-lightning{animation:reveal-electric-flicker .18s linear infinite}@keyframes reveal-electric-flicker{0%{filter:drop-shadow(0 0 14px rgba(125,184,255,.85)) drop-shadow(0 0 36px rgba(74,144,255,.5)) brightness(1.05)}50%{filter:drop-shadow(0 0 24px rgba(180,220,255,1)) drop-shadow(0 0 60px rgba(74,144,255,.7)) brightness(1.25)}to{filter:drop-shadow(0 0 14px rgba(125,184,255,.85)) drop-shadow(0 0 36px rgba(74,144,255,.5)) brightness(1.05)}}.reveal-env-fire{animation:reveal-fire-glow .35s ease-in-out infinite}@keyframes reveal-fire-glow{0%{filter:drop-shadow(0 0 18px rgba(255,150,50,.8)) drop-shadow(0 0 50px rgba(255,90,20,.55)) brightness(1.12) sepia(.18)}50%{filter:drop-shadow(0 0 30px rgba(255,180,70,.95)) drop-shadow(0 0 80px rgba(255,100,20,.7)) brightness(1.25) sepia(.28)}to{filter:drop-shadow(0 0 18px rgba(255,150,50,.8)) drop-shadow(0 0 50px rgba(255,90,20,.55)) brightness(1.12) sepia(.18)}}.reveal-flame{position:absolute;bottom:-8px;border-radius:50% 50% 20% 20%;background:radial-gradient(ellipse at 50% 85%,#ffebaaf2,#ffaa3cd9,#ff5a14a6 60%,#c8280a00);filter:blur(5px);transform-origin:50% 100%;animation:reveal-flame-dance .32s ease-in-out infinite alternate;pointer-events:none;mix-blend-mode:screen}@keyframes reveal-flame-dance{0%{transform:scaleY(.75) scaleX(1.06) translateY(2px);opacity:.85}to{transform:scaleY(1.18) scaleX(.92) translateY(-10px);opacity:1}}.reveal-ember{position:absolute;bottom:0;border-radius:50%;background:radial-gradient(circle,#ffd9a0,#ff9540 55%,#ff5a1400);box-shadow:0 0 8px #ff963ce6;animation:reveal-ember-rise 1.3s ease-out infinite;pointer-events:none}@keyframes reveal-ember-rise{0%{transform:translate(0) scale(1);opacity:0}12%{opacity:1}to{transform:translate(var(--drift, 0px),-190px) scale(.4);opacity:0}}.reader-spinner{width:38px;height:38px;border:3px solid rgba(245,237,224,.2);border-top-color:#f5ede0d9;border-radius:50%;animation:reader-spin .8s linear infinite}@keyframes reader-spin{to{transform:rotate(360deg)}}.fl-spinner{width:40px;height:40px;border:3px solid rgba(58,50,42,.18);border-top-color:#3a322ab3;border-radius:50%;animation:fl-spin .8s linear infinite}.fl-spinner-dark{border:3px solid rgba(245,237,224,.2);border-top-color:#f5ede0d9}@keyframes fl-spin{to{transform:rotate(360deg)}}.series-card-soon{opacity:.92}.series-hero-art-placeholder{position:relative;width:100%;aspect-ratio:16 / 9;border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);overflow:hidden;display:flex;align-items:center;justify-content:center;cursor:default;background:radial-gradient(ellipse at top,#243056,#141d38 55%,#0a1126)}.series-hero-art-placeholder:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(1.5px 1.5px at 20% 30%,rgba(255,255,255,.5),transparent 50%),radial-gradient(1px 1px at 60% 50%,rgba(255,255,255,.4),transparent 50%),radial-gradient(1.5px 1.5px at 80% 25%,rgba(255,255,255,.45),transparent 50%),radial-gradient(1px 1px at 35% 70%,rgba(255,255,255,.35),transparent 50%),radial-gradient(1.5px 1.5px at 75% 75%,rgba(255,255,255,.4),transparent 50%);opacity:.7}.series-soon-badge{position:relative;z-index:1;font-family:var(--font-ui);font-size:.85rem;letter-spacing:.28em;text-transform:uppercase;color:#f5ede0d9;padding:.6rem 1.4rem;border:1px solid rgba(245,237,224,.35);border-radius:999px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.btn-series-disabled,.btn-series:disabled{background:#f5ede01f!important;color:#f5ede08c!important;box-shadow:none!important;cursor:not-allowed!important;border:1px solid rgba(245,237,224,.18)!important}.btn-series-disabled:hover{transform:none!important}@media (min-width: 768px){.series-soon-badge{font-size:.95rem;padding:.7rem 1.7rem}}.series-hero-art-soon{position:relative;width:100%;aspect-ratio:16 / 9;border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);overflow:hidden;cursor:default}.series-hero-art-soon .series-hero-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;filter:saturate(.92) brightness(.9)}.series-soon-badge-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1;background:#0a11268c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.text-reader-bg{min-height:100vh;background:radial-gradient(ellipse at top,#1a2547,#0e1730 55%,#060c1e);padding:0 1rem 4rem}.text-reader-bar{position:sticky;top:0;z-index:10;max-width:680px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:.9rem .2rem}.text-reader-back{background:#182241d9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:.5px solid #3a4a72;color:#e8e2d4;font-family:var(--font-ui);font-size:.82rem;padding:.55rem .95rem;border-radius:999px;cursor:pointer}.text-reader-back:hover{background:#22305ae6}.text-reader-sizes{display:flex;gap:8px}.text-reader-sizes button{width:40px;height:40px;border-radius:10px;background:#182241d9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:.5px solid #3a4a72;color:#e8e2d4;font-family:Georgia,serif;font-size:.95rem;cursor:pointer}.text-reader-sizes button:hover{background:#22305ae6}.tr-listen{width:auto!important;padding:0 .8rem;height:40px;border-radius:10px;background:#182241d9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:.5px solid #3a4a72;color:#e8e2d4;font-family:var(--font-ui);font-size:.8rem;letter-spacing:.02em;cursor:pointer;white-space:nowrap}.tr-listen:hover{background:#22305ae6}.tr-listen-stop{width:40px!important;padding:0;font-size:.85rem}.tr-listen-speed{min-width:46px;text-align:center;font-variant-numeric:tabular-nums}.text-reader-body p.tr-speaking{background:#c9a86a38;box-shadow:0 0 0 6px #c9a86a38;border-radius:3px;transition:background .2s ease}.tr-protected{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none}.text-reader-sheet{background:#f7f1e6;border-radius:14px;box-shadow:0 10px 40px #0006;padding:3rem 2.4rem;max-width:680px;margin:.4rem auto 0}.text-reader-head{text-align:center;margin-bottom:2.4rem}.text-reader-eyebrow{font-family:Georgia,serif;font-style:italic;font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:#a8894f}.text-reader-title{font-family:var(--font-envelope-script);font-weight:400;font-size:2rem;color:#2c2620;margin:.6rem 0 0;line-height:1.2}.text-reader-rule{width:46px;height:1px;background:#c9a86a;margin:1.2rem auto 0}.text-reader-byline{font-family:Georgia,serif;font-style:italic;font-size:.85rem;color:#8a6d3b;margin-top:1rem}.text-reader-body{font-family:Georgia,serif;color:#2c2620;line-height:1.72;text-align:justify;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}.text-reader-body p{margin:0;text-indent:1.6em}.text-reader-body p.tr-first{text-indent:0}.text-reader-body p.tr-italic{font-style:italic}.tr-scenebreak{text-align:center;margin:1.8em 0}.tr-scenebreak img{width:min(64px,18%);height:auto;opacity:.9}.tr-illus{margin:1.8em 0;text-align:center}.tr-illus img{max-width:min(380px,92%);height:auto}.tr-endmark{text-align:center;margin:2.6em 0 .4em}.tr-endmark img{width:min(150px,40%);height:auto;opacity:.95}@media (max-width: 520px){.text-reader-sheet{padding:2rem 1.4rem}.text-reader-title{font-size:1.6rem}}@media (min-width: 900px){.text-reader-sheet{max-width:720px;padding:3.4rem 3.2rem}}.tr-continue{display:block;width:100%;margin-top:1.6rem;padding:1.1rem 1.3rem;background:#2c26200f;border:.5px solid #d8c39a;border-radius:12px;cursor:pointer;text-align:center;font-family:Georgia,serif}.tr-continue:hover{background:#2c26201a}.tr-continue-label{display:block;font-size:.7rem;letter-spacing:.26em;text-transform:uppercase;color:#a8894f;margin-bottom:.35rem}.tr-continue-title{display:block;font-size:1.05rem;font-style:italic;color:#2c2620}@font-face{font-family:Brilon;src:url(/Brilon.otf) format("opentype");font-display:swap}.home-page{min-height:100vh;background:#efe6d6;background-image:radial-gradient(120% 90% at 50% -10%,#fbf6ec,#efe6d6 45%,#e6d8bf)}.home-inner{max-width:1120px;margin:0 auto;padding:0 22px 80px}.home-topbar{display:flex;justify-content:space-between;align-items:center;padding:14px 0}.home-mini-logo{font-family:Brilon,EB Garamond,serif;font-size:1.05rem;color:var(--ink-soft)}.home-brand{text-align:center;padding:clamp(16px,3.5vw,30px) 0 clamp(12px,3vw,26px)}.home-welcome-eyebrow{font-family:var(--font-ui);font-size:clamp(.6rem,2.3vw,.74rem);letter-spacing:.32em;text-transform:uppercase;color:#b7973f;margin-bottom:clamp(6px,1.6vw,12px)}.home-wordmark{margin:0}.home-brand-name{font-family:Brilon,EB Garamond,serif;font-weight:400;font-size:clamp(1.7rem,7.2vw,3.6rem);line-height:1;color:var(--ink);display:block;letter-spacing:.01em;white-space:nowrap}.home-dl{font-family:EB Garamond,Georgia,serif;font-weight:500;font-size:clamp(.95rem,3.4vw,1.5rem);letter-spacing:.15em;text-transform:uppercase;color:#b7973f;display:block;margin-top:clamp(6px,1.6vw,12px);white-space:nowrap}.home-sec-h{display:flex;align-items:baseline;justify-content:space-between;margin:38px 4px 16px}.home-sec-h h2{font-family:var(--font-ui);font-weight:600;font-size:.82rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-soft)}.home-count{font-family:var(--font-ui);font-size:.72rem;color:#b7973f;letter-spacing:.1em}.home-feature{background:#fffaf0;border-radius:20px;overflow:hidden;box-shadow:0 18px 50px -18px #3a322a66,0 0 0 1px #b7973f2e;border:1px solid rgba(217,197,163,.6)}.home-feature-art{background:#14203f;line-height:0;cursor:pointer}.home-feature-art img{width:100%;height:auto;display:block}.home-feature-info{padding:clamp(20px,3.5vw,30px) clamp(16px,4vw,34px) clamp(24px,4vw,34px);display:flex;flex-direction:column;align-items:center;text-align:center}.home-feature-eyebrow{font-family:var(--font-ui);font-size:clamp(.58rem,2vw,.68rem);letter-spacing:.26em;text-transform:uppercase;color:#b7973f;margin-bottom:clamp(8px,1.6vw,12px)}.home-feature-title{font-family:var(--font-envelope-script);font-weight:400;font-size:clamp(1.6rem,6.4vw,2.7rem);line-height:1.02;color:var(--ink);margin:0;white-space:nowrap}.home-feature-title .sub{display:block;font-size:clamp(1rem,3.8vw,1.5rem);color:var(--ink-soft)}.home-feature-parts{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin:clamp(12px,2.4vw,16px) 0 clamp(16px,3vw,22px)}.home-chip{font-family:var(--font-ui);font-size:clamp(.6rem,2vw,.72rem);padding:.32rem .6rem;border-radius:999px;background:#b7973f1f;border:1px solid rgba(183,151,63,.35);color:#8a6d2f;white-space:nowrap}.btn-home-cta{font-family:var(--font-ui);font-size:.9rem;font-weight:500;padding:.8rem 1.4rem;border-radius:999px;border:none;cursor:pointer;background:linear-gradient(180deg,#c9a86a,#b7973f);color:#2a2114;box-shadow:0 6px 16px -6px #b7973fb3}.btn-home-cta:hover{filter:brightness(1.05)}.home-stories{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.home-story-card{background:linear-gradient(180deg,#fffaf0,#f4ead6);border:1px solid rgba(217,197,163,.8);border-radius:16px;min-height:200px;display:flex;align-items:center;justify-content:center;text-align:center;padding:26px}.home-badge{font-family:var(--font-ui);font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:#b7973f;border:1px solid rgba(183,151,63,.45);border-radius:999px;padding:.5rem .95rem}@media (max-width: 820px){.home-stories{grid-template-columns:1fr 1fr}}@media (max-width: 560px){.home-stories{grid-template-columns:1fr}.home-sec-h{margin-top:26px}}.reader-page-skeleton{position:absolute;width:min(70vw,60vh);height:min(88vh,92vw);border-radius:6px;background:linear-gradient(110deg,#f5ede00d 30%,#f5ede021,#f5ede00d 70%);background-size:220% 100%;animation:reader-skeleton-sheen 1.5s ease-in-out infinite;box-shadow:var(--shadow-page)}@keyframes reader-skeleton-sheen{0%{background-position:220% 0}to{background-position:-220% 0}}@media (prefers-reduced-motion: reduce){.reader-page-skeleton{animation:none}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible,[role=button]:focus-visible{outline:2px solid var(--gold, #c9a86a)!important;outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
