:root {
    color-scheme: dark;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --ink: #ece6d8;
    --muted: #aaa79b;
    --paper: #1f252a;
    --canvas: #14191d;
    --green: #1583bd;
    --green-dark: #6bb6df;
    --line: #33424d;
    --danger: #e09188;
}

:root[data-theme="dark"] {
    color-scheme: dark;
    --ink: #ece6d8;
    --muted: #aaa79b;
    --paper: #1f252a;
    --canvas: #14191d;
    --green: #1583bd;
    --green-dark: #6bb6df;
    --line: #33424d;
    --danger: #e09188;
}

* { box-sizing: border-box; }
body { margin: 0; background: var(--canvas); color: var(--ink); }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
.shell { width: min(1120px, calc(100% - 2rem)); margin: 0 auto; }
.site-header { position: sticky; top: 0; z-index: 20; padding: .9rem 0; border-bottom: 1px solid var(--line); background: #14191dee; backdrop-filter: blur(12px); }
:root[data-theme="dark"] .site-header { background: #14191dee; }
.header-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.brand { font-weight: 800; text-decoration: none; letter-spacing: -.02em; }
.page { padding: clamp(2rem, 6vw, 4.2rem) 0; }
.login-layout { min-height: 75vh; display: grid; place-items: center; }
.site-footer { padding: 1.25rem 0 2rem; color: var(--muted); font-size: .78rem; }
.site-footer .shell { display: flex; justify-content: space-between; gap: 1rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.privacy-page { max-width: 860px; }
.privacy-page h1 { max-width: 760px; }
.privacy-page > .lead { max-width: 780px; margin-bottom: 2rem; }
.privacy-section { min-height: 0; margin-top: 1rem; }
.privacy-section h2 { margin-bottom: .6rem; }
.privacy-section p, .privacy-section li { color: var(--muted); line-height: 1.7; }
.privacy-section ul { margin: .5rem 0 0; padding-left: 1.35rem; }
.privacy-section a { color: var(--green-dark); }
.privacy-updated { margin-top: 1.5rem; color: var(--muted); font-size: .85rem; }
.a1-progress-page { display: grid; gap: 1.25rem; }
.a1-progress-hero { align-items: center; margin-bottom: .25rem; padding: clamp(1.3rem, 4vw, 2rem); border: 1px solid #2d5368; border-radius: 18px; background: linear-gradient(135deg, #1d2b35, #203848); }
.a1-progress-hero h1 { font-size: clamp(2.2rem, 6vw, 4rem); }
.a1-progress-hero .lead { max-width: 650px; margin-bottom: 0; }
.a1-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .8rem; }
.a1-stat-card { display: grid; gap: .35rem; min-height: 0; padding: 1.2rem; }
.a1-stat-card span, .a1-stat-card small { color: var(--muted); }
.a1-stat-card strong { color: var(--green-dark); font-size: clamp(2rem, 5vw, 3rem); line-height: 1; }
.a1-stat-card.is-due { border-color: #d69a4d; }
.a1-stat-card.is-due strong { color: #efb866; }
.a1-stat-card .a1-stat-date { font-size: clamp(1.5rem, 4vw, 2.25rem); }
.a1-progress-layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(240px, .8fr); gap: 1rem; align-items: start; }
.a1-recent-panel, .a1-activity-panel { min-height: 0; }
.a1-count-badge { min-width: 2rem; padding: .35rem .55rem; border-radius: 999px; background: #263b48; color: var(--green-dark); text-align: center; font-weight: 800; }
.a1-word-list, .a1-activity-list { display: grid; gap: .55rem; margin-top: 1rem; }
.a1-word-row { display: flex; justify-content: space-between; gap: 1rem; padding: .9rem 0; border-top: 1px solid var(--line); }
.a1-word-row:first-child { border-top: 0; }
.a1-word-row strong, .a1-word-row span, .a1-word-row small { display: block; }
.a1-word-row span, .a1-word-row small { margin-top: .25rem; color: var(--muted); font-size: .84rem; }
.a1-word-meta { flex: 0 0 auto; text-align: right; }
.a1-word-meta > span { color: var(--green-dark); font-size: 1rem; font-weight: 850; }
.a1-empty-state { margin-top: 1rem; padding: 1rem; border: 1px dashed var(--line); border-radius: 12px; }
.a1-empty-state h3 { margin-top: 0; }
.a1-empty-state p { margin-bottom: 0; color: var(--muted); line-height: 1.55; }
.a1-activity-list > div { display: flex; justify-content: space-between; gap: 1rem; padding: .7rem 0; border-top: 1px solid var(--line); }
.a1-activity-list > div:first-child { border-top: 0; }
.a1-activity-list span { color: var(--muted); }
.card { width: min(100%, 480px); padding: clamp(1.5rem, 5vw, 2.5rem); background: var(--paper); border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 22px 70px #26351d14; }
:root[data-theme="dark"] .card { box-shadow: 0 24px 70px #02040242; }
.card h1 { max-width: 100%; font-size: clamp(2.2rem, 9vw, 3.9rem); overflow-wrap: anywhere; }
h1 { margin: 0 0 .75rem; font-size: clamp(2rem, 7vw, 4.5rem); line-height: 1; letter-spacing: 0; }
h2 { margin-top: 0; }
.lead { color: var(--muted); line-height: 1.65; }
.field { display: grid; gap: .45rem; margin-top: 1.15rem; }
.field label { font-weight: 700; }
.field input { width: 100%; border: 1px solid var(--line); border-radius: 12px; padding: .85rem 1rem; background: #fff; color: var(--ink); }
.field input:focus, .field select:focus, .field textarea:focus { outline: 3px solid #6ba5843b; border-color: var(--green); }
.field select, .field textarea { width: 100%; border: 1px solid var(--line); border-radius: 12px; padding: .85rem 1rem; background: #fff; color: var(--ink); }
:root[data-theme="dark"] .field input,
:root[data-theme="dark"] .field select,
:root[data-theme="dark"] .field textarea { background: #253344; color: var(--ink); }
.field textarea { resize: vertical; line-height: 1.55; }
.field label span { color: var(--muted); font-weight: 400; }
.button { display: inline-flex; justify-content: center; align-items: center; border: 0; border-radius: 12px; padding: .85rem 1.15rem; background: var(--green); color: #111711; font-weight: 800; cursor: pointer; text-decoration: none; }
.button:hover { background: var(--green-dark); color: #111711; }
.button-secondary { background: transparent; color: var(--ink); border: 1px solid var(--line); }
:root[data-theme="dark"] .button { color: #111711; }
:root[data-theme="dark"] .button-secondary { color: var(--ink); }
.button-secondary:hover { border-color: var(--green); background: #1583bd1f; color: var(--ink); }
.full { width: 100%; margin-top: 1.3rem; }
.error { margin: 1rem 0 0; border-radius: 12px; padding: .85rem 1rem; background: #fff0ee; color: var(--danger); }
.notice { margin: 1rem 0; border-radius: 12px; padding: .85rem 1rem; }
.notice-success { background: #e8f4ea; color: var(--green-dark); }
.dashboard-head { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 2rem; }
.eyebrow { margin: 0 0 .5rem; color: var(--green); font-weight: 800; text-transform: uppercase; letter-spacing: .08em; font-size: .8rem; }
.dashboard-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.home-dashboard { grid-template-columns: minmax(0, 1.6fr) repeat(2, minmax(0, 1fr)); }
.home-dashboard .panel { min-height: 165px; }
.home-start { display: grid; gap: 1.4rem; }
.home-hero { align-items: center; padding: clamp(1.35rem, 4vw, 2.2rem); border: 1px solid #ccd8ce; border-radius: 18px; background: linear-gradient(135deg, #fffefa 0%, #edf4ee 100%); box-shadow: 0 18px 52px #26351d12; }
.home-hero h1 { max-width: 760px; font-size: clamp(2.2rem, 6vw, 4rem); }
.home-hero .lead { max-width: 720px; margin-bottom: 0; }
.home-hero-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .65rem; }
.button-large { padding: 1rem 1.25rem; }
.home-command-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) repeat(2, minmax(0, .82fr)); gap: 1rem; align-items: stretch; }
.home-command-grid .panel { min-height: 165px; }
.memory-home-panel { grid-row: span 2; background: #1d2b35; color: var(--ink); border-color: #28465a; }
.memory-home-panel .eyebrow, .memory-home-panel .subject-link { color: #9fd3ef; }
.memory-home-panel p { color: #d8dfd2; }
.memory-home-panel h2 { font-size: clamp(1.8rem, 4vw, 3rem); line-height: 1.05; }
.memory-home-panel .button { background: var(--green); color: #111711; }
.home-panel-actions { display: grid; gap: .75rem; margin-top: 1.2rem; }
.home-panel-actions span { color: #d8dfd2; font-size: .9rem; font-weight: 750; }
.lingq-home-panel { background: #f7f9f2; }
.practice-home-panel, .progress-home-panel, .continue-home-panel { background: var(--paper); }
.curriculum-heading { margin-top: 2.3rem; padding-top: 1.5rem; border-top: 1px solid var(--line); }
.curriculum-drawer { overflow: hidden; margin-top: 1.4rem; border: 1px solid var(--line); border-radius: 16px; background: #fffefab8; }
.curriculum-drawer > summary { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: .75rem; align-items: center; padding: 1rem 1.15rem; cursor: pointer; list-style: none; }
.curriculum-drawer > summary::-webkit-details-marker { display: none; }
.curriculum-drawer > summary::after { content: "+"; color: var(--green); font-size: 1.35rem; line-height: 1; }
.curriculum-drawer[open] > summary::after { content: "−"; }
.curriculum-drawer[open] > summary { border-bottom: 1px solid var(--line); }
.curriculum-drawer > summary span { display: grid; gap: .25rem; }
.curriculum-drawer > summary strong { font-size: 1rem; }
.curriculum-drawer > summary small, .drawer-meta { color: var(--muted); font-size: .82rem; font-weight: 750; }
.curriculum-drawer-content { padding: 0 1rem 1rem; }
.curriculum-drawer .curriculum-heading { margin-top: 0; padding-top: 1rem; }
.panel { min-height: 180px; padding: 1.5rem; background: var(--paper); border: 1px solid var(--line); border-radius: 16px; }
.panel p { color: var(--muted); line-height: 1.55; }
.logout-form { margin: 0; }
.header-actions { display: flex; align-items: center; gap: .55rem; }
.header-actions .button,
.header-link {
    min-height: 50px;
    padding: 0 1.1rem;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #172029;
    color: var(--ink);
    font-size: .9rem;
    font-weight: 850;
    text-decoration: none;
    line-height: 1;
}
.header-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.header-actions .button:not(.button-secondary),
.header-actions .memory-nav-button {
    border-color: var(--green);
    background: var(--green);
    color: #111711;
}
.header-actions .button:hover,
.header-link:hover {
    border-color: #2e6f91;
    background: #20303a;
    color: var(--ink);
}
.header-actions .button:not(.button-secondary):hover,
.header-actions .memory-nav-button:hover {
    border-color: var(--green-dark);
    background: var(--green-dark);
    color: #111711;
}
.focus-panel { background: #e9f0e9; }
.section-heading { display: flex; justify-content: space-between; align-items: end; margin: 3rem 0 1rem; }
.section-heading h2 { margin-bottom: 0; font-size: 2rem; }
.subject-grid { display: grid; grid-template-columns: 1fr; gap: .65rem; }
.subject-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(110px, 180px) auto; align-items: center; gap: 1rem; padding: .95rem 1.1rem; background: var(--paper); border: 1px solid var(--line); border-radius: 12px; text-decoration: none; transition: transform .18s ease, border-color .18s ease; }
.subject-card:hover { transform: translateY(-2px); border-color: #8caa96; }
.subject-card-main { min-width: 0; }
.subject-card h3 { margin: 0 0 .3rem; font-size: 1.05rem; }
.subject-progress-text { color: var(--muted); font-size: .9rem; }
.progress-track { display: block; width: 100%; height: 8px; overflow: hidden; border: 0; background: #e6e8e2; border-radius: 999px; }
.progress-track::-webkit-progress-bar { background: #e6e8e2; border-radius: 999px; }
.progress-track::-webkit-progress-value { background: var(--green); border-radius: 999px; }
.progress-track::-moz-progress-bar { background: var(--green); border-radius: 999px; }
.subject-link { display: inline-block; margin-top: 1rem; color: var(--green); font-weight: 800; }
.subject-card > .subject-link { margin-top: 0; white-space: nowrap; }
.shipment-section + .shipment-section { margin-top: .75rem; }
.shipment-title { margin: 0 0 .8rem; color: var(--muted); font-size: 1rem; text-transform: uppercase; letter-spacing: .08em; }
.curriculum-group { overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: var(--paper); }
.curriculum-group > summary { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: .75rem; padding: 1rem 1.2rem; cursor: pointer; list-style: none; }
.curriculum-group > summary::-webkit-details-marker { display: none; }
.curriculum-group > summary::after { content: "+"; color: var(--green); font-size: 1.35rem; line-height: 1; }
.curriculum-group[open] > summary::after { content: "−"; }
.curriculum-group[open] > summary { border-bottom: 1px solid var(--line); }
.curriculum-group > summary span { font-weight: 850; }
.curriculum-group > summary small { color: var(--muted); }
.curriculum-group > .subject-grid { padding: .75rem; background: #f7f6f0; }
.back-link { display: inline-block; margin-bottom: 2rem; color: var(--green); font-weight: 800; text-decoration: none; }
.subject-heading { margin-bottom: 1.5rem; }
.section-tabs { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 1rem; }
.section-tabs a { padding: .6rem .8rem; border: 1px solid var(--line); border-radius: 999px; background: #fffefab8; color: var(--muted); font-size: .84rem; font-weight: 800; text-decoration: none; }
.section-tabs a:hover { border-color: var(--green); color: var(--green); }
#documents, #units, #notes { scroll-margin-top: 6rem; }
.utility-panel { overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: var(--paper); }
.utility-panel > summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .2rem 1rem; align-items: center; padding: 1rem 1.15rem; cursor: pointer; list-style: none; }
.utility-panel > summary::-webkit-details-marker { display: none; }
.utility-panel > summary::after { grid-column: 2; grid-row: 1 / span 2; content: "+"; color: var(--green); font-size: 1.4rem; font-weight: 500; }
.utility-panel[open] > summary::after { content: "−"; }
.utility-panel > summary span { font-weight: 850; }
.utility-panel > summary small { grid-column: 1; color: var(--muted); line-height: 1.4; }
.utility-panel[open] > summary { border-bottom: 1px solid var(--line); }
.utility-content { padding: 1.2rem; }
.document-layout { display: grid; grid-template-columns: 1fr; gap: 1rem; }
.upload-panel, .documents-panel { padding: 1.5rem; background: var(--paper); border: 1px solid var(--line); border-radius: 20px; }
.documents-panel { order: 1; }
.upload-panel { order: 2; padding: 0; border-radius: 16px; }
.upload-panel p, .documents-panel p { color: var(--muted); line-height: 1.55; }
.upload-panel form { display: grid; gap: .8rem; }
.file-field { display: grid; gap: .55rem; padding: 1rem; border: 1px dashed #9da79d; border-radius: 12px; background: #f8f8f4; font-weight: 800; cursor: pointer; }
.file-field input { width: 100%; color: var(--muted); font-weight: 400; }
.document-list { display: grid; gap: .6rem; }
.document-item { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .85rem 1rem; border: 1px solid var(--line); border-radius: 12px; }
.document-item:hover { border-color: var(--green); }
.document-copy { min-width: 0; }
.document-item strong, .document-item small { display: block; overflow-wrap: anywhere; }
.document-item small { margin-top: .25rem; color: var(--muted); }
.document-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: .55rem; }
.document-actions a { color: var(--green); font-size: .84rem; font-weight: 800; }
.document-actions [hidden] { display: none; }
.rename-document { margin-top: .7rem; }
.rename-document summary { width: fit-content; color: var(--muted); cursor: pointer; font-size: .8rem; font-weight: 700; }
.rename-document form { display: flex; gap: .5rem; margin-top: .6rem; }
.rename-document input { min-width: 0; flex: 1; border: 1px solid var(--line); border-radius: 9px; padding: .6rem .7rem; background: #fff; }
.rename-document .button { padding: .6rem .8rem; }
.document-status { flex: 0 0 auto; color: var(--green); font-size: .78rem; font-weight: 800; }
.document-status.status-processing { color: #9a651d; }
.document-status.status-failed { color: var(--danger); }

.compact-page { padding-top: 2.4rem; }
.lingq-hero { align-items: center; }
.hero-stat { display: grid; min-width: 116px; padding: 1rem; border: 1px solid var(--line); border-radius: 16px; background: var(--paper); text-align: center; }
.hero-stat strong { font-size: 2rem; line-height: 1; color: var(--green-dark); }
.hero-stat span { margin-top: .3rem; color: var(--muted); font-size: .82rem; font-weight: 800; }
.hero-stat.small { min-width: 88px; padding: .8rem; }
.hero-stat.small strong { font-size: 1.45rem; }
.lingq-layout { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 1rem; align-items: start; }
.lingq-layout .panel { min-height: 0; border-radius: 16px; }
.lingq-sidebar, .chapter-editor { position: sticky; top: 5.8rem; }
.panel-title-row, .series-header, .chapter-head { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-start; }
.series-list { display: grid; gap: .55rem; margin: 1rem 0; }
.series-card { display: grid; gap: .25rem; padding: .85rem; border: 1px solid var(--line); border-radius: 12px; background: #fff; text-decoration: none; }
.series-card:hover, .series-card.is-active { border-color: var(--green); box-shadow: 0 12px 28px #26351d0f; }
.series-card strong { overflow-wrap: anywhere; }
.series-card span { color: var(--muted); font-size: .82rem; }
.series-settings { margin: 1rem 0; }
.series-settings-muted { margin-top: 1.2rem; opacity: .82; }
.series-settings-muted > summary span { color: var(--muted); }
.two-column-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
.two-column-form .field { margin-top: 0; }
.span-2 { grid-column: 1 / -1; }
.chapter-list { display: grid; gap: .85rem; margin-top: 1rem; }
.chapter-card { padding: 1rem; border: 1px solid var(--line); border-radius: 14px; background: #fbfbf7; }
.chapter-card h3 { margin: .35rem 0 .5rem; }
.chapter-summary { margin-top: 0; color: var(--ink); }
.chapter-card details { margin-top: .8rem; }
.chapter-card details summary { color: var(--green); font-weight: 850; cursor: pointer; }
.chapter-body { margin-top: .75rem; padding: .85rem; border-radius: 12px; background: #fff; color: var(--ink); line-height: 1.7; white-space: normal; }
.chapter-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; margin-top: .85rem; }
.chapter-actions .button { padding: .7rem 1rem; }
.chapter-actions span { color: var(--muted); font-size: .82rem; font-weight: 750; }
.chapter-meta-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .65rem; margin-top: .85rem; }
.chapter-meta-grid div { padding: .7rem; border-radius: 12px; background: #fff; border: 1px solid #eceee7; }
.chapter-meta-grid strong, .chapter-meta-grid span { display: block; }
.chapter-meta-grid strong { margin-bottom: .25rem; font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; color: var(--green-dark); }
.chapter-meta-grid span { color: var(--muted); font-size: .88rem; line-height: 1.45; overflow-wrap: anywhere; }
.status-form select { min-width: 140px; border: 1px solid var(--line); border-radius: 10px; padding: .55rem .65rem; background: #fff; }
.chapter-editor form { display: grid; gap: .75rem; }
.chapter-editor .field { margin-top: 0; }
.manual-chapter-save { background: #fbfbf7; }
.manual-chapter-save > summary span { color: var(--green-dark); }
.manual-chapter-save .full { margin-top: .55rem; }
.lingq-reader-heading { align-items: start; }
.reader-status-form { min-width: 220px; padding: .85rem; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); }
.reader-status-form label { display: grid; gap: .35rem; color: var(--muted); font-size: .78rem; font-weight: 800; }
.reader-status-form > span { display: block; margin-bottom: .25rem; color: var(--muted); font-size: .78rem; font-weight: 850; text-transform: uppercase; letter-spacing: .06em; }
.reader-status-form > strong { display: block; color: var(--green-dark); }
.reader-status-form p { margin: .6rem 0 0; color: var(--muted); font-size: .9rem; line-height: 1.45; }
.reader-status-form form { margin-top: .7rem; }
.lingq-reader-layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 1rem; align-items: start; }
.lingq-reader-page { min-height: 65vh; padding: clamp(1.4rem, 4vw, 3rem); border: 1px solid #d7ddcf; border-radius: 18px; background: #fffdf6; box-shadow: 0 18px 56px #26351d0d; }
.adys-reader { max-width: 66ch; margin: 0 auto; color: #111711; font-family: "OpenDyslexic", "OpenDyslexicAlta", "Atkinson Hyperlegible", "Comic Sans MS", "Trebuchet MS", Arial, sans-serif; font-size: clamp(1.08rem, 1.8vw, 1.22rem); line-height: 2.05; letter-spacing: .018em; word-spacing: .12em; overflow-wrap: anywhere; }
.reader-meta-panel { display: grid; gap: 1rem; position: sticky; top: 5.8rem; }
.reader-meta-panel .panel { min-height: 0; padding: 1.1rem; }
.reader-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; margin: 1rem 0 0; }
.reader-facts div { display: grid; gap: .15rem; padding: .65rem; border: 1px solid #e7e9e3; border-radius: 10px; background: #fff; }
.reader-facts dt { color: var(--muted); font-size: .76rem; font-weight: 850; text-transform: uppercase; letter-spacing: .06em; }
.reader-facts dd { margin: 0; font-weight: 800; }
.reader-chip-list { display: flex; flex-wrap: wrap; gap: .45rem; }
.reader-chip-list span { padding: .42rem .58rem; border: 1px solid #d9dfd7; border-radius: 999px; background: #fff; color: var(--green-dark); font-size: .84rem; font-weight: 800; }
.reader-question-list { margin: .8rem 0 0; padding-left: 1.25rem; color: var(--ink); line-height: 1.55; }
.reader-question-list li + li { margin-top: .45rem; }
.reader-expand-panel { padding: 0; min-height: 0; overflow: hidden; }
.reader-expand-panel > summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .25rem 1rem; align-items: center; padding: 1rem 1.1rem; cursor: pointer; list-style: none; }
.reader-expand-panel > summary::-webkit-details-marker { display: none; }
.reader-expand-panel > summary::after { grid-column: 2; grid-row: 1 / span 2; content: "+"; color: var(--green); font-size: 1.25rem; line-height: 1; }
.reader-expand-panel[open] > summary::after { content: "−"; }
.reader-expand-panel[open] > summary { border-bottom: 1px solid var(--line); }
.reader-expand-panel > summary span { color: var(--green-dark); font-weight: 850; }
.reader-expand-panel > summary small { grid-column: 1; color: var(--muted); font-size: .78rem; font-weight: 750; }
.reader-expand-panel .utility-content { margin: 0; padding: 1rem 1.1rem 1.1rem; }
.discussion-log { display: grid; gap: .7rem; }
.discussion-log article { padding-top: .7rem; border-top: 1px solid var(--line); }
.discussion-log strong { display: block; color: var(--green-dark); font-size: .88rem; }
.discussion-log p { margin: .35rem 0 0; font-size: .9rem; }

:root[data-theme="dark"] .home-hero,
:root[data-theme="dark"] .focus-panel,
:root[data-theme="dark"] .lingq-home-panel,
:root[data-theme="dark"] .practice-home-panel,
:root[data-theme="dark"] .progress-home-panel,
:root[data-theme="dark"] .continue-home-panel,
:root[data-theme="dark"] .upload-panel,
:root[data-theme="dark"] .documents-panel,
:root[data-theme="dark"] .note-editor,
:root[data-theme="dark"] .notes-list-panel,
:root[data-theme="dark"] .manual-chapter-meta,
:root[data-theme="dark"] .reader-page,
:root[data-theme="dark"] .reader-search,
:root[data-theme="dark"] .chapter-card,
:root[data-theme="dark"] .chapter-body,
:root[data-theme="dark"] .series-card,
:root[data-theme="dark"] .hero-stat,
:root[data-theme="dark"] .document-item,
:root[data-theme="dark"] .reader-facts div,
:root[data-theme="dark"] .reader-chip-list span,
:root[data-theme="dark"] .chapter-meta-grid div,
:root[data-theme="dark"] .file-field,
:root[data-theme="dark"] .textbook-role-summary,
:root[data-theme="dark"] .page-paragraph-summary {
    background: var(--paper);
    border-color: var(--line);
    color: var(--ink);
}

:root[data-theme="dark"] .home-hero,
:root[data-theme="dark"] .focus-panel {
    background: linear-gradient(135deg, #1f252a 0%, #182129 100%);
}

:root[data-theme="dark"] .memory-home-panel {
    background: #1a2a35;
    border-color: #28465a;
}

:root[data-theme="dark"] .memory-home-panel .button {
    background: var(--green);
    color: #111711;
}

:root[data-theme="dark"] .curriculum-group,
:root[data-theme="dark"] .curriculum-drawer,
:root[data-theme="dark"] .utility-panel,
:root[data-theme="dark"] .reader-toc,
:root[data-theme="dark"] .upload-panel,
:root[data-theme="dark"] .manual-chapter-save {
    background: var(--paper);
    border-color: var(--line);
}

:root[data-theme="dark"] .curriculum-group > .subject-grid,
:root[data-theme="dark"] .reader-toolbar,
:root[data-theme="dark"] .reader-view-switch a,
:root[data-theme="dark"] .section-tabs a,
:root[data-theme="dark"] .lingq-reader-page {
    background: #1a2228;
    border-color: var(--line);
    color: var(--ink);
}

:root[data-theme="dark"] .lingq-reader-page {
    background: #1a2a35;
    border-color: #28465a;
    box-shadow: 0 22px 62px #02040259;
}

:root[data-theme="dark"] .adys-reader {
    color: #eee7d7;
}

:root[data-theme="dark"] .reader-status-form {
    background: #1f252a;
    border-color: var(--line);
}

:root[data-theme="dark"] .subject-card,
:root[data-theme="dark"] .series-card:hover,
:root[data-theme="dark"] .series-card.is-active,
:root[data-theme="dark"] .reader-paragraph:hover {
    background: #222b32;
    border-color: #466171;
}

:root[data-theme="dark"] .progress-track,
:root[data-theme="dark"] .progress-track::-webkit-progress-bar {
    background: #30382f;
}

:root[data-theme="dark"] .notice-success {
    background: #183346;
    color: #d9ebf3;
}

:root[data-theme="dark"] .all-cards-hint,
:root[data-theme="dark"] .card-manual-source {
    background: #183346;
    border: 1px solid #28465a;
    color: #d9ebf3;
}

:root[data-theme="dark"] .all-cards-hint {
    background: transparent;
    border: 0;
    color: var(--muted);
}

:root[data-theme="dark"] .flashcard-answer > div {
    background: #172029;
    border: 1px solid var(--line);
    color: var(--ink);
}

:root[data-theme="dark"] .flashcard-answer p {
    color: #e4dece;
}

:root[data-theme="dark"] .rating-actions button {
    background: #172029;
    border-color: #3b5160;
    color: var(--ink);
}

:root[data-theme="dark"] .rating-actions button:hover {
    background: #20303a;
    border-color: var(--green);
}

:root[data-theme="dark"] .rating-actions small {
    color: #b8c3c9;
}

:root[data-theme="dark"] .rating-actions .rating-again {
    color: #f0b5ae;
}

:root[data-theme="dark"] .error {
    background: #3a201e;
    color: #f0b5ae;
}

button,
.status-actions button,
.rating-actions button,
.toc-regenerate button,
.toc-correction button,
.textbook-page-marker button {
    color: var(--ink);
}

.status-actions button,
.rating-actions button,
.pilot-rating-scale span,
.study-comprehension span,
.textbook-page-marker button {
    background: #1a2228;
    border-color: var(--line);
}

.status-actions button:hover,
.rating-actions button:hover,
.textbook-page-marker button:hover {
    border-color: var(--green);
    color: var(--ink);
}

.button,
.memory-home-panel .button,
.study-question label span,
.study-comprehension input:checked + span,
.pilot-rating-scale input:checked + span {
    color: #111711;
}

.known-card-menu,
.selection-tray {
    background: #1f252af2;
    border-color: var(--line);
}

.toc-list a:hover,
.card-scope-links a.active,
.card-scope-links a:hover,
.reader-view-switch a.active,
.reading-size-switch a.active,
.pilot-run-tabs a.active {
    background: #1583bd1f;
    color: var(--green-dark);
}

@media (max-width: 1050px) {
    .lingq-layout { grid-template-columns: minmax(0, 1fr); }
    .lingq-sidebar, .chapter-editor { position: static; }
    .lingq-reader-layout { grid-template-columns: minmax(0, 1fr); }
    .reader-meta-panel { position: static; }
}

@media (max-width: 760px) {
    .lingq-hero, .series-header, .chapter-head, .lingq-reader-heading { display: block; }
    .hero-stat { width: fit-content; margin-top: 1rem; }
    .two-column-form, .chapter-meta-grid { grid-template-columns: 1fr; }
    .reader-status-form { min-width: 0; margin-top: 1rem; }
    .lingq-reader-page { padding: 1rem; border-radius: 14px; }
    .adys-reader { font-size: 1.08rem; line-height: 1.85; }
}
.empty-copy { margin-bottom: 0; }
.notes-heading { margin-top: 3rem; }
.subject-notes { margin-top: 2rem; }
.notes-layout { display: grid; grid-template-columns: minmax(300px, .9fr) minmax(0, 1.1fr); gap: 1rem; align-items: start; }
.note-editor, .notes-list-panel { padding: 1.5rem; background: var(--paper); border: 1px solid var(--line); border-radius: 20px; }
.note-editor > p, .notes-list-panel > p { color: var(--muted); line-height: 1.55; }
.compact-field { margin-top: .85rem; }
.note-anchor-grid { display: grid; grid-template-columns: minmax(0, 1fr) 120px; gap: .75rem; }
.form-actions { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1rem; }
.notes-list { display: grid; gap: .75rem; }
.note-card { padding: 1rem; border: 1px solid var(--line); border-radius: 14px; background: #fbfbf7; }
.note-card-head { display: flex; justify-content: space-between; align-items: start; gap: 1rem; }
.note-card-head h4 { margin: .2rem 0 0; font-size: 1.05rem; }
.note-card-head a { color: var(--green); font-weight: 800; font-size: .88rem; }
.note-source { margin: .7rem 0; color: var(--green); font-size: .85rem; font-weight: 700; overflow-wrap: anywhere; }
.note-body { color: var(--ink); line-height: 1.6; overflow-wrap: anywhere; }
.delete-note-form { margin-top: .8rem; }
.delete-note-form button { padding: 0; border: 0; background: transparent; color: var(--danger); cursor: pointer; font-weight: 700; }
.reader-heading { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; margin-bottom: 1.5rem; }
.reader-heading h1 { font-size: clamp(2rem, 5vw, 3.5rem); overflow-wrap: anywhere; }
.reader-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 340px); gap: 1rem; align-items: start; }
.reader-page, .reader-search { background: var(--paper); border: 1px solid var(--line); border-radius: 20px; }
.reader-page { overflow: hidden; }
.reader-toolbar { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: .75rem; padding: 1rem; border-bottom: 1px solid var(--line); background: #f8f8f4; }
.reader-toolbar > :last-child { justify-self: end; }
.reader-toolbar strong { text-align: center; }
.reader-view-switch { display: flex; gap: .5rem; padding: .8rem 1rem 0; }
.reader-view-switch a { padding: .5rem .7rem; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); text-decoration: none; font-size: .8rem; font-weight: 800; }
.reader-view-switch a.active { border-color: var(--green); background: #e9f0e9; color: var(--green-dark); }
.reading-size-switch { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; padding: .65rem 1rem 0; }
.reading-size-switch span { margin-right: .2rem; color: var(--muted); font-size: .78rem; font-weight: 800; }
.reading-size-switch a { padding: .42rem .65rem; border: 1px solid var(--line); border-radius: 999px; color: var(--muted); text-decoration: none; font-size: .76rem; font-weight: 800; }
.reading-size-switch a.active { border-color: #7ca38a; background: #edf4ee; color: var(--green-dark); }
.page-text { min-height: 55vh; padding: clamp(1.2rem, 4vw, 2.4rem); white-space: pre-wrap; font-size: 1rem; line-height: 1.7; overflow-wrap: anywhere; }
.page-text-reading { display: grid; gap: .35rem; white-space: normal; }
.page-text-layout { overflow-x: auto; font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace; font-size: .9rem; line-height: 1.5; overflow-wrap: normal; }
.reader-paragraph { scroll-margin-top: 6rem; padding: 1.05rem 1rem; border: 1px solid transparent; border-bottom-color: var(--line); border-radius: 12px; transition: border-color .18s ease, background .18s ease; }
.reader-paragraph:hover { border-color: #cbd5cb; background: #fbfcf8; }
.reader-paragraph.paragraph-status-understood { border-left: 4px solid #86ad93; background: #f5faf5; }
.reader-paragraph.paragraph-status-review { border-left: 4px solid #d69a4d; background: #fff9ef; }
.reader-paragraph-heading { margin: 0 0 .65rem; color: var(--green-dark); font-size: 1.08rem; line-height: 1.4; }
.reader-paragraph-heading:only-child { margin-bottom: 0; }
.paragraph-copy { line-height: 1.75; }
.page-text-layout .paragraph-copy { white-space: pre-wrap; }
.paragraph-progress-form { margin-top: .75rem; }
.paragraph-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; }
.paragraph-actions > span { margin-right: auto; color: var(--muted); font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.paragraph-actions button { padding: .38rem .58rem; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--muted); cursor: pointer; font-size: .76rem; font-weight: 800; }
.paragraph-actions button:hover { border-color: var(--green); color: var(--green); }
.paragraph-actions button.active { border-color: var(--green); background: #e5f0e8; color: var(--green-dark); }
.paragraph-actions button.active[value="review"] { border-color: #c98a36; background: #fff0d8; color: #805016; }
.paragraph-actions .paragraph-clear-status { border-color: transparent; background: transparent; font-weight: 650; }
.paragraph-note-editor { margin-top: .55rem; }
.paragraph-note-editor summary { width: fit-content; color: var(--green); cursor: pointer; font-size: .8rem; font-weight: 800; }
.paragraph-note-editor textarea { display: block; width: 100%; margin-top: .65rem; padding: .75rem; border: 1px solid var(--line); border-radius: 10px; background: #fff; line-height: 1.55; resize: vertical; }
.paragraph-note-editor .button { margin-top: .5rem; padding: .55rem .75rem; }
.known-card-term { padding: .08em .16em; border-radius: .25em; color: inherit; cursor: pointer; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.known-card-new { background: #cfe5fa; }
.known-card-learning { background: #d2eee9; }
.known-card-almost { background: #e2f0d8; }
.known-card-term:hover, .known-card-term:focus { outline: 2px solid #578b80; filter: saturate(1.12); }
.reader-highlight-legend { display: flex; flex-wrap: wrap; gap: .5rem 1rem; padding: .65rem 1rem .15rem; color: var(--muted); font-size: .76rem; font-weight: 700; }
.reader-highlight-legend span { display: inline-flex; align-items: center; gap: .35rem; }
.page-paragraph-summary { display: flex; flex-wrap: wrap; gap: .5rem 1rem; margin: .65rem 1rem 0; padding: .65rem .8rem; border-radius: 10px; background: #f1f4ef; color: var(--muted); font-size: .8rem; }
.page-paragraph-summary strong { color: var(--ink); }
.page-paragraph-summary a { margin-left: auto; color: var(--green); font-weight: 800; }
.highlight-dot { width: .75rem; height: .75rem; border-radius: 50%; }
.highlight-dot-new { background: #9dcaf1; }
.highlight-dot-learning { background: #9ed8cd; }
.highlight-dot-almost { background: #bddda8; }
.known-card-menu { position: fixed; right: 50%; bottom: 1.25rem; z-index: 55; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .2rem 1rem; width: min(560px, calc(100% - 2rem)); padding: .9rem 1rem; border: 1px solid #a8c58d; border-radius: 16px; background: #fffefaf5; box-shadow: 0 16px 50px #2033262e; transform: translateX(50%); backdrop-filter: blur(12px); }
.known-card-menu[hidden] { display: none; }
.known-card-menu > strong { overflow-wrap: anywhere; }
.known-card-menu > span { color: var(--muted); font-size: .84rem; }
.known-card-menu > div { grid-column: 2; grid-row: 1 / span 2; display: flex; align-items: center; gap: .5rem; }
.known-card-menu .button { padding: .65rem .8rem; }
.known-card-menu .tray-close { width: 2rem; height: 2rem; border: 0; background: transparent; color: var(--muted); cursor: pointer; font-size: 1.35rem; }
.selection-tray { position: fixed; right: 50%; bottom: 1.25rem; z-index: 50; display: flex; align-items: center; gap: .65rem; width: min(680px, calc(100% - 2rem)); padding: .65rem; border: 1px solid #b9c9be; border-radius: 16px; background: #fffefaf5; box-shadow: 0 16px 50px #2033262e; transform: translateX(50%); backdrop-filter: blur(12px); }
.selection-tray[hidden] { display: none; }
.selection-tray > span { min-width: 0; flex: 1; overflow: hidden; color: var(--muted); font-size: .86rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.selection-tray > .button { flex: 0 0 auto; padding: .7rem .9rem; }
.selection-tray > .copy-chatgpt { flex: 0 0 auto; padding: .7rem .9rem; font-size: .84rem; }
.selection-tray > .tray-close { flex: 0 0 auto; width: 2rem; height: 2rem; border: 0; background: transparent; color: var(--muted); cursor: pointer; font-size: 1.35rem; }
.reader-toolbar-bottom { border-top: 1px solid var(--line); border-bottom: 0; }
.empty-page { margin: 0; min-height: 40vh; padding: 2rem; color: var(--muted); line-height: 1.6; }
.reader-page-actions { display: flex; flex-wrap: wrap; gap: .6rem; padding: 1rem; border-top: 1px solid var(--line); }
.reader-page-actions form { margin: 0; }
.bookmark-status { margin: .65rem 0 0; color: var(--muted); font-weight: 700; }
.bookmark-status a, .bookmark-resume { color: var(--green); }
.reader-search { position: sticky; top: 5rem; padding: 1.4rem; }
.reader-toc { margin: -1.4rem -1.4rem 1.4rem; border-bottom: 1px solid var(--line); background: #fbfcf8; }
.reader-toc > summary { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem 1.4rem; color: var(--green-dark); cursor: pointer; font-weight: 850; }
.reader-toc > summary small { color: var(--muted); font-weight: 700; }
.toc-list { display: grid; max-height: 52vh; padding: 0 .65rem .8rem; overflow-y: auto; }
.toc-list a { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .6rem; padding: .48rem .7rem; border-radius: 8px; color: var(--ink); text-decoration: none; font-size: .8rem; line-height: 1.35; }
.toc-list a:hover { background: #eaf1e9; color: var(--green-dark); }
.toc-list a small { color: var(--muted); }
.toc-list .toc-level-2 { padding-left: 1.35rem; }
.toc-list .toc-level-3 { padding-left: 2rem; font-size: .76rem; }
.toc-list .toc-level-4, .toc-list .toc-level-5 { padding-left: 2.5rem; font-size: .74rem; }
.toc-empty { padding: 0 1.4rem; color: var(--muted); font-size: .84rem; line-height: 1.5; }
.toc-regenerate { padding: .65rem 1.4rem 1rem; }
.toc-regenerate button, .toc-correction button { padding: 0; border: 0; background: transparent; color: var(--green); cursor: pointer; font-size: .78rem; font-weight: 800; }
.toc-correction { margin: .2rem .8rem; border-top: 1px solid var(--line); }
.toc-correction > summary { padding: .7rem .55rem; color: var(--muted); cursor: pointer; font-size: .78rem; font-weight: 800; }
.toc-correction > p { margin: 0 .55rem .7rem; color: var(--muted); font-size: .75rem; line-height: 1.45; }
.toc-correction-list { display: grid; gap: .5rem; max-height: 40vh; padding: 0 .55rem .7rem; overflow-y: auto; }
.toc-correction-list form { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: .4rem; }
.toc-correction-list label { display: grid; gap: .25rem; min-width: 0; color: var(--muted); font-size: .7rem; overflow-wrap: anywhere; }
.toc-correction-list input { width: 5rem; padding: .35rem .4rem; border: 1px solid var(--line); border-radius: 7px; background: #fff; }
.reader-search-section { padding-top: .1rem; }
.reader-search h3 { margin: 1.5rem 0 .75rem; }
.search-results { display: grid; gap: .55rem; max-height: 58vh; overflow-y: auto; }
.search-results a { display: grid; gap: .3rem; padding: .75rem; border: 1px solid var(--line); border-radius: 10px; text-decoration: none; }
.search-results a:hover { border-color: var(--green); }
.search-results strong { color: var(--green); font-size: .85rem; }
.search-results span { color: var(--muted); font-size: .82rem; line-height: 1.45; }
.card-heading { margin-bottom: 1.25rem; }
.card-heading-all { align-items: start; margin-bottom: .75rem; }
.card-heading-all .eyebrow { margin-bottom: .35rem; font-size: .72rem; }
.card-heading-all h1 { margin-bottom: .35rem; font-size: clamp(1.6rem, 4vw, 2.5rem); }
.card-heading-all .lead { margin: 0; font-size: .95rem; }
.deck-picker { margin: .4rem 0 1rem; border-radius: 14px; opacity: .86; }
.deck-picker > summary { padding: .75rem 1rem; }
.deck-picker > summary span { font-size: .92rem; }
.deck-picker > summary small { font-size: .76rem; }
.card-scope-links { display: flex; flex-wrap: wrap; gap: .5rem; padding: 1rem; }
.card-scope-links a { flex: 0 0 auto; padding: .65rem .85rem; border: 1px solid var(--line); border-radius: 999px; background: var(--paper); color: var(--muted); text-decoration: none; font-size: .84rem; font-weight: 800; }
.card-scope-links a.active, .card-scope-links a:hover { border-color: var(--green); background: #e9f0e9; color: var(--green-dark); }
.review-panel { margin-top: .5rem; padding: clamp(1.2rem, 4vw, 2rem); border: 1px solid var(--line); border-radius: 24px; background: var(--paper); }
.review-panel-head { display: flex; justify-content: space-between; align-items: start; gap: 1rem; border-bottom: 1px solid var(--line); padding-bottom: 1rem; }
.review-panel-head h2 { margin-bottom: 0; }
.review-panel-head > span { color: var(--green); font-weight: 800; }
.review-empty { padding: 2.5rem 0 1rem; text-align: center; }
.review-empty p { color: var(--muted); }
.flashcard { padding: clamp(1.5rem, 5vw, 3.5rem) 0 1rem; text-align: center; }
.flashcard > h2 { margin: .5rem auto; max-width: 800px; font-size: clamp(2rem, 6vw, 4rem); line-height: 1.05; overflow-wrap: anywhere; }
.card-context { margin: 0; color: var(--green); font-weight: 800; }
.card-source { color: var(--muted); font-size: .85rem; }
.reveal-button { margin-top: 2rem; }
.flashcard-answer { display: grid; gap: .75rem; max-width: 760px; margin: 2rem auto 0; text-align: left; }
.flashcard-answer > div { padding: 1rem 1.2rem; border-radius: 14px; background: #f5f6f1; }
.flashcard-answer span { color: var(--green); font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.flashcard-answer p { margin: .45rem 0 0; line-height: 1.6; }
.rating-actions { display: grid; grid-template-columns: repeat(4, 1fr); gap: .6rem; max-width: 760px; margin: 1.25rem auto 0; }
.rating-actions button { display: grid; gap: .2rem; padding: .8rem .5rem; border: 1px solid var(--line); border-radius: 12px; background: #fff; cursor: pointer; font-weight: 800; }
.rating-actions small { color: var(--muted); font-weight: 400; }
.rating-actions button:hover { border-color: var(--green); }
.rating-actions .rating-again { color: var(--danger); }
.inline-card-editor { max-width: 760px; margin: 1rem auto 0; text-align: left; }
.inline-card-editor > summary { width: fit-content; margin: 0 auto; color: var(--muted); cursor: pointer; font-size: .86rem; font-weight: 800; }
.inline-card-editor[open] { padding: 1rem; border: 1px solid var(--line); border-radius: 16px; background: #172029; }
.inline-card-editor[open] > summary { margin: 0 0 .75rem; color: var(--green-dark); }
.inline-card-editor .field { margin-top: .8rem; }
.inline-card-editor .full { margin-top: 1rem; }
.flashcard-manage-layout { display: grid; grid-template-columns: 1fr; gap: .75rem; margin-top: 1rem; align-items: start; }
.card-editor, .card-list-panel { padding: 0; border-radius: 16px; }
.card-list { display: grid; gap: .6rem; }
.card-list article { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .85rem; border: 1px solid var(--line); border-radius: 12px; }
.card-list article div { min-width: 0; }
.card-list strong, .card-list small { display: block; overflow-wrap: anywhere; }
.card-list small { margin-top: .3rem; color: var(--muted); }
.learned-badge { display: inline-block; margin-top: .35rem; padding: .2rem .45rem; border-radius: 999px; background: #e3eee5; color: var(--green-dark); font-size: .72rem; font-weight: 850; text-transform: uppercase; letter-spacing: .04em; }
.card-list button { padding: 0; border: 0; background: transparent; color: var(--danger); cursor: pointer; font-weight: 700; }
.card-list-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .65rem; }
.card-list-actions a { color: var(--green); font-size: .86rem; font-weight: 800; }
.card-list-actions form { margin: 0; }
.cancel-edit-link { display: block; margin-top: .8rem; color: var(--muted); text-align: center; font-weight: 700; }
.all-cards-hint { margin: 1rem 0 0; color: var(--muted); font-size: .82rem; line-height: 1.45; }
.paragraph-note-filters { display: grid; grid-template-columns: repeat(3, minmax(150px, 1fr)) minmax(220px, 1.3fr) auto auto; align-items: end; gap: .75rem; padding: 1rem; border: 1px solid var(--line); border-radius: 18px; background: var(--paper); }
.paragraph-note-filters .field { margin: 0; }
.paragraph-note-filters .button { min-height: 45px; }
.paragraph-results-heading { margin-top: 2rem; }
.paragraph-overview-list { display: grid; gap: .8rem; }
.paragraph-overview-card { padding: 1.2rem; border: 1px solid var(--line); border-left: 4px solid #aeb8af; border-radius: 14px; background: var(--paper); }
.paragraph-overview-card.status-review { border-left-color: #d69a4d; }
.paragraph-overview-card.status-understood { border-left-color: #86ad93; }
.paragraph-overview-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .8rem; color: var(--muted); font-size: .8rem; font-weight: 700; }
.paragraph-overview-meta span:first-child { color: var(--green); }
.paragraph-status-badge { padding: .2rem .45rem; border-radius: 999px; font-size: .7rem; text-transform: uppercase; letter-spacing: .04em; }
.paragraph-status-badge.status-review { background: #fff0d8; color: #805016; }
.paragraph-status-badge.status-understood { background: #e5f0e8; color: var(--green-dark); }
.paragraph-excerpt { margin: .8rem 0 0; color: var(--muted); line-height: 1.6; }
.paragraph-saved-note { margin-top: .8rem; padding: .85rem 1rem; border-radius: 10px; background: #f1f5ee; line-height: 1.6; }
.paragraph-empty { border: 1px solid var(--line); border-radius: 18px; background: var(--paper); }
.unit-list { display: grid; gap: .9rem; }
.unit-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 1.5rem; padding: 1.4rem; background: var(--paper); border: 1px solid var(--line); border-left: 5px solid #c8cec7; border-radius: 16px; }
.unit-row.status-in_progress { border-left-color: #cc8a2e; }
.unit-row.status-review { border-left-color: #8265aa; }
.unit-row.status-completed { border-left-color: var(--green); }
.unit-copy h2 { margin: .25rem 0; font-size: 1.2rem; }
.unit-copy p { margin: .35rem 0 0; color: var(--muted); }
.pilot-start-card { padding: clamp(1.2rem, 4vw, 2rem); border: 1px solid var(--line); border-radius: 20px; background: var(--paper); }
.pilot-start-card p { max-width: 760px; color: var(--muted); line-height: 1.65; }
.pilot-run-tabs { display: flex; gap: .5rem; margin-bottom: 1rem; }
.pilot-run-tabs a { padding: .55rem .9rem; border: 1px solid var(--line); border-radius: 999px; background: var(--paper); color: var(--muted); font-size: .8rem; font-weight: 850; text-decoration: none; }
.pilot-run-tabs a.active { border-color: var(--green); background: #e8f1e9; color: var(--green-dark); }
.pilot-comparison-table { margin-bottom: 1rem; overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: var(--paper); }
.summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1rem; }
.summary-grid h2 { margin: .2rem 0 0; font-size: clamp(1.6rem, 4vw, 2.4rem); }
.action-log-table { overflow-x: auto; }
.action-log-table table { width: 100%; border-collapse: collapse; min-width: 760px; }
.action-log-table th,
.action-log-table td { padding: .85rem .75rem; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.action-log-table th { color: var(--muted); font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; }
.action-log-table code { color: var(--ink); font-size: .82rem; overflow-wrap: anywhere; }
.status-pill { display: inline-flex; min-width: 3.2rem; justify-content: center; border: 1px solid var(--line); border-radius: 999px; padding: .25rem .55rem; font-weight: 850; }
.status-pill.is-ok { border-color: #1583bd66; background: #1583bd24; color: var(--green-dark); }
.status-pill.is-error { border-color: #d96b6b66; background: #d96b6b1f; color: #ef9a9a; }
.pilot-comparison-row { display: grid; grid-template-columns: minmax(180px, 1fr) repeat(2, minmax(80px, .35fr)); gap: .75rem; padding: .7rem 1rem; border-top: 1px solid var(--line); }
.pilot-comparison-row:first-child { border-top: 0; }
.pilot-comparison-row span { color: var(--muted); font-size: .8rem; }
.pilot-comparison-row strong { text-align: center; }
.pilot-comparison-head { background: #f2f4ef; }
.pilot-comparison-wide { grid-column: 2 / -1; }
.pilot-metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: .75rem; }
.pilot-metrics article { display: grid; gap: .3rem; min-height: 130px; padding: 1rem; border: 1px solid var(--line); border-radius: 16px; background: var(--paper); }
.pilot-metrics article.metric-pass { border-color: #8bb396; background: #f1f8f2; }
.pilot-metrics span { color: var(--muted); font-size: .78rem; font-weight: 800; line-height: 1.35; }
.pilot-metrics strong { margin-top: auto; font-size: 1.8rem; }
.pilot-metrics small { color: var(--muted); }
.pilot-rating-guide { margin: .7rem 0 1rem; color: var(--muted); font-size: .8rem; line-height: 1.55; }
.pilot-run-summary { display: flex; flex-wrap: wrap; gap: .45rem; margin: 1rem 0; }
.pilot-run-summary span { padding: .4rem .65rem; border-radius: 999px; background: #e8ede6; color: var(--muted); font-size: .76rem; font-weight: 750; }
.pilot-merge-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: .8rem; margin: 1.25rem 0; padding: 1rem; border: 1px solid #b7cbbd; border-radius: 16px; background: #f5faf6; }
.pilot-merge-form .field { margin: 0; }
.pilot-unit-list { display: grid; gap: .75rem; }
.pilot-unit { scroll-margin-top: 5.5rem; overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: var(--paper); }
.pilot-unit > summary { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .8rem; padding: 1rem 1.1rem; cursor: pointer; list-style: none; }
.pilot-unit > summary::-webkit-details-marker { display: none; }
.pilot-unit > summary span { display: grid; gap: .25rem; }
.pilot-unit > summary strong { overflow-wrap: anywhere; }
.pilot-unit > summary small { color: var(--muted); font-size: .76rem; }
.pilot-unit > summary input { width: 1.1rem; height: 1.1rem; accent-color: var(--green); }
.pilot-status { padding: .3rem .5rem; border-radius: 999px; color: var(--muted); background: #eef0eb; font-size: .7rem; font-style: normal; font-weight: 850; white-space: nowrap; }
.pilot-status.status-approved { background: #e2f0e5; color: var(--green-dark); }
.pilot-status.status-archived { background: #eee; color: #777; }
.pilot-unit-archived { opacity: .65; }
.pilot-unit-content { display: grid; gap: 1rem; padding: 1.1rem; border-top: 1px solid var(--line); }
.pilot-rating-form { display: grid; grid-template-columns: 1fr; gap: .75rem; padding: .9rem; border: 1px solid #bfd1c4; border-radius: 12px; background: #f5faf6; }
.pilot-rating-form fieldset { display: grid; gap: .55rem; margin: 0; padding: .75rem; border: 1px solid #d8e5da; border-radius: 10px; background: #fff; }
.pilot-rating-form legend { margin-bottom: .35rem; color: var(--muted); font-size: .72rem; font-weight: 800; }
.pilot-rating-form .form-hint { margin: 0; color: var(--muted); font-size: .76rem; }
.pilot-rating-status { display: flex; flex-wrap: wrap; gap: .55rem 1rem; font-size: .8rem; }
.pilot-rating-status label { display: inline-flex; align-items: center; gap: .35rem; }
.pilot-rating-scale { display: flex; gap: .3rem; }
.pilot-rating-scale label { cursor: pointer; }
.pilot-rating-scale input { position: absolute; opacity: 0; pointer-events: none; }
.pilot-rating-scale span { display: grid; width: 2rem; height: 2rem; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: #fff; color: var(--muted); font-size: .8rem; font-weight: 850; }
.pilot-rating-scale input:checked + span { border-color: var(--green); background: var(--green); color: #fff; }
.pilot-rating-scale input:focus-visible + span { outline: 3px solid #6ba5843b; }
.pilot-rating-form select, .pilot-rating-form input[type="text"] { width: 100%; padding: .65rem .7rem; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.pilot-rating-form .button { justify-self: start; padding: .7rem .8rem; }
.pilot-rating-status:has(input[value="cannot_assess"]:checked) + .pilot-rating-scale,
.pilot-rating-form fieldset:has(select[name="professional_status"] option:not([value="rated"]):checked) .pilot-rating-scale { opacity: .35; }
.pilot-sources { display: flex; flex-wrap: wrap; gap: .5rem; }
.pilot-sources .status-label { width: 100%; }
.pilot-sources a { display: inline-flex; gap: .4rem; padding: .45rem .65rem; border: 1px solid var(--line); border-radius: 9px; color: var(--green); font-size: .76rem; font-weight: 750; text-decoration: none; }
.pilot-sources a small { color: var(--muted); }
.pilot-edit-form { display: grid; gap: .6rem; }
.pilot-edit-form .field { margin: 0; }
.pilot-edit-form .button { justify-self: start; }
.pilot-unit-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem; }
.pilot-unit-actions form { margin: 0; }
.pilot-study-launch { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem; border: 1px solid #9fc6ad; border-radius: 12px; background: #edf7f0; }
.pilot-study-launch div { display: grid; gap: .25rem; }
.pilot-study-launch span { color: var(--muted); font-size: .82rem; }
.manual-book-page { width: min(100%, 1180px); margin: 0 auto; }
.manual-book-hero { margin-bottom: 1.4rem; }
.manual-book-hero h1 { max-width: 900px; }
.manual-book-layout { display: grid; grid-template-columns: minmax(250px, .72fr) minmax(0, 2.15fr); align-items: start; gap: 1rem; }
.manual-book-menu { position: sticky; top: 5.7rem; display: grid; gap: .85rem; max-height: calc(100vh - 7rem); overflow: auto; padding: 1rem; border: 1px solid var(--line); border-radius: 16px; background: var(--paper); }
.manual-book-menu-title { display: flex; justify-content: space-between; gap: .5rem; }
.manual-book-menu-title span { color: var(--muted); font-size: .75rem; }
.manual-book-empty-menu { margin: 0; color: var(--muted); font-size: .82rem; line-height: 1.5; }
.manual-chapter-tree { display: grid; gap: .25rem; }
.manual-chapter-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .35rem; border-radius: 9px; padding: .25rem; }
.manual-chapter-row.depth-1 { margin-left: 1rem; }
.manual-chapter-row.active { background: #e9f2eb; }
.manual-chapter-row > a { min-width: 0; overflow-wrap: anywhere; padding: .4rem; font-size: .82rem; font-weight: 780; text-decoration: none; }
.manual-chapter-row.depth-1 > a { color: var(--muted); font-weight: 700; }
.manual-tree-actions { display: flex; }
.manual-tree-actions form { display: flex; margin: 0; }
.manual-tree-actions button, .manual-block-actions button { border: 0; padding: .25rem .3rem; background: transparent; color: var(--muted); cursor: pointer; }
.manual-tree-actions button:hover, .manual-block-actions button:hover { color: var(--green); }
.manual-tree-actions .danger:hover, .manual-block-actions .danger:hover { color: var(--danger); }
.manual-chapter-create { border-top: 1px solid var(--line); padding-top: .75rem; }
.manual-chapter-create > summary, .manual-block-create > summary { font-weight: 850; cursor: pointer; }
.manual-chapter-create form, .manual-block-create form, .manual-block-edit form { display: grid; gap: .7rem; margin-top: .7rem; }
.manual-chapter-create label, .manual-block-create label, .manual-block-edit label { display: grid; gap: .35rem; color: var(--muted); font-size: .76rem; font-weight: 750; }
.manual-chapter-create input, .manual-chapter-create select,
.manual-block-create input, .manual-block-create select, .manual-block-create textarea,
.manual-block-edit input, .manual-block-edit select, .manual-block-edit textarea { width: 100%; border: 1px solid var(--line); border-radius: 9px; padding: .65rem; background: #fff; color: var(--ink); }
.manual-book-editor { display: grid; gap: 1rem; min-width: 0; }
.manual-book-welcome { padding: 2rem; border: 1px dashed #abb8ad; border-radius: 18px; background: #fafbf7; }
.manual-book-welcome h2 { margin-bottom: .5rem; }
.manual-book-welcome p:last-child { color: var(--muted); line-height: 1.6; }
.manual-chapter-meta { display: grid; gap: 1rem; padding: 1.25rem; border: 1px solid var(--line); border-radius: 18px; background: var(--paper); }
.manual-chapter-meta .field { margin: 0; }
.manual-objective-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.manual-objective-grid label { display: grid; gap: .35rem; color: var(--muted); font-size: .78rem; font-weight: 800; }
.manual-objective-grid textarea { width: 100%; border: 1px solid var(--line); border-radius: 10px; padding: .7rem; background: #fff; line-height: 1.5; resize: vertical; }
.manual-chapter-meta > .button { justify-self: start; }
.manual-block-list { display: grid; gap: .8rem; }
.manual-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin: 1rem 0 .1rem; }
.manual-section-heading h2 { margin: 0; }
.manual-section-heading span { color: var(--muted); font-size: .8rem; }
.manual-book-empty-blocks { margin: 0; padding: 1.2rem; border: 1px dashed #b6c1b8; border-radius: 14px; color: var(--muted); }
.manual-content-block { scroll-margin-top: 6rem; padding: 1.1rem; border: 1px solid var(--line); border-left: 5px solid #9ba89d; border-radius: 14px; background: var(--paper); }
.manual-content-block > header { display: flex; align-items: center; justify-content: space-between; gap: .7rem; margin-bottom: .75rem; }
.manual-content-block > header > span { border-radius: 999px; padding: .3rem .55rem; background: #edf0eb; color: var(--muted); font-size: .68rem; font-weight: 850; text-transform: uppercase; letter-spacing: .04em; }
.manual-block-actions { display: flex; align-items: center; }
.manual-block-actions form { display: flex; margin: 0; }
.manual-block-actions .danger { padding-left: .55rem; font-size: .72rem; }
.manual-block-copy { font-size: 1.02rem; line-height: 1.75; }
.manual-content-block img { display: block; width: auto; max-width: 100%; max-height: 680px; margin: .5rem auto 1rem; border-radius: 8px; }
.manual-source-link { display: inline-block; margin-top: .75rem; color: var(--green); font-size: .75rem; font-weight: 800; text-decoration: none; }
.manual-block-edit { margin-top: .8rem; border-top: 1px solid var(--line); padding-top: .65rem; }
.manual-block-edit > summary { width: fit-content; color: var(--muted); font-size: .75rem; font-weight: 800; cursor: pointer; }
.manual-source-fields { display: grid; grid-template-columns: minmax(0, 1fr) 130px; gap: .65rem; }
.manual-block-create { padding: 1.2rem; border: 1px solid #a9beaF; border-radius: 16px; background: #f4f9f4; }
.manual-block-create label > span { font-weight: 400; }
.manual-content-block.block-source { border-left-color: #4d765d; }
.manual-content-block.block-note { border-left-color: #5c84a8; background: #f7fbfe; }
.manual-content-block.block-concept { border-left-color: #3e8b7b; background: #f3fbf9; }
.manual-content-block.block-example { border-left-color: #6b83ad; background: #f5f8fc; }
.manual-content-block.block-image { border-left-color: #7c6b9e; }
.manual-content-block.block-question { border-left-color: #b4863d; background: #fff9ee; }
.manual-content-block.block-exam_trap { border-left-color: #b74e45; background: #fff3f1; }
.manual-content-block.block-anki_candidate { border-left-color: #3d7d62; background: #eff8f2; }
.card-manual-source { margin: .5rem 0; border-radius: 9px; padding: .6rem .7rem; background: #eef6f0; color: var(--green-dark); font-size: .8rem; }
.textbook-page { width: min(100%, 1120px); margin: 0 auto; }
.textbook-hero { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
.textbook-hero h1 { max-width: 880px; font-size: clamp(2.25rem, 6vw, 4.5rem); }
.textbook-layout { display: grid; grid-template-columns: minmax(210px, .62fr) minmax(0, 2.2fr); align-items: start; gap: 1rem; }
.textbook-navigation { position: sticky; top: 5.7rem; max-height: calc(100vh - 7rem); overflow: auto; padding: 1rem; border: 1px solid var(--line); border-radius: 16px; background: var(--paper); }
.textbook-navigation > strong { display: block; margin-bottom: .65rem; font-size: .82rem; }
.textbook-navigation nav { display: grid; }
.textbook-navigation nav a { padding: .42rem .3rem; border-left: 2px solid transparent; color: var(--muted); font-size: .76rem; line-height: 1.35; text-decoration: none; }
.textbook-navigation nav a:hover { border-left-color: var(--green); color: var(--green); }
.textbook-navigation .toc-level-2 { padding-left: .8rem; }
.textbook-navigation .toc-level-3 { padding-left: 1.3rem; }
.textbook-navigation .toc-level-4, .textbook-navigation .toc-level-5 { padding-left: 1.8rem; }
.textbook-pdf-link { display: block; margin-top: .8rem; padding-top: .8rem; border-top: 1px solid var(--line); color: var(--green); font-size: .78rem; font-weight: 800; text-decoration: none; }
.textbook-content { min-width: 0; padding: clamp(1rem, 3vw, 2.2rem); border: 1px solid var(--line); border-radius: 20px; background: var(--paper); }
.textbook-page-marker { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin: 2.2rem 0 1rem; padding: .55rem .7rem; border-top: 1px solid #ccd5cc; color: var(--muted); font-size: .72rem; }
.textbook-page-marker:first-child { margin-top: 0; }
.textbook-page-marker a { font-weight: 750; text-decoration: none; }
.textbook-page-marker form { margin: 0; }
.textbook-page-marker button { border: 1px solid #a9b9ab; border-radius: 999px; padding: .35rem .6rem; background: #f7faf6; color: var(--green-dark); font-size: .72rem; font-weight: 800; cursor: pointer; }
.textbook-block { scroll-margin-top: 6rem; padding: .8rem .35rem 1.1rem; border-bottom: 1px solid #e7e9e4; }
.textbook-block:last-child { border-bottom: 0; }
.textbook-heading { margin: 0 0 .7rem; color: var(--green-dark); line-height: 1.35; }
h2.textbook-heading { font-size: 1.65rem; }
h3.textbook-heading { font-size: 1.35rem; }
h4.textbook-heading, h5.textbook-heading { font-size: 1.12rem; }
.textbook-paragraph { font-size: 1.02rem; line-height: 1.82; white-space: pre-wrap; }
.textbook-role-label { display: inline-flex; margin-bottom: .6rem; border-radius: 999px; padding: .28rem .55rem; background: #e7eee8; color: var(--green-dark); font-size: .68rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.textbook-role-questions { margin: 1rem 0; padding: 1.1rem; border: 2px solid #7ba68a; border-radius: 14px; background: #f0f8f2; }
.textbook-role-questions + .textbook-role-questions { margin-top: -.55rem; border-top-style: dashed; }
.textbook-role-example { margin: 1rem 0; padding: 1rem; border-left: 4px solid #5d83a8; background: #f1f6fa; }
.textbook-role-exercise { margin: 1rem 0; padding: 1rem; border-left: 4px solid #b9863d; background: #fff7e9; }
.textbook-role-solution { margin: 1rem 0; padding: 1rem; border-left: 4px solid #7d6a9e; background: #f6f2fb; }
.textbook-role-summary { margin: 1rem 0; padding: 1rem; border: 1px solid #9db7a4; border-radius: 12px; background: #f5faf5; }
.textbook-note { margin-top: .75rem; }
.textbook-note > summary { width: fit-content; color: var(--green); font-size: .76rem; font-weight: 800; cursor: pointer; }
.textbook-note form { display: grid; gap: .55rem; margin-top: .55rem; padding: .75rem; border-radius: 12px; background: #f7f8f4; }
.textbook-note textarea { width: 100%; padding: .75rem; border: 1px solid var(--line); border-radius: 10px; background: #fff; line-height: 1.5; resize: vertical; }
.textbook-note .button { justify-self: start; padding: .6rem .8rem; }
.study-unit-page { width: min(100%, 1040px); margin: 0 auto; }
.study-unit-hero { margin-bottom: 1.5rem; }
.study-unit-hero h1 { max-width: 900px; font-size: clamp(2.2rem, 6vw, 4.4rem); }
.study-saved-state { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 1rem; margin-top: 1rem; padding: .85rem 1rem; border-radius: 12px; background: #e5f2e8; color: var(--green-dark); }
.study-saved-state span { color: var(--muted); font-size: .85rem; }
.study-objective { margin: 1.5rem 0; padding: 1.35rem 1.5rem; border-left: 5px solid var(--green); border-radius: 14px; background: #e9f0e9; }
.study-objective h2 { max-width: 850px; margin: 0; font-size: clamp(1.2rem, 3vw, 1.65rem); line-height: 1.45; }
.study-round-form { display: grid; gap: 2rem; }
.study-workspace { display: grid; grid-template-columns: minmax(0, 2.15fr) minmax(260px, .85fr); align-items: start; gap: 1rem; }
.study-reading { padding: clamp(1.1rem, 3vw, 2rem); border: 1px solid var(--line); border-radius: 20px; background: var(--paper); }
.study-section-heading { margin-bottom: 1.5rem; padding-bottom: 1rem; border-bottom: 1px solid var(--line); }
.study-section-heading h2 { margin: 0; }
.study-paragraph + .study-paragraph { margin-top: 1.35rem; }
.study-paragraph h3 { margin: 0 0 .65rem; color: var(--green-dark); font-size: 1.15rem; line-height: 1.4; }
.study-paragraph p { margin: 0; font-size: 1.02rem; line-height: 1.78; }
.study-source-marker { display: inline-block; margin-bottom: .6rem; color: var(--muted); font-size: .7rem; font-weight: 750; text-decoration: none; }
.study-source-marker:hover { color: var(--green); }
.study-notes { position: sticky; top: 5.8rem; display: grid; gap: .55rem; padding: 1.15rem; border: 1px solid #c8d7ca; border-radius: 16px; background: #f8fbf6; }
.study-notes label { font-weight: 850; }
.study-notes p { margin: 0; color: var(--muted); font-size: .82rem; line-height: 1.45; }
.study-notes textarea, .study-question textarea { width: 100%; padding: .85rem; border: 1px solid var(--line); border-radius: 11px; background: #fff; line-height: 1.55; resize: vertical; }
.study-notes textarea:focus, .study-question textarea:focus { outline: 3px solid #6ba5843b; border-color: var(--green); }
.study-questions { display: grid; gap: 1rem; padding: clamp(1.2rem, 3vw, 2rem); border: 1px solid var(--line); border-radius: 20px; background: var(--paper); }
.study-questions h2, .study-questions .lead { margin-bottom: 0; }
.study-question { display: grid; gap: .55rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.study-question label { display: flex; align-items: start; gap: .65rem; font-weight: 800; line-height: 1.45; }
.study-question label span { flex: 0 0 1.7rem; display: grid; height: 1.7rem; place-items: center; border-radius: 50%; background: var(--green); color: #fff; font-size: .78rem; }
.study-comprehension { display: grid; grid-template-columns: repeat(3, 1fr); gap: .65rem; margin: 0; padding: 1.25rem; border: 1px solid var(--line); border-radius: 16px; background: var(--paper); }
.study-comprehension legend { padding: 0 .4rem; font-weight: 850; }
.study-comprehension label { cursor: pointer; }
.study-comprehension input { position: absolute; opacity: 0; pointer-events: none; }
.study-comprehension span { display: grid; min-height: 64px; place-items: center; padding: .75rem; border: 2px solid var(--line); border-radius: 12px; background: #fff; font-weight: 850; text-align: center; }
.study-comprehension input:checked + span { border-color: var(--green); background: #e4f1e7; color: var(--green-dark); }
.study-comprehension .comprehension-partial input:checked + span { border-color: #b9863d; background: #fff5e5; color: #79551f; }
.study-comprehension .comprehension-not_understood input:checked + span { border-color: #b65a51; background: #fff0ee; color: #8a352e; }
.study-comprehension input:focus-visible + span { outline: 3px solid #6ba5843b; }
.study-save-button { justify-self: end; padding: 1rem 1.4rem; }
.pilot-danger-action { padding: .6rem .75rem; border: 0; background: transparent; color: var(--danger); cursor: pointer; font-weight: 750; }
.pilot-split-panel { padding-top: .5rem; border-top: 1px solid var(--line); }
.pilot-split-panel > summary { width: fit-content; color: var(--muted); cursor: pointer; font-size: .8rem; font-weight: 800; }
.pilot-split-panel form { display: grid; grid-template-columns: 180px minmax(0, 1fr) auto; align-items: end; gap: .7rem; margin-top: .7rem; }
.pilot-split-panel .field { margin: 0; }
.status-label { color: var(--muted); font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.status-actions { display: flex; flex-wrap: wrap; justify-content: end; gap: .45rem; max-width: 390px; }
.status-actions button { border: 1px solid var(--line); border-radius: 9px; padding: .55rem .7rem; background: #fff; cursor: pointer; }
.status-actions button:hover { border-color: var(--green); color: var(--green); }
.status-actions .muted-action { color: var(--muted); border-style: dashed; }
@media (max-width: 760px) {
    .a1-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .a1-progress-layout { grid-template-columns: 1fr; }
    .a1-progress-hero { align-items: stretch; }
    .dashboard-grid { grid-template-columns: 1fr; }
    .home-dashboard { grid-template-columns: 1fr; }
    .home-hero { align-items: start; }
    .home-hero-actions { justify-content: flex-start; width: 100%; }
    .home-hero-actions .button { width: 100%; }
    .home-command-grid { grid-template-columns: 1fr; }
    .memory-home-panel { grid-row: auto; }
    .dashboard-head { align-items: start; flex-direction: column; }
    .header-row { align-items: center; }
    .header-actions { justify-content: flex-end; flex-wrap: wrap; }
    .header-actions .button { padding: .65rem .75rem; }
    .header-link { padding: .65rem .75rem; }
    .subject-grid { grid-template-columns: 1fr; }
    .subject-card { grid-template-columns: 1fr; gap: .65rem; }
    .subject-card > .subject-link { margin-top: .15rem; }
    .curriculum-group > summary { grid-template-columns: minmax(0, 1fr) auto; }
    .curriculum-group > summary small { grid-column: 1; }
    .curriculum-group > summary::after { grid-column: 2; grid-row: 1 / span 2; }
    .curriculum-drawer > summary { grid-template-columns: minmax(0, 1fr) auto; }
    .curriculum-drawer > summary::after { grid-column: 2; grid-row: 1 / span 2; }
    .drawer-meta { grid-column: 1; }
    .document-item { align-items: flex-start; flex-direction: column; }
    .document-status { align-self: flex-start; }
    .rename-document form { align-items: stretch; flex-direction: column; }
    .notes-layout { grid-template-columns: 1fr; }
    .reader-heading { align-items: start; flex-direction: column; }
    .reader-layout { grid-template-columns: 1fr; }
    .reader-search { position: static; }
    .toc-list { max-height: 44vh; }
    .reader-toolbar { grid-template-columns: 1fr; text-align: center; }
    .reader-toolbar > :last-child { justify-self: stretch; }
    .reader-toolbar .button { width: 100%; }
    .selection-tray { align-items: stretch; flex-wrap: wrap; }
    .selection-tray > span { width: 100%; flex-basis: calc(100% - 2.5rem); }
    .known-card-menu { grid-template-columns: 1fr; }
    .known-card-menu > div { grid-column: 1; grid-row: auto; flex-wrap: wrap; margin-top: .5rem; }
    .paragraph-note-filters { grid-template-columns: 1fr; }
    .paragraph-actions > span { width: 100%; margin-bottom: .2rem; }
    .rating-actions { grid-template-columns: repeat(2, 1fr); }
    .flashcard-manage-layout { grid-template-columns: 1fr; }
    .note-anchor-grid { grid-template-columns: 1fr; }
    .unit-row { grid-template-columns: 1fr; }
    .status-actions { justify-content: start; max-width: none; }
    .pilot-metrics { grid-template-columns: repeat(2, 1fr); }
    .pilot-rating-form { grid-template-columns: 1fr; }
    .pilot-comparison-row { grid-template-columns: minmax(120px, 1fr) repeat(2, minmax(55px, .4fr)); padding: .65rem; }
    .pilot-merge-form, .pilot-split-panel form { grid-template-columns: 1fr; }
    .pilot-unit > summary { grid-template-columns: auto minmax(0, 1fr); }
    .pilot-status { grid-column: 2; justify-self: start; }
    .pilot-study-launch { align-items: stretch; flex-direction: column; }
    .manual-book-layout { grid-template-columns: 1fr; }
    .manual-book-menu { position: static; max-height: none; }
    .manual-objective-grid, .manual-source-fields { grid-template-columns: 1fr; }
    .textbook-hero { align-items: start; flex-direction: column; }
    .textbook-layout { grid-template-columns: 1fr; }
    .textbook-navigation { position: static; max-height: none; }
    .textbook-navigation nav { max-height: 240px; overflow: auto; }
    .textbook-content { padding: 1rem; }
    .study-workspace { grid-template-columns: 1fr; }
    .study-notes { position: static; }
    .study-comprehension { grid-template-columns: 1fr; }
    .study-save-button { width: 100%; justify-self: stretch; }
}

@media (max-width: 520px) {
    .site-header { position: static; }
    .header-row { align-items: flex-start; flex-wrap: wrap; }
    .header-actions[data-simple-view="a1"] { width: 100%; justify-content: flex-start; }
    .a1-stat-grid { grid-template-columns: 1fr; }
    .a1-word-row { flex-direction: column; }
    .a1-word-meta { display: flex; justify-content: space-between; gap: 1rem; text-align: left; }
}
