:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#182b43;background:#f1f5fa;font-size:16px;--blue:#153d70;--teal:#087e80;--line:#dce5ef}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer;border:1px solid var(--line);border-radius:9px;padding:10px 16px;background:white;color:var(--blue);font-weight:650}button:hover{background:#eaf1f9}button.primary{background:var(--blue);color:white;border-color:var(--blue)}button.primary:hover{background:#22558f}button.danger{color:#b22d3c}button:disabled{opacity:.5;cursor:not-allowed}a{color:#165bb0}input,select,textarea{padding:11px;border:1px solid #b9cadd;border-radius:8px;background:white;color:#182b43;max-width:100%}textarea{min-height:120px;resize:vertical}label{display:flex;flex-direction:column;gap:7px;font-size:.9rem;font-weight:600;margin:14px 0}label.check{flex-direction:row;align-items:center;font-weight:400}label.check input{width:18px;height:18px}h1{font-size:2rem;letter-spacing:-.04em;margin:0 0 10px}h2{font-size:1.3rem;margin:0 0 16px}h3{font-size:1.05rem;margin:0 0 10px}p{line-height:1.6}small,.muted{color:#61758d;font-size:.9rem;line-height:1.5}.shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.sidebar{background:var(--blue);color:white;padding:30px 20px;display:flex;flex-direction:column;gap:30px}.brand{font-size:1.5rem;font-weight:800;letter-spacing:-.04em;display:flex;align-items:center;gap:12px}.brand img{width:36px}.sidebar small{color:#b8cfe9}.sidebar nav{display:grid;gap:8px}.sidebar nav button{background:transparent;color:#c7d9ee;text-align:left;border:0}.sidebar nav button.active{background:#2e5888;color:white}.profile{margin-top:auto;border-top:1px solid #3a608c;padding-top:20px}.profile button{margin-top:14px;width:100%}.workspace{padding:32px 42px;max-width:1400px;width:100%;margin:auto}.topbar{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:30px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;font-weight:750;color:var(--teal);margin-bottom:12px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.card{background:white;border:1px solid var(--line);border-radius:14px;padding:24px;box-shadow:0 4px 18px #19345205}.card p{margin:10px 0 18px}.card .actions{margin-top:20px}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.badge{display:inline-block;font-size:.8rem;font-weight:650;border-radius:6px;padding:5px 9px;background:#eaf1fb;color:#24518c}.badge.teal{background:#e1f4f2;color:#087779}.badge.amber{background:#fff1cf;color:#90620b}.stats{display:flex;gap:18px;margin:0 0 26px;flex-wrap:wrap}.stat{min-width:180px;flex:1;padding:20px;background:white;border:1px solid var(--line);border-radius:12px}.stat strong{display:block;font-size:1.9rem;color:var(--blue);margin-top:8px}.toolbar{display:flex;gap:12px;margin-bottom:22px;flex-wrap:wrap}.toolbar input{flex:1;min-width:200px}.list{display:grid;gap:14px}.row{display:flex;align-items:center;gap:20px;justify-content:space-between}.row h3{margin-bottom:6px}.empty{padding:45px;text-align:center;color:#61758d;border:1px dashed #b9cadd;border-radius:14px;background:white}.login{max-width:470px;margin:8vh auto;padding:35px}.login .brand{color:var(--blue);margin-bottom:38px}.login h1{font-size:1.8rem}.login button.primary{width:100%;margin-top:16px}.login footer{margin-top:25px}.notice{background:#e6f1ff;border-left:4px solid #3471b7;border-radius:6px;padding:16px;margin:20px 0;line-height:1.6}.notice.warning{background:#fff3d6;border-color:#bf8a1d}.attempt-grid{display:grid;grid-template-columns:220px 1fr;gap:24px}.task-nav{display:grid;gap:8px;align-content:start}.task-nav button{text-align:left}.task-nav button.active{border-color:var(--blue);background:#e5effa}.task-nav .done{color:var(--teal)}.answer textarea{width:100%;min-height:160px}.prose{white-space:pre-wrap;line-height:1.7;overflow-wrap:anywhere}.prose img{display:block;max-width:100%;max-height:450px;border-radius:8px;margin:12px 0}.countdown{font-size:1.5rem;font-weight:750;font-variant-numeric:tabular-nums;background:#fff1cf;color:#80540b;border-radius:9px;padding:12px 20px}.progress{height:7px;background:#e4ecf4;border-radius:8px;margin:18px 0;overflow:hidden}.progress span{display:block;height:100%;background:var(--teal)}.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.feedback{background:#f2f7fb;padding:15px;border-radius:10px;margin:20px 0}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;padding:14px;border-bottom:1px solid var(--line);white-space:nowrap}th{color:#61758d;font-weight:650}dialog{border:0;border-radius:16px;max-width:700px;width:calc(100% - 32px);padding:28px;max-height:90vh;box-shadow:0 20px 80px #10294440}dialog::backdrop{background:#10294488}dialog form{margin-top:20px}dialog .head{display:flex;justify-content:space-between;align-items:center}dialog .head h2{margin:0}dialog input,dialog select,dialog textarea{width:100%}dialog .check input{width:auto}.error{color:#b02a3b;background:#fff0f1;padding:12px;border-radius:8px;margin:10px 0}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#163d50;color:white;padding:14px 22px;border-radius:10px;z-index:10;display:none;max-width:90vw}#toast.show{display:block}.loading{padding:50px;text-align:center}.result{margin-bottom:22px}.review-item{border-top:1px solid var(--line);padding:22px 0}.review-item input{width:110px}.scorebox{padding:16px;background:#f1f6fa;border-radius:9px;display:flex;gap:25px;flex-wrap:wrap}.join-link{overflow-wrap:anywhere;font-size:.9rem}.formhelp{font-size:.85rem;font-weight:400;color:#61758d;margin-top:4px}.audit{font-size:.85rem}details{margin:14px 0}summary{cursor:pointer;color:var(--blue)}@media(max-width:900px){.shell{grid-template-columns:180px 1fr}.workspace{padding:25px}.sidebar{padding:25px 12px}.attempt-grid{grid-template-columns:1fr}.task-nav{display:flex;overflow:auto}.task-nav button{min-width:160px}}@media(max-width:650px){.shell{display:block}.sidebar{padding:16px;gap:12px}.sidebar .brand{font-size:1.25rem}.sidebar nav{display:flex;overflow:auto}.sidebar nav button{white-space:nowrap}.profile{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0;padding:10px 0 0}.profile button{margin:0;width:auto}.workspace{padding:24px 16px}.topbar,.row{flex-wrap:wrap}.two{grid-template-columns:1fr}.card{padding:20px}.login{margin:30px 16px}.stats{gap:10px}.stat{min-width:130px}h1{font-size:1.65rem}}
.assignment-tile{display:block;text-align:left;width:100%;margin:12px 0;padding:16px;line-height:1.6}.stat{text-align:left;cursor:pointer}.stat:hover{border-color:#5682b4;background:#eef6ff}.tag-section{margin:22px 0}.tag-list{display:flex;gap:8px 20px;flex-wrap:wrap}.tag-list label{margin:5px 0}.editor-help{background:#f2f7fb;border-radius:9px;padding:15px;font-size:.9rem}.editor-help code{white-space:pre-wrap;overflow-wrap:anywhere}.editor-help td{white-space:normal}.picker-list{max-height:310px;overflow:auto;border:1px solid var(--line);border-radius:9px;margin-bottom:22px}.picker-item{padding:12px 16px;border-bottom:1px solid var(--line);margin:0}.order-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px;background:#f2f7fb;border-radius:8px}.order-row span{overflow-wrap:anywhere}.prose mjx-container{max-width:100%;overflow-x:auto;overflow-y:hidden}@media(max-width:650px){.order-row{align-items:start;flex-direction:column}}
.library-layout{display:grid;grid-template-columns:minmax(230px,30%) minmax(0,1fr);gap:18px;align-items:start}.library-browser,.library-editor{background:white;border:1px solid var(--line);border-radius:12px;min-width:0}.library-browser{display:flex;flex-direction:column}.library-filters{padding:14px;display:grid;grid-template-columns:1fr 1fr;gap:8px;border-bottom:1px solid var(--line)}.library-filters input,.library-filters small{grid-column:1/-1}.library-filters select{width:100%;min-width:0;padding:9px;font-size:.875rem}.library-task-list{overflow:auto;max-height:calc(100dvh - 285px);min-height:220px;padding:6px}.library-task{display:block;width:100%;text-align:left;border:1px solid transparent;margin:3px 0;padding:11px;border-radius:7px}.library-task strong,.library-task span,.library-task small{display:block;overflow-wrap:anywhere}.library-task strong{font-size:1rem}.library-task span{font-size:.875rem;font-weight:400;margin:4px 0}.library-task small{font-weight:400}.library-task.selected{background:#e5f0fb;border-color:#4a7fb7}.library-editor{padding:16px;position:sticky;top:18px}.editor-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.editor-heading h2{font-size:1.1rem;margin:0}.library-editor form label{margin:8px 0;font-size:.875rem;gap:4px}.editor-meta{display:grid;grid-template-columns:1fr 100px;gap:12px}.editor-meta input{width:100%}.editor-tabs{display:flex;gap:4px;margin:10px 0;border-bottom:1px solid var(--line);padding-bottom:8px;flex-wrap:wrap}.editor-tabs button{padding:8px 10px;font-size:.875rem}.editor-tabs [aria-selected=true]{background:var(--blue);color:white}.editor-panel{max-height:calc(100dvh - 360px);min-height:210px;overflow:auto;padding-right:4px}.editor-panel[hidden]{display:none}.editor-panel textarea{width:100%;min-height:70px;padding:9px}.editor-panel #body{height:clamp(160px,30dvh,330px);min-height:140px}.editor-panel .tag-section{margin:14px 0}.editor-panel #options-label textarea{height:100px}.editor-panel #correct-options{display:flex;flex-wrap:wrap;gap:0 16px}.editor-panel #correct-options h3{width:100%;font-size:.9rem;margin:6px 0}.editor-panel #correct-options label{font-size:.875rem}.editor-panel .editor-help{margin:0}.editor-footer{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.editor-footer small{flex-basis:100%;font-size:.8rem}.library-empty{padding:24px}.library-editor .formhelp{font-size:.8rem}@media(min-width:1050px){.shell:has(.library-layout) .workspace{max-width:none;padding:24px}.shell:has(.library-layout){grid-template-columns:195px 1fr}}@media(max-width:900px){.library-layout{grid-template-columns:1fr}.library-task-list{max-height:280px;min-height:100px}.library-editor{position:static}.editor-panel{max-height:none;min-height:180px}.editor-panel #body{height:200px}}@media(max-height:650px) and (min-width:901px){.editor-panel{max-height:270px}.library-task-list{max-height:350px}}
.assignment-filters{display:grid;grid-template-columns:minmax(200px,2fr) repeat(3,minmax(150px,1fr));gap:10px;margin-bottom:12px}.assignment-filters>*{min-width:0;width:100%}.assignment-table td{white-space:normal;vertical-align:top;min-width:130px}.assignment-table td:first-child{min-width:240px}.assignment-table td:last-child{min-width:240px}.assignment-table .actions{align-items:start}.assignment-table .actions button{font-size:.875rem;padding:8px 11px}@media(max-width:1100px){.assignment-filters{grid-template-columns:1fr 1fr}}@media(max-width:650px){.assignment-filters{grid-template-columns:1fr}}

/* Compact editing with persistent tabs and taxonomy outside the panels. */
.editor-taxonomy{display:grid;grid-template-columns:minmax(130px,1fr) minmax(180px,2fr);gap:12px;margin:6px 0 12px;align-items:start}.editor-taxonomy label{margin:0}.editor-taxonomy .tag-section{margin:0;min-width:0}.editor-taxonomy .tag-section h3{display:none}.editor-taxonomy .toolbar{display:flex;gap:5px;flex-wrap:nowrap;margin:0 0 5px}.editor-taxonomy .toolbar input{min-width:0;width:100%;padding:7px}.editor-taxonomy .toolbar button{padding:7px 10px}.tag-dropdown summary{cursor:pointer;font-size:13px;font-weight:600}.tag-dropdown .tag-list{max-height:120px;overflow:auto;padding:8px 0}.editor-taxonomy #tag-status{font-size:11px}.editor-tabs{gap:4px;border-bottom:2px solid var(--primary,#4263eb);padding:4px 4px 0;background:#edf0f5}.editor-tabs button{border:1px solid #bdc7d7;border-bottom:0;border-radius:8px 8px 0 0;background:#dfe5ee;color:#34435d;padding:10px 14px}.editor-tabs button[aria-selected="true"]{background:var(--primary,#4263eb);color:white;box-shadow:inset 0 3px 0 #152957;font-weight:700}.rights-list{max-height:260px;overflow:auto;margin-bottom:12px}.set-dialog{width:min(1100px,94vw);max-width:1100px}.set-builder{display:grid;grid-template-columns:1.15fr 1fr;gap:20px}.set-builder h3{margin:8px 0}.set-builder .toolbar{display:grid;grid-template-columns:1fr 1fr;gap:6px}.set-builder .toolbar input{grid-column:1/-1;min-width:0}.set-builder .picker-list,.set-builder #set-order{max-height:52vh;overflow:auto}.set-builder .picker-item{padding:8px;margin:0}.set-builder .order-row{padding:8px;gap:6px}.set-builder .order-row .actions{gap:3px}.set-builder .order-row button{padding:5px 8px}.set-builder .notice{font-size:12px;padding:9px}.set-builder .set-selection>label{margin-top:0}@media(max-width:760px){.set-builder,.editor-taxonomy{grid-template-columns:1fr}.editor-tabs button{padding:9px 7px;font-size:12px}.set-builder .picker-list,.set-builder #set-order{max-height:35vh}}

.library-row{display:flex;align-items:center;gap:7px}.library-row>input{flex:none;width:16px;height:16px}.library-row .library-task{flex:1;min-width:0}.bulk-selection{display:flex;flex-wrap:wrap;gap:5px;padding:8px}.bulk-selection button{font-size:12px;padding:6px 8px}.bulk-selection small{width:100%}.editor-taxonomy{grid-template-columns:minmax(110px,1fr) minmax(220px,3fr);align-items:center}.editor-taxonomy>label{display:flex;align-items:center;gap:6px;font-size:12px}.editor-taxonomy>label select{min-width:0;padding:6px;margin:0}.editor-taxonomy .tag-section{display:flex;align-items:center;gap:6px;position:relative}.editor-taxonomy .toolbar{flex:1;margin:0}.editor-taxonomy .toolbar input{font-size:12px}.editor-taxonomy #tag-status{display:none}.editor-taxonomy .tag-dropdown{flex:none}.editor-taxonomy .tag-dropdown[open] .tag-list{position:absolute;z-index:20;right:0;top:100%;min-width:240px;background:white;border:1px solid #bec8d7;border-radius:6px;box-shadow:0 5px 15px #0002;padding:10px;max-height:200px}@media(max-width:760px){.editor-taxonomy{grid-template-columns:1fr}.editor-taxonomy .tag-section{flex-wrap:wrap}}

.assignment-set-link{border:0;background:transparent;color:var(--blue);font-weight:700;text-align:left;padding:0;text-decoration:underline;white-space:normal;overflow-wrap:anywhere}.assignment-set-tasks article{padding:10px 0;border-top:1px solid var(--line)}.assignment-set-tasks h3{margin:4px 0}.assignment-set-tasks .prose{margin-top:8px}.result.card{padding:16px;margin-bottom:10px;min-width:0}.result h2{font-size:1.15rem;margin:0}.result>.muted{font-size:12px;margin:5px 0}.result .scorebox{padding:8px 12px;gap:14px;font-size:14px}.result .review-item{padding:10px 0;margin:0;min-width:0}.result .review-title{font-size:14px;margin:0 0 6px;overflow-wrap:anywhere}.result .two{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.result .two h3{font-size:12px;color:#61758d;margin:0 0 3px}.result .prose{font-size:13px;line-height:1.4;min-width:0;overflow-wrap:anywhere}.result .muted{font-size:12px;margin:6px 0}.result .score-form label{display:flex;align-items:center;gap:8px;margin:0;font-size:12px}.result .score-form input{width:85px;padding:6px}.result .score-form button{padding:6px 10px;font-size:12px}.result .score-form .actions{gap:8px;flex-wrap:wrap}.result .prose img{max-height:240px}.result .prose mjx-container{overflow-x:visible;white-space:normal;overflow-wrap:anywhere}.result-history{margin-top:20px}.result-history h2{font-size:1.1rem}@media(max-width:650px){.result .two{grid-template-columns:minmax(0,1fr)}.result .score-form label{flex-wrap:wrap}}

.result .prose mjx-container svg{max-width:100%;height:auto}.result .row{flex-wrap:wrap}.result .row>*{min-width:0;overflow-wrap:anywhere}

.set-page-toolbar{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-bottom:12px}.set-page-toolbar label{margin:0;min-width:220px}.set-page-editor{padding:14px}.set-page-editor .set-builder{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.set-page-editor .picker-list,.set-page-editor #set-order{max-height:60vh}.set-page-editor .editor-tabs{margin-bottom:12px}.set-page-editor .check input,.library-editor .check input{width:auto;flex:none}.library-editor input:not([type=checkbox]):not([type=radio]),.library-editor select{max-width:100%}#task-editor .tag-list{gap:6px 14px}#task-editor .tag-list label{font-size:13px}#task-editor .notice{font-size:13px;padding:10px;margin:10px 0}@media(max-width:760px){.set-page-editor .set-builder{grid-template-columns:1fr}.set-page-toolbar{flex-wrap:wrap}}

.set-overview{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin-bottom:14px}.set-card{border:1px solid var(--line);border-radius:9px;padding:10px;background:#fff;min-width:0}.set-card.selected{border-color:var(--blue);background:#eff5ff}.set-tile{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;width:100%;border:0;background:transparent;padding:4px 0 9px}.set-tile strong{font-size:14px;overflow-wrap:anywhere}.set-tile span{font-size:12px;color:#61758d;flex:none}.set-card .actions{gap:5px}.set-card .actions button{font-size:12px;padding:5px 9px}.editor-panel .editor-help h3{font-size:14px;margin:0 0 8px}.editor-panel .editor-help{margin:0}.set-page-editor>button{font-size:12px;padding:5px 8px;margin-bottom:7px}

/* CRBK identity: logo reds, restrained neutral surfaces and precise edges. */
:root{--blue:#c23b33;--primary:#c23b33;--brand-light:#d35c52;--teal:#47665c;--line:#dedbd8;color:#282b30;background:#f5f4f3;font-size:15px}button,input,select,textarea{border-radius:3px}button{color:#383b40}button:hover{background:#f3efed}button.primary{background:var(--primary);border-color:var(--primary);color:#fff}button.primary:hover{background:#a9312b}a{color:#a9312b}input,select,textarea{border-color:#c9c5c2;color:#282b30}input:focus,select:focus,textarea:focus{outline:2px solid #d35c5266;border-color:var(--primary)}h1{letter-spacing:-.025em}h2,h3{letter-spacing:-.01em}.sidebar{background:#fff;color:#34363a;border-right:1px solid var(--line)}.sidebar .brand{color:#282b30}.sidebar .brand img,.login .brand img{width:34px;height:40px;object-fit:contain}.sidebar nav button{color:#44474b;border-radius:3px}.sidebar nav button:hover{background:#f5eeec}.sidebar nav button.active{background:#c23b33;color:#fff}.sidebar .profile{border-color:var(--line);color:#505359}.sidebar .profile button{color:#44474b;background:#fff;border-color:#c9c5c2}.card,.stat,.library-browser,.library-editor,.set-card,.picker-list,dialog,.notice,.feedback,.scorebox{border-radius:4px}.stat strong{color:var(--primary)}.stat:hover{border-color:var(--brand-light);background:#fff8f6}.badge{border-radius:3px;background:#f6e5e2;color:#99342d}.badge.teal{background:#e7efeb;color:#3a5c50}.notice{background:#faf0ed;border-left-color:#d35c52}.editor-help,.feedback,.scorebox{background:#f4f2f0}.editor-tabs{border-bottom-color:var(--primary);background:#efedeb}.editor-tabs button{border-radius:3px 3px 0 0;background:#e6e3e0;color:#484b50;border-color:#c9c5c2}.editor-tabs button[aria-selected="true"]{background:#c23b33;color:#fff;box-shadow:inset 0 3px 0 #8f2c27}.library-task{border-radius:3px}.library-task:hover,.library-task.selected,.set-card.selected{background:#fbefec;border-color:#d35c52}.set-card{box-shadow:none}.set-tile:hover{background:transparent}.set-page-editor .set-builder{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}.order-row{border-radius:3px;background:#f4f2f0}.library-filters{gap:7px}.assignment-set-link{color:#a9312b}.task-nav button.active{background:#fbefec;border-color:#d35c52}.join-link{color:#555}.empty{background:#fff;border-radius:4px;border-color:#c9c5c2}.tag-dropdown .tag-list{border-radius:3px!important}#toast{background:#333639;border-radius:4px}@media(max-width:760px){.set-page-editor .set-builder{grid-template-columns:1fr}}

@media(min-width:651px){.sidebar{position:sticky;top:0;height:100dvh;min-height:0;overflow:hidden}.sidebar nav{min-height:0;overflow-y:auto;flex:1}.sidebar .profile{flex:none}.sidebar .brand{flex:none}}.task-statement{padding:20px;background:#fff;border:1px solid #dedbd8;border-left:4px solid var(--primary);font-size:1.1rem;margin:14px 0 20px}.feedback{background:#f8f7f6;border-top:1px solid var(--line);padding:10px 0;margin:16px 0;font-size:13px}.feedback h3{font-size:14px;margin:4px 0 8px}.feedback textarea{min-height:65px}.star-rating{border:0;margin:0;padding:0;min-width:0}.star-rating legend{font-size:13px;font-weight:600;margin-bottom:4px}.star-row{display:flex;gap:3px;align-items:center}.star-row .star{position:relative;display:inline-flex;margin:0;cursor:pointer;padding:2px;font-size:28px;line-height:1;color:#bdb7b2}.star-row .star.filled{color:#c23b33}.star input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.star:focus-within{outline:2px solid var(--primary);outline-offset:2px}.star:hover{color:#d35c52}.star-rating .formhelp{font-size:11px;display:block}.optional-comment{margin:8px 0}.optional-comment summary{font-size:12px;color:#666}.feedback>.two{gap:16px}.feedback>small{display:block;color:#777;font-size:11px}
@media(max-width:650px){.sidebar{position:sticky;top:0;z-index:30;max-height:45dvh;overflow:hidden;border-bottom:1px solid var(--line)}.sidebar nav{flex:none}.sidebar .profile{flex:none}}

@media(min-width:651px){.sidebar nav{align-content:start;grid-auto-rows:max-content}.sidebar nav button{align-self:start}}.review-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1.2fr) minmax(120px,.8fr) minmax(85px,.5fr);gap:12px;align-items:start}.review-grid>div{min-width:0}.review-grid h4{font-size:11px;color:#666;margin:0 0 5px;font-weight:600}.review-grid .score-input{width:85px;max-width:100%;padding:6px;font-size:13px}.review-grid small{display:block;font-size:11px;color:#666;margin-top:4px;overflow-wrap:anywhere}.review-grid .score-proposal{padding:6px 8px;font-size:12px;white-space:normal}.review-grid .score-status{font-size:10px}.result .review-grid .prose{font-size:13px;line-height:1.4}@media(max-width:850px){.review-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@media(max-width:500px){.review-grid{grid-template-columns:minmax(0,1fr)}}

#task-preview{width:min(900px,94vw);max-width:900px}.preview-content{margin-top:14px;padding:10px 0}.preview-content img{max-width:100%;height:auto}#task-preview .head{display:flex;justify-content:space-between;gap:14px;align-items:center}

.assignment-origin{font-size:12px;font-weight:600;color:#62666a;margin:6px 0}.profile small{overflow-wrap:anywhere}

#task-preview .preview-student-card{margin-top:12px}#task-preview .preview-modes{margin-top:10px}#task-preview .preview-modes [aria-pressed=true]{background:var(--primary);color:white}#task-preview .answer textarea{width:100%}#task-preview .star input{width:100%;height:100%}

#task-preview form.answer{margin-top:0}#task-preview .answer input:not([type=radio]):not([type=checkbox]){width:auto}

.picker-item{display:flex;align-items:center;gap:8px}.picker-item>input{flex:none;width:18px;height:18px}.picker-preview{flex:1;min-width:0;border:0;background:transparent;text-align:left;padding:3px;color:#333;white-space:normal;overflow-wrap:anywhere}.picker-preview:hover{background:#fbefec}.picker-preview small{font-weight:400;color:#666}.assignment-table .assignment-test{background:#fff0e8}.assignment-table .assignment-exercise{background:#eef5f1}.assignment-table .assignment-test td:first-child{border-left:4px solid #c23b33}.assignment-table .assignment-exercise td:first-child{border-left:4px solid #47665c}.assignment-kind{display:inline-block;font-size:10px;font-weight:750;letter-spacing:.05em;margin-bottom:5px}.assignment-test .assignment-kind{color:#a12f27}.assignment-exercise .assignment-kind{color:#365548}.mobile-label{display:none}.answer .numeric-answer,#task-preview .answer .numeric-answer{width:12ch;min-width:110px;max-width:100%;padding:8px}.student-actions{flex-wrap:wrap;gap:7px}@media(max-width:650px){.student-actions .desktop-label,#preview-answer .actions .desktop-label{display:none}.student-actions .mobile-label,#preview-answer .actions .mobile-label{display:inline}.student-actions button,#preview-answer .actions button{font-size:12px;padding:7px 8px}.student-actions{gap:4px}}

.profile [data-install-app]{font-size:12px;padding:7px;margin-top:8px}.login-install{margin-top:12px}.login-install button{font-size:13px;width:100%}@media(display-mode:standalone){[data-install-app]{display:none}}

.assignment-history{margin:14px 0 0;border-top:1px solid #d7d7d7;padding-top:12px}.assignment-history>summary{color:#686b70;font-size:13px;font-weight:600;padding:6px 0}.assignment-history-content{margin-top:8px;background:#f5f5f5}.assignment-history .assignment-table tr{background:#f5f5f5;color:#707378}.assignment-history .assignment-table td:first-child{border-left-color:#b9b9b9}.assignment-history .assignment-kind,.assignment-history .assignment-set-link{color:#717479}.assignment-history .badge{background:#e5e5e5;color:#737373}.assignment-history button{color:#666;border-color:#d2d2d2;background:#f9f9f9}.assignment-history button:hover{background:#e9e9e9}.assignment-history .assignment-set-link{background:transparent;border:0}.assignment-history .assignment-table th{color:#7c7c7c}

.prose .text-table{width:100%;table-layout:fixed;border-collapse:collapse;white-space:normal;margin:12px 0;font-size:inherit}.prose .text-table th,.prose .text-table td{border:1px solid #d6d6d6;padding:6px 8px;white-space:normal;overflow-wrap:anywhere;min-width:0;text-align:left;vertical-align:top}.prose .text-table th{background:#f4efed;color:#333;font-weight:600}.prose .text-table img{max-width:100%;height:auto}

.editor-taxonomy .tag-section{flex-wrap:wrap;gap:5px}.editor-taxonomy .tag-section .toolbar{flex:1;min-width:180px}.editor-taxonomy #tag-list{display:flex;flex-wrap:wrap;gap:4px;margin:0}.tag-chip{display:inline-flex;align-items:center;gap:5px;background:#f6e5e2;border:1px solid #e3c5c0;color:#78352e;padding:2px 6px;font-size:12px;border-radius:3px}.tag-chip button{padding:0 3px;border:0;background:transparent;font-size:17px;line-height:1.2;color:inherit}.tag-chip button:hover{background:#e8cac4}.editor-taxonomy #tag-status{display:block;flex-basis:100%;margin:0;font-size:10px;color:#777}.editor-taxonomy .tag-section h3{display:none}

/* Consistent captions and control baselines in the task editor. */
.library-editor .editor-meta{grid-template-columns:minmax(0,1fr) 160px;align-items:start;gap:12px}
.library-editor .editor-meta>label,.library-editor .editor-taxonomy>label{display:flex;flex-direction:column;align-items:stretch;gap:5px;margin:8px 0;font-size:13px;line-height:20px;text-align:left;min-width:0}
.library-editor .editor-meta>label:last-child{white-space:nowrap}
.library-editor .editor-meta input,.library-editor .editor-taxonomy select,.library-editor .editor-taxonomy #tag-input{box-sizing:border-box;width:100%;height:38px;margin:0;padding:8px 10px;font-size:13px;line-height:20px;min-width:0}
.library-editor .editor-taxonomy{grid-template-columns:180px minmax(0,1fr);align-items:start;gap:12px;margin:0}
.library-editor .editor-taxonomy .tag-section{display:grid;grid-template-columns:minmax(0,1fr);gap:5px;margin:8px 0;min-width:0}
.library-editor .editor-taxonomy .tag-caption{display:block;margin:0;font-size:13px;line-height:20px;text-align:left}
.library-editor .editor-taxonomy .toolbar{display:block;min-width:0;margin:0}
.library-editor .editor-taxonomy #tag-list:empty{display:none}
.library-editor .editor-taxonomy #tag-status{margin:0;line-height:15px}
@media(max-width:760px){.library-editor .editor-taxonomy{grid-template-columns:minmax(0,1fr)}}
@media(max-width:420px){.library-editor .editor-meta{grid-template-columns:minmax(0,1fr)}.library-editor .editor-meta>label:last-child{max-width:160px}}

/* Set overview tiles, then a sidebar list while editing. */
.set-overview{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;align-content:start}
.set-card{padding:18px;min-height:130px}.set-tile{align-items:start;padding-bottom:16px;min-height:58px}.set-tile strong{font-size:17px}.set-tile span{font-size:13px}.set-card .actions button{font-size:13px;padding:7px 11px}
.set-layout-detail{display:grid;grid-template-columns:minmax(230px,27%) minmax(0,1fr);gap:18px;align-items:start}
.set-layout-detail .set-overview{display:flex;flex-direction:column;gap:7px;margin:0;border:1px solid var(--line);background:white;padding:7px;border-radius:4px}
.set-layout-detail .set-card{padding:10px;min-height:0;flex:none}.set-layout-detail .set-tile{min-height:0;padding:0 0 8px}.set-layout-detail .set-tile strong{font-size:14px}.set-layout-detail .set-tile span{font-size:12px}.set-layout-detail .set-card .actions button{font-size:12px;padding:5px 8px}
@media(min-width:901px){
 .workspace.bounded-workspace{height:100dvh;min-height:0;margin:0 auto;display:flex;flex-direction:column;overflow:hidden}
 .bounded-workspace>.topbar{flex:none}
 .bounded-workspace>.library-layout,.bounded-workspace>.set-layout{flex:1;min-height:0;overflow:hidden;margin:0}
 .bounded-workspace>.library-layout{align-items:stretch}
 .bounded-workspace .library-browser{height:100%;min-height:0;overflow:hidden}
 .bounded-workspace .library-filters,.bounded-workspace .bulk-selection{flex:none}
 .bounded-workspace .library-task-list{flex:1;min-height:0;max-height:none;overflow:auto}
 .bounded-workspace #task-editor{position:static;height:100%;min-height:0;overflow:auto;overscroll-behavior:contain}
 .bounded-workspace #task-editor .editor-panel{max-height:none;min-height:0;overflow:visible}
 .bounded-workspace .set-layout{height:100%}
 .bounded-workspace .set-overview{height:100%;min-height:0;overflow:auto;margin:0;overscroll-behavior:contain}
 .bounded-workspace .set-layout-detail{align-items:stretch}
 .bounded-workspace #set-editor{height:100%;min-height:0;position:static;overflow:auto;overscroll-behavior:contain}
}
@media(max-width:900px){.set-layout-detail{grid-template-columns:minmax(0,1fr)}.set-layout-detail .set-overview{max-height:32dvh;overflow:auto}.set-overview{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}
/* 0.32 catalogue filters, focussed editors, previews and reviews. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.catalog-filters{display:grid;grid-template-columns:minmax(200px,2fr) minmax(170px,1fr);gap:12px;flex:none}.catalog-filters label{margin:0;min-width:0;font-size:12px}.catalog-filters input,.catalog-filters select{width:100%;min-width:0}.class-cards{margin-top:20px}.class-card{min-height:190px}.class-open{display:flex;flex-direction:column;gap:10px;padding:0;background:transparent;border:0;text-align:left;width:100%;min-height:75px}.class-open strong{font-size:1.5rem}.class-open span{font-size:14px;font-weight:400}.class-open:hover{background:transparent;color:var(--primary)}
#set-count{margin:8px 0;flex:none}.set-overview .set-tile{display:flex;flex-direction:column;align-items:stretch;gap:10px}.set-overview .set-tile strong{font-size:19px}.set-cover{width:100%;height:150px;object-fit:cover;border-radius:3px;background:#f2ece9}.set-cover-placeholder{display:flex;align-items:center;justify-content:center;font-size:45px;color:#b79f99;background:linear-gradient(125deg,#f3e9e5,#e9e6e2)}.set-card{min-height:270px}.set-cover-editor{margin:10px 0 18px}.set-cover-editor .set-cover{height:160px;max-width:340px}.set-cover-editor .actions{margin-top:7px}.set-cover-editor small{display:block}
.set-edit-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:18px;min-height:0}.bounded-workspace>.set-edit-layout{flex:1;overflow:hidden}.set-edit-layout #set-editor{position:static;height:100%;overflow:auto;min-height:0}.set-edit-layout #set-editor .set-builder{grid-template-columns:minmax(0,1fr);gap:14px}.set-edit-layout #set-preview{min-width:0;height:100%;overflow:auto;overscroll-behavior:contain;padding:18px}.set-edit-layout #set-preview>.row{align-items:start;gap:8px;flex-wrap:wrap}.set-edit-layout #set-preview h2{font-size:1.1rem}.set-edit-layout #set-preview button{font-size:12px;padding:6px 9px}.set-edit-layout #set-preview .answer{pointer-events:none}.order-task-title{padding:0;background:transparent;border:0;text-align:left;font-size:13px;font-weight:500}.set-page-editor>.editor-heading{display:none}.set-edit-layout .picker-list{max-height:36dvh!important}.set-edit-layout #set-order{max-height:25dvh!important}
.library-editor label.editable-heading{display:block;margin:4px 0 10px}.library-editor .editor-meta{grid-template-columns:minmax(0,1fr) 135px;align-items:center}.library-editor .editable-heading input,.set-page-editor .editable-heading input{font-size:24px;font-weight:750;line-height:1.3;height:auto;min-height:48px;padding:6px 0;border:0;border-bottom:1px solid #d6cec8;border-radius:0;background:transparent;white-space:normal;width:100%}.library-editor .editable-heading input:focus{padding-left:6px}.preview-student-card{background:white;min-width:0}.preview-student-card .answer{border-top:1px solid var(--line);margin:14px 0}.image-adjust{border:1px solid var(--line);padding:12px;margin:10px 0;background:#f9f7f5}.image-adjust[hidden]{display:none}.image-adjust label{font-size:12px!important}.image-adjust button{font-size:12px;padding:7px 10px}.crop-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.crop-fields input{min-width:0;width:100%;padding:6px}.crop-preview{display:block;max-width:100%;height:auto;background:#eee;margin-bottom:10px}.image-adjust .muted{font-size:11px}
.assignment-filters{grid-template-columns:minmax(190px,2fr) repeat(4,minmax(125px,1fr))}.result-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.result-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;align-items:start}.result-layout.result-summary{grid-template-columns:minmax(0,1fr)}.result-index{background:white;border:1px solid var(--line);border-radius:4px;padding:10px;position:sticky;top:15px;max-height:calc(100dvh - 30px);overflow:auto}.result-index label{margin-top:0}.result-index input{width:100%;min-width:0}.result-index>button{display:block;width:100%;text-align:left;white-space:normal;margin:4px 0;font-size:13px;padding:10px;border-color:transparent}.result-index>button.selected{background:#fbefec;border-color:#d35c52}.result-content{min-width:0}.result-content>.card{margin-bottom:14px}.teacher-review{border-top:1px solid var(--line);padding-top:14px;margin-top:14px}.teacher-review textarea{min-height:85px;width:100%;max-height:220px}.teacher-review small{display:block;margin-top:7px}.teacher-remark{white-space:pre-wrap;background:#faf0ed;padding:14px;border-left:3px solid var(--primary)}.student-reviews{margin-top:26px}.student-reviews>.card{margin-bottom:10px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin:20px 0}.stat-grid>div{background:#f6f3f0;padding:14px;border-radius:4px}.stat-grid strong,.stat-grid small{display:block}.stat-grid strong{font-size:22px;margin-top:6px}.histogram{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding:16px 0 26px}.histogram>div{text-align:center}.hist-track{height:140px;background:#f3efec;display:flex;align-items:end;border-bottom:1px solid #bda9a3}.hist-track span{display:block;width:100%;background:#c9695f;min-height:0}.histogram small{font-size:12px}.task-bars>div{display:grid;grid-template-columns:minmax(100px,1.5fr) minmax(80px,2fr) 65px;gap:10px;align-items:center;margin:12px 0;font-size:13px}.task-bars small{display:block;font-size:11px}.chart-track{height:15px;background:#eee7e2;border-radius:2px;overflow:hidden}.chart-track span{display:block;height:100%;background:#5d7c70}
@media(max-width:1100px){.assignment-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.set-edit-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.result-layout{grid-template-columns:175px minmax(0,1fr)}}
@media(max-width:900px){.set-edit-layout{grid-template-columns:minmax(0,1fr)}.bounded-workspace>.set-edit-layout{overflow:visible}.set-edit-layout #set-preview{height:auto;max-height:none}.set-edit-layout #set-editor{height:auto;overflow:visible}.catalog-filters{grid-template-columns:minmax(0,1fr)}.result-layout{grid-template-columns:minmax(0,1fr)}.result-index{position:static;max-height:230px}.assignment-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:500px){.crop-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.library-editor .editor-meta{grid-template-columns:minmax(0,1fr)}.task-bars>div{grid-template-columns:minmax(0,1fr) 65px}.task-bars .chart-track{grid-column:1;grid-row:auto}.task-bars>div>span{grid-column:1/-1}.histogram{gap:5px}}

.picker-preview[aria-pressed="true"]{background:#fbefec;box-shadow:inset 3px 0 #c23b33;padding-left:8px}.library-editor>.editor-heading{justify-content:flex-end}.library-editor>.editor-heading:empty{display:none}
/* 0.33: focus switching and stable comparison headers. */
.set-order-switch{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0}.set-order-switch h3{margin:0!important}.set-order-switch button{font-size:22px;line-height:1;min-width:40px;min-height:38px;padding:5px 10px}.set-picker[hidden],#set-order-panel[hidden]{display:none!important}.text-link{border:0;background:transparent;padding:0;text-decoration:underline;white-space:normal;text-align:left}.student-tools{margin-bottom:18px}.student-attempts article{display:grid;grid-template-columns:110px 1fr 1fr 1fr;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}.inspection-banner{background:#fff2ca;border:1px solid #d8b45a;border-left-width:4px;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;margin-bottom:18px;flex-wrap:wrap}.inspection-banner span{display:block;font-size:12px;margin-top:4px}.inspection-open-list{margin-top:22px;display:flex;flex-wrap:wrap;gap:8px}.inspection-open-list h2{flex-basis:100%}.inspection-answer{margin:18px 0;border:1px solid var(--line);padding:15px;min-width:0}.inspection-answer input,.inspection-answer textarea{width:100%}.inspection-answer label.check input{width:auto}.result-history-toggle{font-size:12px;margin:0}.student-result-sticky{position:sticky;top:0;background:#fff;z-index:6;border-bottom:1px solid var(--line);padding:10px 0}.student-result-sticky .scorebox{margin:7px 0}.task-comparison{padding:0;display:flex;flex-direction:column;max-height:calc(100dvh - 35px);overflow:hidden}.task-context{padding:16px 18px;border-bottom:1px solid var(--line);max-height:38dvh;overflow:auto;flex:none;background:white}.task-context h2{font-size:1.2rem}.task-context h3{font-size:13px;margin:10px 0 4px}.task-context .prose{font-size:13px;line-height:1.45}.task-context .prose img{max-height:160px;object-fit:contain}.task-results-scroll{min-height:160px;flex:1;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}.task-result-table{table-layout:fixed;width:100%;font-size:12px}.task-result-table th,.task-result-table td{white-space:normal;overflow-wrap:anywhere;padding:10px 8px;vertical-align:top;min-width:0}.task-result-table th{position:sticky;top:0;z-index:4;background:#f3efec;box-shadow:0 1px var(--line)}.task-result-table th:nth-child(1){width:18%}.task-result-table th:nth-child(2){width:17%}.task-result-table th:nth-child(3){width:30%}.task-result-table th:nth-child(4){width:20%}.task-result-table th:nth-child(5){width:15%}.task-result-table small{display:block;font-size:10px;margin-top:4px}.task-result-table .score-input{width:100%;max-width:85px;padding:7px;font-size:13px}.task-result-table button{font-size:12px;padding:6px;white-space:normal;max-width:100%}.student-answer-text{white-space:pre-wrap;overflow-wrap:anywhere}
/* Intrinsic minimum widths must never force the page beyond the viewport. */
.shell{grid-template-columns:240px minmax(0,1fr)}.workspace,.shell>main,.library-layout>*,.set-edit-layout>*,.result-layout>*,.grid>*{min-width:0}.workspace{overflow-wrap:anywhere}.prose{min-width:0;overflow-wrap:anywhere}.prose img{max-width:100%;height:auto}.actions>*{max-width:100%;min-width:0}.topbar>*{min-width:0}.grid{grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr))}input,select,textarea{min-width:0}button{overflow-wrap:anywhere}.row{min-width:0}.set-edit-layout .set-builder>*{min-width:0}
@media(max-width:1000px){.shell{grid-template-columns:180px minmax(0,1fr)}}
@media(max-width:900px){.student-attempts article{grid-template-columns:1fr 1fr}.topbar{flex-wrap:wrap}.task-comparison{max-height:none}.task-results-scroll{max-height:60dvh}}
@media(max-width:760px){
 .shell{display:block}.sidebar{position:static!important;height:auto!important;max-height:none!important;min-height:0;overflow:visible;padding:14px;gap:10px}.sidebar nav{display:flex;flex-wrap:wrap;overflow:visible!important;gap:4px}.sidebar nav button{flex:1 1 auto;white-space:normal;max-width:100%;padding:8px;font-size:12px}.sidebar .profile{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:0;padding-top:10px}.sidebar .profile button{width:auto;margin:0;font-size:12px;padding:7px}.workspace,.shell:has(.library-layout) .workspace{padding:16px 12px;width:100%;max-width:100%}.topbar{gap:10px;margin-bottom:18px}.topbar .actions{width:100%;gap:5px}.topbar button{font-size:12px;padding:8px}.topbar h1{font-size:1.6rem}.two{grid-template-columns:minmax(0,1fr)}.card{padding:14px}.library-browser,.library-editor{max-width:100%;min-width:0}.editor-heading .actions{flex-wrap:wrap}.editor-tabs{flex-wrap:wrap}.editor-tabs button{flex:1 1 auto;min-width:0;font-size:12px;padding:8px 5px}.editor-footer button{font-size:12px;padding:8px}.library-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.set-overview{grid-template-columns:minmax(0,1fr)}.set-card{min-width:0}.set-edit-layout{grid-template-columns:minmax(0,1fr)}.set-edit-layout #set-editor,.set-edit-layout #set-preview{max-width:100%;padding:12px}.set-builder .toolbar{grid-template-columns:minmax(0,1fr)}.set-builder .toolbar input{grid-column:auto}.set-page-editor .order-row{flex-direction:column;align-items:stretch}.set-page-editor .order-row .actions{justify-content:flex-end}.order-task-title{white-space:normal}.result-index{max-height:200px}.result-toolbar{align-items:stretch}.result-toolbar .editor-tabs{width:100%}.result-content>.card{min-width:0}.task-nav{display:flex;flex-wrap:wrap;overflow:visible!important}.task-nav button{min-width:0;max-width:100%;flex:1 1 100px}.scorebox{flex-wrap:wrap}.stat{min-width:0}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.table-wrap{overflow-x:visible;max-width:100%}table{table-layout:fixed;width:100%;max-width:100%}th,td{white-space:normal;min-width:0!important;overflow-wrap:anywhere;padding:8px 5px;font-size:12px}td .actions{gap:4px}td button{white-space:normal;font-size:11px;padding:6px}.assignment-table,.assignment-table thead,.assignment-table tbody,.assignment-table tr,.assignment-table td{display:block;width:100%}.assignment-table thead{display:none}.assignment-table tr{border:1px solid var(--line);margin:10px 0;padding:7px}.assignment-table td{border:0}.student-result-sticky{top:0;max-height:40dvh;overflow:auto}.task-context{max-height:35dvh;padding:12px}.task-comparison{padding:0}.inspection-banner{font-size:12px}.inspection-banner button{font-size:12px}.profile strong{overflow-wrap:anywhere}.student-reviews .row{flex-wrap:wrap}.prose mjx-container{max-width:100%;overflow-wrap:anywhere;white-space:normal}
}
@media(max-width:650px){.task-result-table,.task-result-table tbody,.task-result-table tr,.task-result-table td{display:block;width:100%}.task-result-table thead{display:none}.task-result-table tr{border-bottom:2px solid var(--line);padding:8px}.task-result-table td{display:grid;grid-template-columns:minmax(95px,34%) minmax(0,1fr);gap:8px;padding:6px 2px;border:0}.task-result-table td:before{content:attr(data-label);font-size:11px;color:#6e625e;font-weight:600}.task-result-table td>small{grid-column:2}.task-result-table .score-input{max-width:100%}.task-result-table th{position:static}.task-results-scroll{min-height:180px}.result .review-grid{grid-template-columns:minmax(0,1fr)}.student-attempts article{grid-template-columns:minmax(0,1fr)}dialog{width:calc(100% - 20px);max-width:calc(100% - 20px);padding:14px;margin:10px}.login{width:auto;max-width:calc(100% - 24px);margin:20px 12px}.assignment-filters{grid-template-columns:minmax(0,1fr)}.teacher-review textarea{min-width:0}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.star-row{gap:4px}.star-rating{min-width:0}.star-row label{min-width:0}}

@media(max-width:760px){.prose mjx-container{overflow-x:visible;max-width:100%}.prose mjx-container svg{max-width:100%;height:auto}.sidebar .profile>div{min-width:0;max-width:100%}}
@media(min-width:761px) and (max-width:900px){.task-nav{flex-wrap:wrap;overflow:visible!important}.task-nav button{min-width:0;max-width:100%;flex:1 1 110px}.table-wrap{overflow-x:visible;max-width:100%}table{table-layout:fixed;max-width:100%}th,td{white-space:normal;min-width:0!important;overflow-wrap:anywhere;padding:8px 5px}.assignment-table,.assignment-table thead,.assignment-table tbody,.assignment-table tr,.assignment-table td{display:block;width:100%}.assignment-table thead{display:none}.assignment-table tr{border:1px solid var(--line);margin:10px 0;padding:7px}.assignment-table td{border:0}.prose mjx-container{overflow-x:visible;max-width:100%}.prose mjx-container svg{max-width:100%;height:auto}}
/* CRoach wordmark and class covers. */
.sidebar .brand img.brand-wordmark,.login .brand img.brand-wordmark{width:170px;height:auto;max-width:100%;object-fit:contain}.sidebar .brand{min-width:0;line-height:1}.login .brand{justify-content:center}.login .brand img.brand-wordmark{width:225px}.profile [data-update-status],.login-install [data-update-status]{display:block;font-size:10px;line-height:1.4;margin-top:5px;color:#6d6965}.profile [data-app-update]{font-size:11px;padding:7px;margin-top:9px}.class-open .class-cover{width:100%;height:140px;object-fit:cover}.class-cover-placeholder{font-size:32px;font-weight:700;letter-spacing:2px}.class-card .class-open{gap:10px}.class-card{padding:15px}.class-cover{margin-bottom:10px}.class-detail-cover{max-height:180px}.student-solution:empty{display:none}.student-solution>.notice{margin:16px 0}.set-cover-editor{margin:8px 0}.set-cover-editor .set-cover{max-width:220px;height:100px}.set-cover-editor .set-cover-placeholder{height:54px;max-width:100px;font-size:25px}
@media(min-width:901px){
 .shell:has(.set-edit-layout) .workspace{max-width:none;padding:16px 20px}
 .workspace:has(>.set-edit-layout)>.topbar{margin-bottom:14px}
 .workspace:has(>.set-edit-layout)>.topbar h1{font-size:1.5rem}
 .set-edit-layout{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:14px}
 .set-edit-layout #set-editor{padding:12px;display:flex;flex-direction:column;overflow:hidden}
 .set-edit-layout #set-editor #form{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}
 .set-edit-layout #set-editor #form>.set-builder{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;gap:0}
 .set-edit-layout .set-selection{display:flex;flex-direction:column;min-height:0;flex:1}
 .set-edit-layout .set-selection>.editor-tabs{flex:none;margin:0 0 7px}
 .set-edit-layout #set-content{display:flex;flex-direction:column;min-height:0;flex:1;overflow:hidden}
 .set-edit-layout #set-content>.editable-heading{flex:none;margin:0 0 5px}
 .set-edit-layout .set-order-switch{flex:none;margin:4px 0}
 .set-edit-layout #set-order-panel{display:flex;flex-direction:column;min-height:0;flex:1;overflow:hidden}
 .set-edit-layout #set-order-panel>.set-cover-editor{flex:none}
 .set-edit-layout #set-order{min-height:70px;max-height:none!important;flex:1;overflow:auto;margin-bottom:6px}
 .set-edit-layout #set-order-panel>.notice{flex:none;margin:4px 0;padding:7px;font-size:11px}
 .set-edit-layout #set-pick-panel{display:flex;flex-direction:column;min-height:0;flex:1;overflow:hidden}
 .set-edit-layout #set-pick-panel>.toolbar,.set-edit-layout #set-pick-panel>h3{flex:none}
 .set-edit-layout #set-task-list{min-height:70px;max-height:none!important;flex:1;margin-bottom:4px}
 .set-edit-layout #set-rights{min-height:0;flex:1;overflow:auto}
 .set-edit-layout #form>.actions{flex:none;margin-top:7px;padding-top:8px;border-top:1px solid var(--line)}
 .set-edit-layout #form>#form-error{flex:none}
}
#set-content[hidden],#set-rights[hidden],#set-pick-panel[hidden],#set-order-panel[hidden]{display:none!important}
@media(max-width:760px){.sidebar .brand img.brand-wordmark{width:135px}.profile [data-app-update]{margin:0}.class-cover{max-height:150px}}

/* 0.35: stable top alignment and compact student directory. */
.workspace{margin:0 auto;align-self:start}
.student-filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;align-items:end;margin-bottom:12px}
.student-directory td,.student-directory th{white-space:normal;overflow-wrap:anywhere;vertical-align:middle}
.student-directory .actions{flex-wrap:wrap;gap:6px}.student-directory button{font-size:.9rem}
@media(max-width:650px){.student-filters{grid-template-columns:1fr}.student-directory table,.student-directory tbody,.student-directory tr,.student-directory td{display:block;width:100%}.student-directory thead{display:none}.student-directory tr{border:1px solid var(--line,#d8dfe3);padding:10px;margin-bottom:10px}.student-directory td{padding:6px 0;border:0}.student-directory td[data-label]:before{content:attr(data-label);display:block;font-size:.75rem;color:var(--muted,#65727b);margin-bottom:3px}.student-directory td[colspan]{text-align:left}}

/* Keep short set lists at natural row height; the form footer stays anchored. */
.set-edit-layout #set-order{align-content:start;grid-auto-rows:max-content}
/* 0.37: compact mobile navigation and focused student workspace. */
.mobile-navigation{display:contents}.mobile-navigation>summary{display:none}
.mobile-task-select{display:none}
.student-task-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin:12px 0 8px}.student-task-heading h2{margin:0;min-width:0}
.solution-icon{flex:none;display:inline-grid;place-items:center;width:42px;height:42px;padding:6px;font-size:21px;line-height:1;border:1px solid var(--line);background:white}
.student-solution:has(>[hidden]){display:none}
.compact-feedback{background:transparent;padding:8px 0 0;margin:10px 0;border-top:1px solid var(--line)}
.feedback-top{position:relative;min-height:26px;margin-bottom:4px}.feedback-caption{font-size:11px;color:#706864;display:block;padding-right:40px;line-height:26px}
.compact-feedback .optional-comment{margin:0}.compact-feedback .optional-comment>summary{position:absolute;right:0;top:0;list-style:none;cursor:pointer;width:32px;height:28px;text-align:center;font-size:23px;line-height:26px;border:1px solid var(--line);border-radius:3px}.compact-feedback .optional-comment>summary::-webkit-details-marker{display:none}.compact-feedback .optional-comment label{margin:5px 0 8px}.compact-feedback .optional-comment textarea{min-height:60px;margin:3px 0}
.feedback-ratings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.compact-feedback .star-rating legend{font-size:12px;margin-bottom:1px}.compact-feedback .star-row{gap:0}.compact-feedback .star-row .star{font-size:26px;padding:3px;min-width:30px;min-height:32px}
.compact-feedback .star-rating .formhelp{font-size:10px;line-height:1.3;margin:2px 0 0}.compact-feedback>small{font-size:10px;margin-top:5px}
.inspection-answer{border:0;padding:0;margin:10px 0;min-width:0}.inspection-answer label{margin:5px 0}.inspection-answer textarea,.answer textarea{min-height:90px}.inspection-answer:disabled input,.inspection-answer:disabled textarea{opacity:1;color:inherit;-webkit-text-fill-color:currentColor;background:#faf9f8}.inspection-answer:disabled .check input{-webkit-text-fill-color:initial}
.inspection-progress{margin:0 0 9px;font-size:12px}.inspection-banner{padding:7px 10px;margin-bottom:12px;gap:8px}.inspection-banner span{display:inline;margin-left:7px}.inspection-banner button{padding:6px 10px}
.order-row[data-order-row]{cursor:pointer}.order-row[data-order-row]:hover{background:#f9e9e5}
.picker-item{display:flex;align-items:center;gap:4px;padding:0}.picker-select{display:flex;align-items:center;gap:10px;flex:1;min-width:0;cursor:pointer;margin:0!important;padding:10px}.picker-select .picker-label{min-width:0;overflow-wrap:anywhere}.picker-select input{flex:none}.picker-preview-icon{flex:none;width:36px;height:36px;padding:4px;margin-right:6px}.picker-item:has(input:checked){background:#fbefec}
@media(max-width:760px){
 .sidebar{position:sticky!important;top:0;z-index:30;display:block;min-height:60px;padding:5px 12px!important;background:white;border-bottom:1px solid var(--line)}
 .sidebar .brand{margin:0;min-height:49px;display:flex;align-items:center}.sidebar .brand-wordmark{width:113px;max-height:50px;object-fit:contain}
 .mobile-navigation>summary{display:grid;place-items:center;position:absolute;right:12px;top:10px;width:42px;height:40px;list-style:none;cursor:pointer;font-size:25px;border:1px solid var(--line);border-radius:4px;background:#fff}.mobile-navigation>summary::-webkit-details-marker{display:none}
 .mobile-navigation[open]{display:block;max-height:calc(100dvh - 64px);overflow-y:auto;overscroll-behavior:contain}
 .mobile-navigation:not([open])>nav,.mobile-navigation:not([open])>.profile{display:none!important}
 .sidebar nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));margin:8px 0;gap:6px}.sidebar nav button{padding:10px;font-size:13px;text-align:left}
 .sidebar .profile{padding:10px 0 6px;gap:7px}.sidebar .profile>div{flex:1 0 100%;font-size:13px}.sidebar .profile small{color:#6b6260}
 .mobile-task-select{display:block;margin:0}.mobile-task-select select{width:100%;padding:8px;font-size:14px;margin:0}
 .attempt-grid{gap:10px}.attempt-grid>.task-nav{display:none!important}.workspace:has(.student-work-card){padding-top:10px}
 .workspace:has(.student-work-card)>.topbar{margin-bottom:10px;gap:5px}.workspace:has(.student-work-card)>.topbar h1{font-size:1.1rem;margin:0 0 4px}.workspace:has(.student-work-card)>.topbar .eyebrow{display:none}.workspace:has(.student-work-card)>.topbar .muted{font-size:12px}.workspace:has(.student-work-card)>.topbar button{font-size:12px;padding:6px 10px}
 .student-work-card{padding:12px}.student-task-heading{margin:8px 0}.student-task-heading h2{font-size:1.1rem;line-height:1.3}.task-statement{padding:10px 12px;margin:8px 0 12px;font-size:1rem}.task-statement p{margin:5px 0}
 .student-work-card .answer{margin:0}.student-work-card .answer>label,.student-work-card .inspection-answer>label{margin:6px 0 8px;font-size:13px}.student-work-card .answer textarea,.student-work-card .inspection-answer textarea{min-height:78px}.student-work-card input[name=answer]{padding:8px;min-height:38px}.student-work-card .numeric-answer{max-width:180px}
 .student-work-card .student-actions{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0}.student-actions button{padding:8px 9px;font-size:12px;min-height:36px}.student-work-card #save-state{font-size:10px}.student-work-card .progress{margin-top:8px;height:4px}
 .inspection-banner{font-size:11px;margin:0 0 9px;padding:6px 8px}.inspection-banner>div{flex:1}.inspection-banner span{display:block;margin:2px 0 0}.inspection-banner button{padding:5px 9px;font-size:14px}
 .student-filters,.catalog-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.student-filters>label:first-child,.catalog-filters>label:first-child{grid-column:1/-1}.student-filters label,.catalog-filters label{margin:0;font-size:12px}.student-filters input,.student-filters select,.catalog-filters input,.catalog-filters select{padding:8px;margin:3px 0 0;font-size:14px;min-height:38px}
 .set-page-editor .order-row{flex-direction:row;align-items:center;gap:6px}.set-page-editor .order-row .order-task-title{flex:1;min-width:0;padding:6px 2px}.set-page-editor .order-row .actions{flex:none;gap:3px}.set-page-editor .order-row .actions button{font-size:11px;padding:5px}
 .set-cover-editor img{max-height:100px}.set-order-switch h3{font-size:14px}.set-page-editor #set-order-panel>.notice{font-size:10px;padding:6px;margin:6px 0}
}
@media(max-width:350px){.compact-feedback .star-row .star{min-width:25px;font-size:23px;padding:2px}.feedback-ratings{gap:6px}.set-page-editor .order-row .actions{flex-wrap:wrap;max-width:105px}}
.mobile-identity{display:none}
@media(max-width:760px){.sidebar .brand{gap:16px;padding-right:48px}.mobile-identity{display:block;font-size:12px;color:#6b6260;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100vw - 210px)}}

/* 0.38: desktop flex layout owns the profile anchor, outside native details. */
@media(min-width:761px){.sidebar>.mobile-navigation{display:none}.sidebar>.navigation-content{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.sidebar>.navigation-content>nav{flex:0 1 auto;min-height:0;overflow-y:auto;align-content:start;grid-auto-rows:max-content}.sidebar>.navigation-content>.profile{margin-top:auto;flex:0 0 auto}}
@media(max-width:760px){.mobile-navigation .navigation-content{display:block}.mobile-navigation:not([open])>.navigation-content{display:none!important}}

/* Difficulty: five increasing bars, with the existing values 1–5. */
/* Fixed-height touch targets give every bar the same baseline. */
.bar-rating .bar-row{display:flex;align-items:flex-end;gap:0;height:36px;min-height:36px}
.bar-rating .star,.compact-feedback .bar-rating .star-row .star{display:flex;flex-direction:row;position:relative;flex:0 0 30px;width:30px;height:36px;min-height:36px;padding:3px 5px;margin:0;align-items:flex-end;justify-content:center;line-height:1}
.bar-rating .star:nth-child(1){--bar-color:#319c67}.bar-rating .star:nth-child(2){--bar-color:#88b641}.bar-rating .star:nth-child(3){--bar-color:#dfbb2e}.bar-rating .star:nth-child(4){--bar-color:#df8532}.bar-rating .star:nth-child(5){--bar-color:#cb4545}
.bar-rating .star input{inset:0;width:100%;height:100%;margin:0}
.bar-mark{display:block;flex:none;align-self:flex-end;width:18px;height:var(--bar-height);margin:0;border-radius:2px 2px 0 0;background:#dedede;pointer-events:none}
.bar-rating .star.filled .bar-mark{background:var(--bar-color)}.bar-rating:not(:disabled) .star:hover .bar-mark{outline:1px solid #6d625c;outline-offset:1px}.bar-rating:disabled .star{cursor:default}
@media(max-width:350px){.compact-feedback .bar-rating .star-row .star{width:25px;min-width:25px;flex-basis:25px;padding:3px}.bar-mark{width:17px}}

.set-feedback-help{display:block;flex:none;font-size:11px;color:#706864;margin:3px 0 7px}.order-row>.set-required{flex:none;flex-direction:row;align-items:center;gap:5px;margin:0!important;font-size:11px;font-weight:400;cursor:pointer}.order-row>.set-required input{width:16px;height:16px;margin:0}.order-row>.order-task-title{flex:1;min-width:0}.set-page-editor .order-row{flex-direction:row;align-items:center}.order-row>.actions{flex:none}
@media(max-width:500px){.set-page-editor .order-row{flex-wrap:wrap}.order-row>.order-task-title{flex-basis:calc(100% - 76px)}.order-row>.actions{margin-left:auto}.order-row>.set-required{font-size:10px}.set-feedback-help{font-size:10px}}

/* Native checkbox semantics, displayed as a reply icon. */
.order-row>.set-required{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 36px;width:36px;height:36px;padding:6px;margin:0!important;gap:0;color:#91979d;border:1px solid transparent;border-radius:3px}
.order-row>.set-required input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.set-feedback-icon{display:block;flex:none;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.order-row>.set-required:has(input:checked){color:#23834e;background:#eaf5ee;border-color:#bdddc9}
.order-row>.set-required:hover{border-color:#aeb7be}.order-row>.set-required:focus-within{outline:2px solid var(--primary,#c23b33);outline-offset:2px}
@media(max-width:500px){.order-row>.order-task-title{flex-basis:calc(100% - 52px)}}

/* Compact set actions and read-only archived-set details. */
.set-card>.actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.set-card>.actions>button{font-size:12px;padding:7px 5px;min-width:0;white-space:normal}
.archived-set-tasks{flex:1;min-height:0;overflow:auto;align-content:start;margin-top:12px}.archived-set-tasks>button{text-align:left;padding:9px}.set-page-editor>h2{margin:0 0 10px}
