@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-ext-wght-normal-BOFOeGcA.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-wght-normal-Xz1IZZA0.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color:#203a35;font-synthesis:none;text-rendering:optimizelegibility;--ink:#203a35;--muted:#73817b;--canvas:#f3f5f1;--paper:#fff;--line:#e2e8e2;--pine:#153d35;--green:#1e7d63;--mint:#e0f1e8;--coral:#f4e2d9;--gold:#f3ebd1;--shadow:0 14px 40px #1939301f;background:#f3f5f1;font-family:DM Sans,Avenir Next,sans-serif}*{box-sizing:border-box}html{background:var(--canvas);min-width:320px}body{min-width:320px;min-height:100vh;color:var(--ink);background:var(--canvas);margin:0;font-size:14px}button,input,textarea{font:inherit}button{color:inherit;cursor:pointer}button:disabled{cursor:not-allowed}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline-offset:3px;outline:3px solid #d49a4e}::selection{color:#143b34;background:#bfe7d0}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#edf1ec}::-webkit-scrollbar-thumb{background:#b7c5bc;border:2px solid #edf1ec;border-radius:8px}h1,h2,h3,p{margin-top:0}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.app-shell{grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#e7f1ea;background:var(--pine);z-index:5;flex-direction:column;height:100vh;min-height:100vh;padding:26px 17px 16px;display:flex;position:sticky;top:0}.brand-lockup{align-items:center;gap:11px;min-height:38px;padding:0 8px;display:flex}.brand-mark{color:#173e35;background:#c5e68e;border-radius:11px;place-items:center;width:34px;height:34px;display:grid}.brand-name{letter-spacing:-.03em;color:#bdd1c6;white-space:nowrap;font-size:13px;line-height:1.1}.brand-name strong{color:#fff;letter-spacing:-.025em;margin-top:3px;font-size:14px;font-weight:650;display:block}.course-switcher{background:#ffffff0e;border:1px solid #e4f1e821;border-radius:12px;align-items:center;gap:10px;margin-top:38px;padding:10px 9px;display:flex}.course-mark{color:#edf5ed;letter-spacing:.06em;background:#376557;border-radius:10px;flex:none;place-items:center;width:34px;height:34px;font-size:11px;font-weight:700;display:grid}.course-switcher-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.course-switcher-copy strong{color:#fff;font-size:12px;font-weight:650}.course-switcher-copy small{color:#a6bdb1;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.course-chevron{color:#a6bdb1}.primary-nav{flex-direction:column;gap:4px;margin-top:32px;display:flex}.nav-section-label{color:#85a094;letter-spacing:.12em;margin:0 9px 9px;font-size:10px;font-weight:700}.nav-link{color:#b5c9be;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;width:100%;min-height:43px;padding:0 11px;font-size:13px;font-weight:540;transition:color .18s,background .18s,transform .18s;display:flex;position:relative}.nav-link:hover{color:#fff;background:#ffffff13;transform:translate(2px)}.nav-link.is-active{color:#fff;background:#285a4b;box-shadow:inset 3px 0 #c4e78b}.nav-link.is-active svg{color:#d2efa1}.nav-count{color:#183d34;background:#c6e897;border-radius:8px;place-items:center;min-width:21px;height:21px;margin-left:auto;font-size:11px;font-weight:700;display:grid}.sidebar-bottom{margin-top:auto}.sidebar-demo-note{color:#9fbaad;align-items:center;gap:8px;padding:10px 9px;font-size:11px;display:flex}.live-dot,.demo-label-dot{background:#bde488;border-radius:50%;width:7px;height:7px;display:inline-block;box-shadow:0 0 0 3px #bde48821}.reset-link{color:#a9bdb3;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:9px;width:100%;padding:10px 9px;font-size:12px;transition:color .18s,background .18s;display:flex}.reset-link:hover{color:#fff;background:#ffffff13}.instructor-chip{border-top:1px solid #e6f1e924;align-items:center;gap:9px;margin-top:14px;padding:13px 5px 2px;display:flex}.instructor-avatar{color:#193f36;background:#e5bd98;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;font-size:10px;font-weight:750;display:grid}.instructor-chip>span:nth-child(2){flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.instructor-chip strong{color:#edf5ef;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;overflow:hidden}.instructor-chip small{color:#8fa99c;font-size:10px}.more-dots{color:#97afa3;letter-spacing:2px;font-size:12px}.main-column{flex-direction:column;min-width:0;min-height:100vh;display:flex}.topbar{background:#fafbf8;border-bottom:1px solid #e7ebe6;flex:none;justify-content:space-between;align-items:center;height:66px;padding:0 clamp(22px,4.2vw,62px);display:flex}.breadcrumb{color:#87948d;align-items:center;gap:10px;font-size:12px;display:flex}.breadcrumb strong{color:#3c5149;font-weight:620}.breadcrumb-divider{color:#c0c9c1}.topbar-actions{align-items:center;gap:22px;display:flex}.demo-label{color:#61746b;background:#fff;border:1px solid #e3e9e3;border-radius:999px;align-items:center;gap:8px;padding:7px 10px;font-size:11px;font-weight:600;display:inline-flex}.demo-label-dot{background:#57a77d;width:6px;height:6px;box-shadow:0 0 0 3px #e4f2e8}.topbar-help{color:#687970;background:0 0;border:0;align-items:center;gap:7px;padding:7px 0;font-size:12px;display:inline-flex}.topbar-help:hover{color:var(--green)}.storage-banner{color:#684e21;background:#fff3d8;align-items:center;gap:9px;padding:10px 32px;font-size:12px;display:flex}.main-content{flex:1;width:min(100%,1520px);margin:0 auto;padding:34px clamp(22px,4.2vw,62px) 42px}.app-footer{color:#8b9891;justify-content:space-between;align-items:center;gap:16px;padding:17px clamp(22px,4.2vw,62px) 22px;font-size:10px;display:flex}.page-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin:0 0 24px;display:flex}.page-heading h1{color:#183d34;letter-spacing:-.045em;margin:0 0 7px;font-size:clamp(26px,2.5vw,34px);font-weight:680;line-height:1.13}.page-heading p{color:#7b8982;margin:0;font-size:13px}.page-heading p span{color:#b8c2bb;padding:0 4px}.page-heading-actions{align-items:center;gap:10px;display:flex}.synthetic-stamp{white-space:nowrap;color:#65786e;align-items:center;gap:8px;font-size:11px;font-weight:620;display:inline-flex}.synthetic-stamp>span{background:#70ae83;border-radius:2px;width:7px;height:7px}.button{border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:41px;padding:0 15px;font-size:12px;font-weight:650;text-decoration:none;transition:transform .18s,background .18s,border-color .18s,box-shadow .18s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-2px)}.button:active:not(:disabled){transform:translateY(0)scale(.985)}.button:disabled{opacity:.48}.button-primary{color:#fff;background:#1e7d63;box-shadow:0 5px 12px #1f7d6326}.button-primary:hover:not(:disabled){background:#176b55;box-shadow:0 7px 16px #1f7d6333}.button-secondary{color:#36584a;background:#fff;border-color:#dfe7df}.button-secondary:hover:not(:disabled){background:#f8fbf7;border-color:#bbd1c1}.button-quiet{color:#718078;background:0 0;border-color:#0000}.button-quiet:hover:not(:disabled){background:#f1f4f0}.icon-button{color:#718078;background:0 0;border:0;border-radius:9px;place-items:center;width:34px;height:34px;transition:background .16s,color .16s,transform .16s;display:grid}.icon-button:hover:not(:disabled){color:#24483e;background:#eef3ed;transform:rotate(4deg)}.icon-button:disabled{opacity:.4}.text-link,.notes-link{color:#1d7b62;background:0 0;border:0;align-items:center;gap:7px;padding:0;font-size:12px;font-weight:650;text-decoration:none;transition:gap .18s,color .18s;display:inline-flex}.text-link:hover,.notes-link:hover{color:#145c4b;gap:11px}.view-enter{animation:.34s cubic-bezier(.2,.8,.2,1) both view-enter}@keyframes view-enter{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.overview-heading{margin-bottom:22px}.overview-hero{color:#fff;background:#19483c;border-radius:21px;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);min-height:292px;display:grid;overflow:hidden;box-shadow:0 15px 34px #1e493b1c}.hero-copy{flex-direction:column;align-items:flex-start;padding:27px 32px 25px;display:flex}.hero-topline{justify-content:space-between;align-items:center;gap:16px;width:100%;margin-bottom:21px;display:flex}.assessment-mark{color:#dcebdc;align-items:center;gap:7px;font-size:11px;font-weight:600;display:inline-flex}.assessment-mark svg{color:#c8e58c}.assessment-number{color:#92b5a3;letter-spacing:.12em;font-size:9px;font-weight:700}.hero-copy h2{color:#fff;letter-spacing:-.05em;max-width:550px;margin:0 0 9px;font-size:clamp(28px,3vw,40px);font-weight:640;line-height:1.08}.hero-description{color:#c2d6ca;max-width:510px;margin:0;font-size:13px;line-height:1.65}.hero-progress-block{width:min(100%,500px);margin-top:auto;padding-top:23px}.hero-progress-copy,.hero-progress-foot{justify-content:space-between;align-items:center;gap:12px;display:flex}.hero-progress-copy{color:#c2d6ca;margin-bottom:9px;font-size:11px}.hero-progress-copy strong{color:#f5faf4;font-size:11px;font-weight:620}.progress-track{background:#e7f3e72b;border-radius:999px;height:7px;overflow:hidden}.progress-track>span{border-radius:inherit;transform-origin:0;background:#c5e88f;width:100%;height:100%;transition:transform .8s cubic-bezier(.16,1,.3,1);display:block}.hero-progress-foot{color:#a8c2b4;margin-top:9px;font-size:10px}.hero-progress-foot button{color:#d7e9d9;background:0 0;border:0;align-items:center;gap:5px;padding:0;font-size:10px;font-weight:600;display:inline-flex}.hero-progress-foot button:hover{color:#fff}.hero-companion{isolation:isolate;background:#c8e697;justify-content:center;align-items:flex-end;min-height:292px;display:flex;position:relative;overflow:hidden}.hero-companion:before,.hero-companion:after{content:"";z-index:-1;border:1px solid #2a5f412b;border-radius:50%;position:absolute}.hero-companion:before{width:250px;height:250px;bottom:-105px;right:9%}.hero-companion:after{width:195px;height:195px;bottom:-75px;right:17%}.companion-image{filter:drop-shadow(0 12px 12px #244d3029);width:auto;max-width:92%;height:316px;animation:4.8s ease-in-out infinite companion-float;position:absolute;bottom:-18px;left:68%;transform:translate(-50%)}@keyframes companion-float{0%,to{transform:translate(-50%)rotate(-1deg)}50%{transform:translate(-50%,-6px)rotate(1deg)}}.companion-caption{z-index:2;color:#284e3c;background:#faffeef5;border:1px solid #3d633f1a;border-radius:12px;align-items:flex-start;gap:8px;width:205px;padding:10px 12px;display:flex;position:absolute;top:18px;right:18px;box-shadow:0 9px 18px #32593017}.companion-caption-icon{color:#4d762f;background:#e4efc8;border-radius:8px;flex:none;place-items:center;width:24px;height:24px;display:grid}.companion-caption>span:last-child{flex-direction:column;gap:3px;display:flex}.companion-caption strong{font-size:10px;font-weight:700}.companion-caption small{color:#60725b;font-size:10px;line-height:1.4}.companion-shine{z-index:1;background:#fff5c7;border-radius:2px;width:7px;height:7px;animation:2.8s ease-in-out infinite sparkle;position:absolute;transform:rotate(45deg)}.shine-a{top:42%;left:16%}.shine-b{width:5px;height:5px;animation-delay:.9s;top:65%;right:14%}@keyframes sparkle{0%,to{opacity:.25;transform:rotate(45deg)scale(.7)}50%{opacity:.95;transform:rotate(45deg)scale(1.25)}}.section-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:15px;display:flex}.section-heading h2{color:#263f36;letter-spacing:-.035em;margin:0 0 4px;font-size:18px;font-weight:670;line-height:1.2}.section-heading p{color:#87938d;margin:0;font-size:11px}.journey-badge{color:#64804f;background:#f9fbf2;border:1px solid #e5eadf;border-radius:999px;align-items:center;gap:6px;padding:7px 10px;font-size:10px;font-weight:620;display:inline-flex}.journey-track{grid-template-columns:minmax(0,1fr) 25px minmax(0,1fr) 25px minmax(0,1fr);align-items:stretch;display:grid}.journey-step{background:#fff;border:1px solid #e4e9e2;border-radius:15px;min-width:0;padding:15px 17px 13px;transition:transform .2s,box-shadow .2s,border-color .2s;position:relative}.journey-step:hover{border-color:#cdded0;transform:translateY(-3px);box-shadow:0 9px 22px #23433412}.journey-connector{background:#cdd8ce;align-self:center;height:1px}.journey-step-top{justify-content:space-between;align-items:center;display:flex}.journey-icon{border-radius:9px;place-items:center;width:30px;height:30px;display:grid}.journey-mint .journey-icon{color:#328265;background:var(--mint)}.journey-coral .journey-icon{color:#ad6852;background:var(--coral)}.journey-gold .journey-icon{color:#9b7a35;background:var(--gold)}.journey-index{color:#b0bbb4;letter-spacing:.08em;font-size:10px;font-weight:700}.journey-step h3{color:#2f493e;letter-spacing:-.02em;margin:13px 0 3px;font-size:13px;font-weight:680}.journey-step p{color:#87938d;margin:0;font-size:10px}.journey-mini-track{background:#edf1ec;border-radius:99px;height:4px;margin-top:13px;overflow:hidden}.journey-mini-track span{border-radius:inherit;transform-origin:0;background:#72b78c;width:100%;height:100%;transition:transform .7s cubic-bezier(.16,1,.3,1);display:block}.journey-coral .journey-mini-track span{background:#d79272}.journey-gold .journey-mini-track span{background:#c8a459}.journey-step button{color:#43866d;background:0 0;border:0;align-items:center;gap:6px;margin-top:11px;padding:0;font-size:10px;font-weight:650;transition:gap .18s;display:inline-flex}.journey-step button:hover{gap:10px}.overview-lower-grid{grid-template-columns:minmax(0,1.65fr) minmax(230px,.75fr);gap:21px;margin-top:31px;display:grid}.compact-section-heading{align-items:flex-end;margin-bottom:12px}.review-queue{background:#fff;border:1px solid #e2e8e1;border-radius:14px;overflow:hidden}.review-row{text-align:left;background:#fff;border:0;border-bottom:1px solid #edf0ec;align-items:center;gap:11px;width:100%;min-height:62px;padding:9px 13px;transition:background .16s;display:flex}.review-row:last-child{border-bottom:0}.review-row:hover{background:#f8fbf7}.student-avatar{--avatar-tone:#d9e9d2;color:#3e6350;background:var(--avatar-tone);letter-spacing:.02em;border-radius:11px;flex:none;place-items:center;width:34px;height:34px;font-size:10px;font-weight:750;display:grid}.review-student{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.review-student strong{color:#354c40;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:650;overflow:hidden}.review-student small{color:#99a39d;font-size:9px}.review-score{color:#285745;font-variant-numeric:tabular-nums;font-size:12px;font-weight:700}.review-arrow{color:#90a197}.empty-queue{align-items:center;gap:11px;min-height:89px;padding:17px;display:flex}.empty-check{color:#37805f;background:#e3f1e5;border-radius:10px;place-items:center;width:32px;height:32px;display:grid}.empty-queue strong{color:#3d5447;font-size:12px}.empty-queue p{color:#849189;margin:3px 0 0;font-size:10px}.course-notes{background:#f5f8ee;border:1px solid #dfe9dc;border-radius:14px;align-self:start;padding:17px 18px 16px}.notes-heading{align-items:center;gap:9px;display:flex}.notes-heading h2{color:#35513e;margin:0;font-size:13px;font-weight:680}.notes-icon{color:#55793e;background:#e4edce;border-radius:9px;place-items:center;width:28px;height:28px;display:grid}.course-notes>p{color:#69796a;margin:11px 0 13px;font-size:10px;line-height:1.6}.notes-divider{background:#e1e8d9;height:1px;margin-bottom:12px}.note-stat-row{color:#788578;justify-content:space-between;align-items:center;gap:8px;margin:8px 0;font-size:10px;display:flex}.note-stat-row strong{color:#486148;font-size:10px;font-weight:650}.note-stat-row em{color:#5f8150;margin-left:5px;font-style:normal}.notes-link{margin-top:12px;font-size:10px}.gradebook-note{color:#697767;background:#f7f8ef;border:1px solid #e6e9d9;border-radius:10px;align-items:center;gap:9px;margin:-6px 0 15px;padding:10px 13px;font-size:11px;display:flex}.gradebook-note-icon{color:#8b9b55;display:grid}.gradebook-note>span:nth-child(2){flex:1}.gradebook-note button{color:#57836c;white-space:nowrap;background:0 0;border:0;align-items:center;gap:5px;padding:0;font-size:10px;font-weight:650;display:inline-flex}.gradebook-panel,.roster-panel{background:#fff;border:1px solid #e2e8e1;border-radius:16px;overflow:hidden}.gradebook-panel-header{justify-content:space-between;align-items:center;gap:20px;padding:19px 21px 14px;display:flex}.gradebook-panel-header h2{color:#294438;letter-spacing:-.025em;margin:0 0 4px;font-size:16px;font-weight:670}.gradebook-panel-header p{color:#87938d;margin:0;font-size:10px}.search-control{color:#829088;background:#fbfcfa;border:1px solid #e1e7e1;border-radius:9px;align-items:center;gap:8px;width:220px;min-height:37px;padding:0 10px;display:flex}.search-control:focus-within{border-color:#7eb79a;box-shadow:0 0 0 3px #4c966d1f}.search-control input{color:#314a3e;background:0 0;border:0;outline:0;width:100%;min-width:0;padding:0;font-size:11px}.search-control input::placeholder{color:#a0aaa4}.filter-tabs{border-bottom:1px solid #edf0ec;align-items:center;gap:5px;padding:0 20px 13px;display:flex;overflow-x:auto}.filter-tabs button{color:#718078;white-space:nowrap;background:0 0;border:0;border-radius:8px;align-items:center;gap:7px;min-height:31px;padding:0 10px;font-size:10px;transition:color .16s,background .16s;display:inline-flex}.filter-tabs button:hover{color:#3e6953;background:#f2f7f1}.filter-tabs button.is-selected{color:#24694f;background:#e6f2e7;font-weight:650}.filter-tabs button span{color:#839189;font-variant-numeric:tabular-nums;background:#f0f3ef;border-radius:6px;place-items:center;min-width:18px;height:18px;font-size:9px;display:grid}.filter-tabs button.is-selected span{color:#317252;background:#d2e9d4}.table-scroll{width:100%;overflow:auto}.grade-table,.roster-table,.preview-table{border-collapse:collapse;text-align:left;width:100%}.grade-table{min-width:810px}.grade-table th,.roster-table th,.preview-table th{color:#89968f;letter-spacing:.015em;white-space:nowrap;background:#fafbf9;height:39px;padding:0 13px;font-size:9px;font-weight:650}.grade-table th:first-child,.roster-table th:first-child,.preview-table th:first-child{padding-left:21px}.grade-table th small{color:#a7b0aa;font-size:9px;font-weight:500}.grade-table td,.roster-table td{color:#52665b;white-space:nowrap;border-top:1px solid #eef1ed;height:58px;padding:7px 13px;font-size:11px}.grade-table td:first-child,.roster-table td:first-child{padding-left:21px}.grade-table tr{transition:background .16s}.grade-table tbody tr:hover{background:#fbfcfa}.grade-table tbody tr.row-approved{background:#fcfdfb}.student-cell{align-items:center;gap:10px;display:flex}.student-cell>span:last-child{flex-direction:column;gap:3px;min-width:0;display:flex}.student-cell strong{color:#344c40;font-size:11px;font-weight:650}.student-cell small{color:#98a39c;font-size:9px}.score-value{color:#42604e;font-variant-numeric:tabular-nums;font-size:12px;font-weight:650}.score-missing{color:#a9b2ac;font-size:12px;font-weight:600}.score-denominator{color:#a0aaa4;margin-top:3px;font-size:9px;display:block}.weighted-value{color:#2e5945;font-variant-numeric:tabular-nums;font-size:12px;font-weight:700}.weighted-missing{color:#a7b0aa;font-size:12px;font-weight:550}.status-pill{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:5px 8px;font-size:9px;font-weight:650;display:inline-flex}.status-dot{border-radius:50%;flex:none;width:6px;height:6px}.status-pending{color:#857450;background:#f6f1df}.status-pending .status-dot{background:#c7a74f}.status-review{color:#477450;background:#e6f3e6}.status-review .status-dot{background:#62a671;animation:2.6s ease-in-out infinite status-pulse}.status-approved{color:#446c69;background:#e1f0ee}.status-approved .status-dot{background:#4e9b91}@keyframes status-pulse{0%,to{box-shadow:0 0 #62a67100}50%{box-shadow:0 0 0 4px #62a67121}}.table-action{color:#688073;background:0 0;border:0;border-radius:7px;align-items:center;gap:5px;padding:6px 8px;font-size:10px;font-weight:650;transition:color .16s,background .16s,gap .16s;display:inline-flex}.table-action:hover{color:#216c54;background:#edf6ee;gap:8px}.table-action-review{color:#286a50;background:#edf6ee}.table-empty{text-align:center;color:#89968f!important;height:100px!important}.gradebook-panel-footer{color:#939f98;border-top:1px solid #edf0ec;justify-content:space-between;align-items:center;gap:12px;min-height:40px;padding:0 20px;font-size:9px;display:flex}.roster-readonly{color:#849189;align-items:center;gap:7px;font-size:11px;display:inline-flex}.roster-table{min-width:740px}.roster-table td{height:56px}.id-cell{font-variant-numeric:tabular-nums;color:#829189!important;font-size:10px!important}.email-link{color:#64816f;align-items:center;gap:6px;font-size:10px;text-decoration:none;display:inline-flex}.email-link:hover{color:#1a765b;text-underline-offset:3px;text-decoration:underline}.assessment-layout{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:start;gap:19px;display:grid}.assessment-form-panel,.rubric-form-panel{background:#fff;border:1px solid #e2e8e1;border-radius:15px;padding:21px}.form-panel-heading{align-items:center;gap:11px;margin-bottom:22px;display:flex}.form-panel-icon{color:#2f8063;background:#e5f3e9;border-radius:10px;flex:none;place-items:center;width:34px;height:34px;display:grid}.form-panel-icon.icon-coral{color:#a66950;background:#f6e9e2}.form-panel-heading h2{color:#2d493d;letter-spacing:-.025em;margin:0 0 3px;font-size:15px;font-weight:670}.form-panel-heading p{color:#8a968f;margin:0;font-size:10px}.form-field-block{min-width:0;margin-bottom:17px}.field-label{color:#4d6357;margin-bottom:7px;font-size:10px;font-weight:650;display:block}.field-label>span{color:#96a19b;margin-top:4px;font-size:9px;font-weight:450;line-height:1.45;display:block}.text-input,.form-textarea,.score-dialog textarea{color:#2e493d;background:#fcfdfb;border:1px solid #dfe6df;border-radius:8px;outline:0;width:100%;min-height:39px;padding:9px 11px;font-size:11px;transition:border-color .16s,box-shadow .16s}.text-input:focus,.form-textarea:focus,.score-dialog textarea:focus{border-color:#79b092;box-shadow:0 0 0 3px #4d94681c}.form-textarea{resize:vertical;line-height:1.5}.weight-editor{background:#f8faf4;border:1px solid #e6ebdf;border-radius:12px;padding:15px}.weight-editor-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.weight-editor-heading h3{color:#415748;margin:0 0 3px;font-size:11px;font-weight:670}.weight-editor-heading p{color:#89968a;margin:0;font-size:9px}.weight-total{color:#46764e;font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.weight-total small{color:#87968a;font-size:9px;font-weight:500}.weight-total.invalid{color:#a95742}.weight-fields{grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);align-items:end;gap:8px;display:grid}.weight-fields .form-field-block{margin-bottom:0}.weight-plus{color:#98a697;text-align:center;align-self:center;padding-top:14px}.suffix-input{background:#fff;border:1px solid #dfe6df;border-radius:8px;align-items:center;min-height:36px;transition:border-color .16s,box-shadow .16s;display:flex}.suffix-input:focus-within{border-color:#79b092;box-shadow:0 0 0 3px #4d94681c}.suffix-input input{color:#385343;font-variant-numeric:tabular-nums;background:0 0;border:0;outline:0;width:100%;min-width:0;height:34px;padding:0 9px;font-size:11px}.suffix-input>span{color:#87948b;padding-right:9px;font-size:10px}.policy-note,.inline-error{color:#8b937d;align-items:flex-start;gap:6px;margin:11px 0 0;font-size:9px;line-height:1.45;display:flex}.policy-note svg{flex:none}.inline-error{color:#a55743}.objective-max-field{margin:18px 0 0}.max-input{max-width:145px}.criterion-editor-list{flex-direction:column;gap:9px;display:flex}.rubric-total-banner{color:#785c46;background:#f9f0e7;border-radius:9px;justify-content:space-between;align-items:center;margin:-3px 0 14px;padding:10px 12px;font-size:10px;display:flex}.rubric-total-banner strong{color:#8e5e42;font-variant-numeric:tabular-nums;font-size:14px}.rubric-total-banner small{color:#ae8769;font-size:9px;font-weight:550}.criterion-editor{background:#fdfdfb;border:1px solid #ebeeea;border-radius:10px;padding:11px 12px 10px}.criterion-editor-top{align-items:center;gap:8px;display:flex}.criterion-index{color:#a56a53;background:#f6e9e1;border-radius:7px;flex:none;place-items:center;width:22px;height:22px;font-size:8px;font-weight:750;display:grid}.criterion-name-input,.criterion-guidance-input{background:0 0;border:0;outline:0;width:100%;min-width:0}.criterion-name-input{color:#42584c;font-size:11px;font-weight:670}.criterion-guidance-input{color:#87938c;width:calc(100% - 30px);margin:6px 0 7px 30px;font-size:9px}.criterion-name-input:focus-visible,.criterion-guidance-input:focus-visible{outline-offset:3px;border-radius:3px;outline:2px solid #7db293}.criterion-points-row{color:#8a978f;justify-content:space-between;align-items:center;margin-left:30px;font-size:9px;display:flex}.criterion-points{width:82px;min-height:28px}.criterion-points input{height:26px;padding-left:7px;font-size:10px}.criterion-points>span{padding-right:7px;font-size:9px}.remove-criterion{color:#a0aaa3;width:27px;height:27px;margin-left:auto}.add-criterion-button{color:#9b6850;background:0 0;border:0;align-items:center;gap:7px;margin-top:12px;padding:7px 0;font-size:10px;font-weight:650;display:inline-flex}.add-criterion-button:hover{color:#73432f}.assessment-save-row{justify-content:flex-end;align-items:center;gap:16px;margin-top:15px;display:flex}.assessment-save-message{color:#5a8a68;margin-right:auto;font-size:10px}.score-dialog,.import-dialog{width:min(680px,100% - 28px);max-height:min(90vh,920px);color:var(--ink);box-shadow:var(--shadow);background:#fff;border:1px solid #1f47361f;border-radius:18px;padding:0;overflow:hidden}.import-dialog{width:min(760px,100% - 28px)}.score-dialog::backdrop,.import-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0d241d80;animation:.2s both backdrop-in}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}.dialog-frame{max-height:inherit;flex-direction:column;display:flex}.dialog-header{border-bottom:1px solid #edf0ec;justify-content:space-between;align-items:flex-start;gap:20px;padding:20px 23px 16px;display:flex}.dialog-kicker{color:#72917b;letter-spacing:.12em;margin-bottom:5px;font-size:8px;font-weight:750;display:block}.dialog-header h2{color:#25463a;letter-spacing:-.035em;margin:0 0 4px;font-size:19px;font-weight:690;line-height:1.18}.dialog-header p{color:#8d9992;margin:0;font-size:10px}.close-button{flex:none}.dialog-body{padding:16px 23px 18px;overflow-y:auto}.score-summary{background:#f4f8f1;border-radius:11px;align-items:center;gap:11px;padding:12px 14px;display:flex}.score-summary-label{color:#748478;font-size:10px}.score-summary strong{color:#2f684c;font-variant-numeric:tabular-nums;font-size:18px;font-weight:720}.score-summary .status-pill{margin-left:auto}.formula-note{color:#8d9992;margin:8px 0 16px;font-size:9px}.score-section{border-top:1px solid #edf0ec;padding:14px 0 15px}.score-section-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.score-section-heading>div{align-items:center;gap:8px;display:flex}.score-section-heading h3{color:#3c5547;margin:0;font-size:12px;font-weight:680}.score-section-heading>span{color:#929d95;font-size:9px}.step-tag{color:#4b7d5e;background:#e8f3e8;border-radius:7px;place-items:center;width:24px;height:24px;font-size:8px;font-weight:750;display:grid}.step-tag-coral{color:#a26951;background:#f6e9e2}.score-input-wrap{background:#fff;border:1px solid #dfe6df;border-radius:8px;align-items:center;width:134px;min-height:35px;display:flex}.score-input-wrap:focus-within{border-color:#7eb493;box-shadow:0 0 0 3px #4d94681c}.score-input-wrap input{color:#31503f;font-variant-numeric:tabular-nums;background:0 0;border:0;outline:0;width:100%;min-width:0;height:33px;padding:0 9px;font-size:12px;font-weight:650}.score-input-wrap>span{color:#9aa59e;white-space:nowrap;padding-right:9px;font-size:9px}.rubric-score-list{border:1px solid #edf0ec;border-radius:10px;flex-direction:column;gap:0;display:flex;overflow:hidden}.rubric-score-row{border-bottom:1px solid #eef1ed;justify-content:space-between;align-items:center;gap:15px;padding:10px 12px;display:flex}.rubric-score-copy{align-items:flex-start;gap:9px;min-width:0;display:flex}.criterion-number{color:#b68b6f;padding-top:2px;font-size:8px;font-weight:750}.rubric-score-copy .field-label{color:#41594a;margin:0;font-size:10px}.rubric-score-copy .field-label span{color:#96a098;max-width:370px;font-size:9px;font-weight:450}.score-input-small{width:102px;min-width:102px;min-height:31px}.score-input-small input{height:29px;font-size:11px}.rubric-total-row{color:#87948b;background:#fafbf8;justify-content:space-between;align-items:center;padding:9px 12px;font-size:9px;display:flex}.rubric-total-row strong{color:#526b57;font-variant-numeric:tabular-nums;font-size:10px}.field-group{margin-top:2px}.score-dialog textarea{resize:vertical;font-size:10px;line-height:1.5;display:block}.score-dialog textarea::placeholder{color:#aab4ac}.field-error{color:#aa5542;margin:9px 0 0;font-size:10px}.approval-note{color:#748577;margin:11px 0 0;font-size:9px}.dialog-footer{background:#fcfdfb;border-top:1px solid #edf0ec;justify-content:flex-end;align-items:center;gap:8px;padding:13px 21px;display:flex}.import-body{padding-top:15px}.import-safety-note{color:#6e7b6d;background:#f6f7ed;border-radius:9px;align-items:flex-start;gap:8px;margin-bottom:14px;padding:10px 12px;font-size:9px;line-height:1.5;display:flex}.import-safety-note svg{color:#919e59;flex:none}.upload-zone{background:#fbfcf9;border:1px dashed #cbd9cb;border-radius:11px;align-items:center;gap:12px;padding:13px;display:flex}.upload-icon{color:#448166;background:#e6f3e9;border-radius:10px;flex:none;place-items:center;width:37px;height:37px;display:grid}.upload-zone>div{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.upload-zone strong{color:#45604e;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.upload-zone>div span{color:#8d9991;font-size:9px}.file-button{cursor:pointer;min-width:106px}.file-button input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.file-button:focus-within{outline-offset:3px;outline:3px solid #d49a4e}.import-example-row{color:#8d9990;justify-content:space-between;align-items:center;gap:12px;margin:9px 1px 15px;font-size:9px;display:flex}.import-example-row>span{align-items:center;gap:5px;display:inline-flex}.import-example-row .text-link{font-size:9px}.import-file-error{color:#914d3e;background:#fbede8;border-radius:9px;flex-direction:column;gap:3px;padding:12px;font-size:10px;display:flex}.import-file-error strong{font-size:11px}.preview-section{border:1px solid #e6ebe5;border-radius:11px;margin-top:10px;overflow:hidden}.preview-heading-row{border-bottom:1px solid #edf0ec;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex}.preview-heading-row h3{color:#3a5345;margin:0 0 3px;font-size:12px;font-weight:680}.preview-heading-row p{color:#929d96;margin:0;font-size:9px}.preview-counts{gap:6px;display:flex}.preview-counts span{white-space:nowrap;border-radius:7px;padding:5px 7px;font-size:8px;font-weight:700}.count-good{color:#457451;background:#e7f3e7}.count-bad{color:#a2664e;background:#f8ebe4}.preview-table-wrap{max-height:245px;overflow:auto}.preview-table{min-width:540px}.preview-table th{height:30px;font-size:8px}.preview-table td{color:#64756a;border-top:1px solid #f0f2ef;padding:7px 12px;font-size:9px}.preview-table td:first-child{padding-left:14px}.preview-table td strong{color:#43594a;font-size:9px;font-weight:650;display:block}.preview-table td span:not(.mini-result){color:#9aa49d;margin-top:2px;font-size:8px;display:block}.mini-result{align-items:center;gap:4px;max-width:290px;font-size:8px;line-height:1.3;display:inline-flex}.result-valid{color:#4d8a5f;font-weight:650}.result-invalid{color:#aa6047;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.preview-caution{color:#929c94;background:#fbfcfa;border-top:1px solid #edf0ec;margin:0;padding:9px 12px;font-size:8px}.import-footer{justify-content:space-between}.import-footer .button-primary{margin-left:auto}.gradebook-panel-footer,.roster-panel .gradebook-panel-footer{background:#fff}.roster-table .student-cell{gap:9px}.roster-table .student-cell strong{font-size:10px}.roster-table th,.roster-table .status-pill{font-size:8px}.toast-message{z-index:30;color:#315342;background:#fff;border:1px solid #d4e2d6;border-radius:12px;align-items:center;gap:9px;max-width:min(420px,100vw - 32px);padding:12px 16px 12px 12px;font-size:11px;animation:.34s cubic-bezier(.2,.85,.2,1) both toast-in;display:flex;position:fixed;bottom:23px;right:24px;box-shadow:0 12px 35px #1e3d3026}.toast-check{color:#32815a;background:#e2f2e5;border-radius:8px;flex:none;place-items:center;width:24px;height:24px;display:grid}@keyframes toast-in{0%{opacity:0;transform:translateY(9px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.mobile-nav{display:none}@media (width<=1180px){.app-shell{grid-template-columns:220px minmax(0,1fr)}.sidebar{padding-left:13px;padding-right:13px}.main-content,.topbar,.app-footer{padding-left:28px;padding-right:28px}.overview-hero{grid-template-columns:minmax(0,1.15fr) minmax(245px,.75fr)}.hero-copy{padding-left:25px;padding-right:25px}.companion-caption{width:186px;right:12px}}@media (width<=980px){.app-shell{grid-template-columns:78px minmax(0,1fr)}.sidebar{align-items:center;padding:18px 9px 13px}.brand-lockup{padding:0}.brand-name,.course-switcher-copy,.course-chevron,.nav-section-label,.nav-link>span:not(.nav-count),.sidebar-demo-note,.reset-link,.instructor-chip>span:nth-child(2),.more-dots{display:none}.course-switcher{background:0 0;border:0;justify-content:center;width:46px;margin-top:28px;padding:6px}.course-mark{width:38px;height:38px}.primary-nav{align-items:center;width:100%;margin-top:27px}.nav-link{justify-content:center;width:46px;height:46px;padding:0}.nav-link.is-active{box-shadow:inset 0 -3px #c4e78b}.nav-count{border:2px solid var(--pine);border-radius:7px;min-width:17px;height:17px;font-size:8px;position:absolute;top:-4px;right:-2px}.sidebar-bottom{justify-content:center;width:100%;margin-top:auto;display:flex}.instructor-chip{border-top:1px solid #e6f1e924;margin-top:0;padding:9px 0 0}.main-content,.topbar,.app-footer{padding-left:22px;padding-right:22px}.overview-hero{grid-template-columns:minmax(0,1fr) 245px}.hero-copy h2{font-size:31px}.overview-lower-grid{grid-template-columns:minmax(0,1.35fr) minmax(205px,.8fr);gap:14px}.assessment-layout{grid-template-columns:1fr}.assessment-form-panel,.rubric-form-panel{padding:19px}}@media (width<=760px){.app-shell{flex-direction:column;padding-bottom:68px;display:flex}.sidebar{flex-direction:row;justify-content:space-between;width:100%;height:auto;min-height:auto;padding:13px 18px;position:relative;top:auto}.brand-lockup{min-height:34px}.brand-name{display:block}.course-switcher,.primary-nav,.sidebar-bottom{display:none}.main-column{min-height:calc(100vh - 60px)}.topbar{height:49px;padding:0 18px}.topbar-actions{gap:0}.topbar-help{display:none}.demo-label{padding:6px 8px;font-size:9px}.main-content{padding:24px 18px 28px}.app-footer{padding:12px 18px 17px;font-size:9px}.mobile-nav{z-index:20;min-height:64px;padding:6px 8px max(6px,env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff7;border-top:1px solid #dfe7df;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #1f3d2e14}.mobile-nav button{color:#819088;background:0 0;border:0;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:0;font-size:8px;font-weight:600;display:flex}.mobile-nav button.is-active{color:#1b7558;background:#edf6ed}.page-heading{flex-direction:column;align-items:flex-start;gap:13px;margin-bottom:20px}.page-heading-actions{flex-wrap:wrap;justify-content:flex-start;width:100%}.overview-heading{flex-direction:row;align-items:flex-end}.overview-heading .page-heading-actions{flex-direction:column-reverse;align-items:flex-end;width:auto}.overview-heading .synthetic-stamp{font-size:9px}.overview-heading .button{min-height:37px;padding:0 10px;font-size:10px}.overview-hero{grid-template-columns:minmax(0,1fr) 190px}.hero-copy{padding:22px 20px}.hero-topline{margin-bottom:17px}.hero-copy h2{font-size:29px}.hero-description{font-size:11px}.hero-companion{min-height:260px}.companion-image{height:220px}.companion-caption{width:162px;padding:8px;top:12px;right:8px}.companion-caption small{font-size:8px}.journey-track{grid-template-columns:1fr;gap:9px}.journey-connector{display:none}.journey-step{grid-template-columns:38px minmax(0,1fr) auto;align-items:center;column-gap:8px;padding:10px 13px;display:grid}.journey-step-top{grid-row:span 3}.journey-step-top .journey-index{display:none}.journey-step h3{margin:0 0 2px}.journey-step p{margin:0}.journey-mini-track{grid-column:2/4;margin-top:8px}.journey-step button{white-space:nowrap;grid-area:1/3/span 2;align-self:center;margin:0}.journey-badge{font-size:8px}.overview-lower-grid{grid-template-columns:1fr}.course-notes{order:-1}.review-row{gap:8px;padding:8px 10px}.review-score{font-size:10px}.review-row .status-pill{font-size:8px}.gradebook-panel-header{flex-direction:column;align-items:flex-start;padding:16px 15px 12px}.search-control{width:100%}.filter-tabs{padding:0 13px 10px}.gradebook-panel-footer{padding:0 14px}.gradebook-note{flex-wrap:wrap;align-items:flex-start}.gradebook-note>span:nth-child(2){flex:calc(100% - 40px)}.gradebook-note button{margin-left:25px}.roster-readonly{margin-top:-5px}}@media (width<=540px){.topbar{padding:0 14px}.breadcrumb{gap:7px;font-size:10px}.demo-label{font-size:8px}.main-content{padding:19px 13px 24px}.app-footer{flex-direction:column;align-items:flex-start;gap:5px;padding:11px 13px 14px}.page-heading h1{font-size:27px}.page-heading p{font-size:11px}.overview-heading{flex-direction:column;align-items:flex-start}.overview-heading .page-heading-actions{flex-direction:row;justify-content:space-between;align-items:center;width:100%}.overview-heading .synthetic-stamp{order:2}.overview-heading .button{order:1}.overview-hero{grid-template-columns:minmax(0,1fr)}.hero-copy{min-height:260px;padding:19px}.hero-copy h2{max-width:340px;font-size:32px}.hero-description{max-width:340px}.hero-companion{justify-content:flex-end;min-height:180px}.companion-image{height:208px;animation-name:companion-float-mobile;bottom:-34px;left:auto;right:9%;transform:none}@keyframes companion-float-mobile{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-6px)rotate(1deg)}}.hero-companion:before{width:190px;height:190px;bottom:-100px;right:4%}.hero-companion:after{width:150px;height:150px;bottom:-75px;right:11%}.companion-caption{width:min(220px,60%);top:18px;left:16px;right:auto}.section-heading{flex-direction:column;align-items:flex-start;gap:9px}.compact-section-heading{flex-direction:row;align-items:flex-end}.journey-badge{align-self:flex-start}.review-row{min-height:58px}.review-row .status-pill{display:none}.review-score{margin-left:auto}.page-heading-actions>.button{flex:1}.assessment-form-panel,.rubric-form-panel{padding:15px}.dialog-header{padding:16px 16px 13px}.dialog-header h2{font-size:17px}.dialog-body{padding:13px 16px 15px}.dialog-footer{flex-wrap:wrap;padding:10px 13px}.dialog-footer .button{flex:1;min-width:105px;padding:0 9px;font-size:10px}.dialog-footer .button-quiet{flex:none}.score-summary{flex-wrap:wrap}.score-summary .status-pill{margin-left:auto}.rubric-score-row{gap:8px;padding:9px}.rubric-score-copy .field-label span{max-width:195px}.score-input-small{width:84px;min-width:84px}.upload-zone{flex-wrap:wrap}.upload-zone>div{flex-basis:calc(100% - 50px)}.file-button{margin-left:48px}.import-example-row,.preview-heading-row{flex-direction:column;align-items:flex-start}.toast-message{max-width:none;bottom:76px;left:12px;right:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.row-issues summary{color:#a26049;cursor:pointer;font-size:8px;font-weight:650}.row-issues ul{color:#895744;white-space:normal;max-width:280px;margin:5px 0 0;padding-left:14px;font-size:8px;line-height:1.45}.companion-image{max-width:92%;height:292px;bottom:0;left:68%}.companion-caption{width:165px;top:18px;left:14px;right:auto}@media (width<=1180px) and (width>=761px){.companion-caption{width:120px;padding:8px;top:12px;left:10px;right:auto}.companion-image{max-width:90%;height:264px;bottom:0;left:67%}}@media (width<=760px){.overview-hero{grid-template-columns:minmax(0,1fr) 220px}.hero-companion{min-height:252px}.companion-caption{width:min(128px,58%);padding:8px;top:12px;left:10px;right:auto}.companion-image{max-width:90%;height:252px;animation-name:companion-float;bottom:0;left:74%;transform:translate(-50%)}}@media (width<=540px){.overview-hero{grid-template-columns:minmax(0,1fr)}.hero-companion{min-height:240px}.companion-caption{width:min(190px,53%);top:16px;left:16px}.companion-image{height:240px;animation-name:companion-float-mobile;bottom:0;left:auto;right:8%;transform:none}}.brand-lockup{width:100%;padding-right:0}.brand-name{flex:1}.sidebar-toggle{color:#a7bdb2;background:0 0;border:0;border-radius:8px;flex:0 0 26px;place-items:center;width:26px;height:26px;transition:color .18s,background .18s;display:grid}.sidebar-toggle:hover{color:#fff;background:#ffffff14}.sidebar-toggle svg{transition:transform .18s;transform:rotate(90deg)}.app-shell.is-collapsed{grid-template-columns:78px minmax(0,1fr)}.app-shell.is-collapsed .sidebar{align-items:center;padding:18px 9px 13px}.app-shell.is-collapsed .brand-lockup{gap:0;padding:0}.app-shell.is-collapsed .brand-name,.app-shell.is-collapsed .course-switcher-copy,.app-shell.is-collapsed .course-chevron,.app-shell.is-collapsed .nav-section-label,.app-shell.is-collapsed .nav-link>span:not(.nav-count),.app-shell.is-collapsed .sidebar-demo-note,.app-shell.is-collapsed .reset-link,.app-shell.is-collapsed .instructor-chip>span:nth-child(2),.app-shell.is-collapsed .more-dots{display:none}.app-shell.is-collapsed .sidebar-toggle svg{transform:rotate(270deg)}.app-shell.is-collapsed .course-switcher{background:0 0;border:0;justify-content:center;width:46px;margin-top:28px;padding:6px}.app-shell.is-collapsed .course-mark{width:38px;height:38px}.app-shell.is-collapsed .primary-nav{align-items:center;width:100%;margin-top:27px}.app-shell.is-collapsed .nav-link{justify-content:center;width:46px;height:46px;padding:0}.app-shell.is-collapsed .nav-link.is-active{box-shadow:inset 0 -3px #c4e78b}.app-shell.is-collapsed .nav-count{border:2px solid var(--pine);border-radius:7px;min-width:17px;height:17px;font-size:8px;position:absolute;top:-4px;right:-2px}.app-shell.is-collapsed .sidebar-bottom{justify-content:center;width:100%;margin-top:auto;display:flex}.app-shell.is-collapsed .instructor-chip{border-top:1px solid #e6f1e924;margin-top:0;padding:9px 0 0}@media (width<=980px){.sidebar-toggle{display:none}}@media (width<=760px){.app-shell{padding-bottom:98px}.mobile-nav{left:50%;right:auto;bottom:max(12px,env(safe-area-inset-bottom));-webkit-backdrop-filter:none;backdrop-filter:none;background:#17191f;border:1px solid #343640;border-radius:999px;grid-template-columns:repeat(4,minmax(0,1fr));width:min(100vw - 32px,560px);min-height:66px;padding:7px 10px;transform:translate(-50%);box-shadow:0 12px 34px #0c110e57}.mobile-nav button{color:#b0b1ba;white-space:nowrap;background:0 0;border-radius:999px;gap:4px;font-size:9px;position:relative}.mobile-nav button.is-active{color:#ffca46;background:0 0}.mobile-nav button.is-active:after{content:"";background:#ffca46;border-radius:50%;width:4px;height:4px;position:absolute;bottom:1px}.mobile-nav button:focus-visible{outline-offset:-3px;outline-color:#ffca46}}@media (width<=360px){.mobile-nav{width:calc(100vw - 18px);padding-left:5px;padding-right:5px}.mobile-nav button{gap:3px;font-size:8px}.mobile-nav svg{width:17px;height:17px}}@media (width>=761px){.app-shell{column-gap:14px;padding:14px}.sidebar{border-radius:23px;height:calc(100vh - 28px);min-height:calc(100vh - 28px);top:14px;box-shadow:0 16px 42px #0f2d251f}.topbar{background:0 0;border-bottom:0}.main-content{padding-top:27px}}.overview-hero{border-radius:27px;min-height:326px;box-shadow:0 20px 46px #1e493b24}.hero-companion{min-height:326px}.companion-image{height:318px}.hero-copy{padding-top:30px;padding-bottom:28px}.hero-copy h2{letter-spacing:-.04em;font-size:clamp(31px,3.2vw,44px);line-height:1.04}.journey-section{margin-top:36px}.journey-track{border-top:1px solid #dfe7df;border-bottom:1px solid #dfe7df;grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr) 42px minmax(0,1fr);gap:0;padding:15px 2px 11px}.journey-step{min-height:140px;box-shadow:none;background:0 0;border:0;border-radius:0;padding:7px 13px;transition:background .18s}.journey-step:hover{box-shadow:none;background:#ffffff85;border-color:#0000;transform:none}.journey-step-top{justify-content:flex-start;gap:10px}.journey-icon{border-radius:12px;width:36px;height:36px}.journey-step h3{margin-top:13px;font-size:14px}.journey-step p{font-size:11px}.journey-mini-track{margin-top:14px}.journey-step button{margin-top:12px}.journey-connector{background:#b9cdbc;height:1px;margin-top:25px}@media (width<=1180px) and (width>=761px){.overview-hero,.hero-companion{min-height:326px}.companion-image{height:286px}.journey-track{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr)}.journey-step{padding-left:8px;padding-right:8px}}@media (width<=760px){.overview-hero{min-height:0}.hero-companion{min-height:252px}.companion-image{height:252px}.hero-copy h2{font-size:32px}.journey-track{border-top:1px solid #dfe7df;border-bottom:1px solid #dfe7df;grid-template-columns:1fr;gap:0;padding:12px 0;display:grid}.journey-step{grid-template-rows:auto auto auto;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;column-gap:10px;min-height:0;padding:9px 0;display:grid}.journey-step-top{flex-direction:column;grid-area:1/1/4;justify-content:flex-start;align-self:stretch;align-items:center;gap:0}.journey-step h3{grid-area:1/2;margin:0 0 2px;font-size:13px}.journey-step p{grid-area:2/2;margin:0}.journey-mini-track{grid-area:3/2;margin:8px 0 0}.journey-step button{white-space:nowrap;grid-area:1/3/4;align-self:center;margin:0}.journey-connector{justify-self:start;width:1px;height:12px;margin-left:19px;display:block}}@media (width<=540px){.hero-companion{min-height:240px}.companion-image{height:240px}}@media (width>=761px){.sidebar{-webkit-backdrop-filter:blur(18px)saturate(125%);backdrop-filter:blur(18px)saturate(125%);background:#153d35f0;border:1px solid #e2f1e821}.topbar{z-index:8;-webkit-backdrop-filter:blur(18px)saturate(150%);backdrop-filter:blur(18px)saturate(150%);background:#f9fbf7d1;border:1px solid #ffffffc2;border-radius:16px;height:56px;margin-bottom:2px;padding-left:18px;padding-right:18px;position:sticky;top:14px;box-shadow:0 8px 24px #1e3d300e}}@media (width<=760px){.topbar{z-index:8;-webkit-backdrop-filter:blur(16px)saturate(145%);backdrop-filter:blur(16px)saturate(145%);background:#f9fbf7e6;border-bottom:1px solid #e1e8e1b8;position:sticky;top:0}.mobile-nav{-webkit-backdrop-filter:blur(18px)saturate(145%);backdrop-filter:blur(18px)saturate(145%);background:#17191fe6;border-color:#fff3}}.specification-panel{background:#fff;border:1px solid #e1e8e1;border-radius:20px;margin-top:20px;padding:22px;box-shadow:0 10px 30px #1f3e300e}.specification-heading{grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:16px;display:grid}.specification-heading h2{color:#2e493d;letter-spacing:-.025em;margin:0 0 4px;font-size:16px;font-weight:680}.specification-heading p{color:#7b8981;margin:0;font-size:11px;line-height:1.45}.specification-icon{color:#59783f;background:#e9f0d9}.specification-totals{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.specification-totals span{color:#718078;white-space:nowrap;background:#f8faf6;border:1px solid #e4ebe0;border-radius:999px;padding:7px 9px;font-size:9px}.specification-totals strong{color:#305744;font-variant-numeric:tabular-nums;font-size:10px}.specification-scroll{background:#fff;border:1px solid #e5ebe4;border-radius:13px}.specification-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:960px}.specification-table th{color:#718078;text-align:left;letter-spacing:.025em;background:#f7f9f5;padding:10px 9px;font-size:9px;font-weight:680}.specification-table th:first-child{width:19%}.specification-table th:nth-child(2){width:14%}.specification-table th:nth-child(3){width:6%}.specification-table th:nth-child(4){width:8%}.specification-table th:nth-child(5){width:10%}.specification-table th:nth-child(6){width:39%}.specification-table th:last-child{width:4%}.specification-table td{vertical-align:top;border-top:1px solid #edf1eb;padding:8px 6px}.specification-table .text-input{border-radius:9px;min-height:38px;padding:8px 9px;font-size:10px}.specification-table .specification-number{text-align:right;font-variant-numeric:tabular-nums}.specification-table .specification-key{resize:vertical;min-height:54px;line-height:1.45}.specification-remove{color:#8c9890;width:32px;height:32px}.specification-remove:disabled{opacity:.35}.specification-error{margin:11px 0 0}.specification-footer{justify-content:space-between;align-items:center;gap:16px;margin-top:13px;display:flex}.specification-footer p{color:#849188;margin:0;font-size:10px;line-height:1.5}.specification-footer .add-criterion-button{flex:none}@media (width<=760px){.specification-panel{border-radius:17px;padding:15px}.specification-heading{grid-template-columns:36px minmax(0,1fr);align-items:start;gap:9px}.specification-heading h2{font-size:14px}.specification-totals{grid-column:1/3;justify-content:flex-start;padding-left:45px}.specification-table{min-width:1000px}.specification-footer{flex-direction:column;align-items:flex-start}}@media (width<=420px){.specification-totals{gap:5px;padding-left:0}.specification-totals span{padding:6px 7px;font-size:8px}}@media (prefers-reduced-transparency:reduce){.sidebar,.topbar,.mobile-nav{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.sidebar{background:var(--pine)!important}.topbar{background:#f7f9f4!important}.mobile-nav{background:#17191f!important}}.topbar-settings{color:#63766c;background:0 0;border:1px solid #0000;border-radius:9px;align-items:center;gap:7px;padding:7px 10px;font-size:11px;font-weight:620;transition:background .18s,color .18s,border-color .18s;display:inline-flex}.topbar-settings:hover,.topbar-settings.is-active{color:#1e6f58;background:#eef5ed;border-color:#e0e8df}.settings-page-heading{align-items:center}.settings-badge{color:#63776a;background:#fff;border:1px solid #e1e9df;border-radius:999px;align-items:center;gap:7px;padding:8px 11px;font-size:10px;font-weight:620;display:inline-flex}.settings-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;max-width:1050px;display:grid}.settings-panel{background:#fff;border:1px solid #e2e9e1;border-radius:18px;padding:22px;box-shadow:0 10px 28px #1f3e300b}.settings-panel-heading{align-items:center;gap:12px;margin-bottom:19px;display:flex}.settings-icon{color:#6e6a37;background:#f3efd9;border-radius:12px;flex:none;place-items:center;width:39px;height:39px;display:grid}.settings-icon-mint{color:#33765e;background:#e2f1e7}.settings-icon-warm{color:#8a5b3b;background:#f6e9df}.settings-panel-heading h2{color:#2f493e;letter-spacing:-.025em;margin:0 0 4px;font-size:15px;font-weight:680}.settings-panel-heading p{color:#7b8982;margin:0;font-size:11px;line-height:1.5}.theme-picker{grid-template-columns:1fr 1fr;gap:10px;display:grid}.theme-option{text-align:left;background:#fbfcfa;border:1px solid #e3e9e2;border-radius:13px;align-items:center;gap:11px;min-width:0;padding:12px;transition:border-color .18s,background .18s,transform .18s,box-shadow .18s;display:flex;position:relative}.theme-option:hover{border-color:#bfd4c5;transform:translateY(-2px);box-shadow:0 7px 17px #1f3e3012}.theme-option.is-selected{background:#f2f8f2;border-color:#4c9978;box-shadow:0 0 0 2px #4c997821}.theme-preview{background:#fff;border:1px solid #dce4db;border-radius:8px;flex-direction:column;flex:none;gap:4px;width:58px;height:43px;padding:6px;display:flex;box-shadow:0 3px 7px #14302614}.theme-preview>span{background:#e8eee7;border-radius:3px;height:5px}.theme-preview>span:first-child{background:#d1e5d3;width:70%;height:8px}.theme-preview>span:last-child{background:#a3cbb0;width:56%}.theme-preview-dark{background:#18231f;border-color:#384840}.theme-preview-dark>span{background:#2d3c35}.theme-preview-dark>span:first-child{background:#426b57}.theme-preview-dark>span:last-child{background:#719b77}.theme-option-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.theme-option-copy strong{color:#30473d;font-size:11px;font-weight:680}.theme-option-copy small{color:#829087;font-size:9px;line-height:1.35}.theme-selected-mark{color:#fff;background:#368264;border-radius:50%;place-items:center;width:20px;height:20px;display:grid;position:absolute;top:8px;right:8px}.settings-footnote{color:#7b8982;align-items:flex-start;gap:7px;margin:15px 0 0;font-size:10px;line-height:1.5;display:flex}.settings-footnote svg{color:#829589;flex:none}.privacy-panel{grid-column:1/-1}.settings-detail-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;display:grid}.settings-detail{align-items:flex-start;gap:9px;display:flex}.settings-detail-dot{background:#78ad84;border-radius:50%;flex:none;width:7px;height:7px;margin-top:4px;box-shadow:0 0 0 3px #edf5e9}.settings-detail>span:last-child{flex-direction:column;gap:4px;display:flex}.settings-detail strong{color:#465a4e;font-size:10px;font-weight:650}.settings-detail small{color:#829087;font-size:9px;line-height:1.5}.reset-panel{grid-column:1/-1;justify-content:space-between;align-items:center;gap:20px;display:flex}.reset-panel .settings-panel-heading{margin-bottom:0}.settings-reset-button{white-space:nowrap}@media (width<=760px){.topbar-actions{gap:8px}.topbar-settings{justify-content:center;width:34px;height:34px;padding:0}.topbar-settings span{display:none}.settings-page-heading{align-items:flex-start}.settings-layout{grid-template-columns:1fr;gap:12px}.settings-panel{border-radius:16px;padding:17px}.privacy-panel,.reset-panel{grid-column:auto}.settings-detail-list{grid-template-columns:1fr;gap:12px}.reset-panel{flex-direction:column;align-items:flex-start}.settings-reset-button{align-self:flex-start}}@media (width<=420px){.theme-picker{grid-template-columns:1fr}.theme-option{padding:10px}.settings-badge{font-size:9px}}.hero-companion{background:linear-gradient(177deg,#0000 0 64%,#446f4fdb 64.4% 100%),linear-gradient(#a9d1d7 0%,#d4e6d4 53%,#b8ce9f 100%)}.hero-companion:before,.hero-companion:after{border-color:#1d534638}.hero-companion:before{box-shadow:0 18px 0 -17px #1c52446b,0 36px 0 -35px #1c524452}.companion-shine{background:#edf5c7}.companion-image{z-index:2}.companion-caption{z-index:4}.companion-shine{z-index:3}@media (width>=761px){.companion-caption{width:148px;inset:auto auto 16px 14px}}@media (width<=760px){.companion-caption{width:min(150px,58%);inset:auto auto 12px 10px}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#e4eee7;--muted:#a4b3aa;--canvas:#151c19;--paper:#202a26;--line:#3a4840;--pine:#132e27;--green:#69c69d;--mint:#233c31;--coral:#44322d;--gold:#413c27;--shadow:0 16px 40px #00000052;background:var(--canvas);color:var(--ink)}:root[data-theme=dark] body,:root[data-theme=dark] .app-shell,:root[data-theme=dark] .main-column,:root[data-theme=dark] .main-content{color:var(--ink);background:var(--canvas)}:root[data-theme=dark] .topbar{background:#1a231fe0;border-color:#39463f;box-shadow:0 8px 24px #0003}:root[data-theme=dark] .breadcrumb,:root[data-theme=dark] .breadcrumb strong{color:#c3d0c7}:root[data-theme=dark] .breadcrumb-divider{color:#68766e}:root[data-theme=dark] .demo-label,:root[data-theme=dark] .settings-badge{color:#c0cec4;background:#202a26;border-color:#3b4941}:root[data-theme=dark] .topbar-help,:root[data-theme=dark] .topbar-settings{color:#b2c2b8}:root[data-theme=dark] .topbar-settings:hover,:root[data-theme=dark] .topbar-settings.is-active{color:#bde9c8;background:#263d32;border-color:#456456}:root[data-theme=dark] .page-heading h1{color:#e6f0e8}:root[data-theme=dark] .page-heading p,:root[data-theme=dark] .app-footer{color:#9eafa5}:root[data-theme=dark] .section-heading h2,:root[data-theme=dark] .journey-step h3,:root[data-theme=dark] .notes-heading h2{color:#dce9df}:root[data-theme=dark] .section-heading p,:root[data-theme=dark] .journey-step p,:root[data-theme=dark] .course-notes p{color:#a5b5aa}:root[data-theme=dark] .journey-track{border-color:#35443b}:root[data-theme=dark] .journey-connector{background:#465d4f}:root[data-theme=dark] .journey-step:hover{background:#ffffff09}:root[data-theme=dark] .course-notes,:root[data-theme=dark] .gradebook-panel,:root[data-theme=dark] .roster-panel,:root[data-theme=dark] .assessment-form-panel,:root[data-theme=dark] .rubric-form-panel,:root[data-theme=dark] .specification-panel,:root[data-theme=dark] .settings-panel,:root[data-theme=dark] .empty-queue,:root[data-theme=dark] .weight-editor,:root[data-theme=dark] .rubric-total-banner,:root[data-theme=dark] .criterion-editor,:root[data-theme=dark] .rubric-score-row,:root[data-theme=dark] .dialog-frame,:root[data-theme=dark] .dialog-header,:root[data-theme=dark] .dialog-body,:root[data-theme=dark] .dialog-footer,:root[data-theme=dark] .preview-section,:root[data-theme=dark] .upload-zone{color:#dce8df;background:#202a26;border-color:#39483f;box-shadow:0 12px 30px #00000029}:root[data-theme=dark] .gradebook-panel-header,:root[data-theme=dark] .gradebook-panel-footer{background:#202a26;border-color:#39483f}:root[data-theme=dark] .gradebook-panel-header h2,:root[data-theme=dark] .form-panel-heading h2,:root[data-theme=dark] .settings-panel-heading h2,:root[data-theme=dark] .dialog-header h2,:root[data-theme=dark] .score-section-heading h3{color:#e2ede4}:root[data-theme=dark] .gradebook-panel-header p,:root[data-theme=dark] .form-panel-heading p,:root[data-theme=dark] .settings-panel-heading p,:root[data-theme=dark] .gradebook-panel-footer,:root[data-theme=dark] .settings-detail small{color:#a3b2a8}:root[data-theme=dark] .grade-table th,:root[data-theme=dark] .roster-table th,:root[data-theme=dark] .preview-table th,:root[data-theme=dark] .specification-table th{color:#b5c4b9;background:#26332d}:root[data-theme=dark] .grade-table td,:root[data-theme=dark] .roster-table td,:root[data-theme=dark] .preview-table td,:root[data-theme=dark] .specification-table td{color:#e0ebe3;border-color:#35433b}:root[data-theme=dark] .gradebook-note{color:#cedbc6;background:#293227;border-color:#3e4b3d}:root[data-theme=dark] .gradebook-note button{color:#8fd0a9}:root[data-theme=dark] .grade-table tbody tr,:root[data-theme=dark] .roster-table tbody tr{background:#202a26}:root[data-theme=dark] .grade-table tbody tr:hover,:root[data-theme=dark] .roster-table tbody tr:hover{background:#2b3a31}:root[data-theme=dark] .grade-table tbody tr.row-approved:hover{background:#304338}:root[data-theme=dark] .grade-table .score-value{color:#d0efd8}:root[data-theme=dark] .grade-table .score-missing,:root[data-theme=dark] .grade-table .weighted-missing{color:#c0cec4}:root[data-theme=dark] .grade-table .weighted-value{color:#c1f0ce}:root[data-theme=dark] .grade-table .score-denominator{color:#b3c2b8}:root[data-theme=dark] .grade-table .table-action{color:#d0ded4}:root[data-theme=dark] .grade-table .table-action:hover,:root[data-theme=dark] .grade-table .table-action-review{color:#c4f0d0;background:#2b4435}:root[data-theme=dark] .student-cell strong,:root[data-theme=dark] .review-student strong,:root[data-theme=dark] .note-stat-row strong,:root[data-theme=dark] .criterion-name-input,:root[data-theme=dark] .field-label,:root[data-theme=dark] .rubric-score-copy strong{color:#edf5ef}:root[data-theme=dark] .student-cell small,:root[data-theme=dark] .review-student small,:root[data-theme=dark] .score-denominator,:root[data-theme=dark] .note-stat-row,:root[data-theme=dark] .criterion-guidance-input,:root[data-theme=dark] .policy-note,:root[data-theme=dark] .specification-heading p,:root[data-theme=dark] .specification-footer p{color:#b4c3b8}:root[data-theme=dark] .filter-tabs{background:#1d2723;border-color:#39483f}:root[data-theme=dark] .filter-tabs button{color:#a9b8ae}:root[data-theme=dark] .filter-tabs button.is-selected{color:#dcece0;background:#30483a}:root[data-theme=dark] .review-row{color:#dce8df;background:#202a26;border-color:#35443b}:root[data-theme=dark] .review-row:hover{background:#283830}:root[data-theme=dark] .notes-divider{background:#3a4940}:root[data-theme=dark] .notes-link,:root[data-theme=dark] .text-link{color:#80d1a7}:root[data-theme=dark] .search-control,:root[data-theme=dark] .text-input,:root[data-theme=dark] .criterion-name-input,:root[data-theme=dark] .criterion-guidance-input,:root[data-theme=dark] .suffix-input,:root[data-theme=dark] .score-input-wrap,:root[data-theme=dark] .search-control input,:root[data-theme=dark] .score-input-small{color:#e2ede4;background:#18211d;border-color:#46554c}:root[data-theme=dark] input::placeholder,:root[data-theme=dark] textarea::placeholder{color:#7f9085}:root[data-theme=dark] .button-secondary{color:#d5e3d8;background:#26332d;border-color:#46564c}:root[data-theme=dark] .button-secondary:hover:not(:disabled){background:#2d4035;border-color:#61816c}:root[data-theme=dark] .button-quiet,:root[data-theme=dark] .icon-button{color:#adbbb1}:root[data-theme=dark] .icon-button:hover:not(:disabled){color:#e1eee4;background:#34453a}:root[data-theme=dark] .assessment-save-row,:root[data-theme=dark] .weight-editor-heading,:root[data-theme=dark] .criterion-editor-top{border-color:#39483f}:root[data-theme=dark] .specification-scroll{background:#202a26;border-color:#39483f}:root[data-theme=dark] .specification-table .text-input{color:#dce8df;background:#18211d;border-color:#46554c}:root[data-theme=dark] .theme-option{background:#1a2420;border-color:#3b4a41}:root[data-theme=dark] .theme-option.is-selected{background:#263a2e;border-color:#6bb78b;box-shadow:0 0 0 2px #6bb78b29}:root[data-theme=dark] .theme-option-copy strong,:root[data-theme=dark] .settings-detail strong{color:#d9e7dc}:root[data-theme=dark] .theme-option-copy small,:root[data-theme=dark] .settings-footnote{color:#9eafa5}:root[data-theme=dark] .settings-icon{color:#e2d89a;background:#403b27}:root[data-theme=dark] .settings-icon-mint{color:#9be0ba;background:#274033}:root[data-theme=dark] .settings-icon-warm{color:#e4b38e;background:#42342c}:root[data-theme=dark] .settings-detail-dot{background:#83c997;box-shadow:0 0 0 3px #2c4233}:root[data-theme=dark] .table-empty{color:#9eafa5}:root[data-theme=dark] .id-cell{color:#bcc9c0}:root[data-theme=dark] .storage-banner{color:#efdaa6;background:#39321f}:root[data-theme=dark] .status-pending{color:#e4d7a5;background:#403b27}:root[data-theme=dark] .status-review{color:#f1c29e;background:#44352c}:root[data-theme=dark] .status-approved{color:#a4dfba;background:#263d31}:root[data-theme=dark] .status-pending .status-dot{background:#d8bb61}:root[data-theme=dark] .status-review .status-dot{background:#d99768}:root[data-theme=dark] .status-approved .status-dot{background:#74c591}:root[data-theme=dark] .roster-readonly,:root[data-theme=dark] .synthetic-stamp,:root[data-theme=dark] .specification-totals span{color:#b6c4ba}:root[data-theme=dark] .specification-totals span{background:#26332d;border-color:#3a4940}:root[data-theme=dark] .specification-totals strong{color:#c7e2cf}:root[data-theme=dark] .companion-caption{color:#e4efdf;background:#1a2b25eb;border-color:#e6f1da26}:root[data-theme=dark] .companion-caption small{color:#bbcec0}:root[data-theme=dark] .companion-caption-icon{color:#c1df9b;background:#314832}:root[data-theme=dark] .hero-companion{background:linear-gradient(177deg,#0000 0 64%,#16362df2 64.4% 100%),linear-gradient(#24394d 0%,#3b5556 53%,#283a34 100%)}:root[data-theme=dark] .toast-message{color:#e5eee8;background:#26332d;border-color:#46554c}@media (prefers-reduced-motion:reduce){.theme-option,.topbar-settings{transition:none}.view-enter{animation:none}}.brand-mark svg{stroke-width:2.05px}.appearance-panel{grid-column:1/-1}.theme-picker{grid-template-columns:repeat(3,minmax(0,1fr))}.theme-preview-system{background:linear-gradient(90deg,#fff 0 50%,#18231f 50%);position:relative;overflow:hidden}.theme-preview-system>span{z-index:1;background:linear-gradient(90deg,#dfeadf 0 48%,#35483d 48%);position:relative}.theme-preview-system>span:first-child{background:linear-gradient(90deg,#c9dfc9 0 48%,#527961 48%)}.theme-preview-system>span:last-child{background:linear-gradient(90deg,#9fc8aa 0 48%,#719b77 48%)}@media (width<=420px){.theme-picker{grid-template-columns:1fr}}.field-sky{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.sky-sun{z-index:1;filter:drop-shadow(0 4px 9px #d9a14b3d);width:62px;height:62px;animation:6s ease-in-out infinite sun-glow;position:absolute;top:7%;left:11%;overflow:visible}.sun-rays{fill:none;stroke:#b9722f;stroke-width:3.4px;stroke-linecap:round}.sun-disc{fill:#ffd978;stroke:#bd7934;stroke-width:1.7px}.growth-plant{transform-origin:bottom;width:34px;height:38px;animation:5s cubic-bezier(.2,.8,.2,1) infinite plant-grow,5.4s ease-in-out infinite alternate tree-sway;position:absolute;bottom:23%}.growth-one{animation-delay:80ms,0s;left:6%}.growth-two{width:29px;height:32px;animation-delay:.23s,-2.7s;bottom:27%;left:23%}.growth-three{width:25px;height:28px;animation-delay:.38s,-1.8s;bottom:20%;left:43%}.growth-stem{background:#477b55;border-radius:3px;width:2px;height:23px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.growth-leaf{background:#60915c;border-radius:100% 0;width:13px;height:8px;position:absolute}.growth-leaf-left{top:13px;left:5px;transform:rotate(-28deg)}.growth-leaf-right{background:#7eaa69;top:7px;right:4px;transform:rotate(28deg)scaleX(-1)}.field-sky-night{color:#f6e6b5}.sky-moon{z-index:1;fill:#f3dfa5;filter:drop-shadow(0 3px 12px #f1dca357);width:40px;height:40px;animation:7s ease-in-out infinite moon-float;position:absolute;top:9%;left:13%;overflow:visible}.sky-stars{z-index:1;fill:currentColor;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;opacity:.86;width:96%;height:63%;animation:4s ease-in-out infinite alternate star-twinkle;position:absolute;inset:0}.field-trees{z-index:0;opacity:.3;width:66%;height:58%;position:absolute;bottom:18%;left:0;overflow:visible}.field-wind{z-index:1;fill:none;stroke:#2d6b5b9e;stroke-width:1.65px;stroke-linecap:round;stroke-linejoin:round;opacity:.7;width:76%;height:38%;position:absolute;top:24%;left:-3%;overflow:visible}.wind-line{animation:5.4s ease-in-out infinite wind-flow}.wind-line-two{animation-delay:-1.8s}.wind-line-three{animation-delay:-3.6s}.tree-sway{transform-box:view-box;transform-origin:bottom;animation:5.4s ease-in-out infinite alternate tree-sway}.tree-two{animation-delay:-2.7s}.tree-trunk{fill:none;stroke:#4e7654;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.tree-crown{fill:#527e56;stroke:#47744e;stroke-width:1.5px}.growth-plant{z-index:1}.growth-stem{background:#477b55}.growth-leaf{background:#60915c}.growth-leaf-right{background:#7eaa69}@keyframes sun-glow{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-3px)scale(1.035)}}@keyframes plant-grow{0%,to{opacity:.2;scale:1 .08}28%,82%{opacity:1;scale:1}}@keyframes tree-sway{0%{transform:rotate(-1.3deg)}to{transform:rotate(1.7deg)}}@keyframes wind-flow{0%,to{opacity:.38;transform:translate(-3px,1px)}50%{opacity:.68;transform:translate(3px,-1px)}}@keyframes moon-float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes star-twinkle{0%{opacity:.65}to{opacity:1}}:root[data-theme=dark] .sky-moon{fill:#f0dca7}:root[data-theme=dark] .sky-stars{color:#f9efcf}:root[data-theme=dark] .field-wind{stroke:#e3ecccad;stroke-width:1.55px;opacity:.66}:root[data-theme=dark] .tree-trunk{stroke:#73907a}:root[data-theme=dark] .tree-crown{fill:#355343;stroke:#54775c}:root[data-theme=dark] .growth-stem{background:#476b52}:root[data-theme=dark] .growth-leaf{background:#4e7754}:root[data-theme=dark] .growth-leaf-right{background:#648968}@media (prefers-reduced-motion:reduce){.sky-sun,.sky-moon,.sky-stars,.growth-plant,.tree-sway,.wind-line{animation:none}.growth-plant{transform:none}}.gradebook-actions{flex-wrap:wrap}.scanner-dialog{width:min(1040px,100% - 24px);max-height:min(94vh,980px)}.scanner-frame{max-height:inherit}.scanner-header{align-items:center}.scanner-body{padding:14px 19px 18px}.scanner-safety{margin-bottom:14px}.scanner-top-controls{align-items:flex-end;gap:12px;margin-bottom:14px;display:flex}.scanner-top-controls .form-field-block{flex:1;min-width:0;margin:0}.scanner-top-controls select{width:100%;min-height:39px}.print-sheet-button{white-space:nowrap;min-height:39px}.scanner-capture-grid{grid-template-columns:minmax(200px,.45fr) minmax(320px,1fr);align-items:start;gap:18px;display:grid}.scanner-camera-section{min-width:0}.scan-camera-stage{aspect-ratio:210/297;background:#19221d;border:1px solid #b8c8bc;border-radius:13px;width:min(100%,260px);margin:0 auto;position:relative;overflow:hidden}.scan-video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.scan-camera-placeholder{color:#d6e5d9;text-align:center;background:linear-gradient(160deg,#27463a,#172d28);flex-direction:column;justify-content:center;align-items:center;gap:9px;padding:20px;display:flex;position:absolute;inset:0}.scan-camera-placeholder svg{color:#b8de8c}.scan-camera-placeholder strong{font-size:12px}.scan-camera-placeholder span{color:#b5c9bc;font-size:10px;line-height:1.5}.scan-frame-guide{pointer-events:none;border:2px dashed #f6ffead9;border-radius:8px;justify-content:center;align-items:flex-end;padding:0 0 7%;display:flex;position:absolute;inset:6%;box-shadow:0 0 0 999px #040f0a21}.scan-frame-guide span{color:#fff;background:#10241dc7;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:650}.scan-capture-actions{flex-direction:column;gap:7px;margin-top:10px;display:flex}.scan-capture-actions .button{width:100%;min-height:40px}.scan-photo-button{position:relative;overflow:hidden}.scan-photo-button:focus-within{outline-offset:3px;outline:3px solid #d49a4e}.scan-photo-button input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.scan-instructions{color:#7d8c82;margin:9px 0 0;font-size:9px;line-height:1.5}.scanner-review-section{background:#fbfcfa;border:1px solid #e2e9e1;border-radius:13px;min-width:0;padding:12px}.scan-review-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px;display:flex}.scan-review-heading h3{color:#354d40;margin:0 0 3px;font-size:12px}.scan-review-heading p{color:#839087;margin:0;font-size:9px}.scan-machine-score{color:#277351;font-variant-numeric:tabular-nums;font-size:20px;font-weight:730}.scan-machine-score small{color:#839087;font-size:10px;font-weight:550}.scan-preview-image{object-fit:cover;object-position:top;border:1px solid #dfe7df;border-radius:7px;width:86px;height:120px;margin:0 0 9px auto;display:block}.scan-answer-list{background:#fff;border:1px solid #e4eae3;border-radius:9px;max-height:274px;overflow:auto}.scan-answer-row{border-bottom:1px solid #edf1ec;grid-template-columns:42px 64px 54px minmax(0,1fr);align-items:center;gap:6px;min-height:35px;padding:4px 8px;font-size:9px;display:grid}.scan-answer-row:last-child{border-bottom:0}.scan-item-label{color:#51675a;font-variant-numeric:tabular-nums;font-size:10px;font-weight:700}.scan-answer-row select{color:#31503f;background:#fff;border:1px solid #dfe7df;border-radius:6px;min-height:26px;padding:3px 6px;font-size:10px}.scan-confidence{border-radius:999px;width:max-content;padding:4px 6px;font-size:8px;font-weight:650}.scan-confidence-clear{color:#33734e;background:#eaf4e9}.scan-confidence-review{color:#896525;background:#f8f0d8}.scan-confidence-blank{color:#75837a;background:#edf1ed}.scan-key-answer{color:#849188;text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.scan-review-empty{color:#809086;background:#fff;border:1px dashed #d7e1d8;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:92px;font-size:10px;display:flex}.scan-review-empty svg{color:#709476}.scan-manual-score{border-top:1px solid #e5ebe4;margin-top:11px;padding-top:10px}.scan-manual-score .field-label{margin-bottom:6px}.scan-manual-score .field-label span{font-size:9px}.scan-manual-score .suffix-input{max-width:180px}.scan-manual-score input{min-height:34px}.scanner-result-summary{color:#6f8174;background:#f2f8f0;border:1px solid #dce9dc;border-radius:10px;grid-template-columns:1fr auto;align-items:center;gap:4px 12px;margin-top:13px;padding:10px 12px;font-size:9px;display:grid}.scanner-result-summary strong{color:#24704d;font-variant-numeric:tabular-nums;grid-area:1/2/3;font-size:18px}.scanner-result-summary strong small{color:#819087;font-size:9px;font-weight:550}.scanner-result-summary>span:last-child{max-width:56ch;line-height:1.45}.scanner-error{margin-top:12px}.scanner-footer{justify-content:space-between}.answer-sheet-print{display:none}:root[data-theme=dark] .scanner-dialog{color:#dae6dc;background:#202a26;border-color:#3e4d44}:root[data-theme=dark] .scanner-review-section{background:#1a2420;border-color:#3b4941}:root[data-theme=dark] .scan-review-heading h3{color:#dce9df}:root[data-theme=dark] .scan-review-heading p,:root[data-theme=dark] .scan-instructions{color:#a1b0a6}:root[data-theme=dark] .scan-answer-list,:root[data-theme=dark] .scan-review-empty{color:#c8d6cc;background:#202a26;border-color:#3b4941}:root[data-theme=dark] .scan-answer-row{border-color:#35443b}:root[data-theme=dark] .scan-item-label{color:#d3e1d7}:root[data-theme=dark] .scan-answer-row select{color:#e1ece4;background:#18211d;border-color:#46554c}:root[data-theme=dark] .scan-key-answer{color:#a1b0a6}:root[data-theme=dark] .scan-confidence-clear{color:#afe0bb;background:#293e31}:root[data-theme=dark] .scan-confidence-review{color:#ead28c;background:#413a25}:root[data-theme=dark] .scan-confidence-blank{color:#b0bdb3;background:#303a34}:root[data-theme=dark] .scanner-result-summary{color:#b1c1b5;background:#24342b;border-color:#3c5143}:root[data-theme=dark] .scanner-result-summary strong{color:#a5dfb5}@media (width<=760px){.scanner-dialog{border-radius:14px;width:calc(100% - 14px);max-height:95vh}.scanner-body{padding:12px}.scanner-top-controls{flex-direction:column;align-items:stretch}.print-sheet-button{align-self:flex-start}.scanner-capture-grid{grid-template-columns:1fr;gap:13px}.scan-camera-stage{width:min(100%,220px)}.scan-capture-actions{width:min(100%,320px);margin-left:auto;margin-right:auto}.scan-answer-list{max-height:220px}.scanner-review-section,.scanner-footer{padding:10px}.scanner-footer .button{min-height:40px}}@media (width<=420px){.scanner-dialog{width:calc(100% - 8px)}.scanner-safety{align-items:flex-start;padding:8px;font-size:9px}.scan-answer-row{grid-template-columns:28px 54px 47px minmax(0,1fr);gap:4px;padding-left:5px;padding-right:5px}.scan-key-answer{font-size:7px}.scanner-result-summary{padding:9px}.scanner-footer .button{padding:0 10px;font-size:10px}.gradebook-actions{gap:6px}.gradebook-actions .button{min-height:38px;padding:0 9px;font-size:10px}}@media print{@page{size:A4 portrait;margin:0}html,body{width:210mm;min-width:0;min-height:297mm;margin:0;padding:0;background:#fff!important}.app-shell,.scanner-dialog{display:none!important}.answer-sheet-print{break-after:avoid;width:210mm;height:297mm;margin:0;padding:0;background:#fff!important;display:block!important}.answer-sheet-page{width:210mm;height:297mm;margin:0;background:#fff!important;display:block!important}}.brand-mark{background:#c6e999;border:1px solid #123f2e1f;border-radius:13px;flex:0 0 40px;width:40px;height:40px;overflow:hidden;box-shadow:0 4px 12px #081b1529}.brand-mark img{width:100%;height:100%;display:block}.app-shell.is-collapsed .brand-mark{flex-basis:34px;width:34px;height:34px}.topbar-install{color:#28694f;white-space:nowrap;background:#f7fbf5;border:1px solid #d7e5d9;border-radius:9px;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:0 10px;font-size:10px;font-weight:680;transition:border-color .16s,background .16s,transform .16s;display:inline-flex}.topbar-install:hover{background:#edf6e9;border-color:#9fc6a7;transform:translateY(-1px)}.topbar-install:focus-visible{outline-offset:2px;outline:3px solid #7db48a}.topbar-install svg{flex:none}.install-guide-dialog{width:min(520px,100% - 28px);max-height:min(88vh,620px)}.install-guide-body ol{color:#395344;gap:9px;margin:0 0 14px;padding-left:22px;font-size:12px;line-height:1.55;display:grid}.install-guide-body li{padding-left:3px}.install-guide-body p{color:#6d7e72;background:#f3f7ef;border-radius:9px;margin:0;padding:10px 12px;font-size:10px;line-height:1.5}.student-picker-trigger{color:#365347;background:var(--paper);text-align:left;border:1px solid #dce5dc;border-radius:10px;align-items:center;gap:10px;width:100%;min-height:44px;padding:6px 11px;transition:border-color .16s,box-shadow .16s,background .16s;display:flex}.student-picker-trigger:hover{background:#fbfdf9;border-color:#9bbca3}.student-picker-trigger:focus-visible{outline-offset:2px;border-color:#6aaa83;outline:3px solid #5c9e733d}.student-picker-trigger-icon{color:#668b72;flex:none}.student-picker-trigger-copy{flex:1;align-items:baseline;gap:8px;min-width:0;display:flex}.student-picker-trigger-copy strong{color:#2c4939;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:680;overflow:hidden}.student-picker-trigger-copy small{color:#819187;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:9px}.student-picker-placeholder{color:#7b8980;flex:1;min-width:0;font-size:11px}.student-picker-trigger-hint{color:#86958b;white-space:nowrap;font-size:9px}.student-picker-chevron{color:#7d8d82;flex:none;transition:transform .18s}.student-picker-chevron.is-open{transform:rotate(180deg)}.student-picker-popover{z-index:120;width:min(var(--radix-popover-trigger-width), 520px);max-width:calc(100vw - 28px);max-height:min(390px, var(--radix-popover-content-available-height));background:var(--paper);border:1px solid #dbe5dc;border-radius:12px;outline:none;animation:.14s ease-out both picker-in;overflow:hidden;box-shadow:0 18px 46px #132d203d}@keyframes picker-in{0%{opacity:0;transform:translateY(-3px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}.student-picker-command{color:#314b3e;background:var(--paper);flex-direction:column;min-width:0;display:flex;overflow:hidden}.student-picker-search-wrap{color:#7b9180;border-bottom:1px solid #e8eee8;align-items:center;gap:9px;min-height:48px;padding:0 11px;display:flex;position:relative}.student-picker-search-wrap>svg{flex:none}.student-picker-search{color:#2d4639;background:0 0;border:0;outline:0;width:100%;min-width:0;height:42px;padding:0 3px;font-size:11px}.student-picker-search::placeholder{color:#9aa79c}.student-picker-search:focus-visible{box-shadow:none;outline:none}.student-picker-search-wrap:focus-within{box-shadow:inset 0 -2px #4e9b6d}.student-picker-search-wrap kbd{color:#94a096;border:1px solid #e4eae4;border-radius:5px;flex:none;padding:3px 5px;font:9px DM Sans,sans-serif}.student-picker-list{overscroll-behavior:contain;max-height:min(290px,48vh);padding:5px;overflow:auto}.student-picker-group [cmdk-group-heading]{color:#8a998d;letter-spacing:.08em;text-transform:uppercase;padding:7px 9px 5px;font-size:9px;font-weight:700}.student-picker-option{color:#3b5646;cursor:pointer;border-radius:8px;align-items:center;gap:8px;min-height:47px;padding:7px 9px;display:flex}.student-picker-option[aria-selected=true],.student-picker-option[data-selected=true]{color:#244b38;background:#edf5e8}.student-picker-option-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.student-picker-option-copy strong{color:#304b3c;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:640;overflow:hidden}.student-picker-option-copy small{color:#87958a;font-variant-numeric:tabular-nums;font-size:9px}.student-picker-already-scored{color:#764;background:#f4efdd;border-radius:999px;flex:none;padding:4px 6px;font-size:8px;font-weight:650}.student-picker-check{color:#33815c;flex:none}.student-picker-empty{color:#77877c;text-align:center;padding:22px 14px;font-size:11px}.student-picker-footer{color:#8c998f;background:#fbfcfa;border-top:1px solid #e9eee8;padding:8px 11px;font-size:9px}.grade-table{table-layout:fixed}.grade-table th:first-child,.grade-table td:first-child{width:26%}.grade-table th:nth-child(2),.grade-table td:nth-child(2){text-align:center;width:13%}.grade-table th:nth-child(3),.grade-table td:nth-child(3),.grade-table th:nth-child(4),.grade-table td:nth-child(4){text-align:center;width:16%}.grade-table th:nth-child(5),.grade-table td:nth-child(5){text-align:center;width:17%}.grade-table th:nth-child(6),.grade-table td:nth-child(6){text-align:right;width:12%}.grade-table th:nth-child(6){padding-right:18px}.grade-table td:nth-child(6){padding-right:12px}@media (width>=981px) and (width<=1100px){.app-shell{grid-template-columns:78px minmax(0,1fr)}.sidebar{align-items:center;padding:18px 9px 13px}.brand-lockup{justify-content:center;gap:0;width:100%;padding:0}.brand-name,.course-switcher-copy,.course-chevron,.nav-section-label,.nav-link>span:not(.nav-count),.sidebar-demo-note,.reset-link,.instructor-chip>span:nth-child(2),.more-dots,.sidebar-toggle{display:none}.course-switcher{background:0 0;border:0;justify-content:center;width:46px;margin-top:28px;padding:6px}.course-mark{width:38px;height:38px}.primary-nav{align-items:center;width:100%;margin-top:27px}.nav-link{justify-content:center;width:46px;height:46px;padding:0}.nav-link.is-active{box-shadow:inset 0 -3px #c4e78b}.nav-count{border:2px solid var(--pine);border-radius:7px;min-width:17px;height:17px;font-size:8px;position:absolute;top:-4px;right:-2px}.sidebar-bottom{justify-content:center;width:100%;margin-top:auto;display:flex}.instructor-chip{border-top:1px solid #e6f1e924;margin-top:0;padding:9px 0 0}}@media (width>=761px) and (width<=900px){.grade-table{min-width:660px}.grade-table th,.grade-table td{padding-left:7px;padding-right:7px}.grade-table th:first-child,.grade-table td:first-child{padding-left:11px}.grade-table .student-cell{gap:7px}.grade-table .student-cell small,.grade-table .score-denominator{display:none}.grade-table th:first-child,.grade-table td:first-child{width:26%}.grade-table th:nth-child(2),.grade-table td:nth-child(2){width:12%}.grade-table th:nth-child(3),.grade-table td:nth-child(3){width:15%}.grade-table th:nth-child(4),.grade-table td:nth-child(4){width:16%}.grade-table th:nth-child(5),.grade-table td:nth-child(5){width:17%}.grade-table th:nth-child(6),.grade-table td:nth-child(6){width:14%}}@media (width>=901px) and (width<=980px){.grade-table{min-width:720px}.grade-table .student-cell small,.grade-table .score-denominator{display:none}.grade-table th:first-child,.grade-table td:first-child{width:26%}.grade-table th:nth-child(2),.grade-table td:nth-child(2){width:12%}.grade-table th:nth-child(3),.grade-table td:nth-child(3){width:15%}.grade-table th:nth-child(4),.grade-table td:nth-child(4){width:16%}.grade-table th:nth-child(5),.grade-table td:nth-child(5){width:17%}.grade-table th:nth-child(6),.grade-table td:nth-child(6){width:14%}}@media (width>=761px) and (width<=800px){.grade-table{min-width:620px}.grade-table th,.grade-table td{padding-left:5px;padding-right:5px}.grade-table th:first-child,.grade-table td:first-child{padding-left:8px}}:root[data-theme=dark] .student-picker-trigger{color:#dce8df;background:#18211d;border-color:#46564c}:root[data-theme=dark] .student-picker-trigger:hover{background:#1d2923;border-color:#6d9879}:root[data-theme=dark] .student-picker-trigger-icon,:root[data-theme=dark] .student-picker-chevron{color:#a5c7ad}:root[data-theme=dark] .student-picker-trigger-copy strong{color:#e7f1e9}:root[data-theme=dark] .student-picker-trigger-copy small,:root[data-theme=dark] .student-picker-placeholder,:root[data-theme=dark] .student-picker-trigger-hint{color:#a4b5a8}:root[data-theme=dark] .student-picker-popover{background:#202a26;border-color:#46564c;box-shadow:0 20px 48px #00000080}:root[data-theme=dark] .student-picker-command{color:#dce8df;background:#202a26}:root[data-theme=dark] .student-picker-search-wrap,:root[data-theme=dark] .student-picker-footer{color:#9eafa5;background:#202a26;border-color:#39483f}:root[data-theme=dark] .student-picker-search{color:#edf4ee}:root[data-theme=dark] .student-picker-search-wrap:focus-within{box-shadow:inset 0 -2px #84d2a1}:root[data-theme=dark] .student-picker-search-wrap kbd{color:#adbbb1;border-color:#425047}:root[data-theme=dark] .student-picker-group [cmdk-group-heading]{color:#9ead9f}:root[data-theme=dark] .student-picker-option{color:#d7e5da}:root[data-theme=dark] .student-picker-option[aria-selected=true],:root[data-theme=dark] .student-picker-option[data-selected=true]{color:#e4f0e6;background:#30483a}:root[data-theme=dark] .student-picker-option-copy strong{color:#e6f0e8}:root[data-theme=dark] .student-picker-option-copy small,:root[data-theme=dark] .student-picker-empty{color:#a8b8ad}:root[data-theme=dark] .student-picker-already-scored{color:#e4d7a5;background:#403b27}@media (prefers-reduced-motion:reduce){.student-picker-popover{animation:none}}.scan-fullscreen-button{z-index:3;color:#f3f8f1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0e1f18d6;border:1px solid #f0f8ef3d;border-radius:9px;align-items:center;gap:7px;min-height:36px;padding:0 10px;font-size:10px;font-weight:650;display:inline-flex;position:absolute;top:10px;right:10px;box-shadow:0 4px 14px #0003}.scan-fullscreen-button:hover{background:#1a402ff2}.scan-fullscreen-button:focus-visible{outline-color:#c8ec9e}.scan-fullscreen-actions{display:none}:-webkit-any(.scan-camera-stage.is-fullscreen,.scan-camera-stage:fullscreen,.scan-camera-stage:-webkit-full-screen){z-index:1200;aspect-ratio:auto;background:#07110c;border:0;border-radius:0;width:100vw;max-width:none;height:100dvh;margin:0;position:fixed;inset:0}:is(.scan-camera-stage.is-fullscreen,.scan-camera-stage:fullscreen,.scan-camera-stage:fullscreen){z-index:1200;aspect-ratio:auto;background:#07110c;border:0;border-radius:0;width:100vw;max-width:none;height:100dvh;margin:0;position:fixed;inset:0}:-webkit-any(.scan-camera-stage.is-fullscreen .scan-video,.scan-camera-stage:fullscreen .scan-video,.scan-camera-stage:-webkit-full-screen .scan-video){object-fit:contain;background:#07110c}:is(.scan-camera-stage.is-fullscreen .scan-video,.scan-camera-stage:fullscreen .scan-video,.scan-camera-stage:fullscreen .scan-video){object-fit:contain;background:#07110c}:-webkit-any(.scan-camera-stage.is-fullscreen .scan-frame-guide,.scan-camera-stage:fullscreen .scan-frame-guide,.scan-camera-stage:-webkit-full-screen .scan-frame-guide){aspect-ratio:210/297;border-color:#f2ffede6;width:min(70vw,50dvh);height:auto;inset:50% auto auto 50%;transform:translate(-50%,-50%);box-shadow:0 0 0 999px #040f0a42}:is(.scan-camera-stage.is-fullscreen .scan-frame-guide,.scan-camera-stage:fullscreen .scan-frame-guide,.scan-camera-stage:fullscreen .scan-frame-guide){aspect-ratio:210/297;border-color:#f2ffede6;width:min(70vw,50dvh);height:auto;inset:50% auto auto 50%;transform:translate(-50%,-50%);box-shadow:0 0 0 999px #040f0a42}:-webkit-any(.scan-camera-stage.is-fullscreen .scan-fullscreen-actions,.scan-camera-stage:fullscreen .scan-fullscreen-actions,.scan-camera-stage:-webkit-full-screen .scan-fullscreen-actions){z-index:3;right:18px;bottom:max(18px, env(safe-area-inset-bottom));justify-content:center;display:flex;position:absolute;left:18px}:is(.scan-camera-stage.is-fullscreen .scan-fullscreen-actions,.scan-camera-stage:fullscreen .scan-fullscreen-actions,.scan-camera-stage:fullscreen .scan-fullscreen-actions){z-index:3;right:18px;bottom:max(18px, env(safe-area-inset-bottom));justify-content:center;display:flex;position:absolute;left:18px}:-webkit-any(.scan-camera-stage.is-fullscreen .scan-fullscreen-actions .button,.scan-camera-stage:fullscreen .scan-fullscreen-actions .button,.scan-camera-stage:-webkit-full-screen .scan-fullscreen-actions .button){min-width:min(280px,100%);min-height:48px;box-shadow:0 7px 24px #00000047}:is(.scan-camera-stage.is-fullscreen .scan-fullscreen-actions .button,.scan-camera-stage:fullscreen .scan-fullscreen-actions .button,.scan-camera-stage:fullscreen .scan-fullscreen-actions .button){min-width:min(280px,100%);min-height:48px;box-shadow:0 7px 24px #00000047}@media (width<=760px){.app-shell{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.mobile-nav{min-height:calc(64px + env(safe-area-inset-bottom));padding-bottom:max(8px, env(safe-area-inset-bottom))}.scanner-dialog{max-height:calc(100dvh - 12px)}.gradebook-actions .button{min-height:44px}}@media (width<=560px){.grade-table{table-layout:auto;width:100%;min-width:0}.grade-table thead{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.grade-table tbody{gap:9px;padding:9px;display:grid}.grade-table tbody tr{background:#fff;border:1px solid #e1e8e1;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:hidden}.grade-table tbody tr.row-approved{background:#f6faf4}.grade-table tbody td{white-space:normal;border-top:1px solid #edf0ec;flex-direction:column;justify-content:center;align-items:flex-start;gap:3px;min-width:0;height:auto;min-height:54px;padding:8px 11px;display:flex;text-align:left!important;width:auto!important}.grade-table tbody td[data-label]:before{content:attr(data-label);color:#85948a;font-size:9px;font-weight:650}.grade-table tbody td:first-child{border-top:0;grid-column:1/-1;min-height:60px;padding:10px 12px}.grade-table .student-cell{gap:10px}.grade-table .student-cell small{display:block}.grade-table tbody td[data-label=Weighted\ grade]{align-items:flex-start}.grade-table tbody td[data-label=Review\ status]{flex-direction:row;justify-content:space-between;align-items:center}.grade-table tbody td[data-label=Action]{flex-direction:row;grid-column:1/-1;justify-content:flex-end;min-height:46px;padding:5px 9px}.grade-table tbody td[data-label=Action]:before{margin-right:auto}.grade-table tbody td.table-empty{grid-column:1/-1;align-items:center;min-height:90px;text-align:center!important}.gradebook-panel-footer{flex-direction:column;align-items:flex-start;gap:4px;padding:9px 13px}.gradebook-actions{grid-template-columns:1fr;display:grid}.gradebook-actions .button{justify-content:center;width:100%}}@media (width<=360px){.student-picker-popover{max-width:calc(100vw - 20px)}.student-picker-trigger-hint{display:none}.student-picker-trigger-copy{flex-direction:column;gap:1px}.topbar{padding-left:10px;padding-right:10px}.breadcrumb{gap:5px;font-size:9px}.demo-label{display:none}.topbar-install{min-height:30px;padding:0 7px}.topbar-install span{display:none}}@supports (min-height:100dvh){.app-shell,.main-column{min-height:100dvh}}@media (width<=760px){.mobile-nav{-webkit-backdrop-filter:blur(18px)saturate(150%);backdrop-filter:blur(18px)saturate(150%);background:#f8fbf5e6;border-color:#cadaccd1;box-shadow:0 12px 34px #1634262e}.mobile-nav button{color:#66796d}.mobile-nav button.is-active{color:#1d7057}.mobile-nav button.is-active:after{background:#68a86f}.mobile-nav button:focus-visible{outline-color:#4e8d63}}:root[data-theme=dark] .mobile-nav{background:#171d1aeb;border-color:#65796b8a}:root[data-theme=dark] .mobile-nav button{color:#b0bdb4}:root[data-theme=dark] .mobile-nav button.is-active{color:#c6e895}:root[data-theme=dark] .mobile-nav button.is-active:after{background:#c6e895}:root[data-theme=dark] .mobile-nav button:focus-visible{outline-color:#c6e895}@media (prefers-reduced-transparency:reduce) and (width<=760px){.mobile-nav{background:#f7f9f4}:root[data-theme=dark] .mobile-nav{background:#171d1a}}:root[data-theme=dark] .grade-table tbody tr{background:#202a26;border-color:#39483f}:root[data-theme=dark] .grade-table tbody tr.row-approved{background:#26362c}:root[data-theme=dark] .grade-table tbody td[data-label]:before{color:#b3c2b8}:root[data-theme=dark] .grade-table tbody td{border-color:#35433b}:root[data-theme=dark] .topbar-install{color:#c5e7ce;background:#26372e;border-color:#46564c}:root[data-theme=dark] .topbar-install:hover{background:#304437;border-color:#6f9c7b}:root[data-theme=dark] .install-guide-body ol{color:#dce8df}:root[data-theme=dark] .install-guide-body p{color:#b1c0b5;background:#29352e}@media (width>=361px) and (width<=760px){.topbar-install{min-height:32px;padding:0 8px;font-size:9px}.topbar-install span{display:inline}}@media (prefers-reduced-motion:reduce){.scan-fullscreen-button{transition:none}}
