:root{color:#172637;font-synthesis:none;text-rendering:optimizelegibility;--ink:#172637;--navy:#12314b;--paper:#fbfdfb;--sky-paper:#edf4f5;--line:#cbdadd;--mint:#64c8ad;--mint-dark:#236d5c;--coral:#fb705e;--yellow:#f0c94c;--blue:#72aee6;--muted:#52656f;--shadow:0 18px 50px #12314b14;background:#edf4f5;font-family:Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}body{background:var(--sky-paper);min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit}:focus-visible{outline:3px solid var(--navy);outline-offset:3px}.sidebar :focus-visible{outline-color:var(--yellow)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{grid-template-columns:220px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--navy);color:#fff;flex-direction:column;height:100vh;padding:30px 20px 24px;display:flex;position:sticky;top:0;overflow:hidden}.brand{align-items:center;gap:12px;margin:0 6px 45px;display:flex}.brand-mark{border:2px solid #ffffffbf;border-radius:14px 14px 14px 4px;grid-template-columns:repeat(3,1fr);width:48px;height:48px;display:grid;overflow:hidden;transform:rotate(-2deg)}.brand-mark span{border-right:1px solid #ffffff40;place-items:center;font-family:Cascadia Mono,Consolas,monospace;font-size:12px;font-weight:700;display:grid}.brand-mark span:nth-child(2){background:var(--yellow);color:var(--navy)}.brand-copy{line-height:1;display:grid}.brand-copy strong{letter-spacing:-.04em;font-family:Trebuchet MS,sans-serif;font-size:21px}.brand-copy small{color:#b8d7de;text-transform:uppercase;letter-spacing:.18em;margin-top:5px;font-size:11px}.sidebar nav{z-index:1;gap:6px;display:grid}.nav-link{color:#cfe1e6;border-radius:12px;align-items:center;gap:13px;min-height:46px;padding:0 14px;font-size:14px;font-weight:650;transition:background .16s,color .16s,transform .16s;display:flex}.nav-link:hover{color:#fff;background:#ffffff14;transform:translate(2px)}.nav-link.active{color:var(--navy);background:var(--yellow)}.nav-button{text-align:left;cursor:pointer;background:0 0;border:0;width:100%}.sidebar-error{color:#ffd6cf;margin:6px 10px 0;font-size:10px;line-height:1.4}.sidebar-bottom{z-index:1;margin-top:auto}.main-content{width:100%;max-width:1500px;margin:0 auto;padding:44px clamp(28px,4vw,72px) 72px}.page-header{justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:34px;display:flex}.eyebrow{color:var(--mint-dark);text-transform:uppercase;letter-spacing:.14em;margin:0 0 10px;font-family:Cascadia Mono,Consolas,monospace;font-size:11px;font-weight:750}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.035em;font-family:Trebuchet MS,sans-serif}h1{max-width:780px;color:var(--navy);margin-bottom:9px;font-size:clamp(34px,4.2vw,56px);line-height:.98}h2{color:var(--navy);margin-bottom:8px;font-size:22px}.page-description{max-width:670px;color:var(--muted);margin-bottom:0;font-size:15px;line-height:1.6}.header-action{flex:none}.button{cursor:pointer;border:1px solid #0000;border-radius:13px;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:0 18px;font-size:14px;font-weight:750;transition:transform .16s,box-shadow .16s,background .16s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button.primary{color:#fff;background:#c44737;box-shadow:0 8px 22px #c447373d}.button.primary:hover{background:#a9362b;box-shadow:0 10px 26px #a9362b4d}.button.secondary{border-color:var(--line);color:var(--navy);background:#fff}.button.danger{color:#fff;background:#9e3429;box-shadow:0 8px 22px #9e342933}.button.ghost{color:var(--muted);background:0 0}.button:disabled{opacity:.45;cursor:not-allowed;transform:none}.button.full{width:100%}.text-link{color:var(--mint-dark);align-items:center;gap:6px;font-size:13px;font-weight:750;display:inline-flex}.text-link:hover{text-underline-offset:4px;text-decoration:underline}.panel{box-shadow:var(--shadow);background:#fbfdfbf0;border:1px solid #cbdaddbf;border-radius:24px 24px 24px 8px}.metric-strip{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px;display:grid}.metric-strip article{background:#ffffff9e;border:1px solid #cbdaddb3;border-radius:16px;align-items:center;gap:14px;padding:16px 18px;display:flex}.metric-icon{border-radius:12px 12px 12px 3px;place-items:center;width:42px;height:42px;display:grid}.metric-icon.coral{color:#b83f30;background:#ffe2dd}.metric-icon.mint{color:#24725f;background:#d8f4eb}.metric-icon.yellow{color:#8b6d00;background:#fff1ba}.metric-strip strong{color:var(--navy);font-family:Trebuchet MS,sans-serif;font-size:20px;display:block}.metric-strip small{color:var(--muted);font-size:12px}.dashboard-grid{grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:24px;display:grid}.assignment-focus,.student-pulse{padding:28px}.section-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;display:flex}.section-heading h2{margin-bottom:0}.status{border-radius:999px;align-items:center;gap:6px;padding:6px 9px;font-size:11px;font-weight:750;display:inline-flex}.status:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.status.live{color:#24725f;background:#dff4eb}.status.draft{color:#61717b;background:#edf1f3}.assignment-focus-body{grid-template-columns:minmax(220px,.8fr) minmax(180px,.6fr);align-items:center;gap:24px;display:grid}.assignment-summary dl{gap:14px;margin:0 0 26px;display:grid}.assignment-summary dl div{border-bottom:1px solid #e0e9ea;padding-bottom:12px}.assignment-summary dt{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;font-size:11px}.assignment-summary dd{color:var(--navy);margin:0;font-size:14px;font-weight:700}.student-list{display:grid}.student-row{border-top:1px solid #e4ebec;align-items:center;gap:12px;padding:16px 0;display:flex}.student-row:first-child{border-top:0;padding-top:4px}.avatar{width:38px;height:38px;color:var(--navy);border-radius:50% 50% 50% 12px;flex:none;place-items:center;font-family:Trebuchet MS,sans-serif;font-weight:800;display:grid}.avatar.orbit{background:#c7e6ff}.avatar.kite{background:#ffe1a8}.avatar.leaf{background:#ccebd8}.avatar.large{width:62px;height:62px;font-size:22px}.student-main{flex:1;display:grid}.student-main strong{color:var(--navy);font-size:14px}.student-main small,.accuracy small{color:var(--muted);font-size:11px}.accuracy{text-align:right;display:grid}.accuracy strong{color:var(--navy);font-size:15px}.exercise-sheet{color:#253241;background:#fffef8 linear-gradient(#dde8eb 1px,#0000 1px) 0 0/100% 28px;border:1px solid #d9d8ce;border-radius:3px;padding:28px 28px 24px 40px;position:relative;overflow:hidden;transform:rotate(-.7deg);box-shadow:0 18px 35px #1726371f}.exercise-sheet:after{content:"";border-left:2px solid #fb705e3d;position:absolute;inset:0 auto 0 28px}.sheet-holes{flex-direction:column;justify-content:space-between;display:flex;position:absolute;top:19px;bottom:19px;left:7px}.sheet-holes i{background:var(--sky-paper);border-radius:50%;width:9px;height:9px;box-shadow:inset 0 1px 2px #12314b38}.sheet-heading{color:#63727a;text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;font-family:Cascadia Mono,monospace;font-size:8px;display:flex}.exercise-sheet h3{margin:15px 0 17px;font-size:17px}.exercise-sheet ol{gap:10px;margin:0;padding-left:23px;display:grid}.exercise-sheet li{padding-left:5px;font-family:Cascadia Mono,Consolas,monospace;font-size:12px}.sheet-prompt{overflow-wrap:anywhere;line-height:1.45;display:block}.sheet-math{color:#384b5a;white-space:normal;margin-top:4px;font-size:11px;display:block}.sheet-options{flex-wrap:wrap;gap:5px;margin-top:6px;display:flex}.sheet-options>span{background:#ffffffb3;border:1px solid #bac8ce;border-radius:999px;padding:2px 6px;font-size:9px}.sheet-empty{color:var(--muted);text-align:center;background:#ffffff9e;border:1px dashed #c8d4d7;border-radius:10px;margin:24px 0;padding:18px;font-size:11px;line-height:1.5}.sheet-more{color:var(--muted);margin:14px 0 0;font-size:10px}.sheet-seed{color:#98a3a8;text-transform:uppercase;letter-spacing:.04em;font-family:Cascadia Mono,monospace;font-size:7px;position:absolute;bottom:7px;right:10px}.exercise-sheet.compact{min-height:235px;padding-top:24px}.toolbar{border-bottom:1px solid #e0e9ea;justify-content:space-between;align-items:center;gap:18px;padding:20px;display:flex}.search-field{width:min(390px,100%);color:var(--muted);background:#f3f7f7;border:1px solid #0000;border-radius:11px;align-items:center;gap:10px;padding:0 13px;display:flex}.search-field:focus-within{outline:3px solid var(--navy);outline-offset:3px;border-color:#0000}.search-field input{width:100%;height:42px;color:var(--ink);background:0 0;border:0;outline:0}.privacy-chip{color:var(--mint-dark);text-transform:uppercase;border:1px solid #b8ded2;border-radius:999px;padding:7px 10px;font-family:Cascadia Mono,monospace;font-size:10px;font-weight:700}.student-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:24px;display:grid}.student-card{background:#fff;border:1px solid #dbe5e7;border-radius:19px 19px 19px 6px;padding:22px}.student-card-top{justify-content:space-between;align-items:flex-start;display:flex}.grade-tag{color:var(--navy);background:#eef4f5;border-radius:8px;padding:6px 9px;font-family:Cascadia Mono,monospace;font-size:11px;font-weight:800}.student-card h2{margin:18px 0 4px}.student-card>p{min-height:22px;color:var(--muted);font-size:13px}.student-secondary-actions{justify-content:flex-end;gap:6px;margin:-4px 0 12px;display:flex}.student-card-stats{grid-template-columns:repeat(2,1fr);gap:8px;margin:18px 0;display:grid}.student-card-stats span{background:#f4f7f7;border-radius:10px;padding:10px;display:grid}.student-card-stats strong{color:var(--navy)}.student-card-stats small{color:var(--muted);font-size:10px}.table-panel{overflow:hidden}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{color:var(--muted);text-align:left;text-transform:uppercase;letter-spacing:.08em;background:#f4f8f8;padding:15px 20px;font-family:Cascadia Mono,monospace;font-size:10px}td{color:#445663;border-top:1px solid #e0e8e9;padding:18px 20px}td strong{color:var(--navy);margin-bottom:4px;display:block}td small{color:var(--muted)}.table-actions{gap:5px;display:flex}.icon-button{cursor:pointer;width:40px;height:40px;color:var(--navy);background:#fff;border:1px solid #d6e1e3;border-radius:11px;place-items:center;display:inline-grid}.icon-button:hover{background:#f1f6f6}.wizard-page{max-width:1380px;margin:0 auto;padding:36px clamp(24px,4vw,64px) 64px}.wizard-header{align-items:center;gap:18px;display:flex}.wizard-header h1{margin-bottom:0;font-size:38px}.stepper{grid-template-columns:repeat(4,1fr);gap:0;max-width:760px;margin:28px 0 30px 58px;padding:0;list-style:none;display:grid}.stepper li{color:var(--muted);align-items:center;gap:8px;font-size:12px;font-weight:700;display:flex;position:relative}.stepper li:after{content:"";z-index:-1;border-top:1px solid #cbd8da;position:absolute;top:13px;left:24px;right:8px}.stepper li:last-child:after{display:none}.stepper li>span{background:var(--sky-paper);border:1px solid #cbd8da;border-radius:50%;place-items:center;width:27px;height:27px;font-family:Cascadia Mono,monospace;display:grid}.stepper li.current{color:var(--navy)}.stepper li.current>span{background:var(--yellow);border-color:var(--yellow)}.stepper li.done{color:var(--mint-dark)}.stepper li.done>span{background:var(--mint);border-color:var(--mint);color:#fff}.wizard-layout{grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);align-items:start;gap:34px;display:grid}.wizard-form{flex-direction:column;min-height:570px;padding:32px;display:flex}.form-section{flex:1}.form-section h2{margin-bottom:26px;font-size:27px}fieldset{border:0;margin:0 0 26px;padding:0}legend,.field>span,.range-field>span strong{color:var(--navy);margin-bottom:10px;font-size:13px;font-weight:750;display:block}.segmented{grid-template-columns:repeat(6,1fr);gap:7px;display:grid}.segmented button{cursor:pointer;background:#fff;border:1px solid #d4e0e2;border-radius:11px;height:43px;font-weight:750}.segmented button.selected{background:var(--navy);border-color:var(--navy);color:#fff}.skill-options{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.skill-option{cursor:pointer;background:#fff;border:1px solid #d5e1e3;border-radius:14px;min-height:88px;padding:15px;display:flex}.skill-option input{opacity:0;position:absolute}.skill-option:focus-within{outline:3px solid var(--navy);outline-offset:3px}.skill-option span{align-content:center;display:grid}.skill-option strong{color:var(--navy);margin-bottom:4px;font-size:13px}.skill-option small{color:var(--muted);font-size:11px;line-height:1.4}.skill-option.selected{border:2px solid var(--mint-dark);background:#effaf6;padding:14px}.difficulty-scale{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.difficulty-scale button{cursor:pointer;background:#fff;border:1px solid #d5e1e3;border-radius:13px;justify-items:center;gap:5px;min-height:72px;padding:10px;display:grid}.difficulty-scale button>span{background:#edf3f4;border-radius:9px;place-items:center;width:28px;height:28px;font-family:Cascadia Mono,monospace;font-weight:800;display:grid}.difficulty-scale button small{color:var(--muted);font-size:10px}.difficulty-scale button.selected{border:2px solid var(--coral);background:#fff5f3;padding:9px}.difficulty-scale button.selected>span{background:var(--coral);color:#fff}.range-field{margin-bottom:27px;display:grid}.range-field>span{justify-content:space-between;align-items:center;display:flex}.range-field output{background:var(--navy);color:#fff;border-radius:8px;padding:5px 9px;font-family:Cascadia Mono,monospace;font-size:12px}input[type=range]{width:100%;accent-color:var(--coral)}.format-options{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.format-options label{border:1px solid #d5e1e3;border-radius:12px;align-items:center;gap:8px;padding:13px;font-size:12px;font-weight:650;display:flex}.format-options input{accent-color:var(--mint-dark)}.recipient-list{gap:9px;display:grid}.recipient-list label{background:#fff;border:1px solid #d5e1e3;border-radius:14px;align-items:center;gap:13px;padding:13px;display:flex}.recipient-list label>span:last-child{display:grid}.recipient-list strong{color:var(--navy);font-size:13px}.recipient-list small{color:var(--muted);font-size:11px}.recipient-list input{accent-color:var(--mint-dark);margin-left:4px}.publish-summary dl{grid-template-columns:repeat(2,1fr);gap:10px;margin:0 0 24px;display:grid}.publish-summary dl div{background:#f2f7f7;border-radius:12px;padding:14px}.publish-summary dt{color:var(--muted);text-transform:uppercase;font-size:10px}.publish-summary dd{color:var(--navy);margin:5px 0 0;font-weight:750}.field{display:grid}.field input{height:46px;color:var(--ink);border:1px solid #cddbdd;border-radius:11px;padding:0 13px}.field select{height:46px;color:var(--ink);background:#fff;border:1px solid #cddbdd;border-radius:11px;padding:0 38px 0 13px}.notice{color:var(--mint-dark);background:#ecf8f4;border-radius:12px;gap:11px;margin-top:18px;padding:13px;display:flex}.notice p{margin:0;font-size:12px;line-height:1.5}.wizard-actions{border-top:1px solid #e0e9ea;justify-content:space-between;gap:12px;margin-top:24px;padding-top:24px;display:flex}.preview-column{padding:18px 12px 0;position:sticky;top:28px}.preview-column .exercise-sheet{min-height:450px}.preview-note{max-width:320px;color:var(--muted);text-align:center;margin:26px auto 0;font-size:12px;line-height:1.5}.empty-state{text-align:center;justify-items:center;padding:70px 28px;display:grid}.empty-state>span{background:var(--yellow);width:70px;height:70px;color:var(--navy);border-radius:24px 24px 24px 7px;place-items:center;margin-bottom:20px;font-family:Trebuchet MS,sans-serif;font-size:32px;font-weight:800;display:grid;transform:rotate(-3deg)}.empty-state p{color:var(--muted)}.dev-mode-banner{z-index:50;box-shadow:var(--shadow);color:var(--mint-dark);text-transform:uppercase;letter-spacing:.08em;background:#fbfdfbf0;border:1px solid #b8ded2;border-radius:999px;padding:7px 11px;font-family:Cascadia Mono,monospace;font-size:9px;font-weight:750;position:fixed;bottom:18px;right:18px}.auth-page{background:linear-gradient(90deg,#0000 31px,#fb705e2e 32px,#0000 33px),repeating-linear-gradient(#edf4f5 0 27px,#dce8ea 28px);place-items:center;min-height:100vh;padding:28px;display:grid}.auth-card{background:#fffef8;border:1px solid #d9d8ce;border-radius:4px;width:min(480px,100%);padding:36px;transform:rotate(-.25deg);box-shadow:0 24px 70px #12314b29}.auth-card .brand{color:var(--navy);margin:0 0 42px}.auth-card .brand-mark{border-color:var(--navy)}.auth-card .brand-copy small{color:var(--mint-dark)}.auth-card h1{margin-bottom:16px;font-size:clamp(34px,7vw,48px)}.auth-card>p:not(.eyebrow):not(.form-feedback){color:var(--muted);line-height:1.6}.auth-card form{gap:18px;margin-top:28px;display:grid}.auth-symbol{background:var(--yellow);width:52px;height:52px;color:var(--navy);border-radius:16px 16px 16px 5px;place-items:center;margin-bottom:24px;display:grid}.input-with-icon{color:var(--muted);background:#fff;border:1px solid #cddbdd;border-radius:11px;align-items:center;gap:9px;padding-left:12px;display:flex}.input-with-icon:focus-within{outline:3px solid var(--navy);outline-offset:3px;border-color:#0000}.input-with-icon input{border:0;outline:0;flex:1;padding-left:0}.form-feedback,.form-error{color:var(--mint-dark);margin:14px 0 0;font-size:13px;line-height:1.5}.form-error{color:#a6382c}.loading-copy{color:var(--navy);font-weight:750}.query-state{min-height:180px;color:var(--muted);justify-content:center;align-items:center;gap:14px;padding:32px;display:flex}.query-state p{margin:3px 0 0;font-size:13px}.query-state strong{color:var(--navy)}.error-state{color:#a6382c}.empty-query{text-align:left}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.empty-inline{color:var(--muted);margin:12px 0 0;font-size:13px;line-height:1.6}.empty-inline.roomy{text-align:center;padding:30px}.create-student-panel{margin-bottom:22px;padding:26px}.student-form{grid-template-columns:minmax(180px,1fr) minmax(180px,.7fr);align-items:end;gap:18px;display:grid}.student-form fieldset{grid-column:1/-1;margin-bottom:0}.student-form .form-error{grid-column:1/-1}.avatar-picker{gap:9px;display:flex}.avatar-picker label{cursor:pointer;border:1px solid #d5e1e3;border-radius:12px;align-items:center;gap:9px;padding:9px 12px;font-size:12px;display:flex}.avatar-picker label.selected{border-color:var(--mint-dark);background:#effaf6}.avatar-picker input{opacity:0;position:absolute}.avatar-picker label:focus-within{outline:3px solid var(--navy);outline-offset:3px}.pairing-callout{background:#eaf8f3;border:1px solid #b8ded2;border-radius:18px 18px 18px 6px;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:22px;padding:22px 24px;display:flex}.pairing-callout strong{color:var(--navy);letter-spacing:.12em;font-family:Cascadia Mono,monospace;font-size:clamp(28px,5vw,44px)}.pairing-callout p:last-child{color:var(--muted);margin:8px 0 0;font-size:12px}.student-sessions{border-top:1px solid var(--line);margin:32px 24px 24px;padding-top:24px}.student-session-row{border:1px solid var(--line);border-radius:16px;justify-content:space-between;align-items:center;gap:16px;margin-top:12px;padding:16px;display:flex}.student-session-row p{color:var(--muted);margin:4px 0 0}.panel-error{padding:0 24px 24px}.inline-alert{color:#a6382c;background:#fff2ef;border:1px solid #f2b8ae;border-radius:12px;justify-content:space-between;gap:18px;margin-bottom:16px;padding:12px 16px;font-size:13px;display:flex}.inline-alert button{color:inherit;cursor:pointer;background:0 0;border:0;font-weight:750}.solutions-button{font-weight:900}.count-options{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.count-options button{min-height:68px;color:var(--navy);cursor:pointer;background:#fff;border:1px solid #d5e1e3;border-radius:12px;justify-items:center;gap:3px;font-family:Cascadia Mono,monospace;font-size:20px;font-weight:800;display:grid}.count-options button small{color:var(--muted);font-family:Segoe UI,sans-serif;font-size:10px;font-weight:650}.count-options button.selected{border:2px solid var(--coral);background:#fff5f3}.format-options span{color:var(--muted);border:1px solid #d5e1e3;border-radius:12px;align-items:center;gap:8px;padding:13px;font-size:12px;font-weight:650;display:flex}.progress-student{max-width:360px;margin-bottom:28px}.progress-list{gap:12px;display:grid}.progress-list article{background:#fff;border:1px solid #dbe5e7;border-radius:16px 16px 16px 5px;grid-template-columns:minmax(220px,1fr) minmax(330px,.8fr);gap:24px;padding:20px;display:grid}.progress-list article p:last-child{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.progress-list dl{grid-template-columns:repeat(3,1fr);gap:8px;margin:0;display:grid}.progress-list dl div{background:#f2f7f7;border-radius:10px;align-content:center;padding:11px;display:grid}.progress-list dt{color:var(--muted);text-transform:uppercase;font-size:9px}.progress-list dd{color:var(--navy);margin:4px 0 0;font-weight:800}.route-loading{min-height:280px;margin:8vh auto}.group-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.group-card{padding:24px}.group-card fieldset{margin-bottom:0}.group-members{gap:8px;display:grid}.group-members label{background:#fff;border:1px solid #dbe5e7;border-radius:12px;align-items:center;gap:12px;padding:10px 12px;display:flex}.group-members input{accent-color:var(--mint-dark)}.group-members label>span:last-child{display:grid}.group-members strong{color:var(--navy);font-size:13px}.group-members small{color:var(--muted);font-size:10px}.confirmation-dialog-backdrop{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#12314b9e;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.confirmation-dialog{background:#fff;border:1px solid #d8e4e7;border-radius:22px 22px 22px 7px;gap:18px;width:min(620px,100%);max-height:calc(100vh - 48px);margin:0;padding:clamp(24px,4vw,34px);display:grid;position:relative;overflow:auto;box-shadow:0 28px 80px #12314b52}.confirmation-dialog:before{background:var(--red);content:"";border-radius:22px 0 0 7px;width:6px;position:absolute;inset:0 auto 0 0}.confirmation-dialog[data-tone=primary]:before{background:var(--mint-dark)}.confirmation-dialog-header{align-items:flex-start;gap:14px;display:flex}.confirmation-dialog-header h2{color:var(--navy);margin:5px 0 0;font-family:Trebuchet MS,sans-serif;font-size:clamp(22px,3vw,30px);line-height:1.08}.confirmation-dialog-icon{width:42px;height:42px;color:var(--red);background:#fff0ed;border-radius:13px 13px 13px 5px;flex:none;place-items:center;display:grid}.confirmation-dialog-icon[data-tone=primary]{color:var(--mint-dark);background:#dff5ee}.confirmation-dialog-description{color:var(--muted);margin:0;font-size:13px;line-height:1.6}.confirmation-dialog-extra{gap:12px;display:grid}.delete-export-confirmation{color:var(--ink);background:#fff;border:1px solid #efc9c0;border-radius:10px;align-items:flex-start;gap:10px;margin:0;padding:12px 14px;font-size:12px;line-height:1.45;display:flex}.delete-export-confirmation input{accent-color:var(--red);margin-top:2px}.dialog-actions{justify-content:flex-end;align-items:center;gap:8px;padding-top:4px;display:flex}@media (width<=1000px){.app-shell{grid-template-columns:84px minmax(0,1fr)}.sidebar{padding:24px 13px}.brand{margin:0 auto 40px}.brand-copy,.nav-link span{display:none}.nav-link{justify-content:center;padding:0}.dashboard-grid,.wizard-layout{grid-template-columns:1fr}.preview-column{max-width:520px;margin:0 auto;position:static}.student-cards{grid-template-columns:repeat(2,1fr)}.group-grid,.progress-list article{grid-template-columns:1fr}}@media (width<=700px){.app-shell{padding-bottom:76px;display:block}.sidebar{z-index:20;width:100%;height:70px;padding:8px 12px max(8px, env(safe-area-inset-bottom));flex-direction:row;align-items:center;position:fixed;inset:auto 0 0;box-shadow:0 -8px 30px #12314b1f}.brand,.sidebar-bottom{display:none}.sidebar nav{grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;width:100%}.nav-link{min-height:48px}.nav-link span{font-size:9px;display:block}.nav-link{flex-direction:column;gap:2px;min-width:0}.dev-mode-banner{bottom:78px;right:12px}.main-content,.wizard-page{padding:26px 18px 40px}.page-header{align-items:start;display:grid}h1{font-size:38px}.header-action .button{width:100%}.metric-strip,.assignment-focus-body,.student-cards,.skill-options,.publish-summary dl{grid-template-columns:1fr}.student-cards{padding:15px}.toolbar{flex-direction:column;align-items:stretch}.privacy-chip{align-self:flex-start}.stepper{margin-left:0}.stepper li{font-size:0}.stepper li:after{right:18px}.wizard-form{padding:22px}.difficulty-scale,.format-options,.count-options,.student-form,.progress-list dl{grid-template-columns:1fr}.avatar-picker{flex-direction:column}.dialog-actions{flex-direction:column-reverse;align-items:stretch}.segmented{grid-template-columns:repeat(3,1fr)}.wizard-header h1{font-size:31px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.group-card-actions{align-items:center;gap:8px;display:flex}.group-recipient-list{grid-template-columns:repeat(2,minmax(0,1fr))}.group-recipient-mark{width:38px;height:38px;color:var(--mint-dark);background:#d8f4eb;border-radius:12px 12px 12px 4px;flex:none;place-items:center;font-family:Cascadia Mono,monospace;font-size:12px;font-weight:800;display:grid}.recipient-total{color:var(--mint-dark);background:#eef7f4;border-radius:10px;margin:4px 0 0;padding:10px 12px;font-size:12px;font-weight:750}.field-help{color:var(--muted);margin-top:7px;font-size:10px;line-height:1.45}.publish-summary>.field+.field{margin-top:16px}.recommendation-detail{color:var(--muted);margin-top:11px;font-size:11px}.recommendation-detail summary{cursor:pointer;width:fit-content;color:var(--mint-dark);font-weight:750}.recommendation-detail code{color:#52656f;overflow-wrap:anywhere;background:#f2f7f7;border-radius:8px;margin-top:8px;padding:9px 10px;font-size:10px;display:block}.preview-column .exercise-sheet:not(.compact){scrollbar-color:var(--mint) transparent;max-height:min(650px,100vh - 130px);overflow-y:auto;transform:none}.preview-column .exercise-sheet:not(.compact) ol{padding-right:8px}.preview-column .sheet-seed{text-align:right;margin-top:18px;display:block;position:static}@media (width>=1400px){.main-content{max-width:1660px;padding-left:48px;padding-right:48px}.wizard-page{max-width:1580px}.wizard-layout{grid-template-columns:minmax(650px,1.15fr) minmax(470px,.85fr)}.dashboard-grid{grid-template-columns:minmax(0,1.45fr) minmax(360px,.55fr)}.publish-summary dl{grid-template-columns:repeat(3,1fr)}}@media (width<=700px){.group-recipient-list{grid-template-columns:1fr}}.snapshot-error{min-height:180px;color:var(--ink);text-align:center;background:#fff8f5;border:1px dashed #e5b9af;border-radius:14px;place-content:center;justify-items:center;gap:14px;padding:24px;display:grid}.icon-button.tooltip{position:relative;overflow:visible}.icon-button.tooltip:after{content:attr(data-tooltip);z-index:30;background:var(--navy);color:#fff;text-align:center;white-space:normal;opacity:0;pointer-events:none;border-radius:8px;width:max-content;max-width:220px;padding:7px 9px;font-size:11px;font-weight:700;line-height:1.25;transition:opacity .12s,transform .12s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,4px);box-shadow:0 8px 24px #12314b2e}.icon-button.tooltip:hover:after,.icon-button.tooltip:focus-visible:after{opacity:1;transform:translate(-50%)}.icon-button.danger-icon{color:var(--coral-action)}.icon-button.danger-icon:hover{background:#fff0ed}.assignment-title-link{color:var(--navy);text-underline-offset:4px;text-decoration-color:#236f5c59;text-decoration-thickness:2px}.assignment-title-link:hover{color:var(--mint-dark);text-decoration-color:currentColor}.assignment-detail-layout{grid-template-columns:minmax(320px,.72fr) minmax(460px,1.28fr);align-items:start;gap:28px;display:grid}.assignment-detail-copy{padding:30px;position:sticky;top:28px}.assignment-detail-copy h2{margin:5px 0 24px}.assignment-detail-metadata{grid-template-columns:1fr 1fr;gap:0;margin:0 0 26px;display:grid}.assignment-detail-metadata div{border-bottom:1px solid #dce6e7;padding:13px 0}.assignment-detail-metadata div:nth-child(2n){padding-left:18px}.assignment-detail-metadata dt{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.assignment-detail-metadata dd{color:var(--navy);margin:4px 0 0;font-weight:800}.assignment-detail-actions{flex-wrap:wrap;gap:9px;display:flex}.retention-note{color:var(--muted);margin:20px 0 0;font-size:12px;line-height:1.55}.assignment-detail-sheet>.eyebrow{margin:0 0 9px}.assignment-detail-sheet .exercise-sheet{min-height:560px;max-height:calc(100vh - 150px);overflow-y:auto}.settings-grid{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:22px;display:grid}.settings-section{padding:30px}.settings-class{grid-column:1/-1}.settings-heading{color:var(--mint-dark);justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px;display:flex}.settings-heading h2,.settings-section>h2{margin:4px 0 0}.settings-section>p,.settings-heading+p{color:var(--muted);line-height:1.65}.settings-counts{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.settings-counts a{color:var(--navy);background:#f8fbfa;border:1px solid #d7e3e4;border-radius:16px;grid-template-columns:auto 1fr;align-items:center;gap:2px 10px;padding:18px;text-decoration:none;display:grid}.settings-counts a:hover{border-color:var(--mint);background:#f0faf7}.settings-counts strong{font-size:24px;line-height:1}.settings-counts span{color:var(--muted);grid-column:2;font-size:12px}.settings-mode{color:var(--mint-dark);letter-spacing:.06em;text-transform:uppercase;border:1px solid #b9dfd4;border-radius:999px;margin-top:12px;padding:7px 10px;font-size:10px;font-weight:800;display:inline-flex}@media (width<=1000px){.assignment-detail-layout,.settings-grid{grid-template-columns:1fr}.assignment-detail-copy{position:static}.settings-class{grid-column:auto}}@media (width<=640px){.assignment-detail-metadata,.settings-counts{grid-template-columns:1fr}.assignment-detail-metadata div:nth-child(2n){padding-left:0}.assignment-detail-actions{display:grid}}.progress-gamification{grid-template-columns:repeat(3,minmax(130px,1fr));gap:10px;margin:24px 0 12px;display:grid}.progress-gamification>div{background:#f7faf9;border:1px solid #d9e5e5;border-radius:14px;padding:16px 18px}.progress-gamification span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:10px;display:block}.progress-gamification strong{color:var(--navy);margin-top:5px;font-size:20px;display:block}.progress-scope-note{color:var(--muted);margin:0 0 20px;font-size:12px}.recommendation-detail>p{color:var(--muted);margin:10px 0 0;font-size:12px;line-height:1.55}.technical-detail{margin-top:10px}.technical-detail summary{color:var(--muted);font-size:11px}@media (width<=640px){.progress-gamification{grid-template-columns:1fr}}.progress-panel{padding:clamp(20px,3vw,32px)}.progress-student{z-index:6;margin-bottom:0;position:relative}.student-combobox-control{color:var(--muted);background:#fff;border:1px solid #cbdadd;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;margin-top:7px;transition:border-color .16s,box-shadow .16s;display:grid;overflow:hidden}.student-combobox-control:focus-within{border-color:var(--navy);box-shadow:0 0 0 3px #12314b21}.student-combobox-control>svg{margin-left:13px}.student-combobox-control input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;padding:12px 10px}.student-combobox-control button{width:44px;color:var(--navy);cursor:pointer;background:#f6f9f9;border:0;border-left:1px solid #e3ebed;align-self:stretch;place-items:center;display:grid}.student-combobox-control button[aria-expanded=true] svg{transform:rotate(180deg)}.student-combobox-popover{z-index:12;background:#fff;border:1px solid #cbdadd;border-radius:14px 14px 14px 5px;max-height:290px;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:auto;box-shadow:0 18px 42px #12314b33}.student-combobox-popover ul{gap:3px;margin:0;padding:6px;list-style:none;display:grid}.student-combobox-popover li button{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px 10px 10px 4px;align-items:center;gap:11px;padding:9px 10px;display:flex}.student-combobox-popover li button[data-active=true]{background:#e4f6f0}.student-combobox-popover li button[aria-selected=true]{box-shadow:inset 3px 0 0 var(--yellow)}.student-combobox-popover li button>span:last-child{gap:2px;display:grid}.student-combobox-popover strong{color:var(--navy);font-size:13px}.student-combobox-popover small{color:var(--muted);font-size:10px}.student-combobox-popover>p{color:var(--muted);margin:0;padding:16px;font-size:12px;line-height:1.45}.progress-dashboard{gap:24px;margin-top:clamp(16px,2vw,24px);display:grid}.progress-overview{color:#fff;background:var(--navy);border-radius:22px 22px 22px 7px;grid-template-columns:minmax(240px,.72fr) minmax(520px,1.28fr);gap:26px;padding:clamp(24px,3vw,36px);display:grid;box-shadow:0 18px 42px #12314b24}.progress-overview-copy{align-self:center}.progress-overview-copy .eyebrow{color:#8be0c7}.progress-overview-copy h2{color:#fff;letter-spacing:-.04em;max-width:460px;margin:7px 0 12px;font-family:Trebuchet MS,sans-serif;font-size:clamp(25px,2.4vw,38px);line-height:1.03}.progress-overview-copy>p:last-child{color:#cfe1e6;max-width:510px;margin:0;font-size:13px;line-height:1.6}.progress-overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0;display:grid}.overview-metric{background:#ffffff12;border:1px solid #ffffff1f;border-radius:14px;align-content:space-between;min-height:112px;padding:16px 18px;display:grid}.overview-metric-primary{background:var(--yellow);border-color:var(--yellow)}.overview-metric dt{color:#b8d7de;letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:700}.overview-metric-primary dt{color:#42576a}.overview-metric dd{color:#fff;letter-spacing:-.03em;margin:12px 0 0;font-family:Trebuchet MS,sans-serif;font-size:28px;font-weight:800}.overview-metric-primary dd{color:var(--navy)}.overview-metric dd small{letter-spacing:0;margin-left:6px;font-family:Segoe UI,sans-serif;font-size:12px;font-weight:700}.progress-overview-copy>.progress-gamification{border-top:1px solid #ffffff24;grid-column:1/-1;grid-template-columns:repeat(3,1fr);gap:0;margin:0}.progress-overview-copy>.progress-gamification>div{background:0 0;border:0;border-radius:0;padding:18px 20px 0}.progress-overview-copy>.progress-gamification>div:first-child{padding-left:0}.progress-overview-copy>.progress-gamification>div+div{border-left:1px solid #ffffff1f}.progress-overview-copy>.progress-gamification span{color:#9fc8d2}.progress-overview-copy>.progress-gamification strong{color:#fff}.progress-section,.review-board{background:#fbfdfb;border:1px solid #d7e3e5;border-radius:20px 20px 20px 6px;padding:clamp(22px,3vw,30px)}.progress-section-header{justify-content:space-between;align-items:start;gap:24px;margin-bottom:20px;display:flex}.progress-section-header .eyebrow{margin-bottom:6px}.progress-section-header h2{color:var(--navy);letter-spacing:-.035em;margin:0;font-family:Trebuchet MS,sans-serif;font-size:clamp(22px,2vw,29px)}.progress-section-header>div>p:last-child{max-width:720px;color:var(--muted);margin:8px 0 0;font-size:13px;line-height:1.55}.review-board{background:repeating-linear-gradient(#0000 0 33px,#cbdadd3d 34px),#fffefa;padding-left:clamp(50px,5vw,72px);position:relative;overflow:hidden}.review-board:before{content:"";background:#fb705e6b;width:2px;position:absolute;top:0;bottom:0;left:31px}.review-count{color:var(--navy);background:var(--yellow);border-radius:999px;flex:none;padding:8px 12px;font-size:11px;font-weight:800}.review-items{gap:14px;display:grid}.review-item{border:1px solid #dbe5e7;border-left:5px solid var(--coral);background:#fff;border-radius:14px;padding:20px;box-shadow:0 8px 24px #12314b0d}.review-item[data-resolved=true]{border-left-color:var(--mint)}.review-item>header{justify-content:space-between;align-items:start;gap:20px;display:flex}.review-context{color:var(--mint-dark);letter-spacing:.04em;text-transform:uppercase;margin:0 0 11px;font-family:Cascadia Mono,Consolas,monospace;font-size:10px;font-weight:700}.review-prompt-label{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:9px;font-weight:700;display:block}.review-item h3{color:var(--navy);margin:5px 0 0;font-family:Trebuchet MS,sans-serif;font-size:20px;line-height:1.25}.review-status,.activity-state{color:#9a382c;background:#fff0ed;border-radius:999px;flex:none;padding:7px 10px;font-size:10px;font-weight:800}.review-item[data-resolved=true] .review-status{color:#236d5c;background:#e3f6ef}.review-answers{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0;display:grid}.review-answers div{background:#f2f7f7;border-radius:11px;padding:13px 15px}.review-answers dt,.activity-history-metrics dt{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:9px;font-weight:700}.review-answers dd{color:var(--navy);margin:5px 0 0;font-family:Cascadia Mono,Consolas,monospace;font-size:17px;font-weight:800}.response-sequence>p{color:var(--navy);margin:0 0 9px;font-size:11px;font-weight:800}.response-sequence ol{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.response-sequence li{background:#fff8f6;border:1px solid #f0c8c1;border-radius:10px;grid-template-columns:24px auto 1fr;align-items:center;gap:8px;min-width:230px;padding:9px 11px;display:grid}.response-sequence li[data-correct=true]{background:#f0faf7;border-color:#b9e2d6}.response-number{color:#fff;background:var(--coral);border-radius:50%;place-items:center;width:24px;height:24px;font-size:10px;font-weight:800;display:grid}.response-sequence li[data-correct=true] .response-number{background:var(--mint-dark)}.response-sequence li strong{color:var(--navy);font-family:Cascadia Mono,Consolas,monospace;font-size:13px}.response-sequence li>span:nth-of-type(2){color:var(--muted);font-size:10px;font-weight:700}.response-sequence time{color:var(--muted);grid-column:2/-1;font-size:9px}.activity-history-list{gap:11px;display:grid}.activity-history-card{background:#fff;border:1px solid #dbe5e7;border-radius:15px;grid-template-columns:minmax(280px,1fr) minmax(380px,.9fr);gap:24px;padding:20px;display:grid}.activity-history-heading{justify-content:space-between;align-items:start;gap:16px;display:flex}.activity-date{color:var(--muted);margin:0 0 5px;font-size:10px;font-weight:700}.activity-history-heading h3{color:var(--navy);letter-spacing:-.02em;margin:0;font-family:Trebuchet MS,sans-serif;font-size:18px}.activity-state[data-state=completed]{color:#236d5c;background:#e3f6ef}.activity-state[data-state=started]{color:#775e00;background:#fff5c9}.activity-state[data-state=pending]{color:#245e91;background:#e8f3fd}.activity-state[data-state=archived]{color:var(--muted);background:#edf2f3}.activity-history-main>label{color:var(--muted);gap:7px;margin-top:17px;font-size:11px;font-weight:700;display:grid}.activity-history-main progress{width:100%;height:7px;accent-color:var(--mint-dark);border:0;border-radius:999px;overflow:hidden}.activity-history-main progress::-webkit-progress-bar{background:#e9f0f1}.activity-history-main progress::-webkit-progress-value{background:var(--mint-dark)}.activity-history-main progress::-moz-progress-bar{background:var(--mint-dark)}.activity-history-note{color:var(--muted);margin:10px 0 0;font-size:10px;line-height:1.45}.activity-history-metrics{grid-template-columns:repeat(3,1fr);gap:8px;margin:0;display:grid}.activity-history-metrics div{background:#f2f7f7;border-radius:10px;align-content:center;min-width:0;padding:12px;display:grid}.activity-history-metrics dd{color:var(--navy);margin:5px 0 0;font-size:16px;font-weight:800}.progress-list h3{color:var(--navy);margin:6px 0 8px;font-family:Trebuchet MS,sans-serif;font-size:18px}@media (width<=1100px){.progress-overview,.activity-history-card{grid-template-columns:1fr}}@media (width<=700px){.progress-dashboard{gap:16px}.progress-overview{grid-template-columns:1fr;padding:22px}.progress-overview-metrics,.review-answers,.activity-history-metrics,.progress-overview-copy>.progress-gamification{grid-template-columns:1fr}.progress-overview-copy>.progress-gamification>div,.progress-overview-copy>.progress-gamification>div:first-child{padding:13px 0}.progress-overview-copy>.progress-gamification>div+div{border-top:1px solid #ffffff1f;border-left:0}.progress-section,.review-board{padding:20px}.review-board{padding-left:34px}.review-board:before{left:18px}.progress-section-header,.review-item>header,.activity-history-heading{display:grid}.review-count,.review-status,.activity-state{width:fit-content}.response-sequence ol,.response-sequence li{display:grid}.response-sequence li{grid-template-columns:24px auto 1fr;width:100%;min-width:0}}
