.growth-heading{align-items:center}.growth-heading h1{font-size:28px}.growth-person-picker{gap:12px;min-width:0;display:flex}.growth-person-picker label{color:var(--muted);flex-direction:column;gap:6px;font-size:11px;display:flex}.growth-person-picker select{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:10px;max-width:100%;min-height:44px;padding:10px 12px;font-size:13px}.growth-layout{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:54px;margin-top:35px;display:grid}.growth-identity{min-width:0;position:sticky;top:115px}.growth-avatar-stage{max-width:240px;margin:0 auto;position:relative}.growth-avatar{aspect-ratio:220/230;width:100%;max-width:240px;margin:0 auto;position:relative}.growth-avatar>svg{width:100%;height:100%;display:block;overflow:visible}.avatar-star{color:#ffd23f;filter:drop-shadow(0 1px 1px #6b4b1e55);position:absolute;bottom:9%;left:53%}.level-label{z-index:1;color:var(--gold-text);background:var(--gold-soft);border:1px solid color-mix(in srgb, var(--gold) 40%, var(--border));border-radius:999px;align-items:center;gap:6px;padding:7px 12px;font-size:11px;display:inline-flex;position:absolute;top:9px;right:3px}.avatar-edit{box-shadow:var(--shadow);color:var(--teal-dark);border-radius:50%;position:absolute;bottom:20px;right:0}.identity-name{text-align:center;margin-top:10px}.identity-name h2{font-size:23px}.identity-name p{color:var(--muted);margin:4px 0 13px;font-size:12px}.mood-label{color:var(--teal-dark);background:var(--teal-soft);border-radius:999px;align-items:center;gap:6px;padding:6px 11px;font-size:12px;display:inline-flex}.mood-explanation{text-align:center;color:var(--text);max-width:250px;margin:12px auto 5px;font-size:11px;line-height:1.9}.mood-disclaimer{text-align:center;color:var(--muted);font-size:10px;line-height:1.9}.growth-wallet{border-top:1px dashed var(--border);flex-direction:column;align-items:center;margin-top:24px;padding-top:20px;display:flex}.growth-wallet>span{color:var(--muted);align-items:center;gap:7px;font-size:12px;display:flex}.growth-wallet>strong{color:var(--teal-dark);font-size:49px;line-height:1.6}.growth-wallet small{color:var(--muted);font-size:10px}.xp-summary{margin:20px 0}.xp-summary>div:first-child{color:var(--muted);justify-content:space-between;align-items:center;font-size:11px;display:flex}.xp-summary strong{color:var(--text)}.xp-track{background:var(--border);border-radius:8px;height:7px;margin-top:10px;overflow:hidden}.xp-track>span{background:var(--gold);border-radius:8px;height:100%;display:block}.xp-summary p{color:var(--muted);margin-top:8px;font-size:10px}.growth-point-actions{gap:10px;display:flex}.growth-point-actions .button{flex:1;padding:10px 9px;font-size:12px}.growth-reward{border-top:1px solid var(--border);align-items:center;gap:12px;margin-top:20px;padding:17px 0;display:flex}.reward-icon{background:var(--gold-soft);width:42px;height:42px;color:var(--gold-text);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.growth-reward strong{font-size:12px;display:block}.growth-reward small{color:var(--muted);align-items:center;gap:4px;margin-top:5px;font-size:10px;display:flex}.growth-main{min-width:0}.growth-radar>.section-title{border-bottom:1px dashed var(--border);align-items:flex-start;margin-bottom:17px;padding-bottom:18px}.growth-radar h2{font-size:21px}.growth-period{background:var(--surface-alt);color:var(--muted);white-space:nowrap;border-radius:999px;padding:6px 10px;font-size:11px}.radar-controls{color:var(--muted);flex-wrap:wrap;align-items:center;gap:20px;font-size:11px;display:flex}.radar-controls>span{align-items:center;gap:6px;display:flex}.legend-previous{border-top:2px dashed var(--gold-text);width:18px}.legend-current{background:var(--teal);border-radius:50%;width:8px;height:8px}.radar-controls .checkbox-label{gap:6px;font-size:11px}.radar-body{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:15px;margin:10px 0 20px;display:grid}.radar-chart{width:100%;min-width:0;display:block;overflow:visible}.radar-grid{stroke:var(--border);stroke-width:1px;fill:none}.radar-spoke{stroke:var(--border);stroke-width:1px}.radar-chart text{fill:var(--muted);font-family:Prompt,sans-serif;font-size:12px}.radar-chart .radar-scale{fill:var(--muted);font-size:9px}.radar-current polygon{fill:color-mix(in srgb, var(--teal) 17%, transparent);stroke:var(--teal);stroke-width:2px}.radar-current line{stroke:var(--teal);stroke-width:2px}.radar-current circle{fill:var(--teal-dark);stroke:var(--surface);stroke-width:2px}.radar-previous polygon{fill:none;stroke:var(--gold-text);stroke-dasharray:5 5;stroke-width:1.5px}.radar-previous line{stroke:var(--gold-text);stroke-dasharray:4 4;stroke-width:1.5px}.radar-previous circle{fill:var(--gold-text)}.axis-values{flex-direction:column;gap:5px;display:flex}.axis-values>button{text-align:left;border:1px solid #0000;border-radius:10px;align-items:center;gap:9px;width:100%;padding:10px;display:flex}.axis-values>button:hover,.axis-values>button.selected{background:var(--surface);border-color:var(--border)}.axis-index{background:var(--surface-alt);width:22px;height:22px;color:var(--muted);border-radius:6px;flex-shrink:0;place-items:center;font-size:10px;display:grid}.axis-values .grow strong{font-size:12px;font-weight:400;display:block}.axis-values .grow small{color:var(--muted);margin-top:2px;font-size:10px;display:block}.axis-values b{color:var(--teal-dark);text-align:right;min-width:32px;font-size:20px}.axis-values svg{color:var(--muted)}.axis-evidence{border-top:1px dashed var(--border);margin-top:12px;padding:18px 0 0}.evidence-heading{color:var(--teal-dark);align-items:center;gap:9px;margin-bottom:9px;display:flex}.evidence-heading h3{color:var(--text);font-size:14px;font-weight:400}.evidence-heading>span{margin-left:auto;font-size:12px}.axis-evidence>p{color:var(--muted);font-size:12px;line-height:1.9}.axis-evidence .evidence-formula{color:var(--teal-dark);margin-top:7px;font-size:11px}.evidence-items{max-height:190px;margin-top:14px;padding-right:5px;overflow:auto}.evidence-items>div{border-top:1px solid var(--border);justify-content:space-between;align-items:start;gap:18px;padding:10px 0;font-size:11px;line-height:1.8;display:flex}.evidence-items small{color:var(--muted);font-size:10px;display:block}.evidence-items time{white-space:nowrap;color:var(--muted);font-size:10px}.evidence-items>p{color:var(--muted);font-size:12px}.next-growth-goal{border-left:3px solid var(--gold);background:var(--gold-soft);flex-wrap:wrap;align-items:center;gap:14px;margin-top:27px;padding:18px 20px;display:flex}.next-growth-goal>svg{color:var(--gold-text)}.next-growth-goal>div{flex:1;min-width:180px}.next-growth-goal span{color:var(--gold-text);font-size:10px}.next-growth-goal p{margin-top:6px;font-size:12px;line-height:1.8}.next-growth-goal .text-link{margin-left:auto;font-size:11px}.growth-history{border-top:1px solid var(--border);margin-top:42px;padding-top:30px}.growth-history h2{align-items:center;gap:10px;font-size:21px;display:flex}.growth-history h2 svg{color:var(--teal-dark)}.growth-event{border-top:1px solid var(--border);align-items:center;gap:16px;padding:18px 0;display:flex}.event-symbol{background:var(--teal-soft);width:37px;height:37px;color:var(--teal-dark);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.growth-event.deduct .event-symbol{background:var(--coral-soft);color:var(--coral-text)}.growth-event.reverse .event-symbol{background:var(--gold-soft);color:var(--gold-text)}.growth-event strong{font-size:13px;font-weight:400;display:block}.growth-event p{color:var(--muted);margin-top:5px;font-size:10px}.event-delta{color:var(--teal-dark);text-align:right;min-width:45px;font-size:21px}.growth-event.deduct .event-delta{color:var(--coral-text)}.growth-event.reverse .event-delta{color:var(--gold-text)}.growth-event.reversed .event-delta{color:var(--muted);text-decoration:line-through}.growth-event .icon-button{color:var(--muted);background:0 0;border:0;flex-basis:35px;width:35px;height:35px}.growth-empty{color:var(--muted);padding:30px 0;font-size:13px}.growth-policy{color:var(--muted);font-size:11px!important;line-height:1.9!important}.point-change-confirm{text-align:center;background:var(--coral-soft);border-radius:12px;padding:20px}.point-change-confirm>span{color:var(--coral-text);font-size:12px}.point-change-confirm strong{margin-top:8px;font-size:30px;display:block}.point-change-confirm strong span{color:var(--muted);margin:0 15px}.point-change-confirm p{margin-top:8px;font-size:12px}.confirm-reason{border-left:3px solid var(--coral);white-space:pre-wrap;padding-left:12px;font-size:13px}.avatar-editor{grid-template-columns:180px minmax(0,1fr);align-items:center;gap:24px;display:grid}.avatar-options{flex-direction:column;gap:17px;display:flex}.avatar-options legend,.accessory-options legend{color:var(--muted);font-size:11px}.color-swatches{flex-wrap:wrap;gap:9px;display:flex}.color-swatches button{color:#172f2c;width:30px;height:30px;box-shadow:0 0 0 1px var(--border);border:2px solid #0000;border-radius:50%;place-items:center;display:grid}.color-swatches button[aria-pressed=true]{box-shadow:0 0 0 2px var(--teal-dark);border:2px solid var(--surface)}.avatar-segment{border:1px solid var(--border);border-radius:9px;min-height:38px;display:flex;overflow:hidden}.avatar-segment button{flex:1;padding:6px;font-size:11px}.avatar-segment button[aria-pressed=true]{background:var(--teal-soft);color:var(--teal-dark)}.accessory-options,.mood-switch,.avatar-editor>.growth-policy,.avatar-editor>.form-error{grid-column:1/-1}.accessory-options>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.accessory-options button{border:1px solid var(--border);background:var(--surface-alt);border-radius:10px;flex-direction:column;align-items:center;gap:7px;padding:16px 10px;display:flex}.accessory-options button[aria-pressed=true]{border-color:var(--teal);background:var(--teal-soft)}.accessory-options button:disabled{opacity:.65}.accessory-options svg{color:var(--teal-dark)}.accessory-options strong{font-size:11px;font-weight:400}.accessory-options small{color:var(--muted);align-items:center;gap:4px;font-size:10px;display:flex}.mood-switch{font-size:12px}.avatar-editor>.growth-policy{margin-top:-14px}@media (width<=1100px){.growth-layout{grid-template-columns:245px minmax(0,1fr);gap:30px}.growth-heading{flex-wrap:wrap}.growth-heading h1{font-size:26px}.radar-body{grid-template-columns:1fr}.radar-chart{max-width:390px;margin:auto}.axis-values{grid-template-columns:1fr 1fr;gap:6px;display:grid}.axis-values>button{padding:9px}.growth-radar h2{font-size:19px}.growth-period{font-size:10px}.growth-avatar-stage{max-width:220px}}@media (width<=1000px){.header-inner{flex-wrap:wrap;gap:0;padding-top:12px}.main-nav{order:3;justify-content:space-around;gap:12px;width:100%;margin:10px 0 0}.main-nav button{flex:1;min-height:47px}.header-actions{margin-left:auto}.growth-identity{top:160px}}@media (width<=700px){.growth-layout{grid-template-columns:1fr;gap:32px;margin-top:25px}.growth-identity{grid-template-columns:155px minmax(0,1fr);align-items:center;column-gap:22px;display:grid;position:static}.growth-avatar-stage{grid-row:1/4;width:100%;margin:0}.identity-name{text-align:left;margin:0}.identity-name h2{font-size:20px}.identity-name p{margin:4px 0 10px;font-size:11px}.mood-label{padding:5px 8px;font-size:10px}.mood-explanation{text-align:left;max-width:none;margin:7px 0 0;font-size:10px}.mood-disclaimer{text-align:left;margin-top:4px;font-size:9px}.growth-wallet{border-top:1px dashed var(--border);grid-column:1/2;margin-top:18px;padding-top:16px}.growth-wallet>strong{font-size:38px}.growth-wallet>span{font-size:10px}.growth-wallet small{font-size:9px}.xp-summary{grid-column:2/3;margin:20px 0 0}.growth-point-actions{grid-column:1/-1;margin-top:18px}.growth-point-actions .button{max-width:none}.growth-reward{grid-column:1/-1;margin:16px 0 0;padding:13px 0 0}.growth-person-picker{grid-template-columns:100px minmax(0,1fr);width:100%;display:grid}.growth-person-picker select{width:100%;font-size:14px}.growth-heading{gap:17px}.growth-heading h1{font-size:24px}.level-label{padding:5px 9px;font-size:10px;top:0;right:-4px}.growth-radar>.section-title{padding-bottom:14px}.growth-radar h2{font-size:18px}.radar-body{gap:8px;margin-top:15px}.radar-chart{max-width:370px}.axis-values>button{background:var(--surface-alt)}.axis-values>button.selected{background:var(--surface);border-color:var(--teal)}.axis-values .grow strong{font-size:11px}.axis-values .grow small{font-size:9px}.axis-values b{min-width:28px;font-size:18px}.axis-values .axis-index{width:19px;height:19px;font-size:9px}.axis-values>button{gap:6px;padding:10px 7px}.axis-values>button>svg{display:none}.growth-history{margin-top:30px;padding-top:24px}.growth-history h2{font-size:19px}.growth-event{gap:11px;padding:17px 0}.growth-event strong{font-size:12px;line-height:1.8}.growth-event p{font-size:9px}.event-delta{min-width:33px;font-size:18px}.event-symbol{border-radius:8px;width:29px;height:29px}.growth-event .icon-button{flex-basis:30px;width:30px;height:35px}.next-growth-goal{gap:12px;padding:15px}.next-growth-goal>div{min-width:180px}.growth-period{padding:5px 8px}.growth-radar .section-title{gap:10px}.growth-radar .eyebrow{font-size:10px}.growth-events{min-width:0}.growth-reward small{font-size:11px}.avatar-editor{grid-template-columns:145px minmax(0,1fr);gap:20px}.avatar-options{gap:13px}.color-swatches{gap:8px}.color-swatches button{width:27px;height:27px}.avatar-segment button{padding:5px;font-size:10px}.accessory-options>div{gap:9px}.accessory-options button{padding:13px 8px}}@media (width<=540px){.main-nav{gap:3px}.main-nav button{flex-direction:column;gap:3px;min-width:0;min-height:53px;padding:6px 2px;font-size:10px}.main-nav button>svg{width:17px;height:17px}.main-nav button>span{white-space:nowrap}.growth-identity{grid-template-columns:135px minmax(0,1fr);column-gap:18px}.identity-name h2{font-size:18px}.growth-heading .subtext{font-size:11px}.growth-wallet>strong{font-size:36px}.xp-summary>div:first-child{gap:6px;font-size:10px}.growth-radar h2{font-size:17px}.growth-period{white-space:normal;text-align:center;max-width:66px;font-size:9px}.radar-controls{gap:12px;font-size:10px}.radar-controls .checkbox-label{font-size:10px}.avatar-editor{grid-template-columns:1fr;gap:20px}.avatar-editor>.growth-avatar{max-width:165px}.avatar-options{grid-template-columns:1fr 1fr;gap:18px;display:grid}.avatar-segment{min-height:36px}.avatar-segment button{padding:4px;font-size:10px}.avatar-editor>.growth-policy{font-size:10px!important}.color-swatches button{width:29px;height:29px}.avatar-options fieldset{min-width:0}.color-swatches{gap:7px}.axis-values .grow strong{font-size:11px}.growth-person-picker select{font-size:16px}.mood-label{font-size:10px}.mood-disclaimer{font-size:9px}.axis-evidence>p{font-size:11px}.growth-radar>.section-title h2{max-width:240px}}.roster-import,.roster-import .form-columns>label{min-width:0}.roster-import-file input{width:100%;min-width:0;font-size:13px}.roster-import-file input::file-selector-button{font:inherit;color:var(--text);background:var(--surface-alt);border:1px solid var(--border);border-radius:8px;margin-right:8px;padding:10px}.roster-template-actions{border:1px solid var(--border);background:var(--surface-alt);border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;display:flex}.roster-template-button{align-items:center;gap:7px;display:inline-flex}.roster-template-actions .muted{font-size:12px}.import-file-name{overflow-wrap:anywhere;align-items:center;gap:8px;display:flex}.import-file-name svg{flex-shrink:0}.import-progress-card{border:1px solid color-mix(in srgb, var(--teal) 28%, var(--border));background:color-mix(in srgb, var(--teal-soft) 70%, var(--surface));border-radius:12px;gap:9px;padding:14px 16px;animation:.24s ease-out both import-progress-in;display:grid}.import-progress-card.is-reading{align-items:center;gap:9px;display:flex}.import-background-hint{border:1px solid color-mix(in srgb, var(--teal) 28%, var(--border));background:color-mix(in srgb, var(--teal-soft) 60%, var(--surface));border-radius:10px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px 9px;padding:10px 12px;animation:.24s ease-out both import-progress-in;display:grid}.import-background-hint>div{justify-content:space-between;align-items:baseline;gap:8px;min-width:0;display:flex}.import-background-hint strong,.import-background-hint span,.import-background-hint small{font-size:12px}.import-background-hint>div span,.import-background-hint small{color:var(--muted)}.import-background-hint small{grid-column:2}@keyframes import-progress-in{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.import-mapping{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.import-mapping label{gap:8px;min-width:0;font-size:12px;display:grid}.import-mapping select{text-overflow:ellipsis;min-width:0}.import-summary{border-block:1px solid var(--border);gap:4px;padding:12px 0;font-size:14px;display:grid}.import-summary span,.import-limit{color:var(--muted);font-size:12px}.import-selection-actions{flex-wrap:wrap;gap:8px;display:flex}.import-selection-actions .button{padding:9px 12px;font-size:12px}.import-preview{min-width:0}.import-preview-head,.import-preview-row{border-bottom:1px solid var(--border);grid-template-columns:20px 36px 42px minmax(0,1fr);align-items:center;gap:10px;padding:12px 4px;font-size:13px;display:grid}.import-preview-head{color:var(--muted);font-size:12px}.import-preview-row.invalid{background:var(--coral-soft)}.import-preview-row input{width:18px;height:18px;accent-color:var(--teal-dark)}.import-person{overflow-wrap:anywhere;gap:5px;min-width:0;display:grid}.import-person strong{font-weight:400}.import-person>span{font-size:12px}.import-ready{color:var(--teal-dark)}.import-row-error{color:var(--text)}.import-row-number small,.import-roll-number small{display:none}.import-pagination{justify-content:center;align-items:center;gap:16px;font-size:13px;display:flex}.roster-actions{flex-wrap:wrap}@media (width<=540px){.import-mapping{grid-template-columns:1fr}.import-preview-head{display:none}.import-preview-row{grid-template-columns:20px minmax(0,1fr) auto;align-items:start;gap:8px;padding:12px 6px}.import-person{grid-column:2/-1}.import-row-number small,.import-roll-number small{display:inline}.roster-actions .button{padding:10px 12px;font-size:13px}}.roster-layout{grid-template-columns:205px minmax(0,1fr);align-items:start;gap:40px;display:grid}.roster-rooms{gap:10px;display:grid}.roster-rooms h2{color:var(--muted);margin:0 0 8px;font-size:14px}.roster-room{border:1px solid var(--border);background:var(--surface);color:var(--text);text-align:left;border-radius:8px;align-items:center;gap:14px;min-width:0;padding:14px 16px;display:flex}.roster-room.active{border-color:var(--teal);background:var(--teal-soft);color:var(--teal-dark);box-shadow:inset 3px 0 var(--teal)}.roster-room span{gap:2px;display:grid}.roster-room strong{font-size:17px}.roster-room small{color:var(--muted);font-size:12px}.roster-content{min-width:0}.roster-title{flex-wrap:wrap;gap:12px;margin-bottom:24px}.roster-actions{align-items:center;gap:8px;display:flex}.roster-filters{align-items:end;gap:16px;margin-bottom:18px;display:flex}.roster-filters .search-field{flex:1;min-width:0}.roster-status{color:var(--muted);gap:6px;font-size:12px;display:grid}.roster-status select{background:var(--surface);border:1px solid var(--border);min-width:150px;height:44px;color:var(--text);border-radius:8px;padding:8px 12px}.roster-selection{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;min-height:62px;display:flex}.roster-selection label{align-items:center;gap:12px;font-size:13px;display:flex}.roster-selection input,.roster-person>input{width:19px;height:19px;accent-color:var(--teal-dark);flex-shrink:0}.roster-selection .button{padding:9px 12px;font-size:13px}.roster-list{display:grid}.roster-person{border-top:1px solid var(--border);grid-template-columns:20px 42px minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px 0;display:grid}.roster-person:last-child{border-bottom:1px solid var(--border)}.roster-number{background:var(--gold-soft);width:40px;height:40px;color:var(--gold-text);border-radius:50%;place-items:center;font-size:15px;display:grid}.roster-person-name{overflow-wrap:anywhere;min-width:0}.roster-person-name h3{margin:0;font-size:16px}.roster-person-name p{color:var(--muted);margin:4px 0 0;font-size:12px}.roster-person-actions{align-items:center;gap:6px;display:flex}.roster-person-actions .icon-button{width:36px;height:36px;padding:8px}.roster-person-actions .icon-button.danger{color:var(--coral);background:0 0;border-color:#0000}.roster-confirm-names{overflow-wrap:anywhere;max-height:220px;padding-left:24px;overflow-y:auto}.student-password-reset{border:1px solid var(--border);background:var(--surface-alt);border-radius:8px;gap:10px;padding:14px;display:grid}.student-password-reset label{margin:0}.student-password-reset .button{justify-self:start}.student-password-reset .form-error{margin:0}@media (width<=800px){.roster-layout{grid-template-columns:1fr;gap:28px}.roster-rooms{padding:0 0 8px;display:flex;overflow-x:auto}.roster-rooms h2{display:none}.roster-room{flex:0 0 134px}}@media (width<=540px){.roster-filters{flex-direction:column;align-items:stretch;gap:10px}.roster-person{grid-template-columns:20px 30px minmax(0,1fr) auto;gap:9px;padding:14px 0}.roster-person-name h3{font-size:14px}.roster-number{width:30px;height:30px;font-size:12px}.roster-title h2{font-size:24px}.roster-status select{font-size:16px}}.work-warning{border-left:3px solid var(--gold);background:var(--gold-soft);color:var(--gold-text);overflow-wrap:anywhere;padding:16px}.work-warning h3{margin-top:0;font-size:16px}.work-warning p{font-size:13px}.work-warning ul{max-height:200px;padding:0;list-style:none;overflow-y:auto}.work-warning li{justify-content:space-between;gap:16px;padding:8px 0;display:flex}.room-edit-summary{border:1px solid var(--border);background:var(--surface-alt);border-radius:16px;padding:15px}.room-edit-summary h3{margin:0 0 10px;font-size:15px}.room-edit-summary ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.room-edit-summary li{border-top:1px solid var(--border);grid-template-columns:70px minmax(0,1fr) minmax(0,1fr);align-items:center;gap:10px;padding-top:8px;font-size:12px;display:grid}.room-edit-summary span{color:var(--muted);overflow-wrap:anywhere}.form-stack .work-check{flex-direction:row;align-items:center;gap:10px;display:flex}.form-stack .work-check input{flex-shrink:0;width:18px;height:18px}.work-history{border-top:1px solid var(--border);margin-top:28px;padding-top:20px}.work-history h3{align-items:center;gap:10px;font-size:16px;display:flex}.work-history details,.work-edit-history{border-bottom:1px solid var(--border);overflow-wrap:anywhere;padding:12px 0}.work-history summary,.work-edit-history summary{cursor:pointer;font-size:13px}.work-history-body{padding:16px 0}.work-history-body p,.history-response{white-space:pre-wrap;overflow-wrap:anywhere}.work-history .button{overflow-wrap:anywhere;max-width:100%;height:auto}.work-detail-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:14px 0;display:flex}.work-window{color:var(--muted);font-size:12px}.work-row-actions{align-items:center;gap:6px;display:flex}.badge.returned{color:var(--coral-text);background:var(--coral-soft)}.badge.returned .status-dot{background:var(--coral)}.student-task .revision-actions{gap:8px;display:grid}.work-detail .review-tabs{flex-wrap:wrap}@media (width<=600px){.form-stack .work-schedule{grid-template-columns:minmax(0,1fr)}.form-stack .form-columns>label{min-width:0}.work-detail .review-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;display:grid}.work-detail .review-row{grid-template-columns:20px minmax(0,1fr) auto;display:grid}.work-detail .review-row .student-info{grid-area:1/2/auto/-1}.work-detail .review-row>input[type=checkbox],.work-detail .review-row>.reviewed-check{grid-area:1/1}.work-detail .missing-row .badge{grid-column:2/-1}.work-detail .work-row-actions{grid-area:2/2}.work-detail .score-input,.work-detail .reviewed-score{grid-area:2/3}.work-detail .work-row-actions .icon-button{width:40px;height:40px;display:inline-flex}.work-warning li{align-items:start}.work-warning li strong{white-space:nowrap}.room-edit-summary li{grid-template-columns:58px minmax(0,1fr)}.room-edit-summary li span:last-child{grid-column:2}.form-stack input[type=datetime-local]{width:100%;min-width:0;font-size:16px}}.preview-login{background:var(--bg);min-height:100dvh}.preview-login-header{justify-content:space-between;align-items:center;gap:12px;max-width:1120px;margin:auto;padding:24px;display:flex}.preview-login-header>span{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.preview-login-main{text-align:center;max-width:480px;margin:20px auto 0;padding:0 24px 48px}.preview-school-logo{object-fit:contain;background:var(--surface);border-radius:50%;width:82px;height:82px;margin:0 auto 18px;padding:10px;box-shadow:0 6px 20px #2ba8a218}.preview-login-main h1{margin:8px 0;font-size:28px;line-height:1.6}.preview-greeting{color:var(--muted);margin:0 0 28px;font-size:14px}.preview-access-intro{color:var(--muted);margin:0 0 14px;font-size:13px;line-height:1.7}.preview-signup-hint{color:#8a5a18;background:#fff7dc;border:1px solid #e9c978;border-radius:10px;margin:-2px 0 0;padding:11px 12px;font-size:11px;line-height:1.7}.preview-field-error{color:#b84b35;margin-top:5px;font-size:11px;line-height:1.5;display:block}.preview-success{color:#236b4b;background:#eaf8ef;border:1px solid #9bd3b2;border-radius:10px;margin:14px 0 0;padding:11px 12px;font-size:12px;line-height:1.6}.preview-password-input{align-items:center;display:flex;position:relative}.preview-password-input input{width:100%;padding-right:48px}.preview-password-input button{width:34px;height:34px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:grid;position:absolute;right:8px}.preview-password-input button:hover{color:var(--teal-dark);background:var(--surface-alt)}.preview-access-choice{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.preview-access-choice button{text-align:left;border:1px solid var(--border);background:var(--surface);min-height:78px;color:var(--text);border-radius:12px;gap:5px;padding:14px;display:grid}.preview-access-choice button.is-selected{border-color:var(--teal);background:var(--teal-soft);box-shadow:inset 0 0 0 1px var(--teal)}.preview-access-choice strong{font-size:14px}.preview-access-choice span{color:var(--muted);font-size:11px;line-height:1.5}.preview-teacher-context{color:var(--teal-dark);justify-content:center;align-items:center;gap:7px;margin:0;font-size:13px;display:flex}.preview-role-tabs{background:var(--surface-alt);border-radius:8px;grid-template-columns:1fr 1fr;gap:8px;padding:6px;display:grid}.preview-role-tabs button{min-height:48px;color:var(--muted);border-radius:6px;justify-content:center;align-items:center;gap:10px;display:flex}.preview-role-tabs button[aria-pressed=true]{background:var(--teal-soft);color:var(--teal-dark);box-shadow:inset 0 -2px var(--teal)}.preview-login-form{text-align:left;padding-top:24px}.preview-teacher h2{margin:0 0 8px;font-size:20px}.preview-teacher p{color:var(--muted);margin:0 0 8px;font-size:13px}.preview-login-form .preview-enter{justify-content:space-between;width:100%;margin-top:24px}.preview-forgot-link{color:var(--muted);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;margin:14px auto 0;font-size:13px;text-decoration:underline;display:block}.preview-forgot-link:hover{color:var(--teal-dark)}.preview-auth-links{flex-wrap:wrap;justify-content:center;gap:18px;display:flex}.preview-teacher-link{color:var(--muted);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;margin:24px auto 0;font-size:12px;text-decoration:underline;display:block}.preview-teacher-link:hover{color:var(--teal-dark)}@media (width<=540px){.preview-access-choice{grid-template-columns:1fr}}.preview-sample-picker{grid-template-columns:minmax(0,1fr);gap:14px;display:grid}.preview-sample-picker label{gap:8px;min-width:0;font-size:12px;display:grid}.preview-login-form select{text-overflow:ellipsis;min-width:0}.preview-selected{border-left:3px solid var(--teal);overflow-wrap:anywhere;gap:6px;padding:4px 14px;display:grid}.preview-selected strong{font-size:15px}.preview-selected span{color:var(--muted);font-size:12px}.preview-disclaimer{color:var(--muted);margin:24px 0 0;font-size:11px;line-height:1.8}.preview-mode-link{color:var(--muted);text-underline-offset:3px;margin:20px auto 0;padding:8px 12px;font-size:12px;text-decoration:underline;display:block}.preview-mode-link:hover{color:var(--teal-dark)}.auth-loading{place-items:center;display:grid}.auth-loading .preview-login-main{margin-top:18vh}.preview-identity{justify-content:flex-end;align-items:center;gap:12px;max-width:1480px;margin:0 auto;padding:16px 24px 0;display:flex}.preview-identity label{color:var(--muted);align-items:center;gap:12px;min-width:0;font-size:12px;display:flex}.preview-identity select{background:var(--surface);min-width:0;max-width:340px;color:var(--text);border:1px solid var(--border);text-overflow:ellipsis;border-radius:8px;padding:10px 12px}.site-header .logout-button{flex:0 0 38px;width:38px;height:38px}@media (width<=540px){.preview-login-header{padding:16px}.preview-login-header>span{font-size:10px}.preview-login-main{margin-top:12px;padding:0 20px 32px}.preview-login-main h1{font-size:24px}.preview-identity{padding:14px 16px 0}.preview-identity label{gap:6px;width:100%;display:grid}.preview-identity select{width:100%;max-width:100%;font-size:16px}.site-header .header-actions{gap:5px}.site-header .brand strong{font-size:13px}.site-header .brand small{font-size:8px}.site-header .brand{gap:6px}.site-header .logout-button{flex-basis:34px;width:34px;height:34px}}.resources-heading{align-items:flex-start}.resource-actions{flex-wrap:wrap;gap:10px;display:flex}.resource-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.resource-panel{min-width:0}.resource-panel .eyebrow{align-items:center;gap:6px;display:inline-flex}.resource-list,.announcement-list{gap:10px;display:grid}.resource-item,.announcement-item{border:1px solid var(--border);background:var(--surface-alt);border-radius:14px;align-items:center;gap:13px;padding:14px;display:flex}.resource-icon{background:color-mix(in srgb, var(--accent) 12%, transparent);width:38px;height:38px;color:var(--accent);border-radius:12px;flex:none;place-items:center;display:grid}.resource-copy,.announcement-item>div{flex:1;min-width:0}.resource-copy h3,.announcement-item h3{margin:0;font-size:15px}.resource-copy p,.announcement-item p{color:var(--muted);overflow-wrap:anywhere;margin:4px 0;font-size:13px;line-height:1.6}.resource-copy span,.announcement-item time{color:var(--muted);font-size:12px}.resource-item-actions{flex:none}.announcement-item{align-items:flex-start}.announcement-room{color:var(--accent);margin-bottom:5px;font-size:12px;font-weight:650;display:inline-block}.resource-empty{min-height:150px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:8px;display:grid}.resource-empty p{margin:0}.download-history-panel{margin-top:18px}.resource-empty.compact{min-height:110px}.download-history{gap:8px;display:grid}.download-log{border:1px solid var(--border);background:var(--surface-alt);border-radius:12px;align-items:center;gap:12px;padding:11px 13px;display:flex}.download-log time{color:var(--muted);flex:none;font-size:12px}@media (width<=560px){.download-log{align-items:flex-start}.download-log time{text-align:right;max-width:105px;margin-left:auto}}.resource-rooms{border:0;flex-wrap:wrap;gap:8px;margin:0;padding:0;display:flex}.resource-rooms legend{width:100%;margin-bottom:2px;font-size:12px}.resource-rooms label{border:1px solid var(--border);background:var(--surface-alt);border-radius:10px;align-items:center;gap:6px;min-height:38px;padding:0 11px;font-size:13px;display:inline-flex}.resource-rooms input{accent-color:var(--accent)}@media (width<=800px){.resource-layout{grid-template-columns:1fr}.resources-heading{gap:14px}.resource-item .button{padding-inline:10px}}.reports-heading{align-items:flex-start}.report-room{min-width:220px;color:var(--muted);gap:7px;font-size:12px;display:grid}.report-room select{border:1px solid var(--border);background:var(--surface-alt);min-height:44px;color:var(--text);font:inherit;border-radius:10px;padding:0 12px;font-size:14px}.reports-panel{min-width:0}.report-tabs{border-bottom:1px solid var(--border);gap:6px;padding-bottom:16px;display:flex;overflow-x:auto}.report-tabs button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;flex:none;align-items:center;gap:7px;padding:10px 13px;display:inline-flex}.report-tabs button.active{background:var(--accent-soft);color:var(--accent);font-weight:650}.report-toolbar{justify-content:space-between;align-items:center;gap:14px;padding:18px 0;display:flex}.report-actions{grid-auto-flow:column;align-items:center;gap:8px;display:flex!important}.report-toolbar>div{gap:3px;display:grid}.report-toolbar span{color:var(--muted);font-size:12px}.report-table-wrap{border:1px solid var(--border);border-radius:12px;overflow-x:auto}.report-table{border-collapse:collapse;width:100%;min-width:760px;font-size:13px}.report-table th,.report-table td{border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;padding:12px 14px}.report-table th{background:var(--surface-alt);color:var(--muted);font-weight:650}.report-table th small{color:var(--muted);margin-top:3px;font-weight:400;display:block}.report-table tr:last-child td{border-bottom:0}.report-table td:not(:nth-child(3)){text-align:center}.report-table.compact{min-width:560px}.report-empty{color:var(--muted);text-align:center;margin:0;padding:30px}@media (width<=640px){.reports-heading{gap:14px}.report-room{width:100%}.report-toolbar{flex-direction:column;align-items:flex-start}.report-actions{grid-template-columns:1fr 1fr;grid-auto-flow:row;width:100%}.report-actions .button{justify-content:center;width:100%}}@font-face{font-family:Prompt;src:url(/fonts/Prompt-Regular.ttf)format("truetype");font-display:swap;font-weight:400}:root{color:#223d3b;font-synthesis:weight;--bg:#f5f8f7;--surface:#fff;--surface-alt:#f0f6f4;--text:#223d3b;--muted:#637975;--border:#dae6e2;--teal:#2ba8a2;--teal-dark:#116b66;--teal-soft:#e8f6f5;--gold:#ffd23f;--gold-soft:#fff7d7;--gold-text:#775609;--coral:#ef6c4a;--coral-soft:#fff0e9;--coral-text:#a83e26;--sky-soft:#e9f3fc;--sky-text:#346a98;--shadow:0 6px 24px #237b7110;--ring:0 0 0 3px #2ba8a230;letter-spacing:0;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#f5f8f7;font-family:Prompt,system-ui,sans-serif}:root[data-theme=dark]{--bg:#172221;--surface:#21312f;--surface-alt:#293b37;--text:#e6f2ed;--muted:#adc0b8;--border:#3b524b;--teal:#57c8bd;--teal-dark:#92e0d6;--teal-soft:#244740;--gold:#f6ce55;--gold-soft:#483e24;--gold-text:#f3d984;--coral:#ff916f;--coral-soft:#4c322c;--coral-text:#ffb196;--sky-soft:#2c3e48;--sky-text:#abd5f1;--shadow:0 6px 24px #00000013;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:var(--bg);color:var(--text)}*{box-sizing:border-box;letter-spacing:0}body{min-width:320px;margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--teal);outline-offset:3px}button{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:600;line-height:1.5}h1{font-size:31px}h2{font-size:21px}h3{font-size:17px}small{font-size:12px}strong{font-weight:600}svg{flex-shrink:0}button{transition:background .16s,box-shadow .16s,transform .16s}button:active:not(:disabled){transform:translateY(1px)}.loading-spinner{vertical-align:-.12em;border:2px solid;border-right-color:#0000;border-radius:50%;width:.9em;height:.9em;margin-inline:.1em;animation:.7s linear infinite loading-spin;display:inline-block}@keyframes loading-spin{to{transform:rotate(360deg)}}a{color:var(--teal-dark)}input,textarea,select{min-width:0}img{max-width:100%;display:block}button{background:0 0;border:0}button,p,h1,h2,h3,span,strong,a{overflow-wrap:anywhere}.grow{flex:1;min-width:0}.muted,.subtext{color:var(--muted)}.eyebrow{color:var(--muted);margin-bottom:6px;font-size:12px;display:block}.heading-dot{color:var(--coral);margin-left:4px}.subtext{margin-top:8px;font-size:14px}.button{white-space:normal;border-radius:999px;justify-content:center;align-items:center;gap:9px;min-height:44px;padding:11px 20px;font-size:13px;line-height:1.6;text-decoration:none;display:inline-flex}.button.gold{background:var(--gold);color:#3c350f;box-shadow:0 4px 12px #ffd23f35}.button.gold:hover{background:#ffe47a;box-shadow:0 4px 18px #ffd23f55}.button.teal{background:var(--teal);color:#11312e;box-shadow:0 4px 12px #2ba8a220}.button.teal:hover{filter:brightness(.97)}[data-theme=dark] .button.teal{color:#142e28}.button.coral{background:var(--coral);color:#30130e}.button.neutral{border:1px solid var(--border);background:var(--surface);color:var(--text)}.icon-button{border:1px solid var(--border);background:var(--surface);border-radius:12px;flex:0 0 40px;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.icon-button:hover{background:var(--teal-soft);color:var(--teal-dark)}.small-icon{background:0 0;border:none;flex-basis:30px;width:30px;height:30px}.text-link{color:var(--teal-dark);align-items:center;gap:8px;padding:7px 0;font-size:13px;line-height:1.7;display:inline-flex}.text-link:hover{text-decoration:underline}.prototype-bar{background:var(--text);height:35px;color:var(--bg);justify-content:space-between;align-items:center;gap:12px;padding:0 max(24px,50% - 620px);font-size:10px;display:flex}.prototype-label,.reset-button{white-space:nowrap;align-items:center;gap:6px;display:flex}.reset-button{color:inherit;padding:4px;font-size:10px}.role-switch{background:#ffffff15;border-radius:6px;gap:2px;padding:2px;display:flex}.role-switch button{white-space:nowrap;color:inherit;border-radius:4px;padding:3px 13px;font-size:10px}.role-switch button[aria-pressed=true]{background:var(--gold);color:#302b10}.site-header{z-index:20;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0}.header-inner{align-items:center;gap:28px;max-width:1288px;min-height:84px;margin:auto;padding:0 24px;display:flex}.brand{text-align:left;flex-shrink:0;align-items:center;gap:12px;padding:0;display:flex}.logo-wrap{background:#fff;border-radius:50%;place-items:center;width:49px;height:49px;padding:6px;display:grid;box-shadow:0 3px 12px #2ba8a218}.logo-wrap img{object-fit:contain;height:100%}.brand strong{white-space:nowrap;font-size:18px;display:block}.brand small{color:var(--muted);margin-top:3px;font-size:11px;display:block}.main-nav{align-self:stretch;gap:24px;margin-left:auto;display:flex}.main-nav button{color:var(--muted);white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:0 4px;font-size:13px;display:flex;position:relative}.main-nav button.active{color:var(--teal-dark)}.main-nav button.active:after{content:"";background:var(--teal);border-radius:2px 2px 0 0;height:3px;position:absolute;bottom:0;left:0;right:0}.header-actions{align-items:center;gap:16px;display:flex}.theme-button{background:var(--surface-alt);border:0}.role-label{white-space:nowrap;color:var(--muted);align-items:center;gap:6px;font-size:12px;display:flex}.account-button{font:inherit;cursor:pointer;background:0 0;border:0}.account-button:hover{color:var(--teal-dark)}.account-icon{display:none}.main-content{max-width:1288px;margin:auto;padding:32px 24px 0}.page-heading{justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px;display:flex}.page-heading>.button{flex-shrink:0}.section-title{justify-content:space-between;align-items:center;gap:16px;margin-bottom:19px;display:flex}.section-title .muted{font-size:12px}.section-title.spaced{margin-top:36px}.section-title .eyebrow{margin-bottom:3px}.teacher-overview{grid-template-columns:1.08fr 1fr;align-items:stretch;gap:44px;display:grid}.review-callout{background:var(--teal-soft);border-left:4px solid var(--teal);padding:25px 29px;position:relative}.callout-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.mini-label{color:var(--teal-dark);align-items:center;gap:8px;font-size:12px;display:inline-flex}.callout-number{color:var(--teal-dark);font-size:46px;font-weight:600;line-height:1}.review-callout h2{white-space:pre-line;max-width:440px;margin-top:12px;font-size:25px;line-height:1.65}.callout-bottom{justify-content:space-between;align-items:center;gap:12px;margin-top:22px;display:flex}.callout-bottom>span{color:var(--muted);font-size:12px}.overview-notes{padding-top:5px}.class-row{border-bottom:1px dashed var(--border);text-align:left;align-items:center;gap:13px;width:100%;padding:13px 0;display:flex}.class-row[aria-pressed=true]{background:var(--teal-soft)}.class-row .grow strong,.class-row .grow span{display:block}.class-row .grow strong{font-size:14px}.class-row .grow span{margin-top:4px;font-size:11px}.room-tile{border-radius:12px;flex-shrink:0;place-items:center;width:46px;height:46px;font-size:17px;font-weight:600;display:grid}.room-0{background:var(--teal-soft);color:var(--teal-dark)}.room-1{background:var(--gold-soft);color:var(--gold-text)}.room-2{background:var(--coral-soft);color:var(--coral-text)}.class-count{color:var(--muted);font-size:12px}.room-chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.room-chips button{min-height:34px;color:var(--muted);border:1px solid #0000;border-radius:999px;padding:7px 13px;font-size:12px}.room-chips button.active{background:var(--surface);border-color:var(--border);color:var(--teal-dark);box-shadow:var(--shadow)}.assignment-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.assignment-card{border:1px solid var(--border);background:var(--surface);text-align:left;box-shadow:var(--shadow);border-top:3px solid var(--teal);border-radius:16px;min-width:0;padding:20px}.assignment-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px #2ba8a224}.assignment-card.gold{border-top-color:var(--gold)}.assignment-card.coral{border-top-color:var(--coral)}.assignment-card.sky{border-top-color:#5dade2}.card-top{justify-content:space-between;align-items:center;gap:10px;margin-bottom:21px;display:flex}.assignment-icon{border-radius:14px;flex:0 0 50px;justify-content:center;align-items:center;width:50px;height:50px;display:inline-flex}.assignment-icon svg{width:24px;height:24px}.assignment-icon.small{border-radius:10px;flex-basis:37px;width:37px;height:37px}.assignment-icon.small svg{width:19px;height:19px}.assignment-icon.teal{background:var(--teal-soft);color:var(--teal-dark)}.assignment-icon.gold{background:var(--gold-soft);color:var(--gold-text)}.assignment-icon.coral{background:var(--coral-soft);color:var(--coral-text)}.assignment-icon.sky{background:var(--sky-soft);color:var(--sky-text)}.category{color:var(--muted);font-size:11px}.assignment-card h3{min-height:48px;font-size:15px;line-height:1.65}.assignment-card>p{color:var(--muted);margin-top:5px;font-size:11px}.submission-meter{color:var(--muted);justify-content:space-between;gap:8px;margin-top:20px;font-size:10px;display:flex}.submission-meter strong{color:var(--text)}.meter{background:var(--surface-alt);border-radius:4px;height:5px;margin:8px 0 16px;overflow:hidden}.meter>span{background:var(--teal);border-radius:4px;height:100%;display:block}.card-footer{border-top:1px dashed var(--border);color:var(--muted);justify-content:space-between;align-items:center;gap:8px;padding-top:13px;font-size:10px;display:flex}.card-footer>span{align-items:center;gap:5px;display:flex}.card-footer>span:last-child{color:var(--teal-dark)}.teacher-footer-note{border-top:1px solid var(--border);align-items:center;gap:14px;margin:30px 0 0;padding:18px 0;display:flex}.note-symbol{background:var(--gold-soft);color:var(--gold-text);border-radius:50%;place-items:center;width:40px;height:40px;display:grid}.teacher-footer-note strong{font-size:13px}.teacher-footer-note p{color:var(--muted);margin-top:3px;font-size:11px}.teacher-footer-note .text-link{margin-left:auto}.page-footer{color:var(--muted);border-top:1px dashed var(--border);justify-content:space-between;gap:20px;margin-top:30px;padding:25px 0;font-size:10px;display:flex}.workbench{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:16px;grid-template-columns:280px minmax(0,1fr);align-items:start;gap:0;display:grid;overflow:hidden}.work-list{background:var(--surface-alt);border-right:1px solid var(--border);align-self:stretch;min-width:0;padding:18px 12px}.work-list-filters{flex-direction:column;gap:10px;padding:0 5px;display:flex}.search-field,.select-field{border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:10px;align-items:center;gap:9px;min-height:42px;padding:0 12px;display:flex}.search-field input{width:100%;color:var(--text);background:0 0;border:0;padding:10px 0;font-size:12px}.select-field select{width:100%;color:var(--text);background:0 0;border:0;min-height:40px;padding:10px 0;font-size:12px}.list-caption{color:var(--muted);justify-content:space-between;padding:22px 9px 11px;font-size:11px;display:flex}.assignment-list{flex-direction:column;gap:7px;display:flex}.work-list-item{text-align:left;border:1px solid #0000;border-radius:10px;align-items:center;gap:11px;width:100%;min-width:0;padding:14px 10px;display:flex}.work-list-item .grow strong{font-size:12px;line-height:1.8;display:block}.work-list-item .grow small{color:var(--muted);margin-top:4px;font-size:10px;display:block}.work-list-item.active{background:var(--surface);border-color:var(--border);box-shadow:0 2px 10px #2ba8a210}.count-badge{background:var(--gold-soft);color:var(--gold-text);border-radius:8px;place-items:center;min-width:23px;height:23px;font-size:11px;display:grid}.work-detail{min-width:0;padding:28px}.detail-title{align-items:center;gap:14px;display:flex}.detail-title>div{min-width:0}.detail-title h2{font-size:22px}.detail-title .eyebrow{font-size:10px}.max-score{color:var(--muted);flex-direction:column;flex-shrink:0;align-items:center;margin-left:auto;font-size:10px;display:flex}.max-score strong{color:var(--teal-dark);font-size:28px;line-height:1.5}.assignment-description{color:var(--muted);margin-top:18px;font-size:13px;line-height:1.95}.assignment-metadata{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-top:18px;font-size:11px;display:flex}.assignment-metadata>span:first-child{align-items:center;gap:8px;display:flex}.review-tabs{border-bottom:1px solid var(--border);gap:24px;margin-top:26px;display:flex}.review-tabs button{color:var(--muted);align-items:center;gap:8px;padding:12px 0;font-size:12px;display:flex;position:relative}.review-tabs button>span{background:var(--surface-alt);border-radius:7px;min-width:24px;padding:2px 5px;font-size:10px}.review-tabs button.active{color:var(--teal-dark)}.review-tabs button.active:after{content:"";background:var(--teal);border-radius:2px;height:3px;position:absolute;bottom:-1px;left:0;right:0}.review-tabs button.active>span{background:var(--teal-soft)}.review-content{min-height:140px}.selection-toolbar{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding:17px 10px;font-size:10px;display:flex}.checkbox-label{align-items:center;gap:12px;font-size:11px;display:flex}.review-row{border-bottom:1px solid var(--border);align-items:center;gap:14px;min-height:82px;padding:16px 10px;display:flex}.review-row.selected{background:var(--teal-soft)}input[type=checkbox]{appearance:auto;accent-color:var(--teal-dark);cursor:pointer;flex:0 0 17px;width:17px;height:17px}.student-info{flex:1;min-width:0}.student-info strong{font-size:13px;display:block}.student-info small{color:var(--muted);margin-top:5px;font-size:10px;display:block}.score-input{text-align:center;background:var(--surface);border:1px solid var(--border);width:65px;min-height:42px;color:var(--text);border-radius:9px;padding:8px 3px;font-size:15px}.preview-button{background:0 0;border-radius:10px;flex-basis:36px;width:36px;height:36px}.file-preview{border:1px solid var(--line,#dbe5df);background:var(--surface,#fff);color:inherit;text-align:left;border-radius:12px;flex-direction:column;align-items:stretch;padding:0;display:inline-flex;position:relative;overflow:hidden}.file-preview.compact{cursor:pointer;width:76px;margin-top:7px}.file-preview.expanded{cursor:default;justify-content:center;align-items:center;width:100%;min-height:180px;margin-top:14px}.file-preview:disabled{opacity:1}.file-preview:not(:disabled):hover{border-color:var(--teal,#159c91)}.file-preview-thumb{object-fit:cover;width:76px;height:58px;display:block}.file-preview-pdf-thumb{pointer-events:none;border:0;width:76px;height:58px;display:block}.file-preview-image{object-fit:contain;max-width:100%;max-height:460px;display:block}.file-preview-pdf{border:0;width:100%;height:460px}.file-preview-generic{min-height:70px;color:var(--muted,#66756f);justify-content:center;align-items:center;gap:7px;padding:12px;display:flex}.file-preview-generic span{text-overflow:ellipsis;white-space:nowrap;max-width:150px;overflow:hidden}.file-preview-caption{text-overflow:ellipsis;white-space:nowrap;max-width:76px;padding:4px 6px;font-size:10px;display:block;overflow:hidden}.reviewed-check{color:var(--teal-dark)}.reviewed-score{color:var(--teal-dark);text-align:center;min-width:64px;font-size:20px}.reviewed-score small{color:var(--muted);margin-left:3px;font-size:12px}.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:5px 9px;font-size:10px;display:inline-flex}.badge.pending{background:var(--gold-soft);color:var(--gold-text)}.badge.reviewed{background:var(--teal-soft);color:var(--teal-dark)}.badge.missing{background:var(--surface-alt);color:var(--muted)}.status-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:5px;height:5px}.grading-dock{background:var(--gold-soft);border:1px solid color-mix(in srgb, var(--gold) 45%, var(--border));border-radius:12px;margin-top:22px;padding:17px 20px}.dock-top{align-items:center;gap:12px;display:flex}.dock-top>strong{font-size:12px}.dock-top .text-link{margin-left:auto;font-size:11px}.feedback-field{flex-direction:column;gap:7px;margin:10px 0 14px;display:flex}.feedback-field>span{font-size:11px}.feedback-field small{color:var(--muted);font-size:10px}.feedback-field textarea{resize:vertical;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:10px;font-size:12px}.dock-save{width:100%;min-height:43px;font-size:12px}.empty{text-align:center;min-height:170px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:13px;padding:22px;font-size:13px;display:flex}.empty svg{color:var(--teal);width:32px;height:32px}.missing-row>svg{color:var(--muted)}.student-name-tag{color:var(--teal-dark);align-items:center;gap:9px;font-size:13px;display:inline-flex}.student-overview{grid-template-columns:1fr 1fr;gap:36px;margin-bottom:35px;display:grid}.student-next{background:var(--gold-soft);border-left:4px solid var(--gold);padding:25px 28px}.student-next .mini-label{color:var(--gold-text)}.student-next h2{max-width:400px;margin:14px 0 10px;font-size:24px}.student-next>p{color:var(--muted);margin-bottom:21px;font-size:12px}.student-progress{justify-content:space-between;align-items:center;gap:22px;padding:12px 0;display:flex}.student-progress h2{font-size:20px}.student-progress p{color:var(--muted);margin:12px 0;font-size:12px}.score-ring{background:conic-gradient(var(--teal) var(--progress), var(--border) 0);border-radius:50%;flex:0 0 156px;place-items:center;width:156px;height:156px;padding:10px;display:grid;transform:rotate(0)}.score-ring>div{background:var(--bg);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.score-ring strong{font-size:40px;line-height:1.5}.score-ring span{color:var(--muted);font-size:10px}.student-content{grid-template-columns:minmax(0,1fr) 290px;gap:36px;display:grid}.student-content.full{max-width:960px;margin:0 auto;display:block}.student-task-list{flex-direction:column;gap:12px;display:flex}.student-task{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px;align-items:center;gap:16px;padding:20px;display:flex}.student-task-body{flex:1;min-width:0}.task-labels{align-items:center;gap:10px;margin-bottom:7px;display:flex}.task-labels .badge{padding:3px 7px;font-size:9px}.student-task h3{font-size:15px}.task-date{color:var(--muted);align-items:center;gap:5px;margin-top:6px;font-size:10px;display:flex}.teacher-feedback{color:var(--muted);border-left:2px solid var(--teal);margin-top:12px;padding-left:10px;font-size:11px;line-height:1.85}.task-action{min-width:80px;color:var(--muted);flex-direction:column;align-items:center;gap:6px;padding:8px;font-size:10px;display:flex}.task-action>span{align-items:center;gap:5px;display:flex}.task-action.complete{color:var(--teal-dark)}.task-action strong{font-size:25px;line-height:1.2}.task-action small{color:var(--muted);font-size:12px}.student-aside{padding-top:48px}.announcement{background:var(--coral-soft);border-top:3px solid var(--coral);border-radius:14px;padding:24px}.announcement-icon{color:var(--coral-text);margin-bottom:18px;display:inline-flex}.announcement .eyebrow{color:var(--coral-text);font-size:10px}.announcement h3{margin-bottom:12px;font-size:17px}.announcement>p:not(.eyebrow){color:var(--muted);font-size:12px;line-height:1.95}.announcement-sign{color:var(--coral-text);margin-top:20px;font-size:10px;display:block}.small-reminder{color:var(--muted);align-items:center;gap:13px;padding:25px 5px;font-size:13px;line-height:1.9;display:flex}.small-reminder strong{color:var(--teal-dark)}.reminder-line{background:var(--gold);border-radius:4px;width:3px;height:36px}.table-meta{color:var(--muted);justify-content:space-between;margin-bottom:16px;font-size:12px;display:flex}.table-meta strong{color:var(--text)}.table-scroll{border:1px solid var(--border);background:var(--surface);isolation:isolate;border-radius:12px;max-height:65vh;overflow:auto}table{border-collapse:separate;border-spacing:0;width:100%;font-size:12px}th,td{text-align:center;border-bottom:1px solid var(--border);min-width:140px;padding:20px 15px}th:first-child{text-align:left;z-index:2;background:var(--surface);border-right:1px solid var(--border);min-width:190px;position:sticky;left:0}thead th{z-index:3;background:var(--surface-alt);max-width:200px;font-size:11px;font-weight:400;position:sticky;top:0}thead th:first-child{z-index:4;background:var(--surface-alt)}th small{color:var(--muted);margin-top:7px;font-size:10px;display:block}tbody th small{margin:0 0 6px}.table-work-number{color:var(--teal-dark);margin-bottom:5px;font-size:12px;display:block}.has-grade{background:color-mix(in srgb, var(--teal-soft) 45%, var(--surface));color:var(--teal-dark);font-size:16px}tr:last-child th,tr:last-child td{border-bottom:0}.student-score-summary{align-items:center;gap:35px;padding:10px 0 35px;display:flex}.student-score-summary h2{font-size:27px}.student-score-summary p:not(.eyebrow){color:var(--muted);margin-top:10px;font-size:13px}.score-list{border-top:1px solid var(--border)}.score-list-row{border-bottom:1px solid var(--border);align-items:center;gap:16px;padding:22px 0;display:flex}.score-list-row strong{font-size:14px}.score-list-row .grow small{color:var(--muted);max-width:600px;margin-top:6px;line-height:1.8;display:block}.score-list-row .score-value{color:var(--teal-dark);text-align:right;min-width:78px;font-size:22px}.score-value small{color:var(--muted);font-size:12px}.modal{border:1px solid var(--border);background:var(--surface);width:min(580px,100% - 32px);max-height:calc(100dvh - 36px);color:var(--text);border-radius:20px;padding:0;overflow:auto;box-shadow:0 25px 80px #0c393035}.modal.wide{width:min(760px,100% - 32px)}.modal::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#112c2a80}.modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;padding:23px 26px;display:flex}.modal-head h2{font-size:22px}.modal-body{padding:25px 26px}.modal-actions{border-top:1px solid var(--border);background:var(--surface-alt);justify-content:flex-end;align-items:center;gap:12px;padding:18px 26px;display:flex}.modal-body>p{font-size:13px;line-height:1.95}.form-stack{flex-direction:column;gap:18px;display:flex}.form-stack>label,.form-columns>label{flex-direction:column;gap:8px;font-size:12px;display:flex}.form-stack input:not([type=checkbox]):not([type=file]),.form-stack select,.form-stack textarea{border:1px solid var(--border);background:var(--surface-alt);width:100%;min-height:44px;color:var(--text);border-radius:9px;padding:10px 12px;font-size:13px}.form-stack textarea{resize:vertical;line-height:1.8}.form-columns{grid-template-columns:1fr 1fr;gap:18px;display:grid}fieldset{border:0;margin:0;padding:0}legend{margin-bottom:10px;font-size:12px}.room-checkboxes{flex-wrap:wrap;gap:12px;display:flex}.room-checkboxes label{border:1px solid var(--border);background:var(--surface-alt);border-radius:8px;align-items:center;gap:8px;padding:10px 14px;font-size:12px;display:flex}.room-checkboxes label.checked{background:var(--teal-soft);border-color:var(--teal)}.form-error{background:var(--coral-soft);color:var(--coral-text);border-radius:8px;padding:12px;font-size:12px}.preview-meta{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:18px;font-size:11px;display:flex}.paper-preview{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:26px}.paper-heading{color:var(--muted);border-bottom:1px solid var(--border);align-items:center;gap:8px;margin-bottom:20px;padding-bottom:15px;font-size:10px;display:flex}.paper-preview h3{margin-bottom:12px;font-size:20px}.paper-question{color:var(--muted);font-size:12px;line-height:1.9}.paper-answer{white-space:pre-wrap;margin:24px 0;font-size:15px;line-height:2.2}.submission-image{border-radius:8px;margin-top:18px}.feedback-result{background:var(--teal-soft);border-radius:12px;justify-content:space-between;align-items:center;gap:20px;margin-top:20px;padding:20px;display:flex}.feedback-result p{font-size:13px;line-height:1.8}.feedback-result>strong{color:var(--teal-dark);white-space:nowrap;font-size:29px}.feedback-result small{font-size:14px}.submit-modes{border-bottom:1px solid var(--border);gap:12px;display:flex}.submit-modes button{color:var(--muted);border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:7px;padding:12px 5px;font-size:12px;display:flex}.submit-modes button.active{color:var(--teal-dark);border-bottom-color:var(--teal)}.upload-area{text-align:center;border:1px dashed var(--teal);background:var(--teal-soft);border-radius:10px;align-items:center;padding:20px}.upload-area>svg{color:var(--teal-dark)}.upload-area>span{color:var(--muted);font-size:11px}.upload-area input{width:100%;padding-top:12px;font-size:11px}.toast{background:var(--text);width:max-content;max-width:calc(100% - 32px);color:var(--bg);z-index:100;border-radius:14px;align-items:center;gap:12px;padding:15px 16px;font-size:12px;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #112c2a25}.toast.error{background:var(--coral-soft);color:var(--coral-text);border:1px solid var(--coral)}.toast button{color:inherit;padding:4px;display:flex}@media (width>=1440px){.main-content{padding-top:42px}.page-heading{margin-bottom:34px}.teacher-overview{gap:58px}.review-callout{padding:27px 32px}.assignment-card{padding:23px}.assignment-card h3{font-size:16px}}@media (width<=1100px){.header-inner{gap:18px}.brand strong{font-size:16px}.brand small{font-size:10px}.main-nav{gap:16px}.role-label{display:none}.account-icon{display:inline-flex}.header-actions{gap:0}.teacher-overview{gap:28px}.assignment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.assignment-card h3{min-height:0}.card-top{margin-bottom:15px}.submission-meter{margin-top:17px}.workbench{grid-template-columns:235px minmax(0,1fr)}.work-detail{padding:22px}.work-list{padding:16px 9px}.student-overview{gap:26px}.student-progress{gap:15px}.score-ring{flex-basis:135px;width:135px;height:135px}.score-ring strong{font-size:34px}.student-progress h2{font-size:17px}.student-content{grid-template-columns:minmax(0,1fr) 250px;gap:25px}.student-task{gap:12px;padding:16px}.student-task .assignment-icon{flex-basis:42px;width:42px;height:42px}.student-task>.button{min-height:40px;padding:9px 13px;font-size:12px}}@media (width<=800px){h1{font-size:27px}.prototype-bar{padding:0 20px}.header-inner{flex-wrap:wrap;gap:0;min-height:auto;padding:12px 20px 0}.brand{flex:1}.brand strong{font-size:17px}.brand small{font-size:10px}.logo-wrap{width:42px;height:42px}.header-actions{margin-left:12px}.main-nav{order:3;justify-content:space-around;gap:12px;width:100%;margin:10px 0 0}.main-nav button{flex:1;min-height:47px;padding:0 7px;font-size:12px}.main-content{padding:26px 20px 0}.page-heading{align-items:flex-start;gap:16px;margin-bottom:26px}.page-heading .button{padding:10px 15px;font-size:12px}.teacher-overview{grid-template-columns:1fr 1fr;gap:24px}.review-callout{padding:20px}.review-callout h2{font-size:20px}.callout-number{font-size:36px}.callout-bottom{flex-wrap:wrap;margin-top:15px}.overview-notes h2{font-size:18px}.class-count{font-size:10px}.class-row{gap:9px}.room-tile{width:38px;height:38px;font-size:15px}.class-row .grow strong{font-size:12px}.workbench{grid-template-columns:1fr}.work-list{border-right:0;border-bottom:1px solid var(--border);padding:15px}.work-list-filters{flex-direction:row;padding:0}.work-list-filters>label{flex:1;min-width:0}.list-caption{display:none}.assignment-list{flex-direction:row;gap:8px;padding:12px 0 0;overflow:auto}.work-list-item{width:220px;min-width:220px;padding:10px}.work-detail{padding:22px}.student-content{grid-template-columns:1fr}.student-aside{grid-template-columns:1fr 1fr;gap:20px;padding-top:0;display:grid}.small-reminder{padding:0 15px}.student-overview{grid-template-columns:1fr;gap:20px;margin-bottom:30px}.student-next h2{font-size:22px}.student-progress{border-top:1px dashed var(--border);padding:18px 0 0}.student-progress h2{font-size:21px}.student-progress .score-ring{flex-basis:135px;width:135px;height:135px}.student-next{padding:24px}.student-name-tag{display:none}.student-task>.button{padding:10px 15px}.student-task .assignment-icon{flex-basis:50px;width:50px;height:50px}.page-heading>.select-field{min-width:125px}.student-score-summary h2{font-size:22px}}@media (width<=540px){h1{font-size:24px}h2{font-size:19px}.prototype-bar{gap:7px;height:36px;padding:0 14px}.prototype-label{gap:4px;font-size:9px}.role-switch button{padding:4px 8px;font-size:9px}.reset-button span{display:none}.reset-button{padding:5px}.header-inner{padding:11px 16px 0}.brand{gap:9px}.brand strong{font-size:15px}.brand small{margin-top:2px;font-size:9px}.logo-wrap{width:38px;height:38px;padding:4px}.theme-button{border-radius:10px;flex-basis:35px;width:35px;height:35px}.main-nav{gap:7px;margin-top:8px}.main-nav button{gap:6px;min-height:43px;padding:0 2px;font-size:11px}.main-nav svg{width:16px}.main-content{padding:24px 16px 0}.page-heading{flex-wrap:wrap;gap:16px;margin-bottom:24px}.page-heading .eyebrow{font-size:10px}.page-heading .subtext{font-size:12px}.page-heading>.button{min-height:40px;padding:9px 14px;font-size:11px}.teacher-overview{grid-template-columns:1fr;gap:26px}.review-callout{padding:20px 21px}.review-callout h2{max-width:300px;margin-top:5px;font-size:22px}.callout-number{font-size:42px}.callout-bottom{flex-wrap:nowrap;margin-top:19px}.callout-bottom .button{padding:10px 14px;font-size:11px}.callout-bottom>span{font-size:10px}.mini-label{font-size:11px}.overview-notes .section-title{margin-bottom:8px}.class-row{gap:12px;padding:11px 0}.class-row .grow strong{font-size:13px}.class-count{font-size:11px}.room-tile{width:40px;height:40px}.section-title.spaced{flex-wrap:wrap;gap:14px;margin-top:29px}.room-chips{gap:4px}.room-chips button{padding:6px 12px;font-size:11px}.assignment-grid{gap:12px}.assignment-card{border-radius:12px;padding:15px 12px}.card-top{gap:5px;margin-bottom:13px}.assignment-icon{border-radius:11px;flex-basis:40px;width:40px;height:40px}.assignment-icon svg{width:21px;height:21px}.category{font-size:9px}.assignment-card h3{min-height:43px;font-size:13px}.assignment-card>p{min-height:28px;font-size:9px}.submission-meter{gap:4px;margin-top:12px;font-size:9px}.card-footer{flex-wrap:wrap;gap:8px;font-size:9px}.card-footer>span:last-child{justify-content:space-between;width:100%}.card-footer>span svg{width:13px}.teacher-footer-note{gap:10px;margin-top:22px}.teacher-footer-note .text-link{font-size:10px}.teacher-footer-note strong{font-size:12px}.teacher-footer-note p{font-size:10px}.note-symbol{flex-shrink:0;width:32px;height:32px}.page-footer{gap:12px;margin-top:22px;font-size:9px}.page-footer>span:last-child{text-align:right;max-width:155px}.work-list{padding:12px}.work-list-filters{gap:8px}.search-field,.select-field{padding:0 9px}.search-field input,.select-field select{font-size:12px}.work-list-item{width:200px;min-width:200px}.work-detail{padding:18px 13px}.detail-title{gap:10px}.detail-title h2{font-size:17px}.detail-title .eyebrow{font-size:9px}.detail-title .assignment-icon{flex-basis:34px;width:34px;height:34px}.max-score{font-size:8px}.max-score strong{font-size:23px}.assignment-description{margin-top:15px;font-size:12px}.assignment-metadata{gap:8px;font-size:9px}.review-tabs{gap:19px;margin-top:21px}.review-tabs button{gap:5px;font-size:11px}.review-tabs button>span{min-width:20px;font-size:9px}.selection-toolbar{padding:15px 4px;font-size:9px}.checkbox-label{gap:8px;font-size:10px}.review-row{gap:8px;min-height:78px;padding:13px 4px}.student-info strong{font-size:12px}.student-info small{font-size:9px;line-height:1.7}.score-input{width:49px;min-height:40px;font-size:16px}.preview-button{flex-basis:34px;width:34px;height:36px}.review-row input[type=checkbox]{flex-basis:16px;width:16px;height:16px}.grading-dock{padding:14px 12px}.dock-top{gap:7px}.dock-top>strong{font-size:11px}.dock-top .text-link{gap:4px;font-size:10px}.feedback-field textarea{font-size:16px}.dock-save{padding:10px 12px;font-size:11px}.badge{padding:4px 7px;font-size:9px}.student-next{padding:21px}.student-next h2{font-size:22px}.student-next>p{font-size:11px}.student-overview{gap:23px}.student-progress h2{font-size:17px}.student-progress .eyebrow,.student-progress p{font-size:10px}.student-progress .text-link{font-size:11px}.student-progress .score-ring{flex-basis:120px;width:120px;height:120px;padding:9px}.score-ring strong{font-size:31px}.score-ring span{font-size:9px}.student-task{flex-wrap:wrap;align-items:flex-start;gap:12px;padding:16px 13px}.student-task .assignment-icon{flex-basis:35px;width:35px;height:35px}.student-task-body{flex:1;min-width:160px}.student-task h3{font-size:13px}.task-labels{gap:7px}.task-date{font-size:9px}.task-action{flex-direction:row;min-width:70px;margin-left:auto;padding:4px 6px}.task-action.complete{flex-direction:row;gap:10px}.task-action strong{font-size:23px}.task-action>span{font-size:9px}.student-task>.button{min-height:37px;margin-left:auto;padding:8px 14px;font-size:11px}.student-task>.task-action,.student-task>.button{margin-top:3px}.student-aside{grid-template-columns:1fr}.small-reminder{display:none}.announcement{padding:20px}.announcement-icon{float:right;margin:0}.announcement>p:not(.eyebrow){font-size:12px}.table-meta{font-size:11px}th,td{min-width:130px;padding:16px 12px}th:first-child{min-width:135px;max-width:150px;font-size:11px}.table-scroll{max-height:62vh}.student-score-summary{gap:20px;padding:3px 0 28px}.student-score-summary .score-ring{flex-basis:120px;width:120px;height:120px}.student-score-summary h2{font-size:19px}.student-score-summary p:not(.eyebrow){font-size:12px}.score-list-row{flex-wrap:wrap;gap:12px;padding:17px 0}.score-list-row .grow{min-width:200px}.score-list-row .grow strong{font-size:13px}.score-list-row .grow small{font-size:10px}.score-list-row>.badge{margin-left:49px}.score-list-row .score-value{min-width:65px;margin-left:auto;font-size:20px}.modal{border-radius:16px;width:calc(100% - 20px);max-height:calc(100dvh - 22px)}.modal.wide{width:calc(100% - 20px)}.modal-head{padding:18px}.modal-head h2{font-size:19px}.modal-head .eyebrow{font-size:10px}.modal-body{padding:20px 18px}.modal-actions{flex-wrap:wrap;gap:10px;padding:16px 18px}.modal-actions .button{padding:10px 15px;font-size:12px}.form-columns{gap:12px}.form-stack input:not([type=checkbox]):not([type=file]),.form-stack select,.form-stack textarea{font-size:16px}.room-checkboxes{gap:8px}.room-checkboxes label{padding:9px 10px;font-size:11px}.paper-preview{padding:18px}.paper-preview h3{font-size:18px}.paper-answer{font-size:14px}.feedback-result{gap:15px;padding:16px}.feedback-result p{font-size:12px}.feedback-result>strong{font-size:24px}.submit-modes{gap:6px}.submit-modes button{gap:5px;font-size:11px}.toast{gap:9px;padding:13px;font-size:11px;bottom:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}.app-shell{--glass:#ffffffd9;--glass-border:#ffffffed;--glass-shadow:0 12px 36px #25494018, inset 0 1px 0 #fff;--dock-clearance:calc(112px + env(safe-area-inset-bottom,0px));min-height:100dvh;padding-bottom:var(--dock-clearance)}[data-theme=dark] .app-shell{--glass:#243632e8;--glass-border:#698d7c60;--glass-shadow:0 12px 36px #00000038, inset 0 1px 0 #c7eadd12}html:has(.app-shell){scroll-padding-bottom:calc(120px + env(safe-area-inset-bottom,0px))}.app-shell .glass-dock{bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:25;border:1px solid var(--glass-border);background:var(--glass);-webkit-backdrop-filter:blur(24px)saturate(140%);width:max-content;max-width:calc(100% - 24px);box-shadow:var(--glass-shadow);border-radius:24px;flex-direction:column;align-items:stretch;padding:7px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.app-shell .main-nav{flex-direction:row;align-self:auto;gap:4px;width:100%;margin:0;display:flex}.app-shell .main-nav button{min-width:104px;min-height:58px;color:var(--muted);border:1px solid #0000;border-radius:14px;justify-content:center;gap:8px;padding:10px 16px;font-size:13px}@media (hover:hover){.app-shell .main-nav button:hover{background:var(--surface-alt);color:var(--text)}}.app-shell .main-nav button.active{background:var(--teal-soft);color:var(--teal-dark);border-color:color-mix(in srgb, var(--teal) 28%, transparent);box-shadow:inset 0 1px #ffffff50}.app-shell .main-nav button.active:after{display:none}.app-shell .main-nav button svg{flex-shrink:0}.app-shell .more-menu{border:1px solid var(--glass-border);background:var(--glass);-webkit-backdrop-filter:blur(24px)saturate(140%);width:min(232px,100vw - 34px);min-width:0;box-shadow:var(--glass-shadow);border-radius:16px;gap:3px;padding:6px;display:grid;position:absolute;bottom:calc(100% + 10px);right:7px}.app-shell .more-menu button{width:100%;min-height:44px;color:var(--text);font:inherit;text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;justify-content:flex-start;align-items:center;gap:9px;padding:10px 12px;display:flex}.app-shell .more-menu button.active{color:var(--teal-dark);background:var(--teal-soft);border-color:color-mix(in srgb, var(--teal) 25%, transparent)}.app-shell .more-menu button span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-shell .more-menu button:hover,.app-shell .more-menu button:focus-visible{background:var(--surface-alt)}.app-shell .site-header{background:var(--glass);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.app-shell .header-inner{justify-content:space-between;gap:16px;max-width:1600px;min-height:80px;padding:12px 28px}.app-shell .header-actions{margin-left:auto}.app-shell .main-content{min-width:0;max-width:1600px;margin-inline:auto;padding:32px 28px 0}.app-shell .preview-identity{max-width:1600px;margin-inline:auto;padding-inline:28px}.app-shell .toast{bottom:var(--dock-clearance)}.app-shell.has-background-import .toast{bottom:calc(var(--dock-clearance) + 54px)}.app-shell .background-import-pill{right:max(18px,50vw - 772px);bottom:calc(var(--dock-clearance) + 8px);z-index:30;border:1px solid color-mix(in srgb, var(--teal) 32%, var(--border));background:var(--surface);max-width:min(260px,100vw - 36px);min-height:38px;color:var(--teal-dark);white-space:nowrap;border-radius:12px;align-items:center;gap:8px;padding:8px 13px;font-size:12px;display:inline-flex;position:fixed;box-shadow:0 10px 28px #25494020}.app-shell .background-import-pill:hover,.app-shell .background-import-pill:focus-visible{background:var(--teal-soft);transform:translateY(-2px)}.app-shell .background-import-pill.is-complete{color:var(--teal-dark)}.app-shell .background-import-pill.is-error{color:var(--coral-text);border-color:color-mix(in srgb, var(--coral) 45%, var(--border))}.app-shell .background-import-pill span:last-child{text-overflow:ellipsis;overflow:hidden}.app-shell .grade-edit-button{border:1px solid var(--border);width:32px;height:32px;color:var(--teal-dark);background:var(--surface);vertical-align:middle;border-radius:8px;place-items:center;margin-left:10px;display:inline-grid}.grade-edit-button:hover{box-shadow:var(--ring)}.grade-source{color:var(--teal-dark);font-size:12px}.score-only-callout{border-top:1px solid var(--border);padding:20px 0}.app-shell [hidden],dialog [hidden]{display:none!important}.grade-history{border-top:1px solid var(--border);padding-top:12px;font-size:13px}.grade-history summary{cursor:pointer}.grade-history ol{padding-left:20px}.grade-history li{border-bottom:1px solid var(--border);overflow-wrap:anywhere;padding:10px 0}.grade-history li span{color:var(--muted);font-size:11px;display:block}.grade-history li p{margin:4px 0}.grade-override-list{padding-left:20px}.grade-override-list li{overflow-wrap:anywhere;padding:8px 0}.grade-override-list span{font-size:13px;display:block}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.app-shell{--glass:var(--surface)}}@media (prefers-reduced-transparency:reduce){.app-shell{--glass:var(--surface)}}@media (width<=1000px){.app-shell .header-inner{flex-wrap:nowrap;min-height:70px;padding:10px 20px}.app-shell .main-content{padding:26px 20px 0}.app-shell .preview-identity{padding-inline:20px}.app-shell .main-nav button{flex-direction:column;gap:4px;min-width:84px;padding:8px 12px;font-size:12px}}@media (width<=540px){.app-shell .header-inner{gap:8px;min-height:62px;padding:8px 16px}.app-shell .brand{flex:1;gap:8px;min-width:0}.app-shell .brand>span:last-child{min-width:0}.app-shell .brand strong{white-space:normal;font-size:13px}.app-shell .brand small{display:none}.app-shell .logo-wrap{flex-shrink:0;width:38px;height:38px}.app-shell .header-actions{flex:none;gap:6px}.app-shell .header-actions .icon-button{width:34px;height:34px}.app-shell .glass-dock{width:calc(100% - 20px);max-width:400px;bottom:calc(10px + env(safe-area-inset-bottom,0px));border-radius:20px;padding:5px}.app-shell .main-nav{gap:2px;width:100%}.app-shell .main-nav button{white-space:normal;flex:1 1 0;gap:4px;min-width:0;min-height:58px;padding:8px 2px;font-size:10px}.app-shell .more-menu{gap:2px;padding:5px;bottom:calc(100% + 8px);right:5px}.app-shell .more-menu button{min-height:42px;padding:9px 10px;font-size:11px}.app-shell .main-content{padding:24px 16px 0}.app-shell.has-background-import .toast{bottom:calc(var(--dock-clearance) + 50px)}.app-shell .background-import-pill{right:18px;bottom:calc(var(--dock-clearance) + 5px);max-width:calc(100vw - 36px);min-height:34px;padding:7px 10px;font-size:11px}.app-shell .preview-identity{padding-inline:16px}}
