@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-opsz-italic-DxWqP7Ku.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-opsz-italic-CGbN9UgK.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-opsz-italic-lSdLDfvT.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-opsz-normal-Czevyj-6.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-opsz-normal-CJcjJNj7.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-opsz-normal-DihXLNYH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Quicksand Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/quicksand-vietnamese-wght-normal-ei70gACF.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Quicksand Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/quicksand-latin-ext-wght-normal-CrJ75Ewg.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Quicksand Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/quicksand-latin-wght-normal-Buj9m_3d.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--cream: #fff7ef;--cream-deep: #ffe8d4;--paper: #ffffff;--navy: #1a2b4a;--navy-soft: #3d4f71;--navy-muted: #6b7a96;--coral: #ff6b4a;--coral-deep: #e8502f;--mint: #a8e6cf;--mint-deep: #7dd3bd;--yellow: #ffd166;--lavender: #d8cbff;--rule: #f2e3d0;--shadow-sm: 0 2px 8px rgba(26, 43, 74, .06);--shadow-md: 0 8px 24px rgba(26, 43, 74, .08);--shadow-lg: 0 20px 48px rgba(26, 43, 74, .12);--max-w: 68rem;--radius: 1.25rem;--radius-pill: 999px;font-family:Quicksand Variable,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color-scheme:light}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100%;background:var(--cream);color:var(--navy);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-image:radial-gradient(ellipse 80% 50% at 15% -10%,rgba(255,107,74,.08),transparent 60%),radial-gradient(ellipse 70% 40% at 110% 30%,rgba(125,211,189,.12),transparent 60%);background-attachment:fixed}h1,h2,h3{font-family:Fraunces Variable,Georgia,Times New Roman,serif;font-weight:600;letter-spacing:-.01em;color:var(--navy)}a{color:var(--coral-deep);text-decoration:none;font-weight:600}a:hover{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:2px}.page{display:flex;flex-direction:column;min-height:100vh}.container{width:100%;max-width:var(--max-w);margin:0 auto;padding:0 1.5rem}.site-header{background:#fff7efd9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);position:sticky;top:0;z-index:10;border-bottom:1px solid var(--rule)}.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.5rem}.brand{display:inline-flex;align-items:center;gap:.55rem;color:var(--navy);font-family:Fraunces Variable,Georgia,serif;font-weight:600;font-size:1.15rem;letter-spacing:-.01em}.brand:hover{text-decoration:none}.brand-mark{display:inline-grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:linear-gradient(135deg,var(--coral),var(--yellow));color:var(--paper);font-size:1rem;line-height:1;box-shadow:var(--shadow-sm)}.site-header nav{display:flex;gap:1.5rem;font-size:.98rem;font-weight:600}.site-header nav a{color:var(--navy-muted);position:relative;padding:.25rem 0}.site-header nav a:hover{color:var(--navy);text-decoration:none}.site-header nav a.active{color:var(--coral-deep)}.site-header nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:3px;background:var(--coral);border-radius:2px}.site-main{flex:1;padding:2.5rem 0 4rem}.site-footer{background:var(--navy);color:#c7d1e3;padding:2rem 0;font-size:.92rem}.site-footer a{color:#c7d1e3;font-weight:500}.site-footer a:hover{color:var(--paper)}.footer-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.footer-row nav{display:flex;gap:1.5rem}.home{position:relative}.home .hero{position:relative;padding:3.5rem 0 2rem;text-align:left;overflow:visible}.hero-blob{position:absolute;z-index:0;pointer-events:none;filter:blur(.5px)}.hero-blob.one{top:-2rem;right:-3rem;width:22rem;opacity:.9}.hero-blob.two{bottom:-4rem;left:-5rem;width:18rem;opacity:.7}.home .hero h1{position:relative;z-index:1;font-size:clamp(2.4rem,5.5vw,3.8rem);line-height:1.08;margin:0 0 1.25rem;max-width:18ch}.home .hero h1 em{font-style:italic;font-weight:500;color:var(--coral-deep);background:linear-gradient(180deg,transparent 60%,rgba(255,209,102,.5) 60%);padding:0 .15em}.home .hero .lede{position:relative;z-index:1;font-size:1.2rem;color:var(--navy-soft);max-width:48ch;margin:0 0 2rem;line-height:1.55}.cta-row{position:relative;z-index:1;display:flex;gap:.85rem;flex-wrap:wrap}.cta{display:inline-flex;align-items:center;gap:.5rem;padding:.95rem 1.6rem;border-radius:var(--radius-pill);font-weight:700;text-decoration:none;font-size:1rem;transition:transform .15s ease,box-shadow .15s ease;border:2px solid transparent}.cta:hover{text-decoration:none;transform:translateY(-2px)}.cta.play-badge{background:var(--coral);color:var(--paper);box-shadow:0 6px 0 var(--coral-deep),var(--shadow-md)}.cta.play-badge:hover{box-shadow:0 8px 0 var(--coral-deep),var(--shadow-lg)}.cta.play-badge:active{transform:translateY(2px);box-shadow:0 2px 0 var(--coral-deep),var(--shadow-sm)}.cta.secondary{background:var(--paper);color:var(--navy);border-color:var(--navy);box-shadow:var(--shadow-sm)}.cta.secondary:hover{background:var(--navy);color:var(--paper)}.pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1.5rem;margin-top:4.5rem;position:relative;z-index:1}.pillars article{background:var(--paper);border-radius:var(--radius);padding:1.75rem 1.6rem 1.5rem;box-shadow:var(--shadow-md);position:relative;transition:transform .2s ease,box-shadow .2s ease}.pillars article:hover{transform:translateY(-4px) rotate(-.5deg);box-shadow:var(--shadow-lg)}.pillars article:nth-child(1){background:var(--mint)}.pillars article:nth-child(2){background:var(--yellow)}.pillars article:nth-child(3){background:var(--lavender)}.pillar-icon{display:inline-grid;place-items:center;width:3.25rem;height:3.25rem;border-radius:1rem;background:var(--paper);font-size:1.75rem;line-height:1;margin-bottom:.9rem;box-shadow:var(--shadow-sm);transform:rotate(-4deg)}.pillars article:nth-child(2) .pillar-icon{transform:rotate(3deg)}.pillars article:nth-child(3) .pillar-icon{transform:rotate(-2deg)}.pillars h2{margin:0 0 .4rem;font-size:1.35rem;color:var(--navy)}.pillars p{margin:0;color:var(--navy-soft);font-size:.98rem;line-height:1.55}.prose{max-width:44rem;padding-top:1.5rem;padding-bottom:3.5rem}.prose h1{font-size:clamp(2rem,4vw,2.8rem);margin:0 0 .75rem;line-height:1.1}.prose h2{margin-top:2.5rem;margin-bottom:.5rem;font-size:1.4rem;font-style:italic;font-weight:500;color:var(--coral-deep)}.prose ul,.prose ol{padding-left:1.25rem}.prose li{margin-bottom:.55rem}.prose p{color:var(--navy);font-size:1.02rem}.prose strong{color:var(--navy);font-weight:700}.prose .small{color:var(--navy-muted);font-size:.92rem;margin-top:0}.steps{list-style:none;padding-left:0;counter-reset:step;margin-top:2rem}.steps li{counter-increment:step;margin-bottom:1.5rem;padding:1.4rem 1.5rem 1.4rem 4.5rem;background:var(--paper);border-radius:var(--radius);box-shadow:var(--shadow-sm);position:relative}.steps li:before{content:counter(step);position:absolute;left:1.2rem;top:1.1rem;width:2.25rem;height:2.25rem;display:grid;place-items:center;border-radius:50%;background:var(--coral);color:var(--paper);font-family:Fraunces Variable,Georgia,serif;font-weight:600;font-size:1.15rem;box-shadow:var(--shadow-sm)}.steps li:nth-child(2):before{background:var(--mint-deep)}.steps li:nth-child(3):before{background:var(--yellow);color:var(--navy)}.steps h2{display:block;margin:0 0 .25rem;font-size:1.2rem;font-style:normal;color:var(--navy)}.steps p{margin:0;color:var(--navy-soft)}.contact-form{display:flex;flex-direction:column;gap:.6rem;margin:.5rem 0 2rem}.contact-form label{font-weight:600;color:var(--navy);font-size:.95rem}.contact-form textarea{font-family:inherit;font-size:1rem;line-height:1.55;color:var(--navy);background:var(--paper);border:2px solid var(--rule);border-radius:var(--radius);padding:.85rem 1rem;resize:vertical;min-height:9rem;transition:border-color .15s ease,box-shadow .15s ease;box-shadow:var(--shadow-sm)}.contact-form textarea:focus{outline:none;border-color:var(--coral);box-shadow:0 0 0 4px #ff6b4a2e}.contact-form button{align-self:flex-start;border:none;cursor:pointer;font-family:inherit;margin-top:.5rem}.contact-form button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:0 6px 0 var(--coral-deep),var(--shadow-md)}@media (max-width: 38rem){.nav{flex-direction:column;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem}.site-header nav{gap:1.1rem}.footer-row{flex-direction:column;align-items:flex-start}.home .hero{padding:2rem 0 1rem}.hero-blob.one{width:14rem;top:-1rem;right:-5rem}.hero-blob.two{display:none}.pillars{margin-top:3rem}}@media (prefers-reduced-motion: reduce){.cta,.pillars article{transition:none}.cta:hover,.pillars article:hover{transform:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.app-page{min-height:100vh;display:flex;flex-direction:column;background:var(--cream);color:var(--navy)}.app-page--centered{align-items:center;justify-content:center;padding:1.5rem}.app-page__header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.5rem;padding:1rem 1.25rem;border-bottom:1px solid var(--rule);background:var(--paper)}.app-page__title{font-family:Fraunces Variable,Georgia,Times New Roman,serif;font-size:1.125rem;font-weight:600;text-align:center;color:var(--navy)}.app-page__step{display:flex;gap:.35rem;align-items:center;justify-content:center}.app-page__step-dot{width:8px;height:8px;border-radius:50%;background:var(--rule);transition:width .2s ease,background .2s ease,border-radius .2s ease,opacity .2s ease}.app-page__step-dot--active{background:var(--coral);width:22px;border-radius:4px}.app-page__step-dot--done{background:var(--coral);opacity:.55}.app-page__back{justify-self:start;background:transparent;border:0;color:var(--coral-deep);font:inherit;font-weight:600;padding:.4rem .6rem;cursor:pointer;border-radius:var(--radius-pill)}.app-page__back:hover{background:#ff6b4a14}.app-page__spacer{display:block}.app-page__body{flex:1;width:100%;max-width:36rem;margin:0 auto;padding:1.25rem 1.25rem 6rem;display:flex;flex-direction:column;gap:1.5rem}.app-page__footer{position:sticky;bottom:0;width:100%;padding:1rem 1.25rem calc(env(safe-area-inset-bottom,0) + 1rem);background:linear-gradient(180deg,rgba(255,247,239,0) 0%,var(--cream) 35%);display:flex;justify-content:center}.app-page__cta{width:100%;max-width:36rem;background:var(--coral);color:#fff;font:inherit;font-weight:700;font-size:1.05rem;padding:.95rem 1.25rem;border:0;border-radius:var(--radius-pill);cursor:pointer;box-shadow:var(--shadow-md);transition:transform .12s ease,background .12s ease}.app-page__cta:hover:not(:disabled){background:var(--coral-deep);transform:translateY(-1px)}.app-page__cta:disabled{background:var(--rule);color:var(--navy-muted);cursor:not-allowed;box-shadow:none}.app-card{width:100%;max-width:26rem;background:var(--paper);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:1.75rem 1.5rem;display:flex;flex-direction:column;gap:.85rem;border:1px solid var(--rule)}.app-card__heading{margin:0;font-family:Fraunces Variable,Georgia,serif;font-size:1.4rem;font-weight:600;text-align:center;color:var(--navy)}.app-card__body{margin:0;color:var(--navy-soft);text-align:center;font-size:1rem}.app-card__phrase{margin:.5rem 0;text-align:center;font-family:Fraunces Variable,Georgia,serif;font-size:1.6rem;font-weight:600;letter-spacing:.04em;color:var(--coral-deep);-webkit-user-select:none;user-select:none}.app-card__input{font:inherit;font-size:1rem;padding:.85rem 1rem;border-radius:.85rem;border:1px solid var(--rule);background:var(--cream);color:var(--navy);outline:none}.app-card__input:focus{border-color:var(--coral);box-shadow:0 0 0 3px #ff6b4a2e}.app-card__error{margin:0;color:var(--coral-deep);font-size:.95rem;text-align:center}.app-card__cta{margin-top:.25rem;background:var(--coral);color:#fff;font:inherit;font-weight:700;padding:.85rem 1.25rem;border:0;border-radius:var(--radius-pill);cursor:pointer;box-shadow:var(--shadow-sm);transition:background .12s ease}.app-card__cta:hover:not(:disabled){background:var(--coral-deep)}.app-card__cta:disabled{background:var(--rule);color:var(--navy-muted);cursor:not-allowed}.app-card__link{background:transparent;border:0;color:var(--coral-deep);font:inherit;font-weight:600;cursor:pointer;padding:.4rem .5rem;align-self:center}.app-card__link:hover{text-decoration:underline;text-underline-offset:3px}.app-loading{font-family:Fraunces Variable,Georgia,serif;font-size:1.1rem;color:var(--navy-muted);text-align:center}.app-form{display:flex;flex-direction:column;gap:1.4rem}.app-form__heading{margin:0;font-family:Fraunces Variable,Georgia,serif;font-size:1.75rem;font-weight:600;color:var(--navy);line-height:1.2}.app-form__intro{margin:0;color:var(--navy-soft);font-size:1rem}.app-form__field{display:flex;flex-direction:column;gap:.55rem;border:0;padding:0;margin:0}.app-form__label{font-weight:600;color:var(--navy);font-size:.95rem}.app-form__input{font:inherit;font-size:1rem;padding:.8rem 1rem;border-radius:.85rem;border:1px solid var(--rule);background:var(--paper);color:var(--navy);outline:none}.app-form__input:focus{border-color:var(--coral);box-shadow:0 0 0 3px #ff6b4a2e}.app-form__help{font-size:.85rem;color:var(--navy-muted)}.app-form__error{margin:0;color:var(--coral-deep);font-size:.9rem}.app-chip-row{display:flex;flex-wrap:wrap;gap:.5rem}.app-chip{font:inherit;font-weight:600;font-size:.95rem;background:var(--paper);color:var(--navy);border:1px solid var(--rule);border-radius:var(--radius-pill);padding:.65rem 1.2rem;min-width:3.25rem;text-align:center;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.app-chip:hover{border-color:var(--coral)}.app-chip--selected{background:var(--coral);border-color:var(--coral);color:#fff}.app-tile-list{display:flex;flex-direction:column;gap:.65rem}.app-tile{display:flex;align-items:flex-start;gap:.85rem;text-align:left;font:inherit;background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius);padding:.95rem 1rem;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease,background .12s ease,transform .12s ease}.app-tile:hover{border-color:var(--coral);box-shadow:var(--shadow-md);transform:translateY(-1px)}.app-tile--selected{border-color:var(--coral);background:#ff6b4a0f;box-shadow:0 0 0 2px var(--coral),var(--shadow-sm)}.app-tile__icon{font-size:1.85rem;line-height:1;flex:0 0 auto}.app-tile__body{display:flex;flex-direction:column;gap:.15rem;flex:1}.app-tile__title{font-weight:700;color:var(--navy);font-size:1rem}.app-tile__desc{color:var(--navy-soft);font-size:.92rem;line-height:1.45}.app-theme-grid{display:flex;flex-direction:column;gap:.65rem}.app-theme{display:flex;align-items:flex-start;gap:.85rem;font:inherit;background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius);padding:.95rem 1rem;cursor:pointer;text-align:left;transition:border-color .12s ease,box-shadow .12s ease,background .12s ease,transform .12s ease}.app-theme:hover{border-color:var(--coral);box-shadow:var(--shadow-md);transform:translateY(-1px)}.app-theme--selected{border-color:var(--coral);background:#ff6b4a0f;box-shadow:0 0 0 2px var(--coral),var(--shadow-sm)}.app-theme__icon{font-size:1.85rem;line-height:1;flex:0 0 auto}.app-theme__label{font-weight:700;color:var(--navy);font-size:1rem;align-self:center}@media (min-width: 520px){.app-form__heading{font-size:2rem}.app-page__body{padding:2rem 2rem 7rem}.app-tile-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.app-tile:last-child{grid-column:1 / -1}}.app-generating{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.app-glow{width:9rem;height:9rem;border-radius:50%;background:radial-gradient(circle,#ffd1668c,#ff6b4a59 45%,#ff6b4a00 75%);filter:blur(4px);animation:app-glow-pulse 2.4s ease-in-out infinite}@keyframes app-glow-pulse{0%,to{transform:scale(1);opacity:.85}50%{transform:scale(1.12);opacity:1}}@media (prefers-reduced-motion: reduce){.app-glow{animation:none}}.app-generating__stage{margin:0;font-family:Fraunces Variable,Georgia,serif;font-size:1.15rem;color:var(--navy);text-align:center}.app-reader{position:relative;min-height:100vh;background:#000;color:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:pointer}.app-reader__image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;-webkit-user-select:none;user-select:none;pointer-events:none}.app-reader__text-overlay{position:absolute;left:0;right:0;bottom:0;padding:1.25rem 1.5rem 5rem;background:linear-gradient(180deg,#0000,#000000b3);pointer-events:none}.app-reader__text{margin:0;font-family:Fraunces Variable,Georgia,serif;font-size:1.25rem;line-height:1.55;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.6)}.app-reader__audio-error{position:absolute;top:1rem;left:1rem;right:1rem;z-index:5;background:#e8502feb;color:#fff;border-radius:.85rem;padding:.75rem 1rem;display:flex;flex-direction:column;gap:.5rem;box-shadow:var(--shadow-sm)}.app-reader__audio-error-actions{display:flex;gap:.5rem;align-self:flex-end}.app-reader__retry,.app-reader__close{font:inherit;font-weight:600;background:#ffffff2e;color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:var(--radius-pill);padding:.35rem .85rem;cursor:pointer}.app-reader__retry:hover,.app-reader__close:hover{background:#ffffff47}.app-reader__controls{position:absolute;left:0;right:0;bottom:0;z-index:4;padding:1rem 1.25rem calc(env(safe-area-inset-bottom,0) + 1rem);display:flex;flex-direction:column;gap:.6rem;background:linear-gradient(180deg,#0000,#0000008c);cursor:default}.app-reader__top-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.app-reader__link{background:transparent;border:0;color:#fff;font:inherit;font-weight:600;cursor:pointer;padding:.4rem .7rem;border-radius:var(--radius-pill);text-decoration:none}.app-reader__link:hover{background:#ffffff26;text-decoration:none}.app-reader__page-indicator{font-size:.95rem;color:#ffffffd9}.app-reader__scrub-block{display:flex;flex-direction:column;gap:.4rem}.app-reader__skip-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.app-reader__skip{background:#ffffff26;color:#fff;border:0;border-radius:var(--radius-pill);font:inherit;font-weight:600;padding:.45rem .85rem;cursor:pointer}.app-reader__skip:hover:not(:disabled){background:#ffffff47}.app-reader__skip:disabled{opacity:.45;cursor:not-allowed}.app-reader__time{font-variant-numeric:tabular-nums;font-size:.9rem;color:#ffffffd9}.app-reader__scrub{width:100%;accent-color:var(--coral)}.app-reader__nav-row{display:flex;gap:.5rem}.app-reader__nav{flex:1;font:inherit;font-weight:700;color:#fff;background:#ffffff2e;border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-pill);padding:.7rem 1rem;cursor:pointer}.app-reader__nav:hover:not(:disabled){background:#ffffff4d}.app-reader__nav:disabled{opacity:.4;cursor:not-allowed}.app-end{width:100%;max-width:28rem;display:flex;flex-direction:column;gap:.85rem;text-align:center;padding:1.5rem}.app-end__heading{margin:0;font-family:Fraunces Variable,Georgia,serif;font-size:1.6rem;font-weight:600;color:var(--navy)}.app-end__sub{margin:0;color:var(--navy-soft);font-size:1rem}.app-end__toast{margin:0;background:var(--mint);color:var(--navy);border-radius:.85rem;padding:.65rem 1rem;font-weight:600}.app-end__primary{background:var(--coral);color:#fff;font:inherit;font-weight:700;padding:.85rem 1.25rem;border:0;border-radius:var(--radius-pill);cursor:pointer;box-shadow:var(--shadow-sm);transition:background .12s ease}.app-end__primary:hover:not(:disabled){background:var(--coral-deep)}.app-end__primary:disabled{background:var(--rule);color:var(--navy-muted);cursor:not-allowed}.app-end__secondary{background:transparent;color:var(--coral-deep);font:inherit;font-weight:600;padding:.7rem 1rem;border:1px solid var(--rule);border-radius:var(--radius-pill);cursor:pointer}.app-end__secondary:hover{border-color:var(--coral);background:#ff6b4a0f}.app-library__intro{display:flex;flex-direction:column;gap:.25rem}.app-library__heading{margin:0;font-family:Fraunces Variable,Georgia,serif;font-size:1.6rem;font-weight:600;color:var(--navy)}.app-library__count{margin:0;color:var(--navy-muted);font-size:.95rem}.app-library__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.app-library__card{background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-sm)}.app-library__card-main{text-align:left;background:transparent;border:0;padding:1rem 1.1rem;cursor:pointer;display:flex;flex-direction:column;gap:.2rem;font:inherit}.app-library__card-main:hover{background:#ff6b4a0a}.app-library__card-title{font-family:Fraunces Variable,Georgia,serif;font-size:1.15rem;font-weight:600;color:var(--navy)}.app-library__card-meta{color:var(--navy-muted);font-size:.9rem}.app-library__card-actions{display:flex;border-top:1px solid var(--rule)}.app-library__card-action{flex:1;background:transparent;border:0;font:inherit;font-weight:600;color:var(--navy-soft);padding:.7rem .5rem;cursor:pointer}.app-library__card-action+.app-library__card-action{border-left:1px solid var(--rule)}.app-library__card-action:hover{background:#1a2b4a0a}.app-library__card-action--danger{color:var(--coral-deep)}.app-library__card-action--danger:hover{background:#e8502f0f}.app-library__footer{display:flex;justify-content:center;margin-top:.5rem}.app-library__create{width:100%;background:var(--coral);color:#fff;font:inherit;font-weight:700;padding:.85rem 1.25rem;border:0;border-radius:var(--radius-pill);cursor:pointer;box-shadow:var(--shadow-sm);transition:background .12s ease}.app-library__create:hover:not(:disabled){background:var(--coral-deep)}.app-library__create:disabled{background:var(--rule);color:var(--navy-muted);cursor:not-allowed;box-shadow:none}.app-empty{display:flex;flex-direction:column;gap:.85rem;align-items:center;text-align:center;padding:2rem 1.5rem;max-width:24rem}.app-empty__heading{margin:0;font-family:Fraunces Variable,Georgia,serif;font-size:1.4rem;font-weight:600;color:var(--navy)}.app-empty__body{margin:0;color:var(--navy-soft)}.app-empty__cta{background:var(--coral);color:#fff;font:inherit;font-weight:700;padding:.85rem 1.5rem;border:0;border-radius:var(--radius-pill);cursor:pointer;box-shadow:var(--shadow-sm)}.app-empty__cta:hover{background:var(--coral-deep)}.app-install-banner{display:flex;align-items:center;gap:1rem;padding:.9rem 1rem;margin:0 0 1rem;background:var(--paper);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.app-install-banner__text{display:flex;flex-direction:column;gap:.15rem;flex:1;min-width:0}.app-install-banner__title{font-weight:700;color:var(--navy)}.app-install-banner__body{font-size:.9rem;color:var(--navy-soft)}.app-install-banner__cta{background:var(--coral);color:#fff;border:0;border-radius:var(--radius-pill);padding:.5rem 1rem;font:inherit;font-weight:700;cursor:pointer;white-space:nowrap}.app-install-banner__cta:hover:not(:disabled){background:var(--coral-deep)}.app-install-banner__cta:disabled{opacity:.6;cursor:default}.app-ios-hint{margin-top:1.25rem;padding:.9rem 1rem;background:var(--paper);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.app-ios-hint__title{display:block;color:var(--navy);margin-bottom:.25rem}.app-ios-hint__body{margin:0;font-size:.95rem;color:var(--navy-soft)}.app-toast{position:fixed;left:50%;bottom:1.5rem;transform:translate(-50%);background:var(--navy);color:#fff;padding:.7rem 1.1rem;border-radius:var(--radius-pill);box-shadow:var(--shadow-md);font-weight:600;z-index:100}.app-toast--update{display:inline-flex;align-items:center;gap:.75rem;padding:.55rem .6rem .55rem 1rem}.app-toast__text{font-weight:600}.app-toast__cta{background:var(--coral);color:#fff;border:0;border-radius:var(--radius-pill);padding:.45rem .9rem;font-weight:700;cursor:pointer}.app-toast__cta:hover:not(:disabled){background:var(--coral-deep)}.app-toast__cta:disabled{opacity:.6;cursor:default}.app-toast--dismissable{border:0;cursor:pointer;font-family:inherit;font-size:inherit}.app-dialog{border:0;padding:0;border-radius:var(--radius);background:var(--paper);color:var(--navy);box-shadow:var(--shadow-lg);max-width:28rem;width:calc(100vw - 2rem)}.app-dialog::backdrop{background:#1a2b4a73}.app-dialog__body{display:flex;flex-direction:column;gap:.75rem;padding:1.5rem;margin:0}.app-dialog__title{margin:0;font-family:Fraunces Variable,Georgia,serif;font-size:1.2rem;font-weight:600;color:var(--navy)}.app-dialog__sub{margin:0;color:var(--navy-soft);font-size:.95rem}.app-dialog__input{font:inherit;font-size:1rem;padding:.75rem .9rem;border-radius:.85rem;border:1px solid var(--rule);background:var(--cream);color:var(--navy);outline:none;resize:vertical;min-height:5.5rem}.app-dialog__input:focus{border-color:var(--coral);box-shadow:0 0 0 3px #ff6b4a2e}.app-dialog__error{margin:0;color:var(--coral-deep);font-size:.9rem}.app-dialog__actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.25rem}.app-dialog__cancel{background:transparent;color:var(--navy-soft);font:inherit;font-weight:600;padding:.6rem 1rem;border:1px solid var(--rule);border-radius:var(--radius-pill);cursor:pointer}.app-dialog__cancel:hover:not(:disabled){background:#1a2b4a0d}.app-dialog__cancel:disabled{opacity:.5;cursor:not-allowed}.app-dialog__submit{background:var(--coral);color:#fff;font:inherit;font-weight:700;padding:.6rem 1.25rem;border:0;border-radius:var(--radius-pill);cursor:pointer}.app-dialog__submit:hover:not(:disabled){background:var(--coral-deep)}.app-dialog__submit:disabled{background:var(--rule);color:var(--navy-muted);cursor:not-allowed}.app-settings__section{display:flex;flex-direction:column;gap:.5rem}.app-settings__section-title{margin:0;font-family:Quicksand Variable,sans-serif;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--navy-muted);padding:0 .25rem}.app-settings__section-body{background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius);overflow:hidden}.app-settings__row,.app-settings__link{display:flex;align-items:center;gap:.75rem;padding:.9rem 1.1rem;text-align:left;width:100%;font:inherit;text-decoration:none;color:inherit;background:transparent;border:0}.app-settings__row+.app-settings__row,.app-settings__row+.app-settings__link,.app-settings__link+.app-settings__link,.app-settings__link+.app-settings__row{border-top:1px solid var(--rule)}.app-settings__row{flex-direction:column;align-items:stretch;gap:.2rem}.app-settings__link{cursor:pointer;justify-content:space-between}.app-settings__link:hover{background:#ff6b4a0a;text-decoration:none}.app-settings__link--button{cursor:pointer}.app-settings__link--danger:hover{background:#e8502f0f}.app-settings__link:disabled,.app-settings__link--button:disabled{opacity:.5;cursor:not-allowed}.app-settings__row-text{display:flex;flex-direction:column;gap:.2rem;flex:1}.app-settings__row-title{font-weight:600;color:var(--navy);font-size:1rem}.app-settings__row-title--link{color:var(--navy)}.app-settings__row-title--danger{color:var(--coral-deep)}.app-settings__row-body{color:var(--navy-soft);font-size:.9rem;line-height:1.45}.app-settings__chevron{color:var(--navy-muted);font-size:1.4rem;line-height:1;flex:0 0 auto}.app-login{position:relative;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;background:var(--cream);background-image:radial-gradient(ellipse 80% 50% at 15% -10%,rgba(255,107,74,.1),transparent 60%),radial-gradient(ellipse 70% 40% at 110% 30%,rgba(125,211,189,.15),transparent 60%);padding:2rem 1.5rem calc(env(safe-area-inset-bottom,0px) + 2rem);gap:1.5rem}.app-login__bg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.app-login__blob{position:absolute;pointer-events:none}.app-login__blob--one{top:-8%;right:-12%;width:58%;max-width:30rem;opacity:.65;animation:app-login-drift 14s ease-in-out infinite}.app-login__blob--two{bottom:-12%;left:-16%;width:52%;max-width:26rem;opacity:.55;animation:app-login-drift 18s ease-in-out infinite reverse}.app-login__blob--three{top:28%;left:2%;width:36%;max-width:18rem;opacity:.45;animation:app-login-drift 22s ease-in-out infinite 5s}@keyframes app-login-drift{0%,to{transform:translate(0) scale(1) rotate(0)}33%{transform:translate(2%,3%) scale(1.05) rotate(2deg)}66%{transform:translate(-2%,-2%) scale(.96) rotate(-1.5deg)}}.app-login__star{position:absolute;font-size:1rem;opacity:0;animation:app-login-twinkle 4s ease-in-out infinite;pointer-events:none;-webkit-user-select:none;user-select:none}@keyframes app-login-twinkle{0%,to{opacity:0;transform:scale(.5) rotate(0)}50%{opacity:.75;transform:scale(1.25) rotate(22deg)}}.app-login__main{position:relative;z-index:1;width:100%;max-width:28rem;display:flex;flex-direction:column;align-items:center;gap:1.25rem;text-align:center}.app-login__brand{display:inline-flex;align-items:center;gap:.65rem}.app-login__brand-mark{display:inline-grid;place-items:center;width:3rem;height:3rem;border-radius:50%;background:linear-gradient(135deg,var(--coral),var(--yellow));font-size:1.45rem;box-shadow:var(--shadow-md)}.app-login__brand-name{font-family:Fraunces Variable,Georgia,serif;font-weight:600;font-size:1.2rem;color:var(--navy);letter-spacing:-.01em}.app-login__headline{margin:0;font-size:clamp(2.2rem,6vw,3.4rem);line-height:1.1;color:var(--navy);letter-spacing:-.02em}.app-login .app-login__main .app-login__headline em{font-style:italic;font-weight:500;color:var(--coral-deep);background:linear-gradient(180deg,transparent 60%,rgba(255,209,102,.5) 60%);padding:0 .15em}.app-login__sub{margin:0;font-size:1.1rem;color:var(--navy-soft);line-height:1.55;max-width:28ch}.app-login__signin{width:100%;display:flex;flex-direction:column;align-items:stretch;gap:.75rem;margin-top:.25rem}.app-login__loading{margin:0;color:var(--navy-muted);font-size:1rem;text-align:center}.app-login__signin>div{width:100%;display:flex;flex-direction:column;align-items:stretch}.app-login__signin>div>div:first-child{width:100%}.app-login__features{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}.app-login__feature{background:#ffffffbf;border-radius:var(--radius-pill);padding:.35rem .9rem;font-size:.9rem;font-weight:600;color:var(--navy);box-shadow:var(--shadow-sm);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.app-login__ios-hint{position:relative;z-index:1;width:100%;max-width:28rem;margin-top:0}@media (min-width: 48rem){.app-login__blob--one{width:46%}.app-login__blob--two{width:42%}.app-login__blob--three{width:28%}.app-login__main{max-width:34rem;padding:3rem 3.5rem;background:#ffffff9e;border-radius:2rem;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:var(--shadow-lg),0 0 0 1px #f2e3d099;gap:1.5rem}.app-login__headline{font-size:clamp(2.8rem,4vw,3.6rem)}.app-login__ios-hint{max-width:34rem}}@media (prefers-reduced-motion: reduce){.app-login__blob,.app-login__star{animation:none}.app-login__blob--one{opacity:.5}.app-login__blob--two{opacity:.4}.app-login__blob--three{opacity:.35}.app-login__star{opacity:.25}}
