:root{--background:#f4f7f2;--border:#dce5dc;--danger:#b42318;--danger-soft:#fff4f2;--ink:#17201b;--muted:#68746d;--primary:#287846;--primary-soft:#e5f0e9;--primary-strong:#1f663a;--surface:#ffffff;--warning-line:#ead7a3;--warning-soft:#fff4d8;--warning-strong:#7a5512;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body,html{min-height:100%}body{background:repeating-linear-gradient(0deg,rgba(220,229,220,.34) 0 1px,transparent 1px 34px),repeating-linear-gradient(90deg,rgba(182,202,245,.16) 0 1px,transparent 1px 38px),var(--background);margin:0}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit}.student-page-shell{display:grid;margin:0 auto;max-width:472px;min-height:100vh;padding:24px 16px;width:100%}.student-page-shell>h1{align-self:end;font-size:32px;line-height:1.08;margin:0 0 10px}.student-page-shell>p{color:var(--muted);font-size:16px;line-height:1.45;margin:0 0 18px}.student-link-button{align-items:center;align-self:start;background:#101010;border-radius:16px;color:#ffffff;display:inline-flex;font-weight:850;justify-content:center;min-height:52px;padding:0 18px;text-decoration:none}.student-screen{display:grid;grid-gap:18px;gap:18px;min-height:calc(100vh - 48px);position:relative}.student-screen-header{display:grid;grid-gap:5px;gap:5px;padding:8px 2px 0}.student-screen-header p{color:var(--primary-strong);font-size:12px;font-weight:900;margin:0;text-transform:uppercase}.student-screen-header h1{font-size:30px;line-height:1.08;margin:0}.student-screen-content{display:grid;grid-gap:14px;gap:14px}.student-complete-panel,.student-score-panel,.student-web-intro{background:var(--surface);border:1px solid var(--border);border-radius:22px;display:grid;grid-gap:12px;gap:12px;padding:22px}.student-web-intro>span{color:var(--primary-strong);font-size:13px;font-weight:900;text-transform:uppercase}.student-complete-panel h2,.student-submit-modal h2,.student-web-intro h2{font-size:28px;line-height:1.08;margin:0}.student-complete-panel p,.student-score-panel p,.student-submit-modal p,.student-web-intro p{color:var(--muted);font-size:15px;line-height:1.4;margin:0}.student-name-card{background:var(--surface);border:2px solid #b7d4bf;border-radius:22px;box-shadow:0 14px 30px rgba(40,120,70,.1);display:grid;grid-gap:10px;gap:10px;padding:16px}.student-name-card-error{border-color:#e47a70}.student-field{display:grid;grid-gap:8px;gap:8px}.student-field>span{color:var(--primary-strong);font-size:13px;font-weight:900}.student-text-input{background:#f8faf7;border:1px solid #9cc7ab;border-radius:16px;color:var(--ink);min-height:52px;outline:0;padding:12px 14px}.student-answer-box textarea:focus,.student-text-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(40,120,70,.14)}.student-name-input{font-size:20px;font-weight:800;min-height:62px}.student-name-card small{color:var(--muted);font-size:13px;font-weight:750;line-height:1.35}.student-quiz-meta,.student-result-summary{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.student-quiz-meta div,.student-result-summary div{background:var(--surface);border:1px solid var(--border);border-radius:18px;display:grid;grid-gap:5px;gap:5px;min-height:76px;padding:14px}.student-quiz-meta strong,.student-result-summary strong{font-size:18px;line-height:1.15}.student-quiz-meta span,.student-result-summary span{color:var(--muted);font-size:12px;font-weight:800}.student-progress{background:var(--surface);border:1px solid var(--border);border-radius:999px;display:grid;grid-gap:8px;gap:8px;padding:12px 14px}.student-progress span{color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.student-progress div{background:#e8eee8;border-radius:999px;height:8px;overflow:hidden}.student-progress i{background:var(--primary);border-radius:inherit;display:block;height:100%;width:64%}.student-question-list{display:grid;grid-gap:12px;gap:12px;padding-bottom:88px}.student-content-dimmed{opacity:.42;pointer-events:none}.student-question-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;display:grid;grid-gap:12px;gap:12px;padding:15px}.student-question-card-error{border-color:#e47a70}.student-question-head{align-items:center;display:flex;gap:8px}.student-question-head span{align-items:center;background:var(--primary-soft);border-radius:999px;color:var(--primary-strong);display:inline-flex;font-size:13px;font-weight:900;height:34px;justify-content:center;width:34px}.student-question-head em{color:var(--muted);font-size:12px;font-style:normal;font-weight:900;text-transform:uppercase}.student-question-card>strong{font-size:17px;line-height:1.28}.student-question-card>small{color:var(--muted);font-size:13px;line-height:1.36}.student-option-stack{display:grid;grid-gap:8px;gap:8px}.student-option{align-items:center;background:#f8faf7;border:1px solid var(--border);border-radius:16px;color:var(--ink);display:grid;grid-gap:9px;gap:9px;grid-template-columns:auto minmax(0,1fr) auto;min-height:48px;padding:10px 12px;text-align:left}.student-option:disabled{cursor:default}.student-option i{border:2px solid var(--muted);border-radius:999px;height:15px;width:15px}.student-option span{font-size:14px;font-weight:750;line-height:1.28}.student-option em{border-radius:999px;font-size:11px;font-style:normal;font-weight:900;padding:5px 8px}.student-option-correct,.student-option-selected{background:var(--primary-soft);border-color:#a8c9b4}.student-option-correct i,.student-option-selected i{background:var(--primary);border-color:var(--primary);box-shadow:inset 0 0 0 3px var(--primary-soft)}.student-option-correct em,.student-option-selected em{background:#d9ebdf;color:var(--primary-strong)}.student-option-wrong{background:#fff5f3;border-color:#f2bdb7}.student-option-wrong i{background:var(--danger);border-color:var(--danger);box-shadow:inset 0 0 0 3px #fff5f3}.student-option-wrong em{background:#ffe0dc;color:#9d1c13}.student-option-missed{background:var(--warning-soft);border-color:var(--warning-line)}.student-option-missed i{background:#9a6b16;border-color:#9a6b16;box-shadow:inset 0 0 0 3px var(--warning-soft)}.student-option-missed em{background:#f7e8bd;color:#765111}.student-answer-box{background:#f8faf7;border:1px solid var(--border);border-radius:16px;display:grid;grid-gap:8px;gap:8px;padding:12px}.student-answer-box span{color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.student-answer-box textarea{background:transparent;border:0;color:var(--ink);min-height:76px;outline:0;resize:vertical}.student-answer-box textarea:disabled{resize:none}.input-error,.student-answer-box.input-error{border-color:#e47a70}.field-error{color:var(--danger);font-size:13px;font-weight:800;line-height:1.35;margin:0}.student-bottom-actions{background:linear-gradient(180deg,rgba(244,247,242,0),rgba(244,247,242,.94) 22%,var(--background));bottom:0;display:grid;grid-gap:10px;gap:10px;margin-top:auto;padding:20px 0 8px;position:-webkit-sticky;position:sticky;z-index:5}.student-button{align-items:center;border:0;border-radius:16px;display:inline-flex;font-weight:900;justify-content:center;min-height:52px;padding:0 18px}.student-button:disabled{cursor:wait;opacity:.72}.student-button-primary{background:#101010;color:#ffffff}.student-button-secondary{background:#f4f7f2;border:1px solid var(--border);color:var(--ink)}.student-modal-scrim{align-items:flex-end;background:rgba(23,32,27,.42);display:flex;inset:0;padding:18px;position:fixed;z-index:20}.student-submit-modal{background:var(--surface);border:1px solid var(--border);border-radius:24px;box-shadow:0 22px 55px rgba(23,32,27,.28);display:grid;grid-gap:14px;gap:14px;margin:0 auto;max-width:440px;padding:22px;width:100%}.student-submit-modal-summary{background:var(--background);border:1px solid var(--border);border-radius:16px;display:grid;grid-gap:6px;gap:6px;padding:12px}.student-submit-modal-summary span{color:var(--muted);font-size:13px;font-weight:850;line-height:1.28}.student-modal-actions{display:grid;grid-gap:10px;gap:10px}.student-complete-panel,.student-score-panel{align-items:center;text-align:center}.student-score-panel strong{font-size:48px;line-height:1}.student-score-panel>span{color:var(--primary-strong);font-weight:850}.student-state-symbol{align-items:center;background:var(--primary-soft);border-radius:999px;color:var(--primary-strong);display:inline-flex;font-size:21px;font-weight:900;height:42px;justify-content:center;justify-self:center;width:42px}.student-closed-panel{background:#fffaf2;border-color:#ead6a8}.student-closed-panel .student-state-symbol{background:var(--warning-soft);color:var(--warning-strong)}.student-result-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.student-alert-card,.student-next-steps,.student-pending-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;display:grid;grid-gap:12px;gap:12px;padding:16px}.student-alert-card{background:var(--danger-soft);border-color:#f5c5bf}.student-alert-card strong{color:var(--danger);font-size:16px}.student-alert-card p{color:var(--muted);line-height:1.4;margin:0}.student-next-steps>strong{font-size:16px}.student-next-steps div,.student-pending-card{align-items:center;display:grid;grid-gap:10px;gap:10px;grid-template-columns:auto minmax(0,1fr)}.student-next-steps div span,.student-pending-icon{align-items:center;background:var(--primary-soft);border-radius:999px;color:var(--primary-strong);display:inline-flex;font-size:12px;font-weight:900;height:32px;justify-content:center;width:32px}.student-next-steps p,.student-pending-card span{color:var(--muted);font-size:14px;line-height:1.35;margin:0}.student-pending-card-priority{background:var(--warning-soft);border-color:var(--warning-line)}.student-pending-card-priority .student-pending-icon{background:#f7e8bd;color:var(--warning-strong)}.student-pending-card strong{display:block;font-size:15px;margin-bottom:3px}.student-finish-note{color:var(--muted);font-size:14px;font-weight:750;line-height:1.35;margin:0;text-align:center}@media (min-width:780px){.student-page-shell{padding-bottom:40px;padding-top:40px}.student-screen{min-height:calc(100vh - 80px)}}@media (max-width:420px){.student-page-shell{padding-left:12px;padding-right:12px}.student-complete-panel h2,.student-screen-header h1,.student-submit-modal h2,.student-web-intro h2{font-size:26px}.student-result-summary{gap:8px}.student-result-summary div{padding:12px 10px}}