*,:before,:after{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font:var(--t-body)/1.55 var(--font);letter-spacing:var(--body-track);-webkit-font-smoothing:antialiased;margin:0}.app{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--card-shadow);overflow:hidden}.topbar{align-items:center;gap:var(--s4);padding:var(--s3) var(--s4);border-bottom:1px solid var(--line);background:var(--surface);display:flex}a{color:inherit;text-underline-offset:2px;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--faint);text-decoration-color:var(--faint)}a:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}a.btn,a.wordmark,.topbar nav a,.side a,.who a,.cohort-col-link,.crumbs a{text-decoration:none}.wordmark{font:700 var(--t-body)/1 var(--font);letter-spacing:-.03em;color:var(--ink);text-decoration:none}.wordmark sup{vertical-align:super;font-size:.6em}.topbar nav{gap:var(--s1);display:flex}.topbar nav a{color:var(--grey);font-size:var(--t-small);padding:var(--s1) var(--s2);border-radius:var(--radius-control);text-decoration:none}.topbar nav a.on{color:var(--ink);font-weight:600}.grow{flex:1}.who-mini{color:var(--grey);font-size:var(--t-small)}.screen-head{padding:var(--stack) var(--gutter) 0}.eyebrow{font:var(--label-weight) var(--t-micro)/1 var(--font);letter-spacing:var(--label-track);text-transform:var(--label-transform);color:var(--grey);margin-bottom:var(--s2)}.screen-head h1{font:var(--title-weight) var(--t-head)/1.1 var(--font);letter-spacing:var(--title-track);text-wrap:balance;margin:0}.facts{gap:var(--s5);margin-top:var(--s3);padding-top:var(--s3);border-top:var(--head-rule);flex-wrap:wrap;display:flex}.grid-wrap>.facts.flush{border-top:0;margin-top:0}.grid-wrap>.facts.flush+*{margin-top:var(--s5)}.fact b{font:var(--label-weight) var(--t-micro)/1 var(--font);letter-spacing:var(--label-track);text-transform:var(--label-transform);color:var(--grey);margin-bottom:var(--s1);display:block}.fact span{font-size:var(--t-lead);font-variant-numeric:tabular-nums}[hidden]{display:none!important}.grid-wrap{padding:var(--stack) var(--gutter) var(--stack)}.grid-wrap.reading>*{max-width:56rem}table{table-layout:fixed;border-collapse:separate;width:100%;border-spacing:0 var(--row-gap)}col.c-crit{width:6rem}col.c-rubric{width:7rem}th.rubric{text-align:center}td:has(.levels){text-align:center}td:has(.levels) .levels{justify-content:center}col.c-points{width:12rem}col.c-mark{width:6rem}th{text-align:left;padding:0 var(--s3) var(--s2) 0;font:var(--label-weight) var(--t-micro)/1 var(--font);letter-spacing:var(--label-track);text-transform:var(--label-transform);color:var(--grey);white-space:nowrap}th.n,td.n{text-align:right}td{padding:var(--row-y) var(--s3);border-top:var(--sep);vertical-align:middle;background:var(--card-bg);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.table td.prose{white-space:normal;text-overflow:clip;overflow:visible}tbody tr:hover td,.table tr.scheme-parent>td{background:var(--sunk)}.table tr.scheme-child>td:first-child{padding-left:var(--s6);box-shadow:inset 1px 0 0 var(--line)}.who{font-size:var(--t-lead);font-weight:var(--name-weight);letter-spacing:-.01em}.legi{margin-left:var(--s2);color:var(--faint);font-size:var(--t-small);font-variant-numeric:tabular-nums}.cell.n,td.n{font-variant-numeric:tabular-nums;font-family:var(--font-num)}.cell,.pts{color:var(--grey);font-variant-numeric:tabular-nums;font-family:var(--font-num)}.cell.empty{color:var(--faint)}.mark{font:var(--mark-weight) var(--mark-size)/1.25 var(--font-num);font-variant-numeric:tabular-nums;letter-spacing:var(--mark-track);background:var(--mark-bg);padding:var(--mark-pad);border-radius:var(--radius-control);display:inline-block}.mark.partial{color:var(--signal)}.mark.none{color:var(--faint);background:0 0}.mark.word{font-size:var(--t-micro);letter-spacing:.06em;text-transform:uppercase;border-radius:var(--radius-badge);background:0 0;border:1px solid;padding:.15rem .4rem;font-weight:600}.flagged td:first-child{box-shadow:inset 2px 0 0 var(--signal)}.muted td,.muted .who{color:var(--faint)}.levels{vertical-align:middle;gap:.2rem;display:inline-flex}.levels i,.levels button{border-radius:var(--radius-full);width:.625rem;height:.625rem;box-shadow:inset 0 0 0 1px var(--line);background:0 0;display:block}.levels i.on,.levels button.on{background:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.panels{gap:var(--s6);padding:var(--stack) var(--gutter) var(--s6);border-top:var(--head-rule);grid-template-columns:1fr 1fr;display:grid}.solid{background:var(--solid-bg);border:var(--solid-border);border-radius:var(--radius);padding:var(--solid-pad);box-shadow:var(--solid-shadow)}.solid.flush{padding:0}.solid.flush>.head-solid:first-child{margin:0}.head-solid{align-items:center;gap:var(--s2);background:var(--head-solid-bg);color:var(--head-solid-fg);padding:var(--head-solid-pad);font:var(--head-solid-weight) var(--t-micro)/1.4 var(--font);letter-spacing:var(--head-solid-track);text-transform:var(--label-transform);display:flex}.head-solid .spacer{flex:1}.fill{background:var(--fill-bg);color:var(--fill-fg);padding:var(--fill-pad);border-radius:var(--radius-badge);font:600 var(--t-small)/1.4 var(--font-num);font-variant-numeric:tabular-nums;white-space:nowrap;justify-content:center;align-items:center;display:inline-flex}.card>header .lbl,.panel h2{font:var(--label-weight) var(--t-micro)/1 var(--font);letter-spacing:var(--label-track);text-transform:var(--label-transform);color:var(--grey);margin:0 0 var(--s3)}.rows div{justify-content:space-between;gap:var(--s4);padding:var(--s2) 0;border-bottom:1px solid var(--line);display:flex}.rows .kid{padding-left:var(--s4);color:var(--grey)}.rows .val{font-variant-numeric:tabular-nums;color:var(--grey);white-space:nowrap;font-family:var(--font-num)}.rows .derived,.rows .detail{color:var(--faint)}.rows .detail{font-size:var(--t-small)}.rows .last{border-bottom:0;border-top:2px solid var(--ink);margin-top:var(--s1);padding-top:var(--s3);font-size:var(--t-lead)}.rows .last .val{color:var(--ink);font-weight:600}.actions{gap:var(--s2);display:flex}.btn{font:500 var(--t-small)/1 var(--font);border-radius:var(--radius-control);border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;justify-content:center;align-items:center;padding:.5rem .75rem;display:inline-flex}.btn.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent);font-weight:600}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.mark{text-align:right;min-width:2.75rem;display:inline-block}.mark.empty{color:var(--faint);background:0 0;font-weight:400}.mark.pass{color:var(--ok)}.mark.fail{color:var(--signal)}.mark.absent{color:var(--grey)}.mark.excused{color:var(--info)}.mark.pass,.mark.fail,.mark.absent,.mark.excused{font-size:var(--t-micro);letter-spacing:.06em;text-transform:uppercase;text-align:center;background:0 0;border:1px solid;padding:.15rem .4rem;font-weight:600}.mark.capped{position:relative}.mark.capped:after{content:"▲";color:var(--warn);font-size:.5em;position:absolute;top:-.35em;right:-.3em}.late-flag{color:var(--warn);font:var(--label-weight) var(--t-micro)/1 var(--font);letter-spacing:var(--label-track);text-transform:var(--label-transform);white-space:nowrap;align-items:center;gap:.2rem;display:inline-flex}.late-flag:before{content:"⏱"}.badge{align-items:center;gap:var(--s1);border-radius:var(--radius-badge);font:var(--label-weight) var(--t-micro)/1.5 var(--font);letter-spacing:var(--label-track);text-transform:var(--label-transform);white-space:nowrap;border:1px solid;padding:.0625rem .375rem;display:inline-flex}.badge.ok{color:var(--ok);background:var(--ok-soft)}.badge.ok:before{content:"✓"}.badge.warn{color:var(--warn);background:var(--warn-soft)}.badge.warn:before{content:"!"}.badge.bad{color:var(--danger);background:var(--danger-soft)}.badge.bad:before{content:"✕"}.badge.info{color:var(--info);background:var(--info-soft)}.badge.info:before{content:"i"}.badge.neutral{color:var(--grey);background:var(--sunk)}.badge.neutral:before{content:"○"}.dot{border-radius:var(--radius-full);vertical-align:middle;width:.5rem;height:.5rem;display:inline-block}.dot.ok{background:var(--ok)}.dot.warn{background:var(--warn)}.dot.bad{background:var(--danger)}.dot.none{border:1px solid var(--faint);background:0 0}.tree{margin:0;padding:0;list-style:none}.tree li{border-bottom:1px solid var(--line)}.tree .node{align-items:center;gap:var(--s2);padding:var(--s2) var(--s3);display:flex}.tree .node.child{padding-left:var(--s6);background:var(--sunk)}.tree .kind{font-family:var(--font-mono);font-size:var(--t-micro);letter-spacing:.06em;text-transform:uppercase;color:var(--faint);border:1px solid var(--line);border-radius:var(--radius-badge);padding:0 var(--s1);white-space:nowrap}.tree .grow{flex:1;min-width:0}.tree .pts{font-variant-numeric:tabular-nums;font-family:var(--font-num);color:var(--grey);white-space:nowrap}.tree .pts.derived{color:var(--faint);font-style:italic}.levels button{cursor:pointer;border:0;padding:0}.levels button:hover{box-shadow:inset 0 0 0 1px var(--accent)}.table tr.clickable{cursor:pointer}tbody tr:hover td{background:var(--sunk)}tr.band td{background:var(--sunk);font:var(--label-weight) var(--t-micro)/1 var(--font);letter-spacing:var(--label-track);text-transform:var(--label-transform);color:var(--grey)}.grid-wrap{overflow:auto}.table .sticky-l{z-index:2;background:var(--surface);position:sticky;left:0}.table .sticky-r{z-index:2;background:var(--surface);position:sticky;right:0}.table thead .sticky-l,.table thead .sticky-r{z-index:4}.input,select.input,textarea.input{min-height:var(--control-h,2.25rem);padding:var(--s1) var(--s2);border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);font:var(--t-body)/1.45 var(--font);width:100%}.input:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-color:var(--accent)}.input.cell{min-height:1.5rem;padding:0 var(--s1);text-align:right;font-family:var(--font-num);font-variant-numeric:tabular-nums;background:0 0;border-color:#0000}.input.cell:hover{border-color:var(--line)}.input.cell:focus-visible{background:var(--surface)}.hint{color:var(--faint);font-size:var(--t-small)}.lbl{font:var(--label-weight) var(--t-micro)/1 var(--font);letter-spacing:var(--label-track);text-transform:var(--label-transform);color:var(--grey)}.mono,td.n.mono,.cell.n.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.spacer{flex:1}.row{align-items:center;gap:var(--s2);display:flex}.stack{gap:var(--s3);flex-direction:column;display:flex}.rule{background:var(--line);border:0;height:1px;margin:0}.btn.sm{min-height:1.75rem;padding:0 var(--s2);font-size:var(--t-small)}.btn[disabled]{opacity:.4;cursor:not-allowed}.btn:hover{background:var(--sunk)}.btn.primary:hover{opacity:.88;background:var(--accent)}.btn.danger{background:var(--danger);color:#fff;border-color:var(--danger);font-weight:600}.btn.danger:hover{background:var(--danger);opacity:.88}.card{background:var(--card-bg,var(--surface));border:var(--card-border,1px solid var(--line));border-radius:var(--radius);box-shadow:var(--card-shadow)}.card>header{align-items:center;gap:var(--s2);padding:var(--s3) 0;display:flex}.card>.body{padding:0}.levels button:hover{background:var(--grey)}.levels button.on:hover{background:var(--accent)}.cell-flag{cursor:pointer;padding:0 var(--s1);color:inherit;font:inherit;font-family:var(--font-num);border-radius:var(--radius-control);background:0 0;border:0;min-width:1.5rem}.cell-flag:hover{background:var(--sunk)}.grouphead th{vertical-align:bottom}.grouphead th.group-span{text-align:center;border-bottom:1px solid var(--line);padding-bottom:var(--s1)}.subhead th{padding-top:var(--s1);color:var(--faint)}select.input.cell.choice{text-align:center;text-align-last:center;cursor:pointer;appearance:none;border-color:var(--line);background:var(--surface);padding-right:var(--s3);background-image:linear-gradient(45deg, transparent 50%, var(--faint) 50%), linear-gradient(135deg, var(--faint) 50%, transparent 50%);background-position:calc(100% - 8px) calc(50% + 1px),calc(100% - 4px) calc(50% + 1px);background-repeat:no-repeat;background-size:4px 4px,4px 4px}select.input.cell.choice:hover{background-color:var(--sunk);border-color:var(--grey)}select.input.cell.choice:focus-visible{border-color:var(--accent)}.grid-wrap input.input.cell{border-color:var(--line);background:var(--surface)}.cell-flag.on{color:var(--ok);font-weight:600}.cell-flag.off{color:var(--danger)}@media (max-width:48rem){.topbar{row-gap:var(--s2);padding:var(--s2) var(--gutter);flex-wrap:wrap}.topbar nav{order:3;width:100%}.facts{gap:var(--s3) var(--s4)}[data-skin=helios] .facts{gap:var(--s2)}[data-skin=helios] .fact{flex:8rem;min-width:0}.panels{gap:var(--s4);grid-template-columns:1fr}.grid-wrap table,.grid-wrap tbody,.grid-wrap tr,.grid-wrap td{width:auto;display:block}.grid-wrap thead,.grid-wrap colgroup{display:none}.grid-wrap tr{padding:var(--s3) 0 var(--s2);border-top:var(--sep);background:var(--card-bg);position:relative}[data-skin=helios] .grid-wrap tr{padding:var(--s3);margin-bottom:var(--s2);border:var(--card-border);border-radius:var(--radius-sm);box-shadow:var(--shadow)}.grid-wrap td{white-space:normal;background:0 0;border:0;padding:0}.grid-wrap td.who{margin-bottom:var(--s2);padding-right:5rem;font-weight:600}.grid-wrap .legi{margin:0;display:block}.grid-wrap td.cell{align-items:baseline;gap:var(--s1);margin:0 var(--s2) var(--s1) 0;text-align:left;display:inline-flex}.grid-wrap td:has(.levels){align-items:baseline;gap:var(--s1);margin:0 var(--s2) var(--s1) 0;text-align:left;display:inline-flex}.grid-wrap td.cell:before{content:attr(data-label);font:var(--label-weight) var(--t-micro) / 1 var(--font);letter-spacing:var(--label-track);text-transform:var(--label-transform);color:var(--faint)}.grid-wrap td:has(.levels):before{content:attr(data-label);font:var(--label-weight) var(--t-micro) / 1 var(--font);letter-spacing:var(--label-track);text-transform:var(--label-transform);color:var(--faint)}.grid-wrap td.pts{margin-top:var(--s2);text-align:left;font-size:var(--t-small);display:block}.grid-wrap td:last-child{top:var(--s3);right:var(--s3);text-align:right;position:absolute}.cohort-table td[data-label],.table td[data-label]{align-items:baseline;gap:var(--s1);margin:0 var(--s2) var(--s1) 0;text-align:left;display:inline-flex}.cohort-table td[data-label]:before,.table td[data-label]:before{content:attr(data-label);font:var(--label-weight) var(--t-micro) / 1 var(--font);letter-spacing:var(--label-track);text-transform:var(--label-transform);color:var(--faint)}.cohort-table th:first-child,.cohort-table td:first-child{position:static}.cohort-table tbody td:last-child:before{content:attr(data-label);font:var(--label-weight) var(--t-micro) / 1 var(--font);letter-spacing:var(--label-track);text-transform:var(--label-transform);color:var(--faint);margin-bottom:.15rem;display:block}.cohort-table tbody td:last-child{margin:0;display:block}.cohort-table tfoot{display:none}.grid-wrap tr.flagged{box-shadow:inset 2px 0 0 var(--signal);padding-left:var(--s3)}[data-skin=helios] .grid-wrap tr.flagged{box-shadow:var(--shadow);border-color:color-mix(in srgb, var(--signal) 35%, var(--line));background:color-mix(in srgb, var(--signal) 5%, var(--surface))}.grid-wrap tr.flagged td:first-child,.grid-wrap td:first-child{box-shadow:none}.grid-wrap tr.muted{background:var(--sunk)}[data-skin=helios] .grid-wrap tr.muted{box-shadow:none}[data-skin=helios] .grid-wrap td,[data-skin=helios] .grid-wrap td:first-child,[data-skin=helios] .grid-wrap td:last-child{background:0 0;border:0;border-radius:0}.grid-wrap tbody tr:hover td,[data-skin=helios] .grid-wrap tbody tr:hover td{background:0 0}.grid-wrap tbody tr:hover,[data-skin=helios] .grid-wrap tbody tr:hover{background:var(--sunk)}.grid-wrap tbody tr.flagged:hover,[data-skin=helios] .grid-wrap tbody tr.flagged:hover{background:color-mix(in srgb, var(--signal) 9%, var(--surface))}.list-narrow-hide{display:none}.grid-wrap .input.cell{min-width:3.5rem;min-height:2.5rem;padding:0 var(--s2);border-color:var(--line);background:var(--surface);text-align:center}.grid-wrap td.cell{margin-bottom:var(--s2);gap:var(--s2)}.grid-wrap td:has(.levels){margin-bottom:var(--s2);gap:var(--s2)}.levels button{width:1.75rem;height:2.25rem}.cell-flag{border:1px solid var(--line);min-width:2.5rem;min-height:2.5rem}}.menu-wrap{display:inline-flex;position:relative}.enrollment-state-cell{position:relative;overflow:visible}.enrollment-state-cell:has([aria-expanded=true]){z-index:41}.menu-caret{width:0;height:0;margin-left:var(--s1);border-top:4px solid;border-left:3.5px solid #0000;border-right:3.5px solid #0000}.menu{top:calc(100% + var(--s1));z-index:40;min-width:15rem;padding:var(--s2);background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-pop);max-height:calc(100dvh - var(--s4));overscroll-behavior:contain;flex-direction:column;gap:1px;display:flex;position:absolute;right:0;overflow-y:auto}.menu-label{font:var(--label-weight) var(--t-micro)/1.6 var(--font);letter-spacing:var(--label-track);text-transform:var(--label-transform);color:var(--faint);margin:var(--s2) 0 var(--s1);padding:0 var(--s2)}.menu-label:first-child{margin-top:0}.menu-item{justify-content:space-between;align-items:center;gap:var(--s2);text-align:left;cursor:pointer;width:100%;padding:var(--s2);border-radius:var(--radius-control);color:var(--ink);font:500 var(--t-small)/1.3 var(--font);background:0 0;border:0;display:flex}.menu-item:hover,.menu-item.on{background:var(--sunk)}.menu-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.menu-hint{font:400 var(--t-micro)/1.35 var(--font);color:var(--faint);margin-top:.15rem;display:block}.menu-tick{border:solid var(--accent);border-width:0 2px 2px 0;flex:none;width:.5rem;height:.8rem;margin-right:.15rem;transform:rotate(45deg)translate(-1px,-1px)}@media (max-width:30rem){.menu{right:calc(-1 * var(--s2));min-width:min(17rem, calc(100vw - var(--s4)))}}.cohort{margin-top:var(--s6)}.screen-head.tight{margin-bottom:var(--s3)}.screen-head.tight .row:not(.head-actions){align-items:flex-end;gap:var(--s4);flex-wrap:wrap}.screen-head.tight .head-actions{align-items:center}.cohort-wrap{overflow-x:auto}col.c-student{width:auto;min-width:15rem}td.who,th.c-student{min-width:15rem}.cohort-table td.prose,.table.students td.prose{text-overflow:ellipsis;overflow:hidden}.table.students td.final{font-weight:700}.cohort-table{table-layout:fixed;min-width:100%}.cohort-table th:first-child,.cohort-table td:first-child{z-index:2;background:var(--sticky-bg);position:sticky;left:0}.cohort-table thead th:first-child{z-index:3;background:var(--bg)}.cohort-table tfoot th,.cohort-table tfoot td{background:var(--bg)}.cohort-name{font-weight:600}.cohort-table tbody td.n{white-space:normal}.cohort-table tbody td.n .hint{font-size:var(--t-micro);display:block}.cohort-table tfoot .hint{font-size:var(--t-micro)}.cohort-table thead th.n{white-space:normal;overflow-wrap:anywhere;vertical-align:bottom;line-height:1.25}.cohort-col-link{color:inherit;text-decoration:none;display:block}.cohort-col-link:hover{text-decoration:underline}.cohort-table tfoot th[scope=row]{z-index:2;position:sticky;left:0}.cohort-table tfoot td,.cohort-table tfoot th{border-top:var(--foot-rule);font-size:var(--t-small);color:var(--grey);vertical-align:baseline}.cohort-table tfoot th{text-align:left;font-weight:600}.cohort-table tr.is-inactive{color:var(--faint)}.cohort-table tr.is-inactive .cohort-name{font-weight:400}.cohort-group{margin-bottom:var(--s5)}.cohort-group-head{justify-content:space-between;align-items:baseline;gap:var(--s3);padding:0 var(--gutter);flex-wrap:wrap;margin-bottom:0;display:flex}.cohort-group-head h3{font-size:var(--t-lead);margin:0}.cohort-group .grid-wrap{padding-top:var(--s2)}.cohort-figures{gap:var(--s3);font-size:var(--t-small);color:var(--grey);font-variant-numeric:tabular-nums;flex-wrap:wrap;margin:0;display:flex}.cohort-figures b{font:var(--label-weight) var(--t-micro)/1 var(--font);letter-spacing:var(--label-track);text-transform:var(--label-transform);color:var(--faint);margin-right:.2rem}.signin-wrap{min-height:100dvh;padding:var(--s5);background:var(--bg);place-items:center;display:grid}.signin{gap:var(--s4);width:min(24rem,100%);padding:var(--s6);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--card-shadow);flex-direction:column;display:flex}.signin-mark{margin:0 0 var(--s2);font-size:var(--t-lead)}.signin-mode{width:100%;display:flex}.signin-mode>button{min-height:var(--control-h);font-size:var(--t-body);flex:50%}.signin-error{font-size:var(--t-small);color:var(--danger);margin:0}.signin .btn{justify-content:center}.signin .btn[disabled]{opacity:.6;cursor:default}.account{align-items:center;gap:var(--s3);display:flex}.whoami{line-height:1.2;font-size:var(--t-small);text-align:right;flex-direction:column;display:flex}.whoami .hint{font:var(--label-weight) var(--t-micro)/1.3 var(--font);letter-spacing:var(--label-track);text-transform:var(--label-transform)}.account-actions{align-items:center;gap:var(--s1);display:flex}a.btn,a.btn:hover{text-decoration:none}.icon-only{width:var(--control-h);height:var(--control-h);flex:none;justify-content:center;align-items:center;padding:0;text-decoration:none;display:inline-flex}.icon-only:hover{text-decoration:none}.icon-only svg{font-size:1rem}.icon-btn{justify-content:center;align-items:center;gap:var(--s1);height:var(--control-h);text-decoration:none;display:inline-flex}.icon-btn:hover{text-decoration:none}.icon-btn svg{flex:none;font-size:.95rem}.danger-hover:hover,.danger-hover:focus-visible{color:var(--danger);border-color:var(--danger)}@media (max-width:30rem){.whoami{display:none}.account{gap:var(--s1)}.icon-btn{width:var(--control-h);height:var(--control-h);justify-content:center;padding:0}.icon-btn span,.icon-btn{font-size:0}.icon-btn svg{font-size:1rem}.signin{padding:var(--s5);box-shadow:none;border:0}}.body{flex:1;min-width:0}.side{border-right:1px solid var(--line);background:var(--surface);width:13.5rem;padding:var(--s3) 0;flex:none}.side .brand{align-items:baseline;gap:var(--s2);padding:var(--s2) var(--s4) var(--s3);display:flex}.side .brand .tagword{font:var(--label-weight) var(--t-micro)/1 var(--font);letter-spacing:var(--label-track);text-transform:var(--label-transform);color:var(--signal)}.side .group{padding:var(--s4) var(--s4) var(--s1);font:var(--label-weight) var(--t-micro)/1 var(--font);letter-spacing:var(--label-track);text-transform:var(--label-transform);color:var(--faint)}.side a{align-items:center;gap:var(--s2);padding:var(--s2) var(--s4);color:var(--grey);font-size:var(--t-small);text-decoration:none;display:flex}.side a:hover{color:var(--ink);background:var(--sunk)}.side a.on{color:var(--ink);box-shadow:inset 2px 0 0 var(--accent);font-weight:600}.side .count{color:var(--faint);font-size:var(--t-micro);margin-left:auto}.side .back{margin-top:var(--s4);padding-top:var(--s3);border-top:1px solid var(--line)}.bar{align-items:center;gap:var(--s3);padding:var(--s3) var(--s5);border-bottom:1px solid var(--line);background:var(--surface);display:flex}.bar .crumb{color:var(--grey);font-size:var(--t-small)}.bar .spacer{flex:1}.admin-shell{min-height:100dvh;display:flex}.side a.soon{color:var(--faint);cursor:default}.side a.soon:hover{color:var(--faint);background:0 0}.side a.soon .count{font-style:italic}.admin-body{padding:var(--stack) var(--gutter)}.invite-link{align-items:center;gap:var(--s2);margin-top:var(--s3);padding:var(--s3);background:var(--sunk);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--t-small);word-break:break-all;display:flex}.invite-link code{flex:1}.people-filters{gap:var(--s2);margin-bottom:var(--s3);padding:0 var(--gutter);flex-wrap:wrap;align-items:center;display:flex}.admin-body .people-filters,.settings .people-filters,.grid-wrap .people-filters{padding:0}.people-filters .input{width:auto;min-width:14rem}.actions{flex-wrap:wrap}.person-state{gap:var(--s1);flex-wrap:wrap;display:flex}@media (max-width:48rem){.admin-shell{flex-direction:column;min-height:0}.side{border-right:0;border-bottom:1px solid var(--line);gap:var(--s1);width:auto;padding:var(--s2) var(--s3);flex-wrap:wrap;display:flex}.side .brand{width:100%;padding:var(--s1) var(--s2) var(--s2)}.side .group{display:none}.side a{padding:var(--s1) var(--s2)}.side .count{margin-left:var(--s1)}.side .back{width:100%;margin-top:var(--s2);padding-top:var(--s2)}.admin-body{padding:var(--s4) var(--s3)}.admin-body td:last-child{margin-top:var(--s2);position:static}.admin-body td.who{padding-right:0}.admin-body .input{width:100%}}.notice{margin-bottom:var(--s4);padding:var(--s3) var(--s4);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.notice>p{font-size:var(--t-small);margin:0}.bad{color:var(--danger);font-size:var(--t-small);margin:0;line-height:1.5}.notice.bad{border-color:var(--danger);background:var(--danger-soft)}.notice.bad>ul{padding-left:var(--s4);margin:0}.notice.bad li{font-size:var(--t-small);line-height:1.6}.new-person{gap:var(--s2);flex-wrap:wrap;align-items:center;display:flex}.new-person .input{width:auto;min-width:9rem}.admin-strip{z-index:5;align-items:center;gap:var(--s2);padding:var(--s2) var(--s4);display:flex;position:absolute;top:0;right:0}.admin-strip .whoami{margin-right:var(--s1)}@media (max-width:48rem){.admin-strip{justify-content:flex-end;position:static}}.wizard{padding:var(--stack) var(--gutter)}.wizard-head{justify-content:space-between;align-items:flex-end;gap:var(--s4);margin-bottom:var(--s3);flex-wrap:wrap;display:flex}.wizard-who h2{margin:0}.wizard-nav{align-items:center;gap:var(--s2);display:flex}.wizard-count{line-height:1.15;font-size:var(--t-small);font-variant-numeric:tabular-nums;flex-direction:column;align-items:center;min-width:5rem;display:flex}.wizard-progress{background:var(--line);height:2px;margin-bottom:var(--stack);border-radius:var(--radius-badge);overflow:hidden}.wizard-progress>span{background:var(--accent);height:100%;transition:width .2s;display:block}.wizard-body{gap:var(--s5);grid-template-columns:minmax(0,14rem) minmax(0,2fr) minmax(0,1fr);align-items:start;display:grid}.wizard-body h3{margin:0 0 var(--s2);font:var(--label-weight) var(--t-micro)/1.4 var(--font);letter-spacing:var(--label-track);text-transform:var(--label-transform);color:var(--faint)}.wizard-body h3 .hint{margin-left:var(--s2);text-transform:none;letter-spacing:0}.filelist{gap:var(--s2);margin:0;padding:0;list-style:none;display:grid}.filelist li{font-size:var(--t-small);flex-direction:column;display:flex}.wizard-criteria{min-width:0}.wizard-group{margin-bottom:var(--s4)}.wizard-row{gap:var(--s3);padding:var(--s2) 0;border-bottom:var(--sep);grid-template-columns:1fr 8rem;align-items:center;display:grid}.wizard-label{font-size:var(--t-small);flex-direction:column;display:flex}.wizard-label .hint{font-size:var(--t-micro)}.wizard-result .rows{margin:var(--s3) 0}.wizard-result .savestate{margin:var(--s3) 0 0;font-size:var(--t-small)}.wizard-result .savestate.failed{color:var(--danger)}.wizard-result .savestate.saved{color:var(--ok)}.wizard-result .savestate.idle{visibility:hidden}@media (max-width:62rem){.wizard-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.wizard-work{grid-column:1/-1}}@media (max-width:48rem){.wizard{padding:var(--s4) var(--s3)}.wizard-body{grid-template-columns:1fr}.wizard-head{align-items:flex-start}.wizard-nav{width:100%}.wizard-nav .btn{flex:1;justify-content:center}.wizard-row{grid-template-columns:1fr 6.5rem}}.work{padding:var(--s4) 0;border-top:var(--sep);background:var(--card-bg)}[data-skin=helios] .work{padding:var(--card-pad);margin-bottom:var(--s3);border:var(--card-border);border-radius:var(--radius);box-shadow:var(--card-shadow)}.work-head{justify-content:space-between;align-items:flex-start;gap:var(--s4);flex-wrap:wrap;display:flex}.work-head h2{margin:var(--s1) 0 0;font-size:var(--t-lead)}.work-state{align-items:flex-end;gap:var(--s1);flex-direction:column;display:flex}.work-grade{align-items:baseline;gap:var(--s3);margin-top:var(--s3);flex-wrap:wrap;display:flex}.work-feedback{font-size:var(--t-small);max-width:46rem;margin:0}.work-actions{align-items:center;gap:var(--s3);margin-top:var(--s3);flex-wrap:wrap;display:flex}.submit-form{gap:var(--s3);margin-top:var(--s4);padding-top:var(--s4);border-top:1px solid var(--line);flex-direction:column;max-width:40rem;display:flex}.submit-rules{margin:0}.submit-meta{gap:var(--s3);flex-wrap:wrap;display:flex}.submit-meta .field{flex:1;min-width:10rem}.submit-problems{padding:var(--s3) var(--s4);color:var(--danger);font-size:var(--t-small);background:var(--danger-soft);border-radius:var(--radius-sm);margin:0;list-style:outside}@media (max-width:48rem){.work-head{flex-direction:column}.work-state{align-items:flex-start}.submit-meta{flex-direction:column}}.form-fields{gap:var(--s3);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.submission-field{gap:var(--s2);min-width:0;padding:var(--s3);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);margin:0;display:grid}.submission-field.wide{grid-column:1/-1}.submission-field-label{justify-content:space-between;align-items:baseline;gap:var(--s2);display:flex}.required-mark{color:var(--danger);font:600 var(--t-micro)/1 var(--font);letter-spacing:0;text-transform:none;flex:none;font-style:normal}.submission-field-help{margin:calc(-1 * var(--s1)) 0 0}.submission-field>.input{width:100%}.submission-checklist{gap:var(--s2);grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));display:grid}.submission-checklist .field-check{margin:0}.checklist{gap:var(--s3);padding:var(--s1) 0;flex-wrap:wrap;display:flex}.checklist-item{align-items:center;gap:var(--s1);font-size:var(--t-small);cursor:pointer;display:inline-flex}.submission-rating{align-items:center;gap:var(--s1);min-height:2rem;display:flex}.submission-rating button{cursor:pointer;background:0 0;border:0;place-items:center;width:1.5rem;height:1.5rem;padding:0;display:grid}.submission-rating button>span{border:1px solid var(--faint);background:var(--surface);border-radius:50%;width:.72rem;height:.72rem}.submission-rating button.on>span{border-color:var(--accent);background:var(--accent)}.submission-rating button.zero{border:1px solid var(--line);border-radius:var(--radius-sm);width:1.75rem;color:var(--grey);font:600 var(--t-micro)/1 var(--font-mono)}.submission-rating button.zero.on{border-color:var(--accent);color:var(--accent)}.submission-rating .hint{margin-left:var(--s2)}.answers{margin:var(--s4) 0 0;gap:var(--s3);display:grid}.answers>div{gap:var(--s1);display:grid}.answers dt{font:var(--label-weight) var(--t-micro)/1.4 var(--font);letter-spacing:var(--label-track);text-transform:var(--label-transform);color:var(--faint)}.answers dd{font-size:var(--t-small);margin:0}.answer-tags{gap:var(--s1);flex-wrap:wrap;display:flex}.form-editor{display:block}.form-editor-workspace{gap:var(--s5);grid-template-columns:minmax(0,1fr) minmax(19rem,.72fr);align-items:start;display:grid}.form-editor-controls{gap:var(--s3);flex-direction:column;min-width:0;display:flex}.form-field-row{gap:var(--s2);padding:var(--s3);border:1px solid var(--line);border-radius:var(--radius-sm);flex-direction:column;display:flex}.form-field-main{gap:var(--s2);flex-wrap:wrap;align-items:center;display:flex}.form-field-main>.input:first-child{flex:1;min-width:14rem}.form-field-main>select.input{width:auto;min-width:9rem}.form-preview{margin:var(--s3) 0 0;padding-left:var(--s4);gap:var(--s1);display:grid}.form-preview li{font-size:var(--t-small)}.form-preview .hint{font-size:var(--t-micro);display:block}.student-form-preview{top:var(--s4);min-width:0;position:sticky}.student-form-preview-label{margin-bottom:var(--s2);color:var(--faint);font:var(--label-weight) var(--t-micro)/1.2 var(--font);letter-spacing:var(--label-track);text-transform:var(--label-transform)}.student-form-preview-paper{padding:var(--s4);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow)}.student-form-preview-paper>header{justify-content:space-between;align-items:baseline;gap:var(--s3);padding-bottom:var(--s3);margin-bottom:var(--s3);border-bottom:1px solid var(--line);display:flex}.student-form-preview-paper>header h2{font-size:var(--t-body);margin:0}.student-form-preview-paper>header span{color:var(--faint);font-size:var(--t-micro)}.student-preview-field>span{font-size:var(--t-small)}.student-preview-field>span em{color:var(--danger);font-style:normal}.student-preview-field .help{margin:var(--s1) 0 var(--s2)}.student-preview-field .input:disabled{opacity:1;color:var(--grey);background:var(--surface)}.student-preview-choices{gap:var(--s1);margin-top:var(--s2);flex-direction:column;display:flex}.quiz-meta-compact{font-size:var(--t-micro);line-height:1.25}.personalized-failure{margin-top:var(--s1);color:var(--danger);font-size:var(--t-micro);line-height:1.35;display:block}.mix-mismatch{color:var(--danger)}@media (max-width:48rem){.form-editor-workspace{grid-template-columns:1fr}.student-form-preview{position:static}.form-field-main{flex-direction:column;align-items:stretch}.form-field-main>select.input{width:100%}.form-fields{grid-template-columns:1fr}.submission-field.wide{grid-column:auto}}.generation-activity{margin:var(--s4) 0;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);overflow:hidden}.generation-activity.live{border-color:color-mix(in srgb, var(--accent) 55%, var(--line))}.generation-activity-head{justify-content:space-between;gap:var(--s4);padding:var(--s4);align-items:flex-start;display:flex}.generation-activity-head h2{margin:var(--s2) 0 var(--s1);font-size:var(--t-body)}.generation-activity-head p{margin:0}.generation-activity-total{white-space:nowrap;justify-items:end;gap:.15rem;display:grid}.generation-activity-total b{font:700 var(--t-body)/1.1 var(--font-mono)}.generation-activity-total span{color:var(--faint);font-size:var(--t-micro)}.generation-progress{background:var(--line);height:.24rem}.generation-progress>span{background:var(--accent);height:100%;transition:width .3s;display:block}.generation-activity.live .generation-progress>span{animation:1.4s ease-in-out infinite generation-pulse}.generation-stream{max-height:17rem;overflow:auto}.generation-event{gap:var(--s2);padding:var(--s2) var(--s4);border-top:1px solid var(--line);font-size:var(--t-small);grid-template-columns:.65rem minmax(0,1fr) auto;align-items:start;display:grid}.generation-event-mark{background:var(--faint);border-radius:50%;width:.5rem;height:.5rem;margin-top:.35rem}.generation-event.running .generation-event-mark{background:var(--accent);animation:1.2s ease-in-out infinite generation-pulse}.generation-event.complete .generation-event-mark{background:var(--ok)}.generation-event.failed .generation-event-mark{background:var(--danger)}.generation-event div{min-width:0}.generation-event b,.generation-event span{display:block}.generation-event span{color:var(--grey);white-space:nowrap;text-overflow:ellipsis;margin-top:.1rem;overflow:hidden}.generation-event.failed span{color:var(--danger)}.generation-event small{color:var(--faint);font:var(--t-micro)/1.4 var(--font-mono)}@keyframes generation-pulse{50%{opacity:.42}}@media (prefers-reduced-motion:reduce){.generation-activity.live .generation-progress>span,.generation-event.running .generation-event-mark{animation:none}}@media (max-width:48rem){.generation-activity-head{flex-direction:column}.generation-activity-total{justify-items:start}}:root{--unfold-t:.34s;--unfold-e:cubic-bezier(.32, .72, .24, 1)}main>*{max-width:var(--measure);transition:max-width var(--unfold-t,.34s) var(--unfold-e,cubic-bezier(.32, .72, .24, 1));margin-inline:auto}@media (prefers-reduced-motion:reduce){main>*{transition:none}}main>.full-width{max-width:none}main>.measure-left{margin-inline:max(0px, calc((100% - var(--measure)) / 2)) auto}.admin-body>.screen-head,.admin-body>.data-table,.admin-body>.grid-wrap,.admin-body>.panels,.admin-body>.people-filters,.admin-body>.settings,.admin-body>.cohort{max-width:var(--measure);margin-inline:0}.cohort>.grid-wrap,.cohort>.cohort-group,.wizard>*{max-width:none}.settings{gap:var(--s5);flex-direction:column;max-width:46rem;display:flex}.settings.register{max-width:none}.register .grid-wrap{padding-left:0;padding-right:0}.settings-block{gap:var(--s3);flex-direction:column;display:flex}.settings-block h3{font:var(--label-weight) var(--t-micro)/1.4 var(--font);letter-spacing:var(--label-track);text-transform:var(--label-transform);color:var(--faint);margin:0}.settings-block>.hint{margin:0}.settings-grid{gap:var(--s3) var(--s5);grid-template-columns:repeat(auto-fit,minmax(13rem,22rem));align-items:start;display:grid}.settings-grid .field+.field{margin-top:0}.settings-flags{gap:var(--s3);flex-wrap:wrap;display:flex}.settings-wrap{min-width:0;max-width:100%;overflow-x:clip}.settings-panel{width:min(100%,68rem);min-width:0;max-width:100%;margin-block:0;container:settings-panel/inline-size}.settings-panel>.body{min-width:0}.settings-llm{gap:var(--s4);grid-template-columns:minmax(0,1fr);width:100%;min-width:0;max-width:100%;display:grid}.settings-llm>.field:first-child{width:min(100%,32rem)}.settings-llm .help,.settings-llm .hint{font-size:var(--t-micro);overflow-wrap:anywhere;line-height:1.4}.settings-provider{gap:var(--s2);width:100%;min-width:0;max-width:100%;padding:var(--s3);border:1px solid var(--line);background:var(--sunk);grid-template-columns:minmax(0,1fr);display:grid}.settings-provider-head{justify-content:space-between;align-items:flex-start;gap:var(--s2) var(--s3);flex-wrap:wrap;display:flex}.settings-provider-head>:first-child{flex:15rem;min-width:0}.settings-provider-head h3,.settings-approvals h3{margin:var(--s1) 0 0;font-size:var(--t-lead)}.settings-provider-badges{justify-content:flex-end;gap:var(--s1);flex-wrap:wrap;flex:0 auto;min-width:0;max-width:100%;display:flex}.settings-provider>.hint,.settings-approvals .hint{margin:0}.settings-provider-fields{gap:var(--s3);padding-top:var(--s3);border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.settings-provider-fields>.field,.settings-advanced>.field{margin:0}.settings-provider-fields>.field{min-width:0}.settings-provider-fields>.field .input{width:100%;min-width:0;max-width:none}.settings-provider-policy{gap:var(--s1);min-width:0;padding:var(--s2) var(--s3);border:1px solid var(--line);background:var(--surface);grid-column:1/-1;display:grid;position:relative}.settings-provider-policy.relaxed{border-color:var(--warn)}.settings-provider-policy>.badge{top:var(--s2);right:var(--s3);max-width:calc(100% - 2 * var(--s3));position:absolute}.settings-provider-policy>.field{min-width:0;margin:0;padding-right:13rem}.settings-provider-policy .help{max-width:60rem;margin-bottom:0}.settings-advanced{padding:var(--s3);border:1px solid var(--line);background:var(--surface);grid-column:1/-1}.settings-advanced summary{cursor:pointer;font-weight:600}.settings-advanced[open]{gap:var(--s3);display:grid}.settings-task-profiles{gap:var(--s3);width:100%;min-width:0;max-width:100%;padding-top:var(--s3);border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr);display:grid}.settings-task-profiles-head h3{margin:var(--s1) 0;font-size:var(--t-lead)}.settings-task-profiles-head .hint{max-width:56rem;margin:0}.settings-task-profile-grid{gap:var(--s2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.settings-task-profile{align-content:start;gap:var(--s2);min-width:0;padding:var(--s2) var(--s3);border:1px solid var(--line);background:var(--surface);display:grid}.settings-task-profile-head{justify-content:space-between;align-items:flex-start;gap:var(--s1) var(--s2);flex-wrap:wrap;min-width:0;display:flex}.settings-task-profile-head>div{flex:12rem;min-width:0}.settings-task-profile-head>.badge{flex:none;max-width:100%}.settings-task-profile h4{margin:0;font-size:1rem}.settings-task-profile .hint{margin:var(--s1) 0 0;font-size:var(--t-micro);line-height:1.35}.settings-task-profile-fields{gap:var(--s2);display:grid}.settings-task-profile-fields label{gap:var(--s1);min-width:0;font-size:var(--t-small);font-weight:600;display:grid}.settings-task-profile-fields .input{width:100%;min-width:0;max-width:none;min-height:2rem;font-size:var(--t-small)}.settings-task-profile-foot{justify-content:space-between;align-items:center;gap:var(--s1) var(--s2);min-width:0;padding-top:var(--s2);border-top:1px solid var(--line);color:var(--grey);flex-wrap:wrap;display:flex}.settings-task-profile-foot small{overflow-wrap:anywhere;min-width:0;font-size:var(--t-micro);flex:10rem;line-height:1.35}.settings-task-profile-actions{gap:var(--s1);flex-wrap:wrap;flex:none;max-width:100%;display:flex}.settings-approvals{justify-content:space-between;align-items:flex-start;gap:var(--s4);padding-top:var(--s4);border-top:1px solid var(--line);display:flex}.settings-approval-summary{margin-top:var(--s2);gap:var(--s1)}.settings-approval-options{gap:var(--s2);display:grid}dialog.settings-approval-form{max-height:calc(100vh - var(--s6));overflow:auto}.settings-approval-option{align-items:start;gap:var(--s3);padding:var(--s3);border:1px solid var(--line);cursor:pointer;grid-template-columns:auto 1fr;display:grid}.settings-approval-option:hover{background:var(--sunk)}.settings-approval-option input{margin-top:.15rem}.settings-approval-option span{gap:var(--s1);display:grid}.settings-approval-option small{color:var(--grey);line-height:1.45}@container settings-panel (max-width:52rem){.settings-provider-fields,.settings-task-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@container settings-panel (max-width:34rem){.settings-provider-fields,.settings-task-profile-grid{grid-template-columns:minmax(0,1fr)}.settings-provider-badges{justify-content:flex-start}.settings-provider-policy>.badge{justify-self:start;position:static}.settings-provider-policy>.field{padding-right:0}}@media (max-width:760px){.settings-approvals{flex-direction:column}}.automation-stack{gap:var(--s4);max-width:72rem;display:grid}.automation-console{margin:0}.automation-heading,.automation-mode-head{justify-content:space-between;align-items:flex-start;gap:var(--s3);display:flex}.automation-heading{margin-bottom:var(--s5)}.automation-heading h2{margin:var(--s1) 0 0;font-size:calc(var(--t-lead) * 1.25)}.automation-mode-grid{gap:var(--s4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.automation-mode{gap:var(--s3);padding:var(--s4);border:1px solid var(--line);background:var(--surface);display:grid}.automation-mode.automatic{border-color:color-mix(in srgb, var(--warn) 55%, var(--line));background:color-mix(in srgb, var(--warn-soft) 35%, var(--surface))}.automation-mode h3,.automation-threshold h3{margin:var(--s1) 0 0;font-size:var(--t-lead)}.automation-mode>.hint,.automation-threshold .hint{margin:0;line-height:1.5}.automation-mode .seg{grid-template-columns:1fr 1fr;width:100%;display:grid}.automation-mode .seg>button{white-space:normal;min-width:0;line-height:1.25}.automation-threshold{align-items:end;gap:var(--s5);margin-top:var(--s5);padding:var(--s4);border:1px solid var(--line);background:var(--sunk);opacity:.7;grid-template-columns:minmax(0,1fr) auto;display:grid}.automation-threshold.active{opacity:1;border-color:color-mix(in srgb, var(--warn) 45%, var(--line))}.automation-percent{align-items:baseline;gap:var(--s2);font:600 var(--t-lead)/1 var(--font-num);display:flex}.automation-percent .input{text-align:right;width:6.5rem;font:inherit}.automation-guardrail{gap:var(--s2);margin-top:var(--s4);padding:var(--s3) 0;border-bottom:1px solid var(--line);color:var(--grey);align-items:baseline;display:flex}.automation-guardrail b{color:var(--ink)}.automation-actions{margin-top:var(--s4)}@media (max-width:680px){.automation-heading,.automation-mode-head,.automation-guardrail{flex-direction:column}.automation-mode-grid{grid-template-columns:1fr}.automation-threshold{grid-template-columns:1fr;align-items:start}}.data-admin-content,.calendar-admin-content{gap:var(--s4);display:grid}.rag-jobs-table td{vertical-align:middle}.rag-job-dialog{max-height:calc(100vh - var(--s6));overflow:auto}.rag-job-facts{gap:var(--s3) var(--s5);margin:0 0 var(--s4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.rag-job-facts div{min-width:0}.rag-job-facts dt{color:var(--grey);font-size:var(--t-small)}.rag-job-facts dd{overflow-wrap:anywhere;margin:.2rem 0 0}.rag-job-output{max-height:24rem;padding:var(--s3);border:1px solid var(--line);background:var(--sunk);font:var(--t-small)/1.5 var(--font-num);white-space:pre-wrap;overflow-wrap:anywhere;overflow:auto}@media (max-width:680px){.rag-job-facts{grid-template-columns:1fr}}.mail-inbox-status{gap:var(--s2) var(--s4);padding-bottom:var(--s2);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:baseline;display:flex}.mail-inbox-table td{vertical-align:middle}.mail-inbox-table .badge+.badge{margin-left:var(--s1)}.mail-inbox-row-unread td{background:var(--info-soft)}.mail-inbox-row-unread td b{color:var(--info-ink)}.mail-inbox-sender{align-items:center;gap:var(--s2);display:inline-flex}.mail-inbox-sender i{border-radius:var(--radius-full);background:var(--info);flex:none;width:.45rem;height:.45rem}.mail-inbox-preview{text-overflow:ellipsis;max-width:32rem;display:block;overflow:hidden}.mail-inbox-unread{min-height:var(--control-h);align-self:end;align-items:center}.mail-inbox-dialog{max-height:calc(100dvh - var(--s6));overflow:auto}.mail-inbox-body{padding:var(--s4);border-left:2px solid var(--line);background:var(--sunk);white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.mail-inbox-actions{gap:var(--s2);display:grid}.mail-inbox-actions h3{margin:0}.mail-inbox-action{gap:var(--s2);padding:var(--s2) 0;border-top:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;display:grid}.mail-inbox-action p{white-space:pre-wrap;overflow-wrap:anywhere;grid-column:2/-1;margin:0}.mail-inbox-reply{resize:vertical;min-height:8rem}.mail-inbox-forwarding{max-height:calc(100dvh - var(--s6));overflow:auto}.mail-inbox-forwarding-input{resize:vertical;min-height:9rem;font-family:var(--font-mono)}@media (max-width:680px){.mail-inbox-action{grid-template-columns:auto minmax(0,1fr)}.mail-inbox-action>.hint,.mail-inbox-action p{grid-column:1/-1}}.calendar-event-editor{margin-block:0 var(--s5)}.calendar-event-editor>header .badge{margin-left:auto}.calendar-event-editor .field-row{align-items:start}.toggle{align-items:flex-start;gap:var(--s2);padding:var(--s3);cursor:pointer;text-align:left;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-control);font:500 var(--t-small)/1.3 var(--font);flex:1;min-width:14rem;display:flex}.toggle:hover{border-color:var(--accent)}.toggle .hint{margin-top:.15rem;font-weight:400;display:block}.toggle-dot{border-radius:var(--radius-full);width:.75rem;height:.75rem;box-shadow:inset 0 0 0 1px var(--line);flex:none;margin-top:.15rem}.toggle.on{border-color:var(--ok)}.toggle.on .toggle-dot{background:var(--ok);box-shadow:inset 0 0 0 1px var(--ok)}.criteria-editor{max-width:58rem}.crit{padding:var(--s2) 0;border-bottom:var(--sep)}.crit-container{padding:var(--s3);border:1px solid var(--line);border-radius:var(--radius-control);margin-bottom:var(--s2)}.crit-main{gap:var(--s2);flex-wrap:wrap;align-items:center;display:flex}.crit-main>.input:first-child{flex:1;min-width:12rem}.crit-main>select.input{width:auto;min-width:8rem}.crit-num{align-items:center;gap:var(--s1);display:flex}.crit-num .input{width:5rem}.crit-num .hint{font-size:var(--t-micro)}.crit-sum{font-variant-numeric:tabular-nums}.crit-children{margin-top:var(--s2);padding-left:var(--s4);border-left:2px solid var(--line);gap:var(--s2);flex-direction:column;display:flex}@media (max-width:48rem){.crit-main{align-items:stretch}.crit-main>select.input{width:100%}.crit-children{padding-left:var(--s3)}}.crumbs a{color:inherit;text-underline-offset:2px;text-decoration:underline;-webkit-text-decoration-color:var(--faint);text-decoration-color:var(--faint)}.crumbs a:hover{color:var(--ink);-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.crumbs .sep{color:var(--faint)}.crumbs [aria-current=page]{color:var(--ink)}.crumb-switcher{display:inline-block;position:relative}.crumb-switcher summary{cursor:pointer;color:var(--ink);align-items:center;gap:.3rem;list-style:none;display:inline-flex}.crumb-switcher summary::-webkit-details-marker{display:none}.crumb-switcher summary:hover{color:var(--accent)}.crumb-switcher-mark{font-size:.8em;transition:transform .14s}.crumb-switcher[open] .crumb-switcher-mark{transform:rotate(180deg)}.crumb-menu{z-index:40;top:calc(100% + var(--s2));min-width:12rem;max-width:calc(100vw - 2 * var(--gutter));max-height:min(24rem,55vh);padding:var(--s1);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow);font:500 var(--t-small)/1.25 var(--font);letter-spacing:0;text-transform:none;display:grid;position:absolute;left:0;overflow:auto}.crumb-switcher.align-end .crumb-menu{left:auto;right:0}.crumb-menu a,.crumb-menu>span{justify-content:space-between;align-items:center;gap:var(--s3);min-width:0;padding:var(--s2);color:var(--ink);white-space:nowrap;text-decoration:none;display:flex}.crumb-menu a:hover{background:var(--sunk)}.crumb-menu .current{color:var(--accent);font-weight:700}.chip-row{gap:var(--s2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.chip-row.pick{gap:var(--s2) var(--s2);margin:var(--s2) 0}.chip-row.pick button[aria-pressed=true]:before{content:"✓";margin-right:var(--s1)}.input.narrow{width:4.5rem}.levels .level-name{margin-left:var(--s2);color:var(--grey);font:var(--label-weight) var(--t-micro)/1 var(--font);letter-spacing:var(--label-track);text-transform:var(--label-transform);white-space:nowrap}.rubric-levels{gap:var(--s2);margin:var(--s2) 0 var(--s3) var(--s5);padding-left:var(--s3);border-left:1px solid var(--line);flex-direction:column;display:flex}.rubric-step{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.rubric-step .input{flex:10rem;min-width:8rem}.rubric-step .input.narrow{flex:0 0 5rem;min-width:0}.data-table-bar{align-items:center;gap:var(--s2);margin-bottom:var(--s3);flex-wrap:wrap;display:flex}.data-table-bar .input{flex:0 22rem;min-width:14rem}.data-table-count{margin-left:0}.table th.sel-col,.table td.sel-col,.data-table th.sel-col,.data-table td.sel-col{white-space:nowrap;width:1px;padding-right:var(--s2);text-align:left}.sel-col input{cursor:pointer;vertical-align:middle;margin:0}tr.picked>td{background:var(--sunk)}tr.picked>td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.sel-lead{align-items:center;gap:var(--s2);white-space:nowrap;font-size:var(--t-small);display:inline-flex}.sel-lead .count-lead{color:var(--faint)}.sel-lead.some .count-lead{color:var(--ink);font-weight:600}.filter-bar{align-items:center;gap:var(--s2);margin-bottom:var(--s3);flex-wrap:wrap;display:flex}.filter-bar .lead{color:var(--grey);white-space:nowrap}.filter-bar .spacer{margin-left:auto}.filter-bar .btn.sm,.filter-bar .input{min-height:2.25rem}.filter-bar .input{flex:0 auto;width:auto}.th-sort{align-items:baseline;gap:var(--s1);font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer;background:0 0;border:0;margin:0;padding:0;display:inline-flex}.th-sort:hover,.th-sort.on{color:var(--ink)}.th-arrow{color:var(--faint);font-size:var(--t-micro)}.th-sort.on .th-arrow{color:var(--accent)}th.n .th-sort{justify-content:flex-end}.data-table-empty{padding:var(--s4) var(--s3)}.admin-body{--row-y:var(--s2)}.admin-body td{white-space:nowrap}.admin-body .who{align-items:baseline;gap:var(--s2);min-width:0;line-height:1.3;display:flex}.admin-body .who .cohort-name{flex:0 auto;min-width:0}.admin-body .who small{min-width:0;font-size:var(--t-micro);text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.admin-body table{width:auto;min-width:100%}.admin-body col:first-child{width:32rem}@media (max-width:60rem){.col-secondary{display:none}}.head-actions{min-height:var(--control-h);margin-top:var(--s5);gap:var(--s3);flex-wrap:wrap}.admin-body .head-actions{margin-bottom:var(--s5)}.head-actions .control-group{align-items:center;gap:var(--s2);display:flex}.head-actions .control-group+.control-group{margin-left:var(--s4)}.push-right{align-items:center;gap:var(--s2);margin-left:auto;display:inline-flex}.lbl-inline{align-items:center;gap:var(--s2);display:inline-flex}.people-filters .btn.sm,.head-actions .btn.sm,.head-actions .btn,.data-table-bar .btn.sm,.people-filters .input,.head-actions .input,.data-table-bar .input{min-height:2.25rem}.head-actions .btn,.head-actions .btn.sm{align-items:center;display:inline-flex}.head-actions .input{flex:0 auto;width:auto}.head-actions input[type=search]{flex:0 20rem;min-width:12rem}.head-actions select.input{max-width:26rem}.panel-form{--form-gap:var(--s4);--form-pad:var(--s5);margin-block:var(--s4);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.panel-form>header{align-items:baseline;gap:var(--s3);padding:var(--form-pad) var(--form-pad) 0;flex-wrap:wrap;display:flex}.panel-form>header h2,.panel-form>header h3{font:var(--title-weight) var(--t-sub)/1.2 var(--font);letter-spacing:var(--title-track);margin:0}.panel-form>header .hint{flex:1 0 100%;margin:0}.panel-form>.body{gap:var(--form-gap);padding:var(--form-pad);flex-direction:column;display:flex}.panel-form>.body.settings-grid{gap:var(--s3) var(--s5);grid-template-columns:repeat(auto-fit,minmax(13rem,22rem));align-items:start;display:grid}.panel-form>footer{align-items:center;gap:var(--s2);padding:var(--s3) var(--form-pad);border-top:1px solid var(--line);background:var(--sunk);border-radius:0 0 var(--radius) var(--radius);flex-wrap:wrap;display:flex}.panel-form>footer .spacer{flex:1}.calendar-share>summary{cursor:pointer;padding:var(--s3) var(--form-pad);font-weight:600;list-style:none}.calendar-share>summary::-webkit-details-marker{display:none}.calendar-share>summary:after{content:" +";color:var(--faint)}.calendar-share[open]>summary:after{content:" −"}.calendar-share-head{justify-content:space-between;align-items:start;gap:var(--s3);display:flex}.calendar-share-head p{margin:var(--s1) 0 0}.calendar-share-list{border-block:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));display:grid}.calendar-share-item{align-items:start;gap:var(--s2);padding:var(--s2);display:flex}.calendar-share-item span{gap:var(--s1);flex-direction:column;min-width:0;display:flex}.calendar-share-item small{color:var(--faint)}.calendar-share-tutors{gap:var(--s2);grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));display:grid}.field{gap:var(--s2);flex-direction:column;min-width:0;display:flex}.field+.field{margin-top:var(--s4)}.field+.hint{margin-top:var(--s1)}.hint+.field{margin-top:var(--s4)}.field>label,.field>.lbl,.field>span{font:var(--label-weight) var(--t-micro)/1 var(--font);letter-spacing:var(--label-track);text-transform:var(--label-transform);color:var(--grey)}.field>label .req{color:var(--signal);margin-left:var(--s1)}.textarea.tall,textarea.input.tall{resize:vertical;min-height:14rem}.removable{padding:var(--s2) 0;align-items:start}.removable .badge{margin-left:var(--s2)}.removable+.removable{border-top:1px solid var(--line)}.removable.empty{color:var(--faint)}.chips{gap:var(--s2);flex-wrap:wrap;display:flex}.chip{font:var(--label-weight) var(--t-micro)/1 var(--font-mono);padding:var(--s1) var(--s2);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--grey);cursor:pointer}.chip:hover{border-color:var(--faint);color:var(--ink)}.chip.on{border-color:var(--accent);color:var(--accent)}.months{gap:var(--s2);height:8rem;margin:var(--s4) 0 0;grid-template-columns:repeat(12,1fr);align-items:end;display:grid}.month{flex-direction:column;justify-content:end;align-items:center;height:100%;display:flex}.month .bar{background:var(--accent);border-radius:var(--radius-sm) var(--radius-sm) 0 0;width:100%}.month{border-bottom:1px solid var(--line)}.month .lbl{margin-top:var(--s1)}.month .detail{font-size:var(--t-micro);font-variant-numeric:tabular-nums}.histogram{grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:2px}.histogram .month.below .bar{background:var(--faint)}.histogram .lbl{font-size:var(--t-micro)}.when{white-space:nowrap;color:var(--grey);font-size:var(--t-small);font-variant-numeric:tabular-nums}.when b{color:var(--ink);display:block}.note-private{color:var(--warn)}.struck{color:var(--grey);text-decoration:line-through}.reasons{padding-left:var(--s4);margin:0}.reasons li{font-size:var(--t-small);color:var(--grey);line-height:1.7}.preview-subject{padding:var(--s2) var(--s3);background:var(--sunk);border-radius:var(--radius-sm);font-size:var(--t-small);color:var(--ink);margin:0}.template-body{margin:var(--s3) 0 0;padding:var(--s3);background:var(--sunk);border-radius:var(--radius-sm);font:var(--t-small)/1.6 var(--font-mono);color:var(--grey);white-space:pre-wrap;word-break:break-word;max-height:12rem;overflow-y:auto}.input.narrow{max-width:12ch}.input.medium{max-width:32ch}.field>.help{color:var(--grey);font-size:var(--t-small);margin:0;line-height:1.5}.field>.bad{color:var(--danger);font-size:var(--t-small);margin:0}.field:has(>.bad) .input{border-color:var(--danger)}.field-row{gap:var(--form-gap);grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));display:grid}.field.wide{grid-column:1/-1}.field-group{gap:var(--form-gap);padding-top:var(--s4);border-top:1px solid var(--line);flex-direction:column;display:flex}.field-group>.lbl{font:var(--label-weight) var(--t-micro)/1 var(--font);letter-spacing:var(--label-track);text-transform:var(--label-transform);color:var(--faint)}.field-check{align-items:flex-start;gap:var(--s3);font-size:var(--t-small);line-height:1.5;display:flex}.field-check input{flex:none;margin-top:.15em}.field-check .help{color:var(--grey);display:block}.admin-body .panel-form{--form-gap:var(--s3);--form-pad:var(--s4)}.admin-body .field-row{gap:var(--s3) var(--s4)}dialog.panel-form{width:min(34rem,100vw - 2rem);color:var(--ink);margin:auto;padding:0}dialog.panel-form::backdrop{background:var(--scrim)}dialog.panel-form.roomy{width:min(52rem,100vw - 2rem)}.panel-form .consequence{padding:var(--s3) var(--s4);background:var(--sunk);border-left:2px solid var(--danger);font-size:var(--t-small);line-height:1.55}.panel-form .consequence b{color:var(--ink)}.seg{border:1px solid var(--line);border-radius:var(--radius-control);display:inline-flex;overflow:hidden}.seg>button{background:var(--surface);color:var(--grey);font:500 var(--t-small)/1 var(--font);padding:var(--s2) var(--s3);cursor:pointer;border:0;border-right:1px solid var(--line)}.seg>button:last-child{border-right:0}.seg>button:hover{background:var(--sunk)}.seg>button.on{background:var(--accent);color:var(--on-accent);font-weight:600}.seg>button:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.blank{padding:var(--s6) var(--s4);text-align:center;color:var(--faint);border:1px dashed var(--line);font-size:var(--t-small)}.blank b{color:var(--grey);font-weight:500;font-size:var(--t-body);margin-bottom:var(--s2);display:block}.skel{background:linear-gradient(90deg, var(--sunk) 25%, var(--line) 50%, var(--sunk) 75%);background-size:200% 100%;height:.75rem;animation:1.4s ease-in-out infinite skel-sweep}@keyframes skel-sweep{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skel{background:var(--sunk);animation:none}}.stepper{align-items:center;gap:var(--s2);font-size:var(--t-small);color:var(--grey);display:inline-flex}.stepper .n{font-family:var(--font-num);font-variant-numeric:tabular-nums;color:var(--ink);font-weight:500}[data-skin=interval-2] .head-actions{gap:var(--s5)}[data-skin=interval-2] .head-actions .btn{padding:var(--s2) 0 calc(var(--s2) + 2px);color:var(--grey);background:0 0;border:0;border-radius:0;min-height:0;font-weight:500}[data-skin=interval-2] .head-actions .btn:hover{color:var(--ink);background:0 0}[data-skin=interval-2] .head-actions .btn.primary{color:var(--ink);box-shadow:inset 0 -2px 0 var(--ink);font-weight:700}[data-skin=interval-2] .head-actions .btn:focus-visible{box-shadow:inset 0 -3px 0 var(--accent);outline:none}[data-skin=interval-2] .head-actions .btn.primary:focus-visible{box-shadow:inset 0 -3px 0 var(--ink)}[data-skin=interval-2] .seg{border:0;border-bottom:1px solid var(--line);gap:var(--s4);border-radius:0;overflow:visible}[data-skin=interval-2] .seg button{color:var(--grey);padding:var(--s2) 0 calc(var(--s2) + 2px);background:0 0;border:0;font-weight:500}[data-skin=interval-2] .seg button:hover{color:var(--ink);background:0 0}[data-skin=interval-2] .seg button.on{color:var(--ink);box-shadow:inset 0 -2px 0 var(--ink);background:0 0;font-weight:700}[data-skin=interval-2] .editor-bar .chip{border-radius:var(--radius-badge);font:var(--label-weight) var(--t-micro)/1.5 var(--font);letter-spacing:var(--label-track);text-transform:var(--label-transform);border-color:var(--line);color:var(--grey);background:var(--surface);padding:.125rem .5rem}[data-skin=interval-2] .editor-bar .chip:hover{background:var(--sunk);color:var(--ink);border-color:var(--grey)}[data-skin=interval-2] .editor-bar .chip,.editor-bar .chip{background:var(--info-soft);border:1px solid var(--info);color:var(--info);border-radius:var(--radius-badge);font-weight:600;font-size:var(--t-small);letter-spacing:0;text-transform:none;cursor:grab;padding:.125rem .5rem}[data-skin=interval-2] .editor-bar .chip:hover,.editor-bar .chip:hover{background:var(--info);color:var(--on-accent,#fff);border-color:var(--info)}.editor-bar .chip:active{cursor:grabbing}.editor-bar .chip.dragging{opacity:.5}.subject-field{min-height:var(--control-h,2.25rem);padding:var(--s1) var(--s2);white-space:nowrap;line-height:1.6;display:block;overflow:auto hidden}.subject-field:empty:before{content:attr(data-placeholder);color:var(--faint)}.subject-field .token{-webkit-user-select:all;user-select:all;cursor:grab}.subject-field .token.empty:not(:empty):after{content:none}.drop-ready{box-shadow:inset 0 0 0 1px var(--info)}.drop-over{box-shadow:inset 0 0 0 2px var(--info);background:var(--info-soft)}.subject-field,.editor-body{position:relative}.badge-drop-insert:after{content:"";pointer-events:none;z-index:4;left:var(--badge-drop-x);top:var(--badge-drop-y);width:2px;height:var(--badge-drop-height);background:var(--accent);box-shadow:0 0 0 1px var(--surface);border-radius:1px;position:absolute}.token.dragging{opacity:.45;cursor:grabbing}.token.replace-target,.drop-over .token:hover{color:var(--on-accent,#fff);background:var(--accent);border-color:var(--accent);outline:2px solid var(--accent-soft);outline-offset:2px}.iact{border-radius:var(--radius-control);background:0 0;border:0;flex:none;justify-content:center;align-items:center;width:1.6rem;height:1.6rem;padding:0;display:inline-flex}.iact svg{width:1.05rem;height:1.05rem}.iact svg *{fill:currentColor;stroke:none}.iact-on{color:var(--ok)}.iact-off{color:var(--grey);opacity:.45}.iact[data-kind=pub].iact-on{color:var(--ink)}.iact+.iact{margin-left:.15rem}td.state{white-space:nowrap}.iact:not(:disabled){cursor:pointer}.iact:not(:disabled):hover{background:var(--sunk);color:var(--ink)}.iact:disabled{cursor:default}.ident{background:var(--ink);color:var(--bg);font-size:var(--t-small);flex-wrap:wrap;align-items:center;gap:0;display:flex}.ident>span{padding:var(--s3) var(--s4);flex:none}.ident .legi{font-family:var(--font-num);color:inherit;opacity:.75}.ident .nm{font-weight:600}.ident .spacer{flex:1;padding:0}.ident .state{font:var(--label-weight) var(--t-micro)/1 var(--font);letter-spacing:var(--label-track);text-transform:uppercase}.sym{text-align:center;min-width:1.1rem;font:400 var(--t-body)/1 var(--font);color:var(--ink);display:inline-block}.critrow{gap:var(--s3);padding:var(--s2) 0;border-bottom:1px solid var(--line);grid-template-columns:1.4rem minmax(0,1.5fr) auto minmax(0,1fr);align-items:center;display:grid}.critrow:last-child{border-bottom:0}.critrow.depth{--depth:0;padding-left:calc(var(--depth) * var(--s5))}.critrow.group-row .name{font-weight:600}.critrow.group-row .rub{font-variant-numeric:tabular-nums;font-weight:600}.critrow.group-row .sym{color:var(--accent)}.critrow.group-row{border-bottom-color:var(--faint);box-shadow:inset 2px 0 0 var(--accent)}.critrow.nested:not(.group-row){box-shadow:inset 1px 0 0 var(--line)}.critrow .share{font-variant-numeric:tabular-nums;font-size:var(--t-small);color:var(--ink);white-space:nowrap;text-align:right}.critrow.group-row .share{font-weight:600}.critrow.crit-head{font:var(--label-weight) var(--t-micro)/1 var(--font);letter-spacing:var(--label-track);text-transform:var(--label-transform);color:var(--faint);padding-bottom:var(--s2)}.critrow.crit-head .rub,.critrow.crit-head .share{font-weight:inherit}.critrow .share .hint{font-size:var(--t-micro)}.crit-total{gap:var(--s3);padding:var(--s3) 0 var(--s1);border-top:2px solid var(--ink);grid-template-columns:1.4rem minmax(0,1.5fr) auto minmax(0,1fr);align-items:center;font-weight:600;display:grid}.crit-total .rub{font-variant-numeric:tabular-nums}.critrow .name{font-weight:var(--name-weight)}.critrow .levels{justify-self:start}.critrow .note{font:inherit;font-size:var(--t-small);color:var(--ink);padding:var(--s1) 0;background:0 0;border:0;border-bottom:1px solid #0000;width:100%}.critrow .note::placeholder{color:var(--faint)}.critrow .note:hover{border-bottom-color:var(--line)}.critrow .note:focus-visible{border-bottom-color:var(--accent);outline:0}.critband{gap:var(--s3);padding-bottom:var(--s2);border-bottom:var(--head-rule);font:var(--label-weight) var(--t-micro)/1.4 var(--font);letter-spacing:var(--label-track);text-transform:uppercase;color:var(--grey);grid-template-columns:1.4rem minmax(0,1fr) auto minmax(14rem,1.1fr);align-items:end;display:grid}.subfold{cursor:pointer;color:inherit;font:inherit;text-align:left;background:0 0;border:0;align-items:baseline;gap:.35rem;padding:0;display:inline-flex}.subfold:hover{color:var(--accent)}.subfold .caret{color:var(--grey);font-size:.8em}.critrow.parent{border-top:1px solid var(--line);padding-top:var(--s3)}.critrow.parent .name{font-weight:600}.critrow.parent .tally{font-family:var(--font-num);color:var(--grey)}.critrow.parent .tally .of{color:var(--faint);font-size:var(--t-small)}.of{color:var(--faint)}.critrow.sub .sym{padding-left:var(--s5);color:var(--faint)}.critrow.sub[hidden]{display:none}.tickbox{cursor:pointer;border:1px solid var(--grey);background:var(--surface);border-radius:var(--radius-control);color:#0000;width:1.15rem;height:1.15rem;font:700 .8rem/1 var(--font);padding:0}.tickbox:hover{border-color:var(--ink)}.tickbox.on{background:var(--ok);border-color:var(--ok);color:#fff}.tickbox:disabled{cursor:default;opacity:.6}.pick{cursor:pointer;font:600 var(--t-small)/1.5 var(--font-num);font-variant-numeric:tabular-nums;color:var(--ink);padding:var(--s1) var(--s2);border-radius:var(--radius-control);text-align:center;background:0 0;border:1px solid #0000}.pick:hover{border-color:var(--line)}.pick:focus-visible{border-color:var(--accent);background:var(--surface);outline:0}.pick.zero{color:var(--faint);font-weight:400}.run{height:1.15rem;margin:0 var(--s4);flex:1;min-width:6rem;position:relative}.run:before{content:"";background:var(--line);border-radius:1px;height:2px;margin-top:-1px;position:absolute;top:50%;left:0;right:0}.run-fill{background:var(--grey);border-radius:1px;height:2px;margin-top:-1px;position:absolute;top:50%;left:0}.run i{background:var(--line);width:1px;height:5px;margin-top:-2.5px;position:absolute;top:50%}.run-now{background:var(--ink);border-radius:1px;width:2px;height:11px;margin-top:-5.5px;position:absolute;top:50%}.area+.area{margin-top:var(--s5);padding-top:var(--s5);border-top:1px solid var(--line)}.area-head{align-items:baseline;gap:var(--s3);margin-bottom:var(--s3);display:flex}.area-head h3{font:var(--label-weight) var(--t-micro)/1.4 var(--font);letter-spacing:var(--label-track);text-transform:var(--label-transform);color:var(--grey);margin:0}.area-head .spacer{flex:1}.area-head .tally{font-size:var(--t-small);color:var(--grey);font-family:var(--font-num);font-variant-numeric:tabular-nums}.area-split{gap:var(--s5);grid-template-columns:1fr 20rem;align-items:start;display:grid}@media (max-width:64rem){.area-split{grid-template-columns:1fr}}.radar{aspect-ratio:320/210;width:100%;max-width:22rem;margin:0 auto;display:block}.radar .ring{fill:none;stroke:var(--line)}.radar .spoke{stroke:var(--line)}.radar .area{fill:var(--accent-soft);stroke:var(--accent);stroke-width:1.5px}.radar .pt{fill:var(--accent)}.rlbl{fill:var(--faint);font-size:9px}.barrow{align-items:baseline;gap:.2rem var(--s2);padding:var(--s2) 0;font-size:var(--t-small);grid-template-columns:1fr auto;display:grid}.barrow .meter{grid-column:1/-1}.bname{color:var(--grey);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.meter{background:var(--sunk);border-radius:var(--radius-full);height:.6rem;position:relative;overflow:visible}.meter i{background:var(--accent);border-radius:inherit;height:100%;display:block}.meter em{background:var(--ink);border-radius:1px;width:2px;position:absolute;top:-3px;bottom:-3px}.bval{text-align:right;color:var(--grey);font-family:var(--font-num)}.numrow{gap:var(--s3);padding:var(--s2) 0;border-bottom:1px solid var(--line);font-size:var(--t-small);grid-template-columns:minmax(0,1fr) auto auto;display:grid}.numrow span:not(:first-child){text-align:right}.numrow.total{border-bottom:0;border-top:2px solid var(--ink)}.oneat .readouts .head-solid{row-gap:var(--s2);flex-wrap:wrap}.oneat .readouts .head-solid .seg{flex:1 0 100%;min-width:0}.oneat .readouts .head-solid .seg button{min-width:0;font-size:var(--t-micro);text-overflow:ellipsis;white-space:nowrap;color:color-mix(in srgb, var(--head-solid-fg) 65%, transparent);flex:auto;padding-left:.2rem;padding-right:.2rem;overflow:hidden}.oneat .readouts .head-solid .seg button.on{color:var(--head-solid-fg);box-shadow:inset 0 -2px 0 var(--head-solid-fg)}.oneat .readouts .head-solid .seg button:hover{color:var(--head-solid-fg)}.oneat .critrow,.oneat .critband{column-gap:var(--s6);grid-template-columns:1.4rem minmax(0,2fr) 5.5rem minmax(0,.85fr)}.oneat .critrow>.tickbox,.oneat .critrow>.pick,.oneat .critrow>.levels,.oneat .critrow>.tally{justify-self:stretch;width:100%;min-width:0}.oneat .critrow>.pick,.oneat .critrow>.tally{text-align:right}.oneat .critrow>.levels{justify-content:flex-end}.oneat .critrow>.tickbox{flex:none;justify-self:end;width:1.15rem;height:1.15rem}.oneat .critband>span:nth-child(3){text-align:right}.oneat .critrow.parent>:first-child{grid-column:1/3}.spread{min-width:8rem;height:1.25rem;position:relative}.spread .axis{background:var(--line);height:1px;position:absolute;inset:50% 0 auto}.spread .band{background:var(--sunk);position:absolute;top:35%;bottom:35%}.spread .me{background:var(--ink);width:2px;position:absolute;top:15%;bottom:15%}.spread .avg{background:var(--grey);width:1px;position:absolute;top:30%;bottom:30%}.table tr.gone td{color:var(--faint)}.table tr.gone td.when b{color:var(--grey)}.head-solid .qualifier{font:400 var(--t-micro)/1.4 var(--font);letter-spacing:0;text-transform:none;color:color-mix(in srgb, var(--head-solid-fg) 70%, transparent)}.picklist{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);max-height:18rem;overflow-y:auto}.pick-row{align-items:center;gap:var(--s3);padding:var(--s2) var(--s3);border-bottom:1px solid var(--line);font-size:var(--t-small);cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;display:grid}.pick-row:last-child{border-bottom:0}.pick-row:hover{background:var(--sunk)}.pick-row .hint{text-align:right;white-space:nowrap}.tag{border-radius:var(--radius-control);width:1.1rem;height:1.1rem;font:700 .7rem/1 var(--font);cursor:default;flex:none;justify-content:center;align-items:center;display:inline-flex}.tag-ok{background:var(--ok-soft);color:var(--ok)}.tag-warn{background:var(--warn-soft);color:var(--warn)}.tag-dot{background:var(--sunk);color:var(--grey)}.waiting{gap:var(--s2);flex-direction:column;display:flex}.wait-row{align-items:baseline;gap:var(--s3);padding:var(--s2) 0;border-bottom:1px solid var(--line);display:flex}.wait-row:last-child{border-bottom:0}.wait-row .n{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-weight:700;font-size:var(--t-lead);text-align:right;min-width:2.5rem}.wait-row .what{flex:1}.wait-row .what small{color:var(--grey);font-size:var(--t-small);display:block}.wait-row.urgent .n{color:var(--danger)}.wait-row.soon .n{color:var(--warn)}.subrow{align-items:center;gap:var(--s5);padding:var(--s3) 0;margin-bottom:var(--s4);border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.subrow .axis{align-items:center;gap:var(--s2);display:flex}.subrow .axis>.lbl{margin:0}.subrow .spacer{flex:1}.rag-round-control{align-items:flex-end;gap:var(--s1);flex-direction:column;display:inline-flex}.rag-toolbar-status{align-items:center;gap:var(--s2);min-width:0;display:inline-flex}.rag-toolbar-status>.hint,.rag-toolbar-status>.bad{white-space:normal;max-width:28rem}.rag-local-error{margin:0 0 var(--s3)}.badge.running:before{content:"↻";animation:1.2s linear infinite rag-status-spin;display:inline-block}@keyframes rag-status-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.badge.running:before{animation:none}}.gtable thead th{z-index:3;background:var(--bg);position:sticky;top:0}.gtable td.who,.gtable th.c-student,.gtable thead th:first-child,.gtable tbody td:first-child{z-index:2;background:var(--sticky-bg);border-right:1px solid var(--line);position:sticky;left:0}.gtable thead th:first-child{z-index:4;background:var(--bg)}.table.assignments th:not(:first-child),.table.assignments td:not(.prose){text-align:center}.table.assignments td.state{white-space:nowrap;text-align:center}.table.assignments td.state .iact+.iact{margin-left:.15rem}.table.students th:not(:first-child),.table.students td:not(.prose){text-align:center}.table.students tr.foot td{border-top:2px solid var(--ink);color:var(--grey)}.table.students tr.foot td.final{color:var(--ink)}.facts.sm{gap:var(--s5);border-top:0;margin-top:0;padding-top:0}.facts.sm .fact b{font-size:var(--t-micro)}.facts.sm .fact span{font-size:var(--t-body)}.screen-head .head-actions:has(.facts.sm){margin-top:var(--s4)}.head-actions .seg{border-bottom:0}.grouptable+.grouptable{margin-top:var(--s6)}.grouptable h3.lbl{margin:0 0 var(--s4);font:var(--label-weight) var(--t-micro)/1 var(--font);letter-spacing:var(--label-track);text-transform:var(--label-transform);color:var(--grey)}.solid{--t-body:1rem;--t-small:.875rem;--t-micro:.75rem;--label-weight:700;--label-track:.05em;font-size:var(--t-body)}.solid>.head-solid{font-size:.8125rem}.solid .notice{padding:.85rem 1.25rem}.console-body{padding:var(--solid-pad,var(--s4))}.head-solid .qualifier{letter-spacing:0;text-transform:none;opacity:.72;font-weight:400}.notice.info{border-color:var(--info);background:var(--info-soft);color:var(--info-ink)}:root[data-mode=dark] .notice.info{color:color-mix(in srgb, var(--info) 70%, white)}.notice.ok{border-color:var(--ok);background:var(--ok-soft)}.notice.warn{border-color:var(--warn);background:var(--warn-soft)}.notice.danger{border-color:var(--danger);background:var(--danger-soft)}.grid-frame{--row-y:var(--s1);background:var(--surface);max-height:68vh;position:relative;overflow:auto}.grid-wrap:has(.gridtable){overflow:visible}.grid-frame:has(.gridtable){max-height:none;overflow:clip visible}.grid-frame:has(.gridtable)[data-scrolls]{overflow-x:auto}.gridtable{--tpl:none;grid-template-columns:var(--tpl);transition:grid-template-columns var(--unfold-t,.22s) var(--unfold-e,ease);width:fit-content(100%);min-width:100%;display:grid}@media (prefers-reduced-motion:reduce){.gridtable{transition:none}}.grow{display:contents}.gc{white-space:nowrap;min-width:0;padding:var(--row-y,var(--s1)) var(--s2);border-top:var(--sep,1px solid var(--line));font-size:var(--t-body);justify-content:center;align-items:center;display:flex;overflow:hidden}.gc.gpart{transition:padding var(--unfold-t,.22s) var(--unfold-e,ease)}.gc.gpart>*{transition:opacity var(--unfold-t,.22s) var(--unfold-e,ease)}.gc.gwho{justify-content:flex-start;gap:0}.gc.gwho b{font-weight:var(--name-weight,600)}.gc.gtotal{justify-content:flex-end;font-weight:600}.gc.gchev{color:var(--grey)}.ghead .gc,.bandrow .gc{padding-bottom:var(--s2);font:var(--label-weight) var(--t-micro)/1.3 var(--font);letter-spacing:var(--label-track);text-transform:var(--label-transform);color:var(--grey);border-top:0;align-items:flex-end}.ghead .gc{border-bottom:2px solid var(--ink)}.ghead .gc.gpart,.ghead .gc.gparent{flex-direction:column;align-items:center;gap:.1rem}.ghead .pname{text-overflow:ellipsis;max-width:100%;overflow:hidden}.ghead .worth,.bandrow .worth{font-family:var(--font-num);font-size:var(--t-micro);letter-spacing:0;text-transform:none;color:var(--faint);font-weight:400}.st{width:.5rem;height:.5rem;margin-right:var(--s2);border-radius:var(--radius-full);vertical-align:baseline;flex:none;display:inline-block}.st-done{background:var(--ok)}.st-here,.st-part{background:var(--warn)}.st-none{box-shadow:inset 0 0 0 1px var(--line);background:0 0}.mk{color:var(--grey);font-size:var(--t-small);align-items:baseline;gap:.15rem;display:inline-flex}.mk .ct{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:var(--t-micro);color:var(--faint)}.unfold{cursor:pointer;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;background:0 0;border:0;align-items:baseline;gap:.3rem;padding:0;display:inline-flex}.unfold .caret{color:var(--grey);font-size:.8em}.unfold[aria-expanded=true] .caret,.unfold:hover,.bandfold:hover,.unfold:hover .caret,.bandfold:hover .caret{color:var(--accent)}.gc.gpart[data-open=false]{padding-left:0;padding-right:0}.gc.gpart[data-open=false]>*{opacity:0}.bandrow .gband{--span:1;grid-column:span var(--span,1);transition:border-bottom-color var(--unfold-t,.22s) var(--unfold-e,ease);border-bottom:1px solid #0000}.bandrow .gband .bandname{margin-right:var(--s2)}.bandrow .gband>*{opacity:0;transition:transform var(--unfold-t,.22s) var(--unfold-e,ease), opacity var(--unfold-t,.22s) var(--unfold-e,ease);transform:translateY(1.6rem)}.bandrow .gband[data-open=true]{border-bottom-color:var(--line)}.bandrow .gband[data-open=true]>*{opacity:1;transform:none}.gc.gparent{transition:color var(--unfold-t,.22s) var(--unfold-e,ease)}.gc.gparent[data-open=true]{color:var(--grey)}.ghead .gc.gparent[data-open=true] .uname{display:none}.bandrow .gc{padding-top:0;padding-bottom:var(--s2);background:var(--bg);height:1.9rem}.ghead .gc.gpart .pname{text-transform:none;letter-spacing:0;color:var(--grey);text-align:center;width:100%;font-weight:500}.gc.gpart select,.gc.gpart input{width:100%;min-width:0}.gc.gpart .levels{justify-content:center}.grid-frame[data-scrolls] .gc.gwho{z-index:2;background:var(--bg);will-change:transform;position:sticky;left:0}.gc.gwho .hint{text-overflow:ellipsis;overflow:hidden}.grid-frame[data-scrolls] .gc.gtotal,.grid-frame[data-scrolls] .gc.gchev{z-index:2;background:var(--bg);will-change:transform;position:sticky}.grid-frame[data-scrolls] .gc.gtotal{right:3rem}.grid-frame[data-scrolls] .gc.gchev{right:0}.grid-frame[data-scrolls] .gc.gfb{z-index:2;background:var(--bg);will-change:transform;position:sticky}.grid-frame[data-scrolls] .ghead .gc.gfb:nth-last-of-type(3),.grid-frame[data-scrolls] .grow .gc.gfb:nth-last-of-type(3){right:8rem}.grid-frame[data-scrolls] .ghead .gc.gfb:nth-last-of-type(4),.grid-frame[data-scrolls] .grow .gc.gfb:nth-last-of-type(4){right:11.5rem}.grid-frame[data-scrolls] .ghead .gc.gfb{z-index:4}.gridtable .grow:not(.ghead):not(.bandrow):hover>.gc.gfb{background:var(--sunk)}.grid-frame[data-scrolls] .ghead .gc.gwho,.grid-frame[data-scrolls] .ghead .gc.gtotal,.grid-frame[data-scrolls] .ghead .gc.gchev,.grid-frame[data-scrolls] .bandrow .gc.gwho{z-index:4}.gridtable .grow:not(.ghead):not(.bandrow):hover>.gc{background:var(--sunk)}.gridtable .ghead>.gc.gparent,.gridtable .bandrow>.gc.gband{cursor:pointer}.gridtable .grow:not(.ghead):not(.bandrow):hover>.gc.gwho,.gridtable .grow:not(.ghead):not(.bandrow):hover>.gc.gtotal,.gridtable .grow:not(.ghead):not(.bandrow):hover>.gc.gchev{background:var(--sunk)}.gc.gfb{color:var(--grey)}.gc.gtail{border:0}.bandfold{cursor:pointer;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;background:0 0;border:0;align-items:baseline;gap:.3rem;padding:0;display:inline-flex}.bandfold .caret{color:var(--grey);font-size:.8em}.file{align-items:center;gap:var(--s3);padding:var(--s2) var(--s3);border:1px solid var(--line);background:var(--surface);margin-bottom:var(--s2);border-radius:var(--radius-sm);display:flex}.file .nm{font-family:var(--font-mono);font-size:var(--t-small)}.file .sz{font-family:var(--font-num);font-size:var(--t-small);color:var(--grey);font-variant-numeric:tabular-nums}.file .spacer{flex:1}.file.bad{border-color:var(--danger);background:var(--danger-soft)}.file.bad .nm{color:var(--danger)}.col-run{gap:var(--s5);grid-template-columns:minmax(0,1fr) 20rem;align-items:start;display:grid}@media (max-width:66rem){.col-run{grid-template-columns:1fr}}.runner{border:1px solid var(--line);background:var(--surface)}.runner-row{align-items:center;gap:var(--s3);padding:var(--s2) var(--s3);border-bottom:1px solid var(--line);display:flex}.runner-row:last-child{border-bottom:0}.runner-row .nm{flex:1}.runner-row .legi{color:var(--faint);font-family:var(--font-num);font-size:var(--t-small)}.runner-row.here{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.runner-row.gone{color:var(--faint)}.scale{gap:2px;display:inline-flex}.scale button{border:1px solid var(--line);background:var(--surface);min-width:2.25rem;color:var(--grey);font:600 var(--t-small)/1 var(--font-num);padding:var(--s2) 0;cursor:pointer}.scale button:hover{background:var(--sunk);color:var(--ink)}.scale button.on{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.scale .tickbox{width:1.15rem;min-width:0;height:1.15rem;font:700 .8rem/1 var(--font);padding:0}.scale .tickbox.on{background:var(--ok);border-color:var(--ok);color:#fff}.dist{align-items:stretch;gap:2px;height:4rem;display:flex}.dist .b{background:var(--sunk);flex:1;align-items:flex-end;height:100%;display:flex}.dist .b i{background:var(--accent);width:100%;min-height:1px;font-style:normal;display:block}.dist .b.mine i{background:var(--warn)}.dist-x{margin-top:var(--s1);gap:2px;display:flex}.dist-x span{text-align:center;font:var(--label-weight) var(--t-micro)/1 var(--font-num);color:var(--faint);flex:1}.steps{flex-direction:column;display:flex}.step{align-items:baseline;gap:var(--s3);padding:var(--s2) 0;border-bottom:1px solid var(--line);font-size:var(--t-small);display:flex}.step:last-child{border-bottom:0}.step .what{white-space:nowrap;flex:none}.step .det{min-width:0;color:var(--grey);font-family:var(--font-mono);font-size:var(--t-micro);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.step .val{font-family:var(--font-num);font-variant-numeric:tabular-nums;text-align:right;min-width:4.5rem}.step.final{border-top:var(--head-rule);padding-top:var(--s3);border-bottom:0}.step.final .what{font-weight:700}.step.final .val{font-weight:700;font-size:var(--t-lead)}.step.minus .val{color:var(--danger)}.crit-tip{--arrow-x:50%;z-index:60;background:var(--tooltip-bg);width:max-content;max-width:200px;color:var(--tooltip-fg);border-radius:var(--radius-float);pointer-events:none;gap:.1rem;padding:.25rem .5rem;animation:.12s ease-out crit-tip-in;display:grid;position:fixed}@media (prefers-reduced-motion:reduce){.crit-tip{animation:none}}.crit-tip:after{content:"";left:var(--arrow-x,50%);border:.4rem solid #0000;position:absolute;transform:translate(-50%)}.crit-tip:not([data-below=true]):after{border-top-color:var(--tooltip-bg);border-bottom-width:0;top:100%}.crit-tip[data-below=true]:after{border-bottom-color:var(--tooltip-bg);border-top-width:0;bottom:100%}@keyframes crit-tip-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.crit-tip[data-below=true]{animation-name:crit-tip-in-below}@keyframes crit-tip-in-below{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}.crit-tip[data-leaving=true]{animation:.11s ease-in forwards crit-tip-out}@keyframes crit-tip-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(2px)}}.crit-tip[data-leaving=true][data-below=true]{animation-name:crit-tip-out-below}@keyframes crit-tip-out-below{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(-2px)}}@media (prefers-reduced-motion:reduce){.crit-tip[data-leaving=true]{opacity:0;animation:none}}.crit-tip-title{font-size:.875rem;font-weight:600;line-height:1.35}.crit-tip-worth{font-family:var(--font-num);font-variant-numeric:tabular-nums;color:var(--tooltip-fg-dim);font-size:.875rem}.crit-tip-note{color:var(--tooltip-fg-dim);margin-top:.15rem;font-size:.875rem;line-height:1.4}.crit-tip-level b{font-family:var(--font-num);font-variant-numeric:tabular-nums;color:var(--ink);font-weight:500}.critrow.parent{grid-template-columns:minmax(0,1fr) auto minmax(14rem,1.1fr)}.critrow.parent .subfold{grid-column:1}.view[data-view=unione] .head-solid{row-gap:var(--s2);flex-wrap:wrap}.view[data-view=unione] .head-solid .seg{flex:1 0 100%;min-width:0}.view[data-view=unione] .head-solid .seg button{min-width:0;font-size:var(--t-micro);text-overflow:ellipsis;white-space:nowrap;flex:auto;padding-left:.2rem;padding-right:.2rem;overflow:hidden}.view[data-view=unione] .solid,.view[data-view=unione] .console-body{min-width:0}.radar{width:100%;height:auto;display:block}.view[data-view=unione] .critrow>.pick,.view[data-view=unione] .critrow>.levels{text-align:center;justify-self:center;min-width:4.5rem}.view[data-view=unione] .critband>span:nth-child(3){text-align:center}.head-solid .seg button{color:var(--on-accent);opacity:.55}.head-solid .seg button.on{color:var(--on-accent);opacity:1;font-weight:600}.head-solid .seg{border-bottom-color:color-mix(in srgb, var(--on-accent) 30%, transparent)}.head-solid .seg button.on{box-shadow:inset 0 -2px 0 var(--on-accent)}.view[data-view=unione] .critrow,.view[data-view=unione] .critband{column-gap:var(--s5);grid-template-columns:1.4rem minmax(0,2fr) auto minmax(0,.85fr)}.view[data-view=unione] .critrow.parent>:first-child{grid-column:1/3}.view[data-view=unione] .critrow,.view[data-view=unione] .critband,.view[data-view=unicol] .critrow,.view[data-view=unicol] .critband{column-gap:var(--s6);grid-template-columns:1.4rem minmax(0,2fr) 5.5rem minmax(0,.85fr)}.view[data-view=unione] .critrow>.pick,.view[data-view=unione] .critrow>.levels,.view[data-view=unione] .critrow>.tally,.view[data-view=unione] .critrow>.rag-cell,.view[data-view=unicol] .critrow>.pick,.view[data-view=unicol] .critrow>.rag-cell,.view[data-view=unicol] .critrow>.muted{justify-self:stretch;width:100%;min-width:0}.view[data-view=unione] .critrow>.tickbox{flex:none;justify-self:end;width:1.15rem;min-width:0;height:1.15rem}.view[data-view=unione] .critrow>.pick,.view[data-view=unicol] .critrow>.pick,.view[data-view=unicol] .critrow>.muted,.view[data-view=unione] .critrow>.tally{text-align:right}.view[data-view=unione] .critrow>.levels,.view[data-view=unione] .critrow>.rag-cell,.view[data-view=unicol] .critrow>.rag-cell{justify-content:flex-end}.progress-strip{height:.6rem;margin:var(--s2) 0 0;gap:1px;display:flex}.progress-strip span,.progress-strip button{background:var(--line);border:0;border-radius:1px;flex:1;min-width:2px;padding:0}.progress-strip button{cursor:pointer}.progress-strip button:hover{filter:brightness(.85)}.progress-strip button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.progress-strip .done{background:var(--ok)}.progress-strip .part{background:var(--ok);opacity:.45}.progress-strip .rag{background:var(--info);opacity:.65}.progress-strip .review{background:var(--warn);opacity:1}.progress-strip .withdrawn{background-image:repeating-linear-gradient(45deg, transparent 0 2px, var(--bg) 2px 4px);opacity:.8}.progress-strip .withdrawn:not(.done):not(.part){box-shadow:inset 0 0 0 1px var(--line)}@keyframes row-landed-tint{0%{background:var(--info-soft)}to{background:0 0}}@keyframes row-landed-ring{0%{box-shadow:inset 0 0 0 2px var(--info)}to{box-shadow:none}}tr.landed>td,.gridtable .grow.landed>.gc{animation:2.4s ease-out row-landed-tint}tr.landed{position:relative}tr.landed:after{content:"";pointer-events:none;animation:2.4s ease-out row-landed-ring;position:absolute;inset:0}.gridtable .grow.landed{animation:2.4s ease-out row-landed-ring}[data-role=tutor] .teacher-only{display:none!important}.pick.unset{color:var(--faint)}.seg>button{position:relative}.seg>button:after{content:attr(data-label);visibility:hidden;pointer-events:none;height:0;font-weight:700;display:block;overflow:hidden}.q{border:1px solid var(--line);background:var(--surface);margin-bottom:var(--s4)}.q-head{align-items:baseline;gap:var(--s3);padding:var(--s3) var(--s4);border-bottom:1px solid var(--line);background:var(--sunk);display:flex}.q-head .n{font-family:var(--font-num);font-weight:700;font-size:var(--t-small);color:var(--grey);min-width:1.5rem}.q-head .t{font-weight:600}.q-head .spacer{flex:1}.q-body{padding:var(--s4)}.q-body>p:first-child{margin-top:0}.q-body>p:last-child{margin-bottom:0}.code{font-family:var(--font-mono);font-size:var(--t-small);background:var(--sunk);border:1px solid var(--line);padding:var(--s3);white-space:pre;border-radius:var(--radius-sm);margin:0;line-height:1.6;overflow-x:auto}.code.answer{background:var(--surface);min-height:7rem}.python-inline{font:400 .95em/1.4 var(--font-mono);background:var(--sunk);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.08em .28em}.indent-mark{color:var(--grey);opacity:.42}.choices{gap:var(--s2);flex-direction:column;display:flex}.choice{align-items:flex-start;gap:var(--s3);padding:var(--s3);border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;background:var(--surface);display:flex}.choice:hover{background:var(--sunk)}.choice input{flex:none;margin:.15rem 0 0}.choice .letter{font-family:var(--font-num);color:var(--grey);min-width:1.25rem;font-weight:600}.choice.right{border-color:var(--ok);background:var(--ok-soft)}.choice.wrong{border-color:var(--danger);background:var(--danger-soft)}.choice.picked{box-shadow:inset 3px 0 0 var(--ink)}.locked{border:1px dashed var(--border-strong,var(--grey));padding:var(--s6) var(--s4);text-align:center;color:var(--grey);background:var(--sunk)}.locked b{color:var(--ink);font-size:var(--t-lead);margin-bottom:var(--s2);display:block}.locked .key{max-width:16rem;margin:var(--s4) auto 0}.verdict{align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);border-top:1px solid var(--line);background:var(--sunk);flex-wrap:wrap;display:flex}.verdict .score{font-family:var(--font-num);font-weight:700;font-size:var(--t-lead)}.verdict.ok .score{color:var(--ok)}.verdict.bad .score{color:var(--danger)}.verdict.pending .score{color:var(--warn)}.checks{gap:var(--s1);margin-top:var(--s3);flex-direction:column;display:flex}.check{align-items:baseline;gap:var(--s2);font-size:var(--t-small);color:var(--grey);display:flex}.check .mark{font-weight:700}.check.pass .mark{color:var(--ok)}.check.fail .mark{color:var(--danger)}.check .w{font-family:var(--font-num);color:var(--faint);margin-left:auto}.dots{gap:var(--s1);flex-wrap:wrap;display:flex}.dots i{background:var(--line);border-radius:var(--radius-badge);width:.875rem;height:.875rem;font-style:normal}.dots i.done{background:var(--accent)}.dots i.now{box-shadow:inset 0 0 0 2px var(--accent);background:var(--surface)}.weeks{border:1px solid var(--line);background:var(--surface)}.week{align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);border-bottom:1px solid var(--line);display:flex}.week:last-child{border-bottom:0}.week .no{font-family:var(--font-num);color:var(--grey);min-width:3.5rem;font-weight:700;font-size:var(--t-small)}.week .name{font-weight:600}.week .sub{font-size:var(--t-small);color:var(--grey);font-weight:400;display:block}.week .spacer{flex:1}.week.shut{color:var(--faint)}.week.shut .name{color:var(--grey)}.quiz-action-status{text-align:center;justify-content:center;min-width:6.5rem;display:inline-flex}.week .btn{justify-content:center;min-width:6.5rem}.drop{border:1px dashed var(--border-strong,var(--grey));background:var(--sunk);padding:var(--s6) var(--s4);text-align:center;border-radius:var(--radius-sm)}.drop b{font-size:var(--t-lead);color:var(--ink);margin-bottom:var(--s2);display:block}.drop.over{border-color:var(--accent);background:var(--accent-soft)}.drop.bad{border-color:var(--danger)}.rules{gap:var(--s1);flex-direction:column;display:flex}.rule-row{align-items:baseline;gap:var(--s2);font-size:var(--t-small);color:var(--grey);display:flex}.rule-row .mark{min-width:1rem;font-weight:700}.rule-row.met .mark{color:var(--ok)}.rule-row.unmet .mark{color:var(--faint)}.rule-row.broken .mark,.rule-row.broken{color:var(--danger)}.rule-row b{color:var(--ink);font-weight:600}.crit-row{gap:var(--s2) var(--s4);padding:var(--s3) 0;border-bottom:1px solid var(--line);grid-template-columns:1fr auto;display:grid}.crit-row:last-child{border-bottom:0}.crit-row .nm{font-weight:600}.crit-row .pts{font-family:var(--font-num);font-variant-numeric:tabular-nums;white-space:nowrap}.crit-row .said{font-size:var(--t-small);color:var(--grey);grid-column:1/-1;line-height:1.55}.crit-row.lost .pts{color:var(--warn)}@media (max-width:66rem){.area-split{grid-template-columns:1fr}}.area-split.even{grid-template-columns:1fr 1fr}.table td.when{font-family:var(--font-num);font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--grey)}.table td.when b{color:var(--ink);font-weight:600;display:block}[data-width=held] .screen[data-screen=handin] .grid-wrap,[data-width=held] .screen[data-screen=feedback] .grid-wrap{max-width:60rem;margin-inline:0}[data-width=centred] .screen[data-screen=handin] .grid-wrap,[data-width=centred] .screen[data-screen=feedback] .grid-wrap{max-width:60rem;margin-inline:auto}[data-width=wide] .screen[data-screen=handin] .grid-wrap,[data-width=wide] .screen[data-screen=feedback] .grid-wrap{max-width:var(--measure);margin-inline:0}[data-width=wide] .area-split{grid-template-columns:1fr 26rem}:root{--syn-keyword:var(--info);--syn-string:var(--ok);--syn-number:var(--warn);--syn-def:var(--signal);--syn-comment:var(--faint);--syn-punct:var(--grey)}:root[data-mode=dark]{--syn-comment:var(--grey)}.tok-kw{color:var(--syn-keyword);font-weight:600}.tok-str{color:var(--syn-string)}.tok-num{color:var(--syn-number);font-variant-numeric:tabular-nums}.tok-def{color:var(--syn-def);font-weight:600}.tok-com{color:var(--syn-comment);font-style:italic}.tok-punc{color:var(--syn-punct)}.code-edit{position:relative}.code-edit>pre,.code-edit>textarea{padding:var(--s3);border:1px solid var(--line);border-radius:var(--radius-sm);font:400 var(--t-small)/1.6 var(--font-mono);letter-spacing:0;tab-size:4;white-space:pre;box-sizing:border-box;margin:0;overflow:auto}.code-edit>pre{background:var(--surface);pointer-events:none;min-height:8rem}.code-edit>textarea{color:#0000;caret-color:var(--ink);resize:none;background:0 0;position:absolute;inset:0}.code-edit>textarea::selection{background:var(--accent-soft)}.code-edit>textarea:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.code-edit .cur{background:var(--sunk);display:block}.quiz-taking-layout{align-items:start;gap:var(--s4);grid-template-columns:minmax(0,56rem) minmax(10rem,13rem);display:grid;overflow:visible}.quiz-paper{min-width:0}.quiz-clock{top:var(--s4);gap:var(--s2);flex-direction:column;display:flex;position:sticky}.quiz-clock .lbl{font:var(--label-weight) var(--t-micro)/1 var(--font);letter-spacing:var(--label-track);text-transform:var(--label-transform);color:var(--grey)}.quiz-clock strong{font-size:var(--t-head);line-height:1}.quiz-save-state{font-size:var(--t-small);color:var(--ok)}.quiz-save-state.saving{color:var(--grey)}.quiz-save-state.error{color:var(--danger);font-weight:600}@media (max-width:64rem){.quiz-taking-layout{grid-template-columns:minmax(0,56rem)}.quiz-clock{grid-row:1;position:static}}.sheet-wrap{background:var(--surface);position:relative;overflow-x:auto}.course-hours{min-width:var(--measure)}.sheet{table-layout:auto;border-collapse:collapse;border-spacing:0;width:max-content;min-width:100%}.sheet th,.sheet td{border-bottom:var(--sep,1px solid var(--line));white-space:nowrap}.sheet tbody tr:last-child td{border-bottom:0}.sheet tbody tr:hover td,.sheet tbody tr:hover td.task,.sheet tbody tr:hover td.total{background:var(--sunk)}.sheet .task{z-index:2;background:var(--surface);border-right:1px solid var(--line);padding:var(--s2) var(--s3);text-align:left;min-width:13rem;font-weight:var(--name-weight);position:sticky;left:0}.sheet thead .task{z-index:3}.sheet thead th{z-index:1;background:var(--surface);border-bottom:2px solid var(--ink);padding:var(--s1) var(--s2);text-align:center;vertical-align:bottom;font:var(--label-weight) var(--t-micro)/1.3 var(--font);letter-spacing:var(--label-track);text-transform:var(--label-transform);color:var(--grey);width:2.75rem;min-width:2.75rem;max-width:2.75rem;position:sticky;top:0}.sheet thead th .d{font-family:var(--font-num);font-size:var(--t-small);letter-spacing:0;text-transform:none;color:var(--ink);display:block}.sheet .weekend{background:var(--sunk)}.sheet thead th.weekend{color:var(--faint)}.sheet .today{background:var(--info-soft)}.sheet thead th.today,.sheet thead th.today .d{color:var(--info-ink,var(--info))}.sheet .weekend.today,.sheet tbody tr:hover td.today{background:var(--info-soft)}.sheet td.h{text-align:center;padding:0}.sheet td.h input{width:100%;min-width:0;padding:var(--s1) var(--s2);text-align:center;color:var(--ink);font:400 var(--t-small)/1.6 var(--font-num);font-variant-numeric:tabular-nums;border-radius:var(--radius-control);background:0 0;border:1px solid #0000}.sheet td.h input::placeholder{color:var(--faint)}.sheet td.h input:hover{border-color:var(--line)}.sheet td.h input:focus-visible{border-color:var(--accent);background:var(--surface);outline:0}.sheet td.h input:not(:placeholder-shown){font-weight:600}.sheet .total{z-index:2;background:var(--surface);border-left:1px solid var(--line);padding:var(--s2) var(--s3);text-align:right;font-family:var(--font-num);font-variant-numeric:tabular-nums;min-width:4.5rem;font-weight:600;position:sticky;right:0}.sheet thead .total{z-index:3;background:var(--surface)}.sheet tfoot td{background:var(--sunk);border-bottom:0;border-top:var(--head-rule);text-align:center;font-weight:700;font-family:var(--font-num);font-variant-numeric:tabular-nums}.sheet tfoot .task{background:var(--sunk);text-align:left;font-family:var(--font)}.sheet tfoot td.today{background:var(--info-soft)}.rate{align-items:baseline;gap:var(--s2);display:inline-flex}.rate b{font-family:var(--font-num);font-weight:600;font-size:var(--t-lead)}.rate .src{font:var(--label-weight) var(--t-micro)/1 var(--font);letter-spacing:var(--label-track);text-transform:uppercase;color:var(--grey)}.bars{align-items:stretch;gap:var(--s2);height:9rem;display:flex}.bar-col{align-items:center;gap:var(--s1);flex-direction:column;flex:1;justify-content:flex-end;height:100%;display:flex}.bar-col .stem{background:var(--sunk);flex:1;align-items:flex-end;width:100%;min-height:0;display:flex}.bar-col .fill{background:var(--accent);width:100%;min-height:1px}.bar-col .m{font:var(--label-weight) var(--t-micro)/1 var(--font);letter-spacing:var(--label-track);text-transform:uppercase;color:var(--grey)}.bar-col .v{font-family:var(--font-num);font-size:var(--t-micro);color:var(--grey);font-variant-numeric:tabular-nums}.two{gap:var(--s4);margin-top:var(--s3);grid-template-columns:1fr 1fr;align-items:start;display:grid}@media (max-width:60rem){.two{grid-template-columns:1fr}}.two>div>.m-label{padding:var(--s2) var(--s3);border-bottom:1px solid var(--line);background:var(--sunk);font:var(--label-weight) var(--t-micro)/1 var(--font);letter-spacing:var(--label-track);text-transform:var(--label-transform);color:var(--faint)}.m-body{padding:var(--s4) var(--s5)}.m-row{gap:var(--s3);align-items:center;display:flex}.m-row .grow{flex:1}.m-app,.frame{border:1px solid var(--line);background:var(--surface)}.cap{font:var(--label-weight) var(--t-micro)/1.4 var(--font);letter-spacing:var(--label-track);text-transform:var(--label-transform);color:var(--faint);margin-top:var(--s2);display:block}.note.good{border-left-color:var(--ok)}.note.good .lbl{color:var(--ok)}.key{font-family:var(--font-mono);background:var(--sunk);padding:.05rem .3rem;font-size:.875em}.qrow{gap:var(--s4);padding:var(--s3) 0;border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) auto;align-items:start;display:grid}.qrow:last-child{border-bottom:0}.qrow .who{font-weight:var(--name-weight)}.qrow .who,.qrow .said{display:block}.qrow .said{font-size:var(--t-small);color:var(--grey);white-space:pre-wrap;margin-top:var(--s1);line-height:1.55}.qrow .rub{font-size:var(--t-small);color:var(--grey)}.qrow .rub b{color:var(--ink);margin-bottom:var(--s1);display:block}.proposed{align-items:baseline;gap:var(--s2);padding:var(--s1) var(--s2);border:1px dashed var(--info);background:var(--info-soft);border-radius:var(--radius-sm);font-size:var(--t-small);display:inline-flex}.proposed b{font-family:var(--font-num);color:var(--info-ink,var(--info))}.rag-cell{justify-content:center;align-items:center;width:100%;min-width:0;display:inline-flex;position:relative}.rag-cell>.pick{width:100%;min-width:0}.rag-cell-badge{z-index:1;border:1px solid var(--info);border-radius:var(--radius-badge);background:var(--bg);min-width:1.25rem;height:1rem;color:var(--info);font:600 var(--t-micro)/1 var(--font);letter-spacing:.03em;cursor:pointer;padding:0 .2rem;position:absolute;top:-.55rem;right:-.35rem}.rag-cell[data-rag-state=accepted] .rag-cell-badge,.rag-cell[data-rag-state=automatic] .rag-cell-badge{background:var(--info);color:var(--on-accent);border-color:var(--info)}.rag-cell[data-rag-state=adjusted] .rag-cell-badge{opacity:.7}.rag-cell[data-rag-state=offered] .pick.rag-ghost{color:var(--info-ink,var(--info));border-color:var(--info);background:var(--info-soft);font-weight:600}.rag-cell[data-rag-state=offered] .tickbox.rag-ghost{color:var(--info);border-color:var(--info);background:var(--info-soft)}.rag-cell[data-rag-state=offered] .levels button.rag-ghost{background:var(--info);box-shadow:inset 0 0 0 1px var(--info)}.rag-cell-popover{z-index:1000;width:min(20rem, calc(100vw - var(--s4)));padding:var(--s3);border:1px solid var(--info);border-radius:var(--radius-float);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-lg);font-size:var(--t-small);position:fixed}.mail-run-toast{right:var(--s4);bottom:var(--s4);z-index:1100;gap:var(--s3);width:min(28rem, calc(100vw - 2 * var(--s4)));box-shadow:var(--shadow-lg);margin:0;display:grid;position:fixed}.mail-run-toast p{margin:var(--s2) 0 0}.mail-run-toast-counts{margin-top:var(--s1);display:block}.mail-run-toast-actions{gap:var(--s2);flex-wrap:wrap;display:flex}.rag-cell-popover-head{justify-content:space-between;align-items:baseline;gap:var(--s3);color:var(--info-ink,var(--info));display:flex}.rag-cell-popover-head span{color:var(--grey);white-space:nowrap}.rag-cell-value{margin:var(--s2) 0 0;font-family:var(--font-num);font-weight:600}.rag-cell-rationale{margin:var(--s2) 0 0;line-height:1.45}.rag-cell-source{margin:var(--s2) 0 0;color:var(--faint);font-size:var(--t-micro)}.rag-cell-actions{gap:var(--s2);margin-top:var(--s3);display:flex}.rag-cell-decision-note{margin:var(--s2) 0 0;padding:var(--s2);border-left:2px solid var(--warn);background:var(--warn-soft);line-height:1.45}.rag-cell-rejection{gap:var(--s2);margin-top:var(--s3);display:grid}.rag-cell-rejection label,.quiz-rag-rejection>span{font-weight:600}.rag-cell-rejection label span,.quiz-rag-rejection small{color:var(--grey);font-size:var(--t-micro);font-weight:400}.rag-cell-rejection textarea,.quiz-rag-rejection textarea{resize:vertical;width:100%}.quiz-rag-rejection{gap:var(--s1);margin-top:var(--s2);display:grid}.grow:not(.ghead) .gc.gparent:has(.rag-group-badge){justify-content:space-between;align-items:center;gap:var(--s1);display:flex}.rag-group-badge{border:1px solid var(--info);border-radius:var(--radius-badge);background:var(--info);color:var(--on-accent);font:600 var(--t-micro)/1 var(--font);white-space:nowrap;cursor:pointer;padding:.1rem .25rem}.rag-group-badge.offered{background:var(--info-soft);color:var(--info-ink,var(--info))}.rag-row-badge{margin-left:var(--s1);border:1px solid var(--info);border-radius:var(--radius-badge);background:var(--info-soft);color:var(--info-ink,var(--info));font:600 var(--t-micro)/1 var(--font);vertical-align:middle;white-space:nowrap;align-items:center;padding:.1rem .25rem;display:inline-flex}.rag-grade-preview{color:var(--info-ink,var(--info));font-weight:600}.grade-total-pair{align-items:baseline;gap:var(--s1);white-space:nowrap;display:inline-flex}.rag-grade-projection{color:var(--info-ink,var(--info));font-size:var(--t-micro);white-space:nowrap;font-weight:500;line-height:1}.combo{border-bottom:1px solid var(--line);margin-top:.25rem;display:inline-flex;position:relative}.combo-face{align-items:center;gap:var(--s2);width:100%;color:var(--ink);font:500 var(--t-small)/1 var(--font);text-align:left;cursor:pointer;min-height:var(--control-h,2.25rem);box-shadow:inset 0 -2px 0 var(--ink);background:0 0;border:0;padding:0;display:flex}.combo-face:hover,.combo-face:hover .caret{color:var(--accent)}.combo-face[aria-expanded=true]{box-shadow:inset 0 -2px 0 var(--accent)}.combo-value{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.combo-face .caret{color:var(--grey);font-size:.8em}.combo-menu{z-index:40;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);width:max-content;min-width:100%;max-width:22rem;box-shadow:var(--shadow-lg,0 8px 24px #0000001f);padding:var(--s2);max-height:calc(100dvh - var(--s4));overscroll-behavior:contain;position:absolute;top:calc(100% + 2px);left:0;overflow-y:auto}.combo-search{width:100%;margin-bottom:var(--s2);padding:var(--s1) var(--s2);border:1px solid var(--line);border-radius:var(--radius-control);background:var(--bg);color:var(--ink);font:var(--t-small)/1.45 var(--font)}.combo-search:focus-visible{border-color:var(--accent);outline:0}.combo-list{flex-direction:column;max-height:15rem;display:flex;overflow:auto}.pick-item{padding:var(--s2);border-radius:var(--radius-control);color:var(--ink);cursor:pointer;font:var(--t-small)/1.35 var(--font);text-align:left;white-space:nowrap;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:.1rem;display:flex}.pick-item:hover{background:var(--sunk)}.pick-item.on{background:var(--sunk);font-weight:600}.pick-item .hint{font-size:var(--t-micro)}.combo-none{margin:var(--s2);color:var(--faint);font-size:var(--t-small)}.solid .seg>button{min-height:var(--control-h);padding:var(--s2) .9rem}.write-controls{align-items:end;gap:var(--s5);margin-bottom:var(--s4);grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));max-width:100%;display:grid}.write-controls .seg{min-width:0}.write-controls .seg>button{text-overflow:ellipsis;white-space:nowrap;min-width:0;padding-left:0;padding-right:0;overflow:hidden}.write-controls .combo,.write-controls .combo-face,.write-controls>div{min-width:0}.write-controls .seg,.write-controls .combo{width:100%;display:flex}.write-controls .seg>button{flex:auto}.write-controls .seg{width:100%;display:flex}.write-controls .seg button{white-space:nowrap;flex:auto}.write-controls .combo{width:100%}.template-kinds{gap:var(--s6);display:grid}.template-kind{gap:var(--s2);display:grid}.template-kind-head{align-items:center;gap:var(--s2);padding-bottom:var(--s2);border-bottom:1px solid var(--line);display:flex}.template-kind-head h2{font-size:var(--t-lead);margin:0}.template-row{align-items:center;gap:var(--s3);padding:0;display:flex}.template-open{min-width:0;padding:var(--s3) var(--s4);color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;align-items:flex-start;gap:.2rem;display:flex}.template-open:hover{background:var(--sunk)}.template-open>span{align-items:center;gap:var(--s2);max-width:100%;display:flex}.template-subject{flex-wrap:wrap}.template-subject .token-preview{border-color:color-mix(in srgb, var(--info) 45%, var(--line));background:color-mix(in srgb, var(--info-soft) 55%, var(--surface));color:color-mix(in srgb, var(--info) 68%, var(--grey));font-size:var(--t-micro);padding:0 .3rem;font-weight:500}.signature-chip{margin-left:auto}.recipient-pick-table{border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-height:24rem;overflow:auto}.recipient-pick-table .table{margin:0}.recipient-pick-table thead{z-index:1;background:var(--surface);position:sticky;top:0}.editor{border:1px solid var(--line);background:var(--surface)}.editor-bar{align-items:center;gap:var(--s1);padding:var(--s2);border-bottom:1px solid var(--line);background:var(--sunk);flex-wrap:wrap;display:flex}.editor-bar>.tool{width:2rem;height:2rem;color:var(--ink);border-radius:var(--radius-control);cursor:pointer;font:500 var(--t-small)/1 var(--font);background:0 0;border:1px solid #0000;flex:none}.editor-bar>.tool:hover{background:var(--surface);border-color:var(--line)}.editor-views{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);flex:none;align-items:center;display:inline-flex;overflow:hidden}.editor-views>button{min-height:2rem;padding:0 var(--s3);border:0;border-right:1px solid var(--line);color:var(--grey);cursor:pointer;font:600 var(--t-small)/1 var(--font);background:0 0}.editor-views>button:last-child{border-right:0}.editor-views>button:hover{color:var(--ink);background:var(--surface)}.editor-views>button.on{color:var(--ink);background:var(--bg);box-shadow:inset 0 -2px 0 var(--ink)}.editor-view-help{margin-left:var(--s2);color:var(--grey);font-size:var(--t-small)}.editor-select{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);max-width:8rem;height:2rem;color:var(--ink);font:var(--t-small)/1 var(--font)}.editor-color{cursor:pointer;width:2rem;height:2rem;display:inline-flex}.editor-color input{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);cursor:pointer;width:100%;height:100%;padding:.2rem}.tool-sep{background:var(--line);width:1px;height:1.4rem;margin:0 var(--s1)}.editor-who{align-items:center;gap:var(--s2);padding:var(--s2) var(--s3);border-bottom:1px solid var(--line);background:var(--sunk);font-size:var(--t-small);display:flex}.editor-body{padding:var(--s5);min-height:14rem;font:var(--t-body)/1.7 var(--font);color:var(--ink);white-space:normal;overflow-wrap:anywhere;outline:0}.editor-body:focus-visible{box-shadow:inset 0 0 0 2px var(--accent)}.editor-body:empty:before{content:attr(data-placeholder);color:var(--faint)}.editor-body p{margin:0 0 var(--s4)}.editor-body p:last-child{margin-bottom:0}.editor-body a{color:#315b9b;text-decoration:underline}.editor-body font[face=Courier\ New]{font-family:Courier New,Courier,monospace}.editor-body .token{-webkit-user-select:all;user-select:all;cursor:grab}.editor-body .token.empty:not(:empty):after{content:none}.editor-source{resize:vertical;width:100%;min-height:22rem;padding:var(--s4);background:var(--surface);color:var(--ink);font:400 var(--t-small)/1.65 "Courier New", Courier, monospace;white-space:pre;tab-size:2;border:0;outline:0;display:block;overflow:auto}.editor-source:focus-visible{box-shadow:inset 0 0 0 2px var(--accent)}.editor-preview{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#f1f3f4;border:0;width:100%;height:38rem;display:block}.editor-preview-empty{min-height:22rem;padding:var(--s5);color:var(--grey);text-align:center;background:var(--surface);place-items:center;display:grid}.editor-foot{align-items:center;gap:var(--s2);padding:var(--s2) var(--s3);border-top:1px solid var(--line);background:var(--sunk);display:flex}.token{background:var(--info-soft);border:1px solid var(--info);color:var(--info);padding:0 var(--s1);border-radius:var(--radius-badge);white-space:nowrap;font-weight:600}.token.empty{background:var(--warn-soft);border-color:var(--warn);color:var(--warn);font-style:italic}.token.empty:after{content:"— nothing";font-weight:400}.editor-bar .chip{border:1px solid var(--border-strong,var(--grey));background:var(--surface);color:var(--ink);border-radius:var(--radius-control);padding:var(--s1) var(--s2);font:500 var(--t-small)/1.3 var(--font);cursor:pointer;white-space:nowrap;width:auto;height:auto}.editor-bar .chip:hover{background:var(--sunk)}.chart{width:100%;height:auto;display:block}.chart .grid,.chart .axis-line{stroke:var(--line);stroke-width:1px}.chart .axis{font:400 9px/1 var(--font-num);fill:var(--grey);font-variant-numeric:tabular-nums}.chart .bar{fill:var(--ink)}.chart .bar:hover{fill:var(--accent)}.chart-line{fill:none;stroke:var(--ink);stroke-width:1.5px}.chart-area{fill:var(--accent-soft);stroke:none}.chart-dot{fill:var(--ink)}.chart-mark{stroke:var(--warn);stroke-width:1px;stroke-dasharray:3 3}.meanbars{gap:var(--s2);flex-direction:column;display:flex}.meanbar{align-items:center;gap:var(--s3);grid-template-columns:minmax(0,12rem) minmax(6rem,1fr) 3rem;display:grid}.mb-label{font-size:var(--t-small);min-width:0}.mb-detail{font-size:var(--t-micro);color:var(--grey);display:block}.mb-track{background:var(--sunk);border-radius:1px;height:.55rem;position:relative}.mb-fill{background:var(--ink);border-radius:1px;position:absolute;inset:0 auto 0 0}.meanbar.mine .mb-fill{background:var(--accent)}.meanbar.mine .mb-label{font-weight:600}.mb-ref{background:var(--warn);width:2px;position:absolute;top:-2px;bottom:-2px}.mb-value{text-align:right;font-family:var(--font-num);font-size:var(--t-small);font-variant-numeric:tabular-nums}@media (max-width:48rem){.meanbar{grid-template-columns:minmax(0,7rem) 1fr 2.5rem}}.figure-pair{gap:var(--s5);grid-template-columns:1fr 1fr;align-items:start;display:grid}.figure-pair.lead{grid-template-columns:5fr 4fr}.figure-pair.trail{grid-template-columns:4fr 5fr}.figure-pair+.figure-pair{margin-top:var(--s5)}@media (max-width:64rem){.figure-pair,.figure-pair.lead,.figure-pair.trail{grid-template-columns:1fr}}.sdot{vertical-align:middle;width:.45rem;height:.45rem;margin-right:var(--s2);background:var(--grey);border:0;border-radius:50%;flex:none;padding:0;display:inline-block;position:relative;top:-.05em}.sdot.active{background:var(--ok)}.sdot.inactivity_proposed{background:var(--warn)}.sdot.inactive{background:var(--danger)}.sdot.is-button{cursor:pointer}.sdot.is-button:hover{box-shadow:0 0 0 3px var(--sunk)}.sdot.is-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}tr.is-withdrawn>td{opacity:.45}.rowbtn{width:1.35rem;height:1.35rem;margin-left:var(--s1);border-radius:var(--radius-sm,2px);color:var(--grey);cursor:pointer;opacity:.55;font-size:var(--t-small);vertical-align:middle;background:0 0;border:0;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex;position:relative;top:-.05em}.rowmark .rowbtn{top:0}.rowbtn:hover{opacity:1;color:var(--ink);background:var(--sunk)}.rowbtn.on{opacity:1;color:var(--warn)}.rowmark{vertical-align:middle;align-items:center;display:inline-flex;position:relative;top:-.05em}.rowmenu{z-index:60;width:15rem;padding:var(--s2);background:var(--bg);border:1px solid var(--line);box-shadow:var(--shadow-lg);border-radius:var(--radius-sm,2px);text-align:left;white-space:normal;max-height:calc(100dvh - var(--s4));overscroll-behavior:contain;position:fixed;overflow-y:auto}.rowmenu-item{text-align:left;width:100%;padding:var(--s2) var(--s3);font:inherit;font-size:var(--t-small);color:var(--ink);cursor:pointer;background:0 0;border:0;display:block}.rowmenu-item:hover{background:var(--sunk)}.rowmenu-said{margin:0 0 var(--s2);padding:var(--s2) var(--s3);background:var(--sunk);font-size:var(--t-small)}.rowmenu-said span{color:var(--grey);margin-top:var(--s1);display:block}.rowmenu-foot{margin:var(--s2) 0 0;padding:0 var(--s3);font-size:var(--t-micro);color:var(--grey)}.rowmenu-say{gap:var(--s2);padding:var(--s2);flex-direction:column;display:flex}.student-action-menu{width:18rem;max-height:calc(100vh - 1rem);overflow-y:auto}.rowmenu-section{padding:var(--s1) 0;border-top:1px solid var(--line)}.rowmenu-section:first-of-type{border-top:0}.rowmenu-label{padding:var(--s2) var(--s3) var(--s1);color:var(--grey);font-size:var(--t-micro);letter-spacing:.045em;text-transform:uppercase;margin:0;font-weight:650}.rowmenu-back{color:var(--grey);border-bottom:1px solid var(--line);margin-bottom:var(--s1)}.rowmenu-check{width:1.25rem;color:var(--ok);display:inline-block}.rowmenu-current{padding:var(--s2) var(--s3);color:var(--grey);font-size:var(--t-small);margin:0}.rowmenu-current span{margin-top:var(--s1);display:block}.grid-note-button{width:100%;height:100%;min-height:2.5rem;color:inherit;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:flex}.grid-note-button:hover{background:var(--sunk);color:var(--ink)}.grid-note-button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.grid-note-popover{width:21.25rem;padding:var(--s3)}.grid-note-popover textarea{resize:vertical;width:100%}.grid-note-popover .notice{margin:var(--s2) 0 0}.grid-note-actions{justify-content:flex-end;gap:var(--s2);margin-top:var(--s3);display:flex}.submission-history-menu{width:17rem;max-height:19rem;overflow-y:auto}.submission-history-item{flex-direction:column;align-items:flex-start;display:flex}.submission-history-item .hint{font-size:var(--t-micro);margin-top:.15rem}.file .btn svg{width:1rem;height:1rem}tr.is-flagged>td,.gridtable .grow.is-flagged,.gridtable .grow.is-flagged>.gc{background:var(--warn-soft)}.gridtable .grow.is-withdrawn{opacity:.45}td.has-handed{position:relative}td.has-handed:before{content:"";background:var(--ok);opacity:.75;border-radius:50%;width:.3rem;height:.3rem;margin-left:-.15rem;position:absolute;top:.25rem;left:50%}.gwho .sdot{margin-left:var(--s2)}td.cell-late{color:var(--warn)}td.cell-missing{color:var(--danger)}td.cell-in{color:var(--ink)}.ce-row{gap:var(--s2);padding:var(--s2) var(--s2);border-bottom:1px solid var(--line);background:var(--bg);grid-template-columns:1.6rem 1.4rem minmax(0,1fr) 11rem 2.2rem 6rem 6rem 2rem;align-items:center;display:grid}.ce-row:last-child{border-bottom:0}.ce-row.dragging{opacity:.5}.ce-row{--depth:0;padding-left:calc(var(--s2) + var(--depth) * var(--s5))}.ce-grip{cursor:grab;color:var(--faint);text-align:center;font-size:var(--t-small);-webkit-user-select:none;user-select:none}.ce-grip:hover{color:var(--ink)}.ce-row.is-group{box-shadow:inset 2px 0 0 var(--accent)}.ce-row.is-group .ce-name input,.ce-row.is-group .ce-worth{font-weight:600}.ce-row.is-child{box-shadow:inset 1px 0 0 var(--line)}.ce-name input{width:100%;height:1.75rem;font:inherit;color:var(--ink);padding:var(--s1) 0;background:0 0;border:0;border-bottom:1px solid #0000}.ce-name input:hover{border-bottom-color:var(--line)}.ce-name input:focus{border-bottom-color:var(--accent);outline:0}.ce-worth{font-variant-numeric:tabular-nums;text-align:right}.ce-share{font-variant-numeric:tabular-nums;justify-content:flex-end;align-items:center;gap:0;display:flex}.ce-share input{text-align:right;font-variant-numeric:tabular-nums;min-width:0;height:1.75rem;font:inherit;color:var(--ink);padding:var(--s1) 0;background:0 0;border:0;border-bottom:1px solid #0000;flex:0 2.6rem}.ce-share input:hover{border-bottom-color:var(--line)}.ce-share input:focus{border-bottom-color:var(--accent);outline:0}.ce-share .pc{text-align:left;color:var(--faint);font-size:var(--t-small);flex:0 0 1.9rem;padding-left:2px}.ce-share input.set{border-color:#0000;border-bottom-color:var(--accent);font-weight:600}.ce-share .reset{cursor:pointer;color:var(--faint);font-size:var(--t-micro);padding:0 var(--s1) 0 0;background:0 0;border:0;flex:none;order:-1}.ce-share .reset:hover{color:var(--ink)}.ce-row.level-off .ce-share input{border-color:var(--warn)}.ce-sum-note{font-size:var(--t-micro);color:var(--warn);padding:0 var(--s2) var(--s2);grid-column:3/-1}.ce-sum-note.is-over{color:var(--grey)}.ce-how select{width:100%;font:inherit;font-size:var(--t-small);color:var(--ink);padding:0 var(--s1);border-radius:var(--radius-control);background:0 0;border:1px solid #0000;height:1.75rem;line-height:1.75rem}.ce-how select:hover{border-color:var(--line)}.ce-how select:focus{border-color:var(--accent);outline:0}.ce-row.is-group .ce-how select{font-weight:600}.ce-feedback{text-align:center}.ce-weight input.overridden{border-color:var(--accent);color:var(--ink);font-weight:600}.ce-weight .reset{cursor:pointer;color:var(--faint);font-size:var(--t-micro);padding:0 0 0 var(--s1);background:0 0;border:0;flex:none}.ce-weight .reset:hover{color:var(--ink)}.ce-row.drop-into{background:var(--sunk);box-shadow:inset 2px 0 0 var(--accent)}.ce-drop-line{background:var(--accent);height:2px;margin:0 var(--s2)}.ce-row.ce-new .ce-name input{color:var(--faint);font-style:italic}.ce-bar{align-items:center;gap:var(--s2);margin-bottom:var(--s3);flex-wrap:wrap;display:flex}.ce-bar .spacer{margin-left:auto}.ce-bar .count{font-size:var(--t-small);color:var(--faint)}.ce-bar.some .count{color:var(--ink);font-weight:600}.ce-total{gap:var(--s2);padding:var(--s3) var(--s2) var(--s1);border-top:2px solid var(--ink);grid-template-columns:1.6rem 1.4rem minmax(0,1fr) 11rem 2.2rem 6rem 6rem 2rem;align-items:center;font-weight:600;display:grid}.ce-total .ce-worth,.ce-total .ce-share{font-variant-numeric:tabular-nums}.ce-total.ce-over{color:var(--grey);border-top:0;padding-top:0;font-weight:400}.ce-total.ce-over .ce-worth,.ce-total.ce-over .ce-share{color:var(--ink);font-weight:600}.ce-row.ce-head{font:var(--label-weight) var(--t-micro)/1 var(--font);letter-spacing:var(--label-track);text-transform:var(--label-transform);color:var(--faint);border-bottom-color:var(--faint)}.task-brief{max-width:78ch}.task-plain{white-space:pre-wrap;line-height:1.65}.task-markdown{overflow-wrap:anywhere;line-height:1.65}.task-markdown>:first-child{margin-top:0}.task-markdown>:last-child{margin-bottom:0}.task-markdown h1,.task-markdown h2,.task-markdown h3,.task-markdown h4{margin:var(--s5) 0 var(--s2);line-height:1.2}.task-markdown h1{font-size:1.55rem}.task-markdown h2{font-size:1.25rem}.task-markdown h3,.task-markdown h4{font-size:1rem}.task-markdown p,.task-markdown ul,.task-markdown ol,.task-markdown pre,.task-markdown blockquote,.task-markdown table{margin:0 0 var(--s3)}.task-markdown img{max-width:100%;height:auto;margin:var(--s4) 0;border:1px solid var(--line);display:block}.task-markdown pre{padding:var(--s3);background:var(--ink);color:var(--surface);overflow-x:auto}.task-markdown code{font-family:var(--font-mono);font-size:.92em}.task-markdown blockquote{padding-left:var(--s3);border-left:3px solid var(--accent);color:var(--grey);margin-left:0}.task-markdown table{border-collapse:collapse;width:100%}.task-markdown th,.task-markdown td{padding:var(--s2);border:1px solid var(--line);text-align:left;vertical-align:top}.task-embed{margin-top:var(--s5)}.task-embed iframe{width:100%;min-height:34rem;margin-bottom:var(--s2);border:1px solid var(--line);background:var(--surface);display:block}.task-downloads{gap:var(--s2) var(--s4);margin-top:var(--s5);padding-top:var(--s3);border-top:1px solid var(--line);flex-wrap:wrap;display:flex}.quiz-test-badge{margin-left:var(--s2);vertical-align:middle}.room-field{margin-top:var(--s3);grid-template-columns:repeat(auto-fill,minmax(.9rem,1fr));gap:3px;display:grid}.room-field.dense{grid-template-columns:repeat(auto-fill,minmax(.55rem,1fr));gap:2px}.room-field .cell{aspect-ratio:1;background:var(--line);border-radius:2px}.room-field .cell[data-state=idle]{background:var(--line)}.room-field .cell[data-state=sitting]{background:var(--warn)}.room-field .cell[data-state=done]{background:var(--ok)}.room-field .cell[data-state=over]{background:var(--danger)}.room-field .cell[data-state=untouched]{background:var(--line)}.room-field .cell[data-state=answered]{background:color-mix(in srgb, var(--ok) 42%, var(--surface))}.room-field .cell[data-state=marked]{background:var(--ok)}.room-key{gap:var(--s4);margin-top:var(--s3);font-size:var(--t-micro);color:var(--grey);flex-wrap:wrap;display:flex}.room-key span{align-items:center;gap:var(--s2);display:inline-flex}.room-key i{border-radius:2px;width:.7rem;height:.7rem;display:inline-block}.markhist{margin-top:var(--s3)}.markhist .mh-top{margin-bottom:var(--s2);justify-content:flex-end;display:flex}.markhist .mh-plot{border-bottom:1px solid var(--ink);position:relative;overflow:visible}.markhist .mh-grid{border-top:1px dashed var(--line);height:0;position:absolute;left:0;right:0}.markhist .mh-grid:after{content:attr(data-label);font-size:var(--t-micro);color:var(--grey);background:var(--surface);padding-right:var(--s2);position:absolute;top:-.6rem;left:0}.markhist .mh-pass{border-left:1px solid var(--warn);z-index:2;width:0;position:absolute;top:0;bottom:0}.markhist .mh-pass:after{content:attr(data-label);font-size:var(--t-micro);color:var(--warn);position:absolute;top:0;left:3px}.markhist .mh-curve{width:100%;height:100%;position:absolute;inset:0}.markhist .mh-area{fill:color-mix(in srgb, var(--accent) 16%, transparent)}.markhist .mh-line{fill:none;stroke:var(--accent);stroke-width:2px;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round}.markhist .mh-bars{gap:1px;display:flex;position:absolute;inset:0}.markhist .mh-slot{flex:1;height:100%;position:relative}.markhist .mh-hit{cursor:default;background:0 0;border:0;align-items:flex-end;padding:0;display:flex;position:absolute;inset:0}.markhist .mh-fill{background:var(--accent);border-radius:2px 2px 0 0;width:100%;transition:background .1s}.markhist .mh-slot[data-fail=true] .mh-fill{background:color-mix(in srgb, var(--warn) 70%, var(--accent))}.markhist .mh-bars[data-shape=curve] .mh-fill{background:0 0}.markhist .mh-bars[data-shape=curve] .mh-slot[data-open=true] .mh-fill{background:color-mix(in srgb, var(--ink) 10%, transparent);border-radius:0;height:100%!important}.markhist .mh-slot:hover .mh-fill,.markhist .mh-slot[data-open=true] .mh-fill{background:var(--ink)}.markhist .mh-pop{margin-bottom:var(--s2);z-index:5;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-width:12rem;max-width:17rem;padding:var(--s3);text-align:left;font-size:var(--t-small);pointer-events:none;position:absolute;bottom:100%;box-shadow:0 8px 28px #00000029}.markhist .mh-pop[data-side=right]{left:0}.markhist .mh-pop[data-side=left]{right:0}.markhist .mh-list{margin-top:var(--s2);pointer-events:auto;max-height:11rem;display:block;overflow-y:auto}.markhist .mh-list>span{white-space:nowrap;text-overflow:ellipsis;padding:1px 0;display:block;overflow:hidden}.markhist .mh-list i{font-variant-numeric:tabular-nums;color:var(--grey);margin-right:var(--s2);font-style:normal}.markhist .mh-axis{height:1.2rem;margin-top:var(--s2);position:relative}.markhist .mh-axis>span{font-size:var(--t-micro);color:var(--grey);position:absolute;transform:translate(-50%)}.qfigures{gap:var(--s3);margin-top:var(--s3);flex-direction:column;display:flex}.qfig{position:relative}.qfig-head{align-items:center;gap:var(--s2);display:flex}.qfig-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.qfig-pct{font-variant-numeric:tabular-nums}.qfig-track{background:var(--sunk);height:.5rem;margin-top:var(--s2);border-radius:3px;overflow:hidden}.qfig-fill{background:var(--accent);border-radius:3px;height:100%;display:block}.qfig[data-weak=true] .qfig-fill{background:var(--warn)}.qfig-foot{font-size:var(--t-micro);color:var(--grey);margin-top:2px}.qfig-peek{z-index:4;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:min(34rem,100%);padding:var(--s3);font-size:var(--t-small);opacity:0;visibility:hidden;transition:opacity .1s;position:absolute;top:100%;left:0;box-shadow:0 6px 24px #0000001f}.qfig:hover .qfig-peek,.qfig:focus-within .qfig-peek{opacity:1;visibility:visible}.qfig-peek p{margin:var(--s2) 0 0;white-space:pre-wrap}.qfig-peek pre{margin:var(--s2) 0 0;padding:var(--s2);background:var(--sunk);overflow-x:auto}.tally-grid{gap:var(--s5);margin-top:var(--s3);grid-template-columns:repeat(auto-fit,minmax(22rem,1fr));display:grid}.tally-head{align-items:baseline;gap:var(--s3);margin-bottom:var(--s2);display:flex}.tally-head .hint{white-space:nowrap;margin-left:auto}.tally-row{align-items:center;gap:var(--s2);grid-template-columns:minmax(6rem,1fr) 6rem auto;padding:2px 0;display:grid}.tally-label{text-overflow:ellipsis;white-space:nowrap;font-size:var(--t-small);overflow:hidden}.tally-row[data-correct=true] .tally-label{font-weight:600}.tally-track{background:var(--sunk);border-radius:3px;height:.5rem;overflow:hidden}.tally-fill{background:var(--grey);border-radius:3px;height:100%;display:block}.tally-row[data-correct=true] .tally-fill{background:var(--ok)}.tally-n{font-size:var(--t-small);font-variant-numeric:tabular-nums;white-space:nowrap}.tally-n i{color:var(--grey);margin-left:var(--s2);font-style:normal}.qpreview{cursor:default}.qpreview .q{margin:0}
html,body{height:100%}#app{flex-direction:column;height:100%;display:flex}main{flex:1;min-height:0;overflow:auto}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
