:root{--bg:oklch(96.5% .012 85);--fg:oklch(24% .02 60);--muted:oklch(46% .02 65);--accent:oklch(40% .12 25);--looked:oklch(88% .09 85);--card:oklch(98.5% .008 85);--line:oklch(88% .02 80);--font:1.15rem;--on-accent:oklch(97% .01 85);--error:oklch(46% .17 28);--serif:"Iowan Old Style", "Charter", "Palatino Linotype", Georgia, serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:oklch(20% .012 60);--fg:oklch(92% .015 80);--muted:oklch(70% .02 75);--accent:oklch(76% .11 28);--looked:oklch(42% .08 80);--card:oklch(24% .014 60);--line:oklch(33% .015 60);--on-accent:oklch(20% .012 60);--error:oklch(78% .13 28)}}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);padding:env(safe-area-inset-top) 16px env(safe-area-inset-bottom);margin:0;font:16px/1.5 system-ui,-apple-system,sans-serif}body:before{content:"";z-index:-1;pointer-events:none;mix-blend-mode:multiply;opacity:.125;background:url(/assets/de-CxjtO2DL.jpg) 50%/cover no-repeat;position:fixed;inset:0}html[data-lang=es] body:before{background-image:url(/assets/es-ICcB4CRK.jpg)}@media (prefers-color-scheme:dark){body:before{filter:invert();mix-blend-mode:screen;opacity:.1}}.wrap{max-width:42rem;margin:0 auto;padding:16px 0 48px}h1,h2{line-height:1.2;font-family:var(--serif);letter-spacing:-.01em;font-weight:600}h1{margin:.6em 0 .3em;font-size:2rem}h2{font-size:1.35rem}button,input,select{font:inherit;color:inherit;border:1px solid var(--line);background:var(--card);border-radius:10px;min-height:44px;padding:10px 14px}button.primary{background:var(--accent);color:var(--on-accent);border-color:#0000}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;margin:12px 0;padding:16px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.muted{color:var(--muted)}.speed{gap:8px}.speed-label{text-align:center;white-space:nowrap;flex:none;width:9.5rem}svg.icon{fill:currentColor;width:1.4em;height:1.4em;margin:0 auto;display:block}form.auth-form{box-sizing:border-box;min-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom));justify-content:center;align-items:center;padding:0;display:flex}.auth-card{box-sizing:border-box;background:var(--card);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:14px;width:100%;max-width:22rem;padding:28px 24px;display:flex;box-shadow:0 6px 24px #00000014}.auth-card h1{text-align:center;margin:0 0 8px;font-size:1.9rem}.auth-card input{box-sizing:border-box;width:100%}.auth-card button.primary{width:100%;margin-top:4px}.auth-card p{margin:0}.auth-switch{text-align:center}button.link{color:var(--accent);background:0 0;border:0;min-height:44px;padding:6px 0;text-decoration:underline}.error{color:var(--error)}.bar{background:var(--line);border-radius:6px;height:10px;overflow:hidden}.bar>div{background:var(--accent);height:100%}.story{font:var(--font)/1.65 var(--serif);isolation:isolate;max-width:65ch;margin:1.2rem 0 1.6rem;display:flow-root;position:relative}.story:before{content:"";z-index:-1;pointer-events:none;background:color-mix(in oklab, var(--bg) 62%, transparent);-webkit-mask-composite:source-in;position:absolute;inset:-1.3rem -.9rem;-webkit-mask-image:linear-gradient(90deg,#0000,#000 .9rem calc(100% - .9rem),#0000),linear-gradient(#0000,#000 1.3rem calc(100% - 1.3rem),#0000);mask-image:linear-gradient(90deg,#0000,#000 .9rem calc(100% - .9rem),#0000),linear-gradient(#0000,#000 1.3rem calc(100% - 1.3rem),#0000);-webkit-mask-composite:source-in;mask-composite:intersect}.w{cursor:pointer;border-radius:4px}.w.looked{background:var(--looked);text-underline-offset:.2em;text-decoration:underline;text-decoration-thickness:2px}.story:first-letter{float:left;color:var(--accent);padding:.06em .1em 0 0;font-size:3.4em;font-weight:400;line-height:.82}@supports (initial-letter:3) or (-webkit-initial-letter:3){.story:first-letter{float:none;font-size:inherit;line-height:inherit;-webkit-initial-letter:3;initial-letter:3;margin-right:.14em;padding:0}}@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.07)}to{transform:scale(1)}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}button.just-saved{animation:.38s cubic-bezier(.22,1,.36,1) pop}.finale{text-align:center;animation:.5s cubic-bezier(.22,1,.36,1) rise}.finale .row{justify-content:center}.finale h2{margin:.1em 0 .2em}.finale .fleuron{color:var(--accent);font-size:2rem;line-height:1;display:block}@media (prefers-reduced-motion:reduce){button.just-saved,.finale{animation:none}}.reader-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.reader-top button,.reader-top summary{min-width:44px}.reading-menu{position:relative}.reading-menu summary{cursor:pointer;border:1px solid var(--line);background:var(--card);min-height:44px;font-family:var(--serif);border-radius:10px;justify-content:center;align-items:center;padding:10px 14px;font-weight:600;list-style:none;display:inline-flex}.reading-menu summary::-webkit-details-marker{display:none}.reading-menu summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.reading-menu[open] summary{border-color:var(--accent)}.menu-panel{z-index:5;background:var(--card);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:12px;width:min(20rem,86vw);padding:14px;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 10px 30px oklch(20% .02 60/.18)}.menu-panel .row{justify-content:space-between}.menu-panel .speed-label{text-align:center;flex:1;width:auto}.listen{border-radius:999px;align-items:center;gap:8px;padding:8px 18px;display:inline-flex}.listen .glyph{font-size:.8em}.chapter-nav button{min-width:7rem}.meta{margin:.2rem 0 .9rem;font-size:.95rem}.goal{margin:1rem 0 1.4rem}.goal .bar{height:6px}.goal .bar>div{transition:width .6s cubic-bezier(.22,1,.36,1)}.goal p{margin:.5rem 0 0}.goal .met{color:var(--accent);font-weight:600}.continue{text-align:left;background:var(--card);border:1px solid var(--line);border-radius:16px;width:100%;margin-bottom:14px;padding:18px 20px;display:block}.continue .eyebrow{color:var(--muted);font-size:.85rem;display:block}.continue .title{font:600 1.4rem/1.25 var(--serif);margin-top:4px;display:block}.actions{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}button.quiet{color:var(--muted);text-underline-offset:.2em;background:0 0;border:0;max-width:100%;padding:6px 0;text-decoration:underline}button.quiet:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.library{margin:0;padding:0;list-style:none}.library li{border-top:1px solid var(--line)}.library li:last-child{border-bottom:1px solid var(--line)}.library button{text-align:left;background:0 0;border:0;border-radius:0;width:100%;min-height:56px;padding:14px 2px;display:block}.library .t{font:600 1.1rem/1.3 var(--serif);display:block}.library .m{color:var(--muted);font-size:.9rem}@media (prefers-reduced-motion:reduce){.goal .bar>div{transition:none}}.s.speaking{background:color-mix(in srgb, var(--accent) 18%, transparent)}.sheet{background:var(--card);border-top:1px solid var(--line);max-width:42rem;max-height:70vh;padding:16px 16px calc(16px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0;margin:0 auto;position:fixed;bottom:0;left:0;right:0;overflow:auto;box-shadow:0 -8px 30px #0003}table{border-collapse:collapse}td,th{text-align:left;padding:2px 10px}.chapter-nav{flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}.chapter-nav .next{margin-left:auto}button.toggle{cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:8px;min-height:44px;padding:0 4px;display:inline-flex}button.toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button.toggle:disabled{opacity:.5;cursor:not-allowed}.toggle-track{background:var(--muted);border-radius:999px;flex:none;width:44px;height:26px;transition:background-color .15s;position:relative}.toggle-knob{background:var(--on-accent);border-radius:50%;width:20px;height:20px;transition:transform .15s;position:absolute;top:3px;left:3px}.toggle[aria-checked=true] .toggle-track{background:var(--accent)}.toggle[aria-checked=true] .toggle-knob{transform:translate(18px)}@media (prefers-reduced-motion:reduce){.toggle-track,.toggle-knob{transition:none}}
