@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Fraunces:opsz,wght@9..144,600;9..144,700&display=swap";:root{color:#27352f;font-synthesis:none;--ink:#27352f;--cream:#f4efe4;--paper:#fffaf0;--terra:#a94f32;--forest:#315b4a;--line:#d9cebc;background:#f4efe4;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--terra);font-size:.72rem;font-weight:600}h1,h2{color:var(--ink);margin:0;font-family:Fraunces,serif}.login-layout{grid-template-columns:1.15fr .85fr;min-height:100vh;display:grid}.login-story{background:var(--forest);color:#f9f0df;flex-direction:column;justify-content:center;padding:9vw 8vw;display:flex;position:relative;overflow:hidden}.login-story .eyebrow{color:#eebd91}.login-story h1{letter-spacing:-.045em;color:#fff8e9;max-width:900px;margin:24px 0;font-size:clamp(2.8rem,5vw,5.8rem);line-height:.98}.login-story p{color:#d9e2d8;max-width:540px;font-size:1.08rem;line-height:1.7}.terrain{opacity:.35;height:35%;position:absolute;inset:auto -8% -12% 0}.terrain i{background:#6e8669;border-radius:50% 50% 0 0;height:75%;position:absolute;inset:auto 0 0}.terrain i:nth-child(2){background:#c4734f;height:100%;left:25%}.terrain i:nth-child(3){background:#e1ad72;height:65%;left:55%}.login-panel{background:radial-gradient(circle at 80% 15%, #efd8b3 0, transparent 28%), var(--cream);place-items:center;padding:40px;display:grid}.login-card{border:1px solid var(--line);background:#fffaf0e6;width:min(430px,100%);padding:48px;box-shadow:0 30px 80px #4032231f}.seal{background:var(--terra);color:#fff;border-radius:50%;place-items:center;width:54px;height:54px;font-family:Fraunces,serif;display:grid}.login-card h2{margin:8px 0 30px;font-size:2.25rem}.login-card form{gap:20px;display:grid}.login-card label{gap:8px;font-size:.86rem;font-weight:600;display:grid}.login-card input{border:1px solid var(--line);color:var(--ink);background:#fffef9;outline:none;padding:14px 16px}.login-card input:focus{border-color:var(--forest);box-shadow:0 0 0 3px #315b4a1f}.primary-button{background:var(--terra);color:#fff;border:0;padding:14px 20px;font-weight:600}.primary-button:disabled{opacity:.6}.modal-backdrop{z-index:1000;background:#18241fad;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-dialog{background:var(--paper);border:1px solid var(--line);width:min(760px,100%);max-height:calc(100vh - 48px);padding:28px;overflow-y:auto;box-shadow:0 30px 80px #18241f59}.modal-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;display:flex}.modal-close{border:1px solid var(--line);width:42px;height:42px;color:var(--ink);background:0 0;font-size:1.5rem}.modal-dialog .entity-form{box-shadow:none;border:0;margin:0;padding:0}.form-error{color:#9d392b;margin:0;font-size:.86rem}.admin-shell{grid-template-columns:270px 1fr;min-height:100vh;display:grid}.admin-shell aside{background:var(--forest);color:#fff;flex-direction:column;align-self:start;height:100vh;padding:32px 22px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{align-items:center;gap:12px;margin-bottom:56px;display:flex}.brand .seal{width:42px;height:42px}.admin-shell nav{gap:8px;display:grid}.admin-shell nav button,.sign-out{color:#dbe5dc;text-align:left;background:0 0;border:0;justify-content:space-between;padding:13px 14px;display:flex}.admin-shell nav button.active{color:var(--ink);background:#f5ead8}.sign-out{margin-top:auto}.dashboard{background:linear-gradient(135deg,#f7f1e6,#eee4d2);min-width:0;padding:clamp(30px,5vw,72px)}.dashboard header{justify-content:space-between;align-items:end;margin-bottom:48px;display:flex}.dashboard header h1{font-size:clamp(2.4rem,4vw,4.5rem)}.role-chip{border:1px solid var(--line);background:var(--paper);text-transform:capitalize;padding:8px 14px}.welcome-grid{grid-template-columns:2fr 1fr;gap:24px;display:grid}.hero-card,.status-card{background:var(--paper);border:1px solid var(--line);padding:clamp(28px,4vw,56px)}.hero-card h2{margin:14px 0;font-size:clamp(2rem,3vw,3.4rem)}.hero-card p,.status-card p{color:#65716b;line-height:1.7}.hero-card .primary-button{margin-top:20px}.status-dot{background:#4d9c70;border-radius:50%;width:10px;height:10px;margin-right:8px;display:inline-block}@media (width<=850px){.login-layout{grid-template-columns:1fr}.login-story{min-height:42vh;padding:60px 28px}.login-panel{padding:24px}.login-card{padding:32px}.admin-shell{grid-template-columns:1fr}.admin-shell aside{padding:18px;display:block}.brand{margin-bottom:18px}.admin-shell nav{display:flex;overflow:auto}.sign-out{position:absolute;top:18px;right:18px}.welcome-grid{grid-template-columns:1fr}}.brand{color:#fff;text-decoration:none}.admin-shell nav a,.sign-out{color:#dbe5dc;text-align:left;background:0 0;border:0;justify-content:space-between;padding:13px 14px;text-decoration:none;display:flex}.admin-shell nav a.active{color:var(--ink);background:#f5ead8}.button-link{text-decoration:none;display:inline-block}.page-lead{color:#65716b;margin:10px 0 0}.notice{background:#f8ddd5;padding:12px 16px}.entity-form{background:var(--paper);border:1px solid var(--line);margin-bottom:28px;padding:32px}.entity-form h2{margin-bottom:22px;font-size:1.8rem}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:24px;display:grid}.form-grid label{gap:7px;font-size:.82rem;font-weight:600;display:grid}.form-grid input{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;padding:12px 14px}.entity-list{gap:14px;display:grid}.school-row{background:var(--paper);border:1px solid var(--line);grid-template-columns:minmax(220px,1.5fr) 1fr 1fr;align-items:center;gap:24px;padding:25px 28px;display:grid}.school-row h2{margin:6px 0;font-size:1.45rem}.school-row p{color:#68736d;margin:0}.status-pill{text-transform:uppercase;letter-spacing:.12em;color:#315b4a;background:#dbe9dc;padding:4px 8px;font-size:.65rem}.status-pill.suspended{color:#8d382d;background:#f2d5cf}.metric{gap:6px;display:grid}.metric span{text-transform:uppercase;letter-spacing:.1em;color:#7c817d;font-size:.73rem}.metric i{background:#e6ddce;height:5px;overflow:hidden}.metric i b{background:var(--terra);height:100%;display:block}.empty-state{text-align:center;background:var(--paper);border:1px dashed var(--line);padding:70px}@media (width<=850px){.form-grid,.school-row{grid-template-columns:1fr}.dashboard header{align-items:flex-start;gap:20px}}.form-grid select{border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;background:#fff;padding:12px 14px}.resource-row{background:var(--paper);border:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:22px 26px;display:grid}.resource-row h2{margin-bottom:5px;font-size:1.25rem}.resource-row p{color:#69736e;margin:0}.avatar{width:48px;height:48px;color:var(--forest);background:#dbe6d9;border-radius:50%;place-items:center;font-weight:700;display:grid}.student-avatar{color:#8d4b32;background:#efd8bc}.group-avatar{background:var(--forest);color:#fff;border-radius:4px}.tile-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px;display:grid}.level-tile{background:var(--paper);border:1px solid var(--line);flex-direction:column;justify-content:space-between;min-height:150px;padding:24px;display:flex}.level-tile span{text-transform:uppercase;letter-spacing:.12em;color:var(--terra);font-size:.72rem}.level-tile h2{font-size:2.5rem}.compact-form{margin-bottom:0}.header-actions,.button-row,.row-actions{align-items:center;gap:10px;display:flex}.secondary-button{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:13px 18px;font-weight:600}.text-button{color:var(--forest);background:0 0;border:0;padding:6px;font-size:.78rem;font-weight:600}.text-button.danger{color:#9d392b}.row-actions{justify-content:flex-end}.helper-copy{color:#68736d;margin:-10px 0 20px}.student-search{background:var(--paper);border:1px solid var(--line);gap:8px;padding:18px;font-size:.8rem;font-weight:600;display:grid}.student-search input{border:1px solid var(--line);background:#fff;padding:12px 14px}.csv-import{gap:18px;display:grid}.csv-import .helper-copy{margin:0}.csv-import .file-input{gap:8px;font-weight:600;display:grid}.csv-preview{gap:8px;max-height:340px;display:grid;overflow-y:auto}.csv-preview-heading,.csv-row{border:1px solid var(--line);background:#fff;grid-template-columns:90px repeat(3,1fr);align-items:center;gap:10px;padding:10px;font-size:.78rem;display:grid}.csv-preview-heading{grid-template-columns:1fr auto}.csv-row ul,.csv-row .status-pill{grid-column:1/-1;margin:0}.csv-row ul{color:#9d392b}.import-success{border:1px solid #a9c3ae;border-left:5px solid var(--forest);background:#edf4eb;grid-template-columns:minmax(210px,.45fr) 1fr;gap:24px;padding:24px;display:grid}.import-success h2{margin-top:6px}.import-success>div:last-child{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;display:grid}.import-success>div:last-child span{background:#fff;justify-content:space-between;gap:10px;padding:8px 10px;font-size:.78rem;display:flex}.compact-form small{color:#7c817d;font-weight:400}.section-heading{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.member-line{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:13px 0;display:flex}.member-line small{color:#7c817d;margin-left:8px}.membership-state{color:var(--forest);text-transform:uppercase;background:#dce8dc;margin-left:10px;padding:3px 6px;font-size:.58rem;font-style:normal;display:inline-block}.membership-state.revoked{color:#913e2e;background:#f1d9d0}.progress-row{border-top:1px solid var(--line);grid-template-columns:minmax(150px,1fr) minmax(180px,1fr) 1.4fr auto;align-items:center;gap:18px;padding:18px 0;display:grid}.progress-row h2,.progress-row p,.progress-profile h2,.progress-profile p,.study-set-progress-list h3,.study-set-progress-list p{margin:0}.progress-row p,.progress-profile p,.study-set-progress-list p{color:#68736d;font-size:.76rem}.progress-meter{background:#e6dfd2;height:24px;position:relative;overflow:hidden}.progress-meter>span{background:#8cab8d;position:absolute;inset:0 auto 0 0}.progress-meter strong{place-items:center;height:100%;font-size:.68rem;display:grid;position:relative}.progress-stats{flex-wrap:wrap;gap:6px;display:flex}.progress-stats span,.badge-list span{background:#eee6d8;padding:5px 8px;font-size:.68rem}.student-progress-detail,.study-set-progress-list{gap:16px;display:grid}.progress-profile{background:var(--paper);border:1px solid var(--line);justify-content:space-between;gap:20px;padding:24px;display:flex}.badge-list{flex-wrap:wrap;gap:8px;display:flex}.study-set-progress-list article{background:var(--paper);border:1px solid var(--line);grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;align-items:center;gap:18px;padding:18px;display:grid}.student-tabs{border-bottom:1px solid var(--line);gap:4px;display:flex}.student-tabs button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;padding:11px 16px;font-weight:700}.student-tabs button.active{border-bottom-color:var(--terra);color:var(--ink)}.student-tab-panel,.review-list,.exercise-review-list{gap:16px;display:grid}.review-card,.difficulty-panel{border:1px solid var(--line);background:var(--paper);padding:20px}.review-card-heading,.exercise-review-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.review-card-heading>div{flex:1}.review-card-heading h3,.review-card-heading p,.exercise-review-list h4{margin:0}.review-card-heading>strong{font-family:var(--serif);font-size:1.5rem}.exercise-review-list{margin-top:18px}.exercise-review-list>article{background:#f8f3e9;padding:16px}.answer-comparison{grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;display:grid}.answer-comparison>div{background:var(--paper);gap:7px;padding:12px;display:grid}.review-value-list{gap:5px;display:grid}.review-value-item{display:block}.review-json{white-space:pre-wrap;max-width:360px;margin:0;overflow:auto}.difficulty-panel h3{margin:5px 0 14px}.difficulty-panel ol{gap:8px;margin:0;padding-left:28px;display:grid}.difficulty-panel li{padding:8px}.difficulty-panel li,.difficulty-panel li div{justify-content:space-between;gap:12px;display:flex}.difficulty-panel li div{flex:1}.difficulty-panel li div span{color:var(--muted)}.practice-table-wrap{margin-top:18px;overflow-x:auto}.practice-table{border-collapse:collapse;width:100%}.practice-table th,.practice-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:12px}.operation-strip{border:1px solid var(--line);background:var(--line);grid-template-columns:1fr 1fr 1.1fr;gap:1px;margin-bottom:24px;display:grid}.operation-strip article{background:var(--paper);padding:24px 26px}.operation-strip article>span{color:#777;text-transform:uppercase;letter-spacing:.1em;font-size:.65rem;font-weight:600}.operation-strip strong{margin:12px 0 10px;font-family:Fraunces,serif;font-size:2.3rem;display:block}.operation-strip strong small{color:#777;font-family:DM Sans,sans-serif;font-size:.8rem}.operation-strip i{background:#e5dccd;height:5px;display:block}.operation-strip i b{background:var(--terra);height:100%;display:block}.operation-strip p{color:#68736d;margin:9px 0 0;font-size:.72rem}.school-identity strong{color:var(--forest);font-size:1.75rem}.settings-sheet{border:1px solid var(--line);background:var(--line);gap:1px;width:min(900px,100%);display:grid}.plan-sheet{border:1px solid var(--line);box-shadow:var(--shadow);background:linear-gradient(135deg,#fffdf8 0%,#f0eadc 100%);border-radius:18px;margin-bottom:24px;padding:28px}.plan-heading{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.plan-heading h2{font-family:var(--serif);margin:5px 0 7px;font-size:2rem}.plan-heading p{color:var(--muted);margin:0}.subscription-state{color:var(--ink);text-transform:uppercase;letter-spacing:.08em;background:#e7e0d2;border-radius:999px;padding:8px 12px;font-size:.72rem;font-weight:800}.subscription-state.active,.subscription-state.trialing{color:#304238;background:#d9e5d9}.subscription-state.past_due{color:#79551e;background:#f1dfba}.subscription-state.canceled{color:#873f2c;background:#eed9d2}.plan-capacity{grid-template-columns:repeat(3,1fr);gap:12px;margin:25px 0;display:grid}.plan-capacity div{border-left:2px solid var(--terra);padding:4px 14px}.plan-capacity span{color:var(--muted);font-size:.75rem;display:block}.plan-capacity strong{font-family:var(--serif);margin-top:4px;font-size:1.35rem;display:block}.plan-modules{flex-wrap:wrap;gap:8px;display:flex}.plan-modules span{border:1px solid var(--line);border-radius:999px;padding:7px 10px;font-size:.7rem;font-weight:700}.plan-modules .included{color:#36563d;background:#edf4ec;border-color:#9db29f}.plan-modules .not-included{color:var(--muted);background:#f1eee7}.settings-sheet>section{background:var(--paper);padding:34px}.settings-sheet h2{margin:9px 0 25px;font-size:2rem}.setting-choice{border:1px solid var(--line);cursor:pointer;align-items:flex-start;gap:16px;padding:20px;display:flex}.setting-choice input{width:20px;height:20px}.setting-choice span{gap:6px;display:grid}.setting-choice small{color:#68736d}.gamification-options{grid-template-columns:1fr 1fr;gap:12px;display:grid}.gamification-options label{border:1px solid var(--line);cursor:pointer;gap:8px;min-height:135px;padding:20px;display:grid}.gamification-options label.selected{border:2px solid var(--forest);background:#edf1e8}.gamification-options input{opacity:0;position:absolute}.gamification-options strong{font-family:Fraunces,serif;font-size:1.35rem}.gamification-options span{color:#68736d;font-size:.8rem;line-height:1.5}.settings-sheet footer{background:#eee2ca;justify-content:space-between;align-items:center;gap:20px;padding:20px 34px;display:flex}.settings-sheet footer>span{color:#68736d;font-size:.72rem}@media (width<=850px){.operation-strip,.gamification-options{grid-template-columns:1fr}.plan-heading{flex-direction:column}.plan-capacity{grid-template-columns:1fr}.settings-sheet footer{flex-direction:column;align-items:stretch}}.wide-field{grid-column:1/-1}.form-grid textarea,.exercise-card textarea{border:1px solid var(--line);min-height:110px;color:var(--ink);font:inherit;resize:vertical;background:#fff;padding:12px 14px}.content-workspace{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:22px;display:grid}.set-list{background:var(--forest);gap:8px;padding:22px;display:grid}.set-list .eyebrow{color:#eebd91;margin-bottom:8px}.set-list>button{color:#dce5de;text-align:left;background:0 0;border:0;gap:4px;padding:13px;display:grid}.set-list>button.selected{background:var(--paper);color:var(--ink)}.set-list small{opacity:.7;text-transform:capitalize}.content-editor{min-width:0}.editor-heading{background:var(--paper);border:1px solid var(--line);justify-content:space-between;align-items:center;padding:24px 28px;display:flex}.editor-heading h2{margin-top:8px}.generator-panel{border:1px solid var(--line);background:#eee2ca;padding:26px 28px}.generator-panel h3,.preview-list h3,.manual-panel h3{margin:0 0 18px;font-family:Fraunces,serif;font-size:1.5rem}.type-picker{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.type-picker label{background:var(--paper);border:1px solid var(--line);padding:8px 11px;font-size:.78rem}.type-picker input{margin-right:7px}.generator-controls{flex-wrap:wrap;align-items:end;gap:14px;display:flex}.generator-controls label{gap:6px;font-size:.75rem;font-weight:600;display:grid}.generator-controls input[type=number]{border:1px solid var(--line);width:85px;padding:10px}.file-input{max-width:230px}.manual-panel{border:1px solid var(--line);background:var(--paper);border-top:0;grid-template-columns:190px 1fr;gap:20px;padding:22px 28px;display:grid}.manual-panel>div:last-child{flex-wrap:wrap;gap:7px;display:flex}.manual-panel .secondary-button{padding:9px 11px;font-size:.7rem}.preview-list{margin-top:20px}.exercise-card{background:var(--paper);border:1px solid var(--line);grid-template-columns:120px 1fr 1fr;gap:15px;margin-bottom:10px;padding:22px;display:grid;position:relative}.exercise-card>span{color:var(--terra);font-size:.72rem;font-weight:600}.exercise-card label{gap:6px;font-size:.72rem;font-weight:600;display:grid}.exercise-card label:first-of-type{grid-column:2/-1}.exercise-card input{border:1px solid var(--line);padding:11px}.remove-exercise{color:#9d392b;background:0 0;border:0;font-size:.68rem;position:absolute;top:12px;right:12px}.exercise-actions{gap:3px;display:flex;position:absolute;top:10px;right:10px}.exercise-actions button{border:1px solid var(--line);background:var(--paper);min-width:28px;height:28px;color:var(--forest);font-size:.68rem}.exercise-actions button:disabled{opacity:.3}.exercise-actions .remove-exercise{color:#9d392b;width:auto;position:static}.publish-bar{border:1px solid var(--line);background:#fffaf0f0;justify-content:flex-end;gap:10px;padding:16px;display:flex;position:sticky;bottom:12px;box-shadow:0 10px 30px #3c2d1e1f}@media (width<=1050px){.content-workspace{grid-template-columns:1fr}.set-list{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.exercise-card{grid-template-columns:1fr}.exercise-card label:first-of-type{grid-column:auto}.manual-panel{grid-template-columns:1fr}}.assessment-rules{border-left:4px solid var(--terra);background:#eee2ca;margin:4px 0;padding:24px}.assessment-rules h3{margin:8px 0 20px;font-family:Fraunces,serif;font-size:1.45rem}.assessment-rules .form-grid{margin:0}.check-field{grid-auto-flow:column;justify-content:start;align-items:center;display:flex!important}.check-field input{width:auto}.exercise-summary{background:#f6f0e3;border:1px dashed #b9ab94;grid-column:1/-1;padding:18px}.exercise-summary small{color:var(--terra);text-transform:uppercase;letter-spacing:.1em;font-size:.65rem;font-weight:600;display:block}.exercise-summary>strong{margin:9px 0 14px;font-family:Fraunces,serif;font-size:1.18rem;display:block}.exercise-summary>div{flex-wrap:wrap;gap:7px;display:flex}.exercise-summary span{border:1px solid var(--line);background:#fff;padding:7px 10px;font-size:.75rem}.visual-fields{border-left:3px solid var(--forest);background:#edf1e8;grid-column:1/-1;grid-template-columns:1fr 1fr;gap:14px;padding:18px;display:grid}.visual-fields>p{color:#68736d;grid-column:1/-1;margin:0;font-size:.75rem}.visual-fields select{border:1px solid var(--line);background:#fff;min-height:44px;padding:0 10px}.visual-fields textarea{min-height:90px}.match-image-uploads{grid-column:1/-1;gap:10px;display:grid}.match-image-upload{border:1px solid var(--line);background:#fff;grid-template-columns:72px 1fr auto;align-items:center;gap:12px;padding:10px;display:grid}.match-image-upload img{object-fit:cover;width:72px;height:54px}.match-image-upload>span:first-child{color:#68736d;font-size:.75rem}.match-image-upload label{gap:5px;display:grid}.match-image-uploads .form-error{margin:0}.advanced-contract{border-top:1px solid var(--line);grid-column:1/-1;padding-top:12px}.advanced-contract summary{color:#68736d;cursor:pointer;font-size:.7rem}.advanced-contract>div{grid-template-columns:1fr 1fr;gap:14px;margin-top:14px;display:grid}.results-panel{gap:18px;display:grid}.dictation-fields{grid-template-columns:1fr 1fr}.dictation-fields .dictation-warning{border-left:4px solid var(--terra);color:#713322;background:#f4ded3;grid-column:1/-1;margin:0;padding:14px 16px;font-weight:600}.dictation-fields .field-counter{color:#68736d;justify-self:end;font-size:.72rem}.submission-panel{border:1px solid var(--line);background:var(--paper);gap:14px;padding:24px;display:grid}.submission-summary{justify-content:space-between;align-items:end;gap:24px;display:flex}.submission-summary h3{margin:7px 0 0;font-family:Fraunces,serif;font-size:1.8rem}.submission-summary>div:last-child{justify-items:end;gap:8px;display:grid}.window-status{text-transform:uppercase;padding:6px 10px;font-size:.68rem;font-weight:700}.window-status.scheduled{color:#755b26;background:#eee2ca}.window-status.open{color:var(--forest);background:#dce8dc}.window-status.closed{color:#7b3e31;background:#eadbd6}.submission-list{border-top:1px solid var(--line);display:grid}.submission-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(180px,1fr) 100px 120px 170px 60px;align-items:center;gap:14px;min-height:66px;padding:10px 12px;display:grid}.submission-row>div:first-child{gap:3px;display:grid}.submission-row>div:first-child span{color:#68736d;font-size:.72rem}.submission-row.in-progress{background:#fff8e9;border-left:5px solid #d79a3b}.submission-row.not-started{border-left:5px solid #b8aea0}.submission-row.submitted{border-left:5px solid var(--forest)}.student-detail-link{color:var(--ink);-webkit-text-decoration-color:var(--terra);text-decoration-color:var(--terra);text-underline-offset:3px;font-weight:700}.submission-grade{background:#eee2ca;border-radius:50%;place-items:center;width:40px;height:40px;font-weight:700;display:grid}.results-cover{background:var(--paper);border:1px solid var(--line);border-top:5px solid var(--forest);grid-template-columns:1fr auto auto;align-items:end;gap:28px;padding:30px;display:grid}.results-cover h2{margin:12px 0 5px;font-size:2.2rem}.results-cover p{color:#68736d;margin:0}.result-metric{border-left:1px solid var(--line);min-width:90px;padding-left:22px}.result-metric strong{color:var(--forest);font-family:Fraunces,serif;font-size:2.5rem;display:block}.result-metric span{text-transform:uppercase;color:#777;font-size:.65rem}.results-table{background:var(--paper);border:1px solid var(--line)}.result-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(160px,1fr) repeat(4,90px);align-items:center;gap:12px;min-height:62px;padding:10px 20px;font-size:.78rem;display:grid}.result-row:last-child{border-bottom:0}.result-head{color:#777;text-transform:uppercase;background:#eee6d8;min-height:42px;font-size:.65rem}.grade{color:#913e2e;background:#f1d9d0;border-radius:50%;place-items:center;width:40px;height:40px;font-weight:700;display:grid}.grade.passing{color:var(--forest);background:#dce8dc}@media (width<=850px){.progress-row,.study-set-progress-list article{grid-template-columns:1fr}.progress-profile{flex-direction:column}.answer-comparison{grid-template-columns:1fr}.results-cover{grid-template-columns:1fr 1fr}.results-cover>div:first-child{grid-column:1/-1}.result-row{grid-template-columns:1fr repeat(2,70px)}.result-row>:nth-child(4),.result-row>:nth-child(5){display:none}.submission-summary{flex-direction:column;align-items:start}.submission-summary>div:last-child{justify-items:start}.submission-row{grid-template-columns:1fr 100px}.submission-row>:nth-child(3),.submission-row>:nth-child(4){display:none}}@media (width<=700px){.visual-fields,.advanced-contract>div{grid-template-columns:1fr}}.live-entry-bar,.group-live-actions,.live-header,.live-question-meta,.live-controls{align-items:center;gap:16px;display:flex}.live-entry-bar{border:1px solid var(--line);border-left:5px solid var(--terra);background:var(--paper);justify-content:space-between;margin-bottom:18px;padding:18px 22px}.live-entry-bar>div{gap:5px;display:grid}.group-live-actions{flex-wrap:wrap;justify-content:flex-end}.live-mode-picker{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.live-mode-picker button{border:1px solid var(--line);min-height:48px;color:var(--ink);background:#fff;font-weight:700}.live-mode-picker button.active{border-color:var(--forest);background:var(--forest);color:#fff}.field-counter{color:#68736d;justify-self:end;font-size:.75rem}.live-screen{color:#fffaf0;background:#16231e;min-height:100vh;padding:clamp(28px,4vw,64px) clamp(28px,4vw,64px) 130px}.live-screen h1,.live-screen h2,.live-screen h3{color:inherit}.live-header{justify-content:space-between;align-items:start}.live-header h1{max-width:1000px;margin-top:10px;font-size:clamp(2rem,4vw,4.6rem);line-height:1}.live-kicker{color:#f2b985;letter-spacing:.16em;text-transform:uppercase;font-size:.9rem;font-weight:700}.live-code-small{text-align:right;display:grid}.live-code-small span{color:#b9c9c1;text-transform:uppercase;font-size:.8rem}.live-code-small strong{color:#f2b985;letter-spacing:.12em;font-size:clamp(2rem,4vw,4rem)}.live-error{z-index:3;color:#fff;background:#9d392b;margin:0;padding:12px 20px;position:fixed;top:15px;left:50%;transform:translate(-50%)}.live-lobby-layout,.live-reveal-layout,.live-ended-layout{grid-template-columns:minmax(420px,1.2fr) minmax(300px,.8fr);align-items:center;gap:5vw;min-height:68vh;display:grid}.live-join-panel{text-align:center;justify-items:center;gap:18px;display:grid}.live-join-panel>span{font-size:clamp(1.3rem,2vw,2rem)}.live-join-panel>p{color:#b9c9c1;overflow-wrap:anywhere;max-width:600px;margin:0}.live-join-code{letter-spacing:.1em;color:#f2b985;font-size:clamp(6rem,14vw,13rem);line-height:.8}.live-join-panel svg{background:#fffaf0;padding:16px}.live-roster,.live-leaderboard{background:#243a31;align-self:stretch;padding:32px}.live-roster h2{font-size:clamp(2rem,4vw,4rem)}.live-roster>div{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.live-roster span{background:#315b4a;padding:12px 18px;font-size:1.2rem}.live-roster span small{margin-top:4px;font-size:.72em;font-weight:800;display:block}.team-red{color:#fff;background:#a83d35!important}.team-blue{color:#fff;background:#285f9d!important}.team-green{color:#fff;background:#31734b!important}.team-yellow{color:#16231e;background:#e4b93f!important}.team-orange{color:#fff;background:#c86a2d!important}.team-purple{color:#fff;background:#75519c!important}.live-question-layout{grid-template-columns:1fr 240px;align-items:center;gap:5vw;min-height:65vh;display:grid}.live-question-main h2{max-width:1200px;margin:28px 0;font-size:clamp(3rem,6vw,7rem);line-height:1.04}.live-question-meta{color:#f2b985;justify-content:space-between;font-size:clamp(1.2rem,2vw,2rem);font-weight:700}.live-timer{border:5px solid #f2b985;border-radius:50%;place-items:center;width:112px;height:112px;font-size:3rem;display:grid}.live-response-count{text-align:center;border-left:1px solid #4b665a;justify-items:center;padding:36px 20px;display:grid}.live-response-count strong{color:#f2b985;font-size:clamp(5rem,10vw,10rem)}.live-response-count span{font-size:1.4rem}.live-payload{font-size:clamp(2rem,4vw,5rem)}.live-options{grid-template-columns:repeat(2,minmax(240px,1fr));gap:18px;display:grid}.live-options span{background:#243a31;border:2px solid #4b665a;padding:24px 30px}.live-reveal-layout{align-items:start;margin-top:6vh}.live-reveal-layout h2{margin:18px 0 28px;font-size:clamp(2.2rem,4vw,4.8rem)}.live-answer{background:#315b4a;align-items:center;gap:18px;padding:24px 28px;font-size:clamp(1.8rem,3vw,3.5rem);display:flex}.live-answer svg{color:#f2b985;flex:none;width:50px;height:50px}.live-distribution{gap:16px;margin-top:30px;display:grid}.live-distribution>div{grid-template-columns:minmax(130px,.5fr) 1fr 50px;align-items:center;gap:14px;font-size:1.2rem;display:grid}.live-distribution>div>div{background:#243a31;height:28px}.live-distribution i{background:#f2b985;min-width:2px;height:100%;display:block}.live-leaderboard{color:#16231e;background:#fffaf0}.live-leaderboard h2{color:#16231e;font-size:2.8rem}.live-leaderboard ol,.live-podium ol{gap:10px;padding:0;list-style:none;display:grid}.live-leaderboard li{border-bottom:1px solid #d9cebc;grid-template-columns:45px 1fr auto;align-items:center;gap:12px;padding:12px;font-size:1.3rem;display:grid}.live-scoreboards{align-self:stretch;gap:18px;display:grid}.live-team-leaderboard{color:#16231e;background:#fffaf0;padding:28px}.live-team-leaderboard h2{color:#16231e;margin-bottom:18px;font-size:2.4rem}.live-team-leaderboard ol{gap:10px;padding:0;list-style:none;display:grid}.live-team-leaderboard li{grid-template-columns:42px 1fr auto auto;align-items:center;gap:14px;padding:14px 16px;font-size:1.25rem;display:grid}.live-team-leaderboard li span{font-size:1.8rem;font-weight:800}.live-team-leaderboard li small{font-weight:700}.live-team-leaderboard li b{text-align:right;min-width:70px;font-size:1.5rem}.live-podium .live-team-leaderboard{margin-bottom:28px}.word-cloud{text-align:center;flex-wrap:wrap;place-content:center;align-items:center;gap:clamp(18px,3vw,52px);min-height:48vh;padding:4vh 3vw;display:flex}.word-cloud span{color:#f2b985;text-shadow:0 5px 20px #00000040;line-height:.9}.word-cloud span:nth-child(3n+2){color:#fffaf0}.word-cloud span:nth-child(3n+3){color:#8fc4aa}.live-ended-layout{align-items:start;margin-top:6vh}.live-podium h2,.live-report h2{margin:16px 0 28px;font-size:clamp(2.5rem,4vw,4.5rem)}.live-podium li{background:#243a31;grid-template-columns:70px 1fr auto;align-items:center;gap:18px;padding:22px;font-size:1.5rem;display:grid}.live-podium li:first-child{background:#a94f32;transform:scale(1.04)}.live-podium li span{color:#f2b985;font-size:2.5rem}.live-report{max-height:62vh;padding-right:12px;overflow-y:auto}.live-report article{border-bottom:1px solid #4b665a;grid-template-columns:1fr auto;gap:12px 20px;padding:20px 0;display:grid}.live-report article h3{margin:5px 0 0;font-size:1.3rem}.live-report article>strong{color:#f2b985;font-size:2.5rem}.report-distribution{color:#b9c9c1;flex-wrap:wrap;grid-column:1/-1;gap:8px 18px;display:flex}.live-controls{z-index:2;background:#0a1410f0;justify-content:center;padding:20px;position:fixed;inset:auto 0 0}.live-controls button{color:#16231e;background:#f2b985;border:0;justify-content:center;align-items:center;gap:12px;min-width:210px;min-height:66px;font-size:1.2rem;font-weight:800;display:inline-flex}.live-controls button:disabled{opacity:.55}.live-controls .live-end-button{color:#fffaf0;background:0 0;border:2px solid #f2b985}.live-controls svg{width:28px;height:28px}.live-loading{place-items:center;font-size:2rem;display:grid}@media (width<=900px){.live-lobby-layout,.live-reveal-layout,.live-ended-layout,.live-question-layout{grid-template-columns:1fr}.live-response-count{border-top:1px solid #4b665a;border-left:0}.live-options,.live-mode-picker{grid-template-columns:1fr}}
