@import"https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css";.brand-wordmark{--brand-mark-h: 22px;display:inline-flex;align-items:center;gap:calc(var(--brand-mark-h) * .3);line-height:1}.brand-wordmark img{display:block;height:var(--brand-mark-h);width:auto}.brand-wordmark-dot{width:calc(var(--brand-mark-h) * .2);height:calc(var(--brand-mark-h) * .2);border-radius:50%;background:#27f;flex:none}.brand-wordmark-ssam{font-family:var(--font-body);font-weight:700;font-size:calc(var(--brand-mark-h) * 1.12);letter-spacing:0;line-height:1;color:#27f}.brand-symbol{display:inline-flex;align-items:center;gap:8px;line-height:1}.brand-symbol img{display:block;height:24px;width:auto}.materials-filters{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:end;margin-bottom:var(--space-5)}.materials-filters .field:first-child{flex:1 1 15rem}.materials-filters .field{min-width:0}.material-name{display:block;overflow-wrap:anywhere}.materials-page .status-summary{min-width:0;max-width:24rem;overflow-wrap:anywhere}.materials-page .table{table-layout:fixed}.materials-page .table th:first-child{width:38%}.materials-page .table th:nth-child(2){width:10%}.materials-page .table th:nth-child(3){width:30%}.materials-page .record-action{display:flex;flex-wrap:wrap;gap:var(--space-2)}@media(max-width:40rem){.materials-filters .field{flex:1 1 40%}.materials-filters .field:first-child{flex-basis:65%}}.materials-page .material-title{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2)}.materials-page .material-title .material-name{min-width:0;padding-top:var(--space-1)}.materials-page .material-title .material-rename{flex:none;margin-block:calc(-1 * var(--space-1));margin-inline-end:calc(-1 * var(--space-3))}@media(hover:hover)and (pointer:fine){.materials-page .material-rename{opacity:0}.materials-page tr:hover .material-rename,.materials-page tr:focus-within .material-rename,.materials-page .material-card:hover .material-rename,.materials-page .material-card:focus-within .material-rename{opacity:1}}.materials-page .material-card{gap:var(--space-2)}.materials-page .material-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2)}.materials-page .material-card-head h3{min-width:0;padding-top:var(--space-2)}.materials-page .material-card-head .material-rename{margin-inline:0 calc(-1 * var(--space-3))}.materials-page .material-card-line{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-3)}.materials-page .material-card-state{display:inline-flex;align-items:center;gap:var(--space-2)}.materials-page .material-card-action{margin-inline-start:auto;text-align:end}.materials-page .material-card-notes{max-width:none}.materials-page .material-card-notes:empty{display:none}.materials-page .material-card-notes p:first-child{margin-top:0}.materials-page .material-card-notes p{max-width:none}.materials-page .auto-check-failed{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-2)}.materials-page .auto-check-failed .field-error{margin:0}.materials-page .table-region{margin-top:var(--space-2)}.upload-form{min-width:0}.upload-aside{padding:var(--space-5);background:var(--surface);border:var(--border-width) solid var(--line);border-radius:var(--radius-panel)}.upload-aside p{color:var(--muted)}.upload-fields{border:0;padding:0;margin:0;min-width:0}.upload-fields:disabled{opacity:.7}.upload-metadata{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:var(--space-5)}.upload-page .file-info,.upload-page .field{min-width:0}.upload-page .file-info strong,.upload-filename{overflow-wrap:anywhere}.upload-page .file-input{width:100%;min-width:0}.upload-demo{margin-bottom:var(--space-5);color:var(--muted)}.upload-message,.upload-result{margin-top:var(--space-6)}.upload-result{max-width:40rem}.upload-page progress{accent-color:var(--accent);width:100%}@media(max-width:40rem){.upload-metadata{grid-template-columns:minmax(0,1fr)}.upload-page .file-drop-action{flex-wrap:wrap}}.upload-page .form-section+.form-section{margin-top:var(--space-8)}.upload-page .radio-group legend{margin-bottom:var(--space-2)}.upload-page .radio-option{padding-block:var(--space-3)}.upload-page .upload-attach{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3) var(--space-4);margin-top:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--surface);border:var(--border-width) solid var(--line);border-radius:var(--radius-control)}.upload-page .upload-attach-file{display:flex;align-items:center;gap:var(--space-3);flex:1 1 16rem;min-width:0}.upload-page .upload-attach-file svg{color:var(--muted);flex-shrink:0}.upload-page .upload-attach-file .file-info strong{display:block;font-size:var(--text-base);margin-block:0}.upload-page .upload-attach-note{flex:1 1 16rem;margin:0}.upload-page .upload-attach-actions{display:flex;align-items:center;gap:var(--space-2)}.upload-page .upload-attach-error{margin-top:var(--space-2)}.demo-upload-pick{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap;padding:var(--space-5);margin-bottom:var(--space-6);background:var(--surface);border:var(--border-width) solid var(--accent);border-radius:var(--radius-panel)}.demo-upload-copy{flex:1 1 16rem;min-width:0}.demo-upload-copy h2,.demo-upload-run h2{font-size:var(--text-md)}.demo-upload-run{padding:var(--space-6);background:var(--surface);border:var(--border-width) solid var(--line);border-radius:var(--radius-panel)}.demo-upload-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4)}.demo-upload-steps{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-5);list-style:none;padding:0;margin:0}.demo-upload-steps li{display:flex;align-items:center;gap:var(--space-2);color:var(--muted)}.demo-upload-steps li[data-state=done],.demo-upload-steps li[data-state=current]{color:var(--ink)}.demo-upload-dot{display:inline-grid;place-items:center;width:1.25rem;height:1.25rem;border-radius:999px;border:var(--border-width) solid var(--line);font-size:var(--text-xs)}.demo-upload-steps li[data-state=done] .demo-upload-dot{background:var(--accent);border-color:var(--accent);color:var(--surface)}.demo-upload-steps li[data-state=current] .demo-upload-dot{border-color:var(--accent);color:var(--accent)}.demo-upload-pages{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:var(--space-4)}.demo-upload-page{margin:0;display:grid;gap:var(--space-2)}.demo-upload-sheet{position:relative;border:var(--border-width) solid var(--line);border-radius:var(--radius-control);overflow:hidden;background:var(--surface)}.demo-upload-sheet img{display:block;width:100%;height:auto}.demo-upload-box{position:absolute;border:2px solid var(--accent);border-radius:2px}.demo-upload-box b{position:absolute;top:-1px;left:-1px;padding:0 4px;background:var(--accent);color:var(--surface);font-size:10px;line-height:14px}.class-page .page-header p,.class-item-name,.class-name-cell{overflow-wrap:anywhere}.class-item{align-items:flex-start}.class-item-name{min-width:0}.class-code{margin-bottom:var(--space-2)}.class-code-note{flex-basis:100%}.class-code-note:empty{display:none}.class-roster-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.class-roster-head h2{display:flex;align-items:baseline;gap:var(--space-2)}.class-filter-note{margin-bottom:var(--space-3);max-width:640px}.class-table .title-cell{min-width:120px}.class-notice{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-4);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-4);background:var(--surface);border:var(--border-width) solid var(--line);border-radius:var(--radius-panel);font-size:var(--text-sm)}.class-notice:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.class-help-list{display:flex;flex-direction:column;gap:var(--space-3);padding-left:var(--space-5);margin:0;font-size:var(--text-sm);color:var(--muted);max-width:720px}.class-help-list strong{color:var(--ink)}.student-card{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.student-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.student-card-head h3{font-size:var(--text-base);font-weight:650;line-height:var(--leading-tight);overflow-wrap:anywhere;min-width:0}.student-card-head .badge{padding-top:2px}.student-card-meta{font-size:var(--text-sm);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-card-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.roster-sheet-title{font-size:var(--text-base)}.roster-bulk{padding-top:var(--space-5);border-top:var(--border-width) solid var(--line)}.roster-file{cursor:pointer}.roster-file:focus-within{outline:2px solid var(--accent);outline-offset:3px}.roster-problems{display:flex;flex-direction:column;gap:var(--space-1);margin:0;padding-left:var(--space-5);font-size:var(--text-sm);color:var(--warning);overflow-wrap:anywhere}.single-task{max-width:480px;margin-inline:auto;display:flex;flex-direction:column;gap:var(--space-6)}.single-task .page-header{margin-bottom:0}.single-task .page-header p,.join-facts dd{overflow-wrap:anywhere}.join-facts{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-2) var(--space-5);margin:0;padding-block:var(--space-4);border-block:var(--border-width) solid var(--line);font-size:var(--text-sm)}.join-facts dt{color:var(--muted)}.join-facts dd{margin:0;font-weight:600}.join-state{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);background:var(--surface);border:var(--border-width) solid var(--line);border-radius:var(--radius-panel)}.join-state:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.login-code-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2)}.class-item small{white-space:nowrap}@media(max-width:700px){.class-item{max-width:240px}}.class-dist-list{display:flex;flex-direction:column;margin:0;padding:0;list-style:none;border-top:var(--border-width) solid var(--line)}.class-dist-item{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3) 0;border-bottom:var(--border-width) solid var(--line)}.class-dist-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2)}.class-dist-name{min-width:0;overflow-wrap:anywhere;font-weight:600}.monitor{gap:var(--space-5)}.monitor-notice{margin:0;padding:var(--space-3) var(--space-4);border:var(--border-width) solid var(--line);border-radius:var(--radius-panel);background:transparent;color:var(--ink);font-size:var(--text-sm);line-height:var(--leading-body)}.monitor-notice[data-tone=warning]{border-color:var(--warning);background:var(--surface);color:var(--warning)}.monitor-notice[data-tone=danger]{border-color:var(--danger);background:var(--surface);color:var(--danger)}.monitor-session{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.monitor-session .select{max-width:24rem}.monitor-classes{display:flex;flex-wrap:wrap;gap:var(--space-2);border-bottom:var(--border-width) solid var(--line);padding-bottom:var(--space-2)}.monitor-class{padding:var(--space-2) var(--space-3);border:var(--border-width) solid transparent;border-radius:var(--radius-control);background:none;color:var(--muted)}.monitor-class[aria-selected=true]{border-color:var(--accent);background:var(--surface);color:var(--ink);font-weight:650}.monitor-overview{display:grid;grid-template-columns:minmax(12rem,auto) auto minmax(0,1fr);align-items:center;gap:var(--space-4) var(--space-10);padding:var(--space-5) var(--space-6);background:var(--surface);border:var(--border-width) solid var(--line);border-radius:var(--radius-panel)}.monitor-countdown,.monitor-summary{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.monitor-strip{grid-column:1 / -1;padding-top:var(--space-4);border-top:var(--border-width) solid var(--line)}.monitor-countdown-label,.monitor-summary-main{font-size:var(--text-sm);color:var(--muted)}.monitor-countdown-value{font-size:2.25rem;font-weight:600;line-height:var(--leading-tight);letter-spacing:-.03em;font-variant-numeric:tabular-nums}.monitor-countdown[data-due=soon] .monitor-countdown-value{color:var(--attention)}.monitor-summary-main strong{font-size:var(--text-lg);color:var(--ink)}.monitor-summary-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;margin-top:auto;padding-top:var(--space-2)}.monitor-groups{display:grid;grid-template-columns:minmax(0,1fr);background:var(--surface);border:var(--border-width) solid var(--line);border-radius:var(--radius-panel)}.monitor-group{display:grid;grid-template-columns:12rem minmax(0,1fr);align-content:start;gap:var(--space-2) var(--space-6);padding:var(--space-5) var(--space-6);min-width:0}.monitor-group+.monitor-group{border-top:var(--border-width) solid var(--line)}.monitor-group>:not(.monitor-students){grid-column:1}.monitor-group>.monitor-students,.monitor-group>.monitor-students+p,.monitor-group>p:last-child{grid-column:2;grid-row:1 / span 2}.monitor-group h2{font-size:var(--text-md)}.monitor-group-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.monitor-group-count{color:var(--muted);font-weight:400;font-size:var(--text-base)}.monitor-students{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));align-content:start;column-gap:var(--space-6)}.monitor-student{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-1) var(--space-3);padding:var(--space-2) 0;border-bottom:var(--border-width) solid var(--subtle);min-width:0}.monitor-student-name{color:var(--ink);font-weight:600;overflow-wrap:anywhere}.monitor-student-detail{overflow-wrap:anywhere}.monitor-eyebrow{display:inline-flex;align-items:center;gap:var(--space-3)}.monitor-preview{margin:0;padding-left:var(--space-5);display:flex;flex-direction:column;gap:var(--space-1)}.monitor-skeleton{height:4.5rem}.monitor-help summary{cursor:pointer;color:var(--muted);font-size:var(--text-sm);padding:var(--space-2) 0}.monitor-help ul{margin:0;padding-left:var(--space-5);color:var(--muted);font-size:var(--text-sm);display:flex;flex-direction:column;gap:var(--space-1)}@media(max-width:1050px){.monitor-overview{grid-template-columns:auto minmax(0,1fr)}.monitor-overview>.monitor-countdown{grid-column:1 / -1}}@media(max-width:760px){.monitor-overview,.monitor-group{grid-template-columns:minmax(0,1fr);padding-inline:var(--space-4)}.monitor-group>.monitor-students,.monitor-group>.monitor-students+p,.monitor-group>p:last-child{grid-column:1;grid-row:auto}}.monitor-group>p.monitor-group-foot{grid-column:1 / -1;grid-row:auto;margin:0;font-size:var(--text-xs);color:var(--muted)}.monitor-student-name.text-link{color:var(--ink)}.report-page{display:flex;flex-direction:column;gap:var(--space-6)}.report-page .page-header{margin-bottom:0}.report-page .page-header h1,.report-page .page-header p{overflow-wrap:anywhere}.report-page .section{margin-top:var(--space-4)}.report-page .section-heading p{margin-top:var(--space-2)}.report-actions{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-2)}.report-reason,.report-footnote{font-size:var(--text-sm);color:var(--muted);max-width:420px}.report-footnote{margin-top:var(--space-4);max-width:760px}.report-round{max-width:420px}.report-notes{display:flex;flex-direction:column;gap:var(--space-3)}.report-notice{padding:var(--space-3) var(--space-4);background:var(--surface);border:var(--border-width) solid var(--line);border-radius:var(--radius-panel);font-size:var(--text-sm);overflow-wrap:anywhere}.report-notice strong{color:var(--warning);font-weight:650}.report-summary{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-5);padding-top:var(--space-4);border-top:var(--border-width) solid var(--ink)}.summary-lead{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-4) var(--space-12)}.summary-lead p{display:flex;flex-direction:column;gap:var(--space-1)}.summary-label,.summary-list dt{font-size:var(--text-xs);color:var(--muted)}.summary-label{font-weight:650;letter-spacing:.08em;color:var(--ink)}.summary-figure{font-size:var(--text-display);font-weight:600;line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.summary-lead p:first-child .summary-figure{font-size:var(--text-figure);line-height:.9;letter-spacing:-.04em}.summary-of{font-size:var(--text-xl);font-weight:500;color:var(--muted)}.report-heat{padding-block:var(--space-5)}.summary-note{font-size:var(--text-sm);color:var(--muted)}.summary-list{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-6);margin:0;font-size:var(--text-sm)}.summary-list>div{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 var(--space-2)}.summary-list dd{margin:0}.summary-list .number{font-weight:650}.report-folded{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-1) var(--space-3);color:var(--muted);margin-bottom:var(--space-2)}.report-page .table td{padding-block:var(--space-3)}.report-name{overflow-wrap:anywhere}.report-name-cell{min-width:120px;max-width:220px}.report-note-cell{min-width:140px;color:var(--muted)}.question-table th,.question-table td{white-space:nowrap}.question-table .choice-cell{min-width:3.5rem}.question-table .answer-cell{width:3rem;min-width:3rem;font-weight:650}.choice-correct,.choice-wrong,.rate{display:inline-flex;align-items:baseline;gap:var(--space-1)}.choice-correct{font-weight:650}.choice-wrong{color:var(--danger);font-weight:650}.choice-zero{color:var(--muted)}.choice-mark{font-size:var(--text-xs);font-weight:600}.rate{align-items:center;gap:var(--space-2)}.rate-bar,.rate-bar-none{display:inline-block;width:56px;height:4px;flex-shrink:0}.rate-bar{background:var(--track);border-radius:2px;overflow:hidden}.rate-bar>span{display:block;height:100%;background:var(--data-3)}.rate-low .rate-bar>span{background:var(--data-4)}.report-help ul{margin:0;padding-left:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--text-sm);color:var(--muted);max-width:760px}.report-loading{display:flex;flex-direction:column;gap:var(--space-3)}.report-loading .report-loading-lead{height:72px;max-width:520px}.report-loading .report-loading-row{height:40px}@media(max-width:700px){.report-page .page-header{flex-direction:column}.report-actions{align-items:flex-start}.report-summary{gap:var(--space-5)}.summary-lead p:first-child .summary-figure{font-size:4rem}.summary-list{gap:var(--space-4) var(--space-6)}}.report-name.text-link{color:var(--ink)}:root[data-tone]{--success: var(--ink);--tone-brand: #2277ff;--tone-due: #b4470f}:root[data-tone]:is([data-accent=brand-min],[data-accent=brand],[data-accent=brand-strong]){--accent: #1a66e6;--accent-hover: #1559d6;--accent-soft: #eaf1fe;--tone-mark: var(--ink);--tone-wordmark: var(--tone-brand)}:root[data-tone]:is([data-accent=brand],[data-accent=brand-strong]){--tone-mark: var(--accent)}:root[data-tone][data-accent=brand-strong]{--tone-data: var(--accent);--tone-heat-0: #eef3fd;--tone-heat-1: #cfdffb;--tone-heat-2: #93b8f5;--tone-heat-3: #1a66e6;--tone-heat-4: #0f3f94}:root[data-tone][data-accent=ink]{--accent: #1b1a17;--accent-hover: #3a3833;--accent-soft: #f1efe9;--tone-mark: #b4470f;--tone-wordmark: var(--ink)}:root[data-tone][data-canvas=cool]{--tone-paper: #f3f5f8;--line: #dfe3ea;--control-line: #a3aab6;--subtle: #eceff4;--canvas: #f8f9fb;--ink: #1a1d23;--muted: #5f6673;--tone-track: #e7eaef}:root[data-tone][data-canvas=cool]:not([data-accent=brand-strong]){--tone-heat-0: #eef1f5;--tone-heat-1: #d3d9e2;--tone-heat-2: #a2aab7;--tone-heat-3: #5f6673;--tone-heat-4: #1a1d23}:root[data-tone] :focus-visible{outline-color:var(--tone-mark)}:root[data-tone] .brand{color:var(--tone-wordmark)}:root[data-tone] .nav-link[aria-current=page]:after{background:var(--tone-mark)}:root[data-tone] .text-link{color:var(--tone-mark)}:root[data-tone] .text-link:hover{text-decoration:underline}:root[data-tone] .monitor-class[aria-selected=true]{border-color:var(--tone-mark);color:var(--ink)}:root[data-tone]:is([data-accent=brand],[data-accent=brand-strong]) .tone-screen .tone-live>.badge{color:var(--accent)}:root[data-tone]:is([data-accent=brand],[data-accent=brand-strong]) .tone-screen .tone-live>.badge:before{background:currentColor}:root[data-tone][data-accent=brand-strong] .tone-lead-figure,:root[data-tone][data-accent=brand-strong] .tone-screen .summary-lead p:first-child .summary-figure{color:var(--accent)}:root[data-tone][data-accent=brand-strong] .tone-screen .table tbody tr:hover{background:var(--accent-soft)}:root[data-tone][data-accent=brand-strong] .tone-screen .rate:not(.rate-low) .rate-bar>span{background:var(--tone-heat-3)}:root[data-tone] .tone-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-6);padding-bottom:var(--space-3);margin-bottom:var(--space-8);border-bottom:var(--border-width) solid var(--line);font-family:var(--font-body);font-size:var(--text-xs);line-height:1.4}:root[data-tone] .tone-bar-title{color:var(--muted)}:root[data-tone] .tone-bar-group{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1)}:root[data-tone] .tone-bar-label{color:var(--muted);margin-inline-end:var(--space-1)}:root[data-tone] .tone-bar-link{padding:2px var(--space-2);border-radius:var(--radius-control);color:var(--muted);white-space:nowrap}:root[data-tone] .tone-bar-link:hover{color:var(--ink)}:root[data-tone] .tone-bar-link[aria-current=page]{color:var(--ink);font-weight:650;background:var(--subtle)}:root[data-tone] .tone-row-meta{display:block;margin-top:var(--space-1);font-size:var(--text-xs);font-weight:400;color:var(--muted)}:root[data-tone] .tone-plain-button{padding:0;border:0;background:none;font:inherit}:root[data-tone] .tone-count{margin-bottom:var(--space-2)}:root[data-tone] .monitor-student-name{color:var(--ink)}:root[data-tone] .material-card-state .status-summary{min-width:0}:root[data-tone] .tone-screen .action-cell{white-space:normal}:root:is([data-tone=a],[data-tone=d]){--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-md: 1rem}:root:is([data-tone=a],[data-tone=d]) body{font-variant-numeric:tabular-nums}:root:is([data-tone=a],[data-tone=d]) .brand{font-weight:700;letter-spacing:-.02em}:root:is([data-tone=a],[data-tone=d]) .tone-screen .page-header h1{font-size:2.75rem;font-weight:700;line-height:1.15;letter-spacing:-.035em}:root:is([data-tone=a],[data-tone=d]) .tone-screen .page-header p{font-size:var(--text-base)}:root:is([data-tone=a],[data-tone=d]) .tone-screen .eyebrow{font-size:.6875rem;font-weight:650;letter-spacing:.12em;color:var(--ink)}:root:is([data-tone=a],[data-tone=d]) .tone-screen .section-heading h2,:root:is([data-tone=a],[data-tone=d]) .tone-screen .monitor-group h2{font-size:1.375rem;font-weight:700;letter-spacing:-.035em}:root:is([data-tone=a],[data-tone=d]) .tone-lead{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"label label" "line note";align-items:end;gap:var(--space-2) var(--space-8);padding-block:var(--space-5) var(--space-6);margin-bottom:var(--space-8);border-block:var(--border-width) solid var(--ink)}:root:is([data-tone=a],[data-tone=d]) .tone-lead-label{grid-area:label;font-size:var(--text-xs);font-weight:650;letter-spacing:.08em}:root:is([data-tone=a],[data-tone=d]) .tone-lead-line{grid-area:line;display:flex;align-items:baseline;gap:var(--space-2)}:root:is([data-tone=a],[data-tone=d]) .tone-lead-figure{font-size:6rem;font-weight:600;line-height:.9;letter-spacing:-.04em}:root:is([data-tone=a],[data-tone=d]) .tone-lead-unit{font-size:1.75rem;font-weight:600;color:var(--muted)}:root:is([data-tone=a],[data-tone=d]) .tone-lead-note{grid-area:note;display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2) var(--space-4);padding-bottom:var(--space-2);max-width:38rem;color:var(--muted);font-size:var(--text-sm)}:root:is([data-tone=a],[data-tone=d]) .tone-screen .table th{font-size:.6875rem;font-weight:650;letter-spacing:.06em;color:var(--ink);border-top:var(--border-width) solid var(--ink)}:root:is([data-tone=a],[data-tone=d]) .tone-screen .table td{padding-block:var(--space-3)}:root:is([data-tone=a],[data-tone=d]) .tone-screen .table .title-cell{font-size:var(--text-base)}:root:is([data-tone=a],[data-tone=d]) .tone-screen .badge{font-size:var(--text-sm)}:root:is([data-tone=a],[data-tone=d]) .tone-screen .summary-lead{align-items:flex-end;gap:var(--space-4) var(--space-12)}:root:is([data-tone=a],[data-tone=d]) .tone-screen .summary-figure{font-size:2.5rem;font-weight:600;letter-spacing:-.03em}:root:is([data-tone=a],[data-tone=d]) .tone-screen .summary-lead p:first-child .summary-figure{font-size:6rem;line-height:.9;letter-spacing:-.04em}:root:is([data-tone=a],[data-tone=d]) .tone-screen .summary-label{font-weight:650;letter-spacing:.08em;color:var(--ink)}:root:is([data-tone=a],[data-tone=d]) .tone-screen .report-summary{border-bottom-color:var(--ink)}:root:is([data-tone=a],[data-tone=d]) .tone-screen .monitor-countdown{border:0;padding:0;background:none}:root:is([data-tone=a],[data-tone=d]) .tone-screen .monitor-countdown-value{font-weight:600;font-size:2rem}:root[data-tone=a] .tone-screen .badge:before{display:none}:root[data-tone=a] .tone-screen .badge{font-weight:650}:root[data-tone=a] .materials-filters{margin-bottom:var(--space-8)}:root[data-tone=a] .monitor-overview{grid-template-columns:minmax(0,1fr)}:root[data-tone=a] .monitor-notice{border:0;border-radius:0;padding:0;background:none;color:var(--muted)}:root[data-tone=a] .monitor-groups{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,2fr);gap:var(--space-10);margin-top:var(--space-4)}:root[data-tone=a] .monitor-group{border:0;border-top:var(--border-width) solid var(--ink);border-radius:0;padding:var(--space-4) 0 0}:root[data-tone=a] .monitor-group[data-state=SUBMITTED] .monitor-students{display:block;columns:2;column-gap:var(--space-8)}:root[data-tone=a] .monitor-group[data-state=SUBMITTED] .monitor-student{break-inside:avoid}:root[data-tone=a] .monitor-student:first-child{border-top:var(--border-width) solid var(--line)}:root[data-tone=a] .monitor-student{padding-block:var(--space-2)}@media(max-width:1050px){:root[data-tone=a] .monitor-groups{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}:root[data-tone=a] .monitor-group[data-state=SUBMITTED]{grid-column:1 / -1}}@media(max-width:700px){:root:is([data-tone=a],[data-tone=d]) .tone-screen .page-header h1{font-size:2rem}:root:is([data-tone=a],[data-tone=d]) .tone-lead{grid-template-columns:minmax(0,1fr);grid-template-areas:"label" "line" "note"}:root:is([data-tone=a],[data-tone=d]) .tone-lead-figure,:root:is([data-tone=a],[data-tone=d]) .tone-screen .summary-lead p:first-child .summary-figure{font-size:4.5rem}:root[data-tone=a] .monitor-groups{grid-template-columns:minmax(0,1fr);gap:var(--space-8)}:root[data-tone=a] .monitor-group[data-state=SUBMITTED] .monitor-students{columns:1}}:root:is([data-tone=b],[data-tone=d]){--tone-paper: #f4f3ef;--line: #e3e0d8;--control-line: #aaa69c;--subtle: #efede7;--canvas: #faf9f6;--ink: #1f1e1b;--muted: #6b6860;--warning: var(--ink);--info: var(--muted);--danger: #8a3b2e;--radius-sheet: 10px}:root:is([data-tone=b],[data-tone=d]) body,:root:is([data-tone=b],[data-tone=d]) .app-header{background:var(--tone-paper)}:root:is([data-tone=b],[data-tone=d]) .tone-screen .badge:before{background:var(--control-line)}:root:is([data-tone=b],[data-tone=d]) .tone-screen .badge{color:var(--ink)}:root:is([data-tone=b],[data-tone=d]) .tone-screen .badge-danger{color:var(--danger)}:root:is([data-tone=b],[data-tone=d]) .tone-sheet{background:var(--surface);border:var(--border-width) solid var(--line);border-radius:var(--radius-sheet);padding:var(--space-5) var(--space-6) var(--space-2)}:root:is([data-tone=b],[data-tone=d]) .tone-screen .table tbody tr:hover{background:var(--canvas)}:root:is([data-tone=b],[data-tone=d]) .tone-screen .table tbody tr:last-child td{border-bottom:0}:root:is([data-tone=b],[data-tone=d]) .tone-screen .pagination{border-top:var(--border-width) solid var(--line);padding-block:var(--space-3)}:root:is([data-tone=b],[data-tone=d]) .report-page .tone-sheet.section{margin-top:0}:root:is([data-tone=b],[data-tone=d]) .monitor-overview,:root:is([data-tone=b],[data-tone=d]) .monitor-groups{gap:0;background:var(--surface);border:var(--border-width) solid var(--line);border-radius:var(--radius-sheet)}:root:is([data-tone=b],[data-tone=d]) .monitor-countdown,:root:is([data-tone=b],[data-tone=d]) .monitor-summary{border:0;border-radius:0;padding:var(--space-5) var(--space-6);background:none}:root:is([data-tone=b],[data-tone=d]) .monitor-groups{grid-template-columns:minmax(0,1fr)}:root:is([data-tone=b],[data-tone=d]) .monitor-group{display:grid;grid-template-columns:11rem minmax(0,1fr);gap:var(--space-2) var(--space-6);border:0;border-radius:0;padding:var(--space-5) var(--space-6)}:root:is([data-tone=b],[data-tone=d]) .monitor-group+.monitor-group{border-top:var(--border-width) solid var(--line)}:root:is([data-tone=b],[data-tone=d]) .monitor-group>p{grid-column:1}:root:is([data-tone=b],[data-tone=d]) .monitor-students{grid-column:2;grid-row:1 / span 2;display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));align-content:start;column-gap:var(--space-6)}:root:is([data-tone=b],[data-tone=d]) .monitor-student,:root:is([data-tone=b],[data-tone=d]) .monitor-student:first-child{border-top:0;border-bottom:var(--border-width) solid var(--subtle)}:root:is([data-tone=b],[data-tone=d]) .monitor-notice{border-color:var(--line);background:transparent}:root[data-tone=b] .monitor-overview{grid-template-columns:minmax(12rem,1fr) 2fr;gap:var(--border-width);background:var(--line);overflow:hidden}:root[data-tone=b] .monitor-overview>*{background:var(--surface)}:root[data-tone=b] .tone-screen .page-header h1{font-weight:650;letter-spacing:-.03em}@media(max-width:760px){:root[data-tone=b] .monitor-overview{grid-template-columns:minmax(0,1fr)}:root:is([data-tone=b],[data-tone=d]) .monitor-group{grid-template-columns:minmax(0,1fr);padding-inline:var(--space-4)}:root:is([data-tone=b],[data-tone=d]) .monitor-group>p,:root:is([data-tone=b],[data-tone=d]) .monitor-students{grid-column:1;grid-row:auto}}@media(max-width:700px){:root:is([data-tone=b],[data-tone=d]) .tone-sheet{padding-inline:var(--space-4)}}:root:is([data-tone=c],[data-tone=d]){--tone-heat-0: #f1f0ec;--tone-heat-1: #d9d6ce;--tone-heat-2: #a9a59b;--tone-heat-3: #6b6860;--tone-heat-4: #1f1e1b;--tone-track: #ecebe7;--tone-data: var(--ink)}:root:is([data-tone=c],[data-tone=d]) .tone-screen{font-variant-numeric:tabular-nums}:root:is([data-tone=c],[data-tone=d]) .tone-due{color:var(--tone-due);font-weight:650}:root:is([data-tone=c],[data-tone=d]) .tone-screen .monitor-countdown-value{color:var(--tone-due)}:root:is([data-tone=c],[data-tone=d]) .tone-screen .table tbody tr{transition:background-color var(--motion-fast) var(--ease-standard)}:root:is([data-tone=c],[data-tone=d]) .tone-trend{display:inline-flex;align-items:center;gap:var(--space-2);white-space:nowrap}:root:is([data-tone=c],[data-tone=d]) .tone-spark{flex-shrink:0;overflow:visible;stroke:var(--tone-data);stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}:root:is([data-tone=c],[data-tone=d]) .tone-spark circle{fill:var(--tone-data);stroke:none}:root:is([data-tone=c],[data-tone=d]) .tone-spark-guide{stroke:var(--line);stroke-width:1;stroke-dasharray:2 2}:root:is([data-tone=c],[data-tone=d]) .tone-trend-cell{white-space:nowrap}:root:is([data-tone=c],[data-tone=d]) .tone-mobile-trend{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-xs);color:var(--muted)}:root:is([data-tone=c],[data-tone=d]) .materials-page .table th:first-child{width:32%}:root:is([data-tone=c],[data-tone=d]) .materials-page .table th:nth-child(3){width:24%}:root:is([data-tone=c],[data-tone=d]) .materials-page .table th:nth-child(4){width:15%}:root:is([data-tone=c],[data-tone=d]) .tone-meter{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--ink);white-space:nowrap}:root:is([data-tone=c],[data-tone=d]) .tone-meter-track{width:64px;height:4px;background:var(--tone-track);border-radius:2px;overflow:hidden}:root:is([data-tone=c],[data-tone=d]) .tone-meter-track>span{display:block;height:100%;background:var(--tone-data);transition:width var(--motion-fast) var(--ease-standard)}:root:is([data-tone=c],[data-tone=d]) .tone-ring{display:flex;align-items:center;gap:var(--space-4);margin:0;padding:var(--space-4)}:root:is([data-tone=c],[data-tone=d]) .tone-ring circle{fill:none;stroke-width:7}:root:is([data-tone=c],[data-tone=d]) .tone-ring-track{stroke:var(--tone-track)}:root:is([data-tone=c],[data-tone=d]) .tone-ring-value{stroke:var(--tone-data);transition:stroke-dashoffset var(--motion-fast) var(--ease-standard)}:root:is([data-tone=c],[data-tone=d]) .tone-ring figcaption{display:flex;flex-direction:column;font-size:var(--text-sm);color:var(--muted)}:root:is([data-tone=c],[data-tone=d]) .tone-ring figcaption strong{font-size:var(--text-xl);line-height:var(--leading-tight);color:var(--ink)}:root:is([data-tone=c],[data-tone=d]) .tone-strip-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-5)}:root:is([data-tone=c],[data-tone=d]) .tone-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(8px,18px);gap:3px;flex:1 1 18rem;max-width:36rem;margin:0;padding:0;list-style:none}:root:is([data-tone=c],[data-tone=d]) .tone-strip li,:root:is([data-tone=c],[data-tone=d]) .tone-strip-legend span:before{height:22px;border-radius:2px;background:var(--tone-track)}:root:is([data-tone=c],[data-tone=d]) .tone-strip li[data-state=SUBMITTED],:root:is([data-tone=c],[data-tone=d]) .tone-strip-legend [data-state=SUBMITTED]:before{background:var(--tone-data)}:root:is([data-tone=c],[data-tone=d]) .tone-strip li[data-state=IN_PROGRESS],:root:is([data-tone=c],[data-tone=d]) .tone-strip-legend [data-state=IN_PROGRESS]:before{background:var(--tone-heat-2)}:root:is([data-tone=c],[data-tone=d]) .tone-strip li[data-state=UNLINKED],:root:is([data-tone=c],[data-tone=d]) .tone-strip-legend [data-state=UNLINKED]:before{background:var(--surface);border:var(--border-width) solid var(--tone-heat-3)}:root:is([data-tone=c],[data-tone=d]) .tone-strip-legend{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-4);font-size:var(--text-xs);color:var(--muted)}:root:is([data-tone=c],[data-tone=d]) .tone-strip-legend span{display:inline-flex;align-items:center;gap:var(--space-1)}:root:is([data-tone=c],[data-tone=d]) .tone-strip-legend span:before{content:"";width:8px;height:12px}:root:is([data-tone=c],[data-tone=d]) .tone-heat{display:flex;flex-direction:column;gap:var(--space-2);margin:0}:root:is([data-tone=c],[data-tone=d]) .tone-heat figcaption{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-3);font-size:var(--text-sm);font-weight:650}:root:is([data-tone=c],[data-tone=d]) .tone-heat figcaption .muted{font-weight:400}:root:is([data-tone=c],[data-tone=d]) .tone-heat ol{display:grid;grid-template-columns:repeat(20,minmax(0,1fr));gap:2px;margin:0;padding:0;list-style:none;max-width:52rem}:root:is([data-tone=c],[data-tone=d]) .tone-heat li{display:flex;align-items:flex-end;justify-content:center;height:36px;padding-bottom:3px;border-radius:2px;font-size:.6875rem;background:var(--tone-heat-0);color:var(--ink)}:root:is([data-tone=c],[data-tone=d]) .tone-heat li[data-level="1"]{background:var(--tone-heat-1)}:root:is([data-tone=c],[data-tone=d]) .tone-heat li[data-level="2"]{background:var(--tone-heat-2)}:root:is([data-tone=c],[data-tone=d]) .tone-heat li[data-level="3"]{background:var(--tone-heat-3);color:var(--surface)}:root:is([data-tone=c],[data-tone=d]) .tone-heat li[data-level="4"]{background:var(--tone-heat-4);color:var(--surface)}:root:is([data-tone=c],[data-tone=d]) .tone-screen .rate-bar>span{background:var(--tone-heat-3)}:root:is([data-tone=c],[data-tone=d]) .tone-screen .rate-low .rate-bar>span{background:var(--tone-heat-4)}:root[data-tone=c]{--text-base: .875rem;--warning: var(--ink)}:root[data-tone=c] .tone-screen .badge:before{display:none}:root[data-tone=c] .tone-screen .badge{color:var(--ink);font-weight:600}:root[data-tone=c] .tone-screen .badge-danger{color:var(--danger)}:root[data-tone=c] .tone-screen .table td{padding-block:var(--space-3)}:root[data-tone=c] .monitor-overview{grid-template-columns:minmax(12rem,1fr) auto 2fr;align-items:center;gap:0;padding-block:var(--space-2);border-block:var(--border-width) solid var(--line)}:root[data-tone=c] .monitor-overview .tone-strip-wrap{grid-column:1 / -1;padding:var(--space-3) var(--space-4) var(--space-2);border-top:var(--border-width) solid var(--line)}:root[data-tone=c] .monitor-countdown,:root[data-tone=c] .monitor-summary{border:0;border-radius:0;background:none}:root[data-tone=c] .monitor-groups{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.6fr);gap:var(--space-8)}:root[data-tone=c] .monitor-group{border:0;border-radius:0;padding:0}:root[data-tone=c] .monitor-group-head{padding-bottom:var(--space-2);border-bottom:var(--border-width) solid var(--ink)}:root[data-tone=c] .monitor-group h2{font-size:var(--text-base)}:root[data-tone=c] .monitor-group-count{font-size:var(--text-base);color:var(--ink);font-weight:650}:root[data-tone=c] .monitor-student{padding-block:var(--space-1)}:root[data-tone=c] .monitor-notice{background:none}@media(max-width:1050px){:root[data-tone=c] .monitor-groups{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}:root[data-tone=c] .monitor-group[data-state=SUBMITTED]{grid-column:1 / -1}}@media(max-width:760px){:root[data-tone=c] .monitor-overview{grid-template-columns:minmax(0,1fr)}:root[data-tone=c] .monitor-groups{grid-template-columns:minmax(0,1fr)}:root:is([data-tone=c],[data-tone=d]) .tone-heat li{height:28px;font-size:.5625rem}}:root[data-tone=d] .tone-screen .badge:before{display:none}:root[data-tone=d] .tone-screen .badge{font-weight:650}:root[data-tone=d] .tone-lead{border-top-color:var(--ink);border-bottom:0;padding-bottom:var(--space-2);margin-bottom:var(--space-6)}:root[data-tone=d] .materials-filters{margin-bottom:var(--space-6)}:root[data-tone=d] .tone-screen .monitor-overview{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--space-4) var(--space-12);padding:var(--space-5) var(--space-6)}:root[data-tone=d] .tone-screen .monitor-group h2{font-size:1.125rem}:root[data-tone=d] .tone-heat{padding:var(--space-5) var(--space-6);background:var(--surface);border:var(--border-width) solid var(--line);border-radius:var(--radius-sheet)}:root[data-tone=d] .tone-screen .report-summary{border-bottom:0;padding-bottom:0}:root[data-tone=d] .tone-screen .table th{border-top:0}@media(max-width:700px){:root[data-tone=d] .tone-screen .monitor-overview{grid-template-columns:minmax(0,1fr);padding-inline:var(--space-4)}:root[data-tone=d] .tone-heat{padding-inline:var(--space-4)}}.solve-device{--app-canvas: #f9fafc;--app-paper: #ffffff;--app-ink: #2b2e34;--app-muted: #6e7279;--app-faint: #95989f;--app-line: rgb(105 114 132 / 16%);--app-glass: linear-gradient(180deg, #eef3fb, #e5ecf7);--app-red: #ef5350;container-type:inline-size;position:relative;margin:0}.solve-bezel{background:#16191f;box-shadow:0 0 0 1px #1118272e,0 24px 48px -24px #11182766}.solve-device figcaption{padding-top:var(--space-3);color:var(--muted);font-size:var(--text-sm);text-align:center}.solve-tablet .solve-bezel{padding:3.2cqw;border-radius:6cqw}.solve-phone .solve-bezel{padding:3.4cqw;border-radius:14cqw}.solve-screen{position:relative;display:flex;flex-direction:column;overflow:hidden;background:var(--app-paper);color:var(--app-ink);line-height:1.5;word-break:keep-all;overflow-wrap:anywhere}.solve-tablet .solve-screen{--pt: calc(93.6cqw / 834);aspect-ratio:834 / 1160;border-radius:3cqw;font-size:2.35cqw}.solve-phone .solve-screen{--pt: calc(93.2cqw / 393);aspect-ratio:393 / 852;border-radius:11.5cqw;font-size:4.6cqw}.solve-icon{width:1.35em;height:1.35em;flex-shrink:0}.solve-status{display:flex;justify-content:space-between;align-items:center;padding:.6em 1.6em .3em;font-size:.82em;font-weight:600;background:var(--app-glass)}.solve-status-date{margin-left:.8em}.solve-status-icons{display:flex;gap:.4em}.solve-status .solve-icon{width:1.2em;height:1.2em}.solve-canvas-toolbar{display:flex;align-items:center;gap:1.4em;padding:.55em 1.1em .65em;background:var(--app-glass);border-bottom:1px solid var(--app-line)}.solve-tool-group{display:flex;align-items:center;gap:.55em}.solve-tool{display:grid;place-items:center;width:2.3em;height:2.3em;border-radius:.55em}.solve-tool-on{background:var(--brand);color:#fff}.solve-swatch{display:grid;place-items:center;width:1.7em;height:1.7em;border-radius:.45em}.solve-swatch:after{content:"";width:.85em;height:.85em;border-radius:50%;background:var(--swatch)}.solve-swatch-on{box-shadow:inset 0 0 0 .14em var(--brand)}.solve-width{display:grid;place-items:center;width:1.6em;height:1.9em;border-radius:.45em}.solve-width:after{content:"";width:var(--width);height:var(--width);border-radius:50%;background:var(--app-ink)}.solve-width-on{background:var(--brand)}.solve-width-on:after{background:#fff}.solve-titlebar{display:flex;align-items:center;gap:.6em;padding:.55em 1em;background:var(--app-canvas);border-bottom:1px solid var(--app-line)}.solve-titlebar strong,.solve-phone-titlebar strong{min-width:0;overflow:hidden;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.solve-titlebar-close{margin-left:auto;color:var(--app-faint)}.solve-stage{position:relative;flex:1;min-height:0;background:var(--app-paper)}.solve-page-corner{position:absolute;z-index:2;top:calc(4 * var(--pt));right:calc(16 * var(--pt));display:flex;gap:calc(4 * var(--pt));color:var(--app-ink)}.solve-float-button{display:grid;place-items:center;width:calc(36 * var(--pt));height:calc(36 * var(--pt));border-radius:50%;background:#ffffffdb}.solve-float-button .solve-icon{width:calc(18 * var(--pt));height:calc(18 * var(--pt))}.solve-sheet{position:relative;width:92%;margin:.4em auto 0;aspect-ratio:1200 / 1698;background:var(--app-paper);box-shadow:0 0 0 1px var(--app-line),0 .3em 1.2em #11182714}.solve-tablet[data-fit=page] .solve-sheet{width:100%;margin-top:0}.solve-page-image{display:block;width:100%;height:auto;-webkit-user-select:none;user-select:none}.solve-ink-layer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.solve-choice-region rect{fill:none;stroke:#27f9}.solve-choice-region.is-selected rect{fill:#2277ff1a;stroke:#27fc}.solve-choice-region.is-correct rect{fill:#05c0721a;stroke:#05c072cc}.solve-choice-region.is-incorrect rect{fill:#ef53501a;stroke:#ef5350cc}.solve-choice-region.is-correct-answer rect{fill:none;stroke:#ef5350cc}.solve-choice-check{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;opacity:.6}.is-correct-answer .solve-choice-check{stroke:#ef5350}.solve-ink{fill:none;stroke:var(--app-ink);stroke-linecap:round;stroke-linejoin:round}.solve-mark{fill:none;stroke:var(--app-red);stroke-opacity:.6;stroke-width:4;stroke-linecap:round}.solve-source{margin-top:var(--space-2);color:var(--muted);font-size:var(--text-xs);line-height:1.5}.solve-page-indicator{position:absolute;left:1.2em;bottom:1.4em;padding:.35em .8em;border-radius:.5em;background:#eceef3eb;color:var(--app-muted);font-weight:600;font-variant-numeric:tabular-nums}.solve-floating-toolbar{position:absolute;left:50%;bottom:1em;transform:translate(-50%);display:flex;align-items:center;gap:1.6em;padding:.5em 1.6em;border-radius:2em;background:#ffffffdb;box-shadow:0 0 0 1px var(--app-line),0 .4em 1.2em #1118271a;color:var(--app-ink);font-size:.72em}.solve-floating-toolbar>span{display:flex;flex-direction:column;align-items:center;gap:.2em}.solve-floating-toolbar .solve-icon{width:1.9em;height:1.9em}.solve-floating-primary{color:var(--brand);font-weight:600}.solve-floating-disc{display:grid;place-items:center;width:3em;height:3em;margin-block:-.4em -.1em;border-radius:50%;background:#2277ff1f;box-shadow:inset 0 0 0 .12em #2277ff73}.solve-phone .solve-status{padding:1.2em 2.4em .4em}.solve-phone-titlebar{display:flex;align-items:center;justify-content:space-between;padding:.5em 1em .7em;background:var(--app-glass);border-bottom:1px solid var(--app-line)}.solve-phone-titlebar strong{font-weight:700}.solve-crop{position:relative;overflow:hidden;margin:.4em .6em 0;border-radius:.4em;background:var(--app-paper)}.solve-crop .solve-page-image{position:absolute;max-width:none}.solve-omr{position:absolute;left:.9em;right:.9em;bottom:4em;display:flex;align-items:center;justify-content:space-between;gap:.3em;padding:.5em .8em;border-radius:.8em;background:#f9fafcf5;box-shadow:0 0 0 1px var(--app-line)}.solve-omr-label{font-weight:700;margin-right:.2em}.solve-omr-bubble{display:grid;place-items:center;width:1.8em;height:1.8em;border-radius:50%;box-shadow:inset 0 0 0 1px #69728473;color:var(--app-muted)}.solve-omr-on{background:var(--brand);box-shadow:none;color:#fff;font-weight:700}.solve-floating-compact{left:auto;right:.8em;bottom:.7em;transform:none;gap:.9em;padding:.45em .9em;font-size:1em}.solve-floating-compact .solve-icon{width:1.35em;height:1.35em}.solve-floating-check{color:var(--brand)}.solve-bottom-bar{display:flex;align-items:center;justify-content:space-between;gap:.6em;padding:.8em 1.3em 1.9em;background:var(--app-canvas);border-top:1px solid var(--app-line);color:var(--app-ink)}.solve-tool-active{color:var(--brand)}.solve-bottom-color{width:1.3em;height:1.3em;border-radius:50%;background:var(--app-ink)}.solve-bottom-slider{flex:1;height:.3em;border-radius:.3em;background:linear-gradient(90deg,var(--brand) 0 12%,#dfe3ea 12%)}.solve-devices-group{width:100%;max-width:34rem;margin-inline:auto}.solve-devices{position:relative;width:100%;max-width:34rem;margin-inline:auto;padding:0 12% 6% 0}.solve-devices .solve-phone{position:absolute;right:0;bottom:0;width:36%}.lx-page,.lx-box,.lx-scan{position:absolute}.marketing-hero.lx-hero{position:relative;isolation:isolate}.lx-hero:before{content:"";position:absolute;inset:0 calc(var(--space-8) * -1);z-index:-1;background-image:radial-gradient(circle,var(--neutral-300) 1px,transparent 1.4px);background-size:22px 22px;-webkit-mask-image:linear-gradient(to bottom,#000 10%,transparent 90%);mask-image:linear-gradient(to bottom,#000 10%,transparent 90%);opacity:.6}.lx-hero-title{line-height:var(--leading-tight)}.lx-line{display:inline-block}.lx-line>span{display:inline-block;animation:lx-line-up .9s var(--ease-enter) both}.lx-line+br+.lx-line>span{animation-delay:90ms}.lx-mark{position:relative;font-style:normal;color:var(--accent-ink);white-space:nowrap}.lx-mark:after{content:"";position:absolute;left:-.04em;right:-.04em;bottom:.04em;height:.3em;z-index:-1;background:color-mix(in srgb,var(--brand) 16%,transparent);transform-origin:left center;animation:lx-underline .8s .52s var(--ease-enter) both}.lx-enter{animation:lx-fade-up .7s .16s var(--ease-enter) both}.lx-enter-late{animation-delay:.32s}.lx-rise{animation:lx-line-up .9s .12s var(--ease-enter) both}.lx-hero-flow{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin:0;padding:0;list-style:none;font-size:var(--text-xs);color:var(--muted);counter-reset:lx-flow}.lx-hero-flow li{display:flex;align-items:center;gap:var(--space-2);counter-increment:lx-flow;animation:lx-flow-tick 8s calc((var(--n, 0)) * 2s + 1.2s) 2 both}.lx-hero-flow li:before{content:counter(lx-flow);display:grid;place-items:center;width:1.25rem;height:1.25rem;border:var(--border-width) solid var(--line);border-radius:50%;font-variant-numeric:tabular-nums;background:var(--surface)}.lx-hero-flow li+li{padding-left:var(--space-6);position:relative}.lx-hero-flow li+li:after{content:"";position:absolute;left:var(--space-1);top:50%;width:var(--space-4);height:var(--border-width);background:var(--control-line)}.lx-hero-flow li:nth-child(2){--n: 1}.lx-hero-flow li:nth-child(3){--n: 2}.lx-hero-flow li:nth-child(4){--n: 3}.lx-hero>:last-child{animation:lx-visual-in 1.1s .18s var(--ease-enter) both}.marketing-section.lx-section{display:flex;flex-direction:column;gap:var(--space-10)}.lx-heading{max-width:48rem}.lx-showcase{display:grid;grid-template-columns:minmax(0,19rem) minmax(0,1fr);grid-template-areas:"controls stage" ". source";gap:var(--space-4) var(--space-10);align-items:start}.lx-showcase-reverse{grid-template-columns:minmax(0,1fr) minmax(0,19rem);grid-template-areas:"stage controls" "source ."}.lx-controls{grid-area:controls;position:sticky;top:var(--space-6);display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4)}.lx-stage{grid-area:stage;min-width:0;padding:var(--space-6);background:var(--surface);border:var(--border-width) solid var(--line);border-radius:var(--radius-panel)}.lx-source{grid-area:source}.lx-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6);margin:0;padding:0;list-style:none;font-size:var(--text-sm);color:var(--muted)}.lx-facts li{padding-top:var(--space-4);border-top:var(--border-width) solid var(--line)}.lx-facts strong{display:block;margin-bottom:var(--space-2);color:var(--ink);font-weight:650}.lx-steps{width:100%;margin:0;padding:0;list-style:none}.lx-steps li{position:relative;border-top:var(--border-width) solid var(--line)}.lx-steps li:last-child{border-bottom:var(--border-width) solid var(--line)}.lx-steps button{display:grid;grid-template-columns:1.75rem minmax(0,1fr);gap:var(--space-3);width:100%;padding:var(--space-4) 0;border:0;background:none;color:var(--muted);font:inherit;text-align:left;cursor:pointer}.lx-steps button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.lx-step-no{display:grid;place-items:center;width:1.75rem;height:1.75rem;border:var(--border-width) solid var(--line);border-radius:50%;background:var(--surface);font-size:var(--text-xs);font-weight:650;font-variant-numeric:tabular-nums;transition:background var(--motion-normal) var(--ease-standard),color var(--motion-normal) var(--ease-standard),border-color var(--motion-normal) var(--ease-standard)}.lx-step-text{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-sm)}.lx-step-text strong{font-size:var(--text-md);font-weight:650}.lx-steps li[data-state=done] .lx-step-no{border-color:var(--brand);color:var(--accent-ink)}.lx-steps li[data-state=current] .lx-step-no{border-color:var(--accent-ink);background:var(--accent-ink);color:var(--neutral-0)}.lx-steps li[data-state=current] strong{color:var(--ink)}.lx-steps li[data-state=current] button{color:var(--neutral-700)}.lx-steps button:hover strong{color:var(--ink)}.lx-step-bar{position:absolute;left:0;right:0;top:-1px;height:2px;pointer-events:none}.lx-step-fill{display:block;height:100%;background:var(--brand);transform-origin:left center;animation:lx-fill var(--lx-duration) linear both}.lx-step-fill[data-running=false]{animation-play-state:paused}.lx-step-caption{display:none}.lx-toggle{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--line);border-radius:var(--radius-control);background:var(--surface);color:var(--muted);font:inherit;font-size:var(--text-xs);cursor:pointer}.lx-toggle:hover{color:var(--ink);border-color:var(--control-line)}.lx-toggle:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.lx-toggle svg{width:14px;height:14px}.lx-frame{position:relative;width:100%;overflow:hidden;background:var(--neutral-0);border:var(--border-width) solid var(--line);border-radius:6px;container-type:inline-size}.lx-page img{position:absolute;inset:0;display:block;width:100%;height:100%;-webkit-user-select:none;user-select:none}.lx-skeleton{background:var(--canvas)}.lx-box-line{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.lx-box-line rect{fill:none;stroke:var(--brand);stroke-width:2px;stroke-dasharray:1;stroke-dashoffset:0;animation:lx-draw .7s calc(var(--i, 0) * .26s + .2s) var(--ease-standard) both}.lx-tag{position:absolute;left:-1px;top:0;transform:translateY(-100%);padding:.2em .55em;border-radius:3px 3px 0 0;background:var(--accent-ink);color:var(--neutral-0);font-size:max(10px,2cqw);font-weight:700;line-height:1.4;white-space:nowrap;animation:lx-pop .42s calc(var(--i, 0) * .26s + .65s) var(--ease-enter) both}.lx-convert-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:var(--space-6);align-items:start}.lx-qbox{background:color-mix(in srgb,var(--brand) 4%,transparent)}.lx-convert-stage[data-step="1"] .lx-qbox{background:color-mix(in srgb,var(--brand) 8%,transparent);transition:background .4s var(--ease-standard)}.lx-chip{position:absolute;right:3%;bottom:0;transform:translateY(55%);padding:.35em .75em;border-radius:999px;background:var(--accent-ink);color:var(--neutral-0);font-size:max(10px,2.2cqw);font-weight:700;white-space:nowrap;animation:lx-pop .46s calc(var(--i, 0) * .24s + .15s) var(--ease-enter) both}.lx-scan{left:0;right:0;top:0;height:2px;background:var(--brand);animation:lx-scan 2.6s var(--ease-standard) both}.lx-scan:before{content:"";position:absolute;left:0;right:0;bottom:2px;height:3.5cqw;background:color-mix(in srgb,var(--brand) 7%,transparent)}.lx-panel{display:grid;min-width:0}.lx-panel-view{grid-area:1 / 1;display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.lx-panel-view[data-active=true]{animation:lx-fade-up .5s var(--ease-enter) both}.lx-panel-view:not([data-active=true]){visibility:hidden}.lx-panel-view:not([data-active=true]) *{animation-name:none!important}.lx-panel-title{font-size:var(--text-sm);font-weight:650;color:var(--ink)!important}.lx-panel-note{font-size:var(--text-xs)}.lx-rows{margin:0;padding:0;list-style:none;font-size:var(--text-sm)}.lx-rows li{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:var(--border-width) solid var(--line);color:var(--muted);animation:lx-row .42s calc(var(--i, 0) * .26s + .45s) var(--ease-enter) both}.lx-rows li strong{min-width:2.5rem;color:var(--ink);font-weight:650}.lx-rows li span:last-child{margin-left:auto;font-variant-numeric:tabular-nums}.lx-answer-table{width:100%;border-collapse:collapse;font-size:var(--text-sm);font-variant-numeric:tabular-nums}.lx-answer-table th,.lx-answer-table td{padding:var(--space-3) var(--space-2);border-bottom:var(--border-width) solid var(--line);text-align:left}.lx-answer-table th{font-size:var(--text-xs);font-weight:600;color:var(--muted)}.lx-answer-table tbody tr{animation:lx-row .42s calc(var(--i, 0) * .24s + .15s) var(--ease-enter) both}.lx-answer{color:var(--accent-ink);font-weight:700}.lx-circled{display:inline-grid;place-items:center;width:1.45em;height:1.45em;border:1.5px solid currentColor;border-radius:50%;font-size:.85em;line-height:1;vertical-align:-.2em;font-variant-numeric:tabular-nums}.lx-chip .lx-answer{color:inherit}.lx-panels{--lx-page-share: .936;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto auto;gap:var(--space-4) var(--space-6);align-items:stretch}.lx-panels>figure{grid-row:span 2;display:grid;grid-template-rows:subgrid;row-gap:var(--space-4);min-width:0;margin:0;padding:var(--space-5);background:var(--surface);border:var(--border-width) solid var(--line);border-radius:var(--radius-panel)}.lx-panels>.lx-panel-student{grid-area:1 / 3 / span 2}.lx-panels figcaption p{font-size:var(--text-xs);margin-top:var(--space-2)}.lx-panels>figure>.lx-frame{box-sizing:content-box;width:calc(var(--lx-page-share) * 100%);justify-self:center;align-self:start}.lx-recognized{position:absolute;inset:0}.lx-rbox{position:absolute;box-sizing:border-box;outline:1.5px solid var(--lx-color);outline-offset:0;border-radius:3px;background:none;animation:lx-rbox-in .42s var(--ease-enter) both}.lx-rbox[data-kind=question]{background:color-mix(in srgb,var(--lx-color) 5%,transparent)}.lx-rbox-label{position:absolute;top:0;right:100%;box-sizing:border-box;min-width:14px;height:14px;padding:0 3px;border-radius:3px 0 0 3px;background:var(--lx-color);color:var(--neutral-0);font-size:10px;font-weight:650;line-height:14px;text-align:center;font-variant-numeric:tabular-nums;white-space:nowrap}.lx-legend{grid-row:3;grid-column:1 / -1;justify-self:center;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-2) var(--space-5);font-size:var(--text-xs);color:var(--neutral-700);white-space:nowrap}.lx-legend ul{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);margin:0;padding:0;list-style:none}.lx-legend li{display:inline-flex;align-items:center;gap:var(--space-2)}.lx-legend i{width:10px;height:10px;box-sizing:border-box;border:1.5px solid;border-radius:2px}.lx-legend li strong{color:var(--ink);font-variant-numeric:tabular-nums}.lx-found{display:inline-flex;align-items:center;gap:var(--space-2)}.lx-found>span{color:var(--muted)}.lx-found p{display:flex;gap:var(--space-1)}.lx-found p span{padding:1px var(--space-2);border-radius:4px;background:var(--accent-soft);color:var(--accent-ink);font-variant-numeric:tabular-nums}@keyframes lx-line-up{0%{transform:translateY(.45em)}}@keyframes lx-underline{0%{transform:scaleX(0)}}@keyframes lx-fade-up{0%{opacity:0;transform:translateY(12px)}}@keyframes lx-fade{0%{opacity:0}}@keyframes lx-visual-in{0%{transform:translateY(28px) scale(.985)}}@keyframes lx-flow-tick{0%,to{color:var(--muted)}6%,22%{color:var(--accent-ink)}}@keyframes lx-fill{0%{transform:scaleX(0)}}@keyframes lx-draw{0%{stroke-dashoffset:1}}@keyframes lx-pop{0%{opacity:0;transform:translateY(-100%) scale(.85)}}.lx-chip{animation-name:lx-chip}@keyframes lx-chip{0%{opacity:0;transform:translateY(85%) scale(.85)}}@keyframes lx-scan{0%{top:0}to{top:calc(var(--lx-crop, 1) * 100%);opacity:.2}}@keyframes lx-row{0%{opacity:0;transform:translate(-8px)}}@keyframes lx-rbox-in{0%{opacity:0;transform:scale(.92)}}@keyframes lx-reveal{0%{opacity:0;transform:translateY(28px)}}@keyframes lx-drift{to{translate:0 -6%;scale:.97}}@supports (animation-timeline: view()){@media(prefers-reduced-motion:no-preference){.lx-reveal{animation:lx-reveal linear both;animation-timeline:view();animation-range:entry 0% entry 60%}.lx-stage{animation:lx-reveal linear both;animation-timeline:view();animation-range:entry 0% entry 40%}.lx-hero>:last-child{animation:lx-visual-in 1.1s .18s var(--ease-enter) both,lx-drift linear both;animation-timeline:auto,view();animation-range:normal,exit 0% exit 100%}}}@media(max-width:1100px){.lx-showcase,.lx-showcase-reverse{grid-template-columns:minmax(0,16rem) minmax(0,1fr);grid-template-areas:"controls stage" ". source";gap:var(--space-4) var(--space-6)}.lx-stage{padding:var(--space-4)}}@media(max-width:1100px){.lx-panels>figure{padding:var(--space-4)}}@media(max-width:900px){.lx-panels{grid-template-columns:minmax(0,1fr);grid-template-rows:none;gap:var(--space-4)}.lx-panels>figure,.lx-panels>.lx-panel-student{grid-area:auto;grid-template-rows:auto auto}.lx-legend{grid-row:auto;grid-column:auto;margin-bottom:var(--space-4);white-space:normal}.lx-showcase,.lx-showcase-reverse{grid-template-columns:minmax(0,1fr);grid-template-areas:"controls" "stage" "source"}.lx-controls{position:static;gap:var(--space-3)}.lx-steps{display:flex;flex-wrap:wrap;gap:var(--space-2)}.lx-steps li,.lx-steps li:last-child{border:0}.lx-steps button{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3) var(--space-2) var(--space-2);border:var(--border-width) solid var(--line);border-radius:999px;background:var(--surface)}.lx-steps li[data-state=current] button{border-color:var(--accent-ink)}.lx-step-no{width:1.375rem;height:1.375rem}.lx-step-text span,.lx-step-bar{display:none}.lx-step-text strong{font-size:var(--text-sm)}.lx-step-caption{display:block;font-size:var(--text-sm)}.lx-convert-grid{grid-template-columns:minmax(0,1fr)}.lx-panel{min-height:15rem}.lx-facts{grid-template-columns:minmax(0,1fr);gap:var(--space-4)}}@media(max-width:560px){.lx-hero-flow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.lx-hero-flow li+li{padding-left:0}.lx-hero-flow li+li:after{display:none}.marketing-section.lx-section{gap:var(--space-8)}.lx-stage{padding:var(--space-3)}.lx-hero:before{inset:0 calc(var(--space-4) * -1)}}.teacher-home .home-columns{grid-template-columns:minmax(0,1fr) minmax(300px,380px)}@media(max-width:860px){.teacher-home .home-columns{grid-template-columns:minmax(0,1fr)}}.teacher-home .home-section h2{display:flex;align-items:baseline;gap:var(--space-2);font-size:var(--text-md);margin-bottom:var(--space-3)}.teacher-home .home-count{font-size:var(--text-sm);font-weight:400;color:var(--muted)}.teacher-home .home-list{list-style:none;margin:0;padding:0 var(--space-5);background:var(--surface);border:var(--border-width) solid var(--line);border-radius:var(--radius-panel)}.teacher-home .home-list li:last-child{border-bottom:0}.teacher-home .home-due-time{color:var(--attention);font-weight:650}.teacher-home .home-list li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-4);padding-block:var(--space-3);border-bottom:var(--border-width) solid var(--line)}.teacher-home .home-item{display:flex;flex-direction:column;gap:var(--space-1);flex:1 1 16rem;min-width:0;overflow-wrap:anywhere}.teacher-home .home-empty{margin:0;padding:var(--space-3) var(--space-5);background:var(--surface);border:var(--border-width) solid var(--line);border-radius:var(--radius-panel);color:var(--muted)}.teacher-home .home-note{margin-top:var(--space-2)}.teacher-home .home-failed{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4);padding-block:var(--space-3);border-top:var(--border-width) solid var(--line)}.teacher-home .home-failed p{margin:0;flex:1 1 20rem}.marketing-home{max-width:1184px;margin:auto;overflow-wrap:anywhere;word-break:keep-all}.marketing-home p{color:var(--muted)}.marketing-home h1{font-size:var(--text-display);font-weight:700;letter-spacing:-.035em}.marketing-home h2{font-size:var(--text-xl)}.marketing-home h3{font-size:var(--text-md)}.marketing-home figure,.marketing-home dl,.marketing-home dd{margin:0}.marketing-home dt{font-weight:650;color:var(--ink)}.marketing-home section,.marketing-footer{scroll-margin-top:var(--space-6)}.marketing-home .marketing-kicker{color:var(--muted);font-size:var(--text-xs);font-weight:600;letter-spacing:.025em}.marketing-home .marketing-small{font-size:var(--text-sm)}.marketing-nav{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-4);padding-bottom:var(--space-5);border-bottom:var(--border-width) solid var(--line)}.marketing-nav-links{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-5);font-size:var(--text-sm)}.marketing-nav-links>a:not(.button):hover{text-decoration:underline;text-underline-offset:var(--space-1)}.marketing-hero{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);align-items:center;padding-block:var(--space-16)}.marketing-hero-copy{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-6)}.marketing-lead{font-size:var(--text-md);max-width:44rem}.marketing-actions{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.marketing-availability{padding-top:var(--space-3);border-top:var(--border-width) solid var(--line)}.marketing-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:var(--space-16);padding-block:var(--space-16);border-top:var(--border-width) solid var(--line)}.marketing-section-heading{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4)}.marketing-section-heading p{max-width:44rem}.marketing-section-body{display:flex;flex-direction:column;gap:var(--space-6)}.marketing-definition-list{display:flex;flex-direction:column}.marketing-definition-list>div{display:grid;grid-template-columns:6rem minmax(0,1fr);gap:var(--space-6);padding-block:var(--space-5);border-top:var(--border-width) solid var(--line)}.marketing-definition-list dd{color:var(--muted)}.marketing-recognition{display:flex;flex-direction:column;gap:var(--space-8)}.marketing-comparison{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6)}.marketing-comparison>figure{display:flex;flex-direction:column;gap:var(--space-4)}.marketing-comparison figcaption p{font-size:var(--text-xs);margin-top:var(--space-2)}.marketing-paper{border:var(--border-width) solid var(--line);padding:var(--space-5);font-size:var(--text-sm)}.marketing-paper-heading{display:flex;justify-content:space-between;gap:var(--space-2);padding-bottom:var(--space-4);border-bottom:var(--border-width) solid var(--line);color:var(--muted);font-size:var(--text-xs)}.marketing-question{margin-top:var(--space-4)}.marketing-question p{color:var(--ink)}.marketing-choices{list-style:none;padding:0;margin-block:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.marketing-choices li{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-1) var(--space-2)}.marketing-choices small{font-size:var(--text-xs)}.marketing-paper-recognized .marketing-question{outline:var(--border-width) dashed var(--accent);padding:var(--space-3)}.marketing-paper-recognized .marketing-choices li{outline:var(--border-width) dotted var(--accent)}.marketing-paper .marketing-annotation{font-size:var(--text-xs);color:var(--accent-ink);margin-bottom:var(--space-2)}.marketing-answer{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2);margin-top:var(--space-3);border:var(--border-width) solid var(--control-line)}.marketing-paper-recognized .marketing-answer{border-style:dashed;border-color:var(--accent)}.marketing-answer-space{min-height:var(--space-16)}.marketing-material-note{padding:var(--space-5) var(--space-6);background:var(--surface);border:var(--border-width) solid var(--line);border-radius:var(--radius-panel)}.marketing-workflow{list-style:decimal;margin:0;padding-left:var(--space-6)}.marketing-workflow li{padding:var(--space-4) 0 var(--space-4) var(--space-3);border-bottom:var(--border-width) solid var(--line)}.marketing-workflow li:first-child{padding-top:0}.marketing-workflow li::marker{color:var(--muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.marketing-workflow p{margin-top:var(--space-2)}.marketing-tracks{display:flex;flex-direction:column;gap:var(--space-8)}.marketing-track-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:var(--text-sm)}.marketing-track-table th,.marketing-track-table td{text-align:left;vertical-align:top;padding:var(--space-5) var(--space-4);border-bottom:var(--border-width) solid var(--line)}.marketing-track-table th:first-child{width:16%;padding-left:0}.marketing-track-table thead th{color:var(--ink);font-size:var(--text-md)}.marketing-track-table thead span{font-size:var(--text-sm);font-weight:400;color:var(--muted)}.marketing-track-table td{color:var(--muted)}.marketing-device-pair{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);align-items:end;gap:var(--space-8)}.marketing-devices>div{grid-template-columns:minmax(0,1fr);gap:var(--space-2)}.marketing-devices>div:first-child{padding-top:0;border-top:0}.marketing-features{display:flex;flex-direction:column}.marketing-features>div{padding-block:var(--space-5);border-bottom:var(--border-width) solid var(--line)}.marketing-features>div:first-child{padding-top:0}.marketing-features dd{color:var(--muted);margin-top:var(--space-2)}.marketing-pricing{align-items:center}.marketing-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--space-8);padding-top:var(--space-8);border-top:var(--border-width) solid var(--line);font-size:var(--text-sm)}.marketing-footer h2{font-size:var(--text-md);margin-bottom:var(--space-2)}@media(max-width:1100px){.marketing-hero,.marketing-section{gap:var(--space-8)}.marketing-comparison{gap:var(--space-3)}.marketing-paper{padding:var(--space-3)}}@media(max-width:900px){.marketing-hero{grid-template-columns:minmax(0,1fr)}.marketing-hero-copy{max-width:44rem}.marketing-section{grid-template-columns:minmax(0,1fr)}.marketing-comparison{grid-template-columns:minmax(0,1fr);gap:var(--space-8)}.marketing-comparison>figure{max-width:44rem;width:100%}.marketing-paper{padding:var(--space-5)}.marketing-pricing .marketing-actions{margin-top:var(--space-4)}}@media(max-width:560px){.marketing-home h1{font-size:var(--text-xl)}.marketing-home h2{font-size:var(--text-lg)}.marketing-nav-links{gap:var(--space-3) var(--space-4)}.marketing-hero,.marketing-section{padding-block:var(--space-10)}.marketing-hero-copy{gap:var(--space-5)}.marketing-definition-list>div{grid-template-columns:minmax(0,1fr);gap:var(--space-2)}.marketing-device-pair{gap:var(--space-4)}.marketing-track-table th,.marketing-track-table td{padding:var(--space-4) var(--space-2)}.marketing-track-table th:first-child{width:20%}.marketing-track-table thead th{font-size:var(--text-sm)}.marketing-track-table thead span{font-size:var(--text-xs)}.marketing-footer{flex-direction:column}}.exam-view{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.exam-view-nav{display:flex;align-items:center;justify-content:center;gap:var(--space-3)}.exam-view-count{min-width:4.5em;text-align:center;font-weight:650}.exam-view-sheet{position:relative;width:100%;max-width:760px;margin-inline:auto;background:var(--surface);border:var(--border-width) solid var(--line);border-radius:var(--radius-control);overflow:hidden}.exam-view-sheet>img{display:block;width:100%;height:auto;-webkit-user-select:none;user-select:none}.exam-box{position:absolute;display:block;padding:0;background:transparent;border:2px solid color-mix(in srgb,var(--accent) 45%,transparent);border-radius:var(--radius-control);font:inherit;color:inherit;text-align:left;transition:border-color var(--motion-fast) var(--ease-standard),background-color var(--motion-fast) var(--ease-standard)}button.exam-box{cursor:pointer}button.exam-box:hover{border-color:var(--accent)}button.exam-box:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.exam-box[data-active]{border-color:var(--accent);border-width:3px;background:color-mix(in srgb,var(--accent) 8%,transparent)}.exam-box-no{position:absolute;top:-1px;left:-1px;min-width:1.75em;padding:1px var(--space-2);background:var(--accent-ink);color:var(--surface);font-size:var(--text-xs);font-weight:700;line-height:1.5;text-align:center;border-radius:var(--radius-control) 0 var(--radius-control) 0}.exam-box-answer{position:absolute;right:var(--space-1);bottom:var(--space-1);padding:1px var(--space-2);background:var(--surface);color:var(--accent-ink);border:var(--border-width) solid var(--accent-ink);border-radius:var(--radius-control);font-size:var(--text-xs);font-weight:600;line-height:1.5;white-space:nowrap}.exam-box-answer strong{font-weight:800}.exam-view-thumbs{display:flex;justify-content:center;gap:var(--space-2);overflow-x:auto;padding:var(--space-1);list-style:none;margin:0}.exam-view-thumbs button{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-1);background:var(--surface);border:2px solid var(--line);border-radius:var(--radius-control);color:var(--muted);font-size:var(--text-xs);font-weight:600;cursor:pointer}.exam-view-thumbs button:hover{border-color:var(--control-line)}.exam-view-thumbs button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.exam-view-thumbs button[aria-current=page]{border-color:var(--accent);color:var(--accent-ink)}.exam-view-thumbs img{display:block;width:64px;height:auto}@media(max-width:700px){.exam-view-thumbs{justify-content:flex-start}.exam-view-thumbs img{width:52px}.exam-box-no,.exam-box-answer{font-size:.6875rem}.exam-box-answer-word{display:none}.exam-box-answer{right:2px;bottom:2px;padding:0 var(--space-1);line-height:1.3}}.viewer-page{display:flex;flex-direction:column;gap:var(--space-6);min-width:0}.viewer-page .page-header{margin-bottom:0}.viewer-page .page-header p{overflow-wrap:anywhere}.viewer-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.viewer-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,300px);gap:var(--space-8);align-items:start}.viewer-stage{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.viewer-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-4);font-weight:600}.viewer-side{position:sticky;top:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4);min-width:0;padding:var(--space-5)}.viewer-side-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-1) var(--space-3)}.viewer-side-head h2{font-size:var(--text-md)}.viewer-questions{display:flex;flex-direction:column;gap:var(--space-2);list-style:none;margin:0;padding:0}.viewer-question{display:grid;grid-template-columns:3.25em minmax(0,1fr) auto;align-items:center;gap:var(--space-3);width:100%;min-height:44px;padding:var(--space-2) var(--space-3);background:var(--surface);border:var(--border-width) solid var(--line);border-radius:var(--radius-control);font:inherit;color:var(--ink);text-align:left;cursor:pointer}.viewer-question:hover{border-color:var(--control-line)}.viewer-question:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.viewer-question[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.viewer-question-no{font-weight:700}.viewer-question-answer strong{color:var(--accent-ink);font-size:var(--text-md);font-weight:800}.viewer-question-score{color:var(--muted);font-size:var(--text-sm)}.viewer-loading-page{aspect-ratio:1240 / 1754;max-width:760px;width:100%}.viewer-loading-side{height:240px}@media(max-width:900px){.viewer-layout{grid-template-columns:minmax(0,1fr);gap:var(--space-6)}.viewer-side{position:static}}@media(max-width:700px){.viewer-hint{display:none}.viewer-actions{width:100%}.viewer-actions>*{flex:1 1 0}}.answer-page{display:flex;flex-direction:column;gap:var(--space-6)}.answer-page .page-header{margin-bottom:0}.answer-page .page-header p{overflow-wrap:anywhere}.answer-status{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3) var(--space-6)}.answer-demo{max-width:480px}.answer-step{display:flex;flex-direction:column;gap:var(--space-1)}.answer-step-name{font-weight:650}.answer-result,.answer-blocked,.answer-notice{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-4) var(--space-5);background:var(--surface);border:var(--border-width) solid var(--line);border-radius:var(--radius-panel)}.answer-result:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.answer-result-title,.answer-blocked-title{flex-basis:100%;font-weight:650}.answer-result-title{color:var(--success)}.answer-layout{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--space-8);align-items:start}.answer-preview{position:sticky;top:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.preview-heading,.answer-work-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-2) var(--space-4)}.preview-heading h2,.answer-work-head h2{font-size:var(--text-md)}.answer-work-head .muted{flex-basis:100%}.preview-pager{display:flex;align-items:center;gap:var(--space-2)}.preview-frame{width:100%;height:min(72vh,880px);border:var(--border-width) solid var(--line);border-radius:var(--radius-panel);background:var(--surface)}.preview-empty{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-6) var(--space-5);border:var(--border-width) dashed var(--line);border-radius:var(--radius-panel)}.preview-empty-title{font-weight:650}.preview-guide{display:flex;flex-direction:column;gap:var(--space-2)}.preview-jumps{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-2)}.preview-jumps .button[aria-current=true]{text-decoration:underline;text-underline-offset:3px}.preview-retry{display:flex;flex-wrap:wrap;align-items:center;gap:0 var(--space-1)}.sample-sheet{display:flex;flex-direction:column;gap:var(--space-2)}.sample-sheet-scroll{max-height:min(72vh,880px);overflow-y:auto;border:var(--border-width) solid var(--line);border-radius:var(--radius-panel);background:var(--surface)}.sample-sheet-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sample-sheet-page{position:relative;width:100%}.sample-sheet-page img{display:block;width:100%;height:auto}.sheet-mark{position:absolute;left:4%;right:4%;outline:2px solid var(--accent);border-radius:var(--radius-control);pointer-events:none}.sheet-mark[data-flagged]{outline-color:var(--warning)}.sheet-mark-label{position:absolute;top:2px;right:var(--space-2);padding:0 var(--space-1);background:var(--surface);color:var(--accent-ink);font-size:var(--text-xs);font-weight:650;white-space:nowrap}.sheet-mark[data-flagged] .sheet-mark-label{color:var(--warning)}.answer-work{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.question-list{list-style:none;margin:0;padding:0;background:var(--surface);border:var(--border-width) solid var(--line);border-radius:var(--radius-panel);overflow:hidden}.question-list>.question-row:last-child{border-bottom:0}.question-row{display:grid;grid-template-columns:minmax(96px,auto) minmax(0,1fr);gap:var(--space-2) var(--space-5);padding:var(--space-3) var(--space-3);border-bottom:var(--border-width) solid var(--line);scroll-margin-block:var(--space-16)}.question-row:focus{outline:none}.question-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.question-row[data-current]{background:var(--accent-soft)}.question-head{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1)}.question-number{font-weight:650}.question-changed{color:var(--info);font-weight:650}.question-page{padding-inline:0}.question-body{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-5);min-width:0}.choice-set{display:flex;flex-wrap:wrap;gap:var(--space-2);border:0;margin:0;padding:0;min-width:0}.choice{display:inline-flex;align-items:center;gap:var(--space-2);min-height:40px;min-width:56px;padding:0 var(--space-3);border:var(--border-width) solid var(--control-line);border-radius:var(--radius-control);background:var(--surface);cursor:pointer;transition:background-color var(--motion-fast) var(--ease-standard)}.choice input{accent-color:var(--accent);margin:0}.choice:has(input:checked){border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink);font-weight:650}.choice:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.choice-set:disabled .choice{cursor:not-allowed;color:var(--muted)}.short-answer{flex:1 1 200px;min-width:0}.score-field{display:inline-flex;align-items:center;gap:var(--space-2);white-space:nowrap}.question-row .score-input{width:4.5rem;min-width:0;text-align:right}.question-flag,.question-row>.field-error,.question-row>.field-note{grid-column:2}.question-flag{display:flex;flex-direction:column;gap:var(--space-2);color:var(--warning)}.question-flag .check-label{color:var(--ink)}.answer-actions{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) 0;background:transparent}.answer-actions-state{color:var(--muted)}.answer-error{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4);color:var(--danger)}.answer-help{margin-top:var(--space-2)}.answer-history,.answer-history .table-region{margin-top:var(--space-4)}.history-reason{min-width:200px;overflow-wrap:anywhere}.correction-list{margin:var(--space-2) 0 0;padding-left:var(--space-5);display:flex;flex-direction:column;gap:var(--space-1);max-height:40vh;overflow-y:auto}.answer-loading{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--space-8)}.answer-loading-preview{height:360px}.answer-loading-row{height:56px}@media(max-width:960px){.answer-layout,.answer-loading{grid-template-columns:minmax(0,1fr);gap:var(--space-6)}.answer-preview{position:static}.preview-frame,.sample-sheet-scroll{height:auto;max-height:56vh}.preview-frame{height:56vh}.answer-loading-preview{height:160px}}@media(max-width:700px){.question-row{grid-template-columns:minmax(0,1fr);padding-inline:var(--space-2)}.question-head{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:var(--space-1) var(--space-3)}.question-flag,.question-row>.field-error,.question-row>.field-note{grid-column:1}.choice{min-width:48px;min-height:44px}}.kst-input{position:relative;display:flex;flex-wrap:wrap;align-items:center;column-gap:0;width:100%;min-width:0;min-height:44px;border:var(--border-width) solid var(--control-line);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);padding:var(--space-2) var(--space-3)}.kst-input:focus-within{outline:2px solid var(--accent);outline-offset:3px}.kst-input[data-invalid]{border-color:var(--danger)}.kst-input[data-disabled]{background:var(--subtle);color:var(--muted)}.kst-input-value{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;opacity:0}.kst-seg{width:2.4ch;padding:0;border:0;border-radius:2px;background:transparent;color:inherit;text-align:center}.kst-seg[data-segment=year]{width:4.4ch}@supports (field-sizing: content){.kst-seg,.kst-seg[data-segment=year]{field-sizing:content;width:auto;min-width:1.4ch;padding-inline:.1em}}.kst-seg::placeholder{color:var(--muted)}.kst-seg:focus-visible{outline:none;background:var(--accent-soft)}.kst-unit,.kst-weekday{color:inherit}.kst-unit,.kst-weekday{margin-right:.4em}.kst-gap{width:.4em}.dist-page{display:flex;flex-direction:column;gap:var(--space-6)}.dist-page .page-header{margin-bottom:0}.dist-page .page-header h1,.dist-page .page-header p{overflow-wrap:anywhere}.dist-page .demo-note{margin-bottom:0}.dist-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:var(--space-10);align-items:start;max-width:1120px}.dist-fieldset{border:0;margin:0;padding:0;min-width:0}.dist-fieldset:disabled{opacity:.72}.dist-section-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-2) var(--space-4);margin-bottom:var(--space-4)}.dist-section-head h2{margin-bottom:0}.dist-class-list{list-style:none;margin:0 0 var(--space-3);padding:0}.dist-class-list li{padding-block:var(--space-3)}.dist-class-list li+li{border-top:var(--border-width) solid var(--line)}.dist-class-list .check-label>span{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-1) var(--space-3);min-width:0}.dist-class-name{font-weight:600;overflow-wrap:anywhere}.dist-period{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4);margin-bottom:var(--space-3)}.dist-conditions{display:flex;flex-direction:column;gap:var(--space-8)}.dist-field{display:flex;flex-direction:column;gap:var(--space-2)}.dist-field.field{margin-top:var(--space-6);max-width:320px}.dist-choices .radio-option{padding-block:var(--space-3)}.dist-cap-note{color:var(--warning)}.dist-cap-note strong{font-weight:650}.dist-group-note{display:flex;flex-direction:column;gap:var(--space-1);margin:var(--space-2) 0 var(--space-4);color:var(--muted);max-width:640px}.dist-group-note strong{color:var(--warning);font-weight:650}.dist-group-note ul{margin:0;padding-left:var(--space-5)}.dist-preparing{color:var(--muted)}.dist-summary{position:sticky;top:var(--space-4);display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-5);background:var(--surface);border:var(--border-width) solid var(--line);border-radius:var(--radius-panel)}.dist-summary h2{font-size:var(--text-md)}.dist-summary-list{margin:0;display:flex;flex-direction:column;gap:var(--space-3)}.dist-summary-list>div{display:grid;grid-template-columns:5.5rem minmax(0,1fr);gap:var(--space-3);font-size:var(--text-sm)}.dist-summary-list dt{color:var(--muted)}.dist-summary-list dd{margin:0;overflow-wrap:anywhere}.dist-warnings{margin:0;padding-left:var(--space-5);font-size:var(--text-sm);color:var(--warning);display:flex;flex-direction:column;gap:var(--space-2)}.dist-duplicate{display:flex;flex-direction:column;gap:var(--space-3);font-size:var(--text-sm);padding:var(--space-4);background:var(--surface);border:var(--border-width) solid var(--line);border-radius:var(--radius-panel)}.dist-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.dist-sending{color:var(--muted)}.dist-help summary{color:var(--muted)}.dist-outcome{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:var(--surface);border:var(--border-width) solid var(--line);border-radius:var(--radius-panel);font-size:var(--text-sm)}.dist-outcome-title{font-size:var(--text-base);font-weight:650}.dist-warning{color:var(--warning)}.dist-danger{color:var(--danger)}.dist-targets{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.dist-targets li{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-3)}.dist-target-name{flex:0 1 10rem;min-width:0;font-weight:600;font-size:var(--text-sm);overflow-wrap:anywhere}.dist-existing{max-width:1120px;padding-top:var(--space-8);border-top:var(--border-width) solid var(--line)}.dist-existing h2{font-size:var(--text-md);margin-bottom:var(--space-4)}.dist-existing-list{list-style:none;margin:0;padding:0 var(--space-6);background:var(--surface);border:var(--border-width) solid var(--line);border-radius:var(--radius-panel)}.dist-existing-list>li{display:flex;flex-direction:column;gap:var(--space-2);padding-block:var(--space-5)}.dist-existing-list>li+li{border-top:var(--border-width) solid var(--line)}.dist-existing-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3)}.dist-existing-classes{overflow-wrap:anywhere}.dist-existing-actions{margin-top:var(--space-1)}.dist-skeleton-row{height:3.5rem}.dist-skeleton-block{height:14rem}@media(max-width:860px){.dist-layout{grid-template-columns:minmax(0,1fr);gap:var(--space-8)}.dist-summary{position:static}}@media(max-width:700px){.dist-existing-list,.dist-summary{padding-inline:var(--space-4)}}.student-trend{background:var(--surface);border:var(--border-width) solid var(--line);border-radius:var(--radius-panel);padding:var(--space-5) var(--space-6)}.student-chart{margin:0;max-width:760px}.student-chart svg{display:block;width:100%;height:auto}.chart-grid{stroke:var(--line);stroke-width:1}.chart-axis{fill:var(--muted);font-size:11px}.chart-score{fill:none;stroke:var(--data);stroke-width:2.5}.chart-average{fill:none;stroke:var(--muted);stroke-width:1.5;stroke-dasharray:5 4}.chart-dot{fill:var(--data)}.chart-legend{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);margin-top:var(--space-2);font-size:var(--text-sm)}.legend-score{color:var(--ink);font-weight:650}.legend-average{color:var(--muted)}.student-chart-empty{padding:var(--space-4) 0;color:var(--muted);font-size:var(--text-sm)}.report-loading .student-chart-skeleton{height:200px;max-width:760px}@media(max-width:700px){.student-trend{padding-inline:var(--space-4)}}.sheet-layout{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--space-10);align-items:start}.sheet-comment{position:sticky;top:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5);background:var(--surface);border:var(--border-width) solid var(--line);border-radius:var(--radius-panel)}.sheet-strip{margin-bottom:var(--space-4)}.sheet-comment .textarea{width:100%;min-height:180px}.sheet-confirmed strong{color:var(--success);font-weight:650}.sheet-body{margin:0;padding:var(--space-4);background:var(--canvas);border-radius:var(--radius-control);white-space:pre-wrap;overflow-wrap:anywhere}.sheet-status{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);font-size:var(--text-sm);color:var(--muted)}.sheet-status-ok{color:var(--success)}.sheet-status-warn{color:var(--warning)}.sheet-evidence{padding-top:var(--space-4);border-top:var(--border-width) solid var(--line)}.sheet-evidence h3{font-size:var(--text-sm);margin-bottom:var(--space-2)}.sheet-evidence ul{margin:0;padding-left:var(--space-5);font-size:var(--text-sm);color:var(--muted);display:flex;flex-direction:column;gap:var(--space-1)}.mark-correct{color:var(--success);font-weight:700}.mark-wrong{color:var(--danger);font-weight:600}@media(max-width:1050px){.sheet-layout{grid-template-columns:minmax(0,1fr)}.sheet-comment{position:static;order:-1}}.sheet-kept{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);background:var(--subtle);border-radius:var(--radius-control);font-size:var(--text-sm)}.sheet-kept strong{color:var(--warning);font-weight:650}.sheet-kept-body{margin:0;padding:var(--space-3);background:var(--surface);border-radius:var(--radius-control);white-space:pre-wrap;overflow-wrap:anywhere}.sheet-pages{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-5)}.sheet-pages-head h3{font-size:var(--text-sm);margin-bottom:var(--space-1)}.sheet-pages-thumbs{display:flex;gap:var(--space-3);overflow-x:auto;padding-bottom:var(--space-1)}.sheet-pages-thumb{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-2);background:var(--surface);border:var(--border-width) solid var(--line);border-radius:var(--radius-control);font-size:var(--text-xs);color:var(--muted);cursor:pointer}.sheet-pages-thumb img{width:64px;height:auto;border:var(--border-width) solid var(--line)}.sheet-pages-thumb[aria-pressed=true]{border-color:var(--accent);color:inherit;font-weight:600}.sheet-page{margin:0;max-width:600px}.sheet-page img{display:block;width:100%;height:auto;border:var(--border-width) solid var(--line);border-radius:2px;box-shadow:0 1px 2px #0000000f,0 6px 18px #00000014}.parent-phone{width:100%;max-width:400px;display:flex;flex-direction:column;gap:var(--space-6);padding:var(--space-6) var(--space-5);background:var(--surface);border:var(--border-width) solid var(--line);border-radius:var(--radius-panel);overflow-wrap:anywhere}.parent-head h2{font-size:var(--text-lg);margin-block:var(--space-1)}.parent-block{display:flex;flex-direction:column;gap:var(--space-2)}.parent-block h3{font-size:var(--text-base)}.parent-figure{font-size:2.25rem;font-weight:600;line-height:var(--leading-tight);letter-spacing:-.03em;font-variant-numeric:tabular-nums}.parent-facts{margin:0;padding-left:var(--space-5);font-size:var(--text-sm);display:flex;flex-direction:column;gap:var(--space-1)}.parent-comment{white-space:pre-wrap}.parent-foot{padding-top:var(--space-4);border-top:var(--border-width) solid var(--line)}.intake-layout{display:grid;grid-template-columns:minmax(0,660px) minmax(260px,340px);justify-content:space-between;gap:var(--space-12);max-width:1120px;margin-top:var(--space-6)}.intake-form{display:flex;flex-direction:column;gap:var(--space-10);min-width:0}.intake-form>fieldset{border:0;margin:0;padding:0;min-width:0}.intake-section{display:flex;flex-direction:column;gap:var(--space-6)}.intake-section h2{font-size:var(--text-md)}.intake-section>p,.intake-section header p{color:var(--muted);font-size:var(--text-sm);margin-top:var(--space-1)}.intake-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-5)}.intake-fields .input{width:100%}.choice-options{display:flex;flex-wrap:wrap;gap:var(--space-2)}.choice-options .radio-option{align-items:center;padding:var(--space-2) var(--space-3);border:var(--border-width) solid var(--line);border-radius:var(--radius-control);max-width:100%}.choice-options .radio-option+.radio-option{border-top:var(--border-width) solid var(--line)}.choice-options .radio-option:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.choice-options .radio-option:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.choice-options .radio-option input{margin-top:0}.choice-options .radio-option strong{font-weight:500;overflow-wrap:anywhere}.radio-group legend{overflow-wrap:anywhere}.intake-panel{position:sticky;top:var(--space-4);align-self:start;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5);background:var(--surface);border:var(--border-width) solid var(--line);border-radius:var(--radius-panel)}.intake-panel h2{font-size:var(--text-sm);color:var(--muted);font-weight:600}.intake-panel p{font-size:var(--text-sm);color:var(--muted)}.intake-panel .intake-verdict{font-size:var(--text-lg);line-height:var(--leading-tight);font-weight:650;color:var(--ink)}.intake-panel .button{width:100%}.intake-panel .button+.button{margin-top:calc(var(--space-2) * -1)}.check-block{display:flex;flex-direction:column;gap:var(--space-2)}.check-list{margin:0;padding-left:var(--space-5);font-size:var(--text-sm);list-style:disc}.check-list li+li{margin-top:var(--space-1)}.intake-status{display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--text-sm);color:var(--ink)}.intake-status-warn{color:var(--warning)}.intake-status-danger{color:var(--danger)}.intake-status-ok{color:var(--success)}.intake-blocked{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);max-width:660px;margin-top:var(--space-6);padding:var(--space-5);background:var(--surface);border:var(--border-width) solid var(--line);border-radius:var(--radius-panel);word-break:keep-all;overflow-wrap:anywhere}.intake-blocked p{font-size:var(--text-sm);color:var(--muted)}.intake-blocked .intake-verdict{font-size:var(--text-lg);line-height:var(--leading-tight);font-weight:650;color:var(--ink);max-width:100%}.intake-count{font-variant-numeric:tabular-nums}.intake-times{border:0;margin:0;padding:0;min-width:0}.intake-times legend{font-weight:650;margin-bottom:var(--space-3)}.intake-times .row{gap:var(--space-5)}@media(max-width:900px){.intake-layout{grid-template-columns:minmax(0,1fr);gap:var(--space-8)}.intake-panel{position:static}}@media(max-width:560px){.intake-fields{grid-template-columns:minmax(0,1fr)}}.settings-page{max-width:760px}.settings-form{display:flex;flex-direction:column;gap:var(--space-12);margin-top:var(--space-6)}.settings-section{display:flex;flex-direction:column;gap:var(--space-6)}.settings-section+.settings-section{padding-top:var(--space-10);border-top:var(--border-width) solid var(--line)}.settings-section header{display:flex;flex-direction:column;gap:var(--space-2)}.settings-section h2{font-size:var(--text-md)}.settings-section header p,.settings-help{color:var(--muted);font-size:var(--text-sm);overflow-wrap:anywhere}.settings-section header p strong{color:var(--ink);font-weight:650}.settings-choice{display:flex;flex-direction:column;gap:var(--space-2)}.settings-caveat,.settings-section header .settings-caveat{color:var(--warning);font-size:var(--text-sm);overflow-wrap:anywhere}.settings-save{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding-top:var(--space-4);border-top:var(--border-width) solid var(--line)}.settings-save>.button{flex-shrink:0}.settings-status{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);font-size:var(--text-sm);overflow-wrap:anywhere}.settings-status-ok{color:var(--success)}.settings-status-warn{color:var(--warning)}.settings-status-danger{color:var(--danger)}.settings-facts{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-3) var(--space-8);margin:0}.settings-facts dt{color:var(--muted)}.settings-facts dd{margin:0;font-weight:600}.settings-request{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2)}.settings-loading{display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-6)}.settings-loading-row{height:56px}@media(max-width:560px){.settings-save{flex-direction:column-reverse;align-items:stretch}.settings-save>.button{width:100%}}@layer components;@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--leading-tight:1.25;--radius-sm:var(--radius-control);--default-font-family:var(--font-body);--default-mono-font-family:var(--font-body)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.block{display:block}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.h-96{height:calc(var(--space-1) * 96)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.border{border-style:var(--tw-border-style);border-width:1px}.bg-surface{background-color:var(--surface)}.text-accent{color:var(--accent)}.text-ink{color:var(--ink)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--neutral-0:#fff;--neutral-50:#f8f9fb;--neutral-100:#eceff4;--neutral-200:#dfe3ea;--neutral-300:#c5ccd6;--neutral-400:#8b93a1;--neutral-500:#5f6673;--neutral-700:#343a46;--neutral-900:#111827;--ground:#f3f5f8;--surface:var(--neutral-0);--canvas:var(--neutral-50);--subtle:var(--neutral-100);--line:var(--neutral-200);--control-line:var(--neutral-400);--ink:var(--neutral-900);--muted:var(--neutral-500);--brand:#27f;--accent:var(--brand);--accent-hover:#2768cc;--accent-ink:var(--accent-hover);--accent-press:#1f56a8;--accent-soft:#ebf3ff;--attention:#b4470f;--success:var(--ink);--warning:var(--attention);--danger:#8a3b2e;--info:var(--muted);--overlay:#11182752;--font-body:"Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", system-ui;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.875rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:1.75rem;--text-display:2.5rem;--text-figure:5.5rem;--leading-tight:1.25;--leading-body:1.6;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-control:4px;--radius-panel:10px;--work-frame:1120px;--border-width:1px;--motion-fast:.12s;--motion-normal:.18s;--ease-standard:cubic-bezier(0, 0, .2, 1);--ease-enter:cubic-bezier(.16, 1, .3, 1);--data:var(--ink);--data-0:#eef1f5;--data-1:#d3d9e2;--data-2:#a2aab7;--data-3:#5f6673;--data-4:var(--ink);--track:#e7eaef}*{box-sizing:border-box}body{background:var(--ground);color:var(--ink);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-body);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;margin:0}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:var(--text-xl);line-height:var(--leading-tight);letter-spacing:-.035em;font-weight:700}h2{font-size:var(--text-lg);line-height:var(--leading-tight);letter-spacing:-.025em;font-weight:650}h3{font-size:var(--text-md);font-weight:650}small,.small{font-size:var(--text-sm)}.muted{color:var(--muted)}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.stack{gap:var(--space-4);flex-direction:column;display:flex}.row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.between{justify-content:space-between}.text-link{color:var(--accent-ink);text-underline-offset:4px;font-weight:600}.text-link:hover{text-decoration:underline}.skip{top:-100px;left:var(--space-4);z-index:100;padding:var(--space-3);background:var(--surface);position:fixed}.skip:focus{top:var(--space-3)}.app-header{border-bottom:var(--border-width) solid var(--line);background:var(--ground)}.header-inner{max-width:1440px;min-height:72px;padding:0 var(--space-10);align-items:center;gap:var(--space-12);margin:auto;display:flex}.brand{align-items:baseline;gap:var(--space-2);font-size:var(--text-lg);letter-spacing:-.05em;color:var(--brand);font-weight:800;display:flex}.brand small{color:var(--muted);font-size:var(--text-xs);letter-spacing:0;font-weight:500}.desktop-nav{align-self:stretch;gap:var(--space-8);display:flex}.nav-link{color:var(--muted);white-space:nowrap;align-items:center;font-weight:550;display:flex;position:relative}.nav-link[aria-current=page]{color:var(--ink)}.nav-link[aria-current=page]:after{content:"";background:var(--accent);bottom:-1px;height:2px;position:absolute;inset-inline:0}.account{font-size:var(--text-sm);color:var(--muted);margin-left:auto}.mobile-nav{display:none}.main{max-width:1440px;padding:var(--space-12) var(--space-10) var(--space-16);margin:auto}.work-frame{width:100%;max-width:var(--work-frame);margin-inline:auto}.main:has(>.work-frame)>.demo-note{max-width:var(--work-frame);margin-inline:auto}.work-columns{gap:var(--space-10);grid-template-columns:minmax(0,1fr) minmax(260px,340px);align-items:start;display:grid}.work-side{top:var(--space-4);min-width:0;position:sticky}@media(max-width:860px){.work-columns{grid-template-columns:minmax(0,1fr)}.work-side{position:static}}.demo-note{gap:var(--space-2);font-size:var(--text-xs);color:var(--muted);margin-bottom:var(--space-6);display:flex}.demo-note span:first-child{color:var(--ink);font-weight:650}.page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-6);margin-bottom:var(--space-8);display:flex}.page-header h1{font-size:var(--text-display);letter-spacing:-.035em;overflow-wrap:anywhere;font-weight:700;line-height:1.2}.page-header p{margin-top:var(--space-3);color:var(--muted);max-width:660px}.eyebrow{font-size:var(--text-xs);color:var(--muted);letter-spacing:.06em;margin-bottom:var(--space-3);font-weight:600}.button{justify-content:center;align-items:center;gap:var(--space-2);border:var(--border-width) solid transparent;border-radius:var(--radius-control);white-space:nowrap;transition:background-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard);flex-shrink:0;font-weight:600;display:inline-flex}.button svg{width:16px;height:16px}.button-primary{background:var(--accent-ink);color:var(--surface)}.button-primary:hover{background:var(--accent-press)}.button-secondary{background:var(--surface);border-color:var(--control-line);color:var(--ink)}.button-secondary:hover,.button-ghost:hover{background:var(--subtle)}.button-ghost{color:var(--muted);background:0 0}.button-sm{min-height:36px;padding:var(--space-1) var(--space-3);font-size:var(--text-sm)}.button-md{min-height:42px;padding:var(--space-2) var(--space-4);font-size:var(--text-sm)}.button-lg{min-height:48px;padding:var(--space-3) var(--space-5)}.button:disabled,.button[aria-disabled=true]{opacity:.45;pointer-events:none}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.field{gap:var(--space-2);flex-direction:column;display:flex}.label{font-size:var(--text-sm);font-weight:650}.field-note{font-size:var(--text-sm);color:var(--muted)}.field-error{font-size:var(--text-sm);color:var(--danger)}.input,.select,.textarea{border:var(--border-width) solid var(--control-line);border-radius:var(--radius-control);background:var(--surface);width:100%;min-width:0;color:var(--ink);padding:var(--space-2) var(--space-3);min-height:44px}.input::placeholder,.textarea::placeholder{color:var(--muted)}.input[aria-invalid=true]{border-color:var(--danger)}.input:disabled,.select:disabled,.textarea:disabled{background:var(--subtle);color:var(--muted)}.textarea{resize:vertical;min-height:104px}.check-label{align-items:flex-start;gap:var(--space-3);cursor:pointer;display:flex}.check-label input{width:18px;height:18px;accent-color:var(--accent);flex-shrink:0;margin-top:4px}.radio-group{border:0;min-width:0;margin:0;padding:0}.radio-group legend{margin-bottom:var(--space-4);font-weight:650}.radio-option{align-items:flex-start;gap:var(--space-3);padding:var(--space-4) 0;cursor:pointer;display:flex}.radio-option+.radio-option{border-top:var(--border-width) solid var(--line)}.radio-option input{accent-color:var(--accent);flex-shrink:0;width:18px;height:18px;margin-top:3px}.radio-option strong{font-weight:600;display:block}.radio-option p{color:var(--muted);font-size:var(--text-sm);margin-top:var(--space-1)}.radio-option:has(input:disabled){color:var(--muted);cursor:not-allowed}.switch-control{appearance:none;background:var(--neutral-300);border-radius:var(--radius-panel);flex-shrink:0;width:36px;height:22px;position:relative}.switch-control:before{content:"";background:var(--surface);border-radius:var(--radius-control);width:16px;height:16px;transition:transform var(--motion-fast) var(--ease-standard);position:absolute;top:3px;left:3px}.switch-control:checked{background:var(--accent)}.switch-control:checked:before{transform:translate(14px)}.card,.panel{background:var(--surface);border:var(--border-width) solid var(--line);border-radius:var(--radius-panel);padding:var(--space-6)}.badge{align-items:center;gap:var(--space-2);font-size:var(--text-xs);white-space:nowrap;color:var(--muted);font-weight:650;display:inline-flex}.badge-success{color:var(--success)}.badge-live{color:var(--accent-ink)}.badge-warning{color:var(--warning)}.badge-danger{color:var(--danger)}.badge-info{color:var(--info)}.table-region{background:var(--surface);border:var(--border-width) solid var(--line);border-radius:var(--radius-panel);padding:var(--space-1) var(--space-6)}.table-scroll{width:100%;overflow:auto}.table{border-collapse:collapse;text-align:left;width:100%;font-size:var(--text-sm)}.table th{color:var(--muted);font-size:var(--text-xs);letter-spacing:.04em;padding:var(--space-3) var(--space-4);border-bottom:var(--border-width) solid var(--line);white-space:nowrap;font-weight:600}.table td{padding:var(--space-4);border-bottom:var(--border-width) solid var(--line);vertical-align:middle}.table th:first-child,.table td:first-child{padding-left:0}.table th:last-child,.table td:last-child{padding-right:0}.table tbody tr:last-child td{border-bottom:0}.table tbody tr:hover{background:var(--canvas)}.table .title-cell{font-size:var(--text-base);min-width:190px;font-weight:650}.sort-button{gap:var(--space-2);background:0 0;border:none;align-items:center;padding:0;display:inline-flex}.ticker{gap:var(--space-2);flex-direction:column;min-width:175px;display:flex}.ticker-track{align-items:center;gap:0;margin:0;padding:0;list-style:none;display:flex}.ticker-step{align-items:center;display:flex}.ticker-dot{background:var(--neutral-200);border:var(--border-width) solid var(--neutral-300);border-radius:50%;width:8px;height:8px;display:block}.ticker-step[data-state=past] .ticker-dot{background:var(--muted);border-color:var(--muted)}.ticker-step[data-state=current] .ticker-dot{background:var(--surface);border:2px solid var(--accent);width:10px;height:10px}.ticker-step+.ticker-step:before{content:"";background:var(--line);width:14px;height:1px}.ticker-step[data-state=past]+.ticker-step:before,.ticker-step[data-state=current]:before{background:var(--muted)}.ticker-detail{align-items:baseline;gap:var(--space-2);flex-wrap:wrap;display:flex}.ticker-note{color:var(--muted);font-size:var(--text-xs)}.ticker-full .ticker-track{justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.ticker-full .ticker-step{gap:var(--space-2);color:var(--muted);font-size:var(--text-xs)}.ticker-full .ticker-step+.ticker-step:before{display:none}.ticker-full .ticker-step[data-state=current]{color:var(--accent);font-weight:650}.tabs-list,.filter-list{gap:var(--space-6);border-bottom:var(--border-width) solid var(--line);display:flex;overflow-x:auto}.tab,.filter-option{align-items:center;gap:var(--space-1);min-height:40px;color:var(--muted);padding:var(--space-2) 0;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;font-weight:550;display:inline-flex}.tab:not(:disabled):hover,.filter-option:hover{color:var(--ink)}.tab[aria-selected=true],.filter-option[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--accent);font-weight:650}.tab:focus-visible,.filter-option:focus-visible{outline-offset:-2px}.tab-panel{padding-top:var(--space-6)}.dialog{width:min(520px,100% - 32px);max-height:calc(100dvh - 32px);padding:var(--space-8);border:var(--border-width) solid var(--line);border-radius:var(--radius-panel);background:var(--surface);color:var(--ink);margin:auto;overflow:auto}.dialog::backdrop{background:var(--overlay)}.dialog-heading{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.sheet{border-radius:0;width:min(380px,90%);height:100dvh;max-height:100dvh;margin:0 0 0 auto;position:fixed}.dropdown{display:inline-block;position:relative}.dropdown summary{cursor:pointer;list-style:none}.dropdown summary::-webkit-details-marker{display:none}.dropdown-panel{right:0;top:calc(100% + var(--space-2));z-index:10;background:var(--surface);border:var(--border-width) solid var(--line);border-radius:var(--radius-panel);padding:var(--space-2);min-width:180px;position:absolute}.dropdown-panel button{text-align:left;width:100%;display:block}.tooltip-wrap{display:inline-flex;position:relative}.tooltip-content{bottom:calc(100% + var(--space-2));width:max-content;max-width:220px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-control);background:var(--ink);color:var(--surface);z-index:20;font-size:var(--text-xs);display:none;position:absolute;left:0}.tooltip-wrap:hover .tooltip-content,.tooltip-wrap:focus-within .tooltip-content{display:block}.empty{padding:var(--space-12) var(--space-6);text-align:center;align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.empty p{color:var(--muted);max-width:420px}.skeleton{border-radius:var(--radius-control);background:var(--subtle);height:14px}.pagination{justify-content:space-between;align-items:center;gap:var(--space-4);color:var(--muted);font-size:var(--text-sm);padding-top:var(--space-5);display:flex}.table-region+.pagination{padding-top:var(--space-4)}.section{margin-top:var(--space-10)}.section-heading{margin-bottom:var(--space-5)}.toolbar{justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap;align-items:center;display:flex}.filter-count{font-size:var(--text-xs);color:var(--muted);margin-left:var(--space-2)}.search{max-width:240px}.pdf-footer{margin-top:var(--space-6);color:var(--muted);font-size:var(--text-sm);max-width:740px}.number{font-variant-numeric:tabular-nums}.upload-layout{justify-content:space-between;gap:var(--space-16);margin-top:var(--space-6);grid-template-columns:minmax(0,640px) minmax(230px,300px);display:grid}.form-section+.form-section{margin-top:var(--space-10)}.form-section h2{margin-bottom:var(--space-5);font-size:var(--text-md)}.mode-options .radio-option>span{align-items:baseline;gap:0 var(--space-3);flex-wrap:wrap;min-width:0;display:flex}.mode-options .radio-option strong{min-width:2.5rem}.mode-options .radio-option p{margin-top:0}.mode-options .radio-option:has(input:checked) strong{font-weight:700}.file-choice{gap:var(--space-4);padding:var(--space-5);background:var(--surface);border-radius:var(--radius-control);align-items:center;display:flex}.file-choice svg{color:var(--muted);flex-shrink:0}.file-info{overflow-wrap:anywhere;flex:1;min-width:0}.file-input{width:100%;font-size:var(--text-sm);color:var(--muted);display:block}.file-input::file-selector-button{font:inherit;padding:var(--space-2) var(--space-3);margin-right:var(--space-3);border:var(--border-width) solid var(--line);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);cursor:pointer}.process-list{counter-reset:steps;padding:0;list-style:none}.process-list li{gap:var(--space-4);padding:var(--space-4) 0;display:flex}.process-list li:before{counter-increment:steps;content:counter(steps,decimal-leading-zero);font-size:var(--text-xs);color:var(--muted);padding-top:3px;font-weight:600}.process-list p{font-size:var(--text-sm);color:var(--muted);margin-top:var(--space-1)}.upload-aside{padding-top:var(--space-1)}.aside-note{font-size:var(--text-sm);color:var(--muted);padding-top:var(--space-5);border-top:var(--border-width) solid var(--line)}.form-actions{gap:var(--space-3);margin-top:var(--space-6);display:flex}.class-layout{gap:var(--space-12);grid-template-columns:176px minmax(0,1fr);display:grid}.class-sidebar h2{font-size:var(--text-sm);margin-bottom:var(--space-5)}.class-list{gap:var(--space-1);margin-bottom:var(--space-5);flex-direction:column;display:flex}.class-item{justify-content:space-between;gap:var(--space-4);padding:var(--space-3);border:var(--border-width) solid transparent;border-radius:var(--radius-control);text-align:left;background:0 0;display:flex}.class-item[aria-pressed=true]{background:var(--surface);border-color:var(--line);font-weight:650}.class-item small{color:var(--muted);font-weight:400}.class-sidebar>p{margin-top:var(--space-5);font-size:var(--text-xs);color:var(--muted)}.invite-inline{align-items:center;gap:var(--space-3);padding-block:var(--space-3);border-block:var(--border-width) solid var(--line);flex-wrap:wrap;display:flex}.invite-code{font-size:var(--text-md);letter-spacing:.08em;font-weight:600}.enrollment-disclosure{padding-block:var(--space-3);border-bottom:var(--border-width) solid var(--line)}.enrollment-disclosure[open]>summary{margin-bottom:var(--space-5)}.enrollment{gap:var(--space-10);grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);display:grid}.enroll-inputs{gap:var(--space-2);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr) auto;align-items:end;display:grid}.roster{min-width:0}.roster td{padding-top:var(--space-3);padding-bottom:var(--space-3)}.roster .title-cell{min-width:80px}.gallery-section{padding-block:var(--space-8);border-top:var(--border-width) solid var(--line)}.gallery-section h2{margin-bottom:var(--space-6)}.gallery-grid{gap:var(--space-8);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.gallery-buttons{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.palette{gap:var(--space-3);flex-wrap:wrap;display:flex}.swatch{border:var(--border-width) solid var(--line);border-radius:var(--radius-control);width:74px;height:44px}.toast{font-family:var(--font-body);background:var(--surface);color:var(--ink);border:var(--border-width) solid var(--line);border-radius:var(--radius-panel);align-items:center;gap:var(--space-3);padding:var(--space-4);display:flex}@media(max-width:1050px){.header-inner{padding-inline:var(--space-6);gap:var(--space-8)}.main{padding-inline:var(--space-6)}.class-layout{gap:var(--space-6);grid-template-columns:140px minmax(0,1fr)}.enrollment{grid-template-columns:minmax(0,1fr)}.upload-layout{gap:var(--space-8)}.account{max-width:160px}}@media(max-width:700px){.header-inner{min-height:64px;padding-inline:var(--space-5)}.desktop-nav,.account{display:none}.mobile-nav{margin-left:auto;display:block}.main{padding:var(--space-8) var(--space-5) var(--space-12)}.table-region,.card,.panel{padding-inline:var(--space-4)}.page-header{gap:var(--space-5);flex-direction:column}.page-header h1{font-size:1.875rem}.page-header p{font-size:var(--text-sm)}.demo-note{gap:var(--space-1) var(--space-2);flex-wrap:wrap}.toolbar{align-items:stretch}.search{max-width:none}.upload-layout,.class-layout,.gallery-grid{gap:var(--space-8);grid-template-columns:minmax(0,1fr)}.upload-aside{border-top:var(--border-width) solid var(--line);padding-top:var(--space-6)}.mode-options{gap:var(--space-3);grid-template-columns:minmax(0,1fr)}.file-choice{padding:var(--space-4)}.class-sidebar{margin-bottom:var(--space-2)}.class-list{flex-direction:row;overflow-x:auto}.class-item{flex-shrink:0}.class-sidebar>p{display:none}.class-sidebar h2{margin-bottom:var(--space-3)}.enroll-inputs{grid-template-columns:minmax(0,1fr)}.dialog{padding:var(--space-5)}.section{margin-top:var(--space-8)}.tabs-list,.filter-list{gap:var(--space-5)}.sheet .nav-link{min-height:48px}.sheet .nav-link:after{display:none}}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.class-layout>div{min-width:0}.upload-layout{max-width:1120px}.type-sample-title{font-size:var(--text-xl);line-height:var(--leading-tight);letter-spacing:-.035em;font-weight:700}.table-distributed{min-width:0}.table-region{container:records/inline-size}.mobile-rows{margin:0;padding:0;list-style:none;display:none}.mobile-rows>li{border-bottom:var(--border-width) solid var(--line);padding-block:var(--space-5)}.mobile-rows>li:last-child{border-bottom:0}.mobile-record{gap:var(--space-2);overflow-wrap:anywhere;flex-direction:column;display:flex}.mobile-record h3{font-size:var(--text-base);font-weight:650;line-height:var(--leading-tight)}.record-meta,.record-note{font-size:var(--text-sm);color:var(--muted)}.record-status{align-items:center;gap:var(--space-3);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.record-action{margin-top:var(--space-2)}.status-summary{min-width:170px}.status-summary .badge,.record-status .badge{font-size:var(--text-sm)}.status-summary p{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--muted);max-width:260px}.action-cell,.nowrap{white-space:nowrap}.student-link{color:var(--ink);font-weight:650}.student-link:hover{text-decoration:underline}.student-actions{gap:var(--space-1);flex-wrap:nowrap}.student-detail{align-items:center}.roster-filters{margin-bottom:var(--space-3)}.mobile-sort{display:none}.disclosure>summary{cursor:pointer;font-size:var(--text-sm);color:var(--ink);padding-block:var(--space-2);font-weight:600}.disclosure[open]>summary{margin-bottom:var(--space-3)}.file-dropzone{padding:var(--space-6);border:var(--border-width) dashed var(--control-line);border-radius:var(--radius-panel);background:var(--surface)}.file-dropzone[data-dragging],.file-dropzone:focus-within{border-color:var(--accent)}.file-dropzone .file-choice{margin-bottom:var(--space-6);background:0 0;padding:0}.file-info strong{font-size:var(--text-md);margin-block:var(--space-1);display:block}.file-drop-action{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.upload-aside h2{font-size:var(--text-md);margin-bottom:var(--space-3)}.upload-help,.upload-help .ticker-full{margin-top:var(--space-4)}@container records (max-width:700px){.table-responsive>.table-scroll{display:none}.table-responsive>.mobile-rows{display:block}.table-responsive>.mobile-sort{align-items:center;gap:var(--space-3);padding-block:var(--space-3);border-bottom:var(--border-width) solid var(--line);display:flex}.mobile-sort .select{flex:auto;width:auto;max-width:16rem}}.figure{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-weight:600}.micro-meter{align-items:center;gap:var(--space-2);color:var(--ink);white-space:nowrap;display:inline-flex}.micro-meter-track{background:var(--track);border-radius:2px;flex-shrink:0;width:64px;height:4px;overflow:hidden}.micro-meter-track>span{background:var(--data);height:100%;transition:width var(--motion-fast) var(--ease-standard);display:block}.micro-ring{align-items:center;gap:var(--space-4);margin:0;display:flex}.micro-ring svg{flex-shrink:0}.micro-ring circle{fill:none;stroke-width:7px}.micro-ring-track{stroke:var(--track)}.micro-ring-value{stroke:var(--data);transition:stroke-dashoffset var(--motion-fast) var(--ease-standard)}.micro-ring figcaption{font-size:var(--text-sm);color:var(--muted);flex-direction:column;display:flex}.micro-ring figcaption strong{font-size:var(--text-xl);letter-spacing:-.02em;font-weight:600;line-height:var(--leading-tight);color:var(--ink)}.micro-strip-wrap{align-items:center;gap:var(--space-2) var(--space-5);flex-wrap:wrap;min-width:0;display:flex}.micro-strip{flex:16rem;grid-auto-columns:minmax(6px,18px);grid-auto-flow:column;gap:3px;min-width:0;max-width:36rem;margin:0;padding:0;list-style:none;display:grid}.micro-strip li,.micro-strip-legend span:before{background:var(--data-1);border-radius:2px;height:22px}.micro-strip li[data-state=done],.micro-strip-legend [data-state=done]:before{background:var(--data)}.micro-strip li[data-state=partial],.micro-strip-legend [data-state=partial]:before{background:var(--data-2)}.micro-strip li[data-state=missing],.micro-strip-legend [data-state=missing]:before{background:var(--surface);border:var(--border-width) solid var(--data-3)}.micro-strip-legend{gap:var(--space-1) var(--space-4);font-size:var(--text-xs);color:var(--muted);flex-wrap:wrap;display:flex}.micro-strip-legend span{align-items:center;gap:var(--space-1);display:inline-flex}.micro-strip-legend span:before{content:"";width:8px;height:12px}.micro-heat{gap:var(--space-2);flex-direction:column;margin:0;display:flex}.micro-heat figcaption{gap:var(--space-1) var(--space-3);font-size:var(--text-sm);flex-wrap:wrap;font-weight:650;display:flex}.micro-heat figcaption .muted{font-weight:400}.micro-heat ol{grid-template-columns:repeat(auto-fill,minmax(28px,1fr));gap:2px;max-width:56rem;margin:0;padding:0;list-style:none;display:grid}.micro-heat li{background:var(--data-0);height:36px;color:var(--ink);border-radius:2px;justify-content:center;align-items:flex-end;padding-bottom:3px;font-size:.6875rem;display:flex}.micro-heat li[data-level="1"]{background:var(--data-1)}.micro-heat li[data-level="2"]{background:var(--data-2)}.micro-heat li[data-level="3"]{background:var(--data-3);color:var(--surface)}.micro-heat li[data-level="4"]{background:var(--data-4);color:var(--surface)}@media(max-width:700px){.micro-heat li{height:28px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
