:root{--ink:#172638;--muted:#647386;--blue:#800000;--line:#dce3e7;--paper:#f7f8f6;--green:#15715b;--red:#b13d42;--soft:#ecf2ee;--radius:18px;font-family:Inter,"Segoe UI",system-ui,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{border:1px solid var(--blue);border-radius:10px;background:var(--blue);color:white;padding:12px 18px;font-weight:650;cursor:pointer;transition:background .15s,transform .15s}button:hover:not(:disabled){filter:brightness(.94);transform:translateY(-1px)}button:disabled{opacity:.55;cursor:not-allowed}button.secondary{color:var(--ink);background:#fff;border-color:var(--line)}button.danger{background:#fff;color:var(--red);border-color:#efc9c9}button.small{padding:8px 12px;font-size:13px}a:hover{color:var(--blue)}:focus-visible{outline:3px solid #b76a7b;outline-offset:3px}[hidden]{display:none!important}.wrap{width:min(1140px,calc(100% - 48px));margin:auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px max(24px,calc((100% - 1140px)/2));background:#fff;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;font-size:18px;font-weight:800;white-space:nowrap}.mark{display:grid;place-items:center;background:var(--blue);color:white;border-radius:11px;width:37px;height:37px;font-size:12px}.topbar nav{display:flex;gap:8px;align-items:center}.topbar nav a{font-size:13px;padding:10px 13px;border-radius:8px;color:var(--muted);font-weight:600}.topbar nav a[aria-current]{background:#f7e9eb;color:var(--blue)}.hero{display:grid;grid-template-columns:1fr 300px;gap:65px;align-items:center;padding:65px 0 58px}.eyebrow{font-size:10px;letter-spacing:.16em;font-weight:800;color:var(--green)}h1{font-size:clamp(34px,4.3vw,54px);letter-spacing:-.05em;line-height:1.12;margin:18px 0}h1 span{color:var(--green)}h2{font-size:22px;letter-spacing:-.035em;line-height:1.25;margin:10px 0 18px}h3{font-size:19px;margin:12px 0;letter-spacing:-.02em}p{color:var(--muted);line-height:1.7;font-size:14px}.hero p{font-size:16px;max-width:590px;margin-bottom:0}.hero-note{background:#f7e9eb;border-radius:24px;padding:27px;transform:rotate(2deg);border:1px solid #e5cbd0}.hero-note strong{display:block;font-size:20px;line-height:1.4;letter-spacing:-.025em}.hero-note p{font-size:12px}.note-icon{display:block;font-size:40px;color:var(--green);margin-bottom:14px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px}.count{display:inline-block;font-size:12px;vertical-align:middle;background:#e3eae7;color:var(--green);padding:4px 8px;border-radius:7px;margin-left:5px}.search{width:min(300px,100%)}label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:650}input,select,textarea{width:100%;border:1px solid #cbd5db;border-radius:9px;background:#fff;padding:11px 12px;color:var(--ink);font-size:14px}textarea{resize:vertical}form{display:flex;flex-direction:column;gap:17px}form button{align-self:start}.library-tools{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:15px 0 23px;padding:16px 0;border-top:1px solid var(--line)}.library-tools label{flex-direction:row;align-items:center;white-space:nowrap}.library-tools select{width:auto;padding:8px}.library-tools>span{color:var(--muted);font-size:12px}.bank-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.bank-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;min-height:250px;box-shadow:0 5px 18px #20324604}.bank-card p{margin:0 0 20px;overflow-wrap:anywhere}.bank-card h3{overflow-wrap:anywhere}.bank-card button{margin-top:auto;align-self:start}.bank-card .badge{align-self:start;margin-bottom:14px}.badge{background:var(--soft);color:var(--green);padding:6px 9px;border-radius:6px;font-size:10px;font-weight:750;letter-spacing:.05em}.empty{text-align:center;padding:48px 26px;grid-column:1/-1}.empty-symbol{font-size:38px;color:var(--green)}.empty p{max-width:450px;margin:12px auto}.footer{padding-top:40px;padding-bottom:26px;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted);margin-top:45px;border-top:1px solid var(--line)}.footer a{font-weight:650}#notice{margin-top:20px;padding:14px 17px;border:1px solid #b7d8c8;border-radius:10px;background:#edf8f1;color:var(--green);font-size:14px}#notice.error{background:#fff0ef;border-color:#e6bdb9;color:var(--red)}.admin-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:44px 0 30px}.admin-heading h1{font-size:38px}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:25px;margin-bottom:20px}.login-panel{max-width:540px}.admin-grid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:25px}.bank-list{display:flex;flex-direction:column;gap:7px}.bank-list button{text-align:left;color:var(--ink);background:var(--paper);border-color:transparent;font-size:13px;overflow-wrap:anywhere}.bank-list button.selected{border-color:#8cbda7;background:#edf5ef;color:var(--green)}.editor-head{display:flex;align-items:start;justify-content:space-between;gap:15px}.editor-head h2{overflow-wrap:anywhere}.editor-head p{margin-top:0}.editor-head .danger{flex-shrink:0}.import-help{padding:14px;background:#f3f6f8;border-radius:10px;font-size:12px;line-height:1.7;margin:16px 0}.import-help a{color:var(--blue);font-weight:650}code{font-size:12px;overflow-wrap:anywhere}.import-actions{display:flex;gap:12px;align-items:center;margin-top:16px}.preview{border:1px solid var(--line);background:#f7faf8;border-radius:10px;padding:17px;margin-top:16px}.preview ol{max-height:190px;overflow:auto;padding-left:23px}.preview li{font-size:13px;padding:7px 0;overflow-wrap:anywhere}.question-item{padding:20px 0;border-top:1px solid var(--line)}.question-item h3{font-size:16px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:0}.question-item p{font-size:13px;margin:5px 0;white-space:pre-wrap;overflow-wrap:anywhere}.question-item .correct-text{color:var(--green)}.question-item button{margin-top:8px}.row{display:flex;align-items:center;justify-content:space-between;gap:16px}#session{max-width:820px;margin:42px auto}.session-top{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px}.session-top span{font-size:13px;color:var(--muted)}progress{width:100%;height:7px;accent-color:var(--green);display:block;margin:20px 0 32px;border:0}.quiz-card{padding:34px}.quiz-card h2{font-size:24px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:28px}.choices{display:grid;gap:11px}.choice{display:flex;gap:15px;align-items:center;border:1px solid var(--line);background:#fff;color:var(--ink);text-align:left;padding:15px;font-size:15px;font-weight:500;white-space:pre-wrap;overflow-wrap:anywhere}.choice .letter{display:grid;place-items:center;width:28px;height:28px;flex-shrink:0;background:#f0f3f5;border-radius:7px;font-size:11px;font-weight:750}.choice.chosen{border-color:var(--blue);background:#faeef0}.choice.right{border-color:#81b29c;background:#eef8f1}.choice.wrong{border-color:#dba7a7;background:#fff0ef}.choice:disabled{opacity:1}.feedback{margin-top:24px;border-radius:12px;padding:18px;background:#edf7f1;color:var(--green);font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}.feedback.incorrect{background:#fff2e8;color:#89491b}.feedback p{margin:8px 0 0;color:inherit}.quiz-actions{display:flex;justify-content:space-between;align-items:center;margin-top:24px;gap:16px}.quiz-actions>span{font-size:12px;color:var(--muted)}.result-hero{text-align:center;padding:30px 20px}.result-score{font-size:65px;letter-spacing:-.07em;color:var(--green);font-weight:800;margin:10px 0}.result-buttons{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.review-list{margin-top:25px}.review-list details{background:#fff;border:1px solid var(--line);padding:17px;border-radius:12px;margin-bottom:10px}.review-list summary{cursor:pointer;font-size:14px;font-weight:650;line-height:1.6;overflow-wrap:anywhere}.review-list p{white-space:pre-wrap;overflow-wrap:anywhere}.status-ok{color:var(--green)}.status-wrong{color:var(--red)}.question-search{margin:15px 0}.preview-error{color:var(--red)}@media(max-width:900px){.bank-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{gap:25px;grid-template-columns:1fr 240px}.admin-grid{grid-template-columns:240px minmax(0,1fr)}}@media(max-width:680px){.wrap{width:calc(100% - 30px)}.topbar{padding:15px;flex-wrap:wrap;gap:12px}.topbar nav{gap:2px}.topbar nav a{padding:8px;font-size:12px}.hero{grid-template-columns:1fr;padding:38px 0}.hero-note{display:none}.bank-grid,.admin-grid{grid-template-columns:1fr}.section-heading{align-items:stretch;flex-direction:column}.search{width:100%}.library-tools{align-items:start;flex-direction:column;gap:12px}.bank-card{min-height:220px}.admin-heading h1{font-size:32px}.admin-heading{align-items:start}.panel{padding:20px}.editor-head{flex-wrap:wrap}.quiz-card h2{font-size:20px}.quiz-card{padding:23px}.footer{flex-direction:column;gap:10px}.session-top{flex-wrap:wrap}.quiz-actions{align-items:start;flex-direction:column}.row{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.generation-options{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.field-note{font-size:12px!important;line-height:1.65}.draft-badge{background:#fff2db;color:#8b5714}.question-item>.badge{display:inline-block;margin-bottom:12px}.review-warning{padding:12px!important;border-left:3px solid #cda24d;background:#fff9eb}.review-editor,.paste-suggestions{margin:16px 0;border:1px solid var(--line);border-radius:10px;padding:14px}.review-editor summary,.paste-suggestions summary{cursor:pointer;font-size:14px;font-weight:650}.review-editor form{margin-top:18px}.review-check{display:flex;flex-direction:row;align-items:start;line-height:1.6;font-weight:500}.review-check input{width:18px;flex-shrink:0;margin-top:2px}.review-editor input{min-width:0}#sheet-picker{margin-top:16px}#prompt-box{margin:20px 0}#prompt-box button{margin-top:10px}.import-help button{margin-top:10px}.bank-list .count{display:block;margin:7px 0 0;width:fit-content}
.download-template{display:inline-block;margin-top:10px;padding:8px 12px;border:1px solid var(--blue);border-radius:9px;background:#fff;color:var(--blue)!important}.question-photo,.admin-question-photo,.review-photo{display:block;width:100%;height:auto;object-fit:contain;border:1px solid var(--line);border-radius:13px;background:#f4f6f7}.question-photo{max-height:470px;margin:-6px 0 28px}.admin-question-photo{max-width:520px;max-height:330px;margin:12px 0}.review-photo{max-width:520px;max-height:300px;margin:16px 0}.question-photo-manager{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:12px;padding:14px;margin:14px 0;background:#f5f7f8;border:1px solid var(--line);border-radius:12px}.question-photo-manager button{margin:0}.question-photo-manager .field-note{grid-column:1/-1;margin:0}@media(max-width:680px){.question-photo-manager{grid-template-columns:1fr}.question-photo-manager .field-note{grid-column:auto}}
body[data-screen="admin"] .admin-grid{display:block}
#admin-banks{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
#admin-banks button{min-height:130px;text-align:left;white-space:normal;padding:22px}
#admin-banks .count{display:block;margin-top:12px}
#back-banks{margin-bottom:20px}
.question-number{font-weight:800;color:#800000}
#ai-progress{border:0;border-radius:20px;padding:28px;width:min(620px,90vw);max-height:85vh;overflow:auto}
#ai-progress::backdrop{background:rgba(15,23,42,.6)}
#ai-progress progress{width:100%;height:20px}
#ai-progress-list{max-height:35vh;overflow:auto;padding-left:24px;line-height:1.9}
[hidden]{display:none!important}
.bank-overview-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px}
#create-bank-dialog{border:0;border-radius:20px;padding:28px;width:min(540px,90vw);max-height:85vh;overflow:auto;color:var(--ink)}
#create-bank-dialog::backdrop{background:rgba(15,23,42,.6)}
#create-bank-dialog h2{margin:0 0 24px}
#create-error{color:#b42318}
.manual-dialog{border:0;border-radius:20px;padding:28px;width:min(680px,90vw);max-height:85vh;overflow:auto;color:var(--ink)}
.manual-dialog::backdrop{background:rgba(15,23,42,.6)}
.manual-dialog button{margin-top:12px}
.manual-dialog input[type=checkbox]{width:auto}
#manual-error{color:#b42318}
.student-nav{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}
.topbar nav{flex-wrap:wrap}
@media(max-width:700px){.topbar{height:auto;min-height:76px;flex-wrap:wrap;gap:12px;padding-top:12px;padding-bottom:12px}.student-nav{margin-left:auto}}
:root{--brand:#800000}
.hero h1 span,.hero .eyebrow,.section-heading .eyebrow,.hero-note .note-icon,.admin-heading .eyebrow{color:var(--brand)}
.bank-card .badge,.section-heading .count{background:#f7e9eb;color:var(--brand)}
