:root{--background:#ffffff;--foreground:#1f2937;--muted:#6b7280;--border:#e5e7eb;--surface:#f9fafb;--primary:#0d9488;--primary-hover:#0f766e;--radius:8px;--weight-normal:400;--weight-medium:500;--weight-strong:600;--font-2xs:0.62rem;--font-xs:0.7rem;--font-mark:1.2rem;--font-sm:0.78rem;--font-base:0.9rem;--font-lg:1rem;--radius-pill:999px;--radius-card:12px;--radius-tile:10px;--radius-mark:3px;--hairline:1px;--dot-size:11px;--dot-inset:10px;--rail-height:6px;--rail-marker-w:9px;--rail-marker-h:16px;--rail-readout-w:3.2rem;--rail-min-w:5rem;--col-child-w:18%;--col-level-w:41%;--col-change-w:11%;--col-stories-w:7%;--col-comp-w:12%;--col-last-w:11%;--font-table:0.9rem;--school-page-max:47.5rem;--school-page-max-wide:72rem;--axis-height:1.35rem;--axis-tick-h:0.25rem;--axis-tick-h-half:0.4rem;--cell-pad-y:0.6rem;--cell-pad-x:0.7rem;--cell-pad-x-tight:0.4rem;--chip-min-w:3.4rem;--max-width:960px;--color-background-primary:#ffffff;--color-border-tertiary:#f0f0f0;--color-text-secondary:#6b7280;--color-error:#dc2626;--color-correct:#16a34a;--color-correct-bg:#dcfce7;--color-correct-border:#86efac;--color-wrong-bg:#fee2e2;--color-wrong-border:#fca5a5;--practice-scroll-padding:6rem;--practice-progress-track:#e5e7eb;--text-muted:#6b7280;--color-teal:#2a9d8f;--overview-on-bar:#ffffff;--color-teal-light:#ccfbf1;--color-teal-mid:#5eead4;--color-teal-border:#14b8a6;--shell-bg:#f0faf9;--shell-border:#d9f0ed;--nav-active-bg:#ccede9;--nav-active-color:var(--color-teal);--nav-hover-bg:#d9f0ed;--nav-text:#374151;--origin-story-bg:#f0fdf9;--feature-icon-bg-amber:#fef3c7;--feature-icon-bg-purple:#ede9fe;--monogram-size:1.9rem;--avatar-emoji-size:1.3rem;--avatar-emoji-size-sm:1.15rem;--avatar-option-size:2.75rem;--monogram-bg:var(--nav-active-bg);--monogram-color:var(--nav-active-color);--color-background:#ffffff;--color-surface:#f9fafb;--color-muted:#6b7280;--color-text-muted:#6b7280;--surface-card:#ffffff;--surface-tint:#f0fdfa;--surface-tint-soft:#f0fdf9;--surface-tint-strong:#e8f5f0;--surface-chip:#e8f7f6;--surface-select:#d7ecd3;--surface-select-hover:#c9e4c4;--surface-muted:#f4f5f7;--surface-hover:#f0f0f0;--surface-success:#f0fdf4;--surface-success-soft:#edf7f0;--surface-success-strong:#dcfce7;--surface-danger:#fef2f2;--surface-danger-strong:#fee2e2;--surface-warn:#fef9c3;--surface-warn-soft:#fff7e0;--surface-info:#f0f9ff;--surface-info-soft:#eff4ff;--border-soft:#ebebeb;--border-card:#e6e9f0;--border-strong:#dfe3e8;--border-input:#d1d5db;--border-shell-strong:#b2dfdb;--border-select:#bddbb9;--border-select-soft:#d7ecd3;--border-success:#bbf7d0;--border-success-2:#a8ddb8;--border-danger:#fca5a5;--border-warn:#f0d78c;--border-info:#b0bffa;--border-brand-soft:#9fe1cb;--border-scan:#0284c7;--ink-heading:#1a2e44;--ink-brand:#085041;--ink-brand-2:#0f6e56;--ink-brand-3:#0f5c54;--ink-brand-deep:#134e4a;--ink-success:#166534;--ink-success-2:#1e7a3e;--ink-success-3:#4f7f47;--ink-success-4:#4f8a52;--ink-danger:#b91c1c;--ink-danger-2:#991b1b;--ink-danger-3:#7f1d1d;--ink-warn:#854d0e;--ink-warn-2:#92400e;--ink-warn-3:#92600a;--ink-info:#0369a1;--ink-info-2:#3651c9;--ink-muted-2:#94a3b8;--link-green:#3d9e67;--link-green-hover:#2e7a50;--link-green-soft:#4caf76;--on-accent:#ffffff;--brand-solid:#1d9e75;--brand-solid-green:#22c55e;--progress-fill:#4ade80;--focus-ring:#e0f7f4;--scanner-viewport-bg:#000000;--hero-card-gradient:linear-gradient(90deg,#e8f4ff,#fff5eb);--measure-bar-blue:#bfdbfe;--measure-bar-blue-edge:#3b82f6;--measure-bar-red:#fecaca;--measure-bar-red-edge:#ef4444;--fraction-bar-h:2.5rem;--fraction-item-size:2rem;--fraction-circle-size:5rem;--fraction-cut:#1f2937;--fraction-cut-w:2px;--rect-tint:#ccfbf1;--rect-edge-w:6px;--rect-tape-w:6px;--rect-tape-gap:4px;--angle-scale-w:2px;--angle-tick-w:1.5px;--angle-arm-w:3px;--theme-toggle-bg:#ffffff;--theme-toggle-border:#e5e7eb;--theme-toggle-color:#374151;--theme-toggle-hover-bg:#f9fafb;--paper:#ffffff;--paper-ink:#1f2937;--paper-ink-soft:#6b7280;--paper-rule:#dcdcdc;--font-print:Georgia,"Iowan Old Style","Times New Roman",serif;--sheet-max:46rem;--sheet-pad-y:2rem;--sheet-pad-x:2.25rem;--sheet-title:2rem;--sheet-title-sm:1.5rem;--sheet-title-print:1.5rem;--sheet-text:1.15rem;--sheet-text-print:1.05rem;--sheet-text-line:1.75;--sheet-text-line-print:1.6;--sheet-art-w:11rem;--sheet-art-w-sm:8.5rem;--sheet-art-w-print:6rem;--option-min-w:8.5rem;--art-stroke:2.6;--sheet-gap:1rem}*{box-sizing:border-box}body,html{margin:0;padding:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:var(--background);color:var(--foreground);overflow-x:clip}h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}:root{--sidebar-width:200px}.app-shell{display:flex;min-height:100vh}.app-body{flex:1 1;display:flex;flex-direction:column;min-width:0}.app-content{flex:1 1;padding:1.5rem}.app-shell-loading{min-height:100vh}.logged-out-shell{min-height:100vh}.logged-out-shell,.sidebar{display:flex;flex-direction:column}.sidebar{width:var(--sidebar-width);border-right:1px solid var(--shell-border);height:100vh;position:-webkit-sticky;position:sticky;top:0;flex-shrink:0}.sidebar,.sidebar__logo{background:var(--shell-bg)}.sidebar__logo{min-height:56px;box-sizing:border-box;display:flex;align-items:center;padding:0 1rem;font-weight:700;font-size:1rem;white-space:nowrap;color:var(--color-teal);border-bottom:1px solid var(--shell-border)}.sidebar__nav{flex:1 1;padding:.75rem 0;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.sidebar__nav-item{display:flex;align-items:center;gap:.6rem;padding:.6rem 1rem;border-radius:6px;margin:0 .5rem;font-size:.9rem;color:var(--nav-text);text-decoration:none;background:none;border:none;cursor:pointer;width:calc(100% - 1rem);text-align:left;box-sizing:border-box}.sidebar__nav-item:hover{background:var(--nav-hover-bg)}.sidebar__nav-item.active{background:var(--nav-active-bg);color:var(--nav-active-color);font-weight:600}.sidebar__nav-item--disabled{opacity:.4;pointer-events:none;cursor:default}.sidebar-filters{display:flex;flex-direction:column;gap:2px;padding-left:.75rem}.sidebar-filters .sidebar__nav-item.active{font-weight:400}.sidebar-filters__groups{padding-left:.75rem}.sidebar-filter-group{display:flex;flex-direction:column}.sidebar-filter-group__header{display:flex;align-items:center;justify-content:space-between;width:calc(100% - 1rem);margin:0 .5rem;padding:.5rem .75rem;background:none;border:none;cursor:pointer;font-size:.82rem;font-weight:400;color:var(--nav-text);text-align:left;box-sizing:border-box;border-radius:6px}.sidebar-filter-group__header:hover{background:var(--nav-hover-bg)}.sidebar-filter-group__title{display:inline-flex;align-items:center;gap:.4rem}.sidebar-filter-group__dot{width:6px;height:6px;border-radius:50%;background:var(--color-teal);flex-shrink:0}.sidebar-filter-group__chevron{font-size:1rem;color:var(--muted);display:inline-block;transform:rotate(0deg);transition:transform .2s ease;line-height:1}.sidebar-filter-group__chevron--open{transform:rotate(90deg)}.sidebar-filter-group__body{display:flex;flex-direction:column;padding:.15rem .75rem .5rem 1.25rem;gap:2px}.sidebar-filter-checkbox{display:flex;align-items:center;gap:.5rem;padding:.4rem 0;font-size:.82rem;color:var(--nav-text);cursor:pointer}.sidebar-filter-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-teal);cursor:pointer}.sidebar-filter-range{display:flex;align-items:center;gap:.4rem;padding:.35rem 0 .25rem}input.sidebar-filter-range__input{width:3.5rem;padding:.3rem .4rem;font-size:.8rem}.sidebar-filter-range__sep{color:var(--muted);font-size:.8rem}.sidebar-filters__clear{margin:.25rem .75rem .5rem 1.25rem;background:none;border:none;padding:0;font-size:.8rem;color:var(--color-teal);cursor:pointer;text-decoration:underline;text-align:left;width:-moz-fit-content;width:fit-content}.sidebar-filters__clear:hover{color:var(--nav-active-color)}.sidebar__profile-switcher{padding:1rem;border-top:1px solid var(--border-shell-strong)}.sidebar__profile-dropdown{position:relative}.sidebar__profile-dropdown-list{display:none;position:absolute;bottom:calc(100% + 4px);left:0;right:0;background:var(--surface-card);border:1px solid var(--border-shell-strong);border-radius:6px;box-shadow:0 -4px 12px rgba(0,0,0,.08);overflow:hidden}.sidebar__profile-dropdown.open .sidebar__profile-dropdown-list{display:block}.sidebar__profile-dropdown-list button{display:block;width:100%;text-align:left;padding:.5rem .75rem;font-size:.85rem;color:var(--ink-brand-deep);background:none;border:none;cursor:pointer}.sidebar__profile-dropdown-list button:hover{background:var(--surface-tint)}.sidebar__profile-btn{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:1px solid var(--border-shell-strong);border-radius:6px;padding:.5rem .75rem;font-size:.85rem;color:var(--ink-brand-deep);cursor:pointer;gap:.4rem}.sidebar__profile-btn:hover{background:var(--color-teal-light)}.hero-bar{height:56px;justify-content:space-between;padding:0 1.5rem;background:var(--shell-bg);border-bottom:1px solid var(--shell-border);position:-webkit-sticky;position:sticky;top:0;z-index:100}.hero-bar,.hero-bar__left{display:flex;align-items:center}.hero-bar__left{gap:.5rem}.hero-bar__title{font-size:1.5rem;font-weight:700;color:var(--color-teal)}.hero-bar__hamburger{display:none}.hero-bar__account-btn{display:flex;align-items:center;gap:.4rem;background:none;border:1px solid var(--border);border-radius:var(--radius);padding:.25rem .5rem;color:var(--foreground);cursor:pointer}.hero-bar__account-btn:hover{background:var(--surface)}.hero-bar__account-initial{display:flex;align-items:center;justify-content:center;width:var(--monogram-size);height:var(--monogram-size);border-radius:50%;background:var(--monogram-bg);color:var(--monogram-color);font-size:.85rem;font-weight:700;line-height:1}.hero-bar__menu-account{display:flex;flex-direction:column;padding:.5rem .75rem .4rem;border-bottom:1px solid var(--border);max-width:220px}.hero-bar__menu-account-name{font-size:.85rem;font-weight:600;color:var(--foreground)}.hero-bar__menu-account-email{font-size:.75rem;color:var(--muted);overflow-wrap:anywhere}.account-page{gap:1rem;max-width:480px}.account-card,.account-page{display:flex;flex-direction:column}.account-card{gap:.6rem;background:var(--background);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}.account-card__title{font-size:1rem;font-weight:700;color:var(--foreground)}.account-card__hint{font-size:.8rem;color:var(--muted)}.account-card__email{font-size:.9rem;color:var(--foreground);overflow-wrap:anywhere}.account-name-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:.75rem;gap:.75rem}.account-card__actions{display:flex;align-items:center;gap:.6rem;margin-top:.25rem}.account-initial-preview{display:flex;align-items:center;justify-content:center;width:var(--monogram-size);height:var(--monogram-size);border-radius:50%;background:var(--monogram-bg);color:var(--monogram-color);font-size:.85rem;font-weight:700;line-height:1}.account-card__preview{flex:1 1;font-size:.85rem;color:var(--foreground)}.account-card__status{font-size:.8rem;color:var(--color-correct)}.account-card__status--error{color:var(--color-error)}.sidebar-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.3);z-index:399}.sidebar-backdrop.open{display:block}@media (max-width:767px){.sidebar{position:fixed;left:0;top:0;height:100%;z-index:400;transform:translateX(-100%);transition:transform .2s ease}.sidebar.open{transform:translateX(0)}.hero-bar__hamburger{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:.4rem;margin-right:.25rem;color:var(--nav-text)}}.site-footer,.site-header{border-bottom:1px solid var(--border);background:var(--surface)}.site-footer{border-top:1px solid var(--border);border-bottom:0;margin-top:auto}.container{width:min(100%,var(--max-width));margin:0 auto;padding:.75rem;max-width:100%}.footer-row,.header-row,.nav-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.nav-row{flex-wrap:wrap;margin-top:.25rem}.nav-link{color:var(--muted);font-size:.95rem}.nav-link:hover{color:var(--foreground)}.auth-links{display:flex;align-items:center;gap:.75rem}.auth-link-secondary{color:var(--muted);font-size:.9rem}.auth-link-secondary:hover{color:var(--foreground)}.logout-link{border:0;background:transparent;padding:0;cursor:pointer}.brand{display:inline-flex;align-items:center;gap:.5rem}.brand-mark{width:12px;height:12px;border-radius:0;background:var(--color-teal-mid);border:1px solid var(--color-teal-border)}.header-actions{display:inline-flex;align-items:center;gap:.6rem}.child-badge{font-size:.8rem;color:var(--muted);border:1px solid var(--border);border-radius:0;padding:.15rem .5rem}.menu-wrap{position:relative}.menu-trigger{color:var(--foreground);padding:.3rem .7rem;font-size:.85rem;cursor:pointer}.menu-dropdown,.menu-trigger{border:1px solid var(--border);background:var(--surface-card);border-radius:0}.menu-dropdown{position:absolute;right:0;top:110%;z-index:10;min-width:160px;box-shadow:none;display:grid;padding:.25rem}.menu-dropdown button{border:0;background:transparent;text-align:left;padding:.45rem .5rem;border-radius:0;cursor:pointer}.menu-dropdown button:hover{background:var(--surface)}.page{padding:.5rem 0 .75rem}.grid,.stack{display:grid;grid-gap:.6rem;gap:.6rem}.grid-2{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}@media (max-width:560px){.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-card);padding:.75rem}.card-title{margin:0 0 .5rem;font-size:1.05rem}.card-footer{margin-top:.6rem}.muted{color:var(--muted)}.btn{border-radius:var(--radius);border:1px solid transparent;padding:.5rem .9rem;font-size:.95rem;font-weight:600;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background:var(--primary);color:var(--on-accent)}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-secondary{background:var(--surface-card);border-color:var(--border);color:var(--foreground)}.btn-secondary:hover:not(:disabled){background:var(--surface)}.btn-ghost{background:transparent;color:var(--foreground)}.btn-ghost:hover:not(:disabled){background:var(--surface)}.form-field{display:grid;grid-gap:.4rem;gap:.4rem}.input{width:100%;border:1px solid var(--border);border-radius:0;padding:.6rem .7rem;font-size:.95rem}.input:focus{outline:2px solid rgba(13,148,136,.2);border-color:var(--primary)}.pill{display:inline-block;border:1px solid var(--border);border-radius:0;padding:.15rem .6rem;font-size:.8rem;color:var(--muted)}.method-grid{display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.status-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;justify-content:center}.method-card{display:grid;grid-gap:.35rem;gap:.35rem;text-align:left;background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius);padding:.9rem;cursor:pointer}.method-card:hover{background:var(--surface)}.method-card span{color:var(--muted);font-size:.88rem}.method-card-active{background:var(--surface-select);border-color:var(--border-select);box-shadow:none}.method-card-active:hover{background:var(--surface-select-hover)}.status-remove-btn{border:none;background:transparent;color:var(--ink-danger);cursor:pointer;font-size:1rem;font-weight:700;line-height:1;padding:.25rem .5rem}.status-remove-btn:hover{background:var(--surface-danger)}.status-error{color:var(--ink-danger);font-size:.75rem;width:100%;text-align:center}.scan-entry{border-color:var(--border-scan);background:var(--surface-info)}.scan-panel{display:grid;grid-gap:.75rem;gap:.75rem}.scanner-viewport{width:100%;max-height:280px;object-fit:cover;border-radius:var(--radius);background:var(--scanner-viewport-bg)}.scanner-status{color:var(--muted);font-size:.9rem}.scan-hero{display:grid;grid-gap:.35rem;gap:.35rem;border:2px dashed var(--border-scan);background:var(--surface-info);border-radius:0;padding:1rem;text-align:left;cursor:pointer}.scan-hero span{color:var(--ink-info);font-size:.9rem}.result-row{border:1px solid var(--border);border-radius:0;background:var(--surface-card);padding:.65rem;text-align:left;display:grid;grid-gap:.2rem;gap:.2rem;cursor:pointer}.result-row:hover{background:var(--surface)}.auth-page{min-height:auto;display:flex;align-items:flex-start;justify-content:center;padding:.5rem 0}.auth-panel{width:min(100%,460px);display:grid;grid-gap:.6rem;gap:.6rem}.auth-title{margin:0;text-align:center;font-size:2rem}.auth-actions{display:grid;grid-gap:.5rem;gap:.5rem;grid-template-columns:1fr}.tap-lg{min-height:48px;width:100%}.form-error{margin:0;color:var(--ink-danger);font-size:.9rem}.child-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border:1px solid var(--border);border-radius:0;padding:.6rem .7rem}.child-row-left{display:grid;grid-gap:.15rem;gap:.15rem}.search-card{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.search-cover-box{width:56px;height:80px;border:1px solid var(--border);background:var(--surface-card);flex:0 0 56px}.search-cover-image{width:100%;height:100%;object-fit:cover;display:block}.search-cover-placeholder{width:100%;height:100%;background:var(--surface)}.search-card-main{display:grid;grid-gap:.15rem;gap:.15rem;flex:1 1;min-width:0}.search-meta-line{font-size:.86rem;color:var(--muted);line-height:1.25}.book-card{display:flex;align-items:stretch;gap:1rem;border:1px solid var(--border);border-radius:10px;background:var(--surface-card);box-shadow:0 2px 10px rgba(31,41,55,.06);padding:.9rem 1rem}.book-card-thumbnail{width:88px;flex:0 0 88px;display:flex;align-items:center;justify-content:center}.book-card-thumbnail-image,.book-card-thumbnail-placeholder{width:88px;height:132px;border-radius:8px}.book-card-thumbnail-image{display:block;object-fit:cover;border:1px solid var(--border)}.book-card-thumbnail-placeholder{display:flex;align-items:center;justify-content:center;border:1px solid var(--border-card);background:var(--surface-muted);color:var(--ink-muted-2)}.book-card-meta{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:.5rem}.book-card-title-row{width:100%}.book-card-meta-columns{display:flex;align-items:flex-start;gap:1.25rem}.book-card-meta-left,.book-card-meta-right{display:flex;flex-direction:column;gap:.38rem;min-width:0}.book-card-meta-left{flex:1.15 1}.book-card-meta-right{flex:1 1}.book-card-meta-row{display:flex;align-items:center;gap:.4rem;color:var(--muted);font-size:.88rem;line-height:1.35}.book-card-meta-row svg{flex:0 0 auto;color:var(--color-teal)}.book-card-meta-title{color:var(--foreground);font-size:1.05rem;font-weight:700;line-height:1.25}.meta-link-btn{background:none;border:none;padding:0;color:var(--color-teal);cursor:pointer;font-size:inherit;font-family:inherit;text-decoration:underline;text-underline-offset:2px}.meta-link-btn:hover{opacity:.8}.book-card-actions{width:142px;flex:0 0 142px;display:flex;flex-direction:column;gap:.45rem}.book-card-action-btn{width:100%;display:flex;align-items:center;justify-content:flex-start;gap:.45rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-card);color:var(--foreground);cursor:pointer;touch-action:manipulation;font-size:.9rem;font-weight:600;padding:.52rem .65rem .52rem 1.75rem;transition:background-color .15s ease,border-color .15s ease}.book-card-action-btn svg{flex:0 0 16px}.book-card-action-btn:hover{background:var(--surface)}.book-card-action-btn.active{border-color:var(--border-select);background:var(--surface-select);font-weight:700}.book-card-action-btn.active:hover{background:var(--surface-select-hover)}.search-pagination{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1rem 0 .5rem}.search-pagination-label{font-size:.9rem;color:var(--muted)}.search-pagination-controls{display:flex;gap:.5rem}.pagination-btn{min-height:44px;padding:0 1.25rem;border-radius:var(--radius);border:1.5px solid var(--primary);background:var(--surface-card);color:var(--primary);font-size:.95rem;font-weight:600;cursor:pointer;transition:background-color .15s ease,color .15s ease}.pagination-btn:hover:not(:disabled){background:var(--primary);color:var(--on-accent)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.search-results-footer{display:flex;align-items:center;justify-content:center;gap:.35rem;color:var(--muted);font-size:.9rem;padding:.45rem 0 .2rem;text-align:center}.search-results-footer a,.suggest-link-btn{color:var(--color-teal);font-weight:700}.search-results-footer a:hover,.suggest-link-btn:hover{text-decoration:underline}.suggest-link-btn{border:0;background:transparent;padding:0;cursor:pointer;font-size:inherit}.finish-toggle{border:1px solid var(--border);background:var(--surface-card);border-radius:0;padding:.35rem .75rem;font-size:.82rem;cursor:pointer;white-space:nowrap;align-self:center}.finish-toggle-on{border-color:var(--color-correct);color:var(--ink-success);background:var(--surface-success)}.compact-stack{gap:.45rem}.search-input{width:100%;border:1px solid var(--border);border-radius:10px;padding:.6rem 5.5rem .6rem .7rem;font-size:.95rem}.search-input:focus{outline:2px solid rgba(29,78,216,.2);border-color:var(--primary)}.search-field-wrap{position:relative}.search-icon-btn-inset{position:absolute;top:50%;right:0;transform:translateY(-50%);width:44px;height:44px;border:0;background:transparent;border-top-right-radius:10px;border-bottom-right-radius:10px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--muted)}.search-icon-btn-inset:hover{background:var(--surface)}.scan-trigger-btn{position:absolute;top:50%;right:44px;transform:translateY(-50%);width:44px;height:44px;border:0;background:transparent;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--muted)}.scan-trigger-btn:hover{background:var(--surface)}.scan-trigger-btn[aria-expanded=true]{color:var(--color-teal);background:var(--surface-tint)}.scanner-inline-panel{border:1px solid var(--primary);border-radius:10px;background:var(--surface-tint);padding:1rem;display:grid;grid-gap:.75rem;gap:.75rem}.scanner-inline-panel-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.scanner-inline-panel-title{font-size:.9rem;font-weight:600;color:var(--color-teal)}.scanner-close-btn{border:0;background:transparent;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:4px}.scanner-close-btn:hover{background:var(--color-teal-light);color:var(--color-teal)}@media (max-width:640px){.scan-trigger-btn:hover{background:var(--surface)}}.my-books-shell{display:grid;grid-gap:.8rem;gap:.8rem}.my-books-sticky-controls{position:-webkit-sticky;position:sticky;top:0;z-index:10;background:var(--background);display:grid;grid-gap:.45rem;gap:.45rem;padding-bottom:.25rem;overflow-x:hidden}.my-books-stat-header,.my-books-top-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.my-books-top-row{flex-wrap:wrap}.my-books-stat-header{border:1px solid var(--border);background:var(--surface-card);padding:.75rem}.my-books-stat-value{display:block;font-size:2rem;font-weight:700;line-height:1}.my-books-view-toggle{display:flex;gap:.5rem}.my-books-view-toggle .btn-primary{background:var(--surface-select);border-color:var(--border-select);color:var(--foreground)}.my-books-view-toggle .btn-primary:hover:not(:disabled){background:var(--surface-select-hover)}.my-books-view-toggle .btn-secondary{background:var(--surface-card);border-color:var(--border);color:var(--foreground)}.my-books-view-toggle .btn-secondary:hover:not(:disabled){background:var(--surface)}.my-books-section{display:grid;grid-gap:.65rem;gap:.65rem}.my-books-section-card{border:1px solid var(--border);border-radius:16px;background:var(--surface-card);box-shadow:0 14px 28px rgba(15,23,42,.06);gap:1.25rem;padding:1.75rem 2rem 1.5rem}.my-books-month h3,.my-books-section h2{font-size:1.05rem}.my-books-section-heading{display:flex;align-items:center;gap:.75rem;color:var(--foreground);font-size:1.35rem;font-weight:700}.my-books-section-icon{color:var(--ink-success-4);flex-shrink:0}.my-books-month{display:grid;grid-gap:.5rem;gap:.5rem}.book-group-box{border:1px solid var(--border-soft);border-radius:16px;padding:1.25rem 1.5rem;box-shadow:none}.my-books-month-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.my-books-month-header span{color:var(--muted);font-size:.9rem}.book-section-grid{display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:repeat(5,minmax(130px,1fr));align-items:start}@media (max-width:640px){.book-section-grid{grid-template-columns:repeat(2,1fr);overflow-x:unset}}.my-books-list{display:grid;grid-gap:0;gap:0}.book-section-card{border:none;background:transparent;box-shadow:none;padding:.5rem .25rem;display:grid;grid-gap:.4rem;gap:.4rem;align-items:start;justify-items:center;text-align:center;min-width:0;width:100%}.book-section-card .status-buttons{flex-wrap:nowrap;gap:.25rem;justify-content:flex-start;margin-top:8px}.book-section-card .book-status-btn{min-height:unset;padding:.2rem .3rem;font-size:.72rem;font-weight:600}.book-section-card .method-card{padding:.25rem .3rem;font-size:.75rem;white-space:nowrap}.book-section-card .status-remove-btn{padding:.2rem .3rem;font-size:.8rem}.book-section-cover{width:78%;aspect-ratio:2/3;border:none;background:var(--surface);justify-self:center;border-radius:4px;overflow:hidden}.book-section-cover-fallback,.book-section-cover-image{width:100%;height:100%;max-width:100%}.book-section-cover-image{object-fit:cover;display:block}.book-section-cover-fallback{display:flex;align-items:center;justify-content:center;background:var(--surface-tint);color:var(--color-teal);font-size:1.75rem;font-weight:700;border-radius:6px}.book-section-meta{display:flex;flex-direction:column;gap:2px;min-width:0;width:100%}.book-section-author,.book-section-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;max-width:100%}.book-section-title{font-size:.82rem;font-weight:700;line-height:1.3}.book-section-author{color:var(--muted);font-size:.75rem}.book-status-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid var(--border-strong);border-radius:7px;background:var(--surface-card);color:var(--foreground);cursor:pointer;font-size:.8rem;font-weight:600;min-height:44px;padding:.6rem 1rem;white-space:nowrap;transition:background-color .12s ease,border-color .12s ease}.book-status-btn:hover{background:var(--surface)}.book-status-btn-active{background:var(--surface-select);border-color:var(--border-select-soft);color:var(--ink-success-3)}.book-status-btn-active:hover{background:var(--surface-select-hover)}.book-list-row{display:grid;grid-template-columns:48px 1fr auto;grid-gap:.75rem;gap:.75rem;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--border)}.book-list-row:last-child{border-bottom:none}.book-list-cover,.book-list-cover-fallback,.book-list-cover-image{width:48px;height:48px}.book-list-cover{border:1px solid var(--border);background:var(--surface)}.book-list-cover-image{object-fit:cover;display:block}.book-list-cover-fallback{display:flex;align-items:center;justify-content:center;background:var(--surface-tint);color:var(--color-teal);font-size:1rem;font-weight:700}.book-list-meta{display:grid;grid-gap:.15rem;gap:.15rem;min-width:0}.book-list-meta small,.book-list-meta span,.book-list-meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.book-list-meta small,.book-list-meta span{color:var(--muted);font-size:.8rem}.book-list-actions{display:flex;gap:.4rem;align-items:center;flex-shrink:0;justify-content:flex-end}.book-list-actions .status-buttons{flex-wrap:wrap;gap:.4rem;justify-content:flex-end}.book-list-actions .method-card{padding:.25rem .6rem;white-space:nowrap}.show-all-row{display:flex;justify-content:flex-end}.my-books-section-card>.book-group-box{border:0;border-radius:0;padding:0}.my-books-section-card>.show-all-row{border-top:1px solid var(--border);margin-top:.4rem;padding-top:1.25rem}.show-all-link{border:0;background:transparent;color:var(--link-green);cursor:pointer;font-size:1rem;font-weight:600;padding:0}.show-all-link:after{content:"›";display:inline-block;font-size:1.5rem;line-height:.8;margin-left:1rem;transform:translateY(2px)}.show-all-link:hover{color:var(--link-green-hover)}.profiles-shell{display:grid;grid-gap:1rem;gap:1rem}.profiles-header-row,.profiles-load-error{display:flex;align-items:center;justify-content:space-between;gap:1rem}.profiles-load-error{flex-wrap:wrap;padding:.85rem 1rem;border:1px solid var(--color-wrong-border);border-radius:var(--radius);background:var(--color-wrong-bg)}.profiles-load-error__text{margin:0;font-size:.95rem;line-height:1.45}.profiles-header-row h1{font-size:1.9rem}.profiles-list{display:grid;grid-gap:.75rem;gap:.75rem}.profile-row{border:1px solid var(--border);background:var(--surface-card);padding:.55rem .6rem;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr) auto auto;grid-gap:.55rem;gap:.55rem;align-items:center}.profile-row-form{grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) minmax(180px,1fr) auto;align-items:start}.profile-col{font-size:.98rem}.profile-col-initials{font-weight:600}.profile-col-book,.profile-col-edit{justify-self:end}.profile-book-btn{background:var(--surface-select);border-color:var(--border-select)}.profile-book-btn:hover:not(:disabled){background:var(--surface-select-hover)}.profile-edit-icon,.profile-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:1.8rem;height:1.8rem;color:var(--muted);border:1px solid var(--border)}.profile-icon-btn{background:var(--surface-card);cursor:pointer}.profile-save-icon-btn{background:var(--surface-select);border-color:var(--border-select);color:var(--foreground)}.profile-col-edit-onboarding{align-self:end}.profile-form-actions{display:flex;gap:.5rem;align-items:center}.profile-card{position:relative;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border:1px solid rgba(0,0,0,.07);transition:box-shadow .15s}.profile-card:hover{box-shadow:0 2px 8px rgba(0,0,0,.08)}.profile-card-link{position:absolute;inset:0}.profile-card-avatar{flex-shrink:0;width:2.75rem;height:2.75rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.82rem;color:var(--on-accent);letter-spacing:.03em}.profile-card-info{flex:1 1;display:flex;flex-direction:column;gap:.1rem;min-width:0}.profile-card-avatar--emoji{background:var(--surface-card);box-shadow:inset 0 0 0 2px var(--pc-avatar,var(--color-teal));font-size:var(--avatar-emoji-size);line-height:1;letter-spacing:normal}.profile-card-avatar__glyph{display:block;line-height:1}.avatar-field{grid-column:1/-1}.avatar-picker{display:grid;grid-gap:.35rem;gap:.35rem}.avatar-picker__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--avatar-option-size),1fr));grid-gap:.4rem;gap:.4rem}.avatar-picker__option{display:flex;align-items:center;justify-content:center;aspect-ratio:1;min-width:var(--avatar-option-size);padding:0;border:1px solid var(--border);border-radius:50%;background:var(--surface-card);cursor:pointer;transition:border-color .12s ease,background-color .12s ease}.avatar-picker__option:hover{background:var(--surface-hover)}.avatar-picker__option--selected{border-color:var(--color-teal-border);background:var(--color-teal-light);box-shadow:inset 0 0 0 1px var(--color-teal)}.avatar-picker__option:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.avatar-picker__glyph{font-size:var(--avatar-emoji-size);line-height:1}.avatar-picker__glyph--name{color:var(--muted);font-size:var(--font-lg);font-weight:var(--weight-strong)}.avatar-picker__hint{margin:0;font-size:var(--font-sm);color:var(--muted)}@media (max-width:480px){.profile-card-avatar--emoji{font-size:var(--avatar-emoji-size-sm)}}@media (max-width:640px){.profile-row-form{grid-template-columns:minmax(0,1fr)}}.profile-card-name{font-weight:600;font-size:1rem;color:var(--foreground)}.profile-card-meta{font-size:.82rem;color:var(--muted)}.profile-card-edit{position:relative;z-index:1;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:50%;color:var(--muted);transition:background .12s,color .12s}.profile-card-edit:hover{background:rgba(0,0,0,.07);color:var(--foreground)}@media (max-width:480px){.profile-card{padding:.65rem .75rem;gap:.6rem}.profile-card-avatar{width:2.4rem;height:2.4rem;font-size:.76rem}}.undo-toast{position:fixed;left:50%;bottom:4.5rem;z-index:50;display:flex;align-items:center;gap:.75rem;transform:translateX(-50%);border:1px solid var(--color-teal-border);background:var(--surface-tint);color:var(--foreground);box-shadow:0 10px 28px rgba(15,118,110,.18);padding:.65rem .8rem;opacity:1;transition:opacity .18s ease,transform .18s ease}.undo-toast button{border:0;background:transparent;color:var(--color-teal);font-weight:700;cursor:pointer}@media (min-width:640px){.auth-actions{grid-template-columns:1fr 1fr}}.reading-hero-card{display:flex;align-items:center;gap:1rem;background:var(--hero-card-gradient);border-radius:16px;padding:1.25rem 1.5rem;overflow:hidden}.reading-hero-left{display:flex;flex-direction:column;gap:.25rem;min-width:130px}.reading-hero-label{font-size:.85rem;font-weight:600;color:var(--foreground)}.reading-hero-count-row{display:flex;align-items:center;gap:.35rem}.reading-hero-count{font-size:3.5rem;font-weight:800;line-height:1;color:var(--foreground)}.reading-hero-sparkle{opacity:.9}.reading-hero-sparkle-sm{align-self:flex-end;margin-bottom:.5rem}.reading-hero-nice-work{font-size:.95rem;font-style:italic;color:var(--foreground);margin-top:.15rem}.reading-hero-center{flex:1 1;display:flex;justify-content:center;align-items:flex-end}.reading-hero-right{min-width:180px;max-width:220px}.reading-hero-stat-card{background:var(--surface-card);border-radius:12px;padding:.85rem 1rem;display:flex;flex-direction:column;align-items:center;gap:.4rem;text-align:center;box-shadow:0 1px 4px rgba(0,0,0,.06)}.reading-hero-fire-title{font-size:.9rem;font-weight:700}.reading-hero-fire-sub{font-size:.8rem;color:var(--muted)}.reading-hero-progress-bar{height:16px;width:100%;background:var(--practice-progress-track);border-radius:999px;overflow:hidden}.reading-hero-progress-fill{height:100%;background:var(--progress-fill);border-radius:999px;transition:width .4s ease}.reading-hero-progress-label{font-size:.75rem;color:var(--muted)}@media (max-width:600px){.reading-hero-card{flex-direction:column;align-items:center;text-align:center;gap:.5rem;padding:.85rem}.reading-hero-center{display:none}.reading-hero-right{width:100%;max-width:100%}.reading-hero-count{font-size:2.5rem}.reading-hero-label{font-size:.8rem}.reading-hero-nice-work{font-size:.85rem}.reading-hero-stat-card{padding:.6rem .75rem;flex-direction:column;align-items:stretch;width:100%;text-align:center}.reading-hero-fire-title{font-size:.85rem}.reading-hero-progress-bar{height:12px;width:100%}}@media (max-width:700px){.book-card{flex-direction:column}.book-card-thumbnail{width:100%;flex-basis:auto;justify-content:flex-start}.book-card-actions{width:100%;flex-basis:auto;flex-direction:row;flex-wrap:wrap;gap:.4rem}.book-card-action-btn{width:auto;flex:0 0 auto;padding:.5rem .75rem;justify-content:center}}@media (max-width:480px){.book-card-meta-columns{flex-direction:column;gap:.75rem}.book-card-meta-left,.book-card-meta-right{width:100%}}.admin-shell{display:grid;grid-gap:1rem;gap:1rem}.admin-tabs{display:flex;border-bottom:2px solid var(--border)}.admin-tab{border:0;background:transparent;padding:.5rem 1.1rem;cursor:pointer;color:var(--muted);font-size:.95rem;border-bottom:2px solid transparent;margin-bottom:-2px}.admin-tab-active,.admin-tab:hover{color:var(--foreground)}.admin-tab-active{font-weight:600;border-bottom-color:var(--primary)}.admin-list{border:1px solid var(--border);background:var(--surface-card)}.admin-list>div+div{border-top:1px solid var(--border)}.suggestion-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.6rem .9rem;padding:.75rem}.suggestion-initials{flex-shrink:0;width:2rem;height:2rem;border-radius:50%;background:var(--surface);border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700}.suggestion-book{flex:1 1;min-width:160px;display:grid;grid-gap:.15rem;gap:.15rem;font-size:.9rem}.suggestion-isbn{font-size:.8rem;color:var(--muted)}.suggestion-notes{flex:1 1;min-width:100px;max-width:220px;font-size:.85rem}.suggestion-date{font-size:.85rem;white-space:nowrap}.suggestion-badge{display:inline-block;padding:.15rem .5rem;font-size:.78rem;font-weight:600;text-transform:capitalize;white-space:nowrap}.suggestion-badge-pending{background:var(--surface-warn);color:var(--ink-warn)}.suggestion-badge-approved{background:var(--surface-success-strong);color:var(--ink-success)}.suggestion-badge-rejected{background:var(--surface-danger-strong);color:var(--ink-danger-2)}.suggestion-actions{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.suggestion-admin-note{font-size:.82rem;font-style:italic}.suggestion-panel{border-top:1px solid var(--border);background:var(--surface);padding:1rem;display:grid;grid-gap:.75rem;gap:.75rem}.suggestion-panel-fields{display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.suggestion-panel-actions{display:flex;gap:.5rem;align-items:center}.sef{background:var(--surface);border-top:1px solid var(--border)}.sef__body{display:grid;grid-template-columns:1fr 130px auto;grid-gap:1.5rem;gap:1.5rem;padding:1rem 1.25rem;align-items:start}.sef__fields{display:flex;flex-direction:column;gap:.4rem}.sef__field-row{display:flex;align-items:center;gap:.5rem}.sef__label{font-size:.8rem;color:var(--muted);min-width:76px;flex-shrink:0}.sef__input{flex:1 1;font-size:.85rem;padding:.3rem .5rem}.sef__cover{display:flex;flex-direction:column;gap:.5rem;align-items:center}.sef__cover-img{width:100px;height:140px;object-fit:cover;border-radius:4px;border:1px solid var(--border)}.sef__cover-placeholder{width:100px;height:140px;background:var(--border);border-radius:4px}.sef__thumb-url{width:100%;font-size:.75rem}.sef__actions{display:flex;flex-direction:column;gap:.5rem;padding-top:.1rem}.sef__reject-row{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;border-top:1px solid var(--border)}.sef__error{padding:.25rem 1.25rem .75rem;margin:0}.report-issue-btn{border:0;background:transparent;padding:0;color:var(--muted);font-size:.8rem;cursor:pointer;text-align:left;margin-top:.35rem}.report-issue-btn:hover{color:var(--foreground)}.suggest-book-form{display:grid;grid-gap:.85rem;gap:.85rem;border:1px solid var(--border);background:var(--surface-card);padding:1rem}.suggest-book-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.suggest-book-success{color:var(--ink-success);background:var(--surface-success);border:1px solid var(--border-success);padding:.75rem 1rem;font-size:.95rem}.input:-moz-read-only{background:var(--surface);color:var(--muted);cursor:default}.input:read-only{background:var(--surface);color:var(--muted);cursor:default}.suggest-book-notes{resize:vertical;font-family:inherit;font-size:.95rem}.child-edit-shell{display:grid;grid-gap:1rem;gap:1rem}.child-edit-form{display:grid;grid-gap:.85rem;gap:.85rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-card);padding:1rem}.child-edit-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.child-edit-group{display:grid;grid-gap:.7rem;gap:.7rem;padding:.85rem;border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--surface-tint-soft)}.child-edit-group__title{font-size:var(--font-lg);font-weight:var(--weight-strong);color:var(--foreground)}.child-edit-group__hint{margin:0;font-size:var(--font-sm);color:var(--muted)}.my-books-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.section-count-badge{position:relative;display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;flex-shrink:0;background-image:url(/design-assets/counter-badge.png);background-size:contain;background-repeat:no-repeat;background-position:50%}.section-count-badge-text{position:relative;display:flex;flex-direction:column;align-items:center;line-height:1.1;color:var(--link-green-hover)}.section-count-badge-text strong{font-size:1.2rem;font-weight:800;line-height:1}.section-count-badge-text small{font-size:.62rem;font-weight:500;letter-spacing:.03em;color:var(--link-green-soft)}.header__root{position:-webkit-sticky;position:sticky;top:0;z-index:100;width:100%;background:var(--surface-card);border-bottom:1px solid var(--border);min-height:80px}.header__overlay{display:none}.header__inner{position:relative;z-index:1;width:min(100%,var(--max-width));margin:0 auto;padding:0 .75rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:80px}.header__brand{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;flex-shrink:0}.header__logo{border-radius:50%;flex-shrink:0}.header__wordmark{font-weight:700;font-size:1.1rem;color:var(--ink-heading);line-height:1;white-space:nowrap}.header__actions{gap:.65rem;flex-shrink:0}.header__actions,.header__child-badge{display:inline-flex;align-items:center}.header__child-badge{justify-content:center;background:var(--color-teal-light);color:var(--color-teal);font-weight:700;font-size:.78rem;border-radius:999px;padding:.35rem .85rem;letter-spacing:.04em;white-space:nowrap}.header__menu-wrap{position:relative}.header__menu-trigger{display:inline-flex;align-items:center;gap:.35rem;background:rgba(255,255,255,.9);border:1px solid var(--border);border-radius:var(--radius);padding:.45rem .9rem;font-size:.85rem;color:var(--foreground);cursor:pointer;white-space:nowrap}.header__menu-trigger:hover{background:var(--surface-card)}.header__chevron{flex-shrink:0;color:var(--muted)}.header__menu-dropdown{position:fixed;z-index:200;min-width:160px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-card);box-shadow:0 4px 16px rgba(0,0,0,.1);display:grid;padding:.25rem}.header__menu-dropdown button{border:0;background:transparent;text-align:left;padding:.45rem .65rem;border-radius:calc(var(--radius) - 2px);cursor:pointer;font-size:.9rem;color:var(--foreground);width:100%}.header__menu-dropdown button:hover{background:var(--surface)}.header__auth-links{display:flex;align-items:center;gap:.75rem}.header__auth-link{color:var(--muted);font-size:.9rem;text-decoration:none;background:none;border:none;padding:0;cursor:pointer;white-space:nowrap}.header__auth-link:hover{color:var(--foreground)}@media (max-width:640px){.header__root{background-image:none;background-color:var(--surface);min-height:56px}.header__overlay{display:none}.header__inner{min-height:56px}.header__parent-label{display:none}}.home-hero{position:relative;min-height:380px;overflow:hidden;display:flex;align-items:flex-start;gap:2rem;padding:1.5rem max(1.5rem,calc((100% - 960px) / 2 + 1.5rem))}.home-hero__art{position:absolute;inset:0;z-index:0;pointer-events:none;background-image:url(/images/hero-bg-right-only.png);background-size:auto 100%;background-position:100%;background-repeat:no-repeat}.home-hero__content{position:relative;z-index:1;flex:1 1;display:grid;grid-gap:1rem;gap:1rem;max-width:440px}.home-hero__eyebrow{font-size:.9rem;color:var(--muted)}.home-hero__headline{font-size:clamp(2rem,5vw,3rem);font-weight:800;color:var(--ink-heading);line-height:1.1}.home-hero__accent{color:var(--primary)}.home-hero__sub{font-size:1.05rem;color:var(--muted);line-height:1.6;max-width:420px;margin-top:-.5rem}.home-hero__mobile-owl{display:none}.home-card{position:absolute;top:0;right:max(1.5rem,calc((100% - 960px) / 2 + 1.5rem));z-index:2;width:min(100%,400px);background:var(--surface-card);border-radius:0 0 16px 16px;box-shadow:0 8px 32px rgba(0,0,0,.12);overflow:hidden}.home-card__tabs{display:flex;border-bottom:1px solid var(--border);background:var(--surface)}.home-card__tab{flex:1 1;border:0;background:transparent;padding:.85rem 1rem;font-size:.95rem;font-weight:500;color:var(--muted);cursor:pointer;transition:color .15s}.home-card__tab:hover{color:var(--foreground)}.home-card__tab--active{color:var(--foreground);font-weight:700;background:var(--surface-card);border-bottom:2px solid var(--primary)}.home-card__form{display:grid;grid-gap:.85rem;gap:.85rem;padding:1.5rem}.home-card__footnote{font-size:.82rem;color:var(--muted);text-align:center;line-height:1.5}.home-card__footnote a{color:var(--primary);text-decoration:underline}.header__auth-link--cta{background:var(--primary);color:var(--on-accent)!important;padding:.45rem 1rem;border-radius:999px;font-size:.88rem;font-weight:600;white-space:nowrap}.header__auth-link--cta:hover{background:var(--primary-hover);color:var(--on-accent)!important}@media (max-width:700px){.home-hero{flex-direction:column;align-items:flex-start;justify-content:center;padding:2rem 1rem;gap:1.5rem;position:relative;overflow:visible;background-image:none;min-height:auto}.home-hero__art{display:none}.home-hero__content{max-width:100%;justify-items:center;text-align:center}.home-hero__headline,.home-hero__sub{max-width:100%;text-align:left;justify-self:start}.home-hero__mobile-owl{display:block;max-width:100%;height:240px;margin:0 auto;object-fit:contain}.home-features{margin-top:0}.home-checks,.home-features{justify-content:center}.home-card{top:56px;bottom:3.2rem;width:100%;margin-top:0;border-radius:16px 16px 0 0;box-shadow:0 -4px 24px rgba(0,0,0,.15);overflow-y:auto;z-index:100}.home-card,.site-footer{position:fixed;left:0;right:0}.site-footer{bottom:0;z-index:200}}.suggest-or-divider{display:flex;align-items:center;gap:.5rem;color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.suggest-or-divider:after,.suggest-or-divider:before{content:"";flex:1 1;height:1px;background:var(--border)}.suggest-form-grid{display:grid;grid-template-columns:1fr;grid-gap:.6rem;gap:.6rem}@media (min-width:600px){.suggest-form-grid{grid-template-columns:1fr 1fr}}.suggest-field-full{grid-column:1/-1}.suggest-col-narrow .input{width:6rem}.suggest-presets-block{margin-bottom:.25rem}.suggest-preset-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.25rem}.suggest-preset-chips-label{font-size:.85rem;font-weight:500;margin-bottom:.4rem;display:block;color:var(--foreground)}.suggest-preset-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .65rem .3rem .45rem;border-radius:6px;border:1.5px solid var(--border);background:var(--surface);color:var(--foreground);font-size:.8rem;cursor:pointer;transition:background .12s,border-color .12s,color .12s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.suggest-preset-chip:hover{border-color:var(--primary)}.suggest-preset-chip-box{display:inline-flex;align-items:center;justify-content:center;width:13px;height:13px;border:1.5px solid var(--border-input);border-radius:3px;background:var(--surface-card);flex-shrink:0;transition:background .12s,border-color .12s}.suggest-preset-chip.active{border-color:var(--primary);background:var(--surface-chip);color:var(--foreground)}.suggest-preset-chip.active .suggest-preset-chip-box{background:var(--primary);border-color:var(--primary);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 10 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 4L3.5 6.5L9 1' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-size:9px 7px;background-repeat:no-repeat;background-position:50%}.book-thumbnail-fallback{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:var(--color-surface,#f0f4f8);color:var(--color-muted,#9aafc4);border-radius:var(--radius-sm,4px)}.books-page-layout{display:flex;min-height:calc(100vh - 80px);margin:-1.25rem -.75rem -1.5rem}.books-sidebar{width:80px;flex-shrink:0;border-right:1px solid var(--border);background:var(--surface-card);position:-webkit-sticky;position:sticky;top:80px;height:calc(100vh - 80px);padding:.75rem 0;gap:0;overflow:hidden}.books-sidebar,.books-sidebar-back{display:flex;flex-direction:column;align-items:center}.books-sidebar-back{gap:3px;padding:.6rem .25rem;color:var(--muted);font-size:9px;font-weight:600;text-decoration:none;border-radius:8px;width:64px;text-align:center;transition:color .12s,background .12s}.books-sidebar-back:hover{color:var(--foreground);background:var(--surface)}.books-sidebar-profile-label{font-size:10px;font-weight:700;color:var(--muted);text-align:center;padding:.5rem .25rem .25rem;width:64px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.child-home-main{padding-top:.5rem}.books-sidebar-divider{width:44px;height:1px;background:var(--border);margin:.4rem 0}.books-sidebar-nav{gap:2px;width:100%}.books-sidebar-item,.books-sidebar-nav{display:flex;flex-direction:column;align-items:center}.books-sidebar-item{gap:3px;padding:.55rem .25rem;color:var(--muted);font-size:10px;font-weight:600;text-decoration:none;border-radius:8px;width:64px;text-align:center;transition:color .12s,background .12s}.books-sidebar-item:hover{color:var(--foreground);background:var(--surface)}.books-sidebar-item.active{background:var(--surface-tint-strong);color:var(--color-teal)}.books-page-main{flex:1 1;min-width:0;padding:1rem 1.25rem 2rem;display:flex;flex-direction:column;gap:1rem}.books-hero{position:relative;display:flex;align-items:center;gap:1rem;background:var(--surface-tint-strong);border-radius:16px;padding:1.25rem 1.5rem;overflow:hidden;min-height:108px}.books-hero-icon-block{width:48px;height:48px;border-radius:12px;background:var(--brand-solid);display:flex;align-items:center;justify-content:center;flex-shrink:0}.books-hero-text{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.books-hero-title{font-size:20px;font-weight:500;color:var(--ink-brand);line-height:1.2}.books-hero-tagline{font-size:13px;color:var(--ink-brand-2);line-height:1.4}.books-hero-owl{position:absolute;right:0;bottom:0;height:86px;width:auto;object-fit:contain;object-position:bottom right}.books-stats-row{display:flex;gap:1rem}.books-stat{display:flex;flex-direction:column;gap:2px;min-width:60px}.books-stat-value{font-size:1.6rem;font-weight:800;color:var(--foreground);line-height:1}.books-stat-label{font-size:.75rem;color:var(--muted);font-weight:500}.books-toolbar{display:flex;flex-direction:column;gap:.6rem}.books-search-input{width:100%;border:1px solid var(--border);border-radius:999px;padding:.55rem 1rem;font-size:.92rem;background:var(--surface);color:var(--foreground);transition:border-color .12s}.books-search-input:focus{outline:none;border-color:var(--brand-solid);background:var(--surface-card)}.books-group-buttons{display:flex;gap:.4rem;flex-wrap:wrap}.books-group-btn{display:inline-flex;align-items:center;border:1.5px solid var(--border);border-radius:999px;background:var(--surface-card);color:var(--foreground);font-size:.82rem;font-weight:600;padding:.3rem .8rem;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.books-group-btn:hover{border-color:var(--brand-solid);color:var(--color-teal)}.books-group-btn.active{background:var(--brand-solid);border-color:var(--brand-solid);color:var(--on-accent)}.books-content{gap:1.25rem}.books-content,.books-group{display:flex;flex-direction:column}.books-group{gap:.5rem}.books-group-header{display:flex;align-items:center;gap:.5rem;padding-bottom:.25rem;border-bottom:1px solid var(--border)}.books-group-label{font-size:.92rem;font-weight:700;color:var(--foreground);flex:1 1}.books-group-count{font-size:.8rem;color:var(--muted)}.books-load-more{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.75rem 0}.books-load-more-label{font-size:.85rem;color:var(--muted)}.books-load-more-btn{border:1.5px solid var(--brand-solid);border-radius:999px;background:var(--surface-card);color:var(--color-teal);font-size:.9rem;font-weight:600;padding:.45rem 1.25rem;cursor:pointer;transition:background .12s,color .12s}.books-load-more-btn:hover{background:var(--brand-solid);color:var(--on-accent)}@media (max-width:480px){.books-hero-tagline{display:none}.books-page-main{padding:.75rem .75rem 2rem}}.page-layout{display:flex;min-height:calc(100vh - 80px);margin:-1.25rem -.75rem -1.5rem}.child-sidebar{width:80px;flex-shrink:0;border-right:1px solid var(--border);background:var(--surface-card);position:-webkit-sticky;position:sticky;top:80px;height:calc(100vh - 80px);display:flex;flex-direction:column;align-items:center;padding:.75rem 0;gap:0;overflow:hidden}.child-sidebar-divider{width:44px;height:1px;background:var(--border);margin:.4rem 0}.child-sidebar-item{display:flex;flex-direction:column;align-items:center;gap:3px;padding:.55rem .25rem;color:var(--muted);font-size:10px;font-weight:600;text-decoration:none;border-radius:8px;width:60px;text-align:center;transition:color .12s,background .12s}.child-sidebar-item:hover{color:var(--foreground);background:var(--surface)}.child-sidebar-item.active{background:var(--surface-tint-strong);color:var(--color-teal)}.main-column{flex:1 1;min-width:0;display:flex;flex-direction:column}.child-name-bar{background:var(--color-background-primary);border-bottom:.5px solid var(--color-border-tertiary);padding:10px 16px;font-size:15px;font-weight:500;color:var(--foreground)}.section-subtitle{font-size:13px;font-weight:400;color:var(--color-text-secondary)}.page-hero{position:relative;display:flex;align-items:center;gap:1rem;background:var(--surface-tint-strong);border-bottom:.5px solid var(--border-brand-soft);padding:1.25rem 1.5rem;overflow:hidden;min-height:88px}.page-hero-icon-block{width:48px;height:48px;border-radius:12px;background:var(--brand-solid);display:flex;align-items:center;justify-content:center;flex-shrink:0}.page-hero-text{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.page-hero-title{font-size:20px;font-weight:500;color:var(--ink-brand);line-height:1.2}.page-hero-tagline{font-size:13px;color:var(--ink-brand-2);line-height:1.4}.page-hero-owl{position:absolute;right:0;bottom:0;height:86px;width:auto;object-fit:contain;object-position:bottom right}.stats-row{justify-content:space-around;padding:12px 16px;border-bottom:.5px solid var(--color-border-tertiary)}.stat-item,.stats-row{display:flex;align-items:center}.stat-item{flex-direction:column;gap:4px}.stat-icon-wrap{width:36px;height:36px;border-radius:50%;background:var(--surface-tint-strong);display:flex;align-items:center;justify-content:center}.stat-num{font-size:20px;font-weight:500;color:var(--ink-brand);line-height:1}.stat-label{font-size:11px;color:var(--color-text-secondary)}.page-toolbar{display:flex;flex-direction:column;gap:.6rem;padding:.75rem 1.25rem;border-bottom:.5px solid var(--color-border-tertiary);position:-webkit-sticky;position:sticky;top:80px;z-index:50;background:var(--color-background,#fff)}.page-toolbar-row{display:flex;align-items:center;gap:.75rem}.page-toolbar-search{flex:1 1;position:relative}.page-search-input{width:100%;border:1px solid var(--border);border-radius:999px;padding:.55rem 1rem;font-size:.92rem;background:var(--surface);color:var(--foreground);transition:border-color .12s}.page-search-input:focus{outline:none;border-color:var(--brand-solid);background:var(--surface-card)}.page-content{flex:1 1;display:flex;flex-direction:column;gap:1.25rem;padding:1rem 1.25rem 2rem;overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:480px){.page-hero-tagline{display:none}.page-content{padding:.75rem .75rem 2rem}.app-content{padding:.75rem 1rem}}.static-page{max-width:680px;margin:0 auto;padding:2rem 0 4rem}.static-page h1{font-size:1.75rem;font-weight:700;margin-bottom:1.5rem;color:var(--foreground)}.static-page h2{font-size:1.2rem;font-weight:600;margin-top:2rem;margin-bottom:.75rem;color:var(--foreground)}.static-page li,.static-page p{font-size:.95rem;line-height:1.7;color:var(--muted);margin-bottom:1rem}.static-page__intro{margin-bottom:2rem}.contact-form{display:flex;flex-direction:column;gap:1.25rem;max-width:480px}.contact-form__field{display:flex;flex-direction:column;gap:.4rem}.input-label{font-weight:500}.contact-form__textarea,.input-label{font-size:.95rem;color:var(--foreground)}.contact-form__textarea{width:100%;padding:.65rem .75rem;border:1px solid var(--border);border-radius:var(--radius);font-family:inherit;background:var(--surface-card);resize:vertical;min-height:120px}.contact-form__textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring)}.contact-success{color:var(--primary);font-weight:500;font-size:1rem}.stats-progress{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:80px;max-width:120px}@media (max-width:640px){.page-toolbar{top:56px}.stat-item--authors{display:none}.stats-progress{flex:0 0 33%;max-width:33%}.stats-progress .reading-hero-progress-bar{height:20px}.stats-progress .reading-hero-fire-title{font-size:.72rem;white-space:nowrap}}.child-bottom-nav{display:none}@media (max-width:640px){.child-sidebar{display:none}.child-bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:201;background:var(--color-surface,#fff);border-top:1px solid var(--color-border,#e5e7eb);height:60px;align-items:stretch}.child-bottom-nav__item{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:.625rem;font-weight:500;color:var(--color-text-muted,#6b7280);text-decoration:none;padding:6px 0}.child-bottom-nav__item.active{color:var(--primary)}.page-layout{padding-bottom:60px}}.book-section-empty-owl{display:flex;justify-content:center;align-items:center;padding:48px 24px}.book-section-empty-owl img{max-width:220px;width:100%;height:auto}.admin-top-row,.audit-header-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.audit-form{border:1px solid var(--border);background:var(--surface-card);padding:1rem}.audit-form,.audit-form-fields{display:grid;grid-gap:.75rem;gap:.75rem}.audit-form-fields{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.audit-results{display:grid;grid-gap:.75rem;gap:.75rem}.audit-section{border:1px solid var(--border);background:var(--surface-card)}.audit-section-header{display:flex;align-items:center;gap:.6rem;width:100%;padding:.7rem .9rem;background:var(--surface);border:0;cursor:pointer;font-size:.95rem;font-weight:600;text-align:left}.audit-section-header:hover{background:var(--surface-hover)}.audit-chevron{margin-left:auto;color:var(--muted)}.audit-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;padding:.1rem .45rem;font-size:.78rem;font-weight:700;border-radius:999px}.audit-badge-missing{background:var(--surface-danger-strong);color:var(--ink-danger-2)}.audit-badge-incomplete{background:var(--surface-warn);color:var(--ink-warn)}.audit-badge-ok{background:var(--surface-success-strong);color:var(--ink-success)}.audit-section-body,.catalog-series-list{border-top:1px solid var(--border)}.catalog-series{border-bottom:1px solid var(--border)}.catalog-series-header{display:flex;align-items:center;gap:.6rem;padding:.4rem .9rem .4rem 0;background:var(--surface-card)}.catalog-series-toggle{display:flex;flex:1 1;align-items:center;gap:.6rem;padding:.15rem 0 .15rem .9rem;background:none;border:0;color:var(--foreground);cursor:pointer;font-size:var(--font-base);font-weight:var(--weight-medium);text-align:left}.catalog-series-toggle:hover{background:var(--surface-hover)}.catalog-series-confirm{display:flex;align-items:center;gap:.5rem}.catalog-series-question{color:var(--muted);font-size:var(--font-sm)}.catalog-series-notice{margin:0;padding:.6rem .9rem;background:var(--surface-success-strong);border-bottom:1px solid var(--border);color:var(--ink-success);font-size:var(--font-sm)}.catalog-series-chevron{width:.8rem;color:var(--muted)}.catalog-series-name{flex:1 1}.catalog-series-flag{padding:.1rem .45rem;background:var(--surface-warn);border-radius:var(--radius-pill);color:var(--ink-warn);font-size:var(--font-xs)}.catalog-series-count{color:var(--muted);font-size:var(--font-sm);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.catalog-series-body{background:var(--background)}.catalog-series-body .audit-row{padding-left:2.1rem}.audit-section-body>.audit-row+.audit-row,.catalog-series-body .audit-row+.audit-row{border-top:1px solid var(--border)}.audit-empty{padding:.75rem .9rem}.audit-row{display:flex;align-items:flex-start;gap:.75rem;padding:.65rem .9rem}.audit-thumb{width:44px;height:64px;object-fit:cover;border:1px solid var(--border);border-radius:3px;flex-shrink:0}.audit-thumb-placeholder{background:var(--surface);border-radius:3px}.audit-row-info{flex:1 1;min-width:0;display:grid;grid-gap:.2rem;gap:.2rem}.audit-row-title{font-size:.9rem;font-weight:600;line-height:1.3}.audit-row-meta{display:flex;flex-wrap:wrap;gap:.25rem .6rem;font-size:.8rem;color:var(--muted)}.audit-pills{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.15rem}.audit-missing-pill{display:inline-block;background:var(--surface-danger-strong);color:var(--ink-danger-2);font-size:.72rem;font-weight:600;padding:.1rem .4rem;border-radius:3px}.audit-row-actions{display:flex;flex-direction:column;gap:.35rem;flex-shrink:0;align-items:stretch;min-width:110px}.audit-row-mismatch{flex-wrap:wrap;align-items:flex-start}.audit-mismatch-fields{display:grid;grid-gap:.45rem;gap:.45rem;margin-top:.4rem}.audit-field-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.audit-field-label{font-size:.8rem;font-weight:600;color:var(--foreground);min-width:90px;flex-shrink:0}.audit-field-input{width:auto;min-width:140px;max-width:240px;flex:1 1;padding:.35rem .5rem;font-size:.85rem}.audit-google-hint{font-size:.78rem;color:var(--muted);white-space:nowrap}.audit-duplicate-group{display:flex;flex-wrap:wrap;gap:.75rem;padding:.75rem .9rem;border-top:1px solid var(--border)}.audit-duplicate-group:first-child{border-top:none}.audit-duplicate-card{flex:1 1;min-width:200px;border:1px solid var(--border);background:var(--surface);padding:.65rem;display:grid;grid-gap:.35rem;gap:.35rem}.audit-duplicate-info{display:grid;grid-gap:.15rem;gap:.15rem;font-size:.85rem}.audit-duplicate-info strong{font-size:.9rem;line-height:1.3}.audit-completeness{font-size:.75rem;color:var(--muted);border:1px solid var(--border);width:-moz-fit-content;width:fit-content;margin-top:.1rem}.audit-completeness,.audit-mismatch-pill{display:inline-block;padding:.1rem .4rem;border-radius:3px}.audit-mismatch-pill{background:var(--surface-warn);color:var(--ink-warn-2);font-size:.72rem;font-weight:600}.audit-row--collapsed{cursor:pointer}.audit-row--collapsed:hover{background:var(--surface)}.audit-row--expanded{border-top:1px solid var(--border)}.audit-row--expanded:first-child{border-top:none}.audit-row--header{cursor:pointer;background:var(--surface)}.audit-row--header:hover{filter:brightness(.97)}.audit-expand-body{padding:.65rem .9rem .75rem;display:flex;flex-direction:row;gap:1rem;align-items:flex-start}.audit-expand-fields{flex:1 1;min-width:0;display:grid;grid-gap:.5rem;gap:.5rem}.audit-accept-btn{font-size:.78rem;color:var(--primary);background:none;border:1px solid var(--primary);border-radius:3px;padding:.2rem .45rem;cursor:pointer;white-space:nowrap;flex-shrink:0}.audit-accept-btn:hover{background:var(--primary);color:var(--on-accent)}.audit-cover-row{align-items:flex-start}.audit-cover-pair{display:flex;gap:1rem;flex-wrap:wrap}.audit-cover-item{display:flex;flex-direction:column;align-items:center;gap:.25rem}.audit-cover-editions-wrap{display:flex;gap:1rem;flex-wrap:wrap;align-items:flex-start}.audit-cover-editions{display:flex;gap:.5rem;flex-wrap:wrap}.audit-edition-card{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.35rem;border:2px solid var(--border);border-radius:4px;cursor:pointer;background:var(--surface)}.audit-edition-card:hover{border-color:var(--primary)}.audit-edition-card--selected{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,transparent)}.audit-cover-img{object-fit:cover}.audit-cover-img,.audit-cover-img--placeholder{width:56px;height:80px;border:1px solid var(--border);border-radius:3px}.audit-cover-img--placeholder{background:var(--surface)}.audit-section-body>.audit-row+.audit-row--expanded,.audit-section-body>.audit-row--expanded+.audit-row,.audit-section-body>.audit-row--expanded+.audit-row--expanded{border-top:1px solid var(--border)}.admin-dashboard-nav{display:flex;gap:1rem;margin-bottom:1.5rem}.admin-dashboard-nav a{padding:.5rem 1.25rem;border:1px solid var(--border);border-radius:8px;font-size:.95rem;font-weight:500;color:var(--foreground);text-decoration:none}.admin-dashboard-nav a:hover{background:var(--surface)}.admin-overview{display:flex;flex-direction:column;gap:1.25rem}.admin-overview__head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.admin-overview__window{font-size:.85rem;color:var(--muted)}.admin-overview__block{background:var(--surface-card);border:1px solid var(--border);border-radius:12px;padding:1rem 1.15rem 1.15rem}.admin-overview__block-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.admin-overview__block-title{font-size:1.05rem;font-weight:600;color:var(--foreground)}.admin-overview__note{margin:.4rem 0 0;font-size:.85rem;color:var(--muted);line-height:1.45}.admin-overview__note--spark{margin-top:1.9rem}.admin-overview__fact{margin:.9rem 0 0;font-size:.88rem;color:var(--foreground)}.admin-overview-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));grid-gap:.75rem;gap:.75rem;margin-top:.85rem}.admin-overview-card{border:1px solid var(--border);border-radius:10px;padding:.7rem .85rem;display:flex;flex-direction:column;gap:.15rem}.admin-overview-card__label{font-size:.8rem;color:var(--muted)}.admin-overview-card__value{font-size:1.6rem;font-weight:600;color:var(--foreground);line-height:1.1}.admin-overview-card__caption{font-size:.78rem;color:var(--muted);line-height:1.35}.admin-overview-spark{display:flex;align-items:flex-end;gap:.4rem;height:4.6rem;margin-top:.9rem}.admin-overview-spark__col{position:relative;flex:1 1;height:var(--bar);background:var(--color-teal);border-radius:3px 3px 0 0}.admin-overview-spark__col--empty{background:var(--border)}.admin-overview-spark__value{top:-1.15rem;font-size:.72rem}.admin-overview-spark__tick,.admin-overview-spark__value{position:absolute;left:0;right:0;text-align:center;font-style:normal;color:var(--muted)}.admin-overview-spark__tick{bottom:-1.1rem;font-size:.68rem}.admin-overview-rows{margin-top:.9rem}.admin-overview-row{display:flex;align-items:center;gap:.75rem}.admin-overview-row+.admin-overview-row{margin-top:.45rem}.admin-overview-row__label{flex:0 0 8.5rem;font-size:.85rem;color:var(--foreground)}.admin-overview-row__track{position:relative;flex:1 1;height:1.35rem;border-radius:999px;background:var(--shell-border)}.admin-overview-row__track--head{background:none}.admin-overview-row__arc{position:absolute;top:0;bottom:0;left:0;width:var(--bar);border-radius:999px;background:var(--color-teal)}.admin-overview-row__value{position:absolute;top:50%;transform:translateY(-50%);font-size:.8rem;font-style:normal;font-weight:600}.admin-overview-row__value--in{right:.5rem;color:var(--overview-on-bar)}.admin-overview-row__value--out{left:var(--bar);margin-left:.55rem;color:var(--muted)}.admin-overview-row__rate{flex:0 0 4.5rem;text-align:right;font-size:.85rem;color:var(--foreground);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.admin-overview-row--head .admin-overview-row__label,.admin-overview-row--head .admin-overview-row__rate{font-size:.75rem;color:var(--muted)}.admin-overview-ops{display:flex;flex-wrap:wrap;gap:1.1rem;border-top:1px solid var(--border);padding-top:.9rem;font-size:.85rem;color:var(--muted)}.admin-overview-ops b{font-size:.95rem;font-weight:600;color:var(--foreground)}@media (max-width:700px){.admin-overview-cards{grid-template-columns:repeat(2,1fr)}.admin-overview-row__label{flex-basis:6.2rem}.admin-overview-row__rate{flex-basis:3.6rem}}.contentmap__legend{display:flex;flex-wrap:wrap;align-items:center;gap:1.4rem;margin:.9rem 0 .2rem;font-size:var(--font-xs);color:var(--muted)}.contentmap__lane{border:var(--hairline) solid var(--border);border-radius:var(--radius-card);padding:.8rem 1rem;margin-top:.7rem;background:var(--background)}.contentmap__lane--soon{border-style:dashed;background:var(--surface)}.contentmap__strand{display:flex;align-items:flex-start;gap:.8rem;padding:.28rem 0}.contentmap__strand+.contentmap__strand{border-top:var(--hairline) dashed var(--border)}.contentmap__strand-label{flex:0 0 9.5rem;font-size:var(--font-base);color:var(--foreground)}.contentmap__chips{display:flex;flex-wrap:wrap;gap:.35rem}.contentmap__chip{display:inline-flex;align-items:center;gap:.3rem;padding:.18rem .6rem;border:var(--hairline) solid var(--color-teal);border-radius:var(--radius-pill);background:var(--surface-chip);color:var(--primary-hover);font-size:var(--font-sm);font-style:normal;line-height:1.2}.contentmap__chip--planned{border-style:dashed;border-color:var(--border);background:transparent;color:var(--muted)}.contentmap__chip--design{border-style:dashed;border-color:var(--ink-warn);background:var(--surface-warn);color:var(--ink-warn)}.contentmap__chip--empty{border-style:dotted;border-color:var(--border);background:transparent;color:var(--muted)}@media (max-width:700px){.contentmap__strand{flex-direction:column;gap:.2rem}.contentmap__strand-label{flex:0 0 auto}}.fold__head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;width:100%;padding:0;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.fold__head:focus-visible{outline:2px solid var(--color-teal);outline-offset:3px;border-radius:var(--radius-mark)}.fold__title{font-size:var(--font-lg);font-weight:var(--weight-strong);color:var(--foreground)}.fold__head:hover .fold__title{color:var(--primary-hover)}.fold__mark{border:var(--hairline) dashed var(--border);border-radius:var(--radius-pill);padding:.1rem .5rem;font-size:var(--font-2xs);color:var(--muted)}.fold__meta{margin-left:auto;font-size:var(--font-base);color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fold__caret{align-self:center;flex:0 0 auto;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--muted);transition:transform .15s ease}.fold--open .fold__caret{transform:rotate(180deg)}.fold__body{margin-top:.5rem}.fold__body[hidden]{display:none}.admin-dashboard-footer{display:flex;align-items:center;gap:1rem;font-size:.88rem}.required-indicator{color:var(--color-error);margin-left:2px}.home-origin-wrap{padding:1rem max(1.5rem,calc((100% - 960px) / 2 + 1.5rem))}.home-origin{display:flex;align-items:center;gap:1.25rem;width:100%}.home-origin__img{width:100px;flex-shrink:0}.home-origin__text{display:flex;flex-direction:column}.home-origin__heading{font-size:1.1rem;font-weight:700;color:var(--color-teal);margin:0 0 .35rem}.home-origin__body{font-size:.95rem;color:var(--nav-text);margin:0 0 .5rem;line-height:1.5}.home-origin__attribution{font-size:.8rem;color:var(--muted);margin:0}.home-origin__cta{font-size:.9rem;font-weight:700;color:var(--color-teal);margin:0}.home-origin__footer{display:flex;gap:1.5rem;font-size:.85rem;color:var(--muted);margin-top:.75rem}.home-features{display:flex;gap:2.5rem;align-items:flex-start}.home-feature{display:flex;flex-direction:column;align-items:center;gap:.4rem;text-align:center}.home-feature__icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.3rem}.home-feature__icon--teal{background:var(--color-teal-light)}.home-feature__icon--amber{background:var(--feature-icon-bg-amber)}.home-feature__icon--purple{background:var(--feature-icon-bg-purple)}.home-feature__label{font-size:.8rem;font-weight:500;color:var(--foreground);line-height:1.3}.home-cta-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--primary);color:var(--on-accent);font-size:1rem;font-weight:700;border-radius:999px;padding:.85rem 2rem;max-width:250px;width:100%;transition:background .15s}.home-cta-btn:hover{background:var(--primary-hover);color:var(--on-accent)}.home-checks{display:flex;flex-direction:row;gap:1.25rem}.home-check{font-size:.9rem;color:var(--muted)}.home-demo{background:var(--shell-bg);border-top:1px solid var(--shell-border);border-bottom:1px solid var(--shell-border);padding:2.5rem 1.25rem}.home-demo__inner{max-width:var(--max-width);margin:0 auto}.home-demo__heading{font-size:1.5rem;font-weight:700;text-align:center;margin:0}.home-demo__sub{font-size:1rem;color:var(--muted);text-align:center;margin:.5rem 0 1.5rem}.home-demo__grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:.75rem;gap:.75rem}@media (min-width:768px){.home-demo__grid{grid-template-columns:repeat(4,1fr)}}.home-demo__btn{padding:1rem .75rem;border:1px solid var(--shell-border);border-radius:var(--radius);background:var(--background);color:var(--foreground);font-size:1rem;font-weight:600;cursor:pointer;transition:border-color .15s,box-shadow .15s}.home-demo__btn:hover{border-color:var(--primary);box-shadow:0 2px 8px rgba(13,148,136,.1)}.lesson-print-link{justify-self:center;margin-top:.25rem;font-size:var(--font-base);color:var(--text-muted);text-decoration:underline}.lesson-print-link:hover{color:var(--foreground)}.lesson-exit-link{justify-self:center;background:none;border:none;padding:.25rem .5rem;font-size:.9rem;font-weight:500;color:var(--muted);cursor:pointer}.lesson-exit-link:hover{color:var(--foreground)}.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;font-size:.85rem;margin-bottom:.25rem}.breadcrumbs__item{display:inline-flex;align-items:center}.breadcrumbs__sep{color:var(--muted);opacity:.5;padding:0 .2rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.breadcrumbs__link{color:var(--muted);text-decoration:none;padding:.65rem .2rem;min-height:2.75rem;display:inline-flex;align-items:center;transition:color .15s}.breadcrumbs__link:active,.breadcrumbs__link:hover{color:var(--primary)}.breadcrumbs__current{color:var(--foreground);padding:.65rem .2rem}.breadcrumbs-row{display:flex;align-items:center;justify-content:space-between}.practice-page{display:grid;grid-gap:1.25rem;gap:1.25rem;padding-top:.75rem;padding-bottom:var(--practice-scroll-padding)}.practice-subheading{font-size:1rem;color:var(--muted);margin:0}.practice-back{display:inline-flex;align-items:center;gap:.35rem;font-size:.88rem;font-weight:500;color:var(--muted);text-decoration:none}.practice-back:hover,.practice-card{color:var(--foreground)}.practice-card{position:relative;display:flex;flex-direction:column;gap:.3rem;background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem 1rem;cursor:pointer;text-decoration:none;transition:border-color .15s,box-shadow .15s}.practice-card-donut{position:absolute;top:.55rem;right:.55rem;line-height:0;pointer-events:none}.practice-card:hover{border-color:var(--primary);box-shadow:0 2px 8px rgba(13,148,136,.1)}.practice-card--subject{align-items:center;text-align:center;padding:1.75rem 1rem}.practice-card--coming{cursor:default;opacity:.72;border-style:dashed;border-color:var(--border)}.practice-card--coming:hover{border-color:var(--border);box-shadow:none}.practice-lane-heading{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem}.practice-lane-heading__meta{font-size:.88rem;color:var(--muted);font-weight:500}.practice-card__emoji{font-size:2.5rem;line-height:1;margin-bottom:.25rem}.practice-card__label{font-size:1rem;font-weight:600}.practice-card__meta{font-size:.85rem;color:var(--muted)}.practice-card__type{font-size:.8rem;color:var(--muted)}.domain-card{display:flex;flex-direction:column;gap:.25rem;padding:1rem 1.25rem;margin-bottom:1rem;background:var(--color-teal-light);border:1px solid var(--shell-border);border-left:4px solid var(--color-teal);border-radius:var(--radius-card);text-decoration:none;color:inherit}.domain-card:hover{border-left-color:var(--color-teal);box-shadow:var(--shadow-sm,0 1px 2px rgba(0,0,0,.06))}.domain-card__label{font-size:1.05rem;font-weight:600}.domain-card__meta{font-size:.88rem;color:var(--muted)}.domain-card__action{font-size:.88rem;font-weight:600;color:var(--color-teal)}.lesson-domain{display:flex;flex-wrap:wrap;gap:.5rem;align-items:baseline;margin:0 0 .75rem;padding:.6rem .9rem;background:var(--surface);border:1px solid var(--shell-border);border-radius:var(--radius-card);font-size:.88rem}.lesson-domain__name{font-weight:600}.lesson-domain__place,.lesson-domain__source{color:var(--muted)}.practice-card__type--mastered{color:var(--color-correct);font-weight:700}.practice-mix-card{width:100%;border:2px solid var(--color-teal-border);background:var(--surface-tint)}.practice-mix-card:hover{border-color:var(--color-teal)}.practice-mix-card .practice-card__type{color:var(--color-teal);font-weight:600}.practice-week-heading{margin:1.5rem 0 .75rem}.practice-week-header,.practice-week-heading{font-size:1.1rem;font-weight:700;color:var(--nav-text)}.practice-week-header{width:100%;display:flex;align-items:center;justify-content:space-between;background:none;border:none;border-top:1px solid var(--shell-border);padding:.85rem 0;margin-top:.75rem;cursor:pointer;text-align:left;min-height:2.75rem}.practice-week-title{display:inline-flex;align-items:center;gap:.5rem}.practice-week-done-badge{display:inline-flex;align-items:center;justify-content:center;width:1.3rem;height:1.3rem;background:var(--primary);color:var(--on-accent);border-radius:50%;font-size:.7rem;font-weight:700;line-height:1}.practice-week-chevron{font-size:1.3rem;color:var(--muted);display:inline-block;transform:rotate(0deg);transition:transform .25s ease;line-height:1}.practice-week-chevron--open{transform:rotate(90deg)}.practice-week-body{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .25s ease,opacity .2s ease}.practice-week-body--open{grid-template-rows:1fr;opacity:1}.practice-week-body__inner{overflow:hidden;padding-bottom:.5rem}.practice-lesson-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:.75rem;gap:.75rem}@media (min-width:768px){.practice-lesson-grid{grid-template-columns:repeat(5,1fr)}}.practice-lesson-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:1rem .5rem .75rem;border:1px solid var(--shell-border);border-radius:12px;background:var(--surface-card);cursor:pointer;text-decoration:none;text-align:center;transition:box-shadow .15s ease}.practice-lesson-card:hover{box-shadow:0 2px 8px rgba(0,0,0,.08)}.practice-lesson-card-emoji{font-size:2.5rem;margin-bottom:.5rem}.practice-lesson-card-title{font-size:.8rem;font-weight:600;color:var(--nav-text);line-height:1.3}.practice-lesson-card-badge{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:50%;background:var(--brand-solid-green);color:var(--on-accent);font-size:1rem;display:flex;align-items:center;justify-content:center;line-height:1}.practice-lesson-card-badge--started{background:transparent;border:2px solid var(--color-correct);color:var(--color-correct);font-size:.9rem}.practice-lesson-card-badge--mastered{background:var(--color-correct);color:var(--on-accent);box-shadow:0 0 0 2px rgba(22,163,74,.25)}.practice-no-results{text-align:center;color:var(--text-muted);padding:2.5rem 1rem}.lesson-card-intro{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.85rem;color:var(--text-muted,#6b7280);margin-top:.25rem}.practice-done-badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.78rem;font-weight:600;color:var(--ink-success);background:var(--surface-success-strong);border-radius:999px;padding:.15rem .55rem;align-self:flex-start;margin-top:.2rem}.lesson-passage{display:grid;grid-gap:1rem;gap:1rem;padding-bottom:var(--practice-scroll-padding)}.lesson-picture{text-align:center;font-size:4rem;line-height:1}.lesson-picture--image{margin:0 0 1.25rem}.lesson-picture--image img{display:block;width:100%;max-width:24rem;height:auto;margin:0 auto;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface-card)}.lesson-title{font-size:1.5rem;font-weight:700;margin:0}.lesson-type{font-size:.88rem;color:var(--muted);margin:0}.lesson-intro{font-size:1rem;line-height:1.6;color:var(--foreground);margin:0}.lesson-text{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;display:grid;grid-gap:.5rem;gap:.5rem}.lesson-text p{margin:0;line-height:1.7;font-size:1rem}.lesson-start-btn{width:100%;min-height:48px}.lesson-exercise{display:grid;grid-gap:1rem;gap:1rem;padding-bottom:var(--practice-scroll-padding)}@media (min-width:768px){.lesson-exercise{grid-template-columns:1fr 1fr;gap:1.5rem;align-items:start}}.lesson-exercise-passage{font-size:.9rem;line-height:1.6;display:grid;grid-gap:.4rem;gap:.4rem}.lesson-exercise-passage p{margin:0}@media (min-width:768px){.lesson-exercise-passage{max-height:60vh;overflow-y:auto;position:-webkit-sticky;position:sticky;top:1rem}}.lesson-exercise--pv-model{grid-template-columns:minmax(0,1fr)}.lesson-exercise-main{display:grid;width:100%;grid-gap:1rem;gap:1rem}.lesson-progress{font-size:.88rem;color:var(--muted);font-weight:500;margin:0}.lesson-question{font-size:1.1rem;font-weight:600;line-height:1.4;margin:0}.lesson-look-line{font-size:1.1rem;font-weight:400;line-height:1.45;margin:0;text-align:center}.lesson-look-term{font-weight:800;color:var(--foreground);white-space:nowrap}.lesson-math-visual{font-size:1.9rem;font-weight:600;line-height:1.6;letter-spacing:.04em;text-align:center;padding:.25rem 0 .5rem;word-break:break-word}@media (max-width:480px){.lesson-math-visual{font-size:1.5rem}}.lesson-math-count{font-size:1.7rem;font-weight:600;line-height:1.9;letter-spacing:.05em;text-align:center;padding:.25rem 0;max-width:100%;overflow-wrap:break-word;min-width:0}@media (max-width:480px){.lesson-math-count{font-size:1.4rem;letter-spacing:.04em}}.lesson-math-counted{display:grid;grid-template-columns:repeat(5,auto);justify-content:center;grid-gap:.35rem .6rem;gap:.35rem .6rem;padding:.25rem 0;line-height:1.2}.lesson-math-counted__item{display:flex;flex-direction:column;align-items:center}.lesson-math-counted__token{font-size:1.5rem;line-height:1.1}.lesson-math-counted__num{font-size:.9rem;font-weight:600;color:var(--text-muted)}@media (max-width:480px){.lesson-math-counted__token{font-size:1.35rem}}.lesson-math-join{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.35rem .5rem;padding:.25rem 0;line-height:1.2}.lesson-math-join__group{display:flex;gap:.55rem}.lesson-math-counted__item--gone{opacity:.45}.lesson-math-counted__item--gone .lesson-math-counted__token{position:relative}.lesson-math-counted__item--gone .lesson-math-counted__token:after{content:"";position:absolute;left:-10%;right:-10%;top:48%;height:2px;border-radius:2px;background:var(--text-muted);transform:rotate(-14deg)}.lesson-math-join__sign{font-size:1.4rem;font-weight:600;color:var(--text-muted)}.lesson-math-join--stack{flex-direction:column}.lesson-math-join--stack .lesson-math-join__row{display:flex;align-items:center;justify-content:center;gap:.4rem;width:100%}.lesson-math-groups{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:1.25rem;font-size:1.7rem;font-weight:600;line-height:1.9;letter-spacing:.05em;text-align:center;padding:.25rem 0}.lesson-math-group{display:inline-block;max-width:100%;overflow-wrap:break-word}@media (max-width:480px){.lesson-math-ppw{font-size:1.35rem}}.lesson-math-bond{display:flex;flex-direction:column;align-items:center;gap:.2em;font-size:1.6rem;line-height:1}.lesson-math-bond__whole{display:inline-flex;align-items:center;justify-content:center;min-width:1.9em;height:1.9em;padding:0 .35em;border-radius:var(--radius);background:var(--nav-active-bg);color:var(--color-teal);font-weight:700;box-sizing:border-box}.lesson-math-bond__branch{display:flex;flex-direction:column;align-items:center}.lesson-math-bond__lines{display:block;width:100%;height:1.3rem;color:var(--border)}.lesson-math-bond__lines line{stroke:currentColor;stroke-width:3}.lesson-math-bond__parts{display:flex;align-items:center;gap:1.2em}.lesson-math-bond__part{display:inline-flex;align-items:center;justify-content:center;min-width:1.9em;height:1.9em;padding:0 .25em;border:2px solid var(--border);border-radius:calc(var(--radius) * .8);background:var(--surface);font-size:1.05em;box-sizing:border-box}.lesson-math-bond__part--unknown{border-color:var(--color-teal);border-style:dashed;color:var(--color-teal);font-size:1.05em;font-weight:700}.lesson-math-bond__part--known{flex:0 0 auto;white-space:nowrap;min-width:1.9em;height:auto;min-height:1.9em}.lesson-math-bond__part--shown{border-color:var(--color-teal);border-style:solid;background:var(--nav-active-bg);color:var(--color-teal);font-size:1.05em;font-weight:800}.lesson-math-bond__part-wrap{display:flex;flex-direction:column;align-items:center;gap:.12em;flex:0 0 auto}.lesson-mul-groups{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:.5rem}.lesson-mul-groups__bag{display:inline-flex;align-items:center;justify-content:center;min-width:3.4em;min-height:3.4em;padding:.35em .4em;border:2px dashed var(--border);border-radius:.75rem;background:var(--surface)}.lesson-mul-groups__items{display:grid;grid-gap:.06em;gap:.06em;justify-items:center;font-size:1.05em;line-height:1.05}.lesson-mul-groups__item{line-height:1}.lesson-mul-groups--counted .lesson-mul-groups__bag{flex-direction:column;gap:.15rem}.lesson-mul-groups__total{font-size:.9em;font-weight:600;color:var(--text-muted);line-height:1}.lesson-mul-array{display:flex;flex-direction:column;align-items:center;gap:.55rem}.lesson-mul-array__grid{display:grid;grid-gap:.12em;gap:.12em;justify-items:center;font-size:1.15em;line-height:1}.lesson-mul-array__dot{line-height:1}.lesson-mul-symbol{display:flex;align-items:center;justify-content:center;gap:.3em;margin:0;font-size:2.3em;font-weight:800;letter-spacing:.02em}.lesson-shape{display:block;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}.lesson-shape--tile{fill:var(--color-teal-light);stroke:var(--color-teal)}.lesson-shape-mark{fill:none;stroke:var(--color-teal);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.lesson-shape--outline{fill:none;stroke:var(--color-teal)}.lesson-shape-stage{padding:.4rem 0 .2rem}.lesson-shape-card,.lesson-shape-stage{display:flex;align-items:center;justify-content:center}.lesson-shape-card{flex-wrap:wrap;gap:.5rem;padding:.3rem 0 .1rem}.lesson-shape-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .7rem;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-card)}.lesson-shape-chip__num{font-size:1.4rem;font-weight:var(--weight-strong);color:var(--foreground);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lesson-shape-chip__label{font-size:var(--font-sm);color:var(--muted)}.lesson-shape-vocab{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem 1rem;padding:.3rem 0}.lesson-shape-vocab__item{display:flex;flex-direction:column;align-items:center;gap:.15rem}.lesson-shape-vocab__name{font-size:var(--font-sm);color:var(--muted)}.lesson-shape-vocab__caption{font-size:var(--font-xs);color:var(--muted);opacity:.8}.lesson-shape-counted{display:flex;flex-wrap:wrap;justify-content:center;gap:1.2rem;padding:.2rem 0 .4rem}.lesson-shape-counted__item{display:flex;flex-direction:column;align-items:center;gap:.15rem}.lesson-shape-num{font-size:13px;font-weight:var(--weight-strong);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;fill:var(--color-teal)}.lesson-shape-num--look{font-size:var(--font-mark)}.lesson-shape-target{display:flex;align-items:center;justify-content:center;padding:.4rem 0 .2rem}.lesson-shape-model{display:flex;flex-direction:column;align-items:center;gap:.45rem;padding:.3rem 0}.lesson-shape-model__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.35rem}.lesson-shape-model__arrow{font-size:var(--font-sm);color:var(--muted)}.lesson-shape-chips{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.4rem}.lesson-shape-odd__marked{border:1px solid var(--color-teal-border);border-radius:var(--radius);padding:.1rem}.lesson-mul-symbol__times{color:var(--color-teal)}.lesson-div{display:flex;flex-direction:column;align-items:center;width:100%;gap:.7rem}.lesson-div__pile{display:grid;grid-gap:.06em;gap:.06em;justify-items:center;font-size:1.05em;line-height:1.05}.lesson-div__item{line-height:1}.lesson-div__baskets{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:.5rem}.lesson-div__basket{display:inline-flex;align-items:center;justify-content:center;min-width:3.4em;min-height:3.4em;padding:.35em .4em;border-top-width:2px;border:2px dashed var(--border);border-top:0 dashed var(--border);border-radius:0 0 .85rem .85rem;background:var(--surface)}.lesson-div__basket--empty{min-height:2.4em}.lesson-div__groups{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:.7rem}.lesson-div__group{gap:.15rem;padding:.4em .5em;border:2px dashed var(--border);border-radius:.7rem;background:var(--surface)}.lesson-div__group,.lesson-div__group-items{display:flex;flex-direction:column;align-items:center}.lesson-div__group-items{font-size:1.05em;line-height:1.05}.lesson-div__count{font-size:.85rem;font-weight:700;line-height:1;color:var(--color-teal)}.lesson-div__basket-items{display:grid;grid-gap:.06em;gap:.06em;justify-items:center;font-size:1.05em;line-height:1.05}.lesson-div-symbol{display:flex;align-items:center;justify-content:center;gap:.3em;margin:0;font-size:2.3em;font-weight:800;letter-spacing:.02em}.lesson-div-symbol__sign{color:var(--color-teal)}.lesson-example__equation{margin:0;font-size:1.45em;font-weight:800;letter-spacing:.02em;white-space:nowrap}@media (max-width:480px){.lesson-mul-array__grid{font-size:.95em}.lesson-div{gap:.5rem}.lesson-div__pile{font-size:.95em}.lesson-div__basket{min-width:3em;min-height:3em;padding:.26em .3em}.lesson-div__basket--empty{min-height:2.1em}.lesson-div__basket-items{font-size:.95em}.lesson-mul-groups{gap:.35rem}.lesson-mul-groups__bag{min-width:3em;min-height:3em;padding:.26em .3em}.lesson-mul-groups__items{font-size:.95em}}.lesson-math-bond__numeral{font-size:1em;font-weight:800;line-height:1;color:var(--color-teal)}@media (max-width:480px){.lesson-math-bond{font-size:1.35rem}}.lesson-math-equation{font-size:2.2rem;font-weight:700;color:var(--nav-text);padding:.4rem 0;letter-spacing:.03em}.lesson-math-equation,.numberline{display:flex;justify-content:center}.numberline{padding:.4rem 0 .2rem;overflow-x:auto}.numberline--count{width:100%;justify-content:stretch}.numberline--count .numberline__track{width:100%;justify-content:space-between}.numberline--count .numberline__tick{flex:1 1}.numberline--skip{width:100%;justify-content:stretch}.numberline--skip .numberline__track{width:100%;justify-content:space-between}.numberline--skip .numberline__tick{flex:1 1}.numberline--round{width:100%;justify-content:stretch}.numberline--round .numberline__track{width:100%;justify-content:space-between}.numberline--round .numberline__tick{flex:1 1;width:auto;min-width:0}.numberline--round .numberline__label{white-space:nowrap}.lesson-fraction-item{display:flex;justify-content:center;width:100%}.numberline--fraction{width:100%;justify-content:stretch}.numberline--fraction .numberline__track{width:100%;justify-content:space-between}.numberline--fraction .numberline__tick{flex:1 1;min-width:0;width:auto}.numberline__track{display:flex;padding:0 .3rem}.numberline__tick{display:flex;flex-direction:column;align-items:center;width:1.7em}.numberline__hops{position:relative;width:100%;height:1.4em}.numberline__hop{position:absolute;left:50%;bottom:0;width:100%;height:1.1em;border-top:2px dashed var(--color-teal);border-radius:50% 50% 0 0/100% 100% 0 0;box-sizing:border-box}.numberline__hop--back{left:auto;right:50%}.numberline--worked .numberline__hops{height:2.5em}.numberline__hop-label{position:absolute;left:50%;top:-1.4em;transform:translateX(-50%);font-size:.8rem;font-weight:700;line-height:1;color:var(--color-teal)}.numberline__axis{position:relative;width:100%;height:.7em;border-top:2px solid var(--border)}.numberline__tickmark{position:absolute;left:50%;top:0;width:2px;height:.45em;background:var(--border);transform:translateX(-50%)}.numberline__dot{position:absolute;left:50%;top:0;width:.8em;height:.8em;border-radius:50%;background:var(--color-teal);transform:translate(-50%,-50%)}.numberline__label{font-size:.95rem;font-weight:600;color:var(--nav-text);line-height:1.5;min-height:1.5em}@media (max-width:480px){.numberline__tick{width:1.4em}}.lesson-math-numeral{font-size:3.4rem;font-weight:700;line-height:1.2;text-align:center;padding:.25rem 0;color:var(--nav-text)}@media (max-width:480px){.lesson-math-numeral{font-size:2.6rem}}.lesson-numeral-pair{display:flex;justify-content:center;align-items:center;gap:2.5rem;font-size:3rem;font-weight:700;line-height:1.2;text-align:center;padding:.25rem 0;color:var(--nav-text)}@media (max-width:480px){.lesson-numeral-pair{font-size:2.4rem;gap:2rem}}.lesson-compare-sign{display:flex;align-items:center;justify-content:center;gap:.7rem;font-size:2.6rem;font-weight:800;line-height:1.15;color:var(--nav-text)}.lesson-compare-sign__ask{display:inline-grid;place-items:center;min-width:1.5em;min-height:1.5em;border:2px dashed var(--color-teal-border);border-radius:var(--radius);color:var(--color-teal);font-size:.72em}.lesson-compare-sign__option{font-size:1.6rem;font-weight:800;line-height:1}.lesson-compare-reveal{display:flex;align-items:center;justify-content:center;gap:.6rem;font-size:1.7rem;font-weight:800;line-height:1.2;color:var(--nav-text)}.lesson-compare-reveal__count{min-width:1.2em;text-align:center}.lesson-compare-reveal__glyph{color:var(--color-teal);font-size:1.3em;line-height:1}@media (max-width:480px){.lesson-compare-sign{font-size:2.2rem;gap:.55rem}.lesson-compare-reveal{font-size:1.5rem}}.tenframe{display:inline-flex;flex-direction:column;align-items:center;gap:.4rem}.tenframe--two{flex-direction:row;align-items:flex-start;gap:.6rem}.tenframe__grid{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:3px;gap:3px;border:2px solid var(--border);border-radius:var(--radius);padding:3px;background:var(--surface)}.tenframe__cell{width:1.5rem;height:1.5rem;border-radius:4px;border:1.5px solid var(--border);display:grid;place-items:center}.tenframe__cell--filled{background:var(--color-teal);border-color:var(--color-teal)}.tenframe__cell--object{background:var(--surface)}.tenframe__cell--more{background:var(--color-teal-mid);border-color:var(--color-teal-border)}.tenframe__cellmark{font-size:.7rem;line-height:1}@media (min-width:481px){.tenframe__cellmark{font-size:1rem}}.lesson-math-frames--many .tenframe__cellmark{font-size:.55rem}.lesson-fraction-bar{display:flex;width:100%;height:var(--fraction-bar-h);border:var(--fraction-cut-w) solid var(--fraction-cut);border-radius:var(--radius);overflow:hidden;background:var(--surface)}.lesson-fraction-bar__part{flex-grow:0;flex-shrink:1;border-right:var(--fraction-cut-w) solid var(--fraction-cut);box-sizing:border-box}.lesson-fraction-bar__part:last-child{border-right:0}.lesson-fraction-bar__part--shaded{background:var(--color-teal)}.lesson-fraction-circle{display:block;width:var(--fraction-circle-size);height:var(--fraction-circle-size)}.lesson-fraction-circle__part{fill:var(--surface);stroke:var(--fraction-cut);stroke-width:3}.lesson-fraction-circle__part--shaded{fill:var(--color-teal)}.lesson-fraction{display:inline-flex;flex-direction:column;align-items:center;line-height:1.05;font-size:var(--font-lg)}.lesson-fraction--item{font-size:var(--fraction-item-size)}.lesson-fraction__rule{width:1.1em;height:2px;background:currentColor;margin:.12em 0}.lesson-fraction-ask{display:flex;justify-content:center;align-items:center;gap:.15rem;padding:.4rem 0}.lesson-fraction-equals{align-self:center;font-size:calc(var(--fraction-item-size) * .6);font-weight:700;color:var(--color-teal)}.lesson-compare-row{display:flex;flex-direction:column;align-items:center;gap:.15rem;width:100%}.lesson-compare-row__pictures{display:flex;align-items:center;justify-content:center;gap:.4rem;width:100%}.lesson-compare-row__pictures .lesson-fraction-bar{flex:1 1;width:auto;min-width:0}.lesson-compare-choice{flex-direction:column;align-items:center;justify-content:center;gap:.35rem;padding:.6rem .5rem}.lesson-compare-choice .lesson-fraction-bar{width:100%}.lesson-compare-row__sign{flex:0 0 auto;font-size:1.35rem;font-weight:800;line-height:1;color:var(--color-teal)}.lesson-compare-row__written{display:flex;align-items:center;justify-content:center;gap:.5rem}.lesson-rect{display:block;margin:0 auto;max-width:100%;height:auto}.lesson-rect__unit{fill:var(--rect-tint);stroke:var(--fraction-cut);stroke-width:var(--fraction-cut-w)}.lesson-rect__edge{fill:none;stroke:var(--color-teal);stroke-width:var(--rect-edge-w);stroke-linejoin:round}.lesson-rect__tape{stroke:var(--fraction-cut);stroke-width:var(--rect-tape-w)}.lesson-rect__label,.lesson-rect__side{fill:var(--foreground);font-size:var(--font-base);font-weight:var(--weight-strong)}.lesson-rect__tape-note{fill:var(--text-muted);font-size:var(--font-xs);font-weight:var(--weight-medium)}.lesson-math-run{display:inline-flex;flex-direction:column;align-items:center;gap:.1em}.lesson-math-run__row{display:flex;justify-content:center;gap:.12em}.lesson-math-run__item{display:inline-block;line-height:1.3}.lesson-math-run--ten{display:inline-flex}.lesson-math-baseten-equation{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.55rem;margin:.4rem 0}.lesson-math-baseten-equation .lesson-math-baseten{margin:0}.lesson-math-baseten-sign,.lesson-math-baseten-sum{font-size:1.2rem;font-weight:700;color:var(--nav-text)}.lesson-math-baseten-sum{color:var(--color-teal)}.tenframe__glyph{font-size:1.4rem;line-height:1.4}.lesson-math-baseten{display:flex;align-items:flex-end;justify-content:center;flex-wrap:wrap;gap:1rem;padding:.25rem 0}.lesson-math-baseten__tens{display:flex;align-items:flex-end;gap:.4rem}.lesson-math-baseten__ten{display:flex;flex-direction:column;gap:.15rem;padding:.1rem;border:1px solid var(--color-teal-border);border-radius:var(--radius-mark)}.lesson-math-baseten__block,.lesson-math-baseten__one{width:.8rem;height:.8rem;border-radius:2px;background:var(--color-teal)}.lesson-math-baseten__hundred{display:block;box-sizing:content-box;flex:none;width:calc(10 * .8rem + 9 * .15rem);height:calc(10 * .8rem + 9 * .15rem);padding:.1rem;border:1px solid var(--color-teal-border);border-radius:var(--radius-mark);background-image:repeating-linear-gradient(to right,transparent 0 .8rem,var(--surface) .8rem .95rem),repeating-linear-gradient(to bottom,transparent 0 .8rem,var(--surface) .8rem .95rem),linear-gradient(var(--color-teal),var(--color-teal));background-clip:content-box}.lesson-math-baseten__hundreds{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.55rem;justify-content:center}.lesson-math-baseten__ones{display:flex;flex-direction:column;gap:.15rem}.lesson-math-baseten-equation--stacked{flex-direction:column;align-items:stretch;gap:.35rem}.lesson-math-baseten-row{display:flex;align-items:flex-end;justify-content:center;gap:.5rem;width:100%}.lesson-math-column{display:flex;flex-direction:column;align-items:center;gap:.15rem;margin:.4rem 0}.lesson-math-column__row{display:flex;align-items:baseline;justify-content:center;gap:.5rem}.lesson-math-column__gutter{display:inline-flex;justify-content:center;min-width:1.1rem;font-size:1.35rem;font-weight:700;color:var(--nav-text)}.lesson-math-column__digits{min-width:3ch;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:1.35rem;font-weight:600}.lesson-math-column__digits--ask{color:var(--color-teal)}.lesson-math-column__rule{width:5.5rem;border-top:2px solid var(--nav-text)}.lesson-math-exchange{display:flex;flex-direction:column;align-items:center;gap:.5rem}.lesson-pv-model.lesson-math-exchange__tens{align-items:center}.lesson-math-exchange__row{display:flex;align-items:flex-end;justify-content:center;gap:.6rem}.lesson-math-frames--many .tenframe__cell{width:.95rem;height:.95rem}.lesson-math-frames--many{gap:.9rem}.lesson-math-pvparts{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.6rem}.lesson-math-pvparts__part{border:1.5px solid var(--color-teal-border);background:var(--color-teal-light);border-radius:calc(var(--radius) * .8);padding:.35rem .7rem;font-size:1.1rem;font-weight:600}.lesson-math-property{display:flex;flex-direction:column;align-items:center;gap:.55rem}.lesson-math-property__row{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.6rem}.lesson-math-property__compare{column-gap:2.4rem}.lesson-math-property__col{display:flex;flex-direction:column;align-items:center;gap:.45rem}.lesson-math-property__line{font-size:1.1rem;font-weight:400;line-height:1.4;margin:0;text-align:center}.lesson-math-property__rule{font-weight:800;white-space:nowrap;color:var(--foreground)}.lesson-math-property__given{font-size:1.45em;font-weight:800;letter-spacing:.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--foreground)}.lesson-math-property__steps{display:flex;flex-direction:column;align-items:center;gap:.15rem;margin:.15rem 0 .4rem}.lesson-math-property__step{font-size:1.45em;font-weight:800;letter-spacing:.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.lesson-math-property__join{font-size:1.05rem;color:var(--muted)}.lesson-math-property__split{display:flex;flex-direction:column;align-items:center;gap:.15rem;margin:.15rem 0 .3rem}.lesson-math-property__split-plus{font-size:1.45em;font-weight:800;line-height:1;color:var(--foreground)}.lesson-math-property__part{display:flex;flex-direction:column;align-items:center;gap:.2rem}.lesson-math-property__part-label{font-size:1.05rem;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin:0;white-space:nowrap;color:var(--foreground)}.lesson-measure-bars,.lesson-measure-cover{position:relative;margin:.35rem auto .6rem}.lesson-measure-bars__row{display:flex;flex-direction:column;gap:.15rem;margin-bottom:.5rem}.lesson-measure-bars__label{font-size:var(--font-sm);color:var(--text-muted);line-height:1.1}.lesson-measure-bars__track{position:relative;display:block;height:1rem}.lesson-measure-bars__bar{position:absolute;top:0;height:1rem;border:1px solid var(--color-teal-border);border-radius:var(--radius-mark)}.lesson-measure-bars__bar--blue{background:var(--measure-bar-blue);border-color:var(--measure-bar-blue-edge)}.lesson-measure-bars__bar--red{background:var(--measure-bar-red);border-color:var(--measure-bar-red-edge)}.lesson-measure-cover__track{position:absolute;top:0;display:flex}.lesson-measure-cover__clip{display:block;border:1.5px solid var(--color-teal-border);background:var(--surface-tint);border-radius:var(--radius-mark)}.lesson-angle{position:relative;margin:.35rem auto .6rem}.lesson-angle__svg{display:block;width:100%;height:auto;overflow:visible}.lesson-angle__circle{fill:none;stroke:var(--color-teal-border);stroke-width:var(--angle-tick-w)}.lesson-angle__dial{fill:none;stroke:var(--color-teal);stroke-width:var(--angle-scale-w)}.lesson-angle__tick{stroke:var(--color-teal-border);stroke-width:var(--angle-tick-w)}.lesson-angle__tick--long{stroke:var(--color-teal);stroke-width:var(--angle-scale-w)}.lesson-angle__num{fill:var(--text-muted);font-size:9px}.lesson-angle__num--anchor{fill:var(--foreground);font-weight:var(--weight-strong)}.lesson-angle__turn{fill:var(--rect-tint);stroke:none}.lesson-angle__arm,.lesson-angle__ray{stroke:var(--fraction-cut);stroke-width:var(--angle-arm-w);stroke-linecap:round}.lesson-angle__vertex{fill:var(--fraction-cut)}.lesson-ruler-drawing{position:relative;margin:.45rem auto .7rem;--ruler-border:1px}.lesson-ruler__band{position:relative;height:2.4rem;margin-left:var(--ruler-border);margin-right:var(--ruler-border)}.lesson-ruler__object{position:absolute;top:0;height:1.4rem;display:block}.lesson-ruler__pencil{display:block}.lesson-ruler__pencil-tip{fill:var(--nav-text)}.lesson-ruler__pencil-body{fill:var(--surface-chip);stroke:var(--color-teal-border)}.lesson-ruler__pencil-eraser{fill:var(--color-teal)}.lesson-ruler__hairline{position:absolute;top:1.4rem;width:1px;height:1rem;background:var(--color-teal-border);transform:translateX(-50%)}.lesson-ruler__unit{display:block;text-align:center;font-size:var(--font-xs);color:var(--nav-text);line-height:1.1;margin-top:.15rem}.lesson-ruler{position:relative;margin:0;padding:.4rem 0 .45rem;border:var(--ruler-border) solid var(--color-teal-border);border-radius:var(--radius-card);background:var(--surface-tint)}.lesson-ruler__numbers{position:relative;height:1.05rem}.lesson-ruler__num{position:absolute;top:0;transform:translateX(-50%);font-size:var(--font-xs);color:var(--nav-text);line-height:1.1}.lesson-ruler__edge{position:relative;display:block;height:1rem;margin-top:.2rem}.lesson-ruler__mark{position:absolute;top:0;width:1px;height:.34rem;background:var(--color-teal-border);transform:translateX(-50%)}.lesson-clock{display:block;margin:.4rem auto .6rem}.lesson-clock__face{fill:var(--surface-card);stroke:var(--color-teal);stroke-width:3}.lesson-clock__num{fill:var(--nav-text);font-weight:var(--weight-medium)}.lesson-clock__min{fill:var(--color-teal);font-weight:var(--weight-medium)}.lesson-clock__hand{stroke:var(--color-teal);stroke-linecap:round}.lesson-clock__hand--hour{stroke-width:6}.lesson-clock__hand--minute{stroke-width:3.5}.lesson-clock__pin{fill:var(--color-teal)}.lesson-coins{width:100%;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:center;gap:.5rem;margin:.4rem auto .6rem}.lesson-coins__slot{display:flex;flex-direction:column;align-items:center;gap:.15rem}.lesson-coins__name{font-size:var(--font-xs);color:var(--text-muted)}.lesson-coin{display:block}.lesson-coin__disc{fill:var(--surface-chip);stroke:var(--color-teal-border)}.lesson-coin__value{fill:var(--ink-brand);font-weight:var(--weight-strong)}.lesson-pv-model{gap:.6rem;padding:.3rem 0;width:-moz-fit-content;width:fit-content;max-width:100%;margin:0 auto}.lesson-pv-model,.lesson-pv-model__row{display:flex;flex-direction:column;align-items:flex-start}.lesson-pv-model__row{gap:.25rem}.lesson-pv-model__pictures{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:flex-start;gap:.9rem}.lesson-pv-hundred-intro__sign .lesson-pv-model__equals{margin:0}.lesson-pv-model__equals,.lesson-pv-model__total{align-self:center;font-size:1.45em;font-weight:800;line-height:1}.lesson-math-frames{align-items:center;gap:1.6rem;padding:.25rem 0}.lesson-math-frames,.lesson-run-pictures{display:flex;justify-content:center;flex-wrap:wrap}.lesson-run-pictures{align-items:stretch;gap:.7rem;padding:.35rem 0}.lesson-run-pictures__column{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:.25rem}.lesson-run-pictures__label{font-size:.85rem;font-weight:400;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-muted)}.lesson-run-pictures__label--asked{font-weight:600}.lesson-run-pictures__hollow{flex:1 1 auto;width:1.2rem;min-height:2rem;border:1.5px dashed var(--color-teal-border);border-radius:calc(var(--radius) * .5)}.lesson-run-pictures__group{display:flex;align-items:center;gap:.12rem;padding:.16rem;border:1.5px solid var(--color-teal-border);border-radius:calc(var(--radius) * .5);background:var(--color-teal-light)}.lesson-run-pictures__dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--color-teal)}.lesson-run{margin:0;font-size:1.5rem;font-weight:700;letter-spacing:.08em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:center}@media (max-width:480px){.tenframe__cell{width:1.15rem;height:1.15rem}}.lesson-options{display:grid;grid-gap:.5rem;gap:.5rem}.lesson-options--two{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width:380px){.lesson-options--two .lesson-option{gap:.5rem;padding-left:.6rem;padding-right:.6rem}}.lesson-option--card{flex-wrap:wrap}.lesson-option{display:flex;align-items:center;gap:.75rem;width:100%;text-align:left;background:var(--surface-card);border:1.5px solid var(--border);border-radius:var(--radius);padding:.75rem 1rem;font-size:1rem;cursor:pointer;transition:border-color .15s,background .15s;min-height:52px;min-width:0}.lesson-option-label{min-width:0;overflow-wrap:anywhere}.lesson-option:hover:not(:disabled){border-color:var(--primary);background:var(--surface)}.lesson-option:disabled{cursor:default;opacity:1}.lesson-option--correct{border-color:var(--color-correct-border);background:var(--color-correct-bg)}.lesson-option--wrong{border-color:var(--color-wrong-border);background:var(--color-wrong-bg)}.lesson-option-prefix{flex-shrink:0;font-weight:700;font-size:.88rem;color:var(--muted);min-width:1.25rem}.lesson-option--correct .lesson-option-prefix{color:var(--color-correct)}.lesson-option--wrong .lesson-option-prefix{color:var(--color-error)}.lesson-message{font-size:.95rem;line-height:1.5;margin:0;padding:.6rem .8rem;border-radius:var(--radius);background:var(--surface)}.lesson-message--correct{color:var(--color-correct);background:var(--color-correct-bg)}.lesson-message--wrong{color:var(--color-error);background:var(--color-wrong-bg)}.lesson-message--replay{color:var(--color-teal);background:var(--nav-active-bg)}.lesson-example{display:grid;grid-gap:.5rem;gap:.5rem;justify-items:center;text-align:center;width:100%;padding:.9rem 1rem;border:1px solid var(--color-teal-border);border-radius:var(--radius);background:var(--surface-tint)}.lesson-example__label{margin:0;font-size:.9rem;font-weight:600;color:var(--color-teal)}.numberline__label--answer{display:inline-grid;place-items:center;min-width:1.6em;min-height:1.6em;border:2px solid var(--color-teal);border-radius:50%;background:var(--nav-active-bg);color:var(--color-teal);font-weight:800;line-height:1}.lesson-explanation{border-left:3px solid var(--color-teal);padding-left:.75rem}.lesson-results{display:grid;grid-gap:1.25rem;gap:1.25rem;justify-items:center;text-align:center}.lesson-results-score{font-size:1.5rem;font-weight:700;margin:0}.lesson-results-message{font-size:1.25rem;font-weight:700;margin:0}.lesson-results-stars{font-size:1.1rem;font-weight:600;margin:0}.lesson-results-actions{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center;width:100%}.lesson-progress-footer{margin-top:1.5rem;order:1}.lesson-exercise-main>.lesson-start-btn{order:2}.lesson-progress-bar{width:100%;height:12px;border-radius:6px;background:var(--practice-progress-track);overflow:hidden;margin-top:.5rem}.lesson-progress-bar-fill{height:100%;border-radius:6px;background:var(--color-teal);transition:width .3s ease}@media (max-width:767px){.lesson-exercise-passage p,.lesson-text p{font-size:1.2rem;line-height:1.8}.lesson-question{font-size:1.15rem}.lesson-option{font-size:1.1rem;padding:.9rem 1rem;min-height:58px}}.practice-admin-row{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem;border-bottom:1px solid var(--shell-border);cursor:pointer;transition:background .15s;flex-wrap:wrap}.practice-admin-row:last-child{border-bottom:none}.practice-admin-row:hover{background:var(--surface)}.practice-admin-row--selected{background:var(--nav-active-bg);border-left:3px solid var(--color-teal)}.practice-admin-emoji{font-size:1.25rem;line-height:1;flex-shrink:0}.practice-admin-key{font-family:monospace;font-size:.8rem;background:var(--surface);border:1px solid var(--shell-border);border-radius:4px;padding:.1rem .35rem;color:var(--foreground);flex-shrink:0}.practice-admin-label{font-weight:500;flex:1 1 auto;min-width:6rem}.practice-admin-desc{font-size:.85rem;flex:1 1 auto;min-width:6rem}.practice-admin-sort{font-size:.8rem;flex-shrink:0}.practice-admin-actions{display:flex;align-items:center;gap:.35rem;flex-shrink:0;margin-left:auto}.practice-admin-toggle{font-size:.8rem;padding:.2rem .5rem;min-height:unset}.practice-admin-badge{font-size:.72rem;font-weight:600;border-radius:999px;padding:.15rem .55rem;flex-shrink:0;letter-spacing:.02em}.practice-admin-badge--generated{background:var(--surface-success-soft);color:var(--ink-success-2);border:1px solid var(--border-success-2)}.practice-admin-badge--db{background:var(--surface-info-soft);color:var(--ink-info-2);border:1px solid var(--border-info)}.practice-admin-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:.75rem;gap:.75rem;margin-bottom:.5rem}.practice-admin-lessons-btn{font-size:.8rem;padding:.2rem .5rem;min-height:unset}.practice-admin-type{font-size:.82rem;flex-shrink:0}.practice-admin-row--lesson{background:var(--surface)}.practice-admin-row--lesson:hover{background:color-mix(in srgb,var(--surface) 80%,var(--shell-border) 20%)}.practice-admin-form-grid--wide{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.practice-admin-field--full{grid-column:1/-1}.practice-admin-textarea{resize:vertical;min-height:80px;line-height:1.5;height:auto;display:block;width:100%;box-sizing:border-box}.practice-admin-textarea--mono{font-family:monospace;font-size:.8rem}.path-next{background:var(--color-teal-light);border-color:var(--color-teal-border);padding:1.4rem 1.2rem}.path-next__title{font-size:1.3rem;font-weight:700;display:flex;align-items:center;gap:.6rem}.path-next__pic{font-size:2rem}.path-next__hint{color:var(--text-muted);font-size:.9rem;font-weight:500}.path-section{margin-top:.5rem}.path-section__title{font-size:1.05rem;font-weight:700;margin:0 0 .5rem}.path-muted{color:var(--text-muted);font-size:.9rem}.today-list{margin:0 0 1rem}.today-row{display:flex;gap:.7rem;align-items:flex-start;background:var(--surface-card);border:var(--hairline) solid var(--shell-border);border-radius:var(--radius-card);padding:.7rem .8rem;margin-bottom:.5rem;text-decoration:none}.today-row__emoji{font-size:1.3rem;line-height:1.3}.today-row__body{display:flex;flex-direction:column;gap:.25rem;flex:1 1;min-width:0}.today-row__title{color:var(--foreground);font-size:var(--font-base);font-weight:var(--weight-strong)}.math-tracker{display:flex;flex-direction:column;gap:.25rem}.math-tracker__dial{display:flex;align-items:center;gap:.4rem}.math-tracker__num{color:var(--text-muted);font-size:var(--font-sm);font-weight:var(--weight-medium);white-space:nowrap}.math-tracker__dots{display:flex;gap:3px}.math-tracker__dot{width:12px;height:12px;border-radius:50%;border:1.5px solid var(--color-teal-border);box-sizing:border-box;flex:none}.math-tracker__dot--on{background:var(--color-teal)}.math-tracker__note{color:var(--text-muted);font-size:var(--font-xs)}.math-tracker--compact{gap:.2rem;margin-top:.35rem}.math-tracker--compact .math-tracker__num{font-size:var(--font-xs)}.math-tracker--compact .math-tracker__dot{width:10px;height:10px}.math-tracker--compact .math-tracker__dots{gap:2px}.math-range-card{justify-content:flex-start;align-items:flex-start}.math-range-card__dot{position:absolute;top:var(--dot-inset);right:var(--dot-inset);width:var(--dot-size);height:var(--dot-size);border-radius:50%;background:var(--color-correct)}.today-list__done{display:flex;flex-direction:column;gap:.35rem;background:var(--color-teal-light);border:var(--hairline) solid var(--color-teal-border);border-radius:var(--radius-card);padding:.9rem}.today-list__done-title{color:var(--foreground);font-size:var(--font-lg);font-weight:var(--weight-strong)}.today-list__done-line{color:var(--text-muted);font-size:var(--font-base)}.path-controls-row,.path-quiz-list{display:flex;flex-wrap:wrap;gap:.5rem}.path-quiz-list{list-style:none;padding:0;margin:0}.path-quiz-list li{padding:.3rem .7rem;border-radius:var(--radius);font-weight:600}.path-quiz-ok{background:var(--color-correct-bg);color:var(--color-correct)}.path-quiz-miss{background:var(--color-wrong-bg);color:var(--color-error)}.path-error{color:var(--color-error);font-size:.9rem}.path-shelf-meta{color:var(--text-muted);font-size:.85rem;font-weight:500}.explore-theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:.6rem;gap:.6rem;margin-bottom:.75rem}.explore-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;padding:.9rem .75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:center;cursor:pointer;color:inherit;text-decoration:none;font:inherit;transition:border-color .15s ease,background .15s ease}.explore-tile--open,.explore-tile:hover{border-color:var(--color-teal-border);background:var(--color-teal-light)}.explore-tile__emoji{font-size:1.7rem;line-height:1.2}.explore-tile__name{font-weight:700;font-size:.95rem}.explore-tile__count{color:var(--text-muted);font-size:.78rem}.practice-lesson-card--justright{box-shadow:inset 0 0 0 2px var(--color-teal-mid)}.land-hero{display:flex;flex-direction:column;align-items:center;text-align:center;padding:3.5rem 1rem 1.5rem;gap:.4rem}.land-hero__img{width:120px;height:auto;margin-bottom:.8rem}.land-hero__title{font-size:2.4rem;font-weight:800;margin:0;letter-spacing:-.01em;color:var(--color-teal)}.land-hero__sub{max-width:560px;color:var(--text-muted);font-size:1.08rem;line-height:1.6;margin:.6rem auto 0}.land-hero__cta{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-top:1.3rem}.land-hero__btn{font-size:1.05rem;padding:.8rem 1.8rem;border-radius:999px}.land-hero__note{color:var(--text-muted);font-size:.85rem}.land-believe{margin:1.5rem auto;max-width:640px;background:var(--color-teal-light);border:1px solid var(--color-teal-border);border-radius:20px;padding:2rem 2.2rem;text-align:center}.land-believe__quote{font-style:italic;font-size:1.5rem;font-weight:600;color:var(--color-teal);margin:0}.land-believe__byline{color:var(--text-muted);font-size:.9rem;margin:.4rem 0 0}.land-believe__body{color:var(--foreground);line-height:1.7;margin:1rem auto 0;max-width:480px}.land-section-title{font-size:1.5rem;font-weight:800;color:var(--foreground);margin:1.6rem 0 .3rem}.land-section-sub{color:var(--text-muted);max-width:560px;margin:0 0 1rem}.land-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:1rem;gap:1rem;margin-top:.4rem}.land-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:1.4rem 1.3rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.45rem}.land-card__emoji{font-size:1.8rem}.land-card__label{font-weight:700;font-size:1rem}.land-card__body{color:var(--text-muted);font-size:.92rem;line-height:1.55;margin:0}.land-cta{text-align:center;margin:2.5rem 0 3rem;background:var(--color-teal-light);border:1px solid var(--color-teal-border);border-radius:20px;padding:2.2rem 1.5rem}.land-cta__title{font-size:1.5rem;font-weight:800;margin:0 0 .3rem;color:var(--color-teal)}.land-cta__sub{color:var(--text-muted);margin:0 0 1.1rem}.land-cta .btn{border-radius:999px;padding:.8rem 1.8rem;font-size:1.05rem}.school-page{max-width:var(--school-page-max);margin:0 auto;padding:1.5rem 1rem 3rem}.school-page--wide{max-width:var(--school-page-max-wide)}.school-page h2{font-size:1.25rem;margin:1.8rem 0 .6rem;color:var(--nav-text)}.school-card{background:var(--surface-card);border:1px solid var(--shell-border);border-radius:14px;padding:1.1rem 1.2rem;margin-bottom:.8rem}.school-card__head{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap}.school-card__title{font-weight:700;font-size:1rem;color:var(--nav-text)}.school-card__sub{color:var(--text-muted);font-size:.85rem;margin-top:.15rem}.school-muted{color:var(--text-muted);font-size:.88rem}.school-form{display:grid;grid-gap:.6rem;gap:.6rem;margin:.8rem 0}.school-form .form-field{margin:0}.school-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.7rem}.school-state{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;font-weight:700;padding:.22rem .6rem;border-radius:999px}.school-state--approved{background:var(--color-teal-light);color:var(--color-teal);border:1px solid var(--color-teal-border)}.school-state--pending{background:var(--surface-warn-soft);color:var(--ink-warn-3);border:1px solid var(--border-warn)}.school-state--revoked{background:var(--surface-muted);color:var(--text-muted);border:1px solid var(--shell-border)}.school-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));grid-gap:.6rem;gap:.6rem;margin-top:.8rem}.school-tile{background:var(--shell-bg);border:1px solid var(--shell-border);border-radius:10px;padding:.6rem .7rem}.school-tile__value{font-size:1.15rem;font-weight:800;color:var(--color-teal)}.school-tile__label{font-size:.74rem;color:var(--text-muted)}.school-note{background:var(--color-teal-light);border:1px solid var(--color-teal-border);color:var(--ink-brand-3);border-radius:10px;padding:.7rem .9rem;font-size:.88rem;line-height:1.5;margin:.6rem 0}.school-note--error{background:var(--surface-danger-strong);border-color:var(--border-danger);color:var(--ink-danger-3)}.school-invite-row{display:flex;justify-content:space-between;gap:.6rem;padding:.35rem 0;border-bottom:1px solid var(--shell-border)}.school-invite-list{list-style:none;padding:0;margin:.8rem 0 0}.school-actions--inline,.school-inline-actions{margin-top:0}.school-chip-wrap{margin-top:.35rem}.school-lead{margin:.7rem 0 0;color:var(--text-muted);font-size:.9rem;line-height:1.5}.school-lead--tight{margin:0 0 .7rem;font-size:.9rem;line-height:1.5}.school-title--flush{margin:0}.input:disabled{background:var(--shell-bg);color:var(--text-muted);cursor:not-allowed;opacity:1}.school-chip-row{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;margin-top:.5rem}.school-rail-zone{margin-top:.8rem}.school-railzoom{position:relative;padding-bottom:.4rem}.school-railzoom__track{position:relative;height:6px;border-radius:999px;background:var(--shell-border);margin-bottom:1.05rem}.school-railzoom__arc{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:var(--color-teal-mid)}.school-railzoom__pill{position:absolute;top:-4px;height:14px;border-radius:999px;background:var(--color-teal);box-shadow:0 1px 3px rgba(0,0,0,.22)}.school-railzoom__tick{position:absolute;top:12px;font-size:.62rem;color:var(--text-muted);transform:translateX(-50%)}.school-railzoom__tick--first{transform:translateX(0)}.school-railzoom__tick--last{transform:translateX(-100%)}.school-railzoom__tick--current{color:var(--color-teal);font-weight:800}.school-empty{color:var(--text-muted);font-size:.92rem;padding:.8rem 0}.school-divider{border:none;border-top:1px solid var(--shell-border);margin:1rem 0}.measure-convert{display:flex;gap:.6rem;width:100%;justify-content:center;margin:.3rem 0 .7rem}.measure-convert__block{flex:1 1;min-width:0;padding:.35rem .4rem .45rem;border:1px solid var(--color-teal-border);border-radius:var(--radius-card);background:var(--surface-tint)}.measure-convert__head,.measure-convert__row{display:grid;grid-template-columns:1fr 1fr;grid-gap:.2rem;gap:.2rem;text-align:center}.measure-convert__head{padding-bottom:.2rem;margin-bottom:.25rem;border-bottom:1px solid var(--color-teal-border);color:var(--color-teal);font-size:var(--font-xs);font-weight:var(--weight-strong)}.measure-convert__row{padding:.06rem 0;font-size:var(--font-sm);color:var(--nav-text);line-height:1.25}.measure-convert__cell--blank{color:var(--color-teal);font-weight:var(--weight-strong);border:1px dashed var(--color-teal);border-radius:var(--radius-mark)}.measure-convert--mixed{flex-direction:column}.measure-convert__parts{display:flex;gap:.5rem;align-items:flex-end;width:100%}.measure-convert__part{flex-basis:0;min-width:3.4rem;height:2.1rem;display:flex;align-items:center;justify-content:center;border:1px solid var(--color-teal);border-radius:var(--radius-tile);background:var(--color-teal-light);color:var(--nav-text);font-size:var(--font-sm)}.measure-convert__brace{width:100%;padding-top:.15rem;border-top:2px solid var(--color-teal);border-left:2px solid var(--color-teal);border-right:2px solid var(--color-teal);border-radius:0 0 var(--radius-tile) var(--radius-tile);text-align:center;color:var(--color-teal);font-size:var(--font-sm)}[data-theme=dark]{color-scheme:dark;--background:#15191a;--surface:#1b2220;--foreground:#e4ebe8;--muted:#97a5a0;--border:#313a38;--text-muted:#97a5a0;--color-background:#1e2523;--color-background-primary:#1e2523;--color-surface:#1b2220;--color-muted:#97a5a0;--color-border-tertiary:#2a3331;--color-text-secondary:#97a5a0;--color-error:#f87171;--color-correct:#4ade80;--color-correct-bg:#12301e;--color-correct-border:#2c5e3c;--color-wrong-bg:#331a1b;--color-wrong-border:#6e3a3a;--color-teal:#45c6b4;--overview-on-bar:#12201d;--color-teal-light:#17302b;--color-teal-mid:#2f6a5e;--color-teal-border:#2a5449;--shell-bg:#1a2120;--shell-border:#2a3331;--nav-active-bg:#1f3d37;--nav-active-color:#6ee0cd;--nav-hover-bg:#22302c;--nav-text:#d8e0dd;--origin-story-bg:#142e29;--feature-icon-bg-amber:#3a2f12;--feature-icon-bg-purple:#2a2340;--monogram-bg:#1f3d37;--monogram-color:#6ee0cd;--practice-progress-track:#313a38;--surface-card:#1e2523;--surface-tint:#16302b;--surface-tint-soft:#142e29;--surface-tint-strong:#193a33;--surface-chip:#16302b;--surface-select:#1f3a28;--surface-select-hover:#27482f;--surface-muted:#232b29;--surface-hover:#2a3331;--surface-success:#12301e;--surface-success-soft:#143020;--surface-success-strong:#143620;--surface-danger:#331a1b;--surface-danger-strong:#3c1e1f;--surface-warn:#382e12;--surface-warn-soft:#3a2f14;--surface-info:#10283a;--surface-info-soft:#16233f;--border-soft:#2c3532;--border-card:#2c3532;--border-strong:#38423f;--border-input:#3e4946;--border-shell-strong:#2a3b37;--border-select:#3a6042;--border-select-soft:#2e4a33;--border-success:#2c5e3c;--border-success-2:#33663f;--border-danger:#6e3a3a;--border-warn:#6b5a22;--border-info:#37477f;--border-brand-soft:#2a5449;--border-scan:#38bdf8;--ink-heading:#e9f0f5;--ink-brand:#7fe0c4;--measure-bar-blue:#1e3a6b;--measure-bar-blue-edge:#60a5fa;--fraction-cut:#e4ebe8;--rect-tint:#1d4a41;--measure-bar-red:#5b1f26;--measure-bar-red-edge:#f87171;--ink-brand-2:#6bd3b8;--ink-brand-3:#7fe0c4;--ink-brand-deep:#a7e3d9;--ink-success:#86dea3;--ink-success-2:#86dea3;--ink-success-3:#8ed9a2;--ink-success-4:#8ed9a2;--ink-danger:#f3a3a3;--ink-danger-2:#f3a3a3;--ink-danger-3:#f5b4b4;--ink-warn:#e5c573;--ink-warn-2:#e5c573;--ink-warn-3:#e5c573;--ink-info:#6fc8f5;--ink-info-2:#9db4ff;--ink-muted-2:#7c8b87;--link-green:#5fd08f;--link-green-hover:#7adfa5;--link-green-soft:#6fd79b;--brand-solid:#17a97f;--progress-fill:#34d399;--focus-ring:rgba(45,212,191,0.28);--hero-card-gradient:linear-gradient(90deg,#17304a,#3a2a18);--scanner-viewport-bg:#000000;--theme-toggle-bg:#232b29;--theme-toggle-border:#38423f;--theme-toggle-color:#d8e0dd;--theme-toggle-hover-bg:#2a3331}[data-theme=dark] .book-card,[data-theme=dark] .header__menu-dropdown,[data-theme=dark] .home-card,[data-theme=dark] .menu-dropdown,[data-theme=dark] .my-books-section-card,[data-theme=dark] .profile-card,[data-theme=dark] .sidebar__profile-dropdown-list,[data-theme=dark] .undo-toast{box-shadow:0 10px 30px rgba(0,0,0,.55)}[data-theme=dark] .profile-card{border-color:rgba(255,255,255,.09)}[data-theme=dark] .home-hero__art{opacity:.22;filter:saturate(.7)}.profile-card{background:var(--pc-bg,var(--surface-card))}.profile-card-avatar{background:var(--pc-avatar,var(--color-teal))}.profile-card--lavender{--pc-bg:#f0f4ff;--pc-avatar:#6b7cff}.profile-card--teal{--pc-bg:#e6faf4;--pc-avatar:#2baf7d}.profile-card--peach{--pc-bg:#fff4ec;--pc-avatar:#f4845f}.profile-card--mint{--pc-bg:#edfff4;--pc-avatar:#3db87a}.profile-card--sky{--pc-bg:#edf6ff;--pc-avatar:#4a9fe8}.profile-card--rose{--pc-bg:#fff0f4;--pc-avatar:#e8608a}.profile-card--amber{--pc-bg:#fffbec;--pc-avatar:#d4a017}.profile-card--sage{--pc-bg:#f0faf2;--pc-avatar:#5a9e6f}.profile-card--lilac{--pc-bg:#f5f0ff;--pc-avatar:#9b6ee8}.profile-card--coral{--pc-bg:#fff3f0;--pc-avatar:#e86a4a}[data-theme=dark] .profile-card--lavender{--pc-bg:#1e2338}[data-theme=dark] .profile-card--teal{--pc-bg:#12302a}[data-theme=dark] .profile-card--peach{--pc-bg:#33241b}[data-theme=dark] .profile-card--mint{--pc-bg:#14301f}[data-theme=dark] .profile-card--sky{--pc-bg:#16283a}[data-theme=dark] .profile-card--rose{--pc-bg:#331c24}[data-theme=dark] .profile-card--amber{--pc-bg:#332b18}[data-theme=dark] .profile-card--sage{--pc-bg:#1b2c20}[data-theme=dark] .profile-card--lilac{--pc-bg:#241e38}[data-theme=dark] .profile-card--coral{--pc-bg:#33211c}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;padding:0;flex-shrink:0;background:var(--theme-toggle-bg);border:1px solid var(--theme-toggle-border);border-radius:999px;color:var(--theme-toggle-color);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.theme-toggle:hover{background:var(--theme-toggle-hover-bg)}.theme-toggle:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.theme-toggle svg{display:block}.hero-bar__right{display:flex;align-items:center;gap:.5rem}.skeleton{position:relative;overflow:hidden;display:block;background:var(--surface-muted);border-radius:calc(var(--radius) / 2)}.skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,var(--surface-card),transparent);animation:skeleton-shimmer 1.4s ease-in-out infinite}@keyframes skeleton-shimmer{to{transform:translateX(100%)}}@media (prefers-reduced-motion:reduce){.skeleton:after{animation:none;opacity:0}}.skeleton--line{height:.9rem}.skeleton--title{height:1.15rem}.skeleton--short{width:8rem}.skeleton--emoji{width:2.25rem;height:2.25rem;border-radius:50%}.skeleton--thumb{width:100px;height:100px;border-radius:var(--radius)}.skeleton-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem 1rem}.skeleton-card--left{align-items:stretch}.skeleton-visual{min-height:7rem;border-radius:var(--radius)}.skeleton-option{display:flex;align-items:center;width:100%;min-height:52px;background:var(--surface-card);border:1.5px solid var(--border);border-radius:var(--radius);padding:.75rem 1rem}.skeleton-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.school-roster{width:100%;border-collapse:collapse;table-layout:fixed;background:var(--surface-card);border:var(--hairline) solid var(--shell-border);border-radius:var(--radius-card);overflow:hidden;font-weight:var(--weight-normal)}.school-roster th{font-weight:var(--weight-medium)}.school-roster__mobilehead,.school-roster__unit{display:none}.school-roster__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--cell-pad-x);margin:0 0 var(--cell-pad-y)}.school-roster__title{margin:0}.school-roster__window{font-size:var(--font-sm)}.school-roster__th,.school-roster__window{font-weight:var(--weight-medium);color:var(--text-muted);white-space:nowrap}.school-roster__th{font-size:var(--font-xs);text-align:left;padding:var(--cell-pad-y) var(--cell-pad-x);border-bottom:var(--hairline) solid var(--shell-border);vertical-align:bottom}.school-roster__th--num{text-align:right}.school-roster__th{font-size:var(--font-table)}.school-roster__change{padding:var(--cell-pad-y) var(--cell-pad-x);text-align:right}.school-roster__th--child{width:var(--col-child-w)}.school-roster__th--level{width:var(--col-level-w)}.school-roster__th--change{width:var(--col-change-w)}.school-roster__th--stories{width:var(--col-stories-w)}.school-roster__th--comp{width:var(--col-comp-w)}.school-roster__th--last{width:var(--col-last-w)}.school-roster__th.is-sorted{color:var(--color-teal)}.school-roster__sort{background:none;border:none;padding:0;font:inherit;font-weight:var(--weight-medium);color:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:var(--cell-pad-x-tight)}.school-roster__sort:hover{color:var(--color-teal)}.school-roster__caret{opacity:.35;font-size:var(--font-xs)}.school-roster__th.is-sorted .school-roster__caret{opacity:.9}.school-roster__axisrow th{padding:0 var(--cell-pad-x)}.school-roster__axisrow th,.school-roster__row{border-bottom:var(--hairline) solid var(--shell-border)}.school-roster__row{cursor:pointer}.school-roster__row:hover{background:var(--surface-hover)}.school-roster__row.is-open{background:var(--surface-tint-soft)}.school-roster__child{padding:var(--cell-pad-y) var(--cell-pad-x);font-weight:var(--weight-medium);font-size:var(--font-base);color:var(--nav-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.school-roster__child .school-state{margin-left:var(--cell-pad-x-tight)}.school-roster__toggle{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer}.school-roster__num{text-align:right;font-size:var(--font-base);font-weight:var(--weight-normal);color:var(--color-teal);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.school-roster__level,.school-roster__num{padding:var(--cell-pad-y) var(--cell-pad-x)}.school-roster__detail td{padding:0 var(--cell-pad-x) var(--cell-pad-y);background:var(--surface-tint-soft)}.school-roster .school-rail-zone{margin-top:var(--cell-pad-y)}.school-roster .school-state{font-weight:var(--weight-medium)}.school-axiswrap{display:flex;align-items:flex-end;gap:var(--cell-pad-x)}.school-axiswrap__inner{flex:1 1 auto;min-width:var(--rail-min-w)}.school-axiswrap__spacer{flex:0 0 auto;width:var(--rail-readout-w)}.school-axis{position:relative;height:var(--axis-height);margin:var(--cell-pad-x-tight) 0 0}.school-axis__line{position:absolute;left:0;right:0;bottom:calc(var(--axis-height) - var(--axis-tick-h-half) - var(--hairline));height:var(--hairline);background:var(--shell-border)}.school-axis__tick{position:absolute;bottom:0;left:var(--tick-pos);transform:translateX(-50%);font-size:var(--font-2xs);color:var(--text-muted);font-weight:var(--weight-normal)}.school-axis__tick i{display:block;width:var(--hairline);height:var(--axis-tick-h);background:var(--shell-border);margin:0 auto var(--hairline)}.school-axis__tick--half i{height:var(--axis-tick-h-half);background:var(--color-teal-mid)}.school-rail{display:flex;align-items:center;gap:var(--cell-pad-x)}.school-rail__track{position:relative;flex:1 1 auto;height:var(--rail-marker-h);min-width:var(--rail-min-w)}.school-rail__track:before{content:"";position:absolute;left:0;right:0;top:calc((var(--rail-marker-h) - var(--rail-height)) / 2);height:var(--rail-height);border-radius:var(--radius-pill);background:var(--shell-border)}.school-rail__track--empty:before{opacity:.35}.school-rail__settled{left:var(--settled-left);width:var(--settled-width);background:var(--color-teal)}.school-rail__ahead,.school-rail__settled{position:absolute;top:calc((var(--rail-marker-h) - var(--rail-height)) / 2);height:var(--rail-height);border-radius:var(--radius-pill)}.school-rail__ahead{left:var(--ahead-left);width:var(--ahead-width);border:var(--hairline) dashed var(--color-teal);background:var(--color-teal-light)}.school-rail__front{position:absolute;top:0;left:var(--marker-left);width:var(--rail-marker-w);height:var(--rail-marker-h);border-radius:var(--radius-mark);border:calc(var(--hairline) * 2) solid var(--color-teal);background:var(--surface-card);box-sizing:border-box;transform:translateX(-50%)}.school-rail__readout{flex:0 0 auto;width:var(--rail-readout-w);font-weight:var(--weight-normal);color:var(--color-teal);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.comp,.school-rail__readout{text-align:right;font-size:var(--font-sm)}.comp{display:inline-block;min-width:var(--chip-min-w);padding:0 var(--cell-pad-x-tight);border-radius:var(--radius-pill);font-weight:var(--weight-medium);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.comp--good{background:var(--surface-success);color:var(--ink-success-3);border:var(--hairline) solid var(--border-success)}.comp--watch{background:var(--surface-warn-soft);color:var(--ink-warn-3);border:var(--hairline) solid var(--border-warn)}.comp--help{background:var(--surface-danger);color:var(--ink-danger-3);border:var(--hairline) solid var(--border-danger)}.comp--quiet{background:transparent;color:var(--text-muted);border:var(--hairline) dashed var(--shell-border)}.school-railzoom__arc{left:var(--arc-left);width:var(--arc-width)}.school-railzoom__pill{left:var(--pill-left);width:var(--pill-width)}.school-railzoom__tick{left:var(--tick-pos);font-size:var(--font-2xs);top:calc(var(--rail-marker-h) - var(--axis-tick-h))}.school-railzoom__track{height:var(--rail-height)}.school-railzoom__arc,.school-railzoom__pill,.school-railzoom__track{border-radius:var(--radius-pill)}@media (max-width:720px){.school-roster__child,.school-roster__level,.school-roster__num,.school-roster__th{padding-left:var(--cell-pad-x-tight);padding-right:var(--cell-pad-x-tight)}.school-roster{--rail-readout-w:2.6rem}}@media (max-width:760px){.school-roster{display:block;border:0;background:transparent;overflow:visible}.school-roster thead{display:none}.school-roster tbody{display:block}.school-roster__row{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--cell-pad-x-tight) var(--cell-pad-x);border:var(--hairline) solid var(--shell-border);border-radius:var(--radius-card);padding:var(--cell-pad-y) var(--cell-pad-x);margin-bottom:var(--cell-pad-y)}.school-roster__row,.school-roster__row:hover{background:var(--surface-card)}.school-roster__row.is-open{border-color:var(--color-teal)}.school-roster__child{order:1;flex:1 1 auto;padding:0;border:0;font-size:var(--font-lg)}.school-roster__change{order:6;margin-left:auto;padding:0;border:0}.school-roster__last{order:3;flex:0 0 auto;padding:0;border:0;color:var(--text-muted);font-size:var(--font-md)}.school-roster__level{order:4;flex:1 1 100%;padding:0;border:0}.school-roster__comp,.school-roster__stories{order:5;padding:0;border:0;color:var(--text-muted);font-size:var(--font-md)}.school-roster__comp:before{content:"\00b7";margin-right:var(--cell-pad-x-tight);color:var(--shell-border)}.school-roster__unit{display:inline;margin-left:var(--cell-pad-x-tight);font-size:var(--font-sm);color:var(--text-muted)}.school-roster__detail{display:block;margin:0 0 var(--cell-pad-y);border:var(--hairline) solid var(--shell-border);border-top:0;background:var(--surface-tint-soft);padding:var(--cell-pad-y) var(--cell-pad-x)}.school-roster__detail td{display:block;padding:0;border:0;background:transparent}.school-roster__mobilehead{display:block;margin:0 0 var(--cell-pad-y)}.school-roster__axisbar{padding:0 var(--cell-pad-x)}.school-roster__sortbar{display:flex;align-items:center;gap:var(--cell-pad-x-tight);margin-top:var(--cell-pad-y);font-size:var(--font-md);color:var(--text-muted)}.school-roster__sortdir,.school-roster__sortselect{font:inherit;color:var(--nav-text);background:var(--surface-card);border:var(--hairline) solid var(--shell-border);border-radius:var(--radius);padding:2px 8px}.school-roster__sortdir{cursor:pointer}.school-rail{gap:var(--cell-pad-x-tight)}}.print-sheet-tools{display:flex;align-items:center;justify-content:flex-end;gap:var(--sheet-gap);max-width:var(--sheet-max);margin:0 auto .9rem}.story-sheet{max-width:var(--sheet-max);margin:0 auto;background:var(--paper);color:var(--paper-ink);border:var(--hairline) solid var(--paper-rule);border-radius:var(--radius-card);padding:var(--sheet-pad-y) var(--sheet-pad-x)}.story-sheet__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sheet-gap);border-bottom:var(--hairline) solid var(--paper-rule);padding-bottom:.55rem}.story-sheet__brand{font-family:var(--font-print);letter-spacing:.14em;text-transform:uppercase}.story-sheet__brand,.story-sheet__level{font-size:var(--font-sm);color:var(--paper-ink-soft)}.story-sheet__level{font-weight:var(--weight-medium)}.story-sheet__title{font-family:var(--font-print);font-size:var(--sheet-title);font-weight:var(--weight-normal);line-height:1.15;margin-top:1.1rem}.story-sheet__art{display:flex;justify-content:center;margin:1rem 0 .3rem}.story-art{width:var(--sheet-art-w);height:auto;color:var(--paper-ink)}.story-art__stroke{fill:var(--paper);stroke:currentColor;stroke-width:var(--art-stroke);stroke-linecap:round;stroke-linejoin:round}.story-sheet__text{font-size:var(--sheet-text);line-height:var(--sheet-text-line);margin-top:1.1rem}.story-sheet__text p+p{margin-top:.7rem}.story-sheet__questions{margin-top:1.4rem;border-top:var(--hairline) dashed var(--paper-rule);padding-top:1rem}.story-sheet__questions-title{font-family:var(--font-print);font-size:1.15rem;font-weight:var(--weight-normal)}.story-sheet__list{list-style:none;margin:.7rem 0 0;padding:0}.story-sheet__q{margin-bottom:.55rem}.story-sheet__q-text{display:block;font-size:var(--font-lg)}.story-sheet__q-num{display:inline-block;min-width:1.3rem;font-weight:var(--weight-medium)}.story-sheet__options{display:grid;grid-template-columns:repeat(auto-fit,minmax(var(--option-min-w),1fr));grid-gap:.12rem 1.1rem;gap:.12rem 1.1rem;margin:.25rem 0 0 1.3rem;color:var(--paper-ink-soft);font-size:var(--font-base)}.story-sheet__option{display:flex;gap:.4rem}.story-sheet__option-letter{flex:0 0 auto;min-width:1rem}.story-sheet__option-text{flex:1 1 auto}.story-sheet__qhead{display:none}.story-sheet__foot{display:flex;justify-content:space-between;gap:var(--sheet-gap);margin-top:1.2rem;border-top:var(--hairline) solid var(--paper-rule);padding-top:.5rem;color:var(--paper-ink-soft);font-size:var(--font-xs)}.print-sheet-cta{max-width:var(--sheet-max);margin:1.4rem auto 0;text-align:center}@media (max-width:760px){.story-sheet{padding:1.25rem 1.1rem}.story-sheet__title{font-size:var(--sheet-title-sm)}.story-art{width:var(--sheet-art-w-sm)}.print-sheet-tools{flex-direction:column;align-items:stretch}}@media print{body,html{background:var(--paper)!important;color:var(--paper-ink);color-scheme:light!important}.header__root,.hero-bar,.print-sheet-cta,.print-sheet-tools,.sidebar,.site-footer{display:none!important}.app-body,.app-content,.app-shell,.container,.logged-out-shell,.page{display:block;margin:0;padding:0;max-width:none;min-height:0;background:none}.story-sheet{max-width:none;border:0;border-radius:0;padding:0;background:var(--paper)}.story-sheet__head{padding-bottom:.4rem}.story-sheet__title{font-size:var(--sheet-title-print);margin-top:.7rem}.story-sheet__art{margin:.45rem 0 .1rem}.story-art{width:var(--sheet-art-w-print)}.story-sheet__text{font-size:var(--sheet-text-print);line-height:var(--sheet-text-line-print);margin-top:.8rem}.story-sheet__text p+p{margin-top:.5rem}.story-sheet__questions{margin-top:1rem;padding-top:.7rem}.story-sheet__questions-title{font-size:1.15rem}.story-sheet__list{margin-top:.5rem}.story-sheet__q{margin-bottom:.35rem}.story-sheet__q-text{font-size:1rem}.story-sheet__options{grid-template-columns:repeat(auto-fit,minmax(0,1fr));font-size:.95rem}.story-sheet__foot{margin-top:.8rem;padding-top:.4rem}.story-sheet--split .story-sheet__questions{page-break-before:always;break-before:page;margin-top:0;border-top:0;padding-top:0}.story-sheet--split .story-sheet__qhead{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sheet-gap);border-bottom:var(--hairline) solid var(--paper-rule);padding-bottom:.4rem;margin-bottom:.9rem}.story-sheet__questions-title{page-break-after:avoid;break-after:avoid}.story-sheet__q{page-break-inside:avoid;break-inside:avoid}@page{margin:12mm}}.cleanup-batch{padding:.9rem;display:grid;grid-gap:.75rem;gap:.75rem}.cleanup-batch+.cleanup-batch{border-top:1px solid var(--border)}.cleanup-batch-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.cleanup-batch-title{font-size:.95rem}.cleanup-totals{font-size:.85rem}.cleanup-batch-note{font-size:.8rem;margin:0}.cleanup-table{display:grid;grid-gap:.4rem;gap:.4rem}.cleanup-row{display:grid;grid-template-columns:minmax(0,1fr) 3.5rem 4.5rem 4rem 9.5rem;align-items:center;grid-gap:.5rem;gap:.5rem;padding:.2rem 0}.cleanup-row--head{color:var(--text-muted);font-size:.75rem;padding-bottom:0}.cleanup-thumb{width:36px;height:52px;object-fit:cover;border:1px solid var(--border);border-radius:3px;flex-shrink:0}.cleanup-thumb--empty{background:var(--surface);display:inline-block}.cleanup-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.85rem}.cleanup-credit{font-size:.8rem}.cleanup-numbers{color:var(--text-muted);font-size:.8rem;white-space:nowrap}.cleanup-card-foot{display:flex;justify-content:flex-end}.cleanup-pair{border-top:1px solid var(--border);padding-top:.4rem;margin-top:.4rem;display:grid;grid-gap:.15rem;gap:.15rem}.cleanup-pair--out{opacity:.45}.cleanup-pair-foot{justify-content:flex-end}.cleanup-changes{list-style:none;margin:.15rem 0 0;padding:0;display:grid;grid-gap:.1rem;gap:.1rem}.cleanup-change{display:flex;align-items:baseline;gap:.4rem;flex-wrap:wrap;font-size:.85rem}.cleanup-change-field{flex:0 0 7rem;color:var(--muted)}.cleanup-change-from{text-decoration:line-through}.cleanup-change-to{color:var(--color-teal)}.cleanup-copy{display:flex;align-items:center;gap:.5rem;min-width:0}.cleanup-copy-text{display:grid;grid-gap:.1rem;gap:.1rem;min-width:0}.cleanup-keep{display:flex;justify-content:flex-end}.cleanup-row--keep .cleanup-title{color:var(--color-teal)}.cleanup-actions,.cleanup-pair-foot{display:flex;gap:.5rem;flex-wrap:wrap}.cleanup-pair-foot{justify-content:space-between;align-items:center}.cleanup-pair-effect{font-size:.8rem}.cleanup-exclude{display:inline-flex;align-items:center;gap:.35rem;color:var(--color-error)}.cleanup-exclude:hover:not(:disabled){background:var(--surface-danger)}.cleanup-exclude__icon{flex:0 0 auto}.cleanup-exclude--out{color:var(--color-teal)}.cleanup-exclude--out:hover:not(:disabled){background:var(--surface)}.cleanup-note{font-size:.85rem;border-left:3px solid var(--color-teal);padding-left:.5rem;margin:0 0 .5rem}.public-books-lede{max-width:62ch}.public-books-lede,.public-books-note{color:var(--text-muted);margin:0 0 1rem}.public-books-note{font-size:var(--font-sm)}.public-books-band{color:var(--color-teal);font-weight:var(--weight-medium);margin:0 0 .5rem}.public-books-crumb{font-size:var(--font-sm);margin:0 0 .4rem}.public-books-cta{margin-top:1.5rem}.public-shelf-rows{display:grid;grid-gap:1rem;gap:1rem}.public-book-row{background:var(--surface-card);border:1px solid var(--border-card);border-radius:var(--radius-card);padding:1rem 1.1rem}.public-book-row__head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.public-book-row__band{font-size:var(--font-lg);font-weight:var(--weight-medium);margin:0}.public-book-row__more{color:var(--color-teal);font-weight:var(--weight-medium)}.public-book-row__strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.6rem;gap:.6rem;margin-top:.85rem}.public-book-row__strip img{width:100%;aspect-ratio:3/4;object-fit:contain;border-radius:var(--radius-mark);background:var(--color-teal-light);display:block}.public-book-row__strip img:nth-child(n+4){display:none}.public-book-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.9rem;gap:.9rem}.public-book-card{display:flex;flex-direction:column;min-width:0;background:var(--surface-card);border:1px solid var(--border-card);border-radius:var(--radius-card);padding:.75rem}.public-book-card__cover{width:100%;aspect-ratio:3/4;border-radius:var(--radius-tile);background:var(--color-teal-light);overflow:hidden}.public-book-card__cover img{width:100%;height:100%;object-fit:contain;display:block}.public-book-card__title{font-size:var(--font-sm);font-weight:var(--weight-medium);margin:.7rem 0 .2rem}.public-book-card__author,.public-book-card__series{font-size:var(--font-xs);color:var(--text-muted);margin:0}@media (min-width:768px){.public-book-row__strip{grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;margin-top:.9rem}.public-book-row__strip img:nth-child(n+4){display:block}.public-book-row{padding:1rem 1.1rem}.public-book-row__band{font-size:var(--font-lg)}.public-book-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem}.public-book-card{padding:.9rem}.public-book-card__title{font-size:var(--font-lg)}}.home-book-links__all{margin:.9rem 0 0}.home-book-links__all a{color:var(--color-teal);font-weight:var(--weight-medium)}.practice-search-clear{flex:0 0 auto;border:0;background:none;color:var(--muted);font-size:var(--font-base);text-decoration:underline;padding:.4rem 0;cursor:pointer}.practice-search-list,.practice-search-results{display:grid;grid-gap:.6rem;gap:.6rem}.practice-result{position:relative;display:flex;align-items:center;gap:.7rem;padding:.7rem .9rem;background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius-card);text-decoration:none;color:var(--foreground);transition:border-color .15s}.practice-result:hover{border-color:var(--primary)}.practice-result__mark{flex:0 0 auto;width:1.8rem;text-align:center;font-size:1.45rem;line-height:1}.practice-result__body{display:flex;flex-direction:column;gap:.1rem;min-width:0}.practice-result__title{font-size:var(--font-lg);font-weight:var(--weight-strong)}.practice-result__path{font-size:var(--font-sm);color:var(--muted)}.practice-result__chev{margin-left:auto;color:var(--muted);font-size:1.2rem;line-height:1}.practice-search-count,.practice-search-hint{margin:0;color:var(--muted);font-size:var(--font-sm)}.practice-search-hint{font-size:var(--font-base)}.practice-search-chips{display:flex;flex-wrap:wrap;gap:.5rem}.practice-search-chip{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--foreground);font-size:var(--font-base);padding:.45rem .9rem;cursor:pointer}.practice-search-chip:hover{border-color:var(--primary)}:root{--atlas-water:#e6f0f5;--atlas-land:#cfd8dc;--atlas-country:#9fd6cc;--atlas-group:var(--color-teal);--atlas-focus:#0f4f49;--atlas-coast:#ffffff}[data-theme=dark]{--atlas-water:#10262c;--atlas-land:#2b3a40;--atlas-country:#2f6f66;--atlas-group:var(--color-teal);--atlas-focus:#9fe4d8;--atlas-coast:#0b1416}.atlas-map{margin:0 0 .75rem}.atlas-map svg{display:block;width:100%;height:auto;border:1px solid var(--border);border-radius:var(--radius-card)}.atlas-map__water{fill:var(--atlas-water)}.atlas-map__land{fill:var(--atlas-land);stroke:none}.atlas-map__country{fill:var(--atlas-country);stroke:var(--atlas-coast);stroke-width:.4}.atlas-map__country.atlas-map__group{fill:var(--atlas-group)}.atlas-map__country.atlas-map__focus{fill:var(--atlas-focus);stroke:var(--atlas-coast)}.atlas-flag{display:block;width:96px;height:auto;margin:0 auto 10px;border:1px solid var(--atlas-coast);border-radius:3px}.atlas-flag--row{width:48px;margin:0 auto 8px}.atlas-facts{margin:10px 0 0;padding:0}.atlas-facts__row{display:flex;gap:10px;align-items:baseline;padding:3px 0;border-top:1px solid var(--atlas-coast)}.atlas-facts__label{min-width:68px;font-weight:800;color:var(--atlas-ink,inherit)}.atlas-facts__value{margin:0}