@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-serif:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*,:before,:after{box-sizing:border-box}html{scrollbar-gutter:stable;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;background:var(--color-canvas);min-width:320px;color:var(--color-foreground);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial}}body{background:var(--color-canvas);min-height:100dvh;color:var(--color-foreground);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){button,a{-webkit-tap-highlight-color:color-mix(in srgb, var(--color-accent) 18%, transparent)}}a{color:inherit}:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}::selection{background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){::selection{background:color-mix(in srgb, var(--color-accent) 25%, transparent)}}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.relative{position:relative}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.tab-1{tab-size:1}.tab-2{tab-size:2}.lowercase{text-transform:lowercase}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.sepia{--tw-sepia:sepia(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;border-radius:var(--radius-md);background:var(--color-foreground);color:var(--color-surface);transition:transform var(--motion-state) var(--motion-standard-easing);padding:12px 16px;font-weight:700;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.update-banner{z-index:80;border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-surface);align-items:center;gap:12px;max-width:min(420px,100vw - 32px);padding:12px 14px;display:flex;position:fixed;bottom:16px;right:16px;box-shadow:0 18px 48px #00000029}.app-frame{min-height:100dvh}.app-sidebar{z-index:20;border-right:1px solid var(--color-border-subtle);background:var(--color-surface);flex-direction:column;width:220px;display:flex;position:fixed;inset:0 auto 0 0}@supports (color:color-mix(in lab, red, red)){.app-sidebar{background:color-mix(in srgb, var(--color-surface) 94%, transparent)}}.app-sidebar{-webkit-backdrop-filter:blur(20px)saturate(140%);backdrop-filter:blur(20px)saturate(140%);padding:22px 16px}.brand-lockup{align-items:center;gap:12px;min-height:48px;padding:0 8px;display:flex}.brand-lockup>span:last-child{gap:1px;min-width:0;display:grid}.brand-lockup b{letter-spacing:-.03em;font-size:17px}.brand-lockup small{color:var(--color-foreground-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.25;overflow:hidden}.brand-mark{background:linear-gradient(145deg, var(--color-accent), #003db8);width:38px;height:38px;box-shadow:0 7px 20px var(--color-accent);border-radius:13px;place-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){.brand-mark{box-shadow:0 7px 20px color-mix(in srgb, var(--color-accent) 24%, transparent)}}.brand-mark{color:#fff;letter-spacing:-.04em;font-size:14px;font-weight:800}.app-navigation{display:flex}.app-navigation--sidebar{flex-direction:column;flex:1;gap:4px;margin-top:34px}.app-navigation a{min-height:48px;color:var(--color-foreground-muted);transition:background var(--motion-state) var(--motion-standard-easing), color var(--motion-state) var(--motion-standard-easing), transform var(--motion-state) var(--motion-standard-easing);border-radius:14px;align-items:center;gap:13px;font-size:14px;font-weight:570;text-decoration:none;display:flex}.app-navigation--sidebar a{padding:0 14px}.app-navigation a:hover{background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.app-navigation a:hover{background:color-mix(in srgb, var(--color-accent) 7%, var(--color-surface))}}.app-navigation a:hover{color:var(--color-foreground)}.app-navigation a[aria-current=page]{background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.app-navigation a[aria-current=page]{background:color-mix(in srgb, var(--color-accent) 12%, var(--color-surface))}}.app-navigation a[aria-current=page]{color:var(--color-accent)}.app-navigation a:active{transform:scale(.98)}.app-navigation--bottom,.mobile-app-bar{display:none}.app-stage{min-height:100dvh;margin-left:220px}.app-content{width:min(100%,1160px);margin:0 auto;padding:42px clamp(28px,4vw,52px) 72px}.page-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin:0 0 26px;display:flex}.page-heading>div:first-child{max-width:780px}.eyebrow{color:var(--color-accent);letter-spacing:.1em;text-transform:uppercase;margin:0 0 10px;font-size:12px;font-weight:750}.page-heading h1{letter-spacing:-.045em;text-wrap:balance;max-width:760px;margin:0;font-size:clamp(32px,3.2vw,42px);font-weight:750;line-height:1.06}.page-heading p:not(.eyebrow){max-width:700px;color:var(--color-foreground-muted);text-wrap:pretty;margin:16px 0 0;font-size:clamp(16px,1.6vw,19px);line-height:1.55}.page-heading__action{flex:none}.ui-card{border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-surface);padding:20px;position:relative;box-shadow:0 1px 3px #0000000b}.ui-card--accent{color:#fff;box-shadow:0 20px 48px var(--color-accent);background:linear-gradient(145deg,#063580,#0057ff 62%,#2d7eff);border-color:#0000}@supports (color:color-mix(in lab, red, red)){.ui-card--accent{box-shadow:0 20px 48px color-mix(in srgb, var(--color-accent) 22%, transparent)}}.ui-card--warm{background:linear-gradient(145deg, var(--color-accent-warm), var(--color-surface))}@supports (color:color-mix(in lab, red, red)){.ui-card--warm{background:linear-gradient(145deg, color-mix(in srgb, var(--color-accent-warm) 16%, var(--color-surface)), var(--color-surface))}}.ui-card--quiet{background:var(--color-surface-subtle);box-shadow:none}.ui-status-chip{border-radius:var(--radius-pill);background:var(--color-surface-subtle);min-height:32px;color:var(--color-foreground-muted);white-space:nowrap;align-items:center;gap:7px;padding:6px 11px;font-size:12px;font-weight:650;display:inline-flex}.ui-status-chip--info{background:var(--color-info)}@supports (color:color-mix(in lab, red, red)){.ui-status-chip--info{background:color-mix(in srgb, var(--color-info) 12%, var(--color-surface))}}.ui-status-chip--info{color:var(--color-info-text)}.ui-status-chip--success{background:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.ui-status-chip--success{background:color-mix(in srgb, var(--color-success) 12%, var(--color-surface))}}.ui-status-chip--success{color:var(--color-success-text)}.ui-button,.primary-link{min-height:44px;transition:transform var(--motion-state) var(--motion-standard-easing);border:0;border-radius:14px;justify-content:center;align-items:center;gap:9px;padding:0 17px;font-weight:680;text-decoration:none;display:inline-flex}.primary-link{white-space:nowrap}.ui-button--primary,.primary-link{background:var(--color-accent);color:var(--color-on-accent)}.ui-button--secondary{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-foreground)}.ui-button--quiet{color:var(--color-accent);background:0 0}.ui-button--danger{background:var(--color-error);color:#fff}.ui-button--compact{min-height:36px;padding-inline:13px;font-size:13px}.ui-button--large{min-height:52px;padding-inline:22px}.ui-button:hover,.primary-link:hover{filter:brightness(1.06)}.ui-button:active,.primary-link:active{transform:scale(.98)}.ui-button:disabled{cursor:not-allowed;filter:none;opacity:.58}.screen-loading{grid-template-rows:190px 90px;grid-template-columns:1.35fr .65fr;gap:14px;min-height:280px;display:grid}.screen-loading i{border-radius:var(--radius-lg);background:linear-gradient(100deg, var(--color-surface-subtle) 25%, var(--color-surface) 45%, var(--color-surface-subtle) 65%);background-size:300% 100%;animation:1.5s ease-in-out infinite loading-sheen}.screen-loading i:last-child{grid-column:1/-1}@keyframes loading-sheen{to{background-position:-150% 0}}.dashboard-grid{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:14px;display:grid}.dashboard-notice{color:var(--color-foreground-muted);flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;align-items:center;gap:16px;font-size:13px;display:flex}.session-card{align-content:space-between;gap:24px;min-height:250px;padding:30px;display:grid;overflow:hidden}.session-card:after{content:"";background:radial-gradient(circle,#ffffff3d,#0000 67%);border-radius:50%;width:270px;height:270px;position:absolute;bottom:-110px;right:-80px}.session-card .metric-label{color:#ffffffc7}.session-card__content{align-content:start;gap:8px;display:grid}.session-card__metric{align-items:baseline;gap:10px;display:flex}.hero-metric{letter-spacing:-.07em;font-size:66px;font-weight:770;line-height:.95;display:block}.metric-note{color:#ffffffb8;font-size:13px}.session-card .primary-link{z-index:1;color:#073577;background:#fff;justify-self:start}.home-summary{align-content:stretch;padding:8px 20px;display:grid}.home-summary>div{border-bottom:1px solid var(--color-border-subtle);justify-content:space-between;align-items:center;gap:18px;min-height:70px;display:flex}.home-summary>div:last-child{border-bottom:0}.home-summary span{color:var(--color-foreground-muted);font-size:13px}.home-summary strong{letter-spacing:-.04em;font-size:25px}.metric-label{color:var(--color-foreground-muted);letter-spacing:.025em;font-size:12px;font-weight:650;display:block}.reading-card{grid-column:1/-1;grid-template-columns:1fr auto;align-items:center;gap:20px;min-height:112px;display:grid}.reading-card h2{max-width:560px;margin:6px 0 0;font-size:18px;line-height:1.35}.text-link{min-height:44px;color:var(--color-accent);font:inherit;background:0 0;border:0;align-items:center;gap:7px;padding:0;font-size:14px;font-weight:680;text-decoration:none;display:inline-flex}.empty-state{text-align:center;align-content:center;place-items:center;gap:14px;min-height:360px;display:grid}.fatal-error-shell{place-items:center;min-height:100dvh;padding:24px;display:grid}.fatal-error-shell .ui-card{width:min(100%,560px)}.empty-state__icon{background:var(--color-success);border-radius:24px;place-items:center;width:74px;height:74px;display:grid}@supports (color:color-mix(in lab, red, red)){.empty-state__icon{background:color-mix(in srgb, var(--color-success) 14%, var(--color-surface))}}.empty-state__icon{color:var(--color-success-text)}.empty-state__icon svg{width:34px;height:34px}.empty-state h2{margin:4px 0 14px;font-size:24px}.learn-session-preview{text-align:center;justify-items:center;gap:24px;width:min(100%,680px);margin:0 auto;padding:clamp(28px,5vw,44px);display:grid}.learn-session-preview__header{gap:9px;max-width:560px;display:grid}.learn-session-preview__header p{color:var(--color-accent);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:12px;font-weight:740}.learn-session-preview__header h2{letter-spacing:-.04em;text-wrap:balance;margin:0;font-size:clamp(27px,4vw,36px);line-height:1.1}.learn-session-preview__header span{color:var(--color-foreground-muted);text-wrap:pretty;font-size:16px;line-height:1.55}.learn-session-plan{border:1px solid var(--color-border-subtle);background:var(--color-border-subtle);border-radius:18px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;width:100%;margin:0;display:grid;overflow:hidden}.learn-session-plan>div{background:var(--color-surface-subtle);gap:6px;min-width:0;padding:18px 14px;display:grid}.learn-session-plan dt{color:var(--color-foreground-muted);font-size:12px;line-height:1.25}.learn-session-plan dd{font-variant-numeric:tabular-nums;letter-spacing:-.04em;order:-1;margin:0;font-size:24px;font-weight:740}.learn-session-preview__start{min-width:min(100%,240px)}.learn-session-preview__note{max-width:520px;color:var(--color-foreground-muted);text-wrap:pretty;margin:-8px 0 0;font-size:13px;line-height:1.45}.review-stage{gap:12px;width:min(100%,760px);margin:0 auto;display:grid}.review-session-summary{gap:5px;display:grid}.review-session-summary__row{color:var(--color-foreground-muted);grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;font-size:13px;display:grid}.review-session-summary__row strong{color:var(--color-foreground);font-variant-numeric:tabular-nums;font-size:14px}.review-session-summary__time{text-align:right;font-variant-numeric:tabular-nums}.review-session-summary p{color:var(--color-foreground-muted);text-align:center;margin:0;font-size:12px}.review-progress{border-radius:var(--radius-pill);background:var(--color-canvas-subtle);height:6px;overflow:hidden}.review-progress i{transform-origin:0;border-radius:inherit;background:var(--color-accent);width:100%;height:100%;transition:transform var(--motion-state) ease;display:block}.review-card{text-align:center;align-content:start;justify-items:center;gap:14px;min-height:520px;padding:clamp(24px,6vw,52px);display:grid;position:relative;overflow:hidden}.review-card:before{content:"";height:5px;transition:background var(--motion-state) ease;background:0 0;position:absolute;inset:0 0 auto}.review-card--caught:before{background:var(--color-success)}.review-card--missed:before{background:var(--color-accent-warm)}.review-card__meta{width:100%;color:var(--color-foreground-muted);letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;font-size:12px;font-weight:680;display:flex}.review-prompt{color:var(--color-foreground-muted);margin:38px 0 0;font-size:14px}.review-card h2{letter-spacing:-.055em;margin:0;font-size:clamp(38px,8vw,64px);line-height:1.04}.phonetic{color:var(--color-foreground-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px}.memory-ember{background:var(--color-accent-warm);border-radius:50%;place-items:center;width:48px;height:48px;display:grid;position:absolute;top:56px}@supports (color:color-mix(in lab, red, red)){.memory-ember{background:color-mix(in srgb, var(--color-accent-warm) 16%, var(--color-surface))}}.memory-ember{color:var(--color-accent-warm);filter:drop-shadow(0 7px 16px var(--color-accent-warm))}@supports (color:color-mix(in lab, red, red)){.memory-ember{filter:drop-shadow(0 7px 16px color-mix(in srgb, var(--color-accent-warm) 34%, transparent))}}.memory-ember{animation:2.4s ease-in-out infinite ember-pulse}.review-card--caught .memory-ember{color:var(--color-success-text);animation:ember-caught var(--motion-celebration) ease both}.review-card--missed .memory-ember{opacity:.45;animation:none}.mc4-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;width:100%;margin-top:26px;display:grid}.mc4-options button{border:1px solid var(--color-border);background:var(--color-surface);min-height:66px;color:var(--color-foreground);font:inherit;text-align:left;transition:border-color var(--motion-state) ease, background var(--motion-state) ease, transform var(--motion-state) ease;border-radius:17px;justify-content:space-between;align-items:center;gap:12px;padding:14px 17px;font-weight:650;display:flex}.mc4-options button:not(:disabled):hover{border-color:var(--color-accent);transform:translateY(-1px)}.mc4-options button:focus-visible,.production-form input:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.mc4-options button.is-correct{border-color:var(--color-success);background:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.mc4-options button.is-correct{background:color-mix(in srgb, var(--color-success) 10%, var(--color-surface))}}.mc4-options button.is-correct{color:var(--color-success-text)}.mc4-options button.is-wrong{border-color:var(--color-error);background:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.mc4-options button.is-wrong{background:color-mix(in srgb, var(--color-error) 9%, var(--color-surface))}}.mc4-options button.is-wrong{color:var(--color-error-text)}.production-form{grid-template-columns:1fr auto;gap:10px;width:min(100%,520px);margin-top:28px;display:grid}.production-form input{border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-height:54px;color:var(--color-foreground);font:inherit;border-radius:15px;padding:0 16px}.review-feedback{border-radius:17px;justify-items:center;gap:7px;width:100%;margin-top:12px;padding:16px;display:grid}.review-feedback.is-correct{background:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.review-feedback.is-correct{background:color-mix(in srgb, var(--color-success) 10%, var(--color-surface))}}.review-feedback.is-correct{color:var(--color-success-text)}.review-feedback.is-wrong{background:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.review-feedback.is-wrong{background:color-mix(in srgb, var(--color-error) 8%, var(--color-surface))}}.review-feedback.is-wrong{color:var(--color-error-text)}.review-feedback .ui-button{margin-top:8px}.sync-note{color:var(--color-foreground-muted);justify-content:center;align-items:center;gap:7px;margin:0;font-size:12px;display:inline-flex}.sync-note svg{width:15px}@keyframes ember-pulse{50%{transform:scale(1.08)}}@keyframes ember-caught{45%{transform:scale(1.34)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.memory-ember,.review-card--caught .memory-ember{animation:none}.mc4-options button,.review-progress i{transition:none}}.search-field{border:1px solid var(--color-border-subtle);background:var(--color-surface);width:min(100%,480px);min-height:48px;color:var(--color-foreground-muted);border-radius:14px;align-items:center;gap:10px;margin-bottom:22px;padding:0 14px;display:flex}.search-field:focus-within{border-color:var(--color-focus);outline:3px solid var(--color-focus);outline-offset:2px}.library-discovery-filters{flex-wrap:wrap;flex:1;justify-content:flex-end;gap:10px;display:flex}.library-discovery-filters .search-field{width:min(320px,100%);margin:0}.search-field input{width:100%;color:var(--color-foreground);background:0 0;border:0;outline:0}.vocabulary-toolbar{justify-content:space-between;align-items:end;gap:14px;display:flex}.vocabulary-toolbar .search-field{flex:1;margin:0}.vocabulary-select-toggle{flex:none;min-height:48px}.level-select{color:var(--color-foreground-muted);flex:0 0 min(300px,42%);gap:6px;font-size:12px;font-weight:680;display:grid}.level-select select{border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-height:48px;color:var(--color-foreground);border-radius:14px;padding:0 42px 0 14px}.vocabulary-from-books{border:1px solid var(--color-border);background:var(--color-surface);border-radius:14px;margin:0 0 20px;padding:14px 16px}.vocabulary-from-books h2{margin:0 0 8px;font-size:15px}.vocabulary-from-books ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.vocabulary-from-books li{flex-direction:column;gap:2px;display:flex}.vocabulary-from-books strong{font-size:15px}.vocabulary-from-books span{color:var(--color-foreground-muted);font-size:13px;line-height:1.45}.word-canvas-heading{justify-content:space-between;align-items:baseline;gap:16px;margin:26px 0 14px;display:flex}.word-canvas-heading h2{margin:0;font-size:24px}.word-canvas-heading span{min-width:10ch;color:var(--color-foreground-muted);font-variant-numeric:tabular-nums;text-align:right;font-size:13px}.vocabulary-selection-toolbar{background:var(--color-surface-subtle);min-height:44px;color:var(--color-foreground-muted);border-radius:13px;justify-content:space-between;align-items:center;gap:12px;margin:-2px 0 14px;padding:6px 8px 6px 14px;font-size:12px;display:flex}.vocabulary-selection-toolbar button{background:var(--color-surface);min-height:34px;color:var(--color-accent);font:inherit;border:0;border-radius:10px;padding:6px 11px;font-weight:740}.vocabulary-selection-toolbar button:disabled{cursor:wait;opacity:.55}.vocabulary-auth-note{margin:0 0 14px}.inline-status.vocabulary-action-notice{z-index:70;border-radius:13px;width:max-content;max-width:min(360px,100vw - 32px);margin:0;padding:11px 14px;font-size:13px;position:fixed;bottom:24px;right:24px;box-shadow:0 14px 38px #00000029}.word-canvas-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.word-canvas-card{--word-state-accent:var(--color-accent);--word-state-border:var(--color-border-subtle);--word-state-surface:var(--color-surface);border:1px solid var(--word-state-border);background:var(--word-state-surface);content-visibility:auto;contain-intrinsic-size:auto 390px;min-width:0;transition:border-color var(--motion-state) ease, box-shadow var(--motion-state) ease, transform var(--motion-state) ease;border-radius:20px;flex-direction:column;padding:0;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 7px #0000000e}.word-canvas-card.status-learning{--word-state-accent:var(--color-accent-warm);--word-state-border:var(--color-accent-warm)}@supports (color:color-mix(in lab, red, red)){.word-canvas-card.status-learning{--word-state-border:color-mix(in srgb, var(--color-accent-warm) 26%, var(--color-border-subtle))}}.word-canvas-card.status-learning{--word-state-surface:var(--color-accent-warm)}@supports (color:color-mix(in lab, red, red)){.word-canvas-card.status-learning{--word-state-surface:color-mix(in srgb, var(--color-accent-warm) 9%, var(--color-surface))}}.word-canvas-card.status-considered-known,.word-canvas-card.status-mastered{--word-state-accent:var(--color-success);--word-state-border:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.word-canvas-card.status-considered-known,.word-canvas-card.status-mastered{--word-state-border:color-mix(in srgb, var(--color-success) 28%, var(--color-border-subtle))}}.word-canvas-card.status-considered-known,.word-canvas-card.status-mastered{--word-state-surface:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.word-canvas-card.status-considered-known,.word-canvas-card.status-mastered{--word-state-surface:color-mix(in srgb, var(--color-success) 9%, var(--color-surface))}}.word-canvas-card:hover{border-color:var(--word-state-accent)}@supports (color:color-mix(in lab, red, red)){.word-canvas-card:hover{border-color:color-mix(in srgb, var(--word-state-accent) 58%, var(--color-border))}}.word-canvas-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px #0000001a}.word-canvas-card:has(.word-card-button:focus-visible){border-color:var(--color-focus);box-shadow:0 0 0 3px var(--color-focus), 0 10px 26px #00000017}@supports (color:color-mix(in lab, red, red)){.word-canvas-card:has(.word-card-button:focus-visible){box-shadow:0 0 0 3px color-mix(in srgb, var(--color-focus) 38%, transparent), 0 10px 26px #00000017}}.word-canvas-card.is-selected{border-color:var(--color-accent);background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.word-canvas-card.is-selected{background:color-mix(in srgb, var(--color-accent) 8%, var(--color-surface))}}.word-canvas-card.is-selected{box-shadow:0 0 0 3px var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.word-canvas-card.is-selected{box-shadow:0 0 0 3px color-mix(in srgb, var(--color-accent) 30%, transparent)}}.word-canvas-card.is-selected{transform:none}.word-card-button{width:100%;min-width:0;color:inherit;font:inherit;text-align:left;background:0 0;border:0;flex:1;align-content:start;padding:0;display:grid;position:relative;overflow:hidden}.word-card-button:focus-visible{outline:0}.word-selection-check{z-index:2;background:var(--color-surface);border:2px solid #ffffffeb;border-radius:50%;width:30px;height:30px;display:grid;position:absolute;top:10px;right:10px}@supports (color:color-mix(in lab, red, red)){.word-selection-check{background:color-mix(in srgb, var(--color-surface) 92%, transparent)}}.word-selection-check{color:var(--color-on-accent);place-items:center;box-shadow:0 2px 10px #0000002e}.word-canvas-card.is-selected .word-selection-check{background:var(--color-accent)}.word-selection-check svg{stroke-width:3px;width:18px;height:18px}.word-card-visual{aspect-ratio:1;background:var(--color-surface-subtle);display:block;overflow:hidden}.word-card-image,.word-card-image-placeholder{object-fit:cover;width:100%;height:100%;display:block}.word-card-image-placeholder{background:linear-gradient(110deg, var(--color-surface-subtle) 25%, var(--color-surface) 46%, var(--color-surface-subtle) 67%);background-size:260% 100%;animation:1.5s ease-in-out infinite loading-sheen}.word-card-image-placeholder.is-fallback{background:linear-gradient(145deg, var(--color-accent), var(--color-surface-subtle));display:grid}@supports (color:color-mix(in lab, red, red)){.word-card-image-placeholder.is-fallback{background:linear-gradient(145deg, color-mix(in srgb, var(--color-accent) 13%, var(--color-surface)), var(--color-surface-subtle))}}.word-card-image-placeholder.is-fallback{color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.word-card-image-placeholder.is-fallback{color:color-mix(in srgb, var(--color-accent) 48%, var(--color-foreground-muted))}}.word-card-image-placeholder.is-fallback{place-items:center;font-size:54px;font-weight:760;animation:none}.word-card-copy{gap:7px;min-width:0;padding:15px 16px 10px;display:grid}.word-card-meta,.word-card-footer{color:var(--color-foreground-muted);align-items:center;gap:8px;font-size:10px;display:flex}.word-card-meta{text-transform:uppercase;justify-content:space-between}.word-card-title{letter-spacing:-.03em;text-overflow:ellipsis;white-space:nowrap;margin-top:7px;font-size:22px;font-weight:700;overflow:hidden}.word-card-phonetic{color:var(--color-foreground-muted);text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;overflow:hidden}.word-card-translation{color:var(--color-foreground-muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.word-card-footer{border-top:1px solid var(--word-state-accent);flex-wrap:wrap;min-height:52px;margin-top:auto}@supports (color:color-mix(in lab, red, red)){.word-card-footer{border-top:1px solid color-mix(in srgb, var(--word-state-accent) 18%, var(--color-border-subtle))}}.word-card-footer{padding:8px 10px 8px 16px}.word-status{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;min-height:25px;padding:4px 8px;font-size:10px;font-weight:760;display:inline-flex}.word-status:before,.word-detail-status:before{content:"";background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.word-status--learning{background:var(--color-accent-warm)}@supports (color:color-mix(in lab, red, red)){.word-status--learning{background:color-mix(in srgb, var(--color-accent-warm) 14%, transparent)}}.word-status--learning{color:var(--color-accent-warm)}@supports (color:color-mix(in lab, red, red)){.word-status--learning{color:color-mix(in srgb, var(--color-accent-warm) 72%, var(--color-foreground))}}.word-status--mastered,.word-status--considered-known{background:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.word-status--mastered,.word-status--considered-known{background:color-mix(in srgb, var(--color-success) 15%, transparent)}}.word-status--mastered,.word-status--considered-known{color:var(--color-success-text)}.word-card-listen{min-height:36px;color:var(--color-accent);background:0 0;border:0;border-radius:11px;align-items:center;gap:6px;margin-left:auto;padding:0 7px;font-size:11px;font-weight:720;display:inline-flex}.word-card-listen:hover{background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.word-card-listen:hover{background:color-mix(in srgb, var(--color-accent) 9%, transparent)}}.word-card-listen:active{transform:scale(.97)}.word-card-listen svg{width:15px;height:15px}.load-more{justify-content:center;padding:24px 0 8px;display:flex}.vocabulary-selection-actions{z-index:20;border:1px solid var(--color-border-subtle);background:var(--color-surface);border-radius:18px;justify-content:center;gap:10px;width:fit-content;max-width:100%;margin:24px auto 0;display:flex;position:sticky;bottom:24px}@supports (color:color-mix(in lab, red, red)){.vocabulary-selection-actions{background:color-mix(in srgb, var(--color-surface) 92%, transparent)}}.vocabulary-selection-actions{-webkit-backdrop-filter:blur(20px)saturate(140%);backdrop-filter:blur(20px)saturate(140%);padding:8px;box-shadow:0 12px 34px #00000029}.vocabulary-selection-actions .ui-button{min-width:min(220px,42vw)}.word-detail-backdrop{z-index:80;padding:max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));overscroll-behavior:contain;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#080d189e;place-items:safe center center;display:grid;position:fixed;inset:0;overflow:auto}.word-detail{border:1px solid var(--color-border-subtle);background:var(--color-surface);border-radius:28px;grid-template-rows:auto minmax(0,1fr);width:min(100%,880px);max-height:calc(100dvh - 64px);padding:0;display:grid;overflow:hidden;box-shadow:0 30px 90px #00000047}.word-detail-header{border-bottom:1px solid var(--color-border-subtle);justify-content:space-between;align-items:center;gap:16px;min-height:64px;padding:10px 12px 10px 24px;display:flex}.word-detail-close{background:var(--color-surface-subtle);width:44px;height:44px;color:var(--color-foreground);border:0;border-radius:14px;flex:none;place-items:center;display:grid}.word-detail-scroll{overscroll-behavior:contain;scrollbar-gutter:stable;grid-template-columns:minmax(280px,.92fr) minmax(320px,1.08fr);gap:28px;min-height:0;padding:24px;display:grid;overflow-y:auto}.word-detail-visual{align-self:start;min-width:0}.word-detail-visual:empty{display:none}.word-detail-scroll:has(.word-detail-visual:empty){grid-template-columns:minmax(0,560px);justify-content:center}.word-detail-image,.word-detail-image-placeholder{aspect-ratio:1;object-fit:cover;border-radius:18px;width:100%}.word-detail-image-placeholder{background:var(--color-surface-subtle);color:var(--color-foreground-muted);text-align:center;align-content:center;place-items:center;gap:10px;padding:24px;display:grid}.word-detail-copy{align-content:start;gap:14px;min-width:0;display:grid}.word-detail-meta,.word-detail-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.word-detail-meta{color:var(--color-foreground-muted);text-transform:uppercase;flex-wrap:wrap;font-size:12px;font-weight:750}.word-detail-status{letter-spacing:0;text-transform:none;border-radius:999px;align-items:center;gap:7px;min-height:28px;margin-left:4px;padding:5px 10px;font-size:11px;font-weight:760;display:inline-flex}.word-detail-status--learning{background:var(--color-accent-warm)}@supports (color:color-mix(in lab, red, red)){.word-detail-status--learning{background:color-mix(in srgb, var(--color-accent-warm) 13%, var(--color-surface))}}.word-detail-status--learning{color:var(--color-accent-warm)}@supports (color:color-mix(in lab, red, red)){.word-detail-status--learning{color:color-mix(in srgb, var(--color-accent-warm) 72%, var(--color-foreground))}}.word-detail-status--considered-known,.word-detail-status--mastered{background:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.word-detail-status--considered-known,.word-detail-status--mastered{background:color-mix(in srgb, var(--color-success) 14%, var(--color-surface))}}.word-detail-status--considered-known,.word-detail-status--mastered{color:var(--color-success-text)}.word-detail-title h2{overflow-wrap:anywhere;letter-spacing:-.04em;min-width:0;margin:0;font-size:clamp(34px,5vw,48px)}.word-detail-translation{color:var(--color-accent);font-size:20px}.word-detail-copy>p,.word-detail-copy>blockquote{margin:0;line-height:1.65}.word-detail-copy>blockquote{border-left:3px solid var(--color-accent);color:var(--color-foreground-muted);padding-left:14px}.word-detail-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:4px;display:grid}.word-detail-actions>:only-child{grid-column:1/-1}.word-detail-action{min-height:52px;font:inherit;text-align:center;transition:border-color var(--motion-state) ease, background var(--motion-state) ease, color var(--motion-state) ease, transform var(--motion-state) ease;border:1px solid #0000;border-radius:15px;justify-content:center;align-items:center;padding:11px 16px;font-size:14px;font-weight:760;display:inline-flex}.word-detail-action--known{background:var(--color-accent);color:var(--color-on-accent)}.word-detail-action--known:hover{background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.word-detail-action--known:hover{background:color-mix(in srgb, var(--color-accent) 88%, var(--color-foreground))}}.word-detail-action--learning{border-color:var(--color-accent-warm)}@supports (color:color-mix(in lab, red, red)){.word-detail-action--learning{border-color:color-mix(in srgb, var(--color-accent-warm) 34%, var(--color-border))}}.word-detail-action--learning{background:var(--color-accent-warm)}@supports (color:color-mix(in lab, red, red)){.word-detail-action--learning{background:color-mix(in srgb, var(--color-accent-warm) 11%, var(--color-surface))}}.word-detail-action--learning{color:var(--color-accent-warm)}@supports (color:color-mix(in lab, red, red)){.word-detail-action--learning{color:color-mix(in srgb, var(--color-accent-warm) 70%, var(--color-foreground))}}.word-detail-action--learning:hover{border-color:var(--color-accent-warm)}@supports (color:color-mix(in lab, red, red)){.word-detail-action--learning:hover{border-color:color-mix(in srgb, var(--color-accent-warm) 58%, var(--color-border))}}.word-detail-action--learning:hover{background:var(--color-accent-warm)}@supports (color:color-mix(in lab, red, red)){.word-detail-action--learning:hover{background:color-mix(in srgb, var(--color-accent-warm) 16%, var(--color-surface))}}.word-detail-action--remove{border-color:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.word-detail-action--remove{border-color:color-mix(in srgb, var(--color-error) 24%, var(--color-border))}}.word-detail-action--remove{color:var(--color-error-text);background:0 0}.word-detail-action--remove:hover{border-color:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.word-detail-action--remove:hover{border-color:color-mix(in srgb, var(--color-error) 44%, var(--color-border))}}.word-detail-action--remove:hover{background:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.word-detail-action--remove:hover{background:color-mix(in srgb, var(--color-error) 7%, var(--color-surface))}}.word-detail-action:active,.word-detail-remove-confirm button:active{transform:scale(.98)}.word-detail-action:disabled,.word-detail-remove-confirm button:disabled{cursor:wait;opacity:.55}.word-detail-remove-confirm{border:1px solid var(--color-error);grid-column:1/-1;justify-content:space-between;align-items:center;gap:14px;min-height:68px;display:flex}@supports (color:color-mix(in lab, red, red)){.word-detail-remove-confirm{border:1px solid color-mix(in srgb, var(--color-error) 26%, var(--color-border))}}.word-detail-remove-confirm{background:var(--color-error);border-radius:15px}@supports (color:color-mix(in lab, red, red)){.word-detail-remove-confirm{background:color-mix(in srgb, var(--color-error) 6%, var(--color-surface))}}.word-detail-remove-confirm{color:var(--color-foreground);padding:10px 12px 10px 16px;font-size:13px;font-weight:680}.word-detail-remove-confirm>div{flex:none;gap:7px;display:flex}.word-detail-remove-confirm button{min-height:44px;font:inherit;background:0 0;border:0;border-radius:11px;padding:8px 12px;font-size:12px;font-weight:760}.word-detail-confirm-remove{color:var(--color-error-text)}.word-detail-confirm-remove:hover{background:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.word-detail-confirm-remove:hover{background:color-mix(in srgb, var(--color-error) 10%, transparent)}}.word-detail-confirm-cancel{color:var(--color-foreground-muted)}.word-detail-confirm-cancel:hover{background:var(--color-surface-subtle);color:var(--color-foreground)}.word-detail-action-error{color:var(--color-error-text);font-size:13px}.book-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:0;padding:0;list-style:none;display:grid}.book-grid-item{min-width:0}.book-grid-item .book-card{height:100%}.library-toolbar,.library-account-note,.book-actions{align-items:center;gap:12px;display:flex}.library-toolbar{justify-content:space-between;margin-bottom:20px}.segmented-control{border-radius:var(--radius-pill);background:var(--color-surface-subtle);gap:4px;padding:4px;display:inline-flex}.segmented-control button{border-radius:var(--radius-pill);min-height:40px;color:var(--color-foreground-muted);background:0 0;border:0;align-items:center;gap:7px;padding:0 14px;font-weight:700;display:inline-flex}.segmented-control button[aria-selected=true]{background:var(--color-surface);color:var(--color-foreground);box-shadow:0 2px 10px #00000014}.library-filter{color:var(--color-foreground-muted);align-items:center;gap:8px;font-size:13px;font-weight:650;display:flex}.library-filter select{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);min-height:42px;color:var(--color-foreground);padding:0 12px}.library-account-note{margin-bottom:20px}.library-account-note>div{flex:1}.library-account-note p{color:var(--color-foreground-muted);margin:4px 0 0}.book-link{border-radius:var(--radius-xl);min-width:0;text-decoration:none}.book-link:hover{transform:translateY(-2px)}.book-card{content-visibility:auto;contain-intrinsic-size:auto 360px;min-width:0;transition:border-color var(--motion-state) ease;flex-direction:column;gap:14px;padding:14px;display:flex}.book-card:has(.book-link:hover){border-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.book-card:has(.book-link:hover){border-color:color-mix(in srgb, var(--color-accent) 50%, var(--color-border))}}.book-card:has(.book-link:hover){box-shadow:0 12px 28px #00000017}.book-card .book-link{transition:transform var(--motion-state) ease;flex:1;gap:14px;display:grid}.book-actions{flex-wrap:wrap;padding-top:4px}.book-actions .ui-button{flex:1;padding-inline:10px}.book-cover{aspect-ratio:3/4;color:#fff;background:linear-gradient(145deg,#0d3a78,#2768bd 62%,#87b8f5);border-radius:14px;place-items:center;display:grid;position:relative;overflow:hidden}.book-cover:before{content:"";background:radial-gradient(circle at 80% 20%,#ffffff40,#0000 36%);position:absolute;inset:0}.book-cover-typeset{text-align:center;flex-direction:column;justify-content:center;gap:10px;width:100%;height:100%;padding:14% 12%;display:flex;position:relative}.book-cover-typeset b{text-wrap:balance;font-family:Georgia,Times New Roman,serif;font-size:clamp(15px,2.4vw,22px);font-weight:600;line-height:1.25}.book-cover-typeset i{letter-spacing:.04em;opacity:.78;text-transform:uppercase;font-size:clamp(10px,1.3vw,12px);font-style:normal}.book-cover img{object-fit:cover}.book-cover svg{opacity:.82;width:36px;height:36px}.book-cover-level{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface-subtle);color:var(--color-foreground-muted);font-variant-numeric:tabular-nums;letter-spacing:.02em;flex:none;padding:2px 7px;font-size:10px;font-weight:700}.book-card h2{text-overflow:ellipsis;white-space:nowrap;margin:5px 0 0;font-size:15px;line-height:1.3;overflow:hidden}.book-card p,.book-genre{color:var(--color-foreground-muted);font-size:11px}.book-card p{margin:4px 0 0}.book-genre{text-transform:capitalize}.inline-status{border:1px solid var(--color-border-subtle);background:var(--color-surface);color:var(--color-foreground-muted);border-radius:16px;padding:20px}.inline-status--error{color:var(--color-error-text)}.reader-route{width:100%;min-width:0}.reader-shell{gap:18px;width:min(100%,900px);min-width:0;margin:0 auto;display:grid}.reader-shell--loading{min-height:70dvh}.reader-shell>*{min-width:0}.reader-header-tools .reader-settings-panel{display:inline-flex;position:relative}.reader-header-tools .reader-settings-panel>summary{min-width:44px;min-height:44px;color:var(--color-foreground-muted);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;list-style:none;display:inline-flex}.reader-header-tools .reader-settings-panel>summary::-webkit-details-marker{display:none}.reader-header-tools .reader-settings-panel>summary:hover,.reader-header-tools .reader-settings-panel[open]>summary{background:var(--color-surface-subtle);color:var(--color-foreground)}.reader-settings{min-width:236px}.reader-settings-controls{flex-direction:column;gap:10px;display:flex}.reader-settings-size{grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.reader-settings-size-step{background:var(--color-surface-subtle);min-height:40px;color:var(--color-foreground);font-family:var(--font-serif,Georgia, serif);cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;line-height:1;display:flex}.reader-settings-size-step[aria-pressed=true]{border-color:var(--color-accent);color:var(--color-accent)}.reader-settings-leading{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.reader-settings-leading-step{background:var(--color-surface-subtle);cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;min-height:38px;display:flex}.reader-settings-leading-step[aria-pressed=true]{border-color:var(--color-accent)}.reader-settings-leading-step span{flex-direction:column;width:26px;display:flex}.reader-settings-leading-step i{opacity:.75;background:currentColor;border-radius:1px;height:2px}.reader-settings-grounds{grid-template-columns:repeat(2,1fr);gap:4px;display:grid}.reader-ground{border:1px solid var(--color-border);font:inherit;cursor:pointer;border-radius:999px;padding:7px 10px;font-size:12px}.reader-ground[aria-pressed=true]{border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent)}.reader-ground--system{background:var(--color-surface);color:var(--color-foreground)}.reader-ground--paper{color:#1b1a17;background:#fbfaf7}.reader-ground--sepia{color:#3b2f1e;background:#f4ead8}.reader-ground--night{color:#d9dde3;background:#14161a}.reader-settings-row{color:var(--color-foreground-muted);justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.reader-settings-align{gap:4px;display:flex}.reader-settings-align button{background:var(--color-surface-subtle);width:34px;height:32px;color:var(--color-foreground-muted);cursor:pointer;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;display:inline-flex}.reader-settings-align button[aria-pressed=true]{border-color:var(--color-accent);color:var(--color-accent)}.reader-settings-faces{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.reader-face{background:var(--color-surface-subtle);min-height:56px;color:var(--color-foreground);cursor:pointer;border:1px solid #0000;border-radius:10px;align-content:center;justify-items:center;gap:1px;padding:7px 6px;font-family:Inter,system-ui,sans-serif;font-size:11px;font-weight:650;display:grid}.reader-face-sample{font-family:inherit;font-size:19px;font-weight:400;line-height:1.1}.reader-face--serif .reader-face-sample{font-family:Georgia,Times New Roman,serif}.reader-face--sans .reader-face-sample{font-family:Inter,system-ui,sans-serif}.reader-face--mono .reader-face-sample{font-family:ui-monospace,SF Mono,Menlo,monospace}.reader-face[aria-pressed=true]{border-color:var(--color-accent)}.reader-face--serif{font-family:Georgia,Times New Roman,serif}.reader-face--sans{font-family:Inter,system-ui,sans-serif}.reader-face--mono{font-family:ui-monospace,SF Mono,Menlo,monospace}.reader-settings-aloud{border:1px solid var(--color-border);color:var(--color-foreground);font:inherit;cursor:pointer;background:0 0;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:9px 12px;font-size:13px;display:flex}.reader-header-tools .reader-settings{z-index:12;border:1px solid var(--color-border);background:var(--color-surface);border-radius:14px;flex-direction:column;gap:10px;width:max-content;min-width:200px;max-width:calc(100vw - 28px);padding:12px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 18px 40px #0000002e}.reader-header span,.reader-header p{color:var(--color-foreground-muted);font-size:13px}.reader-header h1{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:15px;font-weight:650;line-height:1.25;overflow:hidden}.reader-header p{white-space:nowrap;text-overflow:ellipsis;margin:2px 0 0;overflow:hidden}@media (max-width:700px){.reader-header h1{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.reader-header{grid-template-areas:"back.tools""title title title";gap:4px 6px}.reader-header-back{grid-area:back}.reader-header-tools{grid-area:tools;gap:2px}.reader-header-tools>*{min-width:44px}.reader-header-tools .ui-button{padding-inline:0}.reader-header-title{grid-area:title}}.reader-copy{--mark-amber:#e5a83c;--mark-rose:#e0698a;--mark-green:#4fa86a;--mark-blue:#4c8fd6}.reader-copy .reader-word--marked{background:var(--reader-mark,var(--color-accent))}@supports (color:color-mix(in lab, red, red)){.reader-copy .reader-word--marked{background:color-mix(in srgb, var(--reader-mark,var(--color-accent)) 26%, transparent)}}.reader-copy .reader-word--landed{animation:2.4s ease-out forwards reader-landed}@keyframes reader-landed{0%,55%{background:color-mix(in srgb, var(--color-accent) 34%, transparent);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-accent) 34%, transparent)}to{box-shadow:none;background:0 0}}@media (prefers-reduced-motion:reduce){.reader-copy .reader-word--landed{background:var(--color-accent);animation:none}@supports (color:color-mix(in lab, red, red)){.reader-copy .reader-word--landed{background:color-mix(in srgb, var(--color-accent) 28%, transparent)}}}.reader-copy .reader-word--amber{--reader-mark:var(--mark-amber)}.reader-copy .reader-word--rose{--reader-mark:var(--mark-rose)}.reader-copy .reader-word--green{--reader-mark:var(--mark-green)}.reader-copy .reader-word--blue{--reader-mark:var(--mark-blue)}@media (max-width:560px){.reader-selection-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.reader-selection-actions{max-width:calc(100% - 16px)}.reader-selection-bookmark{min-width:44px;min-height:44px;color:var(--color-foreground-muted);cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.reader-selection-bookmark:hover{color:var(--color-bookmark,#c8442e)}.reader-selection-bookmark:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.reader-selection-label{color:var(--color-foreground);white-space:nowrap;align-self:center;font-size:13px;font-weight:650}.reader-swatch{cursor:pointer;border:2px solid #0000;border-radius:999px;width:26px;height:26px;padding:0}.reader-swatch--amber{background:#e5a83c}.reader-swatch--rose{background:#e0698a}.reader-swatch--green{background:#4fa86a}.reader-swatch--blue{background:#4c8fd6}.reader-swatch--all{border-color:var(--color-border);width:auto;height:26px;color:var(--color-foreground-muted);background:0 0;padding:0 10px;font-size:12px;font-weight:650}.reader-swatch:hover{transform:scale(1.08)}.reader-swatch.is-current{border-color:var(--color-foreground)}.reader-swatch:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.reader-marks-filter{align-items:center;gap:8px;margin-bottom:10px;display:flex}.reader-marks-entry{border-left:3px solid var(--reader-mark,var(--color-border));padding-left:9px}.reader-marks-entry--amber{--reader-mark:#e5a83c}.reader-marks-entry--rose{--reader-mark:#e0698a}.reader-marks-entry--green{--reader-mark:#4fa86a}.reader-marks-entry--blue{--reader-mark:#4c8fd6}body.is-reading-immersive .reader-ribbon{right:68px}.reader-immersive-exit{z-index:40;top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));border:1px solid var(--color-border);background:var(--color-surface);border-radius:999px;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex;position:fixed}@supports (color:color-mix(in lab, red, red)){.reader-immersive-exit{background:color-mix(in srgb, var(--color-surface) 88%, transparent)}}.reader-immersive-exit{color:var(--color-foreground-muted);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer}.reader-immersive-exit:hover{color:var(--color-foreground)}.reader-immersive-exit:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.reader-selection-actions{z-index:40;left:50%;bottom:calc(104px + env(safe-area-inset-bottom));border:1px solid var(--color-border);background:var(--color-surface);border-radius:999px;justify-content:center;align-items:center;gap:8px;width:fit-content;margin:0;padding:6px 12px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 8px 24px #00000029}.reader-paper{min-height:65vh;padding:clamp(28px,7vw,76px)}.reader-copy{max-width:68ch;color:var(--color-foreground);font-family:Georgia,Times New Roman,serif;font-size:calc(clamp(21px, 2.1vw, 23px) * var(--reader-scale,1));line-height:var(--reader-leading,1.85);text-wrap:pretty;hanging-punctuation:first last;margin-inline:auto}.reader-copy p{text-indent:1.4em;orphans:2;widows:2;margin:0}.reader-copy p:first-of-type,.reader-copy .reader-scene-break+p{text-indent:0}.reader-settings-panel{justify-self:center}.reader-settings-panel>summary{cursor:pointer;border:1px solid var(--color-border-subtle);background:var(--color-surface);min-height:44px;color:var(--color-foreground-muted);border-radius:13px;justify-content:center;align-items:center;padding:0 15px;font-size:13px;font-weight:680;list-style:none;display:flex}.reader-settings-panel>summary::-webkit-details-marker{display:none}.reader-settings-panel[open]>summary{border-color:var(--color-accent);color:var(--color-accent)}.reader-settings{flex-wrap:wrap;justify-content:center;gap:9px!important;display:flex!important}.reader-settings-panel .reader-settings{border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-surface);margin-top:10px;padding:14px}.reader-settings label{color:var(--color-foreground-muted);text-align:left;gap:5px;font-size:11px;font-weight:650;display:grid}.reader-settings select{border:1px solid var(--color-border);background:var(--color-surface);min-height:42px;color:var(--color-foreground);border-radius:12px;padding:0 30px 0 11px}.reader-paper{position:relative}.reader-ribbon{z-index:3;cursor:pointer;background:0 0;border:0;justify-content:center;width:44px;height:46px;padding:0;display:flex;position:absolute;top:-6px;right:clamp(9px,4vw - 9px,39px)}.reader-ribbon>span{background:var(--color-bookmark,#c8442e);clip-path:polygon(0 0,100% 0,100% 100%,50% 74%,0 100%);border-radius:3px 3px 0 0;width:26px;height:100%;display:block;box-shadow:0 2px 6px #00000038}.reader-ribbon:hover>span{background:var(--color-bookmark,#c8442e)}@supports (color:color-mix(in lab, red, red)){.reader-ribbon:hover>span{background:color-mix(in srgb, var(--color-bookmark,#c8442e) 84%, #000)}}.reader-ribbon{pointer-events:auto}.reader-ribbon:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:4px}.reader-header-tools .is-marked{color:var(--color-bookmark,#c8442e)}.reader-paper.is-paged{min-height:0;padding:clamp(20px,3vw,40px);overflow:hidden}.reader-frame--paged{height:max(80px, calc(var(--reader-viewport-height,100dvh) - var(--reader-header-height,56px) - var(--reader-bar-height,68px) - 96px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));max-width:1416px;margin-inline:auto;padding-inline:52px;position:relative}@media (max-width:700px){.reader-frame--paged{padding-inline:0}}.reader-copy[data-mode=paged]{max-width:none;transform:translate(var(--reader-page-slide,0%), calc(var(--reader-page-offset,0px) * -1));transition:transform .26s cubic-bezier(.32,.72,0,1)}@media (prefers-reduced-motion:reduce){.reader-copy[data-mode=paged]{transition:none}}.reader-frame--paged{overflow:hidden}.reader-frame--paged:not(.reader-frame--spread):after{z-index:2;height:var(--reader-page-bottom-mask,0);background:var(--color-surface);content:"";pointer-events:none;position:absolute;bottom:0;left:0;right:0}.reader-frame--paged .reader-copy{height:auto}@media (min-width:1350px){.app-content:has(.reader-frame--spread){width:min(100%,1400px);max-width:min(100%,1400px)}.reader-shell:has(.reader-frame--spread){width:min(100%,1280px)}.reader-frame--spread{padding-inline:40px}.reader-spread-pages{height:100%;transform:translateX(var(--reader-page-slide,0%));grid-template-columns:repeat(2,minmax(0,1fr));gap:56px;transition:transform .26s cubic-bezier(.32,.72,0,1);display:grid;position:relative}.reader-spread-pages:after{background:linear-gradient(transparent, var(--color-foreground) 12%, var(--color-foreground) 88%, transparent);width:1px;position:absolute;top:0;bottom:0;left:50%}@supports (color:color-mix(in lab, red, red)){.reader-spread-pages:after{background:linear-gradient(transparent, color-mix(in srgb, var(--color-foreground) 10%, transparent) 12%, color-mix(in srgb, var(--color-foreground) 10%, transparent) 88%, transparent)}}.reader-spread-pages:after{content:"";pointer-events:none}.reader-spread-page{width:100%;max-width:none;font-size:calc(clamp(18px, 1.35vw, 20px) * var(--reader-scale,1));margin:0;overflow:hidden;height:100%!important}.reader-copy--measure{visibility:hidden;pointer-events:none;width:calc(50% - 28px);max-width:none;font-size:calc(clamp(18px, 1.35vw, 20px) * var(--reader-scale,1));margin:0;position:absolute;top:0;left:0;transition:none!important;transform:translate(-200vw)!important}}@media (prefers-reduced-motion:reduce){.reader-spread-pages{transition:none}}.reader-copy[data-mode=paged] p{margin:0}.reader-copy[data-mode=paged] p+p{text-indent:1.4em}.reader-copy[data-mode=paged] .reader-scene-break{padding:0}.reader-page-step{z-index:4;border:1px solid var(--color-border-subtle);background:var(--color-surface);border-radius:12px;justify-content:center;align-items:center;width:44px;height:64px;display:flex;position:absolute;top:50%;transform:translateY(-50%)}@supports (color:color-mix(in lab, red, red)){.reader-page-step{background:color-mix(in srgb, var(--color-surface) 80%, transparent)}}.reader-page-step{color:var(--color-foreground-muted);cursor:pointer;opacity:.55;transition:opacity .12s,color .12s}.reader-page-step:hover{opacity:1;color:var(--color-foreground)}.reader-page-step:focus-visible{opacity:1;outline:2px solid var(--color-focus);outline-offset:2px}.reader-page-step[disabled]{opacity:.18;cursor:default}.reader-page-step--previous{left:4px}.reader-page-step--next{right:4px}@media (max-width:700px){.reader-page-step{display:none}}@media (max-height:500px) and (max-width:1000px){.reader-page-step{display:none}}.reader-copy[data-bionic=on] .reader-fixation{font-weight:700}.reader-settings-bionic{border:1px solid var(--color-border-subtle);background:var(--color-surface-subtle);width:100%;min-height:44px;color:var(--color-foreground);cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:0 12px;font-size:13px;display:flex}.reader-settings-bionic[aria-pressed=true]{border-color:var(--color-accent)}.reader-settings-bionic>span{font-size:15px}.reader-copy[data-typeface=sans]{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}.reader-copy[data-typeface=mono]{font-family:ui-monospace,SF Mono,Menlo,monospace}.reader-copy[data-justify=on]{text-align:justify;-webkit-hyphens:auto;hyphens:auto}.reader-settings-backdrop{z-index:45;overscroll-behavior:contain;touch-action:none;background:#00000042;justify-content:center;align-items:flex-end;height:100dvh;display:flex;position:fixed;top:0;left:0;right:0}.reader-settings-backdrop .reader-settings{border:1px solid var(--color-border-subtle);background:var(--color-surface);width:100%;max-width:420px;max-height:78vh;padding:16px 16px calc(20px + env(safe-area-inset-bottom));overscroll-behavior:contain;touch-action:pan-y;border-width:1px 0 0;border-radius:18px 18px 0 0;margin:0;overflow-y:auto;box-shadow:0 -12px 32px #0000002e}.reader-settings-heading{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.reader-settings-heading strong{font-size:15px}.reader-settings-heading button{color:var(--color-foreground-muted);cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.reader-settings-heading button:hover{color:var(--color-foreground)}.reader-settings-heading button:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}@media (min-width:701px){.reader-settings-backdrop{background:#0000001a;justify-content:flex-end;align-items:flex-start;padding:74px 24px 0}.reader-settings-backdrop .reader-settings{border-radius:var(--radius-lg);border-width:1px;max-width:340px;box-shadow:0 18px 44px #0003}}.reader-settings-toggle{justify-content:space-between;align-items:center;gap:12px;display:flex}.reader-copy [data-word-index]{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-radius:3px}.reader-copy [data-word-index]:hover{background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.reader-copy [data-word-index]:hover{background:color-mix(in srgb, var(--color-accent) 12%, transparent)}}.reader-copy [data-word-index]:hover{color:var(--color-accent)}.reader-copy [data-word-index]:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.reader-copy .reader-word--learning{background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.reader-copy .reader-word--learning{background:color-mix(in srgb, var(--color-accent) 14%, transparent)}}.reader-copy .reader-word--learning{box-shadow:inset 0 -.14em 0 var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.reader-copy .reader-word--learning{box-shadow:inset 0 -.14em 0 color-mix(in srgb, var(--color-accent) 55%, transparent)}}.reader-copy [data-word-index]{border-radius:3px;margin-block:-.18em;padding-block:.18em}.reader-copy .reader-word--known{color:currentColor}@supports (color:color-mix(in lab, red, red)){.reader-copy .reader-word--known{color:color-mix(in srgb, currentColor 78%, transparent)}}@media (prefers-contrast:more){.reader-copy .reader-word--known{color:var(--color-foreground)}.reader-copy .reader-word--learning{box-shadow:inset 0 -.16em 0 var(--color-accent)}}@media (forced-colors:active){.reader-copy .reader-word--known{color:canvastext}.reader-copy .reader-word--learning,.reader-copy .reader-word--marked{box-shadow:none;text-underline-offset:.18em;background:canvas;text-decoration-line:underline;text-decoration-color:highlight;text-decoration-thickness:2px}.reader-ribbon{background:canvas;border:2px solid highlight}.reader-ground[aria-pressed=true],.reader-face[aria-pressed=true],.reader-settings-size-step[aria-pressed=true],.reader-settings-leading-step[aria-pressed=true],.reader-settings-align button[aria-pressed=true],.reader-settings-bionic[aria-pressed=true],.reader-swatch[aria-pressed=true]{outline-offset:2px;outline:2px solid highlight}.reader-statusbar-track span{forced-color-adjust:none;background:highlight}.reader-scrubber-track::-webkit-slider-thumb{forced-color-adjust:none;background:highlight}.reader-scrubber-track::-moz-range-thumb{forced-color-adjust:none;background:highlight}}body:has(.reader-paper--paper){--color-surface:#fbfaf7;--color-surface-subtle:#f2efe8;--color-background:#f2efe8;--color-foreground:#1b1a17;--color-foreground-muted:#6b675e;--color-border:#e4e0d6;--color-border-subtle:#ede9df;--color-accent:#8a5a2b;--color-focus:#8a5a2b}body:has(.reader-paper--sepia){--color-surface:#f4ead8;--color-surface-subtle:#eaddc4;--color-background:#eaddc4;--color-foreground:#3b2f1e;--color-foreground-muted:#6f5d44;--color-border:#e2d4ba;--color-border-subtle:#e8dcc6;--color-accent:#8a5a2b;--color-focus:#8a5a2b}body:has(.reader-paper--night){--color-surface:#14161a;--color-surface-subtle:#101318;--color-background:#0c0e11;--color-foreground:#d9dde3;--color-foreground-muted:#8b93a0;--color-border:#262b33;--color-border-subtle:#1d222a;--color-accent:#e0a96d;--color-focus:#e0a96d}:is(body:has(.reader-paper--paper),body:has(.reader-paper--sepia),body:has(.reader-paper--night)){color:var(--color-foreground)}.reader-paper--paper,.reader-paper--sepia,.reader-paper--night{background:var(--color-surface);color:var(--color-foreground)}:is(html:has(.reader-paper--night),body:has(.reader-paper--night)){background:#0c0e11}:is(html:has(.reader-paper--sepia),body:has(.reader-paper--sepia)){background:#eaddc4}:is(html:has(.reader-paper--paper),body:has(.reader-paper--paper)){background:#f2efe8}:is(body:has(.reader-paper--night) .app-frame,body:has(.reader-paper--night) .app-stage,body:has(.reader-paper--night) .app-content,body:has(.reader-paper--night) .app-sidebar,body:has(.reader-paper--night) .mobile-app-bar,body:has(.reader-paper--night) .app-navigation--bottom){color:#d9dde3;background:#0c0e11;border-color:#262b33}:is(body:has(.reader-paper--night) .app-navigation a,body:has(.reader-paper--night) .app-navigation span){color:#aab3bf}body:has(.reader-paper--night) .app-navigation a[aria-current=page]{color:#e0a96d}:is(body:has(.reader-paper--sepia) .app-frame,body:has(.reader-paper--sepia) .app-stage,body:has(.reader-paper--sepia) .app-content,body:has(.reader-paper--sepia) .app-sidebar,body:has(.reader-paper--sepia) .mobile-app-bar,body:has(.reader-paper--sepia) .app-navigation--bottom){color:#3b2f1e;background:#eaddc4;border-color:#e2d4ba}:is(body:has(.reader-paper--sepia) .app-navigation a,body:has(.reader-paper--sepia) .app-navigation span){color:#55452e}body:has(.reader-paper--sepia) .app-navigation a[aria-current=page]{color:#8a5a2b}:is(body:has(.reader-paper--paper) .app-frame,body:has(.reader-paper--paper) .app-stage,body:has(.reader-paper--paper) .app-content,body:has(.reader-paper--paper) .app-sidebar,body:has(.reader-paper--paper) .mobile-app-bar,body:has(.reader-paper--paper) .app-navigation--bottom){color:#1b1a17;background:#f2efe8;border-color:#e4e0d6}:is(body:has(.reader-paper--paper) .app-navigation a,body:has(.reader-paper--paper) .app-navigation span){color:#4a463e}body:has(.reader-paper--paper) .app-navigation a[aria-current=page]{color:#8a5a2b}.app-content:has(.reader-route){padding-top:12px}.app-content:has(.reader-frame--paged){max-width:min(100%,1400px)}@media (max-width:1050px){.app-content:has(.reader-route){padding-top:4px}body:has(.reader-route) .mobile-app-bar{display:none}}body.is-reading-quiet .reader-header,body.is-reading-quiet .reader-statusbar{opacity:0;pointer-events:none;transition:transform .22s,opacity .18s}body.is-reading-quiet .reader-header{--reader-chrome-shift:-12px}body.is-reading-quiet .reader-statusbar{--reader-chrome-shift:16px}body.is-reading-quiet .app-navigation--bottom{transition:transform .22s;transform:translateY(110%)}.reader-header,.reader-statusbar{transform:translateY(var(--reader-chrome-shift,0px));transition:transform .22s,opacity .18s}@media (prefers-reduced-motion:reduce){.reader-header,.reader-statusbar,body.is-reading-quiet .app-navigation--bottom{transition:none}}body.is-reading-immersive .app-sidebar,body.is-reading-immersive .app-header,body.is-reading-immersive .reader-header,body.is-reading-immersive .mobile-app-bar,body.is-reading-immersive .app-navigation--bottom,body.is-reading-immersive .reader-statusbar{display:none}body.is-reading-immersive .reader-shell{padding-bottom:0}body.is-reading-immersive .app-stage{margin-left:0;padding-left:0}body.is-reading-immersive .app-content{max-width:min(100%,860px);padding-top:18px}body.is-reading-immersive .reader-paper{min-height:88vh}.reader-word-source{color:var(--color-foreground-muted);margin-top:4px;font-size:12px}.reader-finished{border:1px solid var(--color-border);background:var(--color-surface);text-align:center;border-radius:16px;flex-direction:column;align-items:center;gap:8px;margin-top:18px;padding:26px 20px;display:flex}.reader-finished h2{margin:0;font-size:18px}.reader-finished p{color:var(--color-foreground-muted);margin:0;font-size:14px}.reader-next-chapter{border:1px solid var(--color-border);background:var(--color-surface);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label chevron""title chevron";align-items:center;gap:2px 12px;padding:14px 16px;display:grid}.reader-next-chapter:hover:not(:disabled){border-color:var(--color-accent)}.reader-next-chapter:disabled{opacity:.55;cursor:default}.reader-next-chapter svg{color:var(--color-foreground-muted);grid-area:chevron}.reader-next-chapter-label{color:var(--color-foreground-muted);letter-spacing:.06em;text-transform:uppercase;grid-area:label;font-size:12px}.reader-next-chapter-title{overflow-wrap:anywhere;grid-area:title;font-size:16px;font-weight:600}.reader-header{z-index:12;background:var(--color-background,var(--color-surface));grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:6px 0 10px;display:grid;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.reader-header{background:color-mix(in srgb, var(--color-background,var(--color-surface)) 92%, transparent)}}.reader-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.reader-header-back{min-width:40px;min-height:40px;color:var(--color-foreground-muted);border-radius:12px;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.reader-header-back:hover{background:var(--color-surface-subtle);color:var(--color-foreground)}.reader-header-title{text-align:center;min-width:0}.reader-header-title h1{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:15px;font-weight:600;overflow:hidden}.reader-header-title p{color:var(--color-foreground-muted);white-space:nowrap;text-overflow:ellipsis;margin:1px 0 0;font-size:12px;overflow:hidden}.reader-header-tools{flex-wrap:nowrap;align-items:center;gap:2px;display:flex}.reader-scrubber{padding:4px 12px 0;display:block;position:relative}.reader-return{justify-content:flex-start;padding:0 10px 4px;display:flex}.reader-scrubber-track{appearance:none;cursor:pointer;background:0 0;width:100%;height:44px;margin:0}.reader-scrubber-track::-webkit-slider-runnable-track{background:var(--color-foreground);border-radius:2px;height:3px}@supports (color:color-mix(in lab, red, red)){.reader-scrubber-track::-webkit-slider-runnable-track{background:color-mix(in srgb, var(--color-foreground) 12%, transparent)}}.reader-scrubber-track::-moz-range-track{background:var(--color-foreground);border-radius:2px;height:3px}@supports (color:color-mix(in lab, red, red)){.reader-scrubber-track::-moz-range-track{background:color-mix(in srgb, var(--color-foreground) 12%, transparent)}}.reader-scrubber-track::-webkit-slider-thumb{appearance:none;background:var(--color-accent);border:none;border-radius:50%;width:20px;height:20px;margin-top:-8.5px}.reader-scrubber-track::-moz-range-thumb{background:var(--color-accent);border:none;border-radius:50%;width:20px;height:20px}.reader-scrubber-track:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px;border-radius:4px}.reader-statusbar-meta{color:var(--color-foreground-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}@media (max-width:700px){.app-frame:has(.reader-route) .app-navigation--bottom{display:none}.reader-header{background:0 0;border:0}.reader-statusbar{background:var(--color-surface)}@supports (color:color-mix(in lab, red, red)){.reader-statusbar{background:color-mix(in srgb, var(--color-surface) 94%, transparent)}}.reader-paper{border:0;border-radius:0;margin-inline:calc(-1*clamp(22px,5vw,40px));padding:20px clamp(20px,5vw,28px) 24px}.reader-header-count{display:none}.reader-header{gap:2px 6px}.reader-header-title p{margin:0;font-size:12.5px}.reader-statusbar{padding-bottom:env(safe-area-inset-bottom);border-width:1px 0 0;border-radius:0;margin-inline:calc(-1*clamp(22px,5vw,40px))}}.reader-statusbar{z-index:31;border:1px solid var(--color-border);background:var(--color-surface);border-radius:14px;margin-top:12px;position:sticky;bottom:0}@supports (color:color-mix(in lab, red, red)){.reader-statusbar{background:color-mix(in srgb, var(--color-surface) 92%, transparent)}}.reader-statusbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);overflow:hidden}.reader-statusbar-track span{background:var(--color-accent);height:100%;transition:width .24s;display:block}.reader-statusbar-row{grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;padding:4px 8px 6px;display:grid}@media (max-width:560px){.reader-statusbar-row{grid-template-columns:auto 1fr auto}.reader-statusbar-meta{display:none}}.reader-statusbar-chapter{display:none}.reader-statusbar-position{color:var(--color-foreground-muted);text-align:center;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.reader-statusbar-actions{gap:2px;display:flex}.reader-contents-dialog{background:var(--color-surface);border-radius:18px;flex-direction:column;width:min(560px,100%);max-height:min(76vh,720px);display:flex;overflow:hidden}.reader-contents-header{border-bottom:1px solid var(--color-border-subtle);align-items:flex-start;gap:12px;padding:4px 0 12px;display:flex}.reader-contents-cover{object-fit:cover;border-radius:6px;flex:none;width:44px;height:66px;box-shadow:0 4px 12px #00000024}.reader-contents-identity{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.reader-contents-identity strong{overflow-wrap:anywhere;font-size:15px;line-height:1.3}.reader-contents-identity span{overflow-wrap:anywhere;color:var(--color-foreground-muted);font-size:13px}.reader-contents-tabs{border-bottom:1px solid var(--color-border-subtle);gap:18px;margin-bottom:10px;padding:10px 0 6px;display:flex}.reader-contents-tab{color:var(--color-foreground-muted);font:inherit;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:4px 0;font-size:14px}.reader-contents-tab.is-current{color:var(--color-foreground);border-bottom-color:var(--color-foreground)}.reader-contents-list.is-hidden{display:none}.reader-contents-empty{text-align:center;color:var(--color-foreground-muted);margin:24px 0;font-size:14px}.reader-marks li{align-items:flex-start;gap:8px;min-width:0;display:flex}.reader-marks-entry{text-align:left;overflow-wrap:anywhere;flex:1;min-width:0}.reader-contents-filter{border:1px solid var(--color-border);background:var(--color-background);width:100%;color:var(--color-foreground);font:inherit;border-radius:10px;margin:0 0 10px;padding:9px 12px;font-size:14px}.reader-contents-filter:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px}.reader-marks{border-bottom:1px solid var(--color-border);margin:0 0 14px;padding:0 0 14px}.reader-marks h3{color:var(--color-foreground-muted);margin:0 0 8px;font-size:13px;font-weight:600}.reader-marks ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.reader-marks li{align-items:flex-start;gap:8px;display:flex}.reader-marks-counts{flex-wrap:wrap;gap:6px;margin:0 0 8px;display:flex}.reader-marks-export{border:1px solid var(--color-border);color:var(--color-accent);font:inherit;cursor:pointer;background:0 0;border-radius:999px;margin-left:auto;padding:2px 10px;font-size:12px}.reader-marks-counts span{border:1px solid var(--color-border);color:var(--color-foreground-muted);border-radius:999px;padding:2px 10px;font-size:12px}.reader-marks-note{color:var(--color-accent);margin-top:2px;font-size:12px;font-style:normal;display:block}.reader-marks-entry{text-align:left;font:inherit;color:var(--color-foreground);cursor:pointer;background:0 0;border:none;flex:1;padding:0;font-size:13px;line-height:1.45}.reader-marks-entry:hover{color:var(--color-accent)}.reader-marks-remove{color:var(--color-foreground-muted);cursor:pointer;background:0 0;border:none;padding:2px}@media (hover:hover){.reader-contents-tab:hover{color:var(--color-foreground)}.reader-marks-export:hover{border-color:var(--color-accent);background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.reader-marks-export:hover{background:color-mix(in srgb, var(--color-accent) 8%, transparent)}}.reader-marks-remove:hover{background:var(--color-surface-subtle);color:var(--color-accent);border-radius:10px}}.reader-marks li.is-managing{border:1px solid var(--color-border-subtle);background:var(--color-surface-subtle);border-radius:12px;flex-wrap:wrap;padding:10px}.reader-marks li.is-managing .reader-marks-entry{flex-basis:100%}.reader-marks-entry:disabled{color:var(--color-foreground-muted);cursor:default}.reader-mark-editor,.reader-mark-confirm{flex:1 0 100%;gap:9px;min-width:0;display:grid}.reader-mark-editor label,.reader-mark-confirm>p{color:var(--color-foreground);margin:0;font-size:13px;font-weight:650}.reader-mark-editor textarea{resize:vertical;border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-height:88px;max-height:220px;color:var(--color-foreground);font:inherit;overscroll-behavior:contain;border-radius:10px;padding:10px 12px;font-size:14px;line-height:1.45}.reader-mark-editor textarea:focus-visible{border-color:var(--color-focus);outline:2px solid var(--color-focus);outline-offset:1px}.reader-mark-editor-actions{flex-wrap:wrap;gap:8px;display:flex}.reader-mark-editor-actions button{border:1px solid var(--color-border);background:var(--color-surface);min-height:44px;color:var(--color-foreground);font:inherit;cursor:pointer;border-radius:10px;padding:8px 14px;font-size:13px;font-weight:650}.reader-mark-editor-actions button:first-child{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-on-accent)}.reader-mark-editor-actions button.is-destructive{border-color:var(--color-error-text);background:var(--color-error-text);color:var(--color-surface)}.reader-mark-editor-actions button:disabled{cursor:wait;opacity:.62}.reader-mark-action-status{min-height:18px;color:var(--color-foreground-muted);font-size:12px}.reader-mark-action-status p{color:var(--color-error-text);margin:0}.reader-search-feedback{gap:7px;margin:0 0 8px;display:grid}.reader-search-feedback>p,.reader-search-action p{margin:0}.reader-search-action{border:1px solid var(--color-border-subtle);background:var(--color-surface-subtle);min-width:0;color:var(--color-foreground-muted);border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:12px;line-height:1.4;display:flex}.reader-search-action button{border:1px solid var(--color-border);background:var(--color-surface);min-height:44px;color:var(--color-accent);font:inherit;cursor:pointer;border-radius:10px;flex:none;padding:7px 12px;font-weight:650}.reader-search-action button:hover{border-color:var(--color-accent);background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.reader-search-action button:hover{background:color-mix(in srgb, var(--color-accent) 8%, var(--color-surface))}}.reader-search-action button:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}@media (max-width:480px){.reader-search-action{flex-direction:column;align-items:stretch}.reader-search-action button{width:100%}}.reader-search-count{color:var(--color-foreground-muted);margin:0 0 6px;font-size:12px}.reader-search-results{border-bottom:1px solid var(--color-border);flex-direction:column;gap:4px;margin:0 0 12px;padding:0 0 12px;list-style:none;display:flex}.reader-search-hit{grid-template-areas:"title title""excerpt excerpt"}.reader-search-excerpt{color:var(--color-foreground-muted);text-align:left;grid-area:excerpt;font-size:12px;line-height:1.45}.reader-contents-dialog>[role=tabpanel]{flex-direction:column;flex:auto;min-height:0;display:flex}.reader-contents-list{overscroll-behavior:contain;min-height:0;margin:0;padding:6px;list-style:none;overflow-y:auto}.reader-marks-panel{overscroll-behavior:contain;overflow-y:auto}.reader-contents-list>li,.reader-search-results>li{content-visibility:auto;contain-intrinsic-block-size:48px}.reader-marks{overscroll-behavior:contain;flex-direction:column;min-height:0;display:flex;overflow-y:auto}.reader-marks>ul>li{content-visibility:auto;contain-intrinsic-block-size:56px}.reader-marks>ul>li.is-managing{content-visibility:visible}.reader-contents-entry{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;grid-template-columns:1fr auto;grid-template-areas:"title minutes";align-items:baseline;gap:2px 12px;padding:10px 12px;display:grid}.reader-search-excerpt mark{background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.reader-search-excerpt mark{background:color-mix(in srgb, var(--color-accent) 26%, transparent)}}.reader-search-excerpt mark{color:inherit;border-radius:3px;padding:0 2px}.reader-search-results .reader-search-hit{flex-direction:column;align-items:flex-start;gap:3px;width:100%;padding:8px 10px;display:flex}.reader-contents-entry:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}.reader-contents-entry:hover{background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.reader-contents-entry:hover{background:color-mix(in srgb, var(--color-accent) 10%, transparent)}}.reader-contents-entry.is-current{background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.reader-contents-entry.is-current{background:color-mix(in srgb, var(--color-accent) 16%, transparent)}}.reader-contents-entry.is-current{font-weight:600}.reader-contents-entry.is-read .reader-contents-title{color:var(--color-foreground-muted)}.reader-contents-number{color:var(--color-foreground-muted);font-variant-numeric:tabular-nums;font-size:13px}.reader-contents-title{grid-area:title;min-width:0}.reader-contents-minutes{color:var(--color-foreground-muted);white-space:nowrap;grid-area:minutes;align-self:center;font-size:12px}.reader-contents-share{color:var(--color-foreground-muted);font-variant-numeric:tabular-nums;grid-area:share;font-size:12px}.reader-contents-entry.is-current .reader-contents-share{color:var(--color-accent)}.reader-contents-dialog{padding-inline:max(16px, env(safe-area-inset-left)) max(16px, env(safe-area-inset-right));padding-bottom:env(safe-area-inset-bottom)}.reader-contents-list{scrollbar-width:thin;scrollbar-color:var(--color-border) transparent;padding-inline:0}.reader-contents-list::-webkit-scrollbar{width:6px}.reader-contents-list::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:999px}.reader-contents-list::-webkit-scrollbar-track{background:0 0}.reader-contents-entry,.reader-search-results .reader-search-hit{padding-inline:10px}@media (max-width:700px){.reader-contents-dialog{border-radius:18px 18px 0 0}}.reader-contents-entry.is-current{box-shadow:inset 2px 0 0 var(--color-accent);background:0 0;padding-left:10px}.reader-contents-entry.is-current .reader-contents-title{color:var(--color-accent)}.reader-scene-break{color:var(--color-foreground-muted);text-align:center;text-indent:0;letter-spacing:.5em;margin:0;padding:.7em 0}.reader-locked{text-align:center;align-content:center;place-items:center;gap:13px;min-height:420px;display:grid}.reader-locked>svg{width:48px;height:48px;color:var(--color-accent)}.reader-locked h2,.reader-locked p{margin:0}.reader-locked p{max-width:480px;color:var(--color-foreground-muted);line-height:1.5}.reader-locked .primary-link{margin-top:8px}.reader-word-backdrop{z-index:90;padding:max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));overscroll-behavior:contain;touch-action:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#080d1894;place-items:safe center center;height:100dvh;display:grid;position:fixed;top:0;left:0;right:0}.reader-word-backdrop .reader-contents-list,.reader-word-backdrop .reader-marks,.reader-word-backdrop .reader-word-body{touch-action:pan-y}:is(body:has(.reader-paper--night) .reader-word-dialog,body:has(.reader-paper--night) .reader-contents-dialog,body:has(.reader-paper--night) .reader-settings){--color-surface:#14161a;--color-background:#0c0e11;--color-foreground:#d9dde3;--color-foreground-muted:#8b93a0;--color-border:#262b33;color:#d9dde3;--color-accent:#e0a96d;--color-focus:#e0a96d;--color-surface-subtle:#101318;background:#14161a}:is(body:has(.reader-paper--sepia) .reader-word-dialog,body:has(.reader-paper--sepia) .reader-contents-dialog,body:has(.reader-paper--sepia) .reader-settings){--color-surface:#f4ead8;--color-background:#eaddc4;--color-foreground:#3b2f1e;--color-foreground-muted:#7a6a52;--color-border:#e2d4ba;color:#3b2f1e;--color-accent:#8a5a2b;--color-focus:#8a5a2b;--color-surface-subtle:#eaddc4;background:#f4ead8}:is(body:has(.reader-paper--paper) .reader-word-dialog,body:has(.reader-paper--paper) .reader-contents-dialog,body:has(.reader-paper--paper) .reader-settings){--color-surface:#fbfaf7;--color-background:#f2efe8;--color-foreground:#1b1a17;--color-foreground-muted:#6b675e;--color-border:#e4e0d6;color:#1b1a17;--color-accent:#8a5a2b;--color-focus:#8a5a2b;--color-surface-subtle:#f2efe8;background:#fbfaf7}@keyframes reader-sheet-in{0%{opacity:0}}@keyframes reader-scrim-in{0%{opacity:0}}.reader-word-backdrop,.reader-settings-backdrop{animation:.14s ease-out reader-scrim-in}.reader-word-dialog,.reader-contents-dialog,.reader-settings-backdrop .reader-settings{animation:.18s cubic-bezier(.22,.9,.3,1) reader-sheet-in}@media (prefers-reduced-motion:reduce){.reader-word-backdrop,.reader-settings-backdrop,.reader-word-dialog,.reader-contents-dialog,.reader-settings-backdrop .reader-settings{animation:none}}.reader-word-dialog{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);grid-template-rows:auto minmax(0,1fr);width:min(100%,560px);height:min(520px,100dvh - 48px);max-height:min(680px,100dvh - 48px);display:grid;overflow:hidden;box-shadow:0 24px 72px #0000003d}.reader-word-header{border-bottom:1px solid var(--color-border-subtle);flex:none;justify-content:space-between;align-items:center;gap:16px;min-height:64px;padding:10px 12px 10px 24px;display:flex}.reader-word-header>span{color:var(--color-accent);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:720}.reader-word-body{overscroll-behavior:contain;scrollbar-gutter:stable;align-content:start;gap:14px;min-height:0;padding:22px 24px 26px;display:grid;overflow-y:auto}.reader-word-body h2,.reader-word-body p{margin:0}.reader-word-body h2{letter-spacing:-.04em;overflow-wrap:anywhere;font-size:clamp(30px,5vw,40px)}.reader-word-phonetic{color:var(--color-foreground-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.reader-word-body>p{color:var(--color-foreground-muted);line-height:1.55}.reader-word-translation{justify-content:space-between;align-items:center;gap:16px;display:flex}.reader-word-translation>strong{color:var(--color-accent);overflow-wrap:anywhere;font-size:20px}.reader-word-encounters{color:var(--color-foreground-muted);margin:0;font-size:13px;font-weight:500}.reader-word-encounters.is-suggestion{color:var(--color-accent)}.reader-word-example{border-left:3px solid var(--color-accent);padding-left:14px}.reader-word-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:2px;display:grid}.reader-word-actions>:only-child{grid-column:1/-1}.reader-word-learning-state{border:1px solid var(--color-border-subtle);background:var(--color-surface-subtle);min-height:48px;color:var(--color-foreground-muted);text-align:center;border-radius:14px;justify-content:center;align-items:center;padding:10px 14px;font-size:13px;font-weight:700;display:flex}.reader-word-action-error{font-size:13px;color:var(--color-error-text)!important}.reader-word-close{background:var(--color-surface-subtle);width:44px;height:44px;color:var(--color-foreground);border:0;border-radius:13px;flex:none;place-items:center;display:grid;position:static}.reader-word-close svg{width:17px}.reader-navigation{grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;display:grid}.reader-navigation .ui-button:first-child{justify-self:start}.reader-navigation .ui-button:last-child{justify-self:end}.reader-navigation>span{color:var(--color-foreground-muted);font-size:13px}.progress-empty{align-content:center;justify-items:start;gap:12px;width:min(100%,620px);min-height:280px;padding:clamp(28px,5vw,44px);display:grid}.progress-empty h2,.progress-empty p{margin:0}.progress-empty h2{letter-spacing:-.03em;font-size:25px}.progress-empty p{max-width:480px;color:var(--color-foreground-muted);line-height:1.55}.progress-empty .primary-link{margin-top:8px}.progress-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px;display:grid}.progress-action{border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-surface);min-height:88px;color:var(--color-foreground);text-align:left;transition:border-color var(--motion-state) var(--motion-standard-easing), transform var(--motion-state) var(--motion-standard-easing);align-content:center;gap:5px;padding:18px 20px;text-decoration:none;display:grid;box-shadow:0 1px 3px #0000000a}.progress-action:hover{border-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.progress-action:hover{border-color:color-mix(in srgb, var(--color-accent) 38%, var(--color-border))}}.progress-action:active{transform:scale(.99)}.progress-action>span{color:var(--color-accent);font-size:12px;font-weight:720}.progress-action>strong{font-size:15px;line-height:1.35}.progress-overview{grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:14px;margin-bottom:14px;display:grid}.streak-card{align-content:center;gap:4px;min-height:180px;display:grid}.streak-card>span{color:var(--color-foreground-muted);font-size:13px}.streak-card strong{letter-spacing:-.065em;align-items:baseline;gap:8px;font-size:58px;line-height:1;display:flex}.streak-card strong small{color:var(--color-foreground-muted);letter-spacing:0;font-size:14px;font-weight:600}.streak-card .freeze-copy{margin-top:8px}.progress-today{align-content:center;display:grid}.progress-today h2{margin:0 0 14px;font-size:17px}.progress-today dl{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;display:grid}.progress-today dl>div{border-left:1px solid var(--color-border-subtle);gap:5px;padding:3px 16px;display:grid}.progress-today dl>div:first-child{border-left:0;padding-left:0}.progress-today dt{color:var(--color-foreground-muted);font-size:12px;line-height:1.3}.progress-today dd{letter-spacing:-.04em;order:-1;margin:0;font-size:27px;font-weight:740}.progress-panel{margin-bottom:28px}.progress-section{margin-top:0}.section-heading{justify-content:space-between;align-items:end;gap:18px;margin:0 0 13px;display:flex}.section-heading h2{letter-spacing:-.025em;margin:0;font-size:20px}.section-heading p{color:var(--color-foreground-muted);margin:5px 0 0;font-size:13px;line-height:1.45}.week-calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;display:grid}.week-calendar>div{color:var(--color-foreground-muted);text-transform:uppercase;justify-items:center;gap:7px;font-size:11px;display:grid}.week-calendar i{aspect-ratio:1;border:1px solid var(--color-border-subtle);background:var(--color-surface);width:min(100%,54px);color:var(--color-foreground-muted);border-radius:17px;place-items:center;font-size:12px;font-style:normal;display:grid}.week-calendar .is-complete i{background:var(--color-accent);color:var(--color-on-accent);box-shadow:0 8px 18px var(--color-accent);border-color:#0000}@supports (color:color-mix(in lab, red, red)){.week-calendar .is-complete i{box-shadow:0 8px 18px color-mix(in srgb, var(--color-accent) 20%, transparent)}}.week-calendar .is-frozen i{border-color:var(--color-info)}@supports (color:color-mix(in lab, red, red)){.week-calendar .is-frozen i{border-color:color-mix(in srgb, var(--color-info) 35%, var(--color-border))}}.week-calendar .is-frozen i{background:var(--color-info)}@supports (color:color-mix(in lab, red, red)){.week-calendar .is-frozen i{background:color-mix(in srgb, var(--color-info) 10%, var(--color-surface))}}.week-calendar .is-frozen i{color:var(--color-info-text)}.week-calendar svg{width:18px}.activity-heatmap{grid-template-columns:repeat(15,minmax(16px,1fr));gap:7px;display:grid}.activity-heatmap>span{aspect-ratio:1;border:1px solid var(--color-border-subtle);background:var(--color-surface-subtle);border-radius:6px;min-width:16px}.activity-heatmap>.is-complete{background:var(--color-accent);border-color:#0000}.activity-heatmap>.is-frozen{border-color:var(--color-info)}@supports (color:color-mix(in lab, red, red)){.activity-heatmap>.is-frozen{border-color:color-mix(in srgb, var(--color-info) 35%, var(--color-border))}}.activity-heatmap>.is-frozen{background:var(--color-info)}@supports (color:color-mix(in lab, red, red)){.activity-heatmap>.is-frozen{background:color-mix(in srgb, var(--color-info) 22%, var(--color-surface))}}.progress-knowledge{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.progress-knowledge>button{border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-surface);min-height:116px;color:var(--color-foreground);text-align:left;transition:border-color var(--motion-state) var(--motion-standard-easing), background var(--motion-state) var(--motion-standard-easing), transform var(--motion-state) var(--motion-standard-easing);grid-template-columns:minmax(0,1fr) auto;align-content:center;align-items:baseline;gap:5px 16px;padding:20px;display:grid}.progress-knowledge>button:hover{border-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.progress-knowledge>button:hover{border-color:color-mix(in srgb, var(--color-accent) 42%, var(--color-border))}}.progress-knowledge>button:hover{background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.progress-knowledge>button:hover{background:color-mix(in srgb, var(--color-accent) 3%, var(--color-surface))}}.progress-knowledge>button:active{transform:scale(.99)}.progress-knowledge>button>span{color:var(--color-foreground-muted);font-size:13px}.progress-knowledge>button>strong{letter-spacing:-.05em;grid-area:1/2/span 2;align-self:center;font-size:34px}.progress-knowledge>button>small{color:var(--color-accent);font-size:12px;font-weight:680}.progress-breakdown-card{box-shadow:none;margin-top:28px}.progress-breakdown-heading{align-items:center}.progress-segmented{border:1px solid var(--color-border-subtle);background:var(--color-surface-subtle);border-radius:13px;align-items:center;min-height:40px;padding:3px;display:inline-flex}.progress-segmented button{min-height:34px;color:var(--color-foreground-muted);background:0 0;border:0;border-radius:10px;padding:0 13px;font-size:12px;font-weight:680}.progress-segmented button[aria-pressed=true]{background:var(--color-surface);color:var(--color-foreground);box-shadow:0 1px 4px #00000014}.progress-breakdown-list{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.progress-breakdown-list.is-level{grid-template-columns:repeat(4,minmax(0,1fr))}.progress-breakdown-list article{border:1px solid var(--color-border-subtle);border-radius:14px;gap:9px;min-width:0;padding:13px;display:grid}.progress-breakdown-list header,.progress-breakdown-list footer{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.progress-breakdown-list header strong{font-size:14px}.progress-breakdown-list header span,.progress-breakdown-list footer{color:var(--color-foreground-muted);font-size:10px}.progress-breakdown-list footer{flex-wrap:wrap;justify-content:flex-start}.progress-stacked-bar{border-radius:var(--radius-pill);background:var(--color-canvas-subtle);height:7px;position:relative;overflow:hidden}.progress-stacked-bar i,.progress-stacked-bar b{display:block;position:absolute;inset-block:0}.progress-stacked-bar i{background:var(--color-success);left:0}.progress-stacked-bar b{background:var(--color-accent-warm)}.progress-detail-grid{grid-template-columns:minmax(0,1fr);gap:14px;margin-top:28px;display:grid}.progress-detail-grid>.ui-card{min-width:0;box-shadow:none}.milestone-grid{gap:16px;display:grid}.milestone-card{gap:10px;display:grid;overflow:hidden}.milestone-card>div{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.milestone-card>div>strong{font-size:14px}.milestone-card>div>span{color:var(--color-foreground-muted);font-size:12px}.milestone-card>i{border-radius:var(--radius-pill);background:var(--color-canvas-subtle);height:4px;overflow:hidden}.milestone-card>i>b{border-radius:inherit;background:var(--color-accent);height:100%;display:block}.progress-share-card{box-shadow:none;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;margin-top:14px;display:grid}.progress-share-card>div{gap:4px;display:grid}.progress-share-card span,.progress-share-card p{color:var(--color-foreground-muted)}.progress-share-card p{grid-column:1/-1;margin:0}.progress-achievements{margin-top:28px}.achievement-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;display:grid}.achievement-grid.is-expanded{grid-template-columns:repeat(4,minmax(0,1fr))}.achievement-card{border:1px solid var(--color-border-subtle);background:var(--color-surface);content-visibility:auto;contain-intrinsic-size:auto 132px;border-radius:15px;align-content:space-between;gap:10px;min-width:0;min-height:132px;padding:13px;display:grid}.achievement-card.is-unlocked{border-color:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.achievement-card.is-unlocked{border-color:color-mix(in srgb, var(--color-success) 46%, var(--color-border))}}.achievement-card.is-unlocked{background:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.achievement-card.is-unlocked{background:color-mix(in srgb, var(--color-success) 6%, var(--color-surface))}}.achievement-card header{min-width:0;color:var(--color-foreground-muted);text-transform:uppercase;letter-spacing:.04em;justify-content:space-between;align-items:center;gap:6px;font-size:9px;font-weight:680;display:flex}.achievement-card header span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.achievement-card header b{color:var(--color-success-text);font-size:9px}.achievement-card>strong{overflow-wrap:anywhere;font-size:13px;line-height:1.25}.achievement-progress{border-radius:var(--radius-pill);background:var(--color-canvas-subtle);height:5px;overflow:hidden}.achievement-progress i{border-radius:inherit;background:var(--color-accent);height:100%;display:block}.achievement-card.is-unlocked .achievement-progress i{background:var(--color-success)}.achievement-card small{color:var(--color-foreground-muted);font-size:10px}.progress-dialog-backdrop{z-index:95;padding:max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));overscroll-behavior:contain;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#080d1894;place-items:safe center center;display:grid;position:fixed;inset:0}.progress-dialog{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);grid-template-rows:auto auto minmax(0,1fr);width:min(100%,760px);max-height:min(780px,100dvh - 36px);display:grid;overflow:hidden;box-shadow:0 24px 72px #0000003d}.progress-dialog-header{border-bottom:1px solid var(--color-border-subtle);justify-content:space-between;align-items:center;gap:18px;min-height:72px;padding:12px 14px 12px 22px;display:flex}.progress-dialog-header>div{gap:3px;min-width:0;display:grid}.progress-dialog-header h2{letter-spacing:-.03em;margin:0;font-size:21px}.progress-dialog-header span{color:var(--color-foreground-muted);font-size:12px;line-height:1.4}.progress-dialog-close{background:var(--color-surface-subtle);width:44px;height:44px;color:var(--color-foreground);border:0;border-radius:13px;flex:none;place-items:center;font-size:25px;line-height:1;display:grid}.progress-dialog-toolbar{border-bottom:1px solid var(--color-border-subtle);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 22px;display:grid}.progress-word-search input{border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-height:42px;color:var(--color-foreground);border-radius:12px;padding:0 13px}.progress-dialog-content{overscroll-behavior:contain;scrollbar-gutter:stable;min-height:0;padding:8px 22px 24px;overflow-y:auto}.progress-word-group{margin-top:18px}.progress-word-group>header{border-bottom:1px solid var(--color-border-subtle);justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:8px;display:flex}.progress-word-group h3{margin:0;font-size:14px}.progress-word-group header span{color:var(--color-foreground-muted);font-size:11px}.progress-word-group ul{margin:0;padding:0;list-style:none}.progress-word-group li{border-bottom:1px solid var(--color-border-subtle);content-visibility:auto;contain-intrinsic-size:auto 64px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:18px;min-height:64px;padding:10px 0;display:grid}.progress-word-group li>div{gap:3px;min-width:0;display:grid}.progress-word-meta{color:var(--color-foreground-muted);justify-items:end;font-size:11px}.progress-word-group li strong,.progress-word-group li span{overflow-wrap:anywhere}.progress-word-group li>div:first-child span{color:var(--color-foreground-muted);font-size:12px}.progress-word-actions{justify-content:end;gap:6px!important;display:flex!important}.progress-word-actions button,.progress-word-confirm button{border:1px solid var(--color-border);background:var(--color-surface-subtle);min-height:34px;color:var(--color-foreground);border-radius:10px;padding:6px 10px;font-size:11px;font-weight:700}.progress-word-actions button:hover{border-color:var(--color-accent);color:var(--color-accent)}.progress-word-actions button.is-destructive{color:var(--color-error-text)}.progress-word-actions button:disabled,.progress-word-confirm button:disabled{cursor:wait;opacity:.5}.progress-word-confirm{background:var(--color-surface-subtle);border-radius:12px;grid-column:1/-1;justify-content:flex-end;align-items:center;padding:10px 12px;gap:8px!important;display:flex!important}.progress-word-confirm span{margin-right:auto;font-size:12px;font-weight:650}.progress-word-confirm button:first-of-type{border-color:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.progress-word-confirm button:first-of-type{border-color:color-mix(in srgb, var(--color-error) 36%, transparent)}}.progress-word-confirm button:first-of-type{color:var(--color-error-text)}.progress-word-error{color:var(--color-error-text);grid-column:1/-1;margin:0;font-size:12px}.progress-dialog-empty{color:var(--color-foreground-muted);text-align:center;margin:48px auto}.progress-dialog-more{justify-items:center;padding:22px 0 0;display:grid}.progress-goal-dialog{grid-template-rows:auto minmax(0,1fr) auto;width:min(100%,620px)}.progress-goal-options{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:22px;display:grid;overflow-y:auto}.progress-goal-options button{border:1px solid var(--color-border);background:var(--color-surface);min-height:116px;color:var(--color-foreground);text-align:center;border-radius:15px;align-content:center;gap:7px;display:grid}.progress-goal-options button.is-selected{border-color:var(--color-accent);background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.progress-goal-options button.is-selected{background:color-mix(in srgb, var(--color-accent) 8%, var(--color-surface))}}.progress-goal-options button.is-selected{box-shadow:inset 0 0 0 1px var(--color-accent)}.progress-goal-options strong{font-size:22px}.progress-goal-options span{color:var(--color-foreground-muted);font-size:10px}.progress-goal-actions{border-top:1px solid var(--color-border-subtle);justify-content:flex-end;padding:14px 22px;display:flex}.profile-hero{grid-template-columns:auto 1fr auto;align-items:center;gap:17px;margin-bottom:14px;display:grid}.avatar{background:linear-gradient(145deg, var(--color-accent), var(--color-accent));border-radius:20px;place-items:center;width:62px;height:62px;display:grid}@supports (color:color-mix(in lab, red, red)){.avatar{background:linear-gradient(145deg, color-mix(in srgb, var(--color-accent) 18%, var(--color-surface)), color-mix(in srgb, var(--color-accent) 7%, var(--color-surface)))}}.avatar{color:var(--color-accent)}.avatar--image{object-fit:cover}.profile-hero h2{margin:0 0 7px;font-size:19px}.profile-hero .ui-button{justify-self:end}.profile-session-error{color:var(--color-error-text);justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.settings-list{border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-surface);display:grid;overflow:hidden}.settings-list .ui-card{border:0;border-bottom:1px solid var(--color-border-subtle);min-height:72px;box-shadow:none;border-radius:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:14px 18px;display:grid}.settings-list .ui-card:last-child{border-bottom:0}.settings-list .ui-card div{gap:4px;display:grid}.settings-list strong{font-size:14px}.settings-list span{color:var(--color-foreground-muted);font-size:12px;line-height:1.45}.profile-section{margin-top:28px}.profile-section>h2{letter-spacing:-.025em;margin:0 0 12px;font-size:19px}.profile-setting-row{grid-template-columns:minmax(0,1fr) auto!important;display:grid!important}.profile-setting-row>label{gap:4px;display:grid}.profile-setting-row>select,.inline-setting-form input{border:1px solid var(--color-border);background:var(--color-surface);min-height:44px;color:var(--color-foreground);border-radius:12px;padding:0 12px}.inline-setting-form{justify-content:flex-end;align-items:center;gap:7px;display:flex}.inline-setting-form label{min-width:160px}.inline-setting-form input{width:100%}.avatar-actions{justify-content:flex-end;align-items:center;gap:7px!important;display:flex!important}.avatar-actions label{cursor:pointer}.avatar-actions input{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.avatar-actions .ui-button span{color:inherit;font-size:inherit}.locale-links{grid-auto-flow:column;gap:5px!important;display:flex!important}.locale-links a{min-width:44px;min-height:44px;color:var(--color-foreground-muted);border-radius:12px;place-items:center;font-size:11px;font-weight:700;text-decoration:none;display:grid}.locale-links a[aria-current=page]{background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.locale-links a[aria-current=page]{background:color-mix(in srgb, var(--color-accent) 12%, var(--color-surface))}}.locale-links a[aria-current=page]{color:var(--color-accent)}.profile-confirm{border-color:var(--color-warning);gap:9px;margin-bottom:14px;display:grid}@supports (color:color-mix(in lab, red, red)){.profile-confirm{border-color:color-mix(in srgb, var(--color-warning) 45%, var(--color-border))}}.profile-confirm p,.danger-zone p{color:var(--color-foreground-muted);margin:0;font-size:13px;line-height:1.5}.profile-confirm>div,.danger-zone .ui-card>div{justify-content:flex-end;gap:8px;margin-top:6px;display:flex}.profile-links{flex-wrap:wrap;gap:8px;display:flex}.profile-links a{border:1px solid var(--color-border-subtle);background:var(--color-surface);min-height:44px;color:var(--color-foreground);border-radius:13px;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:620;text-decoration:none;display:inline-flex}.profile-links svg{width:17px;color:var(--color-accent)}.profile-advanced{margin-top:28px}.profile-advanced>summary{cursor:pointer;min-height:44px;color:var(--color-foreground-muted);font-size:14px;font-weight:680}.profile-advanced[open]>summary{color:var(--color-foreground)}.danger-zone{border-top:1px solid var(--color-border-subtle);padding-top:22px}.danger-zone>.ui-card{gap:10px;display:grid}.onboarding-shell,.calibration-shell{background:radial-gradient(circle at 50% 0%, var(--color-accent), transparent 34%), var(--color-canvas);min-height:100dvh}@supports (color:color-mix(in lab, red, red)){.onboarding-shell,.calibration-shell{background:radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--color-accent) 11%, transparent), transparent 34%), var(--color-canvas)}}.onboarding-shell,.calibration-shell{padding:max(24px, env(safe-area-inset-top)) max(clamp(18px, 5vw, 64px), env(safe-area-inset-right)) max(56px, env(safe-area-inset-bottom)) max(clamp(18px, 5vw, 64px), env(safe-area-inset-left))}.onboarding-topbar,.calibration-topbar{grid-template-columns:minmax(48px,1fr) minmax(180px,420px) minmax(48px,1fr);align-items:center;gap:20px;width:min(100%,920px);min-height:48px;margin:0 auto;display:grid}.onboarding-topbar>button,.calibration-topbar>button{background:var(--color-surface);min-height:44px;color:var(--color-foreground);border:0;border-radius:13px;justify-self:start;padding:10px 13px}.onboarding-topbar>button svg{width:20px}.onboarding-auth-trigger,.calibration-topbar>button{min-height:44px;color:var(--color-accent);background:0 0;border:0;justify-self:end;align-items:center;padding:0;font-size:13px;font-weight:680;text-decoration:none;display:inline-flex}.onboarding-sign-in-short{display:none}.calibration-topbar>.onboarding-progress{grid-column:2}.calibration-topbar>button{grid-column:3}.onboarding-progress{border-radius:var(--radius-pill);background:var(--color-canvas-subtle);height:5px;overflow:hidden}.onboarding-progress i{transform-origin:0;border-radius:inherit;background:var(--color-accent);width:100%;height:100%;transition:transform var(--motion-state) ease;display:block}.onboarding-step,.calibration-intro,.calibration-result,.calibration-question{text-align:center;align-content:center;justify-items:center;gap:17px;width:min(100%,880px);min-height:calc(100dvh - 112px);margin:0 auto;display:grid}.onboarding-step>h1,.calibration-intro>h1,.calibration-result>h1,.calibration-question>h1{letter-spacing:-.06em;text-wrap:balance;max-width:760px;margin:0;font-size:clamp(34px,6vw,62px);line-height:1.02}.onboarding-step>p:not(.eyebrow),.calibration-intro>p:not(.eyebrow),.calibration-result>p:not(.eyebrow),.calibration-question>p:not(.eyebrow){max-width:680px;color:var(--color-foreground-muted);margin:0;font-size:17px;line-height:1.55}.onboarding-mark{background:linear-gradient(145deg, var(--color-accent), #003db8);width:70px;height:70px;box-shadow:0 16px 36px var(--color-accent);border-radius:23px;place-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){.onboarding-mark{box-shadow:0 16px 36px color-mix(in srgb, var(--color-accent) 28%, transparent)}}.onboarding-mark{color:#fff;font-size:24px;font-weight:800}.onboarding-promises{grid-template-columns:repeat(3,1fr);gap:0;width:min(100%,760px);margin:18px 0 8px;padding:0;list-style:none;display:grid}.onboarding-promises li{border-left:1px solid var(--color-border-subtle);text-align:left;align-content:start;gap:8px;min-height:110px;padding:12px 22px;display:grid}.onboarding-promises li:first-child{border-left:0;padding-left:0}.onboarding-promises strong{font-size:16px}.onboarding-promises span{color:var(--color-foreground-muted);font-size:13px;line-height:1.45}.onboarding-step>.ui-button,.calibration-intro>.ui-button{min-width:min(100%,340px);margin-top:8px}.onboarding-options{grid-template-columns:repeat(2,1fr);gap:11px;width:min(100%,640px);margin:16px 0;display:grid}.onboarding-options button,.onboarding-methods button{border:1px solid var(--color-border);background:var(--color-surface);min-height:76px;color:var(--color-foreground);font:inherit;text-align:left;border-radius:18px;justify-content:space-between;align-items:center;gap:14px;padding:17px 19px;font-weight:650;display:flex}.onboarding-options button[aria-pressed=true]{border-color:var(--color-accent);background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.onboarding-options button[aria-pressed=true]{background:color-mix(in srgb, var(--color-accent) 7%, var(--color-surface))}}.onboarding-options button[aria-pressed=true]{color:var(--color-accent)}.onboarding-options svg{width:19px}.pace-options{grid-template-columns:repeat(4,1fr);gap:11px;width:min(100%,700px);margin:18px 0 4px;display:grid}.pace-options button{border:1px solid var(--color-border);background:var(--color-surface);min-height:126px;color:var(--color-foreground);border-radius:20px;align-content:center;place-items:center;gap:5px;display:grid}.pace-options button[aria-pressed=true]{border-color:var(--color-accent);background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.pace-options button[aria-pressed=true]{background:color-mix(in srgb, var(--color-accent) 8%, var(--color-surface))}}.pace-options button[aria-pressed=true]{color:var(--color-accent)}.pace-options strong{letter-spacing:-.05em;font-size:34px}.pace-options span{font-size:11px}.onboarding-estimate{font-size:13px!important}.onboarding-methods{grid-template-columns:repeat(2,1fr);gap:13px;width:min(100%,720px);margin-top:12px;display:grid}.onboarding-methods button{flex-direction:column;place-content:start center;align-items:flex-start;min-height:160px;position:relative}.onboarding-methods button:first-child{border-color:var(--color-accent);background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.onboarding-methods button:first-child{background:color-mix(in srgb, var(--color-accent) 6%, var(--color-surface))}}.onboarding-methods button span{color:var(--color-foreground-muted);font-size:13px;font-weight:450;line-height:1.45}.onboarding-methods button small{border-radius:var(--radius-pill);background:var(--color-accent);color:#fff;text-transform:uppercase;padding:5px 8px;font-size:9px;position:absolute;top:12px;right:12px}.calibration-shell>.inline-status,.calibration-shell>.empty-state{width:min(100%,760px);margin:120px auto 0}.calibration-question{min-height:calc(100dvh - 96px)}.calibration-word-card{align-content:center;place-items:center;gap:18px;width:min(100%,580px);min-height:320px;padding:46px;display:grid}.calibration-word-card span{color:var(--color-foreground-muted);text-transform:uppercase;font-size:12px}.calibration-word-card h1{letter-spacing:-.06em;margin:0;font-size:clamp(42px,8vw,72px)}.calibration-actions{grid-template-columns:1fr 1fr;gap:12px;width:min(100%,580px);display:grid}.calibration-actions .ui-button{min-height:56px}.calibration-options{grid-template-columns:repeat(2,1fr);gap:11px;width:min(100%,620px);margin-top:14px;display:grid}.calibration-options button{border:1px solid var(--color-border);background:var(--color-surface);min-height:70px;color:var(--color-foreground);font:inherit;text-align:left;border-radius:18px;padding:14px 17px;font-weight:630}.calibration-options button:hover{border-color:var(--color-accent)}.text-button{color:var(--color-foreground-muted);font:inherit;background:0 0;border:0;padding:12px}.calibration-result>strong{color:var(--color-accent);letter-spacing:-.07em;font-size:clamp(54px,10vw,92px)}.auth-page{min-height:100dvh;padding:max(24px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));background:radial-gradient(circle at 50% 20%, var(--color-accent), transparent 38%), var(--color-canvas);place-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){.auth-page{background:radial-gradient(circle at 50% 20%, color-mix(in srgb, var(--color-accent) 16%, transparent), transparent 38%), var(--color-canvas)}}.auth-card{justify-items:start;width:min(100%,500px);padding:clamp(26px,6vw,46px);display:grid}.auth-dialog-backdrop{z-index:100;padding:max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));overscroll-behavior:contain;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#080d1894;place-items:safe center center;display:grid;position:fixed;inset:0;overflow:auto}.auth-dialog{border:1px solid var(--color-border);background:var(--color-surface);border-radius:24px;grid-template-rows:auto minmax(0,1fr);width:min(100%,520px);max-height:min(760px,100dvh - 36px);display:grid;overflow:hidden;box-shadow:0 28px 80px #00000047}.auth-dialog-header{border-bottom:1px solid var(--color-border-subtle);justify-content:space-between;align-items:center;gap:16px;min-height:64px;padding:10px 12px 10px 24px;display:flex}.auth-dialog-header>span{font-size:13px;font-weight:760}.auth-dialog-close{background:var(--color-surface-subtle);width:44px;height:44px;color:var(--color-foreground);border:0;border-radius:14px;flex:none;place-items:center;display:grid}.auth-dialog-body{overscroll-behavior:contain;scrollbar-gutter:stable;min-height:0;padding:26px 30px 32px;overflow-y:auto}.auth-dialog-body>h2{letter-spacing:-.04em;text-wrap:balance;margin:0;font-size:clamp(28px,5vw,38px);line-height:1.08}.auth-dialog-body>p{color:var(--color-foreground-muted);text-wrap:pretty;margin:10px 0 24px;line-height:1.5}.auth-icon{background:var(--color-accent);border-radius:19px;place-items:center;width:58px;height:58px;margin-bottom:26px;display:grid}@supports (color:color-mix(in lab, red, red)){.auth-icon{background:color-mix(in srgb, var(--color-accent) 12%, var(--color-surface))}}.auth-icon{color:var(--color-accent)}.auth-card h1{letter-spacing:-.045em;margin:0;font-size:clamp(30px,5vw,42px);line-height:1.05}.auth-card>p:not(.eyebrow){color:var(--color-foreground-muted);margin:16px 0 24px;line-height:1.55}.security-notice{border:1px solid var(--color-warning);margin-bottom:22px}@supports (color:color-mix(in lab, red, red)){.security-notice{border:1px solid color-mix(in srgb, var(--color-warning) 36%, var(--color-border))}}.security-notice{background:var(--color-warning);border-radius:14px}@supports (color:color-mix(in lab, red, red)){.security-notice{background:color-mix(in srgb, var(--color-warning) 8%, var(--color-surface))}}.security-notice{color:var(--color-warning-text);padding:13px 14px;font-size:13px;line-height:1.4}.auth-mode{background:var(--color-surface-subtle);border-radius:14px;grid-template-columns:1fr 1fr;gap:4px;width:100%;margin-bottom:20px;padding:4px;display:grid}.auth-mode button{min-height:44px;color:var(--color-foreground-muted);background:0 0;border:0;border-radius:11px;font-weight:650}.auth-mode button[aria-pressed=true]{background:var(--color-surface);color:var(--color-foreground);box-shadow:0 2px 8px #00000014}.apple-auth-option{gap:14px;width:100%;margin-bottom:18px;display:grid}.apple-sign-in{width:min(100%,375px);height:50px;transition:opacity var(--motion-state) var(--motion-standard-easing), transform var(--motion-state) var(--motion-standard-easing);background:#000;border:1px solid #000;border-radius:13px;justify-self:center;padding:0;display:block;overflow:hidden}.apple-sign-in img{object-fit:cover;width:100%;height:50px;display:block}.apple-sign-in:disabled{cursor:wait;opacity:.58}.apple-sign-in:active{transform:scale(.99)}.apple-auth-progress{justify-content:space-between;align-items:center;gap:12px;display:flex}.apple-auth-progress p{color:var(--color-foreground-muted);margin:0;font-size:13px;line-height:1.4}.apple-auth-progress button{min-height:44px;color:var(--color-accent);background:0 0;border:0;flex:none;padding:8px 0 8px 12px;font-weight:700}.auth-divider{color:var(--color-foreground-muted);align-items:center;gap:12px;font-size:12px;display:flex}.auth-divider:before,.auth-divider:after{background:var(--color-border-subtle);content:"";flex:1;height:1px}.auth-divider span{flex:none}.auth-form{gap:16px;width:100%;display:grid}.auth-form label{color:var(--color-foreground-muted);gap:7px;font-size:13px;font-weight:650;display:grid}.auth-form input{border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-height:50px;color:var(--color-foreground);border-radius:14px;padding:0 14px}.password-field{display:block;position:relative}.password-field input{padding-right:82px}.password-field button{min-height:38px;color:var(--color-accent);background:0 0;border:0;border-radius:10px;padding:0 10px;font-size:12px;font-weight:700;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.password-field button:active{transform:translateY(-50%)scale(.98)}.auth-form input:focus-visible{border-color:var(--color-focus);outline:3px solid var(--color-focus);outline-offset:2px}.auth-form .ui-button{width:100%;margin-top:4px}.auth-form .ui-button:disabled{cursor:wait;opacity:.55}.auth-back,.auth-forgot{min-height:44px;color:var(--color-accent);background:0 0;border:0;justify-self:start;align-items:center;padding:8px 0;font-weight:700;display:inline-flex}.auth-mode button:disabled,.auth-back:disabled,.auth-forgot:disabled{cursor:wait;opacity:.55}.auth-forgot{justify-self:center}.auth-flow-copy{margin-bottom:20px}.auth-flow-copy h2{margin:0 0 8px}.auth-flow-copy p{color:var(--color-foreground-muted);margin:0;line-height:1.55}.auth-notice{background:var(--color-success);border-radius:12px;margin:0}@supports (color:color-mix(in lab, red, red)){.auth-notice{background:color-mix(in srgb, var(--color-success) 10%, var(--color-surface))}}.auth-notice{color:var(--color-success-text);padding:12px;font-size:13px}.auth-merge{gap:14px;display:grid}.auth-merge h2,.auth-merge p{margin:0}.auth-merge p{color:var(--color-foreground-muted);line-height:1.55}.auth-merge>div{flex-wrap:wrap;gap:10px;display:flex}.auth-error{color:var(--color-error-text);margin:-2px 0 0;font-size:13px;line-height:1.4}.admin-shell{background:linear-gradient(180deg, var(--color-accent), var(--color-canvas) 260px);min-height:100dvh}@supports (color:color-mix(in lab, red, red)){.admin-shell{background:linear-gradient(180deg, color-mix(in srgb, var(--color-accent) 3%, var(--color-canvas)), var(--color-canvas) 260px)}}.admin-topbar{z-index:40;border-bottom:1px solid var(--color-border-subtle);background:var(--color-surface);justify-content:space-between;align-items:center;gap:20px;min-height:64px;display:flex;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.admin-topbar{background:color-mix(in srgb, var(--color-surface) 94%, transparent)}}.admin-topbar{padding:8px max(24px, env(safe-area-inset-right)) 8px max(24px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(20px)saturate(140%);backdrop-filter:blur(20px)saturate(140%)}.admin-topbar a{align-items:center;gap:10px;min-height:44px;font-size:13px;font-weight:700;text-decoration:none;display:flex}.admin-topbar a:first-child>span:last-child{gap:1px;display:grid}.admin-topbar b{letter-spacing:-.025em;font-size:15px}.admin-topbar small{color:var(--color-foreground-muted);font-size:10px;font-weight:600}.admin-topbar>a:last-child{color:var(--color-accent)}.admin-topbar .brand-mark{border-radius:12px;width:36px;height:36px;font-size:12px}.admin-main{width:min(100%,1320px);margin:0 auto;padding:32px clamp(22px,3vw,42px) 72px}.admin-main>.page-heading{margin-bottom:24px}.admin-main>.page-heading h1{font-size:clamp(30px,3vw,38px)}.admin-main>.page-heading p:not(.eyebrow){max-width:680px;font-size:15px}.admin-workspace-stack{gap:22px;display:grid}.admin-control-bar{border-bottom:1px solid var(--color-border-subtle);justify-content:space-between;align-items:center;gap:20px;min-height:58px;display:flex}.admin-tabs{align-self:stretch;gap:22px;display:flex}.admin-tabs button{min-height:58px;color:var(--color-foreground-muted);font:inherit;background:0 0;border:0;padding:0 2px;font-size:13px;font-weight:720;position:relative}.admin-tabs button:after{content:"";background:0 0;border-radius:999px 999px 0 0;height:2px;position:absolute;bottom:-1px;left:0;right:0}.admin-tabs button:hover,.admin-tabs button[aria-current=page]{color:var(--color-foreground)}.admin-tabs button[aria-current=page]:after{background:var(--color-accent)}.admin-tabs button:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;border-radius:8px}.admin-identity{color:var(--color-foreground-muted);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px 12px;font-size:11px;display:flex}.admin-identity>span{align-items:center;gap:7px;display:inline-flex}.admin-identity>span:before{background:var(--color-success);content:"";border-radius:999px;width:7px;height:7px}.admin-identity strong{color:var(--color-foreground);font-weight:680}.admin-guide{border:1px solid var(--color-border-subtle);background:var(--color-surface);border-radius:20px;overflow:hidden;box-shadow:0 3px 14px #0000000b}.admin-guide-heading{justify-content:space-between;align-items:center;gap:24px;padding:22px 24px 18px;display:flex}.admin-guide-heading h2,.admin-guide-heading p{margin:0}.admin-guide-heading h2{letter-spacing:-.03em;text-wrap:balance;font-size:20px}.admin-guide-heading p{max-width:650px;color:var(--color-foreground-muted);margin-top:5px;font-size:12px;line-height:1.5}.admin-guide ol{border-top:1px solid var(--color-border-subtle);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.admin-guide li{grid-template-columns:auto minmax(0,1fr);gap:11px;min-width:0;padding:17px 20px;display:grid}.admin-guide li+li{border-left:1px solid var(--color-border-subtle)}.admin-guide li>span{background:var(--color-accent);border-radius:9px;place-items:center;width:26px;height:26px;display:grid}@supports (color:color-mix(in lab, red, red)){.admin-guide li>span{background:color-mix(in srgb, var(--color-accent) 10%, var(--color-surface))}}.admin-guide li>span{color:var(--color-accent);font-variant-numeric:tabular-nums;font-size:11px;font-weight:780}.admin-guide li strong{font-size:12px;display:block}.admin-guide li p{color:var(--color-foreground-muted);margin:4px 0 0;font-size:11px;line-height:1.45}.admin-workspace{grid-template-columns:minmax(300px,360px) minmax(0,1fr);align-items:start;gap:22px;display:grid}.admin-operators{border:1px solid var(--color-border-subtle);background:var(--color-surface);border-radius:20px;overflow:hidden;box-shadow:0 3px 14px #0000000b}.admin-team-heading{justify-content:space-between;align-items:flex-start;gap:24px;padding:24px;display:flex}.admin-team-heading h2,.admin-team-heading p{margin:0}.admin-team-heading h2{letter-spacing:-.04em;text-wrap:balance;margin-top:4px;font-size:24px}.admin-team-heading p:not(.eyebrow){max-width:660px;color:var(--color-foreground-muted);margin-top:7px;font-size:12px;line-height:1.55}.admin-team-heading>span{background:var(--color-surface-subtle);color:var(--color-foreground-muted);border-radius:999px;flex:none;padding:7px 10px;font-size:10px;font-weight:700}.admin-operators-body{border-top:1px solid var(--color-border-subtle);gap:16px;padding:22px 24px 24px;display:grid}.admin-operator-grant{background:var(--color-surface-subtle);border-radius:14px;grid-template-columns:minmax(220px,.8fr) minmax(220px,1fr) auto;align-items:end;gap:12px;padding:14px;display:grid}.admin-operator-grant label,.admin-operator-confirm label{color:var(--color-foreground);gap:7px;font-size:11px;font-weight:680;display:grid}.admin-operator-grant input,.admin-operator-confirm input,.admin-operator-confirm textarea{border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-width:0;min-height:42px;color:var(--color-foreground);font:inherit;border-radius:11px;padding:9px 11px;font-size:12px}.admin-operator-confirm textarea{resize:vertical;min-height:70px}.admin-operator-grant input:focus-visible,.admin-operator-confirm input:focus-visible,.admin-operator-confirm textarea:focus-visible{border-color:var(--color-focus);outline:3px solid var(--color-focus);outline-offset:1px}.admin-operator-grant>p{color:var(--color-foreground-muted);grid-column:1/-1;margin:-2px 0 0;font-size:10px;line-height:1.45}.admin-operators-body>.admin-banner{margin:0}.admin-operator-loading{gap:8px;display:grid}.admin-operator-loading span{background:linear-gradient(100deg, var(--color-surface-subtle) 30%, var(--color-surface) 48%, var(--color-surface-subtle) 66%);background-size:240% 100%;border-radius:12px;height:64px;animation:1.5s ease-in-out infinite loading-sheen}.admin-operator-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.admin-operator-list>li{border:1px solid var(--color-border-subtle);content-visibility:auto;contain-intrinsic-size:auto 72px;border-radius:13px;grid-template-columns:minmax(220px,1fr) minmax(180px,auto) auto;align-items:center;gap:10px 18px;padding:12px 14px;display:grid}.admin-operator-identity{gap:4px;min-width:0;display:grid}.admin-operator-identity strong,.admin-operator-identity code{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-operator-identity strong{font-size:12px}.admin-operator-identity code{color:var(--color-foreground-muted);font-size:9px}.admin-operator-meta{color:var(--color-foreground-muted);flex-wrap:wrap;align-items:center;gap:7px;font-size:10px;display:flex}.admin-operator-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.admin-operator-actions>span{color:var(--color-foreground-muted);align-self:center;font-size:10px}.admin-operator-confirm{background:var(--color-surface-subtle);border-radius:11px;grid-column:1/-1;gap:10px;padding:12px;display:grid}.admin-operator-confirm>p{color:var(--color-foreground-muted);margin:0;font-size:11px;line-height:1.45}.admin-operator-confirm>code{overflow-wrap:anywhere;color:var(--color-foreground);font-size:10px}.admin-operator-confirm>div{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.admin-operators .admin-pagination{grid-template-columns:auto auto auto;justify-content:end}.admin-book-list-panel{border:1px solid var(--color-border-subtle);background:var(--color-surface);border-radius:20px;max-height:calc(100dvh - 104px);display:grid;position:sticky;top:82px;overflow:hidden;box-shadow:0 2px 10px #0000000d}.admin-panel-heading{border-bottom:1px solid var(--color-border-subtle);justify-content:space-between;align-items:center;gap:12px;padding:15px 14px 14px 18px;display:flex}.admin-panel-heading h2,.admin-panel-heading p{margin:0}.admin-panel-heading h2{letter-spacing:-.025em;font-size:18px}.admin-panel-heading p{color:var(--color-foreground-muted);margin-top:3px;font-size:11px}.admin-catalog-filters{border-bottom:1px solid var(--color-border-subtle);grid-template-columns:1fr 1fr;gap:9px;padding:11px;display:grid}.admin-catalog-filters label{min-width:0;color:var(--color-foreground-muted);gap:5px;font-size:10px;font-weight:680;display:grid}.admin-catalog-filters .admin-search-field{grid-column:1/-1}.admin-catalog-filters input,.admin-catalog-filters select{border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-width:0;min-height:40px;color:var(--color-foreground);font:inherit;border-radius:10px;padding:8px 10px;font-size:12px}.admin-catalog-filters input:focus-visible,.admin-catalog-filters select:focus-visible{border-color:var(--color-focus);outline:3px solid var(--color-focus);outline-offset:1px}.admin-book-list{overscroll-behavior:contain;scrollbar-gutter:stable;min-height:0;margin:0;padding:7px;list-style:none;overflow-y:auto}.admin-book-list li{content-visibility:auto;contain-intrinsic-size:auto 96px}.admin-book-list button{width:100%;min-height:88px;color:inherit;font:inherit;text-align:left;transition:background var(--motion-state) ease, border-color var(--motion-state) ease;background:0 0;border:1px solid #0000;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;gap:8px 10px;padding:12px;display:grid}.admin-book-list button:hover{background:var(--color-surface-subtle)}.admin-book-list button:focus-visible{border-color:var(--color-focus);outline:3px solid var(--color-focus);outline-offset:1px}.admin-book-list button.is-selected{border-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.admin-book-list button.is-selected{border-color:color-mix(in srgb, var(--color-accent) 30%, var(--color-border))}}.admin-book-list button.is-selected{background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.admin-book-list button.is-selected{background:color-mix(in srgb, var(--color-accent) 8%, var(--color-surface))}}.admin-book-list button:disabled{cursor:not-allowed;opacity:.55}.admin-book-row-title{align-content:start;gap:3px;min-width:0;display:grid}.admin-book-row-title strong,.admin-book-row-title small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-book-row-title strong{font-size:13px;line-height:1.3}.admin-book-row-title small,.admin-book-row-meta{color:var(--color-foreground-muted);font-size:10px}.admin-book-row-meta{font-variant-numeric:tabular-nums;grid-column:1/-1;justify-content:space-between;align-items:center;gap:10px;display:flex}.admin-status{background:var(--color-surface-subtle);min-height:24px;color:var(--color-foreground-muted);white-space:nowrap;border-radius:999px;align-items:center;padding:4px 8px;font-size:10px;font-weight:750;display:inline-flex}.admin-status--draft{background:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.admin-status--draft{background:color-mix(in srgb, var(--color-warning) 12%, var(--color-surface))}}.admin-status--draft{color:var(--color-warning-text)}.admin-status--in_review{background:var(--color-info)}@supports (color:color-mix(in lab, red, red)){.admin-status--in_review{background:color-mix(in srgb, var(--color-info) 12%, var(--color-surface))}}.admin-status--in_review{color:var(--color-info-text)}.admin-status--approved,.admin-status--published{background:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.admin-status--approved,.admin-status--published{background:color-mix(in srgb, var(--color-success) 12%, var(--color-surface))}}.admin-status--approved,.admin-status--published{color:var(--color-success-text)}.admin-status--active{background:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.admin-status--active{background:color-mix(in srgb, var(--color-success) 12%, var(--color-surface))}}.admin-status--active{color:var(--color-success-text)}.admin-status--revoked{background:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.admin-status--revoked{background:color-mix(in srgb, var(--color-error) 10%, var(--color-surface))}}.admin-status--revoked{color:var(--color-error-text)}.admin-status--rejected{background:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.admin-status--rejected{background:color-mix(in srgb, var(--color-error) 10%, var(--color-surface))}}.admin-status--rejected{color:var(--color-error-text)}.admin-pagination{border-top:1px solid var(--color-border-subtle);grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:10px;display:grid}.admin-pagination .ui-button:last-child{justify-self:end}.admin-pagination>span{color:var(--color-foreground-muted);font-variant-numeric:tabular-nums;font-size:11px}.admin-list-loading{gap:8px;padding:10px;display:grid}.admin-list-loading span{background:linear-gradient(100deg, var(--color-surface-subtle) 30%, var(--color-surface) 48%, var(--color-surface-subtle) 66%);background-size:240% 100%;border-radius:13px;height:82px;animation:1.5s ease-in-out infinite loading-sheen}.admin-inline-error,.admin-empty-list{color:var(--color-foreground-muted);justify-items:start;gap:10px;padding:24px 18px;display:grid}.admin-inline-error p,.admin-empty-list h3,.admin-empty-list p{margin:0}.admin-empty-list h3{color:var(--color-foreground);font-size:16px}.admin-editor-panel{min-width:0}.admin-editor-placeholder{border:1px dashed var(--color-border);min-height:420px;color:var(--color-foreground-muted);text-align:center;border-radius:22px;place-items:center;padding:30px;display:grid}.admin-editor-placeholder h2,.admin-editor-placeholder p{margin:0}.admin-editor-placeholder p{max-width:430px;margin-top:8px;line-height:1.55}.admin-draft-starter{gap:24px;width:min(100%,660px);margin:0 auto;padding:clamp(24px,4vw,40px);display:grid}.admin-draft-starter>div{gap:8px;display:grid}.admin-draft-starter h2,.admin-draft-starter p{margin:0}.admin-draft-starter h2{letter-spacing:-.04em;font-size:clamp(24px,3vw,32px)}.admin-draft-starter>div>p:not(.eyebrow){max-width:560px;color:var(--color-foreground-muted);line-height:1.55}.admin-draft-starter form{justify-items:start;gap:14px;display:grid}.admin-draft-starter .admin-field{width:100%}.admin-draft-starter textarea{resize:vertical;min-height:112px}.admin-draft-starter .admin-banner{width:100%;margin:0}.admin-book-editor{border-radius:22px;padding:0;overflow:clip}.admin-import-panel{border:1px dashed var(--color-accent);justify-content:space-between;align-items:center;gap:18px;margin:18px clamp(18px,3vw,30px) 0;display:flex}@supports (color:color-mix(in lab, red, red)){.admin-import-panel{border:1px dashed color-mix(in srgb, var(--color-accent) 45%, var(--color-border))}}.admin-import-panel{background:var(--color-accent);border-radius:15px}@supports (color:color-mix(in lab, red, red)){.admin-import-panel{background:color-mix(in srgb, var(--color-accent) 4%, var(--color-surface))}}.admin-import-panel{padding:15px}.admin-import-panel h3,.admin-import-panel p{margin:0}.admin-import-panel h3{font-size:14px}.admin-import-panel p{max-width:620px;color:var(--color-foreground-muted);margin-top:4px;font-size:11px;line-height:1.45}.admin-import-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:7px;display:flex}.admin-import-actions label{cursor:pointer;position:relative;overflow:hidden}.admin-import-actions input[type=file]{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute}.admin-editor-heading{border-bottom:1px solid var(--color-border-subtle);padding:22px clamp(18px,3vw,30px)}.admin-editor-heading h2{overflow-wrap:anywhere;letter-spacing:-.04em;margin:0;font-size:clamp(24px,3vw,32px)}.admin-editor-heading h2,.admin-section-heading h3,.admin-gate h2{text-wrap:balance}.admin-editor-heading .eyebrow{margin-bottom:7px}.admin-editor-status-line{color:var(--color-foreground-muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:12px;font-size:11px;display:flex}.admin-editor-action-dock{z-index:30;border-block:1px solid var(--color-border-subtle);background:var(--color-surface);justify-content:space-between;align-items:center;gap:18px;min-height:68px;display:flex;position:sticky;top:72px}@supports (color:color-mix(in lab, red, red)){.admin-editor-action-dock{background:color-mix(in srgb, var(--color-surface) 94%, transparent)}}.admin-editor-action-dock{-webkit-backdrop-filter:blur(20px)saturate(145%);backdrop-filter:blur(20px)saturate(145%);padding:11px clamp(18px,3vw,30px);box-shadow:0 8px 22px #0000000f}.admin-editor-action-dock.is-unsaved{border-color:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.admin-editor-action-dock.is-unsaved{border-color:color-mix(in srgb, var(--color-warning) 34%, var(--color-border-subtle))}}.admin-editor-action-dock.is-unsaved{background:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.admin-editor-action-dock.is-unsaved{background:color-mix(in srgb, var(--color-warning) 7%, var(--color-surface))}}.admin-editor-action-dock.is-ready{border-color:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.admin-editor-action-dock.is-ready{border-color:color-mix(in srgb, var(--color-success) 30%, var(--color-border-subtle))}}.admin-editor-action-dock.is-ready{background:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.admin-editor-action-dock.is-ready{background:color-mix(in srgb, var(--color-success) 6%, var(--color-surface))}}.admin-editor-action-dock.is-invalid{border-color:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.admin-editor-action-dock.is-invalid{border-color:color-mix(in srgb, var(--color-error) 28%, var(--color-border-subtle))}}.admin-editor-action-dock.is-invalid{background:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.admin-editor-action-dock.is-invalid{background:color-mix(in srgb, var(--color-error) 5%, var(--color-surface))}}.admin-editor-action-copy{gap:3px;min-width:0;display:grid}.admin-editor-action-copy strong{color:var(--color-foreground);font-size:12px}.admin-editor-action-copy span{color:var(--color-foreground-muted);font-size:10px;line-height:1.4}.admin-editor-action-dock>.ui-button{flex:none}.admin-editor-form>fieldset{border:0;min-width:0;margin:0;padding:0}.admin-editor-section,.admin-workflow{border-bottom:1px solid var(--color-border-subtle);gap:18px;padding:24px clamp(18px,3vw,30px);display:grid}.admin-section-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.admin-section-heading h3,.admin-section-heading p{margin:0}.admin-section-heading h3{letter-spacing:-.02em;font-size:17px}.admin-section-heading p{max-width:660px;color:var(--color-foreground-muted);margin-top:5px;font-size:12px;line-height:1.5}.admin-section-heading>span{background:var(--color-surface-subtle);color:var(--color-foreground-muted);border-radius:999px;flex:none;padding:6px 10px;font-size:10px;font-weight:700}.admin-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;display:grid}.admin-fields--primary{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-field{min-width:0;color:var(--color-foreground-muted);align-content:start;gap:7px;font-size:11px;font-weight:680;display:grid}.admin-field>span{color:var(--color-foreground)}.admin-field small,.admin-field-note{color:var(--color-foreground-muted);font-size:10px;font-weight:500;line-height:1.45}.admin-field input,.admin-field select,.admin-field textarea{border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-width:0;color:var(--color-foreground);font:inherit;border-radius:12px;padding:10px 12px;font-size:13px;font-weight:500}.admin-field input,.admin-field select{min-height:42px}.admin-field textarea{resize:vertical;line-height:1.55}.admin-field input[type=color]{width:74px;padding:5px}.admin-field input:focus-visible,.admin-field select:focus-visible,.admin-field textarea:focus-visible{border-color:var(--color-focus);outline:3px solid var(--color-focus);outline-offset:1px}.admin-editor-form fieldset:disabled .admin-field input,.admin-editor-form fieldset:disabled .admin-field select,.admin-editor-form fieldset:disabled .admin-field textarea{opacity:.82}.admin-check-row{flex-wrap:wrap;gap:10px 20px;display:flex}.admin-check{min-height:34px;color:var(--color-foreground);align-items:center;gap:8px;font-size:12px;font-weight:600;display:inline-flex}.admin-check input{width:18px;height:18px;accent-color:var(--color-accent);margin:0}.admin-warning-fieldset{border:1px solid var(--color-border-subtle);border-radius:14px;margin:0;padding:14px}.admin-warning-fieldset legend{color:var(--color-foreground);padding:0 6px;font-size:11px;font-weight:700}.admin-warning-fieldset>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 14px;display:grid}.admin-cover-editor{grid-template-columns:minmax(150px,210px) minmax(0,1fr);align-items:start;gap:22px;display:grid}.admin-cover-preview{aspect-ratio:2/3;background:linear-gradient(145deg, var(--admin-cover-color,#2457c5), var(--admin-cover-color,#2457c5));border-radius:16px;place-items:center;display:grid;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.admin-cover-preview{background:linear-gradient(145deg, var(--admin-cover-color,#2457c5), color-mix(in srgb, var(--admin-cover-color,#2457c5) 55%, black))}}.admin-cover-preview{box-shadow:0 14px 32px var(--admin-cover-color,#2457c5)}@supports (color:color-mix(in lab, red, red)){.admin-cover-preview{box-shadow:0 14px 32px color-mix(in srgb, var(--admin-cover-color,#2457c5) 25%, transparent)}}.admin-cover-preview{color:#fff}.admin-cover-preview img{object-fit:cover;width:100%;height:100%}.admin-cover-preview>span{text-transform:uppercase;opacity:.88;font-family:Georgia,serif;font-size:42px}.admin-cover-editor>div:last-child{gap:14px;display:grid}.admin-object-key{color:var(--color-foreground-muted);gap:4px;margin:0;font-size:10px;display:grid}.admin-object-key code{background:var(--color-surface-subtle);color:var(--color-foreground);text-overflow:ellipsis;white-space:nowrap;border-radius:8px;padding:7px 9px;font-size:10px;overflow:hidden}.admin-cover-upload{background:var(--color-surface-subtle);border-radius:14px;gap:10px;padding:13px;display:grid}.admin-cover-upload>label{color:var(--color-foreground);gap:7px;font-size:11px;font-weight:700;display:grid}.admin-cover-upload input[type=file]{width:100%;color:var(--color-foreground-muted);font-size:11px}.admin-cover-upload>div{justify-content:space-between;align-items:center;gap:10px;display:flex}.admin-cover-upload>div>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:11px;overflow:hidden}.admin-cover-upload>small{color:var(--color-foreground-muted);font-size:10px;line-height:1.45}.admin-chapter-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.admin-chapter-list>li{min-width:0}.admin-chapter-list details{border:1px solid var(--color-border-subtle);background:var(--color-surface);border-radius:14px;overflow:hidden}.admin-chapter-list summary{cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:58px;padding:10px 14px;display:grid}.admin-chapter-list summary>span,.admin-chapter-list summary>small{color:var(--color-foreground-muted);font-size:10px}.admin-chapter-list summary>strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.admin-chapter-list details[open] summary{border-bottom:1px solid var(--color-border-subtle)}.admin-chapter-editor{gap:14px;padding:16px;display:grid}.admin-chapter-editor textarea{min-height:220px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.admin-chapter-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.admin-content-size{color:var(--color-foreground-muted);font-variant-numeric:tabular-nums;justify-self:end;margin:-4px 0 0;font-size:10px}.admin-content-size.is-over{color:var(--color-error-text);font-weight:700}.admin-workflow{background:var(--color-accent);border-bottom:0}@supports (color:color-mix(in lab, red, red)){.admin-workflow{background:color-mix(in srgb, var(--color-accent) 2.5%, var(--color-surface))}}.admin-workflow{scroll-margin-top:152px}.admin-workflow-actions{flex-wrap:wrap;gap:9px;display:flex}.admin-history{border:1px solid var(--color-border-subtle);background:var(--color-surface);border-radius:14px;overflow:hidden}.admin-history>summary{cursor:pointer;min-height:46px;color:var(--color-foreground);padding:14px 16px;font-size:12px;font-weight:720}.admin-history[open]>summary{border-bottom:1px solid var(--color-border-subtle)}.admin-history>div{padding:10px}.admin-history>div>p{color:var(--color-foreground-muted);margin:8px;font-size:11px}.admin-history ol{gap:7px;margin:0;padding:0;list-style:none;display:grid}.admin-history li{background:var(--color-surface-subtle);content-visibility:auto;contain-intrinsic-size:auto 78px;border-radius:11px;grid-template-columns:minmax(0,1fr) auto;gap:7px 12px;padding:10px 10px 10px 12px;display:grid}.admin-history li[aria-current=true]{box-shadow:inset 3px 0 0 var(--color-accent)}.admin-history li>div{flex-wrap:wrap;align-items:center;gap:7px;min-width:0;display:flex}.admin-history li>div strong{font-size:12px}.admin-history li time{color:var(--color-foreground-muted);font-size:10px}.admin-history li>p{color:var(--color-foreground-muted);text-overflow:ellipsis;white-space:nowrap;grid-column:1;margin:0;font-size:11px;line-height:1.4;overflow:hidden}.admin-history li>.ui-button{grid-area:1/2/span 2}.admin-validation{border-radius:14px;gap:10px;padding:13px 15px;font-size:12px;display:grid}.admin-validation.is-valid{background:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.admin-validation.is-valid{background:color-mix(in srgb, var(--color-success) 10%, var(--color-surface))}}.admin-validation.is-valid{color:var(--color-success-text)}.admin-validation.is-invalid{background:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.admin-validation.is-invalid{background:color-mix(in srgb, var(--color-error) 8%, var(--color-surface))}}.admin-validation.is-invalid{color:var(--color-error-text)}.admin-validation ul{gap:8px;margin:0;padding-left:18px;display:grid}.admin-validation li{gap:2px;display:grid}.admin-validation code{font-size:10px}.admin-banner{border-radius:13px;justify-content:space-between;align-items:center;gap:14px;margin:14px clamp(18px,3vw,30px) 0;padding:12px 14px;font-size:12px;line-height:1.45;display:flex}.admin-banner p{margin:0}p.admin-banner{margin-top:14px}.admin-banner--error{background:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.admin-banner--error{background:color-mix(in srgb, var(--color-error) 9%, var(--color-surface))}}.admin-banner--error{color:var(--color-error-text)}.admin-banner--success{background:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.admin-banner--success{background:color-mix(in srgb, var(--color-success) 10%, var(--color-surface))}}.admin-banner--success{color:var(--color-success-text)}.admin-gate{text-align:center;align-content:center;justify-items:center;gap:13px;width:min(100%,560px);min-height:360px;margin:30px auto;padding:36px;display:grid}.admin-gate h2,.admin-gate p{margin:0}.admin-gate h2{letter-spacing:-.04em;font-size:26px}.admin-gate p{max-width:440px;color:var(--color-foreground-muted);line-height:1.55}.admin-gate>div{flex-wrap:wrap;justify-content:center;gap:9px;margin-top:5px;display:flex}.admin-workspace-loading{grid-template-columns:320px minmax(0,1fr);gap:18px;display:grid}.admin-workspace-loading span,.admin-editor-loading{background:linear-gradient(100deg, var(--color-surface-subtle) 30%, var(--color-surface) 48%, var(--color-surface-subtle) 66%);background-size:240% 100%;border-radius:20px;min-height:480px;animation:1.5s ease-in-out infinite loading-sheen}.admin-editor-error{align-content:center;justify-items:start;gap:10px;min-height:320px;display:grid}.admin-editor-error h2,.admin-editor-error p{margin:0}.admin-editor-error p{color:var(--color-foreground-muted)}@media (max-width:1050px){.reader-statusbar{left:max(12px, env(safe-area-inset-left));right:max(12px, env(safe-area-inset-right));bottom:calc(var(--app-tabbar-height,70px) + 12px + env(safe-area-inset-bottom));position:fixed}.reader-shell{padding-bottom:calc(var(--app-tabbar-height,70px) + 84px)}.dashboard-grid{grid-template-columns:1fr}.screen-loading{grid-template-rows:180px 100px 100px;grid-template-columns:1fr}.screen-loading i:last-child{grid-column:auto}.book-grid,.word-canvas-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.achievement-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.progress-breakdown-list.is-level{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-workspace{grid-template-columns:minmax(260px,300px) minmax(0,1fr)}.admin-fields,.admin-warning-fieldset>div{grid-template-columns:repeat(2,minmax(0,1fr))}.app-sidebar{display:none}.app-stage{margin-left:0}.mobile-app-bar{z-index:25;min-height:calc(64px + env(safe-area-inset-top));border-bottom:1px solid var(--color-border-subtle);background:var(--color-surface);justify-content:space-between;align-items:center;gap:16px;display:flex;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.mobile-app-bar{background:color-mix(in srgb, var(--color-surface) 92%, transparent)}}.mobile-app-bar{padding:max(8px, env(safe-area-inset-top)) max(clamp(22px, 5vw, 40px), env(safe-area-inset-right)) 8px max(clamp(22px, 5vw, 40px), env(safe-area-inset-left));-webkit-backdrop-filter:blur(20px)saturate(140%);backdrop-filter:blur(20px)saturate(140%)}.mobile-app-bar>a{min-height:44px;color:var(--color-accent);align-items:center;gap:10px;font-size:13px;font-weight:680;text-decoration:none;display:flex}.mobile-app-bar>a:first-child{color:var(--color-foreground);font-size:15px}.mobile-app-bar .brand-mark{border-radius:11px;width:34px;height:34px;font-size:12px}.app-content{padding:28px max(clamp(22px, 5vw, 40px), env(safe-area-inset-right)) calc(128px + env(safe-area-inset-bottom)) max(clamp(22px, 5vw, 40px), env(safe-area-inset-left))}.app-navigation--bottom{z-index:30;bottom:max(12px, env(safe-area-inset-bottom));width:min(calc(100% - 24px - env(safe-area-inset-left) - env(safe-area-inset-right)), 620px);border:1px solid var(--color-border-subtle);background:var(--color-surface);border-radius:22px;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;left:50%;transform:translate(-50%)}@supports (color:color-mix(in lab, red, red)){.app-navigation--bottom{background:color-mix(in srgb, var(--color-surface) 90%, transparent)}}.app-navigation--bottom{-webkit-backdrop-filter:blur(22px)saturate(140%);backdrop-filter:blur(22px)saturate(140%);padding:7px;box-shadow:0 14px 42px #00000024}.app-navigation--bottom a{border-radius:16px;flex-direction:column;justify-content:center;gap:3px;min-width:0;min-height:54px;font-size:10px}.update-banner{right:auto;bottom:calc(max(12px, env(safe-area-inset-bottom)) + 82px);width:min(calc(100% - 32px - env(safe-area-inset-left) - env(safe-area-inset-right)), 620px);max-width:none;left:50%;transform:translate(-50%)}.inline-status.vocabulary-action-notice{right:16px;bottom:calc(98px + env(safe-area-inset-bottom));text-align:center;width:auto;max-width:none;left:16px}}@media (hover:hover){.text-link:hover,.auth-back:hover,.auth-forgot:hover,.onboarding-auth-trigger:hover,.calibration-topbar>button:hover,.text-button:hover{text-underline-offset:3px;text-decoration:underline}.segmented-control button:hover,.auth-mode button:hover{background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.segmented-control button:hover,.auth-mode button:hover{background:color-mix(in srgb, var(--color-accent) 8%, transparent)}}.segmented-control button:hover,.auth-mode button:hover{color:var(--color-foreground)}.apple-sign-in:hover{background:#202124}.apple-auth-progress button:hover{text-underline-offset:3px;text-decoration:underline}.locale-links a:hover,.profile-links a:hover{background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.locale-links a:hover,.profile-links a:hover{background:color-mix(in srgb, var(--color-accent) 9%, var(--color-surface))}}.locale-links a:hover,.profile-links a:hover{color:var(--color-accent)}.word-detail-close:hover,.reader-word-close:hover,.auth-dialog-close:hover{border-color:var(--color-accent);background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.word-detail-close:hover,.reader-word-close:hover,.auth-dialog-close:hover{background:color-mix(in srgb, var(--color-accent) 10%, var(--color-surface))}}.word-detail-close:hover,.reader-word-close:hover,.auth-dialog-close:hover{color:var(--color-accent)}.onboarding-options button:hover,.onboarding-methods button:hover,.pace-options button:hover{border-color:var(--color-accent);transform:translateY(-1px)}}.text-link:active,.auth-back:active,.auth-forgot:active,.onboarding-auth-trigger:active,.calibration-topbar>button:active,.text-button:active,.segmented-control button:active,.auth-mode button:active,.locale-links a:active,.profile-links a:active,.word-detail-close:active,.reader-word-close:active,.auth-dialog-close:active,.onboarding-options button:active,.onboarding-methods button:active,.pace-options button:active{transform:scale(.98)}@media (max-width:760px){.mobile-app-bar{padding-inline:max(16px, env(safe-area-inset-left)) max(16px, env(safe-area-inset-right))}.app-content{padding:24px max(10px, env(safe-area-inset-right)) calc(124px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left))}.page-heading{flex-direction:column;align-items:flex-start;margin-bottom:22px}.page-heading h1{font-size:32px}.learn-session-preview{gap:20px;padding:26px 18px}.learn-session-plan{grid-template-columns:repeat(2,minmax(0,1fr))}.learn-session-plan>div:last-child{grid-column:1/-1}.review-session-summary__row{grid-template-columns:1fr auto;gap:4px 12px}.review-session-summary__row strong{text-align:center;grid-area:1/1/auto/-1}.review-session-summary__label{grid-area:2/1}.review-session-summary__time{grid-area:2/2}.session-card{min-height:230px}.hero-metric{font-size:58px}.home-summary{padding-inline:18px}.home-summary>div{min-height:62px}.reading-card{grid-template-columns:1fr}.reading-card .text-link{grid-column:1/-1}.review-card{min-height:500px;padding:22px 16px 28px}.review-prompt{margin-top:50px}.mc4-options,.production-form{grid-template-columns:1fr}.vocabulary-toolbar{flex-direction:column;align-items:stretch}.vocabulary-select-toggle{width:100%}.vocabulary-selection-toolbar{flex-direction:column;align-items:stretch}.vocabulary-selection-toolbar button{min-height:44px}.vocabulary-selection-toolbar span{padding-inline:6px}.level-select{flex-basis:auto}.word-canvas-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.word-detail-backdrop{padding:max(12px, env(safe-area-inset-top)) 0 0;align-items:end}.word-detail{width:100%;max-height:calc(100dvh - max(12px, env(safe-area-inset-top)));border-radius:24px 24px 0 0}.word-detail-scroll{padding:18px max(18px, env(safe-area-inset-right)) max(28px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));grid-template-columns:1fr;gap:20px}.word-detail-visual{justify-self:center;width:min(100%,420px)}.word-detail-header{padding-left:max(18px, env(safe-area-inset-left));padding-right:max(10px, env(safe-area-inset-right))}.word-detail-title{align-items:flex-start}.word-detail-title h2{font-size:38px}.word-detail-actions{grid-template-columns:1fr}.word-detail-actions>:only-child{grid-column:auto}.word-detail-remove-confirm{flex-direction:column;align-items:stretch}.word-detail-remove-confirm>div{grid-template-columns:1fr 1fr;display:grid}.vocabulary-selection-actions{bottom:calc(86px + env(safe-area-inset-bottom));width:100%}.vocabulary-selection-actions .ui-button{flex:1;min-width:0}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.library-toolbar{flex-direction:column;align-items:stretch}.segmented-control{grid-template-columns:1fr 1fr;display:grid}.segmented-control:has(>:only-child){grid-template-columns:1fr}.segmented-control button{justify-content:center}.library-filter{justify-content:space-between}.library-account-note{flex-wrap:wrap;align-items:flex-start}.reader-paper{padding:24px 14px}.reader-copy{font-size:calc(22px * var(--reader-scale,1));line-height:var(--reader-leading,1.75)}.reader-copy--paged{columns:calc(100vw - 84px);column-gap:42px}.reader-word-backdrop{width:100vw;padding:max(24px, env(safe-area-inset-top)) 0 0;align-items:end}.reader-word-dialog{border-bottom:0;border-radius:24px 24px 0 0;width:100%;height:min(82dvh,680px);max-height:min(82dvh,680px)}.reader-word-header{padding-left:max(18px, env(safe-area-inset-left));padding-right:max(10px, env(safe-area-inset-right))}.reader-word-body{padding:20px max(18px, env(safe-area-inset-right)) max(28px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left))}.reader-word-translation{flex-direction:column;align-items:flex-start;gap:10px}.reader-word-body>.ui-button{width:100%}.reader-word-actions{grid-template-columns:1fr}.reader-word-actions>:only-child{grid-column:auto}.auth-dialog-backdrop{padding:max(12px, env(safe-area-inset-top)) 0 0;align-items:end}.auth-dialog{width:100%;max-height:calc(100dvh - max(12px, env(safe-area-inset-top)));border-bottom:0;border-radius:24px 24px 0 0}.auth-dialog-header{padding-left:max(18px, env(safe-area-inset-left));padding-right:max(10px, env(safe-area-inset-right))}.auth-dialog-body{padding:22px max(18px, env(safe-area-inset-right)) max(30px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left))}.reader-navigation{grid-template-columns:1fr 1fr}.reader-navigation>span{display:none}.profile-hero{grid-template-columns:auto 1fr}.profile-hero .primary-link,.profile-hero .ui-button{grid-column:1/-1;justify-self:stretch}.profile-session-error{flex-direction:column;align-items:stretch}.settings-list .ui-card{align-items:stretch;gap:12px;padding:16px;grid-template-columns:1fr!important}.profile-setting-row>select,.profile-setting-row>.text-link,.profile-setting-row>.ui-button,.profile-setting-row>.inline-setting-form,.profile-setting-row>.locale-links{width:100%}.inline-setting-form{flex-wrap:wrap;justify-content:stretch;align-items:stretch}.inline-setting-form label{min-width:100%}.progress-actions,.progress-overview,.progress-detail-grid{grid-template-columns:1fr}.progress-today dl{grid-template-columns:repeat(2,1fr);row-gap:18px}.progress-today dl>div:nth-child(3){border-left:0;padding-left:0}.progress-knowledge{grid-template-columns:1fr}.progress-knowledge>button{min-height:96px}.progress-breakdown-heading{flex-direction:column;align-items:stretch}.progress-breakdown-heading .progress-segmented{width:100%}.progress-breakdown-heading .progress-segmented button{flex:1}.progress-breakdown-list,.progress-breakdown-list.is-level,.achievement-grid,.achievement-grid.is-expanded{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-dialog-backdrop{padding:max(12px, env(safe-area-inset-top)) 0 0;align-items:end}.progress-dialog{width:100%;max-height:calc(100dvh - max(12px, env(safe-area-inset-top)));border-bottom:0;border-radius:24px 24px 0 0}.progress-dialog-header{padding-left:max(18px, env(safe-area-inset-left));padding-right:max(10px, env(safe-area-inset-right))}.progress-dialog-toolbar{padding-inline:max(18px, env(safe-area-inset-left)) max(18px, env(safe-area-inset-right));grid-template-columns:1fr}.progress-dialog-toolbar .progress-segmented{grid-template-columns:1fr 1fr;display:grid}.progress-dialog-content{padding-inline:max(18px, env(safe-area-inset-left)) max(18px, env(safe-area-inset-right));padding-bottom:max(28px, env(safe-area-inset-bottom))}.progress-word-group li{grid-template-columns:minmax(0,1fr) auto;column-gap:12px}.progress-word-actions{grid-column:1/-1}.progress-goal-options{padding-inline:max(18px, env(safe-area-inset-left)) max(18px, env(safe-area-inset-right));grid-template-columns:repeat(2,minmax(0,1fr))}.progress-goal-options button{min-height:92px}.progress-goal-actions{padding-bottom:max(14px, env(safe-area-inset-bottom))}.progress-share-card{grid-template-columns:minmax(0,1fr)}.progress-share-card>div,.progress-share-card>div>div{min-width:0}.progress-share-card>.ui-button{width:100%}.activity-heatmap{grid-template-columns:repeat(6,minmax(16px,1fr))}.milestone-grid{grid-template-columns:1fr}.onboarding-shell,.calibration-shell{padding:max(14px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(40px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left))}.onboarding-topbar{grid-template-columns:48px minmax(0,1fr) auto;gap:8px}.calibration-topbar{grid-template-columns:minmax(0,1fr) auto;gap:8px}.calibration-topbar>.onboarding-progress{grid-column:1}.calibration-topbar>button{grid-column:2}.onboarding-auth-trigger{white-space:nowrap;align-items:center;min-height:44px;padding-inline:6px;display:inline-flex}.onboarding-sign-in-long{display:none}.onboarding-sign-in-short{display:inline}.onboarding-promises,.onboarding-methods{grid-template-columns:1fr}.onboarding-promises{gap:0}.onboarding-promises li{border-left:0;border-top:1px solid var(--color-border-subtle);min-height:0;padding:15px 0}.onboarding-promises li:first-child{border-top:0;padding-left:0}.pace-options{grid-template-columns:repeat(2,1fr)}.calibration-word-card{min-height:280px;padding:28px 18px}.calibration-actions,.calibration-options{grid-template-columns:1fr}.admin-topbar{padding-inline:max(14px, env(safe-area-inset-left)) max(14px, env(safe-area-inset-right))}.admin-topbar small{display:none}.admin-main{padding:24px max(14px, env(safe-area-inset-right)) max(44px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left))}.admin-main>.page-heading{margin-bottom:18px}.admin-control-bar{flex-direction:column;align-items:stretch;gap:0}.admin-tabs button{flex:1}.admin-identity{border-top:1px solid var(--color-border-subtle);justify-content:flex-start;min-height:44px}.admin-guide-heading{flex-direction:column;align-items:stretch;padding:20px}.admin-guide-heading .ui-button{width:100%}.admin-guide ol{grid-template-columns:minmax(0,1fr)}.admin-guide li{padding:15px 18px}.admin-guide li+li{border-top:1px solid var(--color-border-subtle);border-left:0}.admin-team-heading{flex-direction:column;align-items:stretch;padding:20px}.admin-team-heading>span{align-self:flex-start}.admin-operators-body{padding:20px}.admin-workspace,.admin-workspace-loading{grid-template-columns:minmax(0,1fr)}.admin-operator-grant{grid-template-columns:minmax(0,1fr);align-items:stretch}.admin-operator-grant .ui-button{width:100%}.admin-operator-list>li{grid-template-columns:minmax(0,1fr);align-items:stretch}.admin-operator-actions{justify-content:flex-start}.admin-book-list-panel{max-height:min(52dvh,540px);position:static}.admin-import-panel{flex-direction:column;align-items:stretch}.admin-import-actions{justify-content:flex-start}.admin-editor-placeholder{min-height:220px}.admin-fields,.admin-fields--primary{grid-template-columns:minmax(0,1fr)}.admin-warning-fieldset>div{gap-inline:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-cover-editor{grid-template-columns:minmax(110px,150px) minmax(0,1fr);gap:16px}.admin-section-heading{flex-direction:column;align-items:stretch}.admin-section-heading>.ui-button{width:100%}.admin-editor-action-dock{top:calc(64px + env(safe-area-inset-top))}.admin-chapter-list summary{grid-template-columns:auto minmax(0,1fr)}.admin-chapter-list summary>small{grid-column:2}.admin-workflow-actions .ui-button{flex:160px}.admin-history li{grid-template-columns:minmax(0,1fr)}.admin-history li>p,.admin-history li>.ui-button{grid-area:auto/1}.admin-history li>.ui-button{width:100%}.admin-banner{flex-direction:column;align-items:stretch}}@media (max-width:420px){.progress-breakdown-list,.progress-breakdown-list.is-level{grid-template-columns:1fr}.progress-word-group li{grid-template-columns:minmax(0,1fr);gap:6px}.progress-word-meta{grid-auto-flow:column;justify-content:start;justify-items:start}.progress-word-actions{justify-content:start}.progress-word-confirm{flex-direction:column;align-items:stretch}.progress-word-confirm span{margin-right:0}.word-canvas-grid{gap:10px}.word-canvas-card{contain-intrinsic-size:auto 320px}.word-card-copy{padding:12px 12px 8px}.word-card-footer{padding:7px 7px 7px 12px}.word-card-title{font-size:19px}.word-card-listen{padding-inline:5px}.book-grid{gap:10px}.book-card{padding:10px}.app-navigation--bottom a span{font-size:9px}.admin-cover-editor,.admin-catalog-filters{grid-template-columns:minmax(0,1fr)}.admin-catalog-filters .admin-search-field{grid-column:auto}.admin-import-actions{display:grid}.admin-import-actions .ui-button{width:100%}.admin-cover-preview{justify-self:center;width:min(62vw,180px)}.admin-editor-action-dock{flex-direction:column;align-items:stretch;gap:9px}.admin-editor-action-dock .ui-button{width:100%}.admin-cover-upload>div{flex-direction:column;align-items:stretch}.admin-cover-upload .ui-button{width:100%}}@media (max-width:1050px) and (max-height:600px){.app-content{padding-top:max(18px, env(safe-area-inset-top))}.page-heading{margin-bottom:16px}.page-heading p:not(.eyebrow){margin-top:8px}.learn-empty-state{gap:9px;min-height:220px;padding-block:20px}.learn-empty-state h2{margin-bottom:4px}}@media (any-pointer:coarse){.ui-button--compact,.segmented-control button,.library-filter select,.reader-settings select,.locale-links a,.progress-word-actions button,.progress-word-confirm button,.admin-field input,.admin-field select,.admin-check,.admin-book-list button{min-height:44px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.reader-header-tools .ui-button,.reader-header-back,.reader-statusbar-row .ui-button{min-width:44px;min-height:44px}.reader-return .ui-button{min-height:44px}.reader-settings-backdrop .reader-settings button{min-width:44px;min-height:44px}.reader-contents-tab,.reader-contents-dialog .reader-marks-entry{min-height:44px}.reader-contents-dialog .reader-marks-remove{min-width:44px;min-height:44px}.reader-contents-dialog .reader-marks-export{min-height:44px;padding-inline:12px}.reader-contents-filter{min-height:44px}.reader-swatch{min-width:44px;min-height:44px}.reader-swatch--all{width:auto;padding-inline:14px}@media (max-width:1050px){.app-frame:has(.reader-route) .app-navigation--bottom{display:none}.app-frame:has(.reader-route) .app-content{padding-bottom:env(safe-area-inset-bottom)}.reader-shell{padding-bottom:calc(var(--reader-bar-height,84px) + env(safe-area-inset-bottom))}.reader-next-chapter{margin-bottom:0}.app-frame:has(.reader-route) .app-content{padding-inline:0}.reader-paper,.reader-statusbar{margin-inline:0}.reader-statusbar{left:0;right:0}.reader-header{padding-inline:max(12px, env(safe-area-inset-left)) max(12px, env(safe-area-inset-right))}.reader-paper{padding-inline:max(clamp(20px, 5vw, 28px), env(safe-area-inset-left)) max(clamp(20px, 5vw, 28px), env(safe-area-inset-right))}.reader-statusbar{border:1px solid var(--color-border-subtle);background:var(--color-surface);-webkit-backdrop-filter:blur(20px)saturate(140%);backdrop-filter:blur(20px)saturate(140%);width:clamp(280px,86vw,520px);max-width:calc(100% - 36px);transform:translate(-50%, calc(-100% - 10px - env(safe-area-inset-bottom) + var(--reader-chrome-shift,0px)));border-radius:24px;margin:0;padding-bottom:0;inset:100dvh auto auto 50%;box-shadow:0 6px 24px #0000001f}.reader-scrubber,.reader-statusbar-row{padding-inline:6px}.reader-statusbar-row{gap:4px;padding:2px 4px 6px}.reader-header{top:calc(10px + env(safe-area-inset-top));z-index:12;border:1px solid var(--color-border-subtle);background:var(--color-surface);-webkit-backdrop-filter:blur(20px)saturate(140%);backdrop-filter:blur(20px)saturate(140%);width:clamp(280px,86vw,520px);max-width:calc(100% - 36px);transform:translate(-50%, var(--reader-chrome-shift,0px));border-radius:24px;grid-template-areas:"back.tools""title title title";padding:4px 10px;position:fixed;left:50%;right:auto;box-shadow:0 6px 24px #0000001f}.reader-shell{padding-top:calc(var(--reader-header-height,56px) + env(safe-area-inset-top) + 16px)}.app-content:has(.reader-route){padding-top:0}.reader-header-title{text-align:center;grid-area:title;min-width:0;padding-bottom:2px;display:block}.reader-header-title h1{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.reader-header-title p{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:13px;line-height:1.2;overflow:hidden}.app-frame:has(.reader-route){background:var(--color-surface)}.app-frame:has(.reader-route) .app-stage{background:var(--color-surface)}.app-frame:has(.reader-route) .app-content{background:var(--color-surface)}}.reader-marks-heading{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.reader-chapter-heading{text-align:center;text-indent:0;letter-spacing:.01em;text-wrap:balance;margin:0 0 1.6em;font-size:1.05em;font-weight:600;line-height:1.3}.reader-copy[data-mode=paged] .reader-chapter-heading{margin-bottom:var(--reader-heading-margin-bottom,1.2em)}.book-about{padding:4px 4px calc(var(--app-tabbar-height,70px) + 92px + env(safe-area-inset-bottom));justify-items:center;gap:16px;display:grid;position:relative}.book-about-wash{z-index:-1;background:linear-gradient(180deg, var(--book-cover-color), var(--book-cover-color) 60%, transparent);position:fixed;inset:0}@supports (color:color-mix(in lab, red, red)){.book-about-wash{background:linear-gradient(180deg, color-mix(in srgb, var(--book-cover-color) 55%, transparent), color-mix(in srgb, var(--book-cover-color) 12%, transparent) 60%, transparent)}}.book-about-wash{pointer-events:none}.book-about-top{width:100%;max-width:640px;display:flex}.book-about-back{background:var(--color-surface);border-radius:999px;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.book-about-back{background:color-mix(in srgb, var(--color-surface) 78%, transparent)}}.book-about-back{color:var(--color-foreground);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.book-about-cover{aspect-ratio:2/3;object-fit:cover;border-radius:14px;width:auto;height:min(252px,max(150px,100dvh - 480px));box-shadow:0 18px 44px #00000047}.book-about-cover--blank{background:var(--book-cover-color)}.book-about-card{border:1px solid var(--color-border-subtle);background:var(--color-surface);text-align:center;border-radius:20px;justify-items:center;gap:14px;width:100%;max-width:640px;padding:22px 20px 24px;display:grid}.book-about-card h1{letter-spacing:-.02em;text-wrap:balance;margin:0;font-size:clamp(21px,5vw,27px);line-height:1.2}.book-about-author{color:var(--color-foreground-muted);margin:0;font-size:15px}.book-about-facts{gap:clamp(20px,8vw,44px);margin:4px 0 0;padding:0;list-style:none;display:flex}.book-about-facts li{gap:2px;display:grid}.book-about-facts strong{font-variant-numeric:tabular-nums;font-size:17px}.book-about-facts span{color:var(--color-foreground-muted);font-size:12px}.book-about-synopsis{max-width:46ch;color:var(--color-foreground);margin:0;font-size:15px;line-height:1.6}.book-about-tags{flex-wrap:wrap;justify-content:center;gap:8px;margin:0;padding:0;list-style:none;display:flex}.book-about-tags li{border:1px solid var(--color-border);color:var(--color-foreground-muted);border-radius:999px;padding:5px 12px;font-size:12px}.book-about-cta:before{content:"";top:-28px;left:-20px;right:-20px;bottom:calc((var(--app-tabbar-height,70px) + 18px) * -1);z-index:-1;background:linear-gradient(180deg, transparent, var(--color-background,var(--color-surface)) 40%, var(--color-background,var(--color-surface)) 70%);position:absolute}@supports (color:color-mix(in lab, red, red)){.book-about-cta:before{background:linear-gradient(180deg, transparent, color-mix(in srgb, var(--color-background,var(--color-surface)) 92%, transparent) 40%, var(--color-background,var(--color-surface)) 70%)}}.book-about-cta:before{pointer-events:none}.book-about-cta{left:50%;bottom:calc(var(--app-tabbar-height,70px) + 18px + env(safe-area-inset-bottom));z-index:5;width:min(640px,100% - 40px);position:fixed;transform:translate(-50%)}.book-about-read{background:var(--color-accent);color:#fff;border-radius:16px;justify-content:center;align-items:center;gap:10px;min-height:52px;font-size:16px;font-weight:620;display:flex;box-shadow:0 10px 30px #00000038}.book-about-read svg{width:20px;height:20px}.book-about--loading{color:var(--color-foreground-muted);align-content:center;gap:14px}@media (min-width:1051px){.book-about{padding-bottom:calc(92px + env(safe-area-inset-bottom))}.book-about-cta{bottom:calc(24px + env(safe-area-inset-bottom))}.book-about-cta:before{bottom:calc(-24px - env(safe-area-inset-bottom))}}.reader-contents-cover-link{border-radius:6px;flex:none;display:block}.reader-contents-about{width:44px;height:44px;color:var(--color-foreground-muted);border-radius:12px;justify-content:center;align-items:center;display:inline-flex}.reader-contents-about:hover{color:var(--color-foreground)}.reader-header-about{width:44px;height:44px;color:var(--color-accent);border-radius:12px;justify-content:center;align-items:center;display:inline-flex}.reader-header-about svg{width:20px;height:20px}.reader-header-about:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}@media (max-width:360px){.reader-header-about{display:none}}.reader-selection-close{border:0;border-left:1px solid var(--color-border-subtle);width:44px;height:44px;color:var(--color-foreground-muted);cursor:pointer;background:0 0;border-radius:0;justify-content:center;align-items:center;margin-left:4px;padding-left:10px;display:inline-flex}.reader-selection-close svg{width:17px;height:17px}.reader-selection-close:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}@media (max-height:640px){.book-about{padding-bottom:calc(var(--app-tabbar-height,70px) + 24px + env(safe-area-inset-bottom))}.book-about-cta{width:100%;max-width:640px;position:static;transform:none}.book-about-cta:before{content:none}}.book-caption-row{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.book-caption-row .book-genre{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
