@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600;9..144,700&family=Inter:wght@400;500;600;700;800&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eef4f7;--surface:#fff;--surface-muted:#f8fafc;--surface-strong:#f1f7fb;--border:#d8e1ea;--text:#1f2937;--muted:#64748b;--title:#0f172a;--accent:#2563eb;--accent-strong:#1d4ed8;--accent-soft:#dbeafe;--success:#047857;--success-soft:#d1fae5;--danger:#b91c1c;--danger-soft:#fee2e2;--warning:#a16207;--warning-soft:#fef3c7;--shadow:0 8px 24px #0f172a14;--radius:8px}*{box-sizing:border-box}html{background:linear-gradient(180deg, #f8fafc 0%, var(--bg) 100%)}body{min-height:100vh;color:var(--text);margin:0;font-family:Inter,system-ui,sans-serif}button,input,select,textarea{font:inherit}button:disabled{cursor:not-allowed;opacity:.48}a{color:inherit;text-decoration:none}[hidden]{display:none!important}#app{min-height:100vh}.page-shell{width:min(1180px,100% - 24px);margin:0 auto;padding:12px 0 24px}.app-header{z-index:20;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;display:flex;position:sticky;top:8px}.brand-block{gap:4px;min-width:0;display:grid}.brand-block h1{color:var(--title);margin:0;font-family:Fraunces,Georgia,serif;font-size:1.45rem;line-height:1.1}.eyebrow{color:var(--accent-strong);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:800}.header-tools{grid-template-columns:minmax(180px,auto) minmax(190px,280px);align-items:end;gap:12px;width:min(560px,100%);display:grid}.control-block{align-content:start;gap:6px;display:grid}.control-block span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:800}.control-block select,.control-block input,.control-block textarea{border:1px solid var(--border);background:var(--surface);width:100%;min-height:40px;color:var(--title);border-radius:var(--radius);outline:none;padding:9px 11px;transition:border-color .14s,box-shadow .14s}.control-block input:focus,.control-block select:focus,.control-block textarea:focus{border-color:#2563eb8c;box-shadow:0 0 0 3px #2563eb24}.control-block textarea{resize:vertical;line-height:1.45}.hero-grade-picker select{font-size:1rem;font-weight:800}.account-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-muted);justify-content:space-between;align-items:center;gap:10px;min-height:40px;padding:8px 10px;display:flex}.account-panel-authenticated{align-items:flex-start}.account-panel-authenticated>div{gap:2px;display:grid}.account-panel strong{color:var(--title);font-size:.86rem;line-height:1.2}.account-source{color:var(--muted);font-size:.72rem;font-weight:700}.account-label{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:800}.login-form{gap:8px;width:100%;display:grid}.login-actions{align-items:center;gap:10px;display:flex}.form-error{color:var(--danger);margin:0;font-size:.82rem;font-weight:700}.form-success{color:var(--success);margin:0;font-size:.82rem;font-weight:800}.layout-grid{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:14px;min-width:0;margin-top:14px;display:grid}.content-stack,.sidebar-stack{grid-template-columns:minmax(0,1fr);gap:12px;min-width:0;display:grid}.sidebar-stack{position:sticky;top:86px}.panel,.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.panel{padding:14px}.admin-workspace{gap:12px;margin-top:14px;display:grid}.admin-heading{margin-bottom:0}.admin-menu-control{width:min(260px,100%)}.admin-question-grid{grid-template-columns:320px minmax(0,1fr);align-items:start;gap:12px;display:grid}.admin-question-shell{gap:10px;display:grid}.admin-focus-shell{border-radius:var(--radius);background:#fbfdff;border:1px solid #2563eb3d;gap:12px;min-width:0;padding:10px;display:grid}.admin-focus-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:10px;display:flex}.admin-focus-header h3{color:var(--title);margin:2px 0 0;font-size:1.05rem;line-height:1.2}.admin-focus-actions{justify-content:flex-end;align-items:end;gap:10px;min-width:min(420px,100%);display:flex}.admin-focus-book-select{width:min(280px,100%)}.admin-focus-grid{grid-template-columns:minmax(260px,.42fr) minmax(0,1fr);align-items:start;gap:12px;display:grid}.admin-summary-strip{min-height:40px;color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:.82rem;font-weight:800;display:flex}.admin-summary-strip strong{min-height:28px;color:var(--title);background:#eef2f7;border-radius:999px;align-items:center;padding:4px 9px;display:inline-flex}.admin-list-column,.admin-editor{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-muted);min-width:0;padding:10px}.admin-list-column,.admin-editor,.admin-curriculum-grid{gap:10px;display:grid}.admin-choice-editor{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);gap:10px;min-width:0;padding:10px;display:grid}.admin-choice-list{gap:8px;display:grid}.admin-choice-row{border-radius:var(--radius);background:var(--surface-muted);border:1px solid #e4eaf1;grid-template-columns:minmax(82px,auto) minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;padding:8px;display:grid}.admin-choice-row>input{border:1px solid var(--border);background:var(--surface);width:100%;min-width:0;min-height:38px;color:var(--title);border-radius:6px;padding:7px 9px}.admin-choice-row>input:focus{border-color:#2563eb8c;outline:none;box-shadow:0 0 0 3px #2563eb24}.admin-choice-radio{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:.76rem;font-weight:800;display:inline-flex}.admin-choice-radio input{accent-color:var(--accent);margin:0}.admin-choice-static{min-width:0;min-height:38px;color:var(--title);align-items:center;font-weight:800;display:flex}.admin-derived-answer{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:8px;font-size:.82rem;font-weight:800;display:flex}.admin-derived-answer strong{color:var(--title)}.admin-list-toolbar{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}.admin-search-field{min-width:0}.admin-list-summary{color:var(--muted);justify-content:space-between;align-items:baseline;gap:8px;font-size:.78rem;font-weight:800;display:flex}.admin-list-summary strong{color:var(--title);font-size:1.1rem}.admin-question-list{gap:6px;max-height:620px;padding-right:2px;display:grid;overflow:auto}.admin-question-row{text-align:left;background:var(--surface);width:100%;min-height:58px;color:var(--text);cursor:pointer;border:1px solid #e4eaf1;border-radius:6px;gap:4px;padding:8px;display:grid}.admin-question-row:hover,.admin-question-row-active{border-color:#2563eb6b;box-shadow:0 4px 12px #0f172a14}.admin-question-row>span:last-child{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.78rem;line-height:1.35;display:-webkit-box;overflow:hidden}.admin-question-row-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.admin-question-row-top strong{color:var(--title);font-size:.82rem}.admin-status{white-space:nowrap;border-radius:999px;align-items:center;min-height:22px;padding:3px 7px;font-size:.66rem;font-weight:800;display:inline-flex}.admin-status-unrated{background:var(--warning-soft);color:var(--warning)}.admin-status-published{background:var(--success-soft);color:var(--success)}.admin-status-archived{background:var(--danger-soft);color:var(--danger)}.admin-editor-heading{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.admin-editor-heading h3{color:var(--title);margin:0;font-size:1rem}.admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.admin-form-grid-compact{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-warning-grid{grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);align-items:end;gap:10px;display:grid}.admin-checkbox{min-height:40px;color:var(--title);align-items:center;gap:7px;font-size:.82rem;font-weight:800;display:inline-flex}.admin-checkbox input{accent-color:var(--accent);margin:0}.admin-action-row{grid-template-columns:minmax(0,1fr) auto auto;align-items:end;gap:10px;display:grid}.admin-reason-field{min-width:220px}.admin-curriculum-sections{gap:12px;display:grid}.admin-row-editor{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-muted);gap:10px;min-width:0;padding:10px;display:grid}.admin-section-header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.admin-section-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.admin-section-header h3{color:var(--title);margin:0;font-size:.98rem;line-height:1.2}.admin-row-list{gap:8px;display:grid}.admin-edit-row{border-radius:var(--radius);background:var(--surface);border:1px solid #e4eaf1;align-items:end;gap:8px;min-width:0;padding:8px;display:grid}.admin-edit-row-active{background:#f8fbff;border-color:#2563eb6b}.admin-selected-book{max-width:420px}.admin-book-row{grid-template-columns:minmax(150px,.5fr) minmax(220px,1fr) minmax(170px,.6fr) minmax(140px,.45fr) auto}.admin-section-row{grid-template-columns:minmax(260px,1fr) auto}.admin-focus-grid .admin-section-row{grid-template-columns:minmax(0,1fr);align-items:stretch}.admin-focus-grid .admin-section-row .admin-row-actions{justify-content:stretch}.admin-focus-grid .admin-section-row .mini-button{flex:72px}.admin-chapter-row{grid-template-columns:minmax(76px,.16fr) minmax(220px,1fr) minmax(190px,.7fr) auto}.admin-citation-editor{gap:10px;display:grid}.admin-citation-row{grid-template-columns:minmax(120px,.42fr) minmax(150px,.5fr) minmax(170px,.7fr) minmax(170px,.7fr) minmax(76px,.22fr) minmax(86px,.24fr) minmax(180px,1fr) auto}.admin-reference-row{grid-template-columns:minmax(170px,.9fr) minmax(220px,1fr) minmax(130px,.45fr) minmax(120px,.4fr) minmax(110px,.35fr) minmax(170px,.75fr) minmax(180px,1fr) auto}.admin-row-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.mini-button{border:1px solid var(--border);background:var(--surface);min-height:32px;color:var(--title);cursor:pointer;border-radius:6px;padding:5px 8px;font-size:.74rem;font-weight:800;transition:border-color .14s,box-shadow .14s,background-color .14s}.mini-button:hover:not(:disabled){border-color:#2563eb6b;box-shadow:0 4px 10px #0f172a14}.mini-button-danger{background:var(--danger-soft);color:var(--danger);border-color:#b91c1c38}.mini-button-primary{background:var(--accent-soft);color:var(--accent-strong);border-color:#2563eb52}.setup-panel{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.panel-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.setup-heading{margin-bottom:0}.panel-heading h2,.setup-header h3{color:var(--title);margin:0;font-size:1rem;line-height:1.2}.panel-heading-actions{justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:flex}.muted-chip{min-height:28px;color:var(--muted);white-space:nowrap;background:#eef2f7;border-radius:999px;align-items:center;padding:5px 9px;font-size:.74rem;font-weight:800;display:inline-flex}.muted-copy,.reference-card p,.question-meta,.answer-note{color:var(--muted);margin:0;line-height:1.45}.setup-grid{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:14px;display:grid}.setup-card{gap:10px;min-width:0;display:grid}#quiz-size{max-width:118px}.preset-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.preset-button,.start-session-button,.card-action-button,.nav-button{border:1px solid var(--border);background:var(--surface);min-height:40px;color:var(--title);border-radius:var(--radius);cursor:pointer;padding:8px 11px;font-weight:800;transition:border-color .14s,box-shadow .14s,background-color .14s}.preset-button:hover:not(:disabled),.start-session-button:hover:not(:disabled),.card-action-button:hover:not(:disabled),.nav-button:hover:not(:disabled){border-color:#2563eb6b;box-shadow:0 6px 16px #0f172a14}.preset-button-primary,.start-session-button,.nav-button-primary{border-color:var(--accent);background:var(--accent);color:#fff}.start-session-button-compact{min-height:34px;padding:6px 12px}.setup-footer{justify-content:flex-end;display:flex}.setup-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.setup-actions{flex-wrap:wrap;gap:10px;display:flex}.link-button{color:var(--accent-strong);cursor:pointer;background:0 0;border:0;padding:0;font-weight:800}.link-button:disabled{opacity:.45}.link-button-muted{color:var(--muted)}.chapters-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.chapter-group{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-muted);min-width:0;padding:8px}.chapter-group h4{color:var(--accent-strong);letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;font-size:.7rem;font-weight:800}.chapter-choice-list{gap:4px;display:grid}.chapter-choice{background:var(--surface);cursor:pointer;border:1px solid #e4eaf1;border-radius:6px;align-items:center;gap:7px;min-height:34px;padding:5px 7px;display:flex}.chapter-choice input{accent-color:var(--accent);flex:none;margin:0}.chapter-choice-text{grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:6px;min-width:0;display:grid}.chapter-choice strong{color:var(--title);font-size:.82rem}.chapter-choice-text span{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.stats-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.stat-card{justify-content:space-between;align-items:baseline;gap:10px;padding:10px 12px;display:flex}.stat-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:800;display:block}.stat-card strong{color:var(--title);font-size:1.25rem;line-height:1}.references-panel .panel-heading{margin-bottom:10px}.reference-list,.question-grid{gap:10px;display:grid}.reference-card{border-radius:var(--radius);background:var(--surface-muted);border:1px solid #e4eaf1;gap:4px;padding:10px;transition:border-color .14s,box-shadow .14s,background-color .14s;display:grid}.reference-card:hover{background:#fff;border-color:#2563eb66;box-shadow:0 6px 16px #0f172a14}.reference-card-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.reference-card strong{color:var(--title);line-height:1.25}.reference-card p{font-size:.84rem}.reference-card-tags{flex-wrap:wrap;gap:6px;display:flex}.reference-card-tags span{color:var(--muted);text-transform:uppercase;background:#fff;border:1px solid #dbe6f5;border-radius:999px;padding:2px 8px;font-size:.68rem;font-weight:800}.reference-tag{background:var(--accent-soft);color:var(--accent-strong);white-space:nowrap;border-radius:999px;align-items:center;padding:3px 7px;font-size:.68rem;font-weight:800;display:inline-flex}.reference-open{color:var(--accent-strong);font-size:.78rem;font-weight:800}.featured-panel{min-height:360px}.empty-state{text-align:center;border:1px dashed var(--border);border-radius:var(--radius);background:var(--surface-muted);align-content:center;justify-items:center;min-height:220px;padding:20px;display:grid}.empty-state strong{color:var(--title)}.session-progress{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-strong);gap:8px;padding:10px;display:grid}.session-progress-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.session-progress-top strong{color:var(--title)}.session-progress-top span{color:var(--muted);font-size:.86rem;font-weight:700}.progress-track{background:#dbe4ee;border-radius:999px;height:8px;overflow:hidden}.progress-track span{border-radius:inherit;background:linear-gradient(90deg, var(--accent), #0f766e);height:100%;transition:width .18s;display:block}.question-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);gap:12px;min-height:210px;padding:16px;display:grid}.question-card-top{flex-wrap:wrap;gap:7px;display:flex}.chip{border:1px solid var(--border);background:var(--surface-muted);min-height:28px;color:var(--title);border-radius:999px;align-items:center;padding:5px 9px;font-size:.74rem;font-weight:800;display:inline-flex}.chip-soft{background:var(--accent-soft);color:var(--accent-strong);border-color:#2563eb33}.chip-easy{background:var(--success-soft);color:var(--success);border-color:#0478572e}.chip-medium{background:var(--warning-soft);color:var(--warning);border-color:#a1620733}.chip-hard{background:var(--danger-soft);color:var(--danger);border-color:#b91c1c2e}.question-card h3{color:var(--title);margin:0;font-size:1.12rem;line-height:1.45}.question-meta{flex-wrap:wrap;gap:8px;font-size:.84rem;display:flex}.option-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.option-list li{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-muted);color:var(--text);padding:9px 11px;line-height:1.35}.card-action-button{width:fit-content}.card-action-button-primary{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.self-assess-row{flex-wrap:wrap;gap:8px;display:flex}.card-action-button-good{background:var(--success-soft);color:var(--success);border-color:#04785740}.card-action-button-bad{background:var(--danger-soft);color:var(--danger);border-color:#b91c1c40}.answer-block{border-top:1px solid var(--border);padding-top:12px}.answer-label{color:var(--accent-strong);letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px;font-size:.72rem;font-weight:800;display:inline-flex}.answer-open p{margin:0}.answer-note{margin-top:8px}.citation-list{border-top:1px solid var(--border);gap:4px;padding-top:10px;display:grid}.citation-list .answer-note{margin:0}.public-review-summary{gap:10px;padding-top:4px;display:grid}.public-review-summary section{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-muted);gap:6px;padding:10px;display:grid}.public-review-summary .answer-note{margin:0}.question-nav{grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;display:grid}.question-nav .nav-button:last-child{justify-self:stretch}.question-position{color:var(--muted);white-space:nowrap;font-size:.86rem;font-weight:800}.error-state{text-align:center;place-items:center;min-height:100vh;padding:24px;display:grid}.error-state h1{color:var(--title);margin:0 0 12px;font-family:Fraunces,Georgia,serif;font-size:2.5rem}.error-state p{max-width:60ch;color:var(--muted)}@media (width<=1024px){.layout-grid{grid-template-columns:1fr}.admin-question-grid{grid-template-columns:minmax(260px,.42fr) minmax(0,1fr)}.admin-focus-grid{grid-template-columns:1fr}.admin-book-row,.admin-section-row,.admin-chapter-row,.admin-citation-row,.admin-reference-row{grid-template-columns:minmax(90px,.3fr) minmax(180px,1fr)}.admin-reference-url,.admin-reference-description,.admin-row-actions{grid-column:1/-1}.admin-focus-actions{min-width:0}.sidebar-stack{position:static}.reference-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=720px){.page-shell{width:calc(100% - 12px);padding:6px 0 16px}.app-header{gap:10px;padding:10px;display:grid;position:static}.brand-block h1{font-size:1.2rem}.eyebrow{font-size:.66rem}.header-tools{grid-template-columns:1fr;width:100%}.admin-menu-control{width:100%}.admin-question-grid,.admin-focus-grid,.admin-form-grid,.admin-form-grid-compact,.admin-warning-grid,.admin-book-row,.admin-section-row,.admin-chapter-row,.admin-citation-row,.admin-reference-row,.admin-action-row{grid-template-columns:1fr}.admin-section-header,.admin-focus-header{gap:8px;display:grid}.admin-focus-actions{justify-content:stretch;width:100%;display:grid}.admin-focus-book-select{width:100%}.admin-choice-row{grid-template-columns:1fr}.admin-section-actions{justify-content:stretch}.admin-section-actions .preset-button{flex:140px}.admin-row-actions{justify-content:stretch}.admin-row-actions .mini-button{flex:80px}.admin-question-list{max-height:320px}.admin-reason-field{min-width:0}.layout-grid,.content-stack,.sidebar-stack{gap:10px}.panel{padding:10px}.panel-heading{flex-direction:column;gap:8px;margin-bottom:10px}.panel-heading-actions{justify-content:space-between;gap:8px;width:100%}.setup-grid{grid-template-columns:1fr;gap:10px}.question-count-card{grid-template-columns:minmax(92px,auto) minmax(0,1fr);align-items:end}#quiz-size{max-width:100%}.chapters-grid{grid-template-columns:1fr}.setup-footer .start-session-button{width:100%}.stats-row{gap:6px}.stat-card{gap:3px;padding:8px;display:grid}.stat-label{font-size:.64rem}.stat-card strong{font-size:1.08rem}.featured-panel{min-height:0}.session-progress-top{gap:3px;display:grid}.question-card{min-height:0;padding:12px}.question-card h3{font-size:1rem}.question-nav{grid-template-columns:1fr 52px 1fr;gap:6px}.nav-button{padding-inline:8px}.reference-list{grid-template-columns:1fr}}
