:root{--ink:#1b1f23;--ink-2:#3a3f45;--muted:#55595e;--disabled:#6b6f74;--line:#dad8cf;--line-soft:#e4e2da;--line-faint:#e7e5dc;--field-line:#c9c6ba;--dash:#8e8b7f;--bg:#f4f3ee;--surface:#fff;--soft:#fbfaf6;--accent:#0f5c5a;--accent-soft:#f0f6f5;--danger:#9b2c1d;--warn-soft:#fbf3e2;--highlight:#ffd84d;--mono:"IBM Plex Mono", monospace}[data-tier=R]{--t-bg:#f3d9d3;--t-fg:#7a2418}[data-tier="1"]{--t-bg:#f5e3c2;--t-fg:#5e3a05}[data-tier="2"]{--t-bg:#e4ebc4;--t-fg:#35420a}[data-tier="3"]{--t-bg:#cfe6df;--t-fg:#0b403c}[data-tier="4"]{--t-bg:#a9d3cc;--t-fg:#062b28}*,:before,:after{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:IBM Plex Sans,system-ui,sans-serif}h1,h2,h3,p{margin:0}button,input,textarea,select{color:inherit;font-family:inherit}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #1b6fd1}a{color:var(--accent)}fieldset{margin:0}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%231B1F23' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;background-size:12px 8px;padding-right:36px!important}select:disabled{opacity:.6}.app{flex-direction:column;min-height:100vh;display:flex}.header{background:var(--surface);border-bottom:1px solid var(--line)}.topnav{background:var(--ink)}.topnav__inner{max-width:var(--max,960px);flex-wrap:wrap;gap:0 4px;margin:0 auto;padding:0 24px;display:flex}.topnav__link{color:#fff;min-height:44px;font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;align-items:center;padding:0 14px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex;position:relative}.topnav__link .count-badge{top:4px;right:-6px}.topnav__link:hover{background:#ffffff1a}.topnav__link[aria-current=page]{border-bottom-color:#fff}.header__inner{max-width:var(--max,960px);flex-direction:column;gap:12px;margin:0 auto;padding:14px 24px;display:flex}.sync-alert{background:var(--danger);color:#fff}.sync-alert__inner{max-width:var(--max,960px);flex-wrap:wrap;align-items:center;gap:12px 16px;margin:0 auto;padding:14px 24px;font-size:15px;line-height:1.35;display:flex}.sync-alert__title{font-size:20px}.header__student{overflow-wrap:anywhere;font-size:26px;font-weight:700;line-height:1.2}.header__title{overflow-wrap:anywhere;text-wrap:balance;font-size:18px;font-weight:600;line-height:1.25}.header__title--sub{color:var(--ink-2);font-size:15px;font-weight:500}.main{width:100%;max-width:var(--max,960px);flex-direction:column;flex:auto;gap:16px;margin:0 auto;padding:24px 24px 56px;display:flex}.page-center{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:16px;padding:24px;display:flex}.card--lg{padding:28px}.card--page{width:100%;max-width:var(--max,560px);padding:32px}.toolbar{background:var(--surface);border:1px solid var(--line);border-radius:14px;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:18px 20px;display:flex}.panel{border:1.5px solid var(--ink);background:var(--soft);border-radius:12px;flex-direction:column;gap:12px;padding:14px;display:flex}.empty{border:1.5px dashed var(--dash);color:var(--ink-2);border-radius:14px;padding:24px;font-size:15px}.callout{background:var(--accent-soft);border-radius:12px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.callout--warn{background:var(--warn-soft)}.token-box{border:1px solid var(--line);background:var(--surface);font-family:var(--mono);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;border-radius:8px;padding:10px 12px;font-size:12px;display:block}.pseudonyms{border-collapse:collapse;margin-top:8px;font-size:14px}.pseudonyms td{border-bottom:1px solid var(--line);padding:4px 16px 4px 0}.fieldset{border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:12px;padding:14px 16px;display:flex}.summary{background:var(--bg);border-radius:10px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.summary__actions{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.label{color:var(--muted);font-size:13px;font-weight:600}.muted{color:var(--muted);font-size:14px}.help{color:var(--ink-2);font-size:15px;line-height:1.5}.kicker{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:600}.h2{font-size:18px;font-weight:600}.title{overflow-wrap:anywhere;font-size:17px;font-weight:600;line-height:1.3}.danger-text,.req{color:var(--danger)}.input[aria-invalid=true]{border-color:var(--danger)}.mono{font-family:var(--mono)}.num{font-family:var(--mono);font-weight:600}.chev{color:var(--muted);flex:none;font-size:28px;line-height:1}.btn{border:1px solid var(--field-line);background:var(--surface);min-height:52px;color:inherit;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:15px;font-weight:500;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.4}.btn--bold{font-weight:600}.btn--primary{background:var(--accent);color:#fff;border:0;font-weight:600}.btn--strong{border-color:var(--ink);font-weight:600}.btn[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--surface)}.btn--danger{color:var(--danger)}.btn--danger:disabled{color:var(--disabled)}.btn--dashed{border:1.5px dashed var(--dash);background:0 0;font-weight:600}.btn--add{border:1.5px dashed var(--dash);background:0 0;border-radius:12px;min-height:48px;font-weight:600}.btn--add-lg{border-radius:14px;min-height:56px;font-size:16px}.btn--md{min-height:48px;padding:0 16px}.btn--sm{min-height:36px;padding:0 12px;font-size:13px;font-weight:600}.weight{text-align:center;min-width:56px}.step-btn{border:1px solid var(--field-line);background:var(--surface);border-radius:10px;width:48px;height:48px;font-size:22px}.stepper{align-items:center;display:flex}.stepper>button{border:1px solid var(--field-line);background:var(--surface);width:52px;height:52px;font-size:22px;line-height:1}.stepper>button:first-child{border-radius:10px 0 0 10px}.stepper>button:last-child{border-radius:0 10px 10px 0}.stepper__value{border-group:1px solid var(--field-line);background:var(--surface);min-width:88px;height:52px;font-family:var(--mono);justify-content:center;align-items:center;gap:4px;font-size:18px;font-weight:600;display:flex}.stepper__value input{box-sizing:content-box;text-align:right;height:100%;font:inherit;background:0 0;border:0;padding:0}.seg{display:flex}.seg>button{border:1px solid var(--ink);background:var(--surface);min-height:44px;padding:0 18px;font-size:15px;font-weight:600}.seg>button:first-child{border-radius:10px 0 0 10px}.seg>button:last-child{border-left:0;border-radius:0 10px 10px 0}.chip{border:2px solid var(--ink);background:var(--surface);width:64px;height:48px;font-family:var(--mono);border-radius:10px;font-size:16px;font-weight:600}.seg>button[aria-pressed=true],.chip[aria-pressed=true]{background:var(--ink);color:#fff}.level{border:2px solid var(--t-fg);background:var(--t-bg);color:var(--t-fg);font-family:var(--mono);border-radius:12px;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.level[aria-pressed=true]{background:var(--t-fg);color:#fff}.level--quick{flex:1 1 0;min-width:0;height:60px;padding:0 4px;font-size:21px}.level--crit{cursor:default;border-radius:10px;flex-direction:column;flex:auto;gap:3px;min-width:0;min-height:96px;font-family:inherit}.level--crit .level__big{font-family:var(--mono);font-size:26px;font-weight:600;line-height:1}.crit-levels{flex:0 0 136px;align-items:stretch;gap:4px;display:flex}.crit-between{padding-left:4px}.level--mini{cursor:default;border-radius:10px;width:48px;height:48px;padding:0;font-size:15px}.desc-row{text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:12px;align-items:stretch;gap:12px;width:100%;min-height:56px;padding:0;display:flex;overflow:hidden}.desc-row[aria-pressed=true]{border:2px solid var(--t-fg);background:var(--t-bg)}.desc-row__badge{font-family:var(--mono);background:var(--t-bg);color:var(--t-fg);flex:0 0 64px;justify-content:center;align-items:center;font-size:20px;font-weight:600;display:flex}.desc-row[aria-pressed=true] .desc-row__badge{background:var(--t-fg);color:#fff}.desc-row__text{min-width:0;color:var(--ink);flex:auto;padding:12px 14px 12px 0;font-size:15px;line-height:1.5}.field{flex-direction:column;gap:6px;display:flex}.input{border:1px solid var(--field-line);background-color:var(--surface);border-radius:10px;min-height:48px;padding:0 12px;font-size:16px}.input--lg{min-height:52px;font-size:18px;font-weight:500}.input--title{min-height:52px;padding:0 14px;font-size:20px;font-weight:600}.input--small{width:76px;min-height:40px}.desc-field{flex-direction:column;flex:300px;gap:6px;min-width:0;display:flex}.desc-field .textarea,.modal .desc-field{flex:none}.desc-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.warn-count{color:var(--danger);font-weight:600}.desc-warn{color:var(--danger);align-items:center;gap:6px;font-size:13px;line-height:1.35;display:inline-flex}.desc-count{font-variant-numeric:tabular-nums;color:var(--muted);margin-left:auto;font-size:13px}.desc-count--over{color:var(--danger);font-weight:600}.ai-star{color:var(--muted);opacity:.55;background:0 0;border:0;border-radius:6px;padding:3px;line-height:0;display:inline-flex}.ai-star:hover,.ai-star:focus-visible{opacity:1;color:var(--accent)}.ai-star:disabled{cursor:default}.ai-star[aria-busy=true]{opacity:1;animation:1.1s ease-in-out infinite ai-pulse}@keyframes ai-pulse{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.ai-star[aria-busy=true]{animation:none}}.desc-note{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:14px;display:flex}.desc-note--warn{color:var(--danger);font-weight:600}.tpl-token{border:1px solid var(--line);background:var(--surface);min-height:28px;font-family:var(--mono);color:var(--ink);border-radius:8px;padding:2px 10px;font-size:13px}.tpl-token:hover{border-color:var(--accent);color:var(--accent)}.tpl-preview{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.tpl-preview li{align-items:baseline;gap:10px;font-size:14px;line-height:1.4;display:flex}.tpl-preview__lv{font-family:var(--mono);flex:0 0 32px;font-weight:600}.tpl-preview .desc-count{margin-left:0}.desc-suggestion{border:1px solid var(--line);background:var(--accent-soft);border-radius:10px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.desc-suggestion__text{font-size:16px;line-height:1.5}.textarea{border:1px solid var(--field-line);resize:vertical;background:var(--surface);border-radius:10px;flex:300px;min-width:0;padding:12px 14px;font-size:16px;line-height:1.5}.check{align-items:center;gap:8px;font-size:15px;font-weight:500;display:flex}.check input{width:20px;height:20px}.toolbar .check{min-height:52px}.toolbar .check--row{flex-basis:100%;min-height:0}.badge-cat{background:var(--ink);color:#fff;min-width:48px;height:32px;font-family:var(--mono);border-radius:6px;flex:none;justify-content:center;align-items:center;font-size:15px;font-weight:600;display:inline-flex}.qnum{background:var(--ink);color:#fff;width:44px;height:44px;font-family:var(--mono);border-radius:22px;flex:none;justify-content:center;align-items:center;font-size:18px;font-weight:600;display:flex}.count-badge{background:var(--danger);color:#fff;text-align:center;border-radius:11px;min-width:22px;height:22px;padding:0 6px;font-size:13px;font-weight:700;line-height:22px;position:absolute;top:-8px;right:-8px}.list-link{border:1px solid var(--line);background:var(--surface);text-align:left;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;width:100%;min-height:80px;padding:14px 20px;display:flex}.course-link{border:1px solid var(--line);color:inherit;background:var(--soft);border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;text-decoration:none;display:flex}.crit-row{border:1px solid var(--line);background:var(--surface);border-radius:14px;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 12px 8px 8px;display:flex}.crit-row__open{text-align:left;background:0 0;border:0;border-radius:10px;flex:320px;justify-content:space-between;align-items:center;gap:12px;min-width:0;min-height:64px;padding:8px 12px;display:flex}.group-card{flex-direction:column;gap:10px;padding-top:14px;display:flex}.group-head{flex-wrap:wrap;align-items:center;gap:12px 16px;padding-bottom:6px;display:flex}.group-head--edit{align-items:flex-end}.crit-line{border:1px solid var(--line);background:var(--surface);text-align:left;border-radius:12px;align-items:center;gap:14px;width:100%;min-height:56px;padding:8px 12px 8px 8px;display:flex}.crit-acc .crit-line .chev{transition:transform .15s}.crit-acc .crit-line[aria-expanded=true] .chev{transform:rotate(90deg)}.crit-acc__drawer{padding:8px 0 6px 12px}.desc-row--sm{border-radius:10px;gap:10px;min-height:40px}.desc-row--sm .desc-row__badge{flex-basis:48px;font-size:16px}.desc-row--sm .desc-row__text{padding:8px 12px 8px 0;font-size:14px;line-height:1.4}.pick-row{border:1px solid var(--field-line);background:var(--surface);text-align:left;border-radius:10px;align-items:center;gap:12px;min-height:52px;padding:6px 12px;font-size:15px;display:flex}.tiles{gap:12px;display:flex;container-type:inline-size}.tiles--grade{grid-template-columns:repeat(5,1fr);display:grid}@container (width<=640px){.tiles--grade{grid-template-columns:repeat(2,1fr)}.tiles--grade>:last-child{grid-column:span 2}}.group-levels{border:1px solid var(--line);background:var(--line);text-align:center;width:max-content;font-family:var(--mono);border-radius:8px;grid-template-columns:repeat(2,minmax(3.2em,1fr));gap:1px;font-size:15px;font-weight:600;line-height:1.2;display:grid;overflow:hidden}.group-levels__cell{background:var(--surface);padding:3px 6px}.group-levels__cell small{color:var(--muted);font-size:13px;font-weight:500;display:block}.group-levels__cell--empty,.group-levels__cell--empty small{color:#0000;-webkit-user-select:none;user-select:none}.desc-view{background:var(--bg);overflow-wrap:anywhere;border-radius:10px;flex:1 1 0;min-width:0;margin:0;padding:10px 12px;line-height:1.4}.eval-meta{line-height:1.2}.eval-link{color:inherit;text-decoration:none}.eval-link:hover{text-decoration:underline}.roster{border-collapse:collapse;width:100%;font-size:15px}.roster th,.roster td{border-top:1px solid var(--line);text-align:center;vertical-align:middle;padding:8px 10px}.roster thead th{background:var(--ink);color:#fff;border-top:0;font-size:13px;font-weight:600}.roster th:first-child{text-align:left}.roster tbody th{font-weight:600}.roster .is-subtotal th,.roster .is-subtotal td,.roster tfoot th,.roster tfoot td{border-top:2px solid var(--ink);background:var(--accent-soft);font-weight:700}.pdf-head{background:var(--ink);color:#fff;font-weight:600}.pdf-sub{background:var(--accent-soft);color:var(--ink);border-color:var(--line);font-weight:700}.pdf-row{background:var(--surface);color:var(--ink);border-color:var(--line)}.roster tbody th small{font-weight:400;display:block}.link-btn{font:inherit;color:var(--accent);text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.lv-chip{display:inline-group;min-width:2.6em;font-family:var(--mono);background:var(--t-bg,var(--bg));color:var(--t-fg,var(--muted));border-radius:6px;padding:2px 8px;font-weight:700}.profile-sheet .h2{margin-top:6px}.tile{background:var(--accent-soft);text-align:center;border-radius:12px;flex-direction:column;flex:160px;gap:2px;padding:16px;display:flex}.tile__value{font-family:var(--mono);font-size:30px;font-weight:600;line-height:1.1}.tile__sub{color:var(--muted);font-size:13px}.tile__label{color:var(--ink-2);flex:1;font-size:14px}.share{background:var(--line-faint);border-radius:6px;height:12px;display:flex;overflow:hidden}.share>div{border-right:2px solid #fff;height:12px}.share>div:nth-child(6n+1){background:#0f5c5a}.share>div:nth-child(6n+2){background:#3e8e87}.share>div:nth-child(6n+3){background:#78b3ac}.share>div:nth-child(6n+4){background:#a9d3cc}.share>div:nth-child(6n+5){background:#1f4e8c}.share>div:nth-child(6n){background:#7c9ccb}.crit-row.is-dragged{opacity:.4}.crit-row.is-drop,.card.is-drop{outline:2px dashed var(--accent);outline-offset:2px;background:var(--accent-soft)}.eval-card{border:1px solid var(--line);border-radius:12px;align-items:stretch;gap:6px;padding:12px 12px 12px 4px;display:flex}.eval-card.is-dragged{opacity:.4}.ro .eval-card{padding-left:16px}.drag-handle{cursor:grab;width:40px;color:var(--muted);-webkit-user-select:none;user-select:none;touch-action:none;flex:none;justify-content:center;align-self:stretch;align-items:center;font-size:22px;display:inline-flex}.drag-ghost{z-index:10;background:var(--ink);color:#fff;pointer-events:none;text-overflow:ellipsis;white-space:nowrap;border-radius:10px;max-width:304px;padding:8px 12px;font-size:14px;font-weight:600;position:fixed;overflow:hidden}.swipe-area{touch-action:pan-y;flex-direction:column;flex:auto;gap:16px;display:flex}.grade-head{flex-wrap:wrap;align-items:center;gap:12px;min-height:56px;margin:-6px 0;display:flex}.grade-toggle{text-align:left;background:0 0;border:0;flex:240px;align-items:center;gap:12px;min-width:0;min-height:56px;padding:6px 0;display:flex}.score-field{font-family:var(--mono);flex:none;align-items:center;gap:8px;font-size:16px;font-weight:600;display:flex}.score-field input{text-align:center;border:1px solid var(--field-line);width:84px;height:48px;font:inherit;background:var(--surface);border-radius:10px;padding:0 10px;font-size:20px}.icon-btn{width:40px;height:48px;color:var(--muted);background:0 0;border:0;flex:none;font-size:22px;line-height:1}.grid-table{border-collapse:collapse;width:100%}.grid-table th{text-align:center;vertical-align:bottom;padding:6px 8px}.grid-table td{border-bottom:1px solid var(--line-soft);text-align:center;padding:6px 8px}.grid-table .sticky{background:var(--surface);text-align:left;position:sticky;left:0}.grid-table td.sticky{white-space:nowrap;font-weight:600}.grid-table .sub{color:var(--muted);font-weight:500;font-family:var(--mono)}.grid-field[aria-invalid=true]{border-color:var(--danger);color:var(--danger)}.grid-field{border:1px solid var(--field-line);text-align:center;background-color:var(--surface);width:100%;min-width:64px;min-height:40px;font-size:15px;font-family:var(--mono);border-radius:8px;padding:0 6px}.modal-backdrop{z-index:50;background:#0006;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:12px;flex-direction:column;gap:14px;width:min(420px,100%);padding:20px;display:flex;box-shadow:0 8px 24px #00000040}.modal--wide{width:min(640px,100%);max-height:calc(100vh - 32px);overflow-y:auto}.sheet-wrap{overflow-x:auto}.sheet-stack{flex-direction:column;gap:16px;width:max-content;margin:0 auto;display:flex}.sheet-page{background:var(--surface);border:1px solid var(--line);gap:var(--gap,12px);break-after:page;page-break-after:always;-webkit-print-color-adjust:exact;print-color-adjust:exact;flex-direction:column;width:1056px;min-height:816px;padding:28px 32px;display:flex}.sheet-head{padding-bottom:calc(6px * var(--f,1));border-bottom:3px solid var(--accent);justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.sheet-kicker{font-size:calc(10.5px * var(--f,1));letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}.sheet-line{display:inline-group;border-bottom:1px solid var(--ink);width:11em;margin-left:.3em}.sheet-student{font-size:calc(34px * var(--f,1));font-weight:700;line-height:1.1}.sheet-title{font-size:calc(16px * var(--f,1));color:var(--ink-2);font-weight:600;line-height:1.2}.sheet-side{align-items:flex-end}.sheet-cats{gap:calc(6px * var(--f,1));display:flex}.sheet-cat{min-width:3.6em;padding:calc(3px * var(--f,1)) calc(8px * var(--f,1));text-align:center;font-family:var(--mono);font-size:calc(20px * var(--f,1));background:var(--t-bg,var(--bg));color:var(--t-fg,var(--ink));border-radius:6px;font-weight:700;line-height:1.15}.sheet-cat--blank{background:var(--surface);border:1px solid var(--ink);min-height:2.6em}.sheet-cat small{font-size:calc(10.5px * var(--f,1));letter-spacing:.06em;opacity:.8;font-weight:600;display:block}.sheet-meta{gap:calc(10px * var(--f,1));font-size:calc(11.5px * var(--f,1));color:var(--ink-2);flex-wrap:wrap;padding-bottom:2px;display:flex}.sheet-table{border:1.5px solid var(--ink);border-radius:6px;overflow:hidden}.sheet-foot{font-size:calc(10.5px * var(--f,1));color:var(--muted);justify-content:space-between;gap:24px;margin-top:auto;line-height:1.4;display:flex}.sheet-row{grid-template-columns:var(--cols);border-top:1px solid var(--dash);display:grid}.sheet-crit-head{padding:calc(4px * var(--f)) 8px;background:var(--ink);color:#fff;font-size:calc(10.5px * var(--f));letter-spacing:.04em;text-transform:uppercase;align-items:center;font-weight:600;display:flex}.sheet-lv{padding:calc(4px * var(--f)) 0;font-family:var(--mono);font-size:calc(14px * var(--f));border-left:1px solid var(--dash);background:var(--t-bg);color:var(--t-fg);justify-content:center;align-items:center;font-weight:600;display:flex}.sheet-band{padding:calc(3px * var(--f)) 8px;background:var(--ink);color:#fff;font-size:calc(10.5px * var(--f));border-top:1px solid var(--ink);align-items:center;gap:8px;font-weight:600;display:flex}.sheet-band b{font-family:var(--mono);font-size:calc(11px * var(--f))}.sheet-name{padding:var(--pad);background:var(--bg);gap:calc(2px * var(--f));font-size:var(--fs);flex-direction:column;font-weight:600;line-height:1.3;display:flex}.sheet-cell{padding:var(--pad);font-size:var(--fs);border-left:1px solid var(--field-line);margin:0;line-height:1.3}.sheet-strip{white-space:nowrap;font-size:calc(var(--fs) * .8);letter-spacing:-.12em;border-left:1px solid var(--field-line);justify-content:center;align-items:center;margin:0;padding:0;font-weight:700;line-height:1;display:flex;overflow:hidden}.hl{background:var(--highlight);font-weight:500}.hl-lo{background:linear-gradient(to right, var(--highlight) 50%, transparent 50%);font-weight:500}.hl-hi{background:linear-gradient(to left, var(--highlight) 50%, transparent 50%);font-weight:500}.sheet-strip.hl{font-weight:700}.res-table{border-collapse:collapse;width:100%;font-size:var(--fs)}.res-table tbody tr:last-child>*{border-bottom:1.5px solid var(--ink)}.res-cell{border-top:1px solid var(--line);border-left:1px solid var(--line-faint);font-size:var(--fs);text-align:center;vertical-align:middle;line-height:1.25;font-weight:inherit;overflow-wrap:anywhere;padding:5px 4px}.res-cell>span{display:block}.res-cell small{color:var(--muted);margin-top:1px;font-size:.85em;display:block}.res-sm{font-size:calc(var(--fs) - 1px)}.res-table tr>:first-child{text-align:left}.res-name{width:1%;padding-inline:7px;font-weight:600}td.res-cell,.res-nowrap{white-space:nowrap}.res-avg{background:var(--bg)}.res-cat{background:#e8f0ef;font-weight:600}.res-tot{background:#cfe6df;font-weight:700}.res-bold{font-weight:700}.res-head{background:var(--ink);color:#fff;border-left-color:var(--ink-2);font-weight:600}.res-light{font-weight:500}.res-caps{text-transform:uppercase;letter-spacing:.04em}.res-accent{background:var(--accent)}.row{flex-wrap:wrap;align-items:center;display:flex}.stack{flex-direction:column;display:flex}.end{align-items:flex-end}.baseline{align-items:baseline}.stretch{align-items:stretch}.between{justify-content:space-between}.right{justify-content:flex-end;margin-left:auto}.nowrap{flex-wrap:nowrap}.no-break{white-space:nowrap}.grow{flex:240px}.grow-lg{flex:320px}.grow-sm{flex:180px}.full{flex:100%}.fixed{flex:none}.min0{min-width:0}.scroll-x{overflow-x:auto}.wrap-any{overflow-wrap:anywhere}.self-start{align-self:flex-start}.self-center{align-self:center}.mt-4{margin-top:4px}.rel{position:relative}.gap-1{gap:1px}.gap-2{gap:2px}.gap-4{gap:4px}.gap-6{gap:6px}.gap-8{gap:8px}.gap-10{gap:10px}.gap-12{gap:12px}.gap-14{gap:14px}.gap-16{gap:16px}.gap-18{gap:18px}.gap-20{gap:20px}.fs-13{font-size:13px}.fs-14{font-size:14px}.fs-15{font-size:15px}.fs-16{font-size:16px}.fs-17{font-size:17px}.fs-18{font-size:18px}.fs-20{font-size:20px}.fs-22{font-size:22px}.fs-24{font-size:24px}.fs-28{font-size:28px}.fs-32{font-size:32px}.fw-500{font-weight:500}.fw-600{font-weight:600}.fw-700{font-weight:700}.lh-1{line-height:1}.lh-tight{line-height:1.2}.lh-body{line-height:1.5}.ink-2{color:var(--ink-2)}@media (width<=600px){.navbar>*{flex:140px}}.ro .edit-only{display:none!important}.ro textarea,.ro input:not([data-nav]),.ro select:not([data-nav]),.ro button[aria-pressed]:not([data-nav]){opacity:.5;pointer-events:none}@page{size:11in 8.5in;margin:0}@media print{body{background:#fff}.no-print{display:none!important}.main{gap:0;max-width:none;margin:0;padding:0}.sheet-wrap{overflow:visible}.sheet-stack{gap:0;width:auto;margin:0}.sheet-page{border:0;width:11in;height:8.5in;min-height:0;overflow:hidden}.sheet-page:last-child{break-after:auto;page-break-after:auto}.sheet-page.results-sheet,.sheet-page.rubric-sheet{break-after:auto;page-break-after:auto;width:auto;height:auto;overflow:visible}.res-table thead{display:table-header-group}.res-table tr{break-inside:avoid;page-break-inside:avoid}}
