:root{--primary: #7c3aed;--primary-hover: #6d28d9;--primary-soft: rgba(124, 58, 237, .16);--primary-tint: #d8c7ff;--primary-ink: #4c1d95;--on-primary: #ffffff;--accent: #ffb020;--accent-soft: rgba(255, 176, 32, .18);--accent-ink: #7a4a00;--accent-shadow: #c77f00;--surface-0: #0f0a24;--surface-1: #1a1238;--surface-2: #26194d;--surface-3: #33246a;--surface-hover: rgba(255, 255, 255, .06);--surface-hover-strong: rgba(255, 255, 255, .12);--surface-tint: rgba(255, 255, 255, .08);--backdrop: rgba(8, 4, 24, .66);--surface-light: #ffffff;--surface-light-2: #f3efff;--surface-light-3: #e9e2ff;--paper: #fffdf7;--paper-2: #f7f0e1;--paper-3: #efe5cf;--paper-border: #e7dcc3;--ink: #1f1235;--ink-2: #4a4361;--ink-muted: #6e6787;--ink-highlight: rgba(255, 176, 32, .35);--ink-link: #5b21b6;--border: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .18);--border-light: #e6e0ff;--text-primary: #ffffff;--text-secondary: rgba(255, 255, 255, .78);--text-muted: rgba(255, 255, 255, .55);--text-on-light: #1f1235;--text-on-light-2: #5b5577;--success: #22c55e;--success-soft: rgba(34, 197, 94, .18);--success-tint: #86efac;--success-ink: #14532d;--danger: #ef4444;--danger-soft: rgba(239, 68, 68, .18);--danger-tint: #fca5a5;--danger-border: rgba(239, 68, 68, .6);--success-border: rgba(34, 197, 94, .6);--locked: #8b8aa3;--locked-bg: rgba(139, 138, 163, .18);--star: #5cc8ff;--streak: #ff7a1a;--font-display: "Fredoka One", "Fredoka", system-ui, sans-serif;--font-body: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;--font-reading: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;--fs-display: clamp(26px, 3vw, 34px);--fs-heading: 20px;--fs-lead: 18px;--fs-body: 15px;--fs-caption: 13px;--fs-overline: 12px;--fs-reading: clamp(20px, 2.2vw, 28px);--lh-body: 1.5;--lh-reading: 1.75;--tracking-overline: .08em;--tracking-reading: .01em;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-pill: 999px;--cover-ratio: 9 / 16;--cover-bg: var(--paper-2);--elev-1: 0 6px 18px rgba(0, 0, 0, .28);--elev-2: 0 18px 50px rgba(0, 0, 0, .5);--elev-paper: 0 10px 30px rgba(31, 18, 53, .18);--chunky-primary: 0 4px 0 var(--primary-ink);--chunky-accent: 0 4px 0 var(--accent-shadow);--focus-ring: 3px solid var(--accent);--focus-offset: 2px;--z-base: 1;--z-hud: 100;--z-nav: 200;--z-overlay: 300;--z-modal: 400;--z-modal-2: 450;--z-toast: 500;--shell-top: 0px;--shell-bottom: 0px;--shell-max: 1200px;--header-h: var(--shell-top, 0px);--tabbar-h: var(--shell-bottom, 0px);--modal-gutter: 24px;--page-gutter: 16px;--tap-min: 44px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px}@media (min-width: 769px){:root{--page-gutter: 24px}}[class^=nf-],[class*=" nf-"],[class^=nf-]:before,[class*=" nf-"]:before,[class^=nf-]:after,[class*=" nf-"]:after{box-sizing:border-box}html{min-height:100%;overscroll-behavior:none;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;min-height:100vh;background:var(--surface-0);color:var(--text-primary);font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent}@media (max-width: 768px){body{font-size:16px}}h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;line-height:1.15;letter-spacing:.01em}img{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}input,textarea,[contenteditable=true]{-webkit-user-select:text;user-select:text}:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}svg.nf-icon{flex:none;display:inline-block;vertical-align:middle}body.modal-open{overflow:hidden}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (prefers-reduced-motion: no-preference){html{scroll-behavior:smooth}}.nf-page{width:100%;max-width:var(--shell-max);margin:0 auto;padding:calc(var(--shell-top) + var(--space-5)) var(--page-gutter) calc(var(--shell-bottom) + var(--space-6))}.nf-stack{display:flex;flex-direction:column;gap:var(--space-3)}.nf-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.nf-display{margin:0;font-family:var(--font-display);font-size:var(--fs-display);line-height:1.1}.nf-heading{margin:0;font-family:var(--font-display);font-size:var(--fs-heading);line-height:1.2}.nf-lead{margin:0;font-size:var(--fs-lead);color:var(--text-secondary)}.nf-caption{font-size:var(--fs-caption);color:var(--text-muted)}.nf-overline{font-family:var(--font-body);font-size:var(--fs-overline);font-weight:700;letter-spacing:var(--tracking-overline);text-transform:uppercase;color:var(--text-muted)}.nf-modal--light .nf-overline,.nf-paper .nf-overline{color:var(--primary)}.visually-hidden,.nf-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.safe-area-top{padding-top:env(safe-area-inset-top,0px)}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom,0px)}.nf-btn{font:inherit;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--tap-min);padding:0 20px;border-radius:var(--radius-pill);border:1px solid transparent;font-family:var(--font-display);font-size:17px;font-weight:400;letter-spacing:.01em;line-height:1;cursor:pointer;text-decoration:none;white-space:nowrap;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.nf-btn:disabled,.nf-btn[aria-disabled=true]{cursor:not-allowed}.nf-btn--primary{background:var(--primary);color:var(--on-primary);box-shadow:var(--chunky-primary)}@media (hover: hover) and (pointer: fine){.nf-btn--primary:hover{background:var(--primary-hover)}}.nf-btn--primary:active{transform:translateY(3px);box-shadow:none}.nf-btn--primary:disabled{background:var(--surface-2);color:var(--text-muted);box-shadow:none;transform:none}.nf-btn--accent{background:var(--accent);color:var(--accent-ink);box-shadow:var(--chunky-accent)}.nf-btn--accent:active{transform:translateY(3px);box-shadow:none}.nf-btn--accent:disabled{background:var(--surface-2);color:var(--text-muted);box-shadow:none;transform:none}.nf-btn--secondary{background:transparent;color:var(--text-primary);border-color:var(--border-strong)}@media (hover: hover) and (pointer: fine){.nf-btn--secondary:hover{background:var(--surface-hover)}}.nf-btn--ghost{background:transparent;color:var(--text-secondary)}@media (hover: hover) and (pointer: fine){.nf-btn--ghost:hover{background:var(--surface-hover)}}.nf-btn--danger-text{background:transparent;color:var(--danger);font-family:var(--font-body);font-weight:700;font-size:var(--fs-body)}.nf-modal--light .nf-btn--secondary,.nf-paper .nf-btn--secondary{color:var(--text-on-light);border-color:var(--border-light)}@media (hover: hover) and (pointer: fine){.nf-modal--light .nf-btn--secondary:hover,.nf-paper .nf-btn--secondary:hover{background:var(--surface-light-2)}}.nf-modal--light .nf-btn--ghost,.nf-paper .nf-btn--ghost{color:var(--text-on-light-2)}@media (hover: hover) and (pointer: fine){.nf-modal--light .nf-btn--ghost:hover,.nf-paper .nf-btn--ghost:hover{background:var(--surface-light-2)}}.nf-btn--block{width:100%}.nf-btn--sm{min-height:36px;padding:0 14px;font-size:15px;position:relative}.nf-btn--sm:after{content:"";position:absolute;top:50%;left:50%;width:max(100%,44px);height:max(100%,44px);transform:translate(-50%,-50%)}.nf-iconbtn{width:var(--tap-min);height:var(--tap-min);display:inline-grid;place-items:center;padding:0;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-hover);color:var(--text-primary);cursor:pointer;transition:background .12s ease;text-decoration:none}@media (hover: hover) and (pointer: fine){.nf-iconbtn:hover{background:var(--surface-hover-strong)}}.nf-iconbtn:disabled{opacity:.5;cursor:not-allowed}.nf-iconbtn--ghost{border-color:transparent;background:transparent}.nf-iconbtn--sm{width:32px;height:32px;border-radius:var(--radius-sm);position:relative}.nf-iconbtn--sm:after{content:"";position:absolute;top:50%;left:50%;width:max(100%,44px);height:max(100%,44px);transform:translate(-50%,-50%)}.nf-modal--light .nf-iconbtn,.nf-paper .nf-iconbtn{background:var(--surface-light-2);border-color:var(--border-light);color:var(--text-on-light)}@media (hover: hover) and (pointer: fine){.nf-modal--light .nf-iconbtn:hover,.nf-paper .nf-iconbtn:hover{background:var(--surface-light-3)}}.nf-paper .nf-iconbtn--ghost{background:transparent;border-color:transparent}.nf-card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--elev-1)}.nf-card--raised{background:var(--surface-2)}.nf-card--pad{padding:var(--space-5)}.nf-paper{background:var(--paper);color:var(--ink);border:1px solid var(--paper-border);border-radius:var(--radius-lg);box-shadow:var(--elev-paper)}.nf-paper a{color:var(--ink-link)}.nf-paper--flush{border-radius:0;border:none;box-shadow:none}.nf-paper__rail{background:var(--paper-2)}.nf-reading{font-family:var(--font-reading);font-size:var(--fs-reading);line-height:var(--lh-reading);letter-spacing:var(--tracking-reading);color:var(--ink);max-width:38em;word-spacing:.06em}.nf-reading__word{border-radius:6px;padding:0 2px;cursor:pointer}@media (hover: hover) and (pointer: fine){.nf-reading__word:hover{background:var(--paper-3)}}.nf-reading__word.is-active{background:var(--ink-highlight)}.nf-field{display:flex;flex-direction:column;gap:6px}.nf-label{font-size:var(--fs-caption);font-weight:700;color:var(--text-secondary)}.nf-input{min-height:var(--tap-min);width:100%;padding:0 14px;border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-primary);font-size:var(--fs-body)}.nf-input::placeholder{color:var(--text-muted)}.nf-input:focus-visible{outline:var(--focus-ring);outline-offset:1px}.nf-modal--light .nf-label{color:var(--text-on-light-2)}.nf-modal--light .nf-input{background:var(--surface-light);color:var(--text-on-light);border-color:var(--border-light)}.nf-modal--light .nf-input::placeholder{color:var(--text-on-light-2)}.nf-field__error{font-size:var(--fs-caption);color:var(--danger)}.nf-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:grid;place-items:center;padding:var(--modal-gutter)}.nf-modal--layer-2{z-index:var(--z-modal-2)}.nf-modal__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--backdrop);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:nfFade .16s ease-out}.nf-modal__card{position:relative;z-index:1;width:100%;max-width:520px;max-height:calc(100dvh - 2 * var(--modal-gutter));display:flex;flex-direction:column;border-radius:var(--radius-lg);box-shadow:var(--elev-2);animation:nfPop .2s cubic-bezier(.2,1.2,.4,1);overflow:hidden}.nf-modal--sm .nf-modal__card{max-width:400px}.nf-modal--lg .nf-modal__card{max-width:760px}.nf-modal--light .nf-modal__card{background:var(--surface-light);color:var(--text-on-light)}.nf-modal--dark .nf-modal__card{background:var(--surface-1);color:var(--text-primary);border:1px solid var(--border)}.nf-modal__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:20px 20px 0}.nf-modal__titles{min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.nf-modal__title{margin:0;font-family:var(--font-display);font-size:24px;line-height:1.15;font-weight:400}.nf-modal__close{flex:none;margin:-6px -6px 0 0}.nf-modal__body{padding:var(--space-4) 20px 20px;overflow-y:auto;-webkit-overflow-scrolling:touch;min-height:0}.nf-modal__foot{display:flex;gap:10px;justify-content:flex-end;padding:0 20px 20px}.nf-modal__foot .nf-btn--block{flex:1}@keyframes nfFade{0%{opacity:0}to{opacity:1}}@keyframes nfPop{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}@media (max-width: 480px){.nf-modal{padding:var(--space-4);--modal-gutter: 16px}.nf-modal__title{font-size:21px}}.nf-seg{display:inline-flex;gap:var(--space-1);padding:var(--space-1);max-width:100%;min-width:0;border-radius:var(--radius-pill);background:var(--surface-tint);border:1px solid var(--border)}.nf-seg--fill{display:flex;width:100%}.nf-seg--fill .nf-seg__btn{flex:1}.nf-modal--light .nf-seg,.nf-paper .nf-seg,.on-light .nf-seg{background:var(--surface-light-2);border-color:var(--border-light)}.nf-seg__btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:var(--tap-min);padding:0 14px;border:none;border-radius:var(--radius-pill);background:transparent;color:var(--text-secondary);font-family:var(--font-display);font-size:15px;cursor:pointer;transition:background .12s ease,color .12s ease}.nf-seg__btn.is-active{background:var(--primary);color:var(--on-primary)}.nf-seg__btn:disabled{opacity:.5;cursor:not-allowed}.nf-seg__btn:focus-visible{outline:var(--focus-ring);outline-offset:1px}.nf-modal--light .nf-seg__btn,.nf-paper .nf-seg__btn,.on-light .nf-seg__btn{color:var(--text-on-light-2)}.nf-modal--light .nf-seg__btn.is-active,.nf-paper .nf-seg__btn.is-active,.on-light .nf-seg__btn.is-active{color:var(--on-primary)}.nf-seg--sm .nf-seg__btn{min-height:36px;font-size:14px;padding:0 12px}.nf-seg__item{display:flex;align-items:center;gap:2px;border-radius:var(--radius-pill)}.nf-seg__item .nf-seg__btn{flex:1}.nf-seg__item.is-active{background:var(--primary)}.nf-seg--fill .nf-seg__item{flex:1}.nf-seg__trailing{display:inline-grid;place-items:center;padding-right:6px;color:inherit}.nf-seg__item.is-active .nf-seg__trailing{color:var(--on-primary)}.nf-stat{display:inline-flex;align-items:center;gap:var(--space-2);min-height:40px;padding:0 14px 0 10px;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface-tint);color:var(--text-primary);font-family:var(--font-display);font-size:17px;line-height:1;text-decoration:none;cursor:default}.nf-stat[type=button]{min-height:var(--tap-min);cursor:pointer}@media (hover: hover) and (pointer: fine){.nf-stat[type=button]:hover{background:var(--surface-hover-strong)}}.nf-stat--sm{min-height:32px;font-size:14px;padding:0 10px 0 8px;gap:6px}.nf-stat__icon{display:grid;place-items:center;width:22px;height:22px}.nf-stat__icon img{width:22px;height:22px;object-fit:contain}.nf-stat--stars .nf-stat__icon{color:var(--star)}.nf-stat--streak .nf-stat__icon{color:var(--streak)}.nf-stat--books .nf-stat__icon,.nf-stat--words .nf-stat__icon{color:var(--primary-tint)}.nf-stat--reward .nf-stat__icon{color:var(--accent)}.nf-stat__suffix{font-family:var(--font-body);font-size:var(--fs-overline);font-weight:700;color:var(--text-muted);padding-left:var(--space-2);border-left:1px solid var(--border)}.nf-pill{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:0 10px;border-radius:var(--radius-pill);font-family:var(--font-body);font-size:var(--fs-caption);font-weight:700;line-height:1;white-space:nowrap}.nf-pill--sm{min-height:22px;padding:0 8px;font-size:var(--fs-overline)}.nf-pill--neutral{background:var(--surface-hover-strong);color:var(--text-secondary)}.nf-pill--primary{background:var(--primary-soft);color:var(--primary-tint)}.nf-pill--accent{background:var(--accent-soft);color:var(--accent)}.nf-pill--success{background:var(--success-soft);color:var(--success-tint)}.nf-pill--danger{background:var(--danger-soft);color:var(--danger-tint)}.nf-pill--locked{background:var(--locked-bg);color:var(--locked)}.nf-modal--light .nf-pill--neutral,.nf-paper .nf-pill--neutral,.on-light .nf-pill--neutral{background:var(--surface-light-2);color:var(--text-on-light-2)}.nf-modal--light .nf-pill--primary,.nf-paper .nf-pill--primary,.on-light .nf-pill--primary{color:var(--primary)}.nf-modal--light .nf-pill--success,.nf-paper .nf-pill--success,.on-light .nf-pill--success{color:var(--success-ink)}.nf-modal--light .nf-pill--accent,.nf-paper .nf-pill--accent,.on-light .nf-pill--accent{color:var(--accent-ink)}.nf-pill__icon{display:inline-grid;place-items:center}.nf-popover{position:fixed;z-index:var(--z-overlay);width:min(300px,100vw - 24px);padding:14px var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-primary);box-shadow:var(--elev-2);font-family:var(--font-body);font-size:var(--fs-body);line-height:1.4;animation:nfPop .16s ease-out}.nf-popover__arrow{position:absolute;width:14px;height:14px;background:var(--surface-2);border:1px solid var(--border-strong);transform:translate(-50%) rotate(45deg)}.nf-popover--bottom .nf-popover__arrow{top:-8px;border-right:none;border-bottom:none}.nf-popover--top .nf-popover__arrow{bottom:-8px;border-left:none;border-top:none}.nf-popover__title{font-family:var(--font-display);font-size:17px;margin:0 0 var(--space-1)}.nf-toast-host{position:fixed;top:calc(var(--shell-top) + var(--space-3) + env(safe-area-inset-top,0px));right:var(--space-4);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-2);width:min(360px,100vw - 32px);pointer-events:none}@media (max-width: 520px){.nf-toast-host{left:var(--space-4);right:var(--space-4);width:auto}}.nf-toast{pointer-events:auto;display:flex;align-items:flex-start;gap:10px;padding:var(--space-3) var(--space-3) var(--space-3) 14px;border-radius:var(--radius-md);background:var(--surface-2);color:var(--text-primary);border:1px solid var(--border-strong);box-shadow:var(--elev-2);font-family:var(--font-body);animation:nfToastIn .22s cubic-bezier(.2,.8,.3,1)}.nf-toast--error{border-color:var(--danger-border)}.nf-toast--success{border-color:var(--success-border)}.nf-toast__icon{flex:0 0 26px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:var(--on-primary)}.nf-toast--error .nf-toast__icon{background:var(--danger)}.nf-toast--success .nf-toast__icon{background:var(--success);color:var(--success-ink)}.nf-toast__text{flex:1;min-width:0;padding-top:2px}.nf-toast__title{font-family:var(--font-display);font-size:var(--fs-body);line-height:1.25}.nf-toast__body{font-size:var(--fs-caption);line-height:1.4;color:var(--text-secondary);margin-top:2px}.nf-toast__close{flex:none;width:var(--tap-min);height:var(--tap-min);margin:-10px -10px -10px 0;display:grid;place-items:center;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer}@media (hover: hover) and (pointer: fine){.nf-toast__close:hover{background:var(--surface-hover)}}@keyframes nfToastIn{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}.nf-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-3);padding:var(--space-7) var(--space-5)}.nf-empty__badge{width:88px;height:88px;border-radius:50%;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary-tint);border:1px solid var(--border)}.nf-empty__actions{display:flex;gap:var(--space-3);flex-wrap:wrap;justify-content:center;margin-top:var(--space-2)}.nf-notfound{min-height:calc(100vh - var(--shell-top) - var(--shell-bottom));display:grid;place-items:center;padding:var(--space-6) var(--page-gutter)}.nf-notfound__card{width:100%;max-width:520px}.nf-notfound__code{font-family:var(--font-display);font-size:64px;line-height:1;color:var(--primary-tint)}@media (max-width: 480px){.nf-notfound__code{font-size:52px}}.nf-text-glyph{display:inline-block;font-family:var(--font-display);font-style:normal;line-height:1}.nf-notfound__path{font-family:var(--font-body);font-weight:700;color:var(--text-primary);word-break:break-all}.reader,.reader *,.reader *:before,.reader *:after,.word-card,.word-card *,.focus-card,.focus-card *,.star-meter__flyer{box-sizing:border-box}.reader{--reader-top-h: 64px;--reader-bar-h: 72px;--reader-fs: 26px;--reader-lh: 1.7;position:relative;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--surface-0);color:var(--text-primary)}.reader--fs-s{--reader-fs: 22px}.reader--fs-m{--reader-fs: 26px}.reader--fs-l{--reader-fs: 31px}.reader--fs-xl{--reader-fs: 37px}@media (max-width: 768px){.reader{--reader-top-h: 60px}.reader--fs-s{--reader-fs: 19px}.reader--fs-m{--reader-fs: 22px}.reader--fs-l{--reader-fs: 26px}.reader--fs-xl{--reader-fs: 31px}}@media (min-width: 1025px){.reader.reader--read{height:100vh;height:100dvh;overflow:hidden}}.reader-top{position:sticky;top:0;z-index:var(--z-nav);background:color-mix(in srgb,var(--surface-0) 90%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border);padding-top:env(safe-area-inset-top,0px)}.reader-top__inner{max-width:1320px;margin:0 auto;min-height:var(--reader-top-h);display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--page-gutter)}.reader-top__title{flex:1;min-width:0;display:flex;align-items:center;gap:var(--space-3)}@media (max-width: 768px){.reader-top__title{flex-direction:column;align-items:flex-start;gap:2px}}.reader-top__name{margin:0;min-width:0;max-width:100%;font-family:var(--font-display);font-size:22px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 768px){.reader-top__name{font-size:18px}}.reader-top__pills{flex:none;display:flex;align-items:center;gap:6px}.reader-top__tools{flex:none;display:flex;align-items:center;gap:var(--space-1)}.reader-top__mic.is-on{background:var(--primary);border-color:transparent;color:var(--on-primary)}.reader-focus-pill{position:relative}.reader-focus-pill:after{content:"";position:absolute;top:50%;left:50%;width:max(100%,44px);height:max(100%,44px);transform:translate(-50%,-50%)}.reader-focus-pill:focus-visible{outline:var(--focus-ring);outline-offset:2px}.reader-focus-pill{display:inline-flex;align-items:center;gap:5px;min-height:26px;padding:0 10px;border-radius:var(--radius-pill);border:1px solid var(--border-strong);background:var(--surface-tint);color:var(--text-primary);font:700 var(--fs-caption)/1 var(--font-body);white-space:nowrap;cursor:pointer}@media (hover: hover) and (pointer: fine){.reader-focus-pill:hover{background:var(--surface-hover-strong)}}@media (max-width: 768px){.reader-focus-pill{min-height:22px;font-size:var(--fs-overline)}}.reader-progress{height:4px;background:var(--surface-tint);overflow:hidden}.reader-progress__fill{display:block;height:100%;background:var(--primary);border-radius:0 var(--radius-pill) var(--radius-pill) 0}@media (prefers-reduced-motion: no-preference){.reader-progress__fill{transition:width .32s cubic-bezier(.2,.8,.2,1),background .32s ease}}.reader-progress.is-complete .reader-progress__fill{background:var(--accent)}.reader-stage{flex:1;width:100%;padding:var(--space-3) var(--page-gutter) calc(var(--reader-bar-h) + var(--space-5) + env(safe-area-inset-bottom,0px))}.reader--aloud .reader-stage{padding-bottom:calc(var(--reader-bar-h) + 150px + env(safe-area-inset-bottom,0px))}@media (min-width: 1025px){.reader-stage{min-height:0;display:flex;padding:var(--space-5) var(--space-5) var(--space-4)}.reader--aloud .reader-stage{padding-bottom:var(--space-3)}}.reader-stage--message{display:grid;place-items:center}.reader-stage--end{padding-top:var(--space-5);padding-bottom:calc(var(--reader-bar-h) + var(--space-6))}@media (min-width: 1025px){.reader-stage--end{display:block}}.reader-book{position:relative;width:100%;max-width:720px;margin:0 auto;overflow:hidden}@media (min-width: 1025px){.reader-book{max-width:1240px;height:100%;max-height:780px;margin:auto}}.reader-page{display:flex;flex-direction:column}@media (min-width: 1025px){.reader-page{height:100%;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}.reader-book--wide .reader-page{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}}@media (prefers-reduced-motion: no-preference){.reader-page--next{animation:readerPageNext .28s cubic-bezier(.2,.8,.2,1)}.reader-page--prev{animation:readerPagePrev .28s cubic-bezier(.2,.8,.2,1)}}@keyframes readerPageNext{0%{opacity:0;transform:translate(32px)}to{opacity:1;transform:none}}@keyframes readerPagePrev{0%{opacity:0;transform:translate(-32px)}to{opacity:1;transform:none}}.reader-book__art{position:relative;display:grid;place-items:center;background:var(--paper-2);border-bottom:1px solid var(--paper-border)}.reader-book__art img{display:block;width:100%;height:auto;max-height:52vh;object-fit:contain}@media (min-width: 1025px){.reader-book__art{min-height:0;overflow:hidden;border-bottom:none;border-right:1px solid var(--paper-border);box-shadow:inset -18px 0 24px -22px color-mix(in srgb,var(--ink) 45%,transparent)}.reader-book__art img{position:absolute;top:var(--space-5);left:var(--space-5);width:calc(100% - 2 * var(--space-5));height:calc(100% - 2 * var(--space-5));max-height:none;object-fit:contain}.reader-book--wide .reader-book__art{height:min(36vh,min(1240px,100vw - 2 * var(--space-5)) / var(--art-ratio, 3));border-right:none;border-bottom:1px solid var(--paper-border);box-shadow:none}}@media (max-width: 768px){.reader-book__art--cover img{max-height:46vh}}.book-art img{opacity:0}@media (prefers-reduced-motion: no-preference){.book-art img{transition:opacity .2s ease}}.book-art.is-loaded img{opacity:1}.book-art--empty{min-height:200px;color:var(--ink-muted)}.reader-book__text{position:relative;min-height:0;display:flex;flex-direction:column;padding:var(--space-5) var(--space-5) var(--space-6)}@media (min-width: 1025px){.reader-book__text{padding:var(--space-7) var(--space-7) var(--space-5)}}@media (min-width: 1025px){.reader-book--wide .reader-book__text{padding:var(--space-5) var(--space-7)}}.reader-book__scroll{flex:1;min-height:0;display:flex;flex-direction:column}@media (min-width: 1025px){.reader-book__scroll{overflow-y:auto;overscroll-behavior:contain}}.reader-book__folio{position:absolute;right:var(--space-5);bottom:var(--space-3);font-family:var(--font-display);font-size:15px;color:var(--ink-muted)}@media (max-width: 1024px){.reader-book__folio{display:none}}.reader-text{margin:auto 0;max-width:30em;font-family:var(--font-reading);font-size:var(--reader-fs);line-height:var(--reader-lh);font-weight:500;color:var(--ink)}@media (max-width: 1024px){.reader-text{margin:0}}@media (min-width: 1025px){.reader-book--wide .reader-text{margin:auto}}.reader-line{padding:0 .2em;margin:0 0 .3em -.2em;border-radius:var(--radius-sm)}.reader-line--gap{margin-top:.75em}.reader-line.is-target{background:var(--paper-3);box-shadow:inset 4px 0 0 var(--primary)}.reader-word{display:inline;margin:0;padding:.04em .08em;border:0;border-radius:6px;background:transparent;color:inherit;font:inherit;line-height:inherit;letter-spacing:var(--tracking-reading);text-align:inherit;cursor:pointer;-webkit-box-decoration-break:clone;box-decoration-break:clone}@media (hover: hover) and (pointer: fine){.reader-word:hover{background:var(--paper-3)}}.reader-word:focus-visible{outline:var(--focus-ring);outline-offset:1px}.reader-word.is-active,.reader-word.is-target{background:var(--ink-highlight)}@media (prefers-reduced-motion: no-preference){.reader-word.is-target{animation:readerGlow 1.4s ease-in-out infinite}}.reader-word.is-done{color:var(--success-ink)}.reader-word--punct{cursor:default}.reader-word__focus{text-decoration:underline;text-decoration-color:var(--primary);text-decoration-thickness:.12em;text-underline-offset:.2em;background:color-mix(in srgb,var(--primary) 9%,transparent);border-radius:3px}@keyframes readerGlow{0%,to{box-shadow:0 0 0 0 var(--ink-highlight)}50%{box-shadow:0 0 0 5px var(--ink-highlight)}}.reader-legend:focus-visible{outline:var(--focus-ring);outline-offset:2px}.reader-legend{align-self:flex-start;display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--tap-min);margin-top:var(--space-4);padding:0;border:0;background:none;color:var(--ink-muted);font:600 var(--fs-caption)/1.3 var(--font-body);text-align:left;cursor:pointer}.reader-legend__sample{font:800 17px/1 var(--font-reading);color:var(--ink);text-decoration:underline;text-decoration-color:var(--primary);text-decoration-thickness:3px;text-underline-offset:4px;background:color-mix(in srgb,var(--primary) 9%,transparent);border-radius:3px;padding:2px 4px}.reader-cover{gap:var(--space-3);justify-content:center;align-items:flex-start}.reader-cover__title{margin:0;font-family:var(--font-display);font-size:clamp(28px,3.4vw,44px);line-height:1.1;color:var(--ink)}.reader-cover__pills{display:flex;flex-wrap:wrap;gap:6px}.reader-cover__focus:focus-visible{outline:var(--focus-ring);outline-offset:2px}.reader-cover__focus{display:flex;align-items:center;gap:var(--space-3);width:100%;max-width:420px;padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--paper-border);background:var(--paper-2);color:var(--ink);text-align:left;font:inherit;cursor:pointer}@media (hover: hover) and (pointer: fine){.reader-cover__focus:hover{background:var(--paper-3)}}.reader-cover__focus>span:last-child{display:flex;flex-direction:column;gap:2px;font-size:var(--fs-caption);color:var(--ink-2)}.reader-cover__focus strong{font-size:var(--fs-body);color:var(--ink)}.reader-cover__focus-icon{flex:none;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:var(--primary);color:var(--on-primary)}.reader-cover__tip{display:inline-flex;align-items:center;gap:var(--space-2);margin:0;color:var(--ink-muted);font-size:var(--fs-body)}.reader-cover__start{margin-top:var(--space-2);min-height:52px;padding:0 28px;font-size:19px}@media (max-width: 1024px){.reader-cover__start{display:none}}.reader-actionbar{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-hud);min-height:var(--reader-bar-h);display:flex;align-items:center;padding:var(--space-3) var(--page-gutter) calc(var(--space-3) + env(safe-area-inset-bottom,0px));background:var(--surface-1);border-top:1px solid var(--border)}@media (min-width: 1025px){.reader--read .reader-actionbar{position:static;background:transparent;border-top:none;padding:0 var(--space-5) var(--space-4)}}.reader-actionbar__inner{width:100%;max-width:720px;margin:0 auto;display:flex;align-items:center;gap:var(--space-3)}.reader-actionbar__prev:disabled{opacity:.4;cursor:default}.reader-actionbar__next{flex:none;min-width:128px;min-height:48px}.reader-pager{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:6px}.reader-pager__dots{display:flex;align-items:center;gap:6px;max-width:100%;overflow:hidden}.reader-pager__dot{flex:none;width:8px;height:8px;border-radius:var(--radius-pill);background:var(--surface-hover-strong)}@media (prefers-reduced-motion: no-preference){.reader-pager__dot{transition:width .2s ease,background .2s ease}}.reader-pager__dot.is-read{background:color-mix(in srgb,var(--primary) 55%,transparent)}.reader-pager__dot.is-current{width:22px;background:var(--primary)}@media (max-width: 480px){.reader-pager--many .reader-pager__dots{display:none}}.reader-pager__count{font-family:var(--font-display);font-size:16px;color:var(--text-secondary)}.read-aloud{position:fixed;left:0;right:0;bottom:calc(var(--reader-bar-h) + env(safe-area-inset-bottom,0px));z-index:var(--z-hud);padding:var(--space-3) var(--page-gutter);background:var(--surface-2);border-top:1px solid var(--border)}@media (min-width: 1025px){.read-aloud{position:static;width:calc(100% - 2 * var(--space-5));max-width:1240px;margin:0 auto var(--space-3);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-1)}}.read-aloud__inner{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;grid-template-areas:"mic main meter close";align-items:center;gap:var(--space-3)}@media (max-width: 768px){.read-aloud__inner{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"seg seg close" "mic msg meter";row-gap:var(--space-3)}.read-aloud__inner .read-aloud__main{display:contents}.read-aloud__inner .nf-seg{grid-area:seg;justify-self:start}.read-aloud__inner .read-aloud__msg{grid-area:msg}}.read-aloud__main{grid-area:main;min-width:0;display:flex;align-items:center;gap:var(--space-4)}.read-aloud__msg{margin:0;min-width:0;font-size:var(--fs-body);color:var(--text-secondary)}.read-aloud__msg.is-warn{color:var(--danger-tint)}.read-aloud .star-meter{grid-area:meter}.read-aloud__close{grid-area:close}.read-aloud__mic:focus-visible{outline:var(--focus-ring);outline-offset:2px}.read-aloud__mic{grid-area:mic;position:relative;width:56px;height:56px;display:grid;place-items:center;border:0;border-radius:50%;background:var(--primary);color:var(--on-primary);box-shadow:var(--chunky-primary);cursor:pointer}.read-aloud__mic:active{transform:translateY(3px);box-shadow:none}.read-aloud__mic:disabled{background:var(--surface-3);color:var(--text-muted);box-shadow:none;cursor:not-allowed}.read-aloud__mic.is-on{background:var(--danger);box-shadow:0 4px color-mix(in srgb,var(--danger) 60%,var(--ink))}.read-aloud__mic.is-on:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:50%;border:2px solid var(--danger-border)}@media (prefers-reduced-motion: no-preference){.read-aloud__mic.is-on:after{animation:readerMicPulse 1.4s ease-out infinite}}@keyframes readerMicPulse{0%{transform:scale(.9);opacity:1}to{transform:scale(1.35);opacity:0}}.star-meter{position:relative;flex:none;display:inline-flex;align-items:center;gap:4px;height:40px;padding:2px 12px 2px 2px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--star) 14%,var(--surface-2));border:1px solid color-mix(in srgb,var(--star) 40%,transparent)}.star-meter__ring{width:36px;height:36px;transform:rotate(-90deg)}.star-meter__track{fill:none;stroke:color-mix(in srgb,var(--star) 22%,transparent);stroke-width:3.5}.star-meter__fill{fill:none;stroke:var(--star);stroke-width:3.5;stroke-linecap:round}@media (prefers-reduced-motion: no-preference){.star-meter__fill{transition:stroke-dashoffset .42s cubic-bezier(.34,1.56,.64,1)}}.star-meter__halo{position:absolute;left:2px;top:2px;width:36px;height:36px;border-radius:50%;pointer-events:none}@media (prefers-reduced-motion: no-preference){.star-meter__halo.is-on{animation:starHalo .6s ease-out}}.star-meter__star{position:absolute;left:11px;top:11px;width:18px;height:18px;display:grid;place-items:center;color:var(--star);filter:drop-shadow(0 1px 3px color-mix(in srgb,var(--star) 55%,transparent))}@media (prefers-reduced-motion: no-preference){.star-meter__star.is-pop{animation:starPop .52s cubic-bezier(.34,1.56,.64,1)}}.star-meter__count{min-width:1ch;font-family:var(--font-display);font-size:18px;color:var(--text-primary)}@media (prefers-reduced-motion: no-preference){.star-meter__count.is-bump{animation:starCount .42s ease-out}}.star-meter__plus{position:absolute;left:50%;top:-8px;margin-left:-10px;font-family:var(--font-display);font-size:16px;color:var(--star);pointer-events:none;opacity:0}@media (prefers-reduced-motion: no-preference){.star-meter__plus{animation:starPlus 1.1s ease-out}}.star-meter__flyer{position:fixed;left:0;top:0;z-index:calc(var(--z-toast) + 1);margin:-10px 0 0 -10px;color:var(--star);filter:drop-shadow(0 0 6px var(--star));pointer-events:none}@keyframes starHalo{0%{box-shadow:0 0 color-mix(in srgb,var(--star) 70%,transparent)}to{box-shadow:0 0 0 12px transparent}}@keyframes starPop{0%{transform:scale(1.9) rotate(-30deg)}to{transform:none}}@keyframes starCount{40%{transform:scale(1.35)}}@keyframes starPlus{0%{opacity:0;transform:translateY(4px) scale(.6)}25%{opacity:1;transform:translateY(-14px) scale(1.15)}to{opacity:0;transform:translateY(-30px) scale(1)}}.nf-popover.reader-popover{width:min(380px,100vw - 24px);padding:var(--space-4) 18px;background:var(--paper);color:var(--ink);border-color:var(--paper-border)}.nf-popover.reader-popover .nf-popover__arrow{background:var(--paper);border-color:var(--paper-border)}@media (max-width: 768px){.nf-modal.reader-sheet{place-items:end stretch;padding:0}.nf-modal.reader-sheet .nf-modal__card{max-width:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding-bottom:env(safe-area-inset-bottom,0px)}}@media (max-width: 768px) and (prefers-reduced-motion: no-preference){.nf-modal.reader-sheet .nf-modal__card{animation:readerSheetUp .26s cubic-bezier(.2,.8,.2,1)}}.nf-modal.reader-sheet .nf-modal__card{background:var(--paper);color:var(--ink)}.nf-modal.reader-sheet .nf-modal__head{padding:var(--space-3) var(--space-3) 0;justify-content:flex-end}.nf-modal.reader-sheet .nf-modal__body{padding-top:0}@keyframes readerSheetUp{0%{transform:translateY(100%)}to{transform:none}}.word-card{display:flex;flex-direction:column;gap:var(--space-3)}.word-card .nf-btn--ghost{color:var(--ink-2)}@media (hover: hover) and (pointer: fine){.word-card .nf-btn--ghost:hover{background:var(--paper-3)}}.word-card__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.word-card__word{min-width:0;font:800 40px/1.1 var(--font-reading);color:var(--ink);overflow-wrap:anywhere}.word-card__play{flex:none}@media (prefers-reduced-motion: no-preference){.word-card__play.is-playing{animation:readerGlowBtn .9s ease-in-out infinite}}@keyframes readerGlowBtn{50%{filter:brightness(1.12)}}.word-card__label{margin:0;font:700 var(--fs-overline)/1 var(--font-body);letter-spacing:var(--tracking-overline);text-transform:uppercase;color:var(--ink-muted)}.word-card__tiles{display:flex;flex-wrap:wrap;gap:var(--space-2)}.word-tile:focus-visible{outline:var(--focus-ring);outline-offset:2px}.word-tile{min-width:56px;min-height:68px;padding:var(--space-2) var(--space-3);display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:var(--radius-md);border:1px solid var(--paper-border);background:var(--paper-2);color:var(--ink);font:700 26px/1 var(--font-reading);cursor:pointer}@media (prefers-reduced-motion: no-preference){.word-tile{transition:transform .12s ease,background .12s ease}}@media (hover: hover) and (pointer: fine){.word-tile:hover{background:var(--paper-3)}}.word-tile:active{transform:scale(.96)}.word-tile.is-focus{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,var(--paper))}.word-tile.is-playing{background:var(--ink-highlight);transform:scale(1.05)}.word-tile:disabled{cursor:default;opacity:.6}.word-tile__icon{color:var(--ink-muted)}.word-card__def{margin:0;font-size:var(--fs-body);color:var(--ink-2)}.word-card__muted{margin:0;color:var(--ink-muted);font-size:var(--fs-body)}.word-card__foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--paper-border)}.word-card__saved{display:inline-flex;align-items:center;gap:6px;min-height:var(--tap-min);color:var(--success-ink);font-weight:700;font-size:var(--fs-caption)}.word-card__more{display:inline-flex;align-items:center;gap:2px;min-height:var(--tap-min);color:var(--ink-link);font-weight:700;font-size:var(--fs-caption);text-decoration:none}@media (hover: hover) and (pointer: fine){.word-card__more:hover{text-decoration:underline}}.focus-card__body{display:flex;flex-direction:column;gap:var(--space-4)}.focus-card__label{margin:0 0 var(--space-2);font:700 var(--fs-overline)/1 var(--font-body);letter-spacing:var(--tracking-overline);text-transform:uppercase;color:var(--text-on-light-2)}.focus-card__chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.focus-chip{display:inline-flex;flex-direction:column;align-items:center;gap:2px;min-width:64px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--border-light);background:var(--surface-light-2)}.focus-chip__g{font:800 24px/1.1 var(--font-reading);color:var(--primary);white-space:pre}.focus-chip__ex{font-size:var(--fs-caption);color:var(--text-on-light-2)}.focus-card__examples{margin:0;font:600 var(--fs-lead)/1.5 var(--font-reading);color:var(--text-on-light)}.focus-card__toggle{position:relative;display:flex;align-items:center;gap:var(--space-3);min-height:var(--tap-min);color:var(--text-on-light);font-weight:600;cursor:pointer}.focus-card__toggle input{position:absolute;opacity:0;width:1px;height:1px}.focus-card__toggle input:focus-visible+.focus-card__switch{outline:var(--focus-ring);outline-offset:2px}.focus-card__toggle input:checked+.focus-card__switch{background:var(--primary)}.focus-card__toggle input:checked+.focus-card__switch:after{transform:translate(18px)}.focus-card__switch{flex:none;position:relative;width:44px;height:26px;border-radius:var(--radius-pill);background:var(--surface-light-3)}@media (prefers-reduced-motion: no-preference){.focus-card__switch{transition:background .16s ease}}.focus-card__switch:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--surface-light);box-shadow:var(--elev-1)}@media (prefers-reduced-motion: no-preference){.focus-card__switch:after{transition:transform .16s ease}}.nf-popover.text-size-pop{width:260px}.text-size-pop__a{font-family:var(--font-display);line-height:1}.text-size-pop__a--s{font-size:13px}.text-size-pop__a--m{font-size:15px}.text-size-pop__a--l{font-size:18px}.text-size-pop__a--xl{font-size:21px}.assignment-strip{width:calc(100% - 2 * var(--page-gutter));max-width:1240px;margin:var(--space-3) auto 0;display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-2) var(--space-3) var(--space-2) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-1)}.assignment-strip.is-recording{border-color:var(--danger-border)}.assignment-strip__text{flex:1;min-width:180px;display:flex;flex-direction:column;gap:2px}.assignment-strip__msg{font-size:var(--fs-body);color:var(--text-secondary)}.assignment-strip__error{font-size:var(--fs-caption);color:var(--danger-tint)}.assignment-strip__audio{height:36px;max-width:260px}.assignment-strip__actions{display:flex;align-items:center;gap:var(--space-2)}.assignment-strip__bars{display:inline-flex;align-items:flex-end;gap:3px;height:22px}.assignment-strip__bars span{width:4px;height:100%;border-radius:2px;background:var(--danger);transform-origin:bottom}@media (prefers-reduced-motion: no-preference){.assignment-strip__bars span{animation:readerBars .9s ease-in-out infinite}}.assignment-strip__bars span:nth-child(2){animation-delay:.12s}.assignment-strip__bars span:nth-child(3){animation-delay:.24s}.assignment-strip__bars span:nth-child(4){animation-delay:.36s}@keyframes readerBars{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}.celebrate{position:relative;max-width:560px;margin:0 auto}.celebrate__card{position:relative;z-index:var(--z-base);display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-6) var(--space-5) var(--space-5);text-align:center}.celebrate__badge{width:104px;height:104px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:var(--accent-ink);box-shadow:var(--chunky-accent),0 0 0 10px var(--accent-soft)}@media (prefers-reduced-motion: no-preference){.celebrate__badge{animation:celebrateBadge .7s cubic-bezier(.34,1.56,.64,1)}}@keyframes celebrateBadge{0%{transform:scale(.3) rotate(-25deg);opacity:0}to{transform:none;opacity:1}}.celebrate__title{margin:0;font-family:var(--font-display);font-size:clamp(28px,4vw,38px);line-height:1.1;color:var(--ink);outline:none}.celebrate__stats{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2);margin:var(--space-2) 0}.celebrate__go{min-height:54px;padding:0 28px;font-size:19px}.celebrate__saving{margin:0;color:var(--ink-muted);font-size:var(--fs-caption)}.celebrate__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2)}.celebrate__confetti{position:absolute;inset:-40px -20px auto;height:420px;pointer-events:none;overflow:hidden;z-index:calc(var(--z-base) + 1)}.celebrate__confetti span{position:absolute;top:-20px;left:calc(4% + var(--i) * 6.8%);width:10px;height:14px;border-radius:2px;background:var(--primary);opacity:0}@media (prefers-reduced-motion: no-preference){.celebrate__confetti span{animation:confettiFall 2.2s cubic-bezier(.3,.6,.5,1) forwards;animation-delay:calc(var(--i) * 70ms)}}.celebrate__confetti span:nth-child(5n+1){background:var(--accent)}.celebrate__confetti span:nth-child(5n+2){background:var(--star)}.celebrate__confetti span:nth-child(5n+3){background:var(--success)}.celebrate__confetti span:nth-child(5n+4){background:var(--streak);width:8px;height:8px;border-radius:50%}@keyframes confettiFall{0%{opacity:0;transform:translateY(0) rotate(0)}10%{opacity:1}to{opacity:0;transform:translateY(400px) rotate(540deg)}}.nf-paper .nf-stat{background:var(--paper-2);border-color:var(--paper-border);color:var(--ink)}.nf-paper .nf-stat__suffix{color:var(--ink-muted);border-color:var(--paper-border)}.nf-paper .nf-stat--books .nf-stat__icon,.nf-paper .nf-stat--words .nf-stat__icon{color:var(--primary)}.next-book:focus-visible{outline:var(--focus-ring);outline-offset:2px}.next-book{display:flex;align-items:center;gap:var(--space-3);width:100%;max-width:440px;padding:var(--space-2) var(--space-3) var(--space-2) var(--space-2);border-radius:var(--radius-md);border:1px solid var(--paper-border);background:var(--paper-2);color:var(--ink);text-align:left;text-decoration:none}@media (hover: hover) and (pointer: fine){.next-book:hover{background:var(--paper-3)}}.next-book__cover{flex:none;width:60px;aspect-ratio:var(--cover-ratio);display:grid;place-items:center;overflow:hidden;border-radius:var(--radius-sm);background:var(--paper-3);color:var(--ink-muted)}.next-book__cover img{width:100%;height:100%;object-fit:contain}.next-book__text{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px}.next-book__title{font-family:var(--font-display);font-size:18px;line-height:1.2;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.next-book__go{color:var(--ink-muted)}.quiz{max-width:640px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-4)}.quiz__head{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.quiz__head .nf-overline{color:var(--text-secondary)}.quiz__dots{display:flex;gap:6px}.quiz__dot{width:10px;height:10px;border-radius:var(--radius-pill);background:var(--surface-hover-strong)}.quiz__dot.is-current{width:26px;background:var(--primary)}.quiz__dot.is-right{background:var(--success)}.quiz__dot.is-wrong{background:var(--danger)}.quiz__dot.is-done{background:var(--primary-tint)}.quiz__card{padding:var(--space-6) var(--space-5)}@media (max-width: 480px){.quiz__card{padding:var(--space-5) var(--space-4)}}@media (prefers-reduced-motion: no-preference){.quiz__card{animation:readerPageNext .28s cubic-bezier(.2,.8,.2,1)}}.quiz__question{margin:0 0 var(--space-5);font:700 clamp(22px,var(--reader-fs) * .95,34px)/1.35 var(--font-reading);color:var(--ink);outline:none}.quiz__options{display:flex;flex-direction:column;gap:var(--space-3)}.quiz__option:focus-visible{outline:var(--focus-ring);outline-offset:2px}.quiz__option{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:60px;padding:var(--space-3) var(--space-4) var(--space-3) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--paper-border);background:var(--paper);color:var(--ink);font:600 clamp(18px,var(--reader-fs) * .78,26px)/1.3 var(--font-reading);text-align:left;cursor:pointer}@media (prefers-reduced-motion: no-preference){.quiz__option{transition:background .14s ease,border-color .14s ease,transform .12s ease}}@media (hover: hover) and (pointer: fine){.quiz__option:hover{background:var(--paper-2)}}.quiz__option:active{transform:scale(.99)}.quiz__option.is-picked{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,var(--paper))}.quiz__option.is-correct{border-color:var(--success);background:color-mix(in srgb,var(--success) 14%,var(--paper))}.quiz__option.is-correct .quiz__letter{background:var(--success);color:var(--on-primary)}@media (prefers-reduced-motion: no-preference){.quiz__option.is-correct{animation:quizRight .36s ease-out}}.quiz__option.is-wrong{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,var(--paper))}.quiz__option.is-wrong .quiz__letter{background:var(--danger);color:var(--on-primary)}@media (prefers-reduced-motion: no-preference){.quiz__option.is-wrong{animation:quizShake .36s ease-in-out}}.quiz__option.is-dim,.quiz__option:disabled{opacity:.5;cursor:default}.quiz__letter{flex:none;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--paper-3);color:var(--ink-2);font:400 17px/1 var(--font-display)}@keyframes quizRight{40%{transform:scale(1.03)}}@keyframes quizShake{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}@media (prefers-reduced-motion: no-preference){.reader-actionbar.quiz__bar{transition:background .18s ease,border-color .18s ease}}.reader-actionbar.quiz__bar.is-correct{background:color-mix(in srgb,var(--success) 22%,var(--surface-1));border-top-color:var(--success-border)}.reader-actionbar.quiz__bar.is-wrong{background:color-mix(in srgb,var(--danger) 18%,var(--surface-1));border-top-color:var(--danger-border)}.quiz__feedback{flex:1;min-width:0;display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-display);font-size:19px;color:var(--text-primary)}.quiz__feedback .nf-icon--star{color:var(--accent)}.quiz__feedback strong{font-weight:400;color:var(--success-tint)}.quiz__feedback span{font-family:var(--font-body);font-size:var(--fs-body)}.is-wrong .quiz__feedback span{font-family:var(--font-display);font-size:18px}.quiz__next{flex:none;min-width:150px;min-height:48px}.quiz--summary .quiz__card{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center}.quiz__stars{display:flex;gap:var(--space-2)}.quiz__star{color:var(--paper-3)}.quiz__star.is-on{color:var(--accent);filter:drop-shadow(0 2px 0 var(--accent-shadow))}@media (prefers-reduced-motion: no-preference){.quiz__star.is-on{animation:starPop .52s cubic-bezier(.34,1.56,.64,1) both}}.quiz__title{margin:0;font-family:var(--font-display);font-size:clamp(28px,4vw,36px);color:var(--ink);outline:none}.quiz__lead{margin:0;font-size:var(--fs-lead);color:var(--ink-2)}.quiz__badge{width:84px;height:84px;display:grid;place-items:center;border-radius:50%}.quiz__badge--primary{background:var(--primary);color:var(--on-primary)}.quiz__save{margin:0;color:var(--ink-muted);font-size:var(--fs-caption)}.quiz__save--error{color:var(--danger)}.quiz__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2)}.reader-locked{flex:1;display:grid;place-items:center;padding:var(--space-6) var(--page-gutter)}.reader-locked__card{width:100%;max-width:480px;display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-6) var(--space-5);text-align:center}.reader-locked__badge{width:84px;height:84px;display:grid;place-items:center;border-radius:50%;background:var(--locked-bg);color:var(--locked)}.reader-locked__title{margin:0;font-family:var(--font-display);font-size:26px;line-height:1.2}.reader-locked__lead{margin:0;color:var(--text-secondary)}.reader-locked__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2);margin-top:var(--space-2)}.reader-book--skeleton{display:flex;flex-direction:column}@media (min-width: 1025px){.reader-book--skeleton{display:grid;grid-template-columns:1fr 1fr}}.reader-book--skeleton .reader-book__art{min-height:240px}.reader-book--skeleton .reader-book__text{justify-content:center;gap:var(--space-4)}.skeleton{background:linear-gradient(90deg,var(--paper-2),var(--paper-3),var(--paper-2));background-size:200% 100%}@media (prefers-reduced-motion: no-preference){.skeleton{animation:readerShimmer 1.4s linear infinite}}.skeleton--line{display:block;width:100%;height:22px;border-radius:var(--radius-sm)}.skeleton--short{width:60%}@keyframes readerShimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.story__page-container{width:100%}.story__page{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);background:var(--paper);color:var(--ink)}.story__word-container{font-family:var(--font-reading);line-height:var(--lh-reading);color:var(--ink)}.story__line{margin-bottom:.25em}.story__line--empty{height:.5em}.story__clickable-word{color:var(--ink)}.story__page--img{width:100%;max-height:260px;object-fit:contain;border-radius:var(--radius-sm)}.story__loading{min-height:60vh;display:grid;place-items:center;color:var(--text-secondary);font-family:var(--font-display);font-size:var(--fs-heading)}.story__loading--globe,.story__loading--lds-ellipsis,.reader-more{display:none}@media (min-width: 1025px){.reader-more{display:flex;justify-content:center;align-items:flex-end;position:relative;z-index:var(--z-base);height:56px;margin:-56px calc(var(--space-7) * -1) 0;padding-bottom:2px;pointer-events:none;background:linear-gradient(to bottom,transparent,var(--paper) 75%)}}.reader-more__btn{pointer-events:auto;display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:0 var(--space-3);border:1px solid var(--paper-border);border-radius:var(--radius-pill);background:var(--paper);color:var(--ink);font:600 14px/1 var(--font-body);cursor:pointer}@media (prefers-reduced-motion: no-preference){.reader-more__btn{animation:reader-more-nudge 1.6s ease-in-out 2}}.reader-more__btn:focus-visible{outline:3px solid var(--accent);outline-offset:2px}@keyframes reader-more-nudge{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}.tracker{display:flex;flex-direction:column;gap:var(--space-5)}@media (prefers-reduced-motion: no-preference){.tracker{animation:nfFade .3s ease both}}.tracker__gate,.tracker__empty{max-width:640px;width:100%;margin:0 auto}.tracker__head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.tracker__titles{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.tracker__stats{display:flex;gap:var(--space-2);flex-wrap:wrap}.tracker__cta{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--surface-2)}@media (max-width: 480px){.tracker__cta{flex-wrap:wrap;padding:var(--space-4)}}.tracker__cta-icon{flex:none;width:52px;height:52px;display:grid;place-items:center;border-radius:var(--radius-md);background:var(--primary-soft);color:var(--primary-tint)}.tracker__cta-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.tracker__cta-btn{flex:none;min-width:120px}@media (max-width: 480px){.tracker__cta-btn{width:100%}}.tracker__group{display:flex;flex-direction:column;gap:var(--space-2)}.tracker__group-head{display:flex;align-items:center;gap:var(--space-2)}.tracker__blurb{margin:0 0 var(--space-2)}.tracker__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-3)}@media (max-width: 480px){.tracker__grid{grid-template-columns:1fr}}.tracker-word{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3);box-shadow:none}.tracker-word__paper{font:inherit;width:100%;min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);cursor:pointer;box-shadow:none;text-align:left;transition:background .12s ease,transform .12s ease}@media (hover: hover) and (pointer: fine){.tracker-word__paper:hover{background:var(--paper-2)}}.tracker-word__paper:active{transform:translateY(1px);background:var(--paper-3)}.tracker-word__text{font-family:var(--font-reading);font-weight:700;font-size:32px;line-height:1.1;color:var(--ink);overflow-wrap:anywhere}.tracker-word__speaker{flex:none;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:var(--primary);color:var(--on-primary)}.tracker-word__tiles{display:flex;flex-wrap:wrap;gap:var(--space-2)}.tracker-word__tile{font:inherit;min-width:var(--tap-min);min-height:var(--tap-min);padding:0 var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-primary);font-family:var(--font-reading);font-weight:700;font-size:20px;cursor:pointer;transition:background .12s ease,transform .12s ease}@media (hover: hover) and (pointer: fine){.tracker-word__tile:hover{background:var(--surface-3)}}.tracker-word__tile:active{transform:translateY(1px);background:var(--primary-soft)}.tracker-word__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-top:auto}.tracker-word__foot .nf-caption{white-space:nowrap}.tracker-word__actions{display:flex;align-items:center;gap:var(--space-2)}.tracker__learned{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-2)}.tracker__learned-chip{font:inherit;display:inline-flex;align-items:center;gap:6px;min-height:var(--tap-min);padding:0 var(--space-4);border-radius:var(--radius-pill);border:1px solid var(--success-border);background:var(--success-soft);color:var(--success-tint);font-weight:700;cursor:pointer}@media (hover: hover) and (pointer: fine){.tracker__learned-chip:hover{background:var(--surface-hover-strong)}}.tracker--drill{max-width:720px}.drill{display:flex;flex-direction:column;gap:var(--space-4);padding-bottom:140px}.drill--done{padding-bottom:0}.drill__top{display:flex;align-items:center;gap:var(--space-3)}.drill__meter{flex:1;height:16px;border-radius:var(--radius-pill);background:var(--surface-tint);overflow:hidden}.drill__meter-fill{position:relative;height:100%;border-radius:var(--radius-pill);background:var(--primary)}@media (prefers-reduced-motion: no-preference){.drill__meter-fill{transition:width .45s cubic-bezier(.2,.8,.2,1)}}.drill__meter-shine{position:absolute;left:8px;right:8px;top:4px;height:4px;border-radius:var(--radius-pill);background:var(--surface-hover-strong)}.drill__stars{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);font-family:var(--font-display);font-size:18px}@media (prefers-reduced-motion: no-preference){.drill__stars-n{animation:drillPop .4s ease both}}.drill__stage{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-6) var(--space-5);text-align:center}@media (max-width: 480px){.drill__stage{padding:var(--space-5) var(--space-4)}}.drill__step{margin:0;font-size:var(--fs-overline);font-weight:800;letter-spacing:var(--tracking-overline);text-transform:uppercase;color:var(--ink-muted)}.drill__prompt{margin:0;font-family:var(--font-display);font-size:26px;color:var(--ink)}.drill__hear{width:96px;height:96px;display:grid;place-items:center;border-radius:50%;border:0;background:var(--primary);color:var(--on-primary);box-shadow:var(--chunky-primary);cursor:pointer}.drill__hear:active{transform:translateY(3px);box-shadow:none}.drill__options{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}@media (max-width: 480px){.drill__options{grid-template-columns:1fr}}.drill__option{font:inherit;min-height:72px;padding:var(--space-3);border-radius:var(--radius-md);border:2px solid var(--paper-border);background:var(--surface-light);color:var(--ink);font-family:var(--font-reading);font-weight:700;font-size:28px;cursor:pointer;overflow-wrap:anywhere;transition:transform 80ms ease,border-color .12s ease,background .12s ease}@media (hover: hover) and (pointer: fine){.drill__option:hover{border-color:var(--primary)}}.drill__option:active:not(:disabled){transform:translateY(1px);background:var(--paper-3)}.drill__option:disabled{cursor:default}.drill__option.is-right{border-color:var(--success);background:var(--success-soft);color:var(--success-ink)}@media (prefers-reduced-motion: no-preference){.drill__option.is-right{animation:drillPop .4s ease both}}.drill__option.is-wrong{border-color:var(--danger);background:var(--danger-soft)}@media (prefers-reduced-motion: no-preference){.drill__option.is-wrong{animation:drillShake .4s ease both}}.drill__voice{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.drill__mic.is-listening{border-color:var(--primary);background:var(--primary-soft);color:var(--ink)}.drill__hint{margin:0;font-size:var(--fs-caption);color:var(--ink-2)}.drill__sheet{position:fixed;left:0;right:0;bottom:var(--shell-bottom);z-index:var(--z-hud);padding:var(--space-4) var(--page-gutter) calc(var(--space-4) + env(safe-area-inset-bottom,0px));border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--elev-2)}@media (prefers-reduced-motion: no-preference){.drill__sheet{animation:drillSheetUp .28s cubic-bezier(.2,.9,.3,1.05) both}}.drill__sheet.is-correct{background:var(--surface-2);border-top:3px solid var(--success)}.drill__sheet.is-wrong{background:var(--surface-2);border-top:3px solid var(--danger)}.drill__sheet-inner{max-width:720px;margin:0 auto;display:flex;align-items:center;gap:var(--space-3)}@media (max-width: 480px){.drill__sheet-inner{flex-wrap:wrap}}.drill__sheet-icon{flex:none;width:48px;height:48px;display:grid;place-items:center;border-radius:50%}.is-correct .drill__sheet-icon{background:var(--success);color:var(--success-ink)}.is-wrong .drill__sheet-icon{background:var(--danger);color:var(--on-primary)}.drill__sheet-text{flex:1;min-width:0}.drill__sheet-title{margin:0;font-family:var(--font-display);font-size:22px;line-height:1.15}.drill__sheet-body{margin:2px 0 0;color:var(--text-secondary)}.drill__reward{display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-weight:800}.drill__next{flex:none;min-width:140px}@media (max-width: 480px){.drill__next{width:100%}}.drill__result{display:flex;justify-content:center;gap:var(--space-2);margin-bottom:var(--space-2);color:var(--surface-3)}.drill__result .is-lit{color:var(--accent)}@media (prefers-reduced-motion: no-preference){.drill__result .is-lit{animation:drillPop .5s ease both}}@keyframes drillPop{0%{transform:scale(.85)}60%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes drillShake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}@keyframes drillSheetUp{0%{transform:translateY(100%)}to{transform:none}}.edit-story{display:flex;flex-direction:column;gap:var(--space-3);color:inherit}.edit-story>span{display:flex;flex-direction:column;gap:var(--space-1)}.edit-story .nf-input{max-width:420px}.edit-story img{border-radius:var(--radius-sm);border:1px solid var(--border-light)}.edit-story--page{color:var(--text-primary)}.edit-story--page img{border-color:var(--border)}.edit-story__row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--space-4)}.edit-story__row-label{font-weight:700;min-width:80px}.edit-story__image-upload-container{display:flex;flex-direction:column;gap:var(--space-2);width:170px}.edit-story__image-upload-container input[type=file]{max-width:100%;font-size:var(--fs-caption)}.edit-story__section{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border-light);font-family:var(--font-display);font-size:var(--fs-heading)}.edit-story__textarea{min-height:10rem;max-width:100%;resize:vertical}.edit-story__tag{display:inline-flex;align-items:center;gap:var(--space-2);margin-right:var(--space-2)}.sounds{display:flex;flex-direction:column;gap:var(--space-4)}@media (prefers-reduced-motion: no-preference){.sounds{animation:nfFade .3s ease both}}.sounds mark{background:var(--ink-highlight);color:inherit;border-radius:4px;padding:0 1px}.sounds__state{max-width:640px;width:100%;margin:0 auto}.sounds__head{display:flex;flex-direction:column;gap:var(--space-2)}.sounds__head-word{color:var(--primary-tint)}.sounds__word{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4)}.sounds__word-parts{display:flex;flex-wrap:wrap;gap:var(--space-2)}.sounds__part{font:inherit;min-width:64px;min-height:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:2px solid var(--paper-border);background:var(--paper-2);color:var(--ink);cursor:pointer;transition:border-color .12s ease,background .12s ease,transform .12s ease}@media (hover: hover) and (pointer: fine){.sounds__part:hover{border-color:var(--primary)}}.sounds__part:active{transform:translateY(1px)}.sounds__part.is-active{border-color:var(--primary);background:var(--surface-light-3)}.sounds__part-g{font-family:var(--font-reading);font-weight:800;font-size:32px;line-height:1}.sounds__part-label{font-size:var(--fs-overline);font-weight:700;color:var(--ink-muted);white-space:nowrap}.sounds__word-hear{flex:none}.sounds__layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--space-5);align-items:start}@media (max-width: 1024px){.sounds__layout{grid-template-columns:minmax(0,1fr)}}.sounds__main{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.sounds__skeleton{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5)}.sounds__skeleton span{display:block;height:28px;border-radius:var(--radius-sm);background:var(--surface-tint)}.sounds__skeleton span:nth-child(1){width:40%;height:40px}.sounds__skeleton span:nth-child(3){width:70%}@media (prefers-reduced-motion: no-preference){.sounds__skeleton span{animation:soundsPulse 1.2s ease-in-out infinite alternate}}.sounds__hero{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-5)}@media (max-width: 480px){.sounds__hero{flex-direction:column;align-items:stretch;padding:var(--space-4)}}.sounds__hero-text{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.sounds__hero-meta{gap:var(--space-2)}.sounds__ipa{font-family:var(--font-body);font-weight:700;color:var(--text-secondary)}.sounds__title{margin:0;font-family:var(--font-display);font-size:36px;line-height:1.05}.sounds__hear{flex:none}.sounds__sheet{display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-5)}@media (max-width: 480px){.sounds__sheet{padding:var(--space-4)}}.sounds__sheet-title{margin:0 0 var(--space-3);font-family:var(--font-display);font-size:var(--fs-heading);color:var(--ink)}.sounds__tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--space-3)}@media (max-width: 480px){.sounds__tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}.sounds__tile{font:inherit;width:100%;min-height:112px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);border:2px solid var(--paper-border);background:var(--surface-light);color:var(--ink);cursor:pointer;transition:border-color .12s ease,transform .12s ease}@media (hover: hover) and (pointer: fine){.sounds__tile:hover{border-color:var(--primary)}}.sounds__tile:active{transform:translateY(1px);background:var(--paper-3)}.sounds__tile-g{font-family:var(--font-reading);font-weight:800;font-size:40px;line-height:1;color:var(--primary-ink)}.sounds__tile-ex{font-family:var(--font-reading);font-size:var(--fs-lead);color:var(--ink-2)}.sounds__words{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--space-2)}.sounds__word-chip,.sounds__word-link{font:inherit;display:inline-flex;align-items:center;gap:6px;min-height:var(--tap-min);padding:0 var(--space-4);border-radius:var(--radius-pill);border:1px solid var(--paper-border);background:var(--paper-2);color:var(--ink);font-family:var(--font-reading);font-size:20px;text-decoration:none;cursor:pointer}@media (hover: hover) and (pointer: fine){.sounds__word-chip:hover,.sounds__word-link:hover{background:var(--paper-3)}}.sounds__word-chip .nf-icon,.sounds__word-link .nf-icon{color:var(--ink-muted)}.sounds__words--more .sounds__word-link{font-size:var(--fs-body)}.sounds__actions{display:flex;justify-content:flex-end}.sounds__books{display:flex;flex-direction:column;gap:var(--space-3)}.sounds__book-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-3)}@media (max-width: 480px){.sounds__book-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.sounds__book{height:100%;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2) var(--space-2) var(--space-3);color:var(--text-primary);text-decoration:none;box-shadow:none;transition:background .12s ease,transform .12s ease}@media (hover: hover) and (pointer: fine){.sounds__book:hover{background:var(--surface-2)}}.sounds__book:active{transform:translateY(1px)}.sounds__book-cover{width:100%;aspect-ratio:var(--cover-ratio);object-fit:contain;border-radius:var(--radius-md);background:var(--cover-bg)}.sounds__book-cover--empty{display:grid;place-items:center;color:var(--text-muted)}.sounds__book-title{font-family:var(--font-display);font-size:17px;line-height:1.2;padding:0 var(--space-1)}.sounds__book .nf-pill{align-self:flex-start;margin-left:var(--space-1)}.sounds__picker{position:sticky;top:calc(var(--shell-top) + var(--space-4));max-height:calc(100vh - var(--shell-top) - var(--space-6));overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4);box-shadow:none}@media (max-width: 1024px){.sounds__picker{position:static;max-height:none}}.sounds__picker-title{margin:0}.sounds__picker-group{display:flex;flex-direction:column;gap:var(--space-2)}.sounds__picker-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}@keyframes soundsPulse{0%{opacity:.5}to{opacity:1}}.status-screen{min-height:calc(100vh - var(--shell-top) - var(--shell-bottom));display:grid;place-items:center;padding:var(--space-6) var(--page-gutter)}@media (max-width: 480px){.status-screen{place-items:start center;padding-top:var(--space-5)}}.status-screen__card{width:100%;max-width:520px}@media (prefers-reduced-motion: no-preference){.status-screen__card{animation:nfPop .3s ease both}}.status-screen__card--reward{border-color:var(--accent)}.status-screen__body{padding:var(--space-5) var(--space-2)}@media (max-width: 480px){.status-screen__body{padding:var(--space-3) 0}}.status-screen__text{display:flex;flex-direction:column;gap:var(--space-3);width:100%;color:var(--text-secondary);font-size:var(--fs-lead)}.status-screen__text p{margin:0}.status-screen__badge--success{background:var(--success-soft);color:var(--success-tint)}.status-screen__badge--error{background:var(--danger-soft);color:var(--danger-tint)}.status-screen__badge--reward{background:var(--accent);color:var(--accent-ink);box-shadow:var(--chunky-accent);border:0}.status-screen__spinner{width:36px;height:36px;border-radius:50%;border:4px solid var(--surface-tint);border-top-color:var(--primary-tint)}@media (prefers-reduced-motion: no-preference){.status-screen__spinner{animation:statusSpin .9s linear infinite}}.reset-form{width:100%;display:flex;flex-direction:column;gap:var(--space-3);text-align:left;font-size:var(--fs-body);margin-top:var(--space-3)}.reset-form__pw{position:relative}.reset-form__pw .nf-input{width:100%;padding-right:52px}.reset-form__toggle{position:absolute;right:0;top:0}.reset-form .nf-btn--block{margin-top:var(--space-2)}.reset-form__hint{margin:0;font-size:var(--fs-caption);color:var(--text-muted)}@keyframes statusSpin{to{transform:rotate(360deg)}}.legal{max-width:calc(70ch + 2 * var(--space-6) + 2 * var(--page-gutter))}.legal__nav{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.legal__links{display:flex;gap:var(--space-1)}.legal__link{display:inline-flex;align-items:center;min-height:var(--tap-min);padding:0 var(--space-3);border-radius:var(--radius-pill);color:var(--text-secondary);font-weight:700;text-decoration:none}@media (hover: hover) and (pointer: fine){.legal__link:hover{background:var(--surface-hover);color:var(--text-primary)}}.legal__link[aria-current=page]{color:var(--text-primary);background:var(--surface-tint)}.legal__doc{padding:var(--space-6);font-family:var(--font-body);font-size:16px;line-height:1.7;color:var(--ink-2);overflow-wrap:break-word}@media (max-width: 480px){.legal__doc{padding:var(--space-5) var(--space-4);border-radius:var(--radius-md)}}.legal__doc>*{max-width:70ch}.legal__doc .legal__title{margin:var(--space-1) 0 var(--space-5);font-family:var(--font-display);font-size:var(--fs-display);line-height:1.15;color:var(--ink)}.legal__doc h2{margin:var(--space-6) 0 var(--space-2);font-family:var(--font-display);font-size:22px;line-height:1.25;color:var(--ink)}.legal__doc h3{margin:var(--space-5) 0 var(--space-2);font-size:var(--fs-lead);color:var(--ink)}.legal__doc p{margin:0 0 var(--space-3)}.legal__doc ul,.legal__doc ol{margin:0 0 var(--space-4);padding-left:1.4em}.legal__doc ul{list-style:disc}.legal__doc ol{list-style:decimal}.legal__doc li{margin-bottom:var(--space-2);padding-left:.2em}.legal__doc li::marker{color:var(--ink-muted)}.legal__doc strong,.legal__doc b{color:var(--ink)}.legal__doc a{color:var(--ink-link);text-underline-offset:3px;overflow-wrap:anywhere}.game{display:flex;flex-direction:column;gap:var(--space-5)}@media (prefers-reduced-motion: no-preference){.game{animation:nfFade .3s ease both}}.game__head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.game__titles{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.game__toolbar{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.game-setup{width:100%;max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-4)}.game-setup__label{margin:0}.game-setup__words{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}@media (max-width: 480px){.game-setup__words{grid-template-columns:repeat(2,minmax(0,1fr))}}.game-setup__words--4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width: 480px){.game-setup__words--4{grid-template-columns:repeat(2,minmax(0,1fr))}}.game-setup__input{text-align:center;font-family:var(--font-reading);font-weight:700;font-size:20px}.game-setup__presets{display:flex;flex-wrap:wrap;gap:var(--space-2)}.game-setup__error{margin:0;color:var(--danger-tint);font-size:var(--fs-caption);font-weight:700}.game-setup__actions{display:flex;gap:var(--space-3);flex-wrap:wrap;justify-content:flex-end}.game-chip{font:inherit;min-height:36px;padding:0 14px;border-radius:var(--radius-pill);border:1px solid var(--border-strong);background:transparent;color:var(--text-secondary);font-weight:700;font-size:var(--fs-caption);cursor:pointer;position:relative}.game-chip:after{content:"";position:absolute;top:50%;left:50%;width:max(100%,44px);height:max(100%,44px);transform:translate(-50%,-50%)}@media (hover: hover) and (pointer: fine){.game-chip:hover{background:var(--surface-hover);color:var(--text-primary)}}.game-chip.is-active{background:var(--primary-soft);border-color:var(--primary);color:var(--primary-tint)}.celebrate{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center;padding:var(--space-6) var(--space-5);border-color:var(--accent)}@media (prefers-reduced-motion: no-preference){.celebrate{animation:nfPop .35s ease both}}.celebrate__badge{position:relative;z-index:var(--z-base);width:96px;height:96px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:var(--accent-ink);box-shadow:var(--chunky-accent)}@media (prefers-reduced-motion: no-preference){.celebrate__badge{animation:celebrateBounce .7s ease .1s both}}.celebrate__title{position:relative;z-index:var(--z-base);margin:0;font-family:var(--font-display);font-size:var(--fs-display);line-height:1.1}.celebrate__body{position:relative;z-index:var(--z-base);color:var(--text-secondary);font-size:var(--fs-lead);display:flex;flex-direction:column;gap:var(--space-2)}.celebrate__body p{margin:0}.celebrate__actions{position:relative;z-index:var(--z-base);display:flex;gap:var(--space-3);flex-wrap:wrap;justify-content:center;margin-top:var(--space-2)}.celebrate__confetti{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.celebrate__bit{position:absolute;top:-12px;width:8px;height:14px;border-radius:2px;opacity:0}.celebrate__bit--0{background:var(--accent)}.celebrate__bit--1{background:var(--primary)}.celebrate__bit--2{background:var(--star)}.celebrate__bit--3{background:var(--success)}@media (prefers-reduced-motion: no-preference){.celebrate__bit{animation:celebrateFall 1.4s ease-in both}}@keyframes celebrateFall{0%{opacity:1;transform:translate(0) rotate(0)}to{opacity:0;transform:translate(var(--drift, 0),360px) rotate(540deg)}}@keyframes celebrateBounce{0%{transform:scale(.4)}60%{transform:scale(1.12)}to{transform:scale(1)}}.ttt-setup__players{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}@media (max-width: 480px){.ttt-setup__players{grid-template-columns:1fr}}.ttt-setup__player{margin:0;min-width:0;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2)}.ttt-setup__player legend{padding:0 var(--space-2)}.ttt-setup__player--p1 legend{color:var(--primary-tint)}.ttt-setup__player--p2 legend{color:var(--success-tint)}.ttt-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:var(--space-5);align-items:start}@media (max-width: 768px){.ttt-layout{grid-template-columns:1fr;gap:var(--space-4)}}.ttt-players{display:flex;flex-direction:column;gap:var(--space-3)}@media (max-width: 768px){.ttt-players{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}}.ttt-player{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface-1);min-width:0;transition:border-color .16s ease,background .16s ease}.ttt-player.is-turn{border-color:var(--primary);background:var(--surface-2);box-shadow:0 0 0 3px var(--primary-soft)}.ttt-player.is-winner{border-color:var(--accent);background:var(--surface-2)}@media (max-width: 480px){.ttt-player{padding:var(--space-2);gap:var(--space-2)}}.ttt-player__mark{flex:none;min-width:52px;height:52px;padding:0 var(--space-2);display:grid;place-items:center;border-radius:var(--radius-md);font-family:var(--font-reading);font-weight:800;font-size:24px}.ttt-player--p1 .ttt-player__mark{background:var(--primary-soft);color:var(--primary-tint)}.ttt-player--p2 .ttt-player__mark{background:var(--success-soft);color:var(--success-tint)}@media (max-width: 480px){.ttt-player__mark{min-width:44px;height:44px;font-size:20px}}.ttt-player__info{display:flex;flex-direction:column;min-width:0}.ttt-player__name{font-family:var(--font-display);font-size:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ttt-player__status{font-size:var(--fs-caption);color:var(--text-secondary);font-weight:700}.ttt-player.is-turn .ttt-player__status{color:var(--primary-tint)}.ttt-player.is-winner .ttt-player__status{color:var(--accent)}.ttt-stage{display:flex;justify-content:center}.ttt-board{width:min(100%,480px);aspect-ratio:1;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-lg);background:var(--paper-2);border:1px solid var(--paper-border);box-shadow:var(--elev-paper)}.ttt-square{font:inherit;min-width:0;display:grid;place-items:center;border:0;border-radius:var(--radius-md);background:var(--paper);color:var(--ink);cursor:pointer;font-family:var(--font-reading);font-weight:800;font-size:clamp(36px,11vw,64px);line-height:1;overflow:hidden;transition:background .12s ease,transform .12s ease}@media (hover: hover) and (pointer: fine){.ttt-square:hover{background:var(--surface-light-2)}}.ttt-square:active:not(:disabled){transform:scale(.97)}.ttt-square:disabled{cursor:default}.ttt-square.is-long{font-size:clamp(18px,5vw,30px)}.ttt-square--p1{color:var(--primary-ink)}.ttt-square--p2{color:var(--success-ink)}.ttt-square.is-winning{background:var(--ink-highlight)}.ttt-square__mark{max-width:100%;padding:0 4px;overflow-wrap:anywhere}@media (prefers-reduced-motion: no-preference){.ttt-square__mark{animation:tttDrop .22s ease both}}.ttt-result{max-width:560px;width:100%;margin:0 auto}@keyframes tttDrop{0%{transform:scale(.4);opacity:0}to{transform:none;opacity:1}}.memory-setup__fields{margin:0;padding:0;border:0;min-width:0;display:flex;flex-direction:column;gap:var(--space-2)}.memory{display:flex;flex-direction:column;gap:var(--space-4)}.memory__bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-2) var(--space-3) var(--space-2) var(--space-4);box-shadow:none}.memory__stats{display:flex;gap:var(--space-4);font-weight:700;color:var(--text-secondary)}.memory__stat-n{font-family:var(--font-display);font-size:22px;color:var(--text-primary);margin-right:2px}.memory__foot{justify-content:center}.memory__grid{list-style:none;margin:0 auto;padding:0;width:100%;max-width:760px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}.memory__grid.is-small{max-width:560px}@media (max-width: 480px){.memory__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}}.memory-card{font:inherit;display:block;width:100%;aspect-ratio:3/4;padding:0;border:0;background:none;cursor:pointer;perspective:900px;border-radius:var(--radius-md)}.memory-card[aria-disabled=true]{cursor:default}.memory-card__inner{position:relative;display:block;width:100%;height:100%;transform-style:preserve-3d}@media (prefers-reduced-motion: no-preference){.memory-card__inner{transition:transform .45s cubic-bezier(.2,.8,.2,1)}}.memory-card.is-up .memory-card__inner{transform:rotateY(180deg)}.memory-card__face{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;border-radius:var(--radius-md);backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden}.memory-card__back{background:var(--surface-2);border:1px solid var(--border-strong);color:var(--primary-tint)}.memory-card:hover .memory-card__back{border-color:var(--primary)}.memory-card__art{width:100%;height:100%;object-fit:cover}.memory-card__front{transform:rotateY(180deg);background:var(--paper);border:1px solid var(--paper-border);color:var(--ink);padding:var(--space-2)}.memory-card.is-matched .memory-card__front{background:var(--success-soft);border-color:var(--success)}.memory-card__word{font-family:var(--font-reading);font-weight:800;font-size:clamp(20px,5vw,34px);line-height:1.1;text-align:center;overflow-wrap:anywhere}.memory-card__tick{position:absolute;top:8px;right:8px;color:var(--success-ink)}@media (prefers-reduced-motion: no-preference){.memory-card.is-matched .memory-card__inner{animation:memoryPop .4s ease .3s both}}@keyframes memoryPop{0%{transform:rotateY(180deg) scale(1)}50%{transform:rotateY(180deg) scale(1.06)}to{transform:rotateY(180deg) scale(1)}}@media (prefers-reduced-motion: reduce){.memory-card__inner{transform:none!important}.memory-card__face{backface-visibility:visible;-webkit-backface-visibility:visible}.memory-card__front{transform:none;display:none}.memory-card.is-up .memory-card__front{display:grid}.memory-card.is-up .memory-card__back{display:none}}.referrals{max-width:880px;display:flex;flex-direction:column;gap:var(--space-4)}@media (prefers-reduced-motion: no-preference){.referrals{animation:nfFade .3s ease both}}.referrals__head{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-2)}.referrals__link{display:flex;flex-direction:column;gap:var(--space-3)}.referrals__link-row{display:flex;gap:var(--space-2);flex-wrap:wrap}.referrals__link-input{flex:1 1 260px;min-width:0;font-weight:600}.referrals__stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}@media (max-width: 768px){.referrals__stats{grid-template-columns:1fr}}.referrals__earned,.referrals__payout{display:flex;flex-direction:column;gap:var(--space-2)}.referrals__amount{margin:0;font-family:var(--font-display);font-size:48px;line-height:1;color:var(--accent)}.referrals__meter{height:12px;border-radius:var(--radius-pill);background:var(--surface-tint);overflow:hidden}.referrals__meter span{display:block;height:100%;min-width:6px;border-radius:var(--radius-pill);background:var(--accent)}@media (prefers-reduced-motion: no-preference){.referrals__meter span{transition:width .5s ease}}.referrals__email{margin:0;display:flex;align-items:center;gap:var(--space-2);font-weight:700;font-size:var(--fs-lead);overflow-wrap:anywhere}.referrals__list{padding:var(--space-4) var(--space-5)}@media (max-width: 480px){.referrals__list{padding:var(--space-4)}}.referrals__list-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-3)}.referrals__rows{list-style:none;margin:0;padding:0}.referrals__item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:52px}.referrals__item+.referrals__item{border-top:1px solid var(--border)}.referrals__item-email{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.referrals__note{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 0}.referrals__empty{padding:var(--space-5) var(--space-3)}.referrals__back{text-align:center}.referrals__back a{color:var(--primary-tint)}.rr-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:var(--space-5);align-items:start}@media (max-width: 768px){.rr-layout{grid-template-columns:1fr;gap:var(--space-3)}}.rr-roll{position:sticky;top:calc(var(--shell-top) + var(--space-4));display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-4);text-align:center;box-shadow:none}@media (max-width: 768px){.rr-roll{position:sticky;top:calc(var(--shell-top) + var(--space-2));z-index:var(--z-hud);flex-direction:row;padding:var(--space-3);text-align:left;box-shadow:var(--elev-1)}}.rr-roll__prompt{margin:0;font-weight:700;color:var(--text-secondary);min-height:3em}@media (max-width: 768px){.rr-roll__prompt{flex:1;min-height:0}}.dice-roller{display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}@media (max-width: 768px){.dice-roller{flex-direction:row}}.dice-roller__btn{min-width:120px}@media (max-width: 768px){.dice-roller__btn{min-width:0}}.die{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);border-radius:var(--radius-md);background:var(--surface-light);border:1px solid var(--paper-border)}.die--lg{width:104px;height:104px;padding:14px;gap:6px;box-shadow:var(--elev-1)}@media (max-width: 768px){.die--lg{width:64px;height:64px;padding:9px;gap:4px}}.die--sm{width:36px;height:36px;padding:5px;gap:2px;border-radius:var(--radius-sm)}@media (max-width: 480px){.die--sm{width:30px;height:30px;padding:4px}}@media (prefers-reduced-motion: no-preference){.die.is-rolling{animation:dieWobble .16s linear infinite}}.die__pip{border-radius:50%}.die__pip.is-on{background:var(--ink)}.rr-board{list-style:none;margin:0;padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.rr-row{display:grid;grid-template-columns:44px repeat(4,minmax(0,1fr));align-items:center;gap:var(--space-2);padding:var(--space-1);border-radius:var(--radius-md);transition:background .16s ease}.rr-row.is-active{background:var(--surface-light-3)}@media (max-width: 480px){.rr-row{grid-template-columns:36px repeat(4,minmax(0,1fr));gap:6px}}.rr-row__face{display:grid;place-items:center}.rr-cell{font:inherit;position:relative;min-width:0;min-height:56px;padding:var(--space-1);border-radius:var(--radius-sm);border:1px solid var(--paper-border);background:var(--surface-light);color:var(--ink);font-family:var(--font-reading);font-weight:700;font-size:clamp(15px,3.8vw,22px);overflow-wrap:anywhere;cursor:default}.rr-cell.is-next{cursor:pointer;border:2px solid var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}@media (prefers-reduced-motion: no-preference){.rr-cell.is-next{animation:rrPulse 1.2s ease-in-out infinite}}.rr-cell.is-read{background:var(--paper-3);color:var(--ink-muted)}.rr-cell:disabled{opacity:1}.rr-cell__word{position:relative}.rr-cell__star{position:absolute;top:3px;right:3px;color:var(--accent)}@media (prefers-reduced-motion: no-preference){.rr-cell__star{animation:drillPop .4s ease both}}.rr-result{max-width:560px;width:100%;margin:0 auto}@keyframes dieWobble{0%{transform:rotate(-8deg)}50%{transform:rotate(8deg)}to{transform:rotate(-8deg)}}@keyframes rrPulse{0%,to{box-shadow:0 0 0 3px var(--primary-soft)}50%{box-shadow:0 0 0 6px var(--primary-soft)}}html{min-width:100%}body{min-width:100%;max-width:100%}button{font-family:var(--font-body);font-weight:700;padding:7px 12px}button:hover{cursor:pointer}a{color:unset;text-decoration:none}h2{margin:0}.nf-inputwrap{position:relative;display:block}.nf-inputwrap.has-trailing .nf-input{padding-right:52px}.nf-inputwrap__btn{position:absolute;top:0;right:0;width:var(--tap-min);height:100%;min-height:var(--tap-min);display:grid;place-items:center;border:0;background:transparent;color:inherit;opacity:.75;border-radius:0 var(--radius-md) var(--radius-md) 0;cursor:pointer}@media (hover: hover) and (pointer: fine){.nf-inputwrap__btn:hover{opacity:1}}.nf-input.is-invalid{border-color:var(--danger-border)}.nf-field__hint{font-size:var(--fs-caption);color:var(--text-muted)}.nf-modal--light .nf-field__hint{color:var(--text-on-light-2)}.nf-textarea{min-height:112px;padding:12px 14px;resize:vertical;line-height:var(--lh-body);font-family:var(--font-body)}fieldset.nf-choicegrid{border:0;margin:0;padding:0;min-width:0}.nf-linkbtn{font:inherit;font-weight:700;min-height:32px;padding:0 2px;border:0;background:transparent;cursor:pointer;color:var(--primary-tint);text-decoration:underline;text-underline-offset:3px;position:relative}.nf-linkbtn:after{content:"";position:absolute;top:50%;left:50%;width:max(100%,44px);height:max(100%,44px);transform:translate(-50%,-50%)}.nf-modal--light .nf-linkbtn{color:var(--ink-link)}.nf-backbtn{align-self:flex-start;margin-left:-10px;padding:0 10px;font-family:var(--font-body);font-weight:700;font-size:var(--fs-body)}.nf-formalert{display:flex;align-items:center;gap:8px;padding:8px 8px 8px 12px;border-radius:var(--radius-md);border:1px solid var(--danger-border);background:var(--danger-soft);font-size:var(--fs-caption);font-weight:600;line-height:1.4}.nf-formalert .nf-icon{flex:none;color:var(--danger)}.nf-formalert--success{border-color:var(--success-border);background:var(--success-soft)}.nf-formalert--success .nf-icon{color:var(--success)}.nf-formalert--info{border-color:var(--border-strong);background:var(--surface-hover)}.nf-formalert--info .nf-icon{color:var(--primary-tint)}.nf-modal--dark .nf-formalert--error{color:var(--danger-tint)}.nf-modal--light .nf-formalert--error{color:var(--text-on-light)}.nf-formalert__text{flex:1;min-width:0}.nf-formalert__dismiss{flex:none;width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:var(--radius-sm);background:transparent;color:inherit;cursor:pointer;position:relative}.nf-formalert__dismiss:after{content:"";position:absolute;top:50%;left:50%;width:max(100%,44px);height:max(100%,44px);transform:translate(-50%,-50%)}@media (hover: hover) and (pointer: fine){.nf-formalert__dismiss:hover{background:var(--surface-hover)}}.nf-spinner{display:inline-block;width:20px;height:20px;border-radius:50%;border:3px solid var(--primary-soft);border-top-color:var(--primary)}@media (prefers-reduced-motion: no-preference){.nf-spinner{animation:nfSpin .8s linear infinite}}@keyframes nfSpin{to{transform:rotate(360deg)}}.nf-btn--danger{background:var(--danger);color:var(--on-primary);border-color:var(--danger)}@media (hover: hover) and (pointer: fine){.nf-btn--danger:hover{filter:brightness(1.08)}}.nf-btn--danger:disabled{opacity:.6}.nf-dlg__stack{display:flex;flex-direction:column;gap:var(--space-3)}.nf-dlg__lead{margin:0;font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text-secondary)}.nf-modal--light .nf-dlg__lead{color:var(--text-on-light-2)}.nf-dlg__empty{margin:0;padding:var(--space-5) var(--space-3);text-align:center;color:var(--text-on-light-2);line-height:var(--lh-body)}.nf-dlg__row{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.nf-dlg__center{align-self:center}.nf-dlg__banner{width:100%;border-radius:var(--radius-md);display:block;aspect-ratio:16/7;object-fit:cover}.nf-choicegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:var(--space-2)}.nf-choicegrid legend{margin-bottom:var(--space-2);padding:0}.nf-choicegrid--2{grid-template-columns:1fr 1fr}.nf-choice{font:inherit;font-weight:700;font-size:var(--fs-body);min-height:var(--tap-min);padding:0 12px;border-radius:var(--radius-md);border:1px solid var(--border-light);background:var(--surface-light);color:var(--text-on-light);cursor:pointer}@media (hover: hover) and (pointer: fine){.nf-choice:hover{background:var(--surface-light-2)}}.nf-choice.is-active{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.nf-choice:disabled{cursor:wait}.nf-credentials{margin:0;padding:var(--space-3) var(--space-4);display:grid;gap:var(--space-2);border-radius:var(--radius-md);background:var(--surface-light-2)}.nf-credentials div{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3)}.nf-credentials dt{font-size:var(--fs-caption);font-weight:700;color:var(--text-on-light-2)}.nf-credentials dd{margin:0;font-family:var(--font-display);font-size:22px;letter-spacing:.02em;word-break:break-all}.nf-codebox{display:flex;align-items:center;gap:var(--space-2);padding:6px 6px 6px 14px;border-radius:var(--radius-md);background:var(--surface-light-2)}.nf-codebox code{flex:1;min-width:0;font-size:var(--fs-caption);font-weight:700;overflow-wrap:anywhere}.nf-profilegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:var(--space-3)}.nf-profile{font:inherit;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-2);border:1px solid transparent;border-radius:var(--radius-lg);background:transparent;color:inherit;cursor:pointer}@media (hover: hover) and (pointer: fine){.nf-profile:hover{background:var(--surface-light-2)}}.nf-profile__avatar{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:var(--primary);color:var(--on-primary);font-family:var(--font-display);font-size:32px}.nf-profile__avatar.is-parent{background:var(--surface-light-3);color:var(--primary)}.nf-profile--add .nf-profile__avatar{background:var(--surface-light-2);color:var(--primary);border:1px dashed var(--primary)}.nf-profile__name{font-weight:700;text-align:center}.nf-tilegrid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}@media (max-width: 480px){.nf-tilegrid{grid-template-columns:1fr}}.nf-tile{font:inherit;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:var(--space-3);border:1px solid var(--border-light);border-radius:var(--radius-lg);background:var(--surface-light);color:inherit;text-align:left;cursor:pointer}@media (hover: hover) and (pointer: fine){.nf-tile:hover{background:var(--surface-light-2)}}.nf-tile__art{width:100%;aspect-ratio:16/10;display:grid;place-items:center;border-radius:var(--radius-md);background:var(--surface-light-2);margin-bottom:var(--space-2)}.nf-tile__art img{max-width:70%;max-height:80%}.nf-tile__title{font-family:var(--font-display);font-size:19px}.nf-tile__note{font-size:var(--fs-caption);color:var(--text-on-light-2)}.nf-levels{display:flex;flex-direction:column;gap:var(--space-2)}.nf-levels__band{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;gap:var(--space-3)}@media (max-width: 480px){.nf-levels__band{grid-template-columns:76px minmax(0,1fr);gap:var(--space-2)}}.nf-levels__label{font-size:var(--fs-caption);font-weight:700;color:var(--text-on-light-2)}.nf-levels__row{display:flex;flex-wrap:wrap;gap:6px}.nf-level{font:inherit;width:var(--tap-min);height:var(--tap-min);display:grid;place-items:center;border-radius:var(--radius-md);border:1px solid var(--border-light);background:var(--surface-light);color:var(--text-on-light);font-family:var(--font-display);font-size:19px;cursor:pointer}@media (hover: hover) and (pointer: fine){.nf-level:hover{background:var(--surface-light-3)}}.nf-level.is-active{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.nf-level.is-saving{opacity:.6}.nf-disclosure{font:inherit;font-weight:700;display:flex;align-items:center;gap:var(--space-2);min-height:var(--tap-min);padding:0 12px;border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--surface-light-2);color:var(--text-on-light);cursor:pointer;text-align:left}.nf-disclosure .nf-icon:first-child{color:var(--primary)}.nf-disclosure__chev{margin-left:auto}.nf-steps{margin:0;padding:0 0 0 22px;display:grid;gap:6px;color:var(--text-on-light-2);line-height:var(--lh-body)}.nf-wordlist,.nf-storylist,.nf-quizlist{list-style:none;margin:0;padding:0}.nf-wordlist__row,.nf-storylist__row{display:flex;align-items:center;gap:var(--space-3);min-height:52px;padding:6px 0;border-bottom:1px solid var(--border-light)}.nf-wordlist__row:last-child,.nf-storylist__row:last-child{border-bottom:0}.nf-wordlist__word{font-family:var(--font-display);font-size:22px;letter-spacing:.02em}.nf-wordlist__meta,.nf-storylist__meta{margin-left:auto;font-size:var(--fs-caption);color:var(--text-on-light-2);white-space:nowrap}.nf-phon{padding:0 1px;border-radius:4px}.nf-phon.is-missed{background:var(--ink-highlight);box-shadow:inset 0 -2px 0 var(--accent)}.nf-storylist__row{flex-wrap:wrap;row-gap:2px}.nf-storylist__title{font-weight:700;min-width:0}.nf-quizlist{display:grid;gap:6px}.nf-quizlist li{display:flex;align-items:center;gap:var(--space-2);font-weight:600}.nf-quizlist .is-right .nf-icon{color:var(--success)}.nf-quizlist .is-wrong .nf-icon{color:var(--danger)}.nf-score{display:flex;align-items:baseline;gap:var(--space-2)}.nf-score__big{font-family:var(--font-display);font-size:44px;line-height:1;color:var(--primary)}.nf-score.is-pass .nf-score__big{color:var(--accent-ink)}.nf-score__label{color:var(--text-on-light-2);font-weight:600}.nf-nextbook{display:flex;gap:var(--space-3);align-items:center;padding:var(--space-2);border:1px solid var(--border-light);border-radius:var(--radius-lg);color:inherit;text-decoration:none}@media (hover: hover) and (pointer: fine){.nf-nextbook:hover{background:var(--surface-light-2)}}.nf-nextbook__cover{width:60px;aspect-ratio:var(--cover-ratio);height:auto;object-fit:contain;border-radius:var(--radius-sm);flex:none;background:var(--surface-light-2)}.nf-nextbook__text{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}.nf-nextbook__text strong{font-size:var(--fs-lead)}.nf-nextbook__go{display:inline-flex;align-items:center;gap:4px;font-weight:700;color:var(--ink-link)}.nf-preview{margin:0;display:grid;gap:var(--space-2)}.nf-preview__img{width:100%;max-height:38vh;object-fit:contain;border-radius:var(--radius-md);background:var(--surface-light-2);display:block}.nf-preview__text{padding:var(--space-3) var(--space-4);box-shadow:none}.nf-preview__text .nf-reading{font-size:clamp(18px,2vw,22px);margin:0}.nf-perklist{list-style:none;margin:0;padding:0;display:grid;gap:8px}.nf-perklist li{display:flex;align-items:center;gap:var(--space-2);font-weight:600}.nf-perklist .nf-icon{color:var(--primary);flex:none}.nf-plans{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}@media (max-width: 480px){.nf-plans{grid-template-columns:1fr}}.nf-plan{font:inherit;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--border-light);background:var(--surface-light);color:var(--text-on-light)}@media (hover: hover) and (pointer: fine){.nf-plan:hover{background:var(--surface-light-2)}}.nf-plan.is-featured{border-color:var(--primary);background:var(--surface-light-2)}.nf-plan__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.nf-plan__head strong{font-family:var(--font-display);font-weight:400;font-size:20px}.nf-plan__price{font-family:var(--font-display);font-size:32px;line-height:1.1}.nf-plan__price small{font-family:var(--font-body);font-size:var(--fs-caption);color:var(--text-on-light-2);margin-left:2px}.nf-plan__note{font-size:var(--fs-caption);color:var(--text-on-light-2)}.nf-plan__cta{margin-top:var(--space-2);display:inline-flex;align-items:center;gap:4px;font-weight:700;color:var(--ink-link)}.nf-promo{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:var(--space-2)}.nf-plansummary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface-light-2)}.nf-payform{display:flex;flex-direction:column;gap:var(--space-3)}.nf-cardbox{padding:13px 14px;min-height:var(--tap-min);border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--surface-light)}.nf-payform__secure{margin:0;display:flex;align-items:center;justify-content:center;gap:6px;font-size:var(--fs-caption);color:var(--text-on-light-2)}.nf-subsum{display:grid;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--surface-light-2)}.nf-subsum__row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.nf-subsum__val{display:inline-flex;align-items:center;gap:6px;font-weight:700;text-align:right}.nf-auth .nf-modal__card{max-width:900px;padding:0}.nf-auth .nf-modal__head{position:absolute;top:12px;right:12px;padding:0;z-index:2}.nf-auth .nf-modal__close{margin:0}.nf-auth .nf-modal__body{padding:0}.nf-auth__grid{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);min-height:560px}.nf-auth__art{position:relative;display:flex;flex-direction:column;gap:var(--space-4);padding:32px 28px;background:radial-gradient(120% 70% at 0% 0%,var(--primary-soft),transparent 60%),radial-gradient(90% 60% at 100% 100%,var(--accent-soft),transparent 60%),var(--surface-2);border-right:1px solid var(--border);overflow:hidden}.nf-auth__brand{display:flex;align-items:center;gap:10px}.nf-auth__logo{display:grid;place-items:center;width:40px;height:40px;border-radius:var(--radius-md);background:var(--primary);color:var(--on-primary);box-shadow:var(--chunky-primary)}.nf-auth__brandname{font-family:var(--font-display);font-size:20px;letter-spacing:.01em}.nf-auth__headline{margin:var(--space-3) 0 0;font-family:var(--font-display);font-weight:400;font-size:clamp(30px,3.2vw,40px);line-height:1.08}.nf-auth__accent{color:var(--accent)}.nf-auth__sub{margin:0;font-size:var(--fs-lead);line-height:1.4;color:var(--text-secondary)}.nf-auth__hero{display:block;align-self:center;width:100%;max-width:260px;max-height:170px;object-fit:contain;margin:auto 0 0}.nf-auth__perks{list-style:none;margin:var(--space-3) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.nf-auth__perks li{display:flex;align-items:center;gap:var(--space-3)}.nf-auth__perkicon{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--primary);color:var(--on-primary)}.nf-auth__perktext{display:flex;flex-direction:column;gap:1px;min-width:0}.nf-auth__perktext strong{font-size:var(--fs-body);font-weight:700;line-height:1.25}.nf-auth__perktext small{font-size:var(--fs-overline);color:var(--text-secondary);line-height:1.3}.nf-auth__panel{display:flex;align-items:center;justify-content:center;padding:40px 36px 28px;min-width:0}.nf-auth__step{width:100%;max-width:380px;display:flex;flex-direction:column;gap:var(--space-3)}@media (prefers-reduced-motion: no-preference){.nf-auth__step{animation:nfAuthIn .2s ease-out}}@keyframes nfAuthIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.nf-auth__title{margin:0 0 var(--space-1);font-family:var(--font-display);font-weight:400;font-size:26px;line-height:1.15}.nf-auth__hint{margin:-4px 0 0;color:var(--text-secondary);font-size:var(--fs-body);line-height:1.45}.nf-auth__fine{margin:0;font-size:var(--fs-caption);color:var(--text-muted);line-height:1.45}.nf-auth__fine a{color:var(--primary-tint)}.nf-auth__fine .nf-linkbtn{min-height:0;padding:0;font-size:inherit}.nf-auth__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.nf-auth__cta{min-height:52px;font-size:18px;margin-top:var(--space-1)}.nf-auth__forgot{align-self:flex-end;margin-top:-4px}.nf-auth__switch{margin:var(--space-2) 0 0;text-align:center;font-size:var(--fs-body);color:var(--text-secondary)}.nf-auth__or{display:flex;align-items:center;gap:var(--space-3);color:var(--text-muted);font-size:var(--fs-caption);font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking-overline)}.nf-auth__or:before,.nf-auth__or:after{content:"";flex:1;height:1px;background:var(--border)}.nf-auth__social{display:flex;flex-direction:column;gap:var(--space-3)}.nf-socialbtn{font:inherit;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:var(--tap-min);padding:0 18px;border-radius:var(--radius-pill);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-primary);font-family:var(--font-body);font-size:var(--fs-body);font-weight:700;cursor:pointer;transition:background .12s ease}@media (hover: hover) and (pointer: fine){.nf-socialbtn:hover{background:var(--surface-3)}}.nf-socialbtn:disabled{opacity:.6;cursor:wait}.nf-socialbtn--student .nf-icon{color:var(--primary-tint)}.nf-googlebtn{width:100%;min-height:44px;display:flex;justify-content:center;align-items:center}.nf-googlebtn>div{width:100%;display:flex;justify-content:center}.nf-auth__roles{display:flex;flex-direction:column;gap:var(--space-3)}.nf-roleopt{font:inherit;display:grid;grid-template-columns:44px minmax(0,1fr) 20px;align-items:center;gap:var(--space-3);width:100%;min-height:72px;padding:12px 14px;border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--surface-hover);color:var(--text-primary);text-align:left;cursor:pointer;transition:background .12s ease,border-color .12s ease}@media (hover: hover) and (pointer: fine){.nf-roleopt:hover{background:var(--surface-hover-strong)}}.nf-roleopt.is-active{border-color:var(--primary);background:var(--primary-soft)}.nf-roleopt__icon{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--primary);color:var(--on-primary)}.nf-roleopt__text{display:flex;flex-direction:column;gap:2px;min-width:0}.nf-roleopt__text strong{font-family:var(--font-display);font-weight:400;font-size:19px;line-height:1.15}.nf-roleopt__text small{font-size:var(--fs-caption);color:var(--text-secondary)}.nf-roleopt__chev{color:var(--text-muted)}.nf-auth__sent{align-items:center;text-align:center}.nf-auth__sentbadge{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--primary-soft);color:var(--primary-tint)}@media (max-width: 768px){.nf-auth.nf-modal{padding:12px;align-items:start}.nf-auth .nf-modal__card{max-height:calc(100dvh - 24px)}.nf-auth__grid{grid-template-columns:minmax(0,1fr);min-height:0}.nf-auth__art{padding:16px 64px 14px 18px;gap:4px;border-right:none;border-bottom:1px solid var(--border)}.nf-auth__logo{width:32px;height:32px;border-radius:10px}.nf-auth__brandname{font-size:17px}.nf-auth__headline{margin:6px 0 0;font-size:24px}.nf-auth__sub{font-size:var(--fs-caption)}.nf-auth__perks,.nf-auth__hero{display:none}.nf-auth__panel{padding:16px 18px 18px;align-items:flex-start}.nf-auth__step{max-width:none;gap:10px}.nf-auth__title{font-size:22px}.nf-auth__cta{min-height:50px;font-size:17px}.nf-roleopt{min-height:64px}}@media (max-height: 640px){.nf-auth .nf-modal__body{overflow-y:auto}}.rs-lib{max-width:var(--shell-max);margin:0 auto;padding:var(--space-5) var(--page-gutter) var(--space-7);display:flex;flex-direction:column;gap:var(--space-6)}@media (max-width: 768px){.rs-lib{gap:var(--space-5);padding-top:var(--space-4)}}.rs-lib__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,460px);gap:var(--space-4) var(--space-6);align-items:center}@media (max-width: 1024px){.rs-lib__head{grid-template-columns:1fr}}.rs-lib__titles{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.rs-lib__title{margin:0;font-size:var(--fs-display);line-height:1.1}.rs-lib__lead{margin:0;color:var(--text-secondary);font-size:var(--fs-lead)}.rs-lib__rows{display:flex;flex-direction:column;gap:var(--space-6);min-width:0}.rs-lib__state{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-1)}.rs-plan{display:grid;grid-template-columns:auto 1fr;gap:var(--space-2) var(--space-3);align-items:center;padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface-1)}.rs-plan__icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--primary-soft);color:var(--primary-tint)}.rs-plan__text{min-width:0}.rs-plan__title{margin:0;font-family:var(--font-display);font-size:18px;line-height:1.2}.rs-plan__body{margin:2px 0 0;font-size:var(--fs-caption);color:var(--text-secondary)}.rs-plan__cta{grid-column:1/-1}.rs-shelf{min-width:0}.rs-shelf__head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.rs-shelf__titles{min-width:0}.rs-shelf__title{margin:0;font-size:22px}.rs-shelf__hint{margin:2px 0 0;font-size:var(--fs-caption);color:var(--text-muted)}.rs-shelf__actions{display:flex;align-items:center;gap:var(--space-2);flex:none}.rs-shelf__arrows{display:inline-flex;gap:var(--space-2)}.rs-shelf__arrows .nf-iconbtn:disabled{opacity:.35;cursor:default}@media (max-width: 1024px){.rs-shelf__arrows{display:none}}.rs-shelf__viewport{position:relative;margin:0 calc(var(--page-gutter) * -1)}.rs-shelf__viewport:before,.rs-shelf__viewport:after{content:"";position:absolute;top:0;bottom:12px;width:40px;z-index:var(--z-base);pointer-events:none;opacity:0;transition:opacity .2s ease}.rs-shelf__viewport:before{left:0;background:linear-gradient(90deg,var(--surface-0),transparent)}.rs-shelf__viewport:after{right:0;background:linear-gradient(270deg,var(--surface-0),transparent)}.rs-shelf__viewport.has-less:before,.rs-shelf__viewport.has-more:after{opacity:1}.rs-shelf__track{list-style:none;margin:0;padding:var(--space-1) var(--page-gutter) var(--space-3);display:flex;gap:var(--space-4);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding:0 var(--page-gutter);-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--surface-3) transparent}.rs-shelf__track::-webkit-scrollbar{height:8px}.rs-shelf__track::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:var(--radius-pill)}.rs-shelf__track::-webkit-scrollbar-track{background:transparent}@media (max-width: 768px){.rs-shelf__track{gap:var(--space-3)}}.rs-shelf__item{flex:0 0 160px;scroll-snap-align:start;min-width:0}@media (max-width: 768px){.rs-shelf__item{flex-basis:136px}}.rs-shelf-grid{min-width:0;scroll-margin-top:calc(var(--shell-top) + var(--space-4))}.rs-filters{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);gap:var(--space-3);margin-bottom:var(--space-3)}@media (max-width: 768px){.rs-filters{grid-template-columns:1fr 1fr}.rs-filters .rs-search{grid-column:1/-1}}.rs-search{position:relative;display:block;align-self:end}.rs-search__icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.rs-search__input{width:100%;padding-left:44px;min-height:var(--tap-min);box-sizing:border-box}.rs-select{display:flex;flex-direction:column;gap:4px;min-width:0}.rs-select__label{font-size:var(--fs-overline);font-weight:700;color:var(--text-muted)}.rs-select select{width:100%;min-height:var(--tap-min);box-sizing:border-box;cursor:pointer}.rs-select select:disabled{opacity:.6;cursor:default}.rs-levels{display:flex;gap:var(--space-2);overflow-x:auto;padding:var(--space-1) 2px var(--space-3);margin-bottom:var(--space-3);scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--surface-3) transparent}.rs-levels::-webkit-scrollbar{height:6px}.rs-levels::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:var(--radius-pill)}.rs-level{flex:0 0 auto;scroll-snap-align:start;min-width:var(--tap-min);min-height:var(--tap-min);padding:0 var(--space-2);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-1);color:var(--text-secondary);font-family:var(--font-display);font-size:18px;font-weight:400;cursor:pointer}@media (hover: hover) and (pointer: fine){.rs-level:hover{background:var(--surface-2);color:var(--text-primary)}}.rs-level--all{padding:0 var(--space-4);font-family:var(--font-body);font-weight:700;font-size:var(--fs-body)}.rs-level.is-active{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.rs-level:disabled{opacity:.45;cursor:default}.rs-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-5) var(--space-4)}@media (max-width: 768px){.rs-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4) var(--space-3)}}.rs-grid>li{min-width:0}.rs-book{position:relative;height:100%}.rs-book__hit{display:flex;flex-direction:column;gap:var(--space-2);width:100%;height:100%;padding:0;border:none;background:none;color:var(--text-primary);font:inherit;text-align:left;text-decoration:none;cursor:pointer;border-radius:var(--radius-md)}.rs-book__hit:disabled{cursor:default}.rs-book__hit:focus-visible{outline:var(--focus-ring);outline-offset:3px}.rs-book__cover{position:relative;display:block;aspect-ratio:var(--cover-ratio);border-radius:var(--radius-md);overflow:hidden;background:var(--cover-bg);border:1px solid var(--border);box-shadow:var(--elev-1)}.rs-book__cover img{display:block;width:100%;height:100%;object-fit:contain}@media (prefers-reduced-motion: no-preference){.rs-book__cover{transition:transform .18s ease,box-shadow .18s ease}}@media (hover: hover) and (pointer: fine){.rs-book:hover .rs-book__cover{transform:translateY(-3px);box-shadow:var(--elev-2)}}.rs-book__cover-fallback{display:grid;place-items:center;width:100%;height:100%;color:var(--text-muted)}.rs-book__lock,.rs-book__check{position:absolute;display:grid;place-items:center;border-radius:50%}.rs-book__lock{top:0;right:0;bottom:0;left:0;border-radius:0;background:var(--backdrop);color:var(--text-primary)}.rs-book__lock>svg{padding:10px;border-radius:50%;background:var(--surface-1);box-sizing:content-box}.rs-book__check{left:var(--space-2);bottom:var(--space-2);width:30px;height:30px;background:var(--success);color:var(--success-ink)}.rs-book__body{display:flex;flex-direction:column;gap:6px;min-width:0;padding:0 2px}.rs-book__title{font-family:var(--font-display);font-size:17px;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rs-book__pills{display:flex;flex-wrap:wrap;gap:4px}.rs-book__pills .nf-pill{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rs-book__meta{font-size:var(--fs-overline);color:var(--text-muted)}.rs-book__share{position:absolute;top:var(--space-2);right:var(--space-2);z-index:var(--z-base);background:var(--backdrop);border-color:transparent;color:var(--text-primary);opacity:.9}.rs-book.is-locked .rs-book__title{color:var(--text-secondary)}.rs-book.is-busy .rs-book__cover:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--backdrop)}.rs-readers__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-3)}@media (max-width: 768px){.rs-readers__list{grid-template-columns:1fr}}.rs-reader{display:grid;grid-template-columns:auto 1fr;gap:var(--space-3);align-items:center;padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface-1)}.rs-reader__avatar{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--primary);color:var(--on-primary);font-family:var(--font-display);font-size:22px}.rs-reader__name{margin:0;font-family:var(--font-display);font-size:18px}.rs-reader__meta{margin:2px 0 0;font-size:var(--fs-caption);color:var(--text-muted)}.rs-reader__actions{grid-column:1/-1;display:flex;gap:var(--space-2);flex-wrap:wrap}.rs-reader__actions .nf-btn{flex:1 1 auto}.rs-resource{position:relative;display:flex;flex-direction:column;height:100%;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-1);overflow:hidden;color:var(--text-primary);text-decoration:none}@media (hover: hover) and (pointer: fine){.rs-resource:hover{background:var(--surface-2)}}.rs-resource__art{display:grid;place-items:center;aspect-ratio:4/3;background:var(--paper);color:var(--ink-muted)}.rs-resource__art img{width:100%;height:100%;object-fit:contain}.rs-resource__body{display:flex;flex-direction:column;gap:2px;padding:var(--space-3)}.rs-resource__title{font-family:var(--font-display);font-size:16px;line-height:1.2}.rs-resource__meta{font-size:var(--fs-overline);color:var(--text-muted)}.rs-resource__ext{position:absolute;top:var(--space-2);right:var(--space-2);color:var(--ink-muted)}.rs-skel{display:block;border-radius:var(--radius-sm);background:var(--surface-1)}@media (prefers-reduced-motion: no-preference){.rs-skel{animation:rsSkel 1.4s ease-in-out infinite}}.rs-skel--cover{aspect-ratio:var(--cover-ratio);border-radius:var(--radius-md)}.rs-skel--line{height:14px;margin-top:var(--space-2);width:80%}.rs-skel--short{width:45%}.rs-skel--title{height:36px;width:min(420px,80%);border-radius:var(--radius-md)}.rs-skel-card{list-style:none}@keyframes rsSkel{0%,to{background:var(--surface-1)}50%{background:var(--surface-2)}}.rs-classroom{display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-3) var(--space-4);align-items:center;padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface-1)}@media (max-width: 768px){.rs-classroom{grid-template-columns:auto 1fr;padding:var(--space-4)}}.rs-classroom__title{margin:0;font-size:var(--fs-heading)}.rs-classroom__body{margin:2px 0 0;color:var(--text-secondary);font-size:var(--fs-caption)}.rs-classroom__actions{display:flex;gap:var(--space-2);flex-wrap:wrap}@media (max-width: 768px){.rs-classroom__actions{grid-column:1/-1}.rs-classroom__actions .nf-btn{flex:1 1 auto}}.rs-wotd{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface-1)}.rs-wotd__text{min-width:0}.rs-wotd__word{margin:2px 0 0;font-family:var(--font-display);font-size:32px;line-height:1.1;display:flex;flex-wrap:wrap;gap:4px}.rs-wotd__part{padding:0 6px;border-radius:var(--radius-sm);background:var(--primary-soft);color:var(--text-primary)}.rs-wotd__actions{display:flex;align-items:center;gap:var(--space-2)}html.rs-has-shell{--shell-top: 64px}@media (max-width: 1024px){html.rs-has-tabs{--shell-bottom: calc(64px + env(safe-area-inset-bottom, 0px)) }}.rs-skip{position:absolute;left:var(--space-3);top:-100px;z-index:var(--z-toast);padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);background:var(--primary);color:var(--on-primary);font-weight:700}.rs-skip:focus{top:var(--space-2)}.rs-logo{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--tap-min);color:var(--text-primary);text-decoration:none;border-radius:var(--radius-sm)}.rs-logo__mark{display:grid;place-items:center;width:40px;height:40px;border-radius:var(--radius-md);background:var(--primary);color:var(--on-primary)}.rs-logo__mark svg{width:26px;height:26px}.rs-logo__text{display:flex;flex-direction:column;line-height:1}.rs-logo__top{font-family:var(--font-display);font-size:19px;letter-spacing:.02em}.rs-logo__bottom{font-family:var(--font-body);font-weight:800;font-size:var(--fs-overline);letter-spacing:.32em;text-transform:uppercase;color:var(--primary-tint);margin-top:3px}.rs-topbar{position:sticky;top:0;z-index:var(--z-nav);height:64px;background:var(--surface-1);border-bottom:1px solid var(--border)}.rs-topbar__inner{height:100%;max-width:var(--shell-max);margin:0 auto;padding:0 var(--page-gutter);display:flex;align-items:center;gap:var(--space-5)}.rs-topbar__nav,.rs-topbar__anchors{display:flex;align-items:center;gap:var(--space-1)}@media (max-width: 1024px){.rs-topbar__nav,.rs-topbar__anchors{display:none}}.rs-topbar__link,.rs-topbar__anchors a{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--tap-min);padding:0 var(--space-4);border-radius:var(--radius-pill);color:var(--text-secondary);font-weight:700;text-decoration:none}@media (hover: hover) and (pointer: fine){.rs-topbar__link:hover,.rs-topbar__anchors a:hover{background:var(--surface-hover);color:var(--text-primary)}}.rs-topbar__link.is-active,.rs-topbar__anchors a.is-active{background:var(--primary-soft);color:var(--primary-tint)}.rs-topbar__actions{margin-left:auto;display:flex;align-items:center;gap:var(--space-2)}.rs-topbar__unlock{gap:var(--space-2)}@media (max-width: 480px){.rs-topbar__unlock-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.rs-topbar__unlock{width:var(--tap-min);min-height:var(--tap-min);padding:0;justify-content:center}.rs-topbar__login{padding:0 var(--space-3)}.rs-topbar__cta{padding:0 var(--space-4)}}.rs-profile{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--tap-min);padding:0 var(--space-3) 0 var(--space-1);border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface-2);color:var(--text-primary);font:700 var(--fs-body)/1 var(--font-body);cursor:pointer}@media (hover: hover) and (pointer: fine){.rs-profile:hover{background:var(--surface-3)}}.rs-profile__avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--primary);color:var(--on-primary);font-family:var(--font-display);font-size:17px}.rs-profile__name{max-width:14ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 1024px){.rs-profile{padding:0 var(--space-1)}.rs-profile .nf-icon--chevron-down,.rs-profile .rs-profile__name{display:none}}.rs-tabs{display:none}@media (max-width: 1024px){.rs-tabs{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-nav);display:flex;height:calc(64px + env(safe-area-inset-bottom,0px));padding:var(--space-1) var(--space-1) env(safe-area-inset-bottom,0px);background:var(--surface-1);border-top:1px solid var(--border)}}.rs-tabs__tab{flex:1 1 0;min-width:var(--tap-min);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:0;border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-muted);font:700 var(--fs-overline)/1.2 var(--font-body);text-decoration:none;cursor:pointer}.rs-tabs__tab .nf-icon{padding:3px 14px;box-sizing:content-box;border-radius:var(--radius-pill)}.rs-tabs__tab.is-active{color:var(--text-primary)}.rs-tabs__tab.is-active .nf-icon{background:var(--primary-soft);color:var(--primary-tint)}.rs-tabs__tab:focus-visible{outline-offset:-3px}.rs-account{display:flex;flex-direction:column;gap:var(--space-4)}.rs-account__label{margin:0 0 var(--space-2);font-family:var(--font-body);font-size:var(--fs-overline);font-weight:800;letter-spacing:var(--tracking-overline);text-transform:uppercase;color:var(--text-muted)}.rs-account__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.rs-account__item{width:100%;min-height:48px;display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-3);border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-primary);font:700 var(--fs-body)/1.2 var(--font-body);text-align:left;text-decoration:none;cursor:pointer}.rs-account__item .nf-icon{color:var(--text-secondary)}@media (hover: hover) and (pointer: fine){.rs-account__item:hover{background:var(--surface-hover)}}.rs-account__item.is-current{background:var(--primary-soft);cursor:default;color:var(--primary-tint)}.rs-account__item:disabled{opacity:1}.rs-account__tick{margin-left:auto}.rs-account .nf-btn{gap:var(--space-2)}.rs-main{min-height:calc(100vh - var(--shell-top))}.rs-footer{border-top:1px solid var(--border);background:var(--surface-1);padding:var(--space-6) var(--page-gutter) calc(var(--space-6) + var(--shell-bottom))}.rs-footer__inner{max-width:var(--shell-max);margin:0 auto;display:grid;grid-template-columns:1fr auto;gap:var(--space-4) var(--space-6);align-items:start}@media (max-width: 768px){.rs-footer__inner{grid-template-columns:1fr}}.rs-footer__tag{margin:var(--space-2) 0 0;color:var(--text-muted);font-size:var(--fs-caption)}.rs-footer__links{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-4)}.rs-footer__links a{display:inline-flex;align-items:center;min-height:var(--tap-min);color:var(--text-secondary);font-weight:600;text-decoration:underline;text-underline-offset:3px}@media (hover: hover) and (pointer: fine){.rs-footer__links a:hover{color:var(--text-primary)}}.rs-footer__copy{grid-column:1/-1;margin:0;font-size:var(--fs-caption);color:var(--text-muted)}.rs-main:focus{outline:none}.rs-landing{max-width:var(--shell-max);margin:0 auto;padding:0 var(--page-gutter) var(--space-7);display:flex;flex-direction:column;gap:var(--space-7)}@media (max-width: 768px){.rs-landing{gap:var(--space-6)}}.rs-landing [id]{scroll-margin-top:calc(var(--shell-top) + var(--space-4))}.rs-landing__section{min-width:0}.rs-landing__section--narrow{max-width:820px;width:100%;margin:0 auto}.rs-landing__head{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-5);text-align:center;align-items:center}.rs-landing__h2{margin:0;font-size:clamp(26px,3.2vw,36px);line-height:1.1;max-width:22ch}.rs-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:var(--space-6);align-items:center;padding-top:var(--space-7)}@media (max-width: 1024px){.rs-hero{grid-template-columns:1fr;padding-top:var(--space-5);gap:var(--space-5)}}.rs-hero__copy{display:flex;flex-direction:column;gap:var(--space-4);align-items:flex-start;min-width:0}.rs-hero__eyebrow{margin:0;padding:6px 12px;border-radius:var(--radius-pill);background:var(--primary-soft);color:var(--primary-tint);font-size:var(--fs-caption);font-weight:700}.rs-hero__title{margin:0;font-size:clamp(36px,5.2vw,64px);line-height:1.03;letter-spacing:.005em}.rs-hero__title em{font-style:normal;color:var(--primary-tint)}.rs-hero__lead{margin:0;font-size:clamp(16px,1.5vw,19px);line-height:1.55;color:var(--text-secondary);max-width:34em}.rs-hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-2)}.rs-hero__cta{font-size:18px;min-height:52px;padding:0 var(--space-6)}.rs-hero__note{display:inline-flex;align-items:center;gap:var(--space-2);margin:0;font-size:var(--fs-caption);color:var(--text-muted)}.rs-hero__note .nf-icon{color:var(--success)}@media (max-width: 480px){.rs-hero__actions{width:100%}.rs-hero__actions .nf-btn{flex:1 1 100%}}@media (prefers-reduced-motion: no-preference){.rs-hero__copy>*{animation:rsRise .5s cubic-bezier(.2,.8,.3,1) both}.rs-hero__copy>:nth-child(2){animation-delay:60ms}.rs-hero__copy>:nth-child(3){animation-delay:.12s}.rs-hero__copy>:nth-child(4){animation-delay:.18s}.rs-hero__copy>:nth-child(5){animation-delay:.24s}}.rs-hero__art{position:relative;padding:var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface-1)}@media (max-width: 1024px){.rs-hero__art{padding:var(--space-4)}}.rs-hero__stack{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3)}.rs-hero__cover{display:block;aspect-ratio:var(--cover-ratio);border-radius:var(--radius-md);overflow:hidden;background:var(--cover-bg);box-shadow:var(--elev-1)}.rs-hero__cover img{display:block;width:100%;height:100%;object-fit:contain}.rs-hero__cover--1{transform:rotate(-3deg) translateY(10px)}.rs-hero__cover--3{transform:rotate(3deg) translateY(10px)}.rs-hero__cover--2{box-shadow:var(--elev-2)}@keyframes rsRise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.rs-proof{list-style:none;margin:0;padding:var(--space-4);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3);border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface-1)}@media (max-width: 768px){.rs-proof{grid-template-columns:repeat(2,minmax(0,1fr))}}.rs-proof li{display:flex;flex-direction:column;gap:2px;color:var(--text-secondary);font-size:var(--fs-caption);text-align:center}.rs-proof strong{font-family:var(--font-display);font-weight:400;font-size:28px;color:var(--text-primary);line-height:1.1}.rs-features{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--space-4)}.rs-features>li{grid-column:span 2}.rs-features>li:nth-child(4){grid-column:2/span 2}@media (max-width: 1024px){.rs-features{grid-template-columns:repeat(2,minmax(0,1fr))}.rs-features>li,.rs-features>li:nth-child(4){grid-column:auto}.rs-features>li:last-child{grid-column:1/-1}}@media (max-width: 768px){.rs-features{grid-template-columns:1fr}.rs-features>li:last-child{grid-column:auto}}.rs-feature{padding:var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface-1)}.rs-feature__icon{display:grid;place-items:center;width:52px;height:52px;border-radius:var(--radius-md);background:var(--primary-soft);color:var(--primary-tint);margin-bottom:var(--space-3)}.rs-feature__title{margin:0 0 var(--space-2);font-size:var(--fs-heading)}.rs-feature__body{margin:0;color:var(--text-secondary)}.rs-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4);counter-reset:none}@media (max-width: 768px){.rs-steps{grid-template-columns:1fr}}.rs-step{position:relative;padding:var(--space-5);border-radius:var(--radius-lg);background:var(--surface-2);border:1px solid var(--border)}.rs-step__num{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--primary);color:var(--on-primary);font-family:var(--font-display);font-size:22px;margin-bottom:var(--space-3)}.rs-step__title{margin:0 0 var(--space-2);font-size:var(--fs-heading)}.rs-step__body{margin:0;color:var(--text-secondary)}.rs-plans{display:grid;grid-template-columns:repeat(2,minmax(0,380px));justify-content:center;gap:var(--space-4)}@media (max-width: 768px){.rs-plans{grid-template-columns:1fr}}.rs-plancard{position:relative;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface-1)}.rs-plancard--premium{background:var(--surface-2);border-color:var(--primary)}.rs-plancard__flag{position:absolute;top:calc(var(--space-3) * -1);right:var(--space-5);margin:0;padding:4px 12px;border-radius:var(--radius-pill);background:var(--primary);color:var(--on-primary);font-size:var(--fs-overline);font-weight:800;letter-spacing:var(--tracking-overline);text-transform:uppercase}.rs-plancard__name{margin:0;font-size:24px}.rs-plancard__price{margin:0;color:var(--text-secondary)}.rs-plancard__price strong{font-family:var(--font-display);font-weight:400;font-size:40px;color:var(--text-primary);margin-right:4px}.rs-plancard__alt{margin:-8px 0 0;font-size:var(--fs-caption);color:var(--text-muted)}.rs-plancard__list{list-style:none;margin:0 0 var(--space-2);padding:0;display:flex;flex-direction:column;gap:var(--space-2);flex:1}.rs-plancard__list li{display:flex;gap:var(--space-2);align-items:flex-start}.rs-plancard__list .nf-icon{color:var(--success);margin-top:2px}.rs-faq{display:flex;flex-direction:column;gap:var(--space-2)}.rs-faq__item{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-1)}.rs-faq__item[open] .rs-faq__chev{transform:rotate(180deg)}.rs-faq__q{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:56px;padding:0 var(--space-4);font-weight:700;cursor:pointer;list-style:none;border-radius:var(--radius-md)}.rs-faq__q::-webkit-details-marker{display:none}@media (hover: hover) and (pointer: fine){.rs-faq__q:hover{background:var(--surface-hover)}}.rs-faq__chev{flex:none;color:var(--text-muted)}@media (prefers-reduced-motion: no-preference){.rs-faq__chev{transition:transform .2s ease}}.rs-faq__a{margin:0;padding:0 var(--space-4) var(--space-4);color:var(--text-secondary)}.rs-closer{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-6) var(--space-5);border-radius:var(--radius-lg);background:var(--primary-ink);text-align:center}.rs-closer__body{margin:0;color:var(--primary-tint)}.rs-landing__shelf-skel .rs-shelf__track{overflow:hidden}.rs-hero__cover--blank{display:grid;place-items:center;color:var(--primary-tint);background:var(--primary-soft)}.acct-page{color:var(--text-primary)}.acct{display:flex;flex-direction:column;gap:var(--space-5)}.acct-loading{display:flex;align-items:center;justify-content:center;gap:var(--space-3);min-height:40vh;color:var(--text-secondary)}.acct-signedout{max-width:560px;margin:var(--space-6) auto 0}.acct-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.acct-hero .nf-overline{color:var(--primary-tint)}.acct-hero .nf-display{margin-top:4px}.acct-hero__sub{margin:6px 0 0;color:var(--text-muted);font-size:var(--fs-body);overflow-wrap:anywhere}.acct-hero__actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.acct-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--space-5);align-items:start}@media (max-width: 1024px){.acct-layout{grid-template-columns:minmax(0,1fr)}}.acct-kids{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-4)}@media (max-width: 480px){.acct-kids{grid-template-columns:minmax(0,1fr)}}.acct-aside{display:flex;flex-direction:column;gap:var(--space-4)}.acct-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4)}.acct-child{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5)}@media (max-width: 480px){.acct-child{padding:var(--space-4)}}.acct-child__head{display:flex;align-items:center;gap:var(--space-3)}.acct-child__avatar{flex:none;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--primary);color:var(--on-primary);font-family:var(--font-display);font-size:26px}.acct-child__who{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}.acct-child__name{margin:0;font-family:var(--font-display);font-weight:400;font-size:24px;line-height:1.1;overflow-wrap:anywhere}.acct-chipbtn{font:inherit;font-size:var(--fs-caption);font-weight:700;display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 10px;border-radius:var(--radius-pill);border:1px solid var(--border-strong);background:var(--surface-tint);color:var(--text-secondary);cursor:pointer;position:relative}.acct-chipbtn:after{content:"";position:absolute;top:50%;left:50%;width:max(100%,44px);height:max(100%,44px);transform:translate(-50%,-50%)}@media (hover: hover) and (pointer: fine){.acct-chipbtn:hover{background:var(--surface-hover-strong);color:var(--text-primary)}}.acct-level{font:inherit;color:inherit;text-align:left;cursor:pointer;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-2)}@media (hover: hover) and (pointer: fine){.acct-level:hover{background:var(--surface-3)}}.acct-level__badge{display:grid;place-items:center;width:56px;height:56px;border-radius:var(--radius-md);background:var(--primary-soft);color:var(--primary-tint);font-family:var(--font-display);font-size:32px;line-height:1}.acct-level__text{display:flex;flex-direction:column;gap:2px;min-width:0}.acct-level__text .nf-overline{color:var(--text-muted)}.acct-level__band{font-weight:700;font-size:var(--fs-body)}.acct-level__change{display:inline-flex;align-items:center;gap:2px;font-size:var(--fs-caption);font-weight:700;color:var(--primary-tint)}.acct-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.acct-stat{font:inherit;color:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:76px;padding:var(--space-2);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-hover)}@media (hover: hover) and (pointer: fine){.acct-stat:hover{background:var(--surface-hover-strong)}}.acct-stat__num{font-family:var(--font-display);font-size:28px;line-height:1}.acct-stat__label{font-size:var(--fs-overline);font-weight:700;color:var(--text-secondary);text-align:center}.acct-child__login{margin:0;display:flex;align-items:center;justify-content:space-between;gap:6px;flex-wrap:wrap}.acct-child__login>span{display:inline-flex;align-items:center;gap:6px;min-width:0}.acct-child__login{font-size:var(--fs-caption);color:var(--text-muted)}.acct-child__login strong{color:var(--text-secondary);overflow-wrap:anywhere}.acct-child__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap;margin-top:auto}.acct-child__read{flex:1 1 auto}.acct-child__delete{min-height:var(--tap-min);padding:0 10px;display:inline-flex;align-items:center;gap:6px;border-radius:var(--radius-pill);border:0;cursor:pointer}.acct-side{display:flex;flex-direction:column;gap:var(--space-3)}.acct-side__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.acct-side__icon{color:var(--primary-tint)}.acct-side__text{margin:0;color:var(--text-secondary);line-height:var(--lh-body)}.acct-copy{display:flex;align-items:center;gap:var(--space-2);padding:6px 6px 6px 12px;border-radius:var(--radius-md);background:var(--surface-2);border:1px solid var(--border)}.acct-copy code{flex:1;min-width:0;font-size:var(--fs-caption);font-weight:700;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acct-empty{grid-column:1/-1}.acct-foot{display:flex;justify-content:center;padding-top:var(--space-2)}
