.tb-who{align-items:center;gap:10px;min-width:0;display:flex}.tb-who .avatar{width:32px;height:32px;font-size:12px}.tb-who strong{white-space:nowrap;font-weight:600}.tb-who small{color:var(--color-muted);font-size:12px;display:block}.tb-subject{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.tb-score{font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:14px}.tb-score small{color:var(--color-muted);font-size:12px}.tb-muted-cell{color:var(--color-muted);white-space:nowrap;font-size:13px}.tb-link{color:var(--color-brand-ink);white-space:nowrap;align-items:center;gap:4px;font-weight:600;text-decoration:none;display:inline-flex}.tb-link:hover{text-decoration:underline}.tb-note{color:var(--color-muted);align-items:center;gap:6px;font-size:12px;display:flex}.tb-section-title{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted);margin-block-end:8px;font-size:11px;font-weight:500}.tb-empty-cell{color:var(--color-muted);font-family:var(--font-mono)}.tb-tasks{flex-direction:column;display:flex}.tb-task{border-block-start:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 16px;padding:16px 0;display:grid}.tb-task:first-child{border-block-start:0;padding-block-start:4px}.tb-task:last-child{padding-block-end:0}.tb-task-title{font-weight:600}.tb-task-meta{color:var(--color-muted);font-size:12px}.tb-task-figs{color:var(--color-muted);flex-wrap:wrap;gap:6px 16px;margin-block-start:8px;font-size:12px;display:flex}.tb-task-figs b{font-family:var(--font-mono);color:var(--color-ink);margin-inline-end:3px;font-weight:500}.tb-task .progress{max-width:420px;margin-block-start:8px}.tb-mark-layout{grid-template-columns:minmax(0,1.25fr) minmax(340px,1fr);align-items:start;gap:16px;display:grid}.tb-mark-side{position:sticky;inset-block-start:84px}.tb-pager{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tb-pos{font-family:var(--font-mono);color:var(--color-muted);white-space:nowrap;padding-inline:4px;font-size:12px}.tb-prompt{background:var(--color-subtle);border-radius:8px;padding:14px 16px;font-size:14px;line-height:1.6}.tb-answer{border:1px solid var(--color-border);background:var(--color-surface);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:8px;padding:18px;font-size:16px;line-height:2}.tb-answer mark{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--crit,var(--color-brand));text-decoration-color:var(--crit,var(--color-brand));text-underline-offset:5px;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;transition:background var(--dur) var(--ease-out), box-shadow var(--dur) var(--ease-out);background:0 0;border-radius:3px;padding:1px 0;text-decoration-thickness:3px}.tb-answer mark[data-active=true]{background:color-mix(in srgb, var(--crit,var(--color-brand)) 16%, transparent);box-shadow:0 0 0 2px color-mix(in srgb, var(--crit,var(--color-brand)) 16%, transparent)}.tb-answer[data-dim=true] mark:not([data-active=true]){-webkit-text-decoration-color:color-mix(in srgb, var(--crit,var(--color-brand)) 35%, transparent);text-decoration-color:color-mix(in srgb, var(--crit,var(--color-brand)) 35%, transparent)}.tb-badge{background:var(--crit,var(--color-brand));min-width:17px;height:17px;color:var(--color-on-brand);font-family:var(--font-mono);vertical-align:2px;border-radius:4px;place-items:center;margin-inline-start:3px;padding:0 3px;font-size:10px;font-weight:600;line-height:1;text-decoration:none;display:inline-grid}.tb-words{color:var(--color-muted);flex-wrap:wrap;align-items:center;gap:12px;font-size:13px;display:flex}.tb-words .progress{flex:1;min-width:120px;max-width:240px}.tb-details{border:1px solid var(--color-border);border-radius:8px}.tb-details summary{cursor:pointer;align-items:center;gap:8px;padding:12px 14px;font-weight:600;list-style:none;display:flex}.tb-details summary::-webkit-details-marker{display:none}.tb-details summary svg{transition:transform var(--dur) var(--ease-out);color:var(--color-muted)}.tb-details[open] summary svg{transform:rotate(90deg)}.tb-details>div{padding:0 14px 14px;line-height:1.6}.tb-crits{flex-direction:column;gap:10px;display:flex}.tb-crit{border:1px solid var(--color-border);background:var(--color-surface);transition:border-color var(--dur) var(--ease-out), box-shadow var(--dur) var(--ease-out);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:12px 12px 12px 15px;display:grid;position:relative}.tb-crit:before{content:"";background:var(--crit,var(--color-brand));border-radius:0 3px 3px 0;width:3px;position:absolute;inset-block:10px;inset-inline-start:0}.tb-crit[data-active=true]{border-color:color-mix(in srgb, var(--crit,var(--color-brand)) 55%, var(--color-surface));box-shadow:0 0 0 3px color-mix(in srgb, var(--crit,var(--color-brand)) 14%, transparent)}.tb-crit-name{align-items:center;gap:6px;font-size:14px;font-weight:600;line-height:1.3;display:flex}.tb-crit-why{color:var(--color-muted);grid-column:1/-1;font-size:13px}.tb-quote{border-inline-start:2px solid var(--color-border-strong);background:var(--color-canvas);color:var(--color-ink);border-radius:0 6px 6px 0;grid-column:1/-1;margin:0;padding:6px 10px;font-size:13px;font-style:italic}.tb-quote[data-empty=true]{color:var(--color-muted);font-style:normal}.tb-crit-foot{flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;align-items:center;gap:10px;display:flex}.tb-suggest{color:var(--color-muted);font-size:12px}.tb-suggest b{font-family:var(--font-mono);color:var(--color-brand-ink);font-weight:500}.tb-changed{background:color-mix(in srgb, var(--color-accent-2) 11%, transparent);color:color-mix(in srgb, var(--color-accent-2) 72%, var(--color-ink));border-radius:4px;align-items:center;gap:4px;padding:1px 6px;font-size:11px;font-weight:500;display:inline-flex}.tb-stepper{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;align-items:stretch;display:inline-flex;overflow:hidden}.tb-stepper button{background:var(--color-subtle);width:36px;min-height:36px;color:var(--color-ink);cursor:pointer;border:0;place-items:center;display:grid}.tb-stepper button:hover:not(:disabled){background:var(--color-subtle-2)}.tb-stepper button:disabled{color:var(--color-border-strong);cursor:not-allowed}.tb-stepper input{border:0;border-inline:1px solid var(--color-border);text-align:center;width:44px;font-family:var(--font-mono);color:var(--color-ink);background:var(--color-surface);appearance:textfield;font-size:15px;font-weight:500}.tb-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.tb-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.tb-stepper .tb-max{font-family:var(--font-mono);color:var(--color-muted);background:var(--color-surface);border-inline-start:1px solid var(--color-border);place-items:center;padding-inline:8px;font-size:12px;display:grid}.tb-total{background:var(--color-soft);color:var(--color-ink);border:1px solid color-mix(in srgb, var(--color-brand) 25%, transparent);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.tb-total .mono{font-size:26px;font-weight:500}.tb-total small{color:var(--color-muted);font-size:12px}.tb-total .mono{color:var(--color-brand-ink)}.tb-confirmed{background:color-mix(in srgb, var(--color-success) 10%, transparent);color:color-mix(in srgb, var(--color-success) 72%, var(--color-ink));border-radius:8px;align-items:center;gap:8px;padding:10px 12px;font-size:13px;font-weight:500;display:flex}.tb-themes{flex-direction:column;gap:14px;display:flex}.tb-theme-top{justify-content:space-between;align-items:baseline;gap:8px;margin-block-end:6px;font-size:13px;display:flex}.tb-theme-top strong{font-weight:600}.tb-theme-top span{font-family:var(--font-mono);color:var(--color-muted);white-space:nowrap;font-size:12px}.tb-theme-bar{background:var(--color-subtle);border-radius:4px;height:8px;display:flex;overflow:hidden}.tb-theme-bar i{background:color-mix(in srgb, var(--color-brand) 45%, transparent);height:100%;display:block}.tb-theme-bar i[data-esc]{background:var(--color-warning-solid)}.tb-excerpt{text-overflow:ellipsis;white-space:nowrap;max-width:36ch;display:block;overflow:hidden}.tb-thread{flex-direction:column;gap:16px;display:flex}.tb-msg{align-items:flex-start;gap:10px;max-width:88%;display:flex}.tb-msg .avatar{width:32px;height:32px;font-size:12px}.tb-msg[data-from=teacher]{flex-direction:row-reverse;align-self:flex-end}.tb-bubble{border:1px solid var(--color-border);background:var(--color-surface);border-radius:4px 12px 12px;flex-direction:column;gap:8px;min-width:0;padding:12px 14px;line-height:1.55;display:flex}.tb-msg[data-from=student] .tb-bubble{background:var(--color-subtle);border-color:#0000}.tb-msg[data-from=ai] .tb-bubble{border-color:color-mix(in srgb, var(--color-brand) 30%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--color-brand) 6%, var(--color-surface)), var(--color-surface))}.tb-msg[data-from=teacher] .tb-bubble{background:var(--color-brand);border-color:var(--color-brand);color:var(--color-on-brand);border-radius:12px 4px 12px 12px}.tb-msg-meta{color:var(--color-muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.tb-msg[data-from=teacher] .tb-msg-meta{color:color-mix(in srgb, var(--color-on-brand) 80%, transparent);justify-content:flex-end}.tb-msg-meta strong{color:var(--color-ink);font-weight:600}.tb-msg[data-from=teacher] .tb-msg-meta strong{color:var(--color-on-brand)}.tb-ai-face{background:color-mix(in srgb, var(--color-brand) 14%, transparent);width:32px;height:32px;color:var(--color-brand);border-radius:50%;flex:none;place-items:center;display:grid}.tb-steps{counter-reset:step;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.tb-steps li{counter-increment:step;gap:10px;font-size:14px;display:flex}.tb-steps li:before{content:counter(step);background:color-mix(in srgb, var(--color-brand) 14%, transparent);width:22px;height:22px;color:var(--color-brand-ink);font-family:var(--font-mono);border-radius:6px;flex:none;place-items:center;font-size:11px;font-weight:600;display:grid}.tb-cite{background:var(--color-subtle);color:var(--color-muted);border-radius:4px;align-self:flex-start;align-items:center;gap:6px;padding:2px 8px;font-size:12px;display:inline-flex}.tb-composer{flex-direction:column;gap:12px;display:flex}.tb-chips{flex-wrap:wrap;gap:8px;display:flex}.tb-chip-btn{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-ink);font:inherit;text-align:start;cursor:pointer;border-radius:999px;padding:6px 12px;font-size:13px}.tb-chip-btn:hover{border-color:var(--color-brand);background:var(--color-soft)}.tb-matrix{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}.tb-matrix th,.tb-matrix td{border-block-end:1px solid var(--color-border);text-align:center;white-space:nowrap;background:var(--color-surface);padding:10px 12px}.tb-matrix thead th{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted);vertical-align:bottom;font-size:11px;font-weight:500}.tb-matrix thead th .tb-col{white-space:normal;flex-direction:column;align-items:center;gap:2px;max-width:148px;margin-inline:auto;line-height:1.3;display:flex}.tb-matrix thead th .tb-col span{font-family:var(--font-body);letter-spacing:0;text-transform:none;color:var(--color-ink);font-size:12px;font-weight:600}.tb-matrix th:first-child,.tb-matrix td:first-child{z-index:1;text-align:start;border-inline-end:1px solid var(--color-border);position:sticky;inset-inline-start:0}.tb-matrix .tb-avg{border-inline-start:1px solid var(--color-border);background:var(--color-canvas)}.tb-matrix tfoot td,.tb-matrix tfoot th{background:var(--color-canvas);border-block-end:0;font-weight:600}.tb-matrix tbody tr:hover td{background:var(--color-canvas)}.tb-matrix a{color:inherit;text-decoration:none}.tb-matrix a:hover strong{text-decoration:underline}.tb-matrix .chip{white-space:nowrap}.tb-legend{border-block-start:1px solid var(--color-border);color:var(--color-muted);flex-wrap:wrap;align-items:center;gap:8px 16px;padding:14px 22px;font-size:12px;display:flex}.tb-legend span{align-items:center;gap:6px;display:inline-flex}.tb-legend .heat{min-width:40px}.tb-class-bars{flex-direction:column;gap:16px;display:flex}.tb-class-row{grid-template-columns:56px minmax(0,1fr);align-items:center;gap:12px;display:grid}.tb-class-row>strong{font-family:var(--font-mono);font-size:13px;font-weight:500}.tb-bars{flex-direction:column;gap:5px;display:flex}.tb-bar{grid-template-columns:minmax(0,1fr) 40px;align-items:center;gap:8px;display:grid}.tb-bar>span{background:var(--color-subtle);border-radius:3px;height:12px;overflow:hidden}.tb-bar>span i{background:var(--color-brand);border-radius:3px;height:100%;display:block}.tb-bar[data-kind=demerit]>span i{background:var(--color-warning-solid)}.tb-bar>b{font-family:var(--font-mono);text-align:end;font-size:12px;font-weight:500}.tb-form{flex-direction:column;gap:14px;display:flex}.tb-form .field-label+.segmented{margin-block-start:6px}.tb-form .segmented{width:100%;display:flex}.tb-form .segmented button{flex:1}.tb-icon-ok{color:var(--color-success)}.tb-icon-off{color:var(--color-border-strong)}.tb-note-cell{text-overflow:ellipsis;white-space:nowrap;max-width:34ch;color:var(--color-muted);font-size:13px;display:block;overflow:hidden}.tb-date{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted);margin-block-end:6px;font-size:12px;display:block}.tb-time-tile{background:var(--color-subtle);width:56px;height:44px;font-family:var(--font-mono);color:var(--color-ink);border-radius:8px;flex:none;place-items:center;font-size:13px;font-weight:500;display:grid}.tb-time-tile[data-state=now]{background:var(--color-brand);color:var(--color-on-brand)}.tb-time-tile[data-state=done]{color:var(--color-muted)}.tb-lrow-chip{flex:none}.tb-record{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;display:grid}.tb-record>div{border-inline-start:1px solid var(--color-border);flex-direction:column;gap:10px;min-width:0;padding:4px 20px;display:flex}.tb-record>div:first-child{border-inline-start:0;padding-inline-start:0}.tb-record>div:last-child{padding-inline-end:0}.tb-big{font-family:var(--font-mono);letter-spacing:-.02em;font-size:30px;font-weight:500;line-height:1}.tb-counts{color:var(--color-muted);grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;font-size:12px;display:grid}.tb-counts b{font-family:var(--font-mono);color:var(--color-ink);margin-inline-end:4px;font-weight:500}.tb-strip{gap:2px;display:flex}.tb-strip i{background:color-mix(in srgb, var(--color-success) 55%, transparent);border-radius:2px;flex:1;max-width:9px;height:22px}.tb-strip i[data-s=late]{background:var(--color-warning-solid)}.tb-strip i[data-s=absent]{background:var(--color-danger)}.tb-strip i[data-s=excused]{background:var(--color-border-strong)}.tb-grade-list,.tb-pt-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.tb-grade-list li{align-items:center;gap:8px;font-size:13px;display:flex}.tb-grade-list li span:nth-child(2){flex:1;min-width:0}.tb-pt-list li{align-items:flex-start;gap:8px;font-size:13px;display:flex}.tb-pt-list li>span:first-child{width:26px;height:20px;font-family:var(--font-mono);background:color-mix(in srgb, var(--color-success) 14%, transparent);color:color-mix(in srgb, var(--color-success) 72%, var(--color-ink));border-radius:4px;flex:none;place-items:center;font-size:11px;font-weight:600;display:grid}.tb-pt-list li[data-kind=demerit]>span:first-child{background:color-mix(in srgb, var(--color-warning-solid) 16%, transparent);color:color-mix(in srgb, var(--color-warning-solid) 72%, var(--color-ink))}.tb-pt-list small{color:var(--color-muted);font-size:12px;display:block}@media (width<=1180px){.tb-mark-layout{grid-template-columns:1fr}.tb-mark-side{position:static}.tb-record{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:20px}.tb-record>div:nth-child(3){border-inline-start:0;padding-inline-start:0}}@media (width<=760px){.tb-answer{padding:14px;font-size:15px}.tb-msg{max-width:100%}.tb-excerpt{max-width:26ch}.tb-task,.tb-record{grid-template-columns:1fr}.tb-record>div{border-inline-start:0;padding-inline:0}.tb-record>div+div{border-block-start:1px solid var(--color-border);padding-block-start:16px}.tb-matrix{min-width:0}.tb-matrix th,.tb-matrix td{padding:8px 10px}.tb-legend{padding:12px 16px}}.stat-foot .delta{white-space:nowrap;flex:none}.tb-inline-dot{vertical-align:0;margin-inline-end:8px}.tb-dash>*{min-width:0}@media (width<=1180px){.tb-dash>.tb-needs{order:-1}}.ta-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.ta-trunc{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.ta-clamp{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ta-subj{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.ta-meta{color:var(--color-muted);flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:12px;display:flex}.ta-meta>span+span:before{content:"·";color:var(--color-border-strong);margin-inline-end:10px}.ta-id{font-family:var(--font-mono);color:var(--color-muted);letter-spacing:.02em;font-size:11px}.ta-section-label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--color-muted);font-size:11px;font-weight:500}.ta-disclosure{color:var(--color-muted);align-items:flex-start;gap:8px;font-size:12px;line-height:1.45;display:flex}.ta-disclosure svg{color:var(--color-brand);flex:none;margin-block-start:2px}.ta-card-gap{height:12px}.ta-lessons{flex-direction:column;display:flex}.ta-lesson{border-block-start:1px solid var(--color-border);grid-template-columns:92px minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px 0;display:grid}.ta-lesson:first-child{border-block-start:0;padding-block-start:4px}.ta-lesson[data-state=now]{position:relative}.ta-lesson[data-state=now]:before{content:"";background:var(--color-brand);border-radius:0 3px 3px 0;width:3px;position:absolute;inset-block:10px;inset-inline-start:-22px}.ta-lesson-time{font-family:var(--font-mono);color:var(--color-ink);flex-direction:column;font-size:13px;line-height:1.3;display:flex}.ta-lesson-time small{color:var(--color-muted);font-size:12px}.ta-lesson[data-state=done] .ta-lesson-time{color:var(--color-muted)}.ta-lesson-body{flex-direction:column;gap:6px;min-width:0;display:flex}.ta-lesson-title{align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.ta-lesson-chips{flex-wrap:wrap;gap:6px;display:flex}.ta-lesson-action{justify-content:flex-end;display:flex}.ta-week-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.ta-week{grid-template-columns:84px repeat(5,minmax(112px,1fr));gap:6px;min-width:660px;display:grid}.ta-week-head{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--color-muted);padding:0 8px 4px;font-size:11px;font-weight:500}.ta-week-head[data-today=true]{color:var(--color-brand-ink)}.ta-week-time{font-family:var(--font-mono);color:var(--color-ink);flex-direction:column;justify-content:center;padding:0 8px;font-size:12px;line-height:1.25;display:flex}.ta-week-time small{color:var(--color-muted);font-size:11px}.ta-week-cell{background:color-mix(in srgb, hsl(var(--hue,180) 55% 45%) 11%, var(--color-surface));border-inline-start:3px solid hsl(var(--hue,180) 55% 45%);border-radius:8px;flex-direction:column;gap:2px;min-height:52px;padding:8px 10px;font-size:13px;line-height:1.25;display:flex}.ta-week-cell strong{color:var(--color-ink);font-weight:600}.ta-week-cell small{color:var(--color-muted);font-size:11px;font-family:var(--font-mono)}.ta-week-cell[data-mine=false]{background:var(--color-subtle);border-inline-start-color:var(--color-border-strong)}.ta-week-cell[data-today=true]{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-brand) 40%, transparent)}.ta-week-cell[data-empty=true]{border:1px dashed var(--color-border);color:var(--color-muted);background:0 0}.ta-week-break{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted);border-block:1px dashed var(--color-border);text-align:center;grid-column:1/-1;padding:2px 8px;font-size:11px}.ta-roster{flex-direction:column;display:flex}.ta-roster-row{border-block-start:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) 96px 324px;align-items:center;gap:16px;padding:12px 22px;display:grid}.ta-roster-row:first-child{border-block-start:0}.ta-roster-row[data-mark=absent]{background:linear-gradient(90deg, color-mix(in srgb, var(--color-danger) 6%, transparent), transparent 40%)}.ta-roster-row[data-mark=late]{background:linear-gradient(90deg, color-mix(in srgb, var(--color-warning-solid) 7%, transparent), transparent 40%)}.ta-roster-who{align-items:center;gap:12px;min-width:0;display:flex}.ta-roster-who a{color:var(--color-ink);font-weight:600;text-decoration:none}.ta-roster-who a:hover{text-decoration:underline}.ta-rate{font-family:var(--font-mono);text-align:end;white-space:nowrap;font-size:13px}.ta-rate[data-warn=true]{color:var(--color-warning-solid);font-weight:600}.ta-rate small{font-family:var(--font-body);color:var(--color-muted);font-size:11px;font-weight:400;display:block}.ta-roster-head{border-block:1px solid var(--color-border);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted);grid-template-columns:minmax(0,1fr) 96px 324px;gap:16px;padding:10px 22px;font-size:11px;font-weight:500;display:grid}.ta-roster-head span:nth-child(2){text-align:end}.ta-presence{background:var(--color-subtle);border-radius:8px;grid-template-columns:repeat(4,auto);justify-self:end;gap:2px;padding:3px;display:inline-grid}.ta-presence label{cursor:pointer;display:block;position:relative}.ta-presence input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.ta-presence span{min-width:76px;min-height:34px;color:var(--color-muted);transition:background var(--dur) var(--ease-out), color var(--dur) var(--ease-out);border-radius:6px;justify-content:center;align-items:center;gap:5px;padding:0 10px;font-size:13px;font-weight:500;display:flex}.ta-presence label:hover span{color:var(--color-ink);background:color-mix(in srgb, var(--color-surface) 60%, transparent)}.ta-presence input:focus-visible+span{box-shadow:0 0 0 3px color-mix(in srgb, var(--color-brand) 45%, transparent)}.ta-presence input:checked+span{color:var(--color-on-brand);box-shadow:0 1px 2px color-mix(in srgb, var(--color-ink) 16%, transparent);font-weight:600}.ta-presence input[value=present]:checked+span{background:var(--color-success)}.ta-presence input[value=late]:checked+span{background:var(--color-warning-solid)}.ta-presence input[value=absent]:checked+span{background:var(--color-danger)}.ta-presence input[value=excused]:checked+span{background:var(--color-accent-2)}.ta-presence input:disabled+span{cursor:not-allowed}.ta-presence input:disabled:not(:checked)+span{opacity:.55}.ta-presence label:has(input:disabled:not(:checked)):hover span{color:var(--color-muted);background:0 0}.ta-counts{color:var(--color-muted);flex-wrap:wrap;gap:6px 16px;font-size:13px;display:flex}.ta-counts b{font-family:var(--font-mono);color:var(--color-ink);margin-inline-end:4px;font-weight:600}.ta-counts i{vertical-align:0;border-radius:2px;width:8px;height:8px;margin-inline-end:6px;display:inline-block}.ta-kind{color:var(--color-ink);white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:inline-flex}.ta-kind svg{color:var(--color-muted)}.ta-title-cell{align-items:center;gap:12px;min-width:0;display:flex}.ta-title-cell .lrow-tile{width:36px;height:36px}.ta-title-cell>div{flex-direction:column;gap:3px;min-width:0;display:flex}.ta-title-cell strong{font-weight:600}.ta-preview{border:1px solid var(--color-border);background:var(--color-canvas);border-radius:12px;padding:24px}.ta-preview-head{border-block-end:1px solid var(--color-border);flex-direction:column;gap:6px;margin-block-end:14px;padding-block-end:14px;display:flex}.ta-preview h3{font-size:20px;line-height:1.25}.ta-preview-body{color:var(--color-ink);flex-direction:column;gap:12px;font-size:15px;line-height:1.7;display:flex}.ta-preview-body p{margin:0}.ta-preview-empty{color:var(--color-muted);font-style:italic}.ta-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;display:grid}.ta-form-grid .ta-span{grid-column:1/-1}.ta-form-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-block-start:18px;display:flex}.ta-form-actions .ta-hint{color:var(--color-muted);font-size:12px}.ta-ai-actions{flex-direction:column;gap:8px;margin-block:4px 14px;display:flex}.ta-ai-actions .btn{justify-content:flex-start}.ta-dots{vertical-align:middle;gap:3px;display:inline-flex}.ta-dots i{background:var(--color-subtle-2);border-radius:50%;width:7px;height:7px}.ta-dots i[data-on=true]{background:var(--color-brand)}.ta-dots[data-level="3"] i[data-on=true]{background:var(--color-warning-solid)}.ta-options{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.ta-options li{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;align-items:center;gap:10px;padding:7px 10px;font-size:14px;display:flex}.ta-options li[data-correct=true]{border-color:color-mix(in srgb, var(--color-success) 45%, transparent);background:color-mix(in srgb, var(--color-success) 8%, transparent);font-weight:500}.ta-options .ta-opt-letter{background:var(--color-subtle);width:22px;height:22px;font-family:var(--font-mono);color:var(--color-muted);border-radius:6px;flex:none;place-items:center;font-size:11px;font-weight:600;display:grid}.ta-options li[data-correct=true] .ta-opt-letter{background:var(--color-success);color:var(--color-on-brand)}.ta-options li[data-wrong=true]{border-color:color-mix(in srgb, var(--color-danger) 40%, transparent);background:color-mix(in srgb, var(--color-danger) 6%, transparent)}.ta-options .ta-opt-note{white-space:nowrap;margin-inline-start:auto;font-size:12px;font-weight:500}.ta-draft{border:1px solid var(--color-border);background:var(--color-surface);border-radius:10px;flex-direction:column;gap:12px;padding:16px;display:flex}.ta-draft+.ta-draft{margin-block-start:12px}.ta-draft-prompt{font-size:15px;font-weight:600;line-height:1.45}.ta-answer{background:color-mix(in srgb, var(--color-success) 10%, transparent);color:color-mix(in srgb, var(--color-success) 75%, var(--color-ink));border-radius:8px;align-self:flex-start;align-items:flex-start;gap:8px;padding:6px 10px;font-size:14px;font-weight:500;display:inline-flex}.ta-explain{color:var(--color-muted);font-size:13px;line-height:1.55}.ta-explain strong{color:var(--color-ink);font-weight:600}.ta-draft-actions{flex-wrap:wrap;gap:8px;display:flex}.ta-gen{grid-template-columns:minmax(0,1fr) 96px;align-items:end;gap:12px;display:grid}.ta-dialog-wide{flex-direction:column;gap:14px;display:flex}.ta-opt-edit{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;display:grid}.ta-opt-edit .input{min-height:38px}.ta-opt-edit input[type=radio]{width:18px;height:18px;accent-color:var(--color-success)}.ta-window{white-space:nowrap;flex-direction:column;font-size:13px;line-height:1.35;display:flex}.ta-window small{color:var(--color-muted);font-size:12px}.ta-submitted{flex-direction:column;gap:6px;min-width:96px;display:flex}.ta-submitted .ta-mono{font-size:13px}.ta-bars{flex-direction:column;gap:12px;display:flex}.ta-bar{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 12px;font-size:13px;display:grid}.ta-bar-track{background:var(--color-subtle-2);border-radius:999px;grid-column:1/-1;height:8px;overflow:hidden}.ta-bar-track span{border-radius:inherit;background:var(--color-brand);height:100%;display:block}.ta-bar-track[data-band=mid] span{background:var(--color-warning-solid)}.ta-bar-track[data-band=low] span{background:var(--color-danger)}.ta-bar-value{font-family:var(--font-mono);color:var(--color-muted);white-space:nowrap;font-size:12px}.ta-paper{flex-direction:column;display:flex}.ta-paper-row{border-block-start:1px solid var(--color-border);grid-template-columns:36px minmax(0,1fr) auto;align-items:start;gap:14px;padding:14px 22px;display:grid}.ta-paper-row:first-child{border-block-start:0}.ta-qnum{background:var(--color-subtle);width:32px;height:32px;font-family:var(--font-mono);color:var(--color-ink);border-radius:8px;place-items:center;font-size:12px;font-weight:600;display:grid}.ta-paper-body{flex-direction:column;gap:6px;min-width:0;display:flex}.ta-paper-body .ta-prompt{font-weight:500;line-height:1.45}.ta-paper-side{align-items:center;gap:10px;display:flex}.ta-totals{border-block-start:1px solid var(--color-border);background:var(--color-canvas);color:var(--color-muted);border-radius:0 0 12px 12px;flex-wrap:wrap;gap:8px 24px;padding:14px 22px;font-size:13px;display:flex}.ta-totals b{font-family:var(--font-mono);color:var(--color-ink);margin-inline-end:4px;font-size:15px;font-weight:600}.ta-topic-checks{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px;display:grid}.ta-topic-checks .check small{color:var(--color-muted);font-family:var(--font-mono);margin-inline-start:6px;font-size:11px}.ta-section{flex-direction:column;gap:14px;display:flex}.ta-section+.ta-section{border-block-start:1px solid var(--color-border);margin-block-start:22px;padding-block-start:22px}.ta-section-head{align-items:center;gap:10px;display:flex}.ta-step-num{background:var(--color-brand);width:24px;height:24px;color:var(--color-on-brand);font-family:var(--font-mono);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:600;display:grid}.ta-section-head h3{font-size:15px;font-weight:600}.ta-insight{color:var(--color-ink);margin-block-end:18px;font-size:15px;line-height:1.6}.ta-wrong{color:var(--color-danger);align-items:center;gap:6px;font-size:13px;display:inline-flex}.ta-paper-list .lrow{padding-inline:4px}@media (width<=760px){.ta-lesson{grid-template-columns:64px minmax(0,1fr);gap:10px 12px}.ta-lesson-action{grid-column:2;justify-content:flex-start}.ta-lesson[data-state=now]:before{inset-inline-start:-18px}.ta-roster-head{display:none}.ta-roster-row{grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:12px 16px}.ta-roster-row .ta-presence{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));width:100%}.ta-presence span{min-width:0;padding:0 4px}.ta-form-grid,.ta-topic-checks{grid-template-columns:1fr}.ta-paper-row{grid-template-columns:32px minmax(0,1fr);padding:12px 16px}.ta-paper-side{grid-column:2}.ta-totals{padding:12px 16px}.ta-gen{grid-template-columns:1fr}}.card.ta-flush{padding:0;overflow:hidden}.card.ta-flush>.card-header{padding:22px 22px 0}.ta-answer svg{flex:none;margin-block-start:3px}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2)format("woff2"),url(./ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2)format("woff2"),url(./ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-greek-500-normal-JMMifIXV.woff2)format("woff2"),url(./ibm-plex-sans-greek-500-normal-CuWXN6rf.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2)format("woff2"),url(./ibm-plex-sans-vietnamese-500-normal-BEb3_waV.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2)format("woff2"),url(./ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(./ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(./ibm-plex-sans-cyrillic-ext-700-normal-BmRLXWpJ.woff2)format("woff2"),url(./ibm-plex-sans-cyrillic-ext-700-normal-DCQwxkRk.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(./ibm-plex-sans-cyrillic-700-normal-D_uavGvn.woff2)format("woff2"),url(./ibm-plex-sans-cyrillic-700-normal-RFb1v-CK.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(./ibm-plex-sans-greek-700-normal-wyJ6jzdA.woff2)format("woff2"),url(./ibm-plex-sans-greek-700-normal-CkZN0sRy.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(./ibm-plex-sans-vietnamese-700-normal-CkEo6LDy.woff2)format("woff2"),url(./ibm-plex-sans-vietnamese-700-normal-BV5B8Are.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(./ibm-plex-sans-latin-ext-700-normal-aMgXseD4.woff2)format("woff2"),url(./ibm-plex-sans-latin-ext-700-normal-DZH6Xh-4.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(./ibm-plex-sans-latin-700-normal-Bxkt5Cjx.woff2)format("woff2"),url(./ibm-plex-sans-latin-700-normal-Bth3BMcD.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(./ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(./ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(./ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(./ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(./ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-ink:#0f2530;--color-muted:#58707c;--color-brand:#0f7c7a;--color-brand-strong:#0b6563;--color-brand-ink:#0a5c5a;--color-soft:#e2f1f0;--color-canvas:#f5f8f9;--color-surface:#fff;--color-subtle:#eef3f5;--color-subtle-2:#dfe8ec;--color-border:#d5e0e5;--color-border-strong:#b8c8cf;--color-nav:#0f2530;--color-nav-strong:#081820;--color-accent-2:#2e5bff;--color-success:#138a52;--color-warning:#fbf1df;--color-warning-ink:#85540f;--color-warning-border:#efd6a8;--color-warning-solid:#b7791f;--color-danger:#c93838;--color-danger-soft:#fbeaea;--color-danger-border:#f0c9c9;--color-info:#2e5bff;--color-info-soft:#edf1ff;--color-info-border:#cfdaff;--color-focus:#0f7c7a;--color-overlay:#0f253073;--color-on-brand:#fff;--color-side-panel:#0f2530;--color-restricted:#7b5bc4;--font-heading:"IBM Plex Sans", system-ui, sans-serif;--font-body:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--tracking-caps:.14em;--radius-sm:8px;--radius:12px;--radius-lg:16px;--shadow-sm:0 1px 0 #0f253014;--shadow:0 12px 32px -8px #0f25301f;--shadow-lg:0 24px 56px -12px #0f25303d;--ease-out:cubic-bezier(.4, 0, .2, 1);--dur:.15s;--sidebar-width:268px}body{font-feature-settings:normal;font-size:14px;line-height:1.55}h1,h2,h3,h4{letter-spacing:-.01em;font-weight:600}:focus-visible{box-shadow:0 0 0 4px color-mix(in srgb, var(--color-brand) 45%, transparent);border-radius:8px;outline:0}.eyebrow,.mono-label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--color-muted);font-size:11px;font-weight:500}.mono,.tabular{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.btn{--btn-bg:var(--color-brand);--btn-fg:var(--color-on-brand);border-radius:8px;min-height:44px;padding:0 18px;font-size:15px;font-weight:600}.btn:hover{--btn-bg:var(--color-brand-strong)}.btn-secondary{--btn-bg:var(--color-surface);--btn-fg:var(--color-ink);--btn-border:var(--color-border)}.btn-secondary:hover{--btn-bg:var(--color-subtle)}.btn-tonal{--btn-bg:var(--color-subtle);--btn-fg:var(--color-ink)}.btn-tonal:hover{--btn-bg:var(--color-subtle-2)}.btn-ghost{--btn-bg:transparent;--btn-fg:var(--color-brand-ink)}.btn-ghost:hover{--btn-bg:var(--color-subtle)}.btn-danger{--btn-bg:var(--color-danger);--btn-fg:#fff}.btn-danger:hover{--btn-bg:color-mix(in srgb, var(--color-danger) 85%, #000)}.btn-sm{border-radius:6px;min-height:34px;padding:0 12px;font-size:13px}.btn-ai{--btn-bg:var(--color-surface);--btn-fg:var(--color-brand-ink);--btn-border:color-mix(in srgb, var(--color-brand) 35%, transparent)}.btn-ai:hover{--btn-bg:var(--color-soft)}.card{box-shadow:none;border-radius:12px;padding:22px}.card-title{font-size:18px;font-weight:600;line-height:1.25}.card-icon{background:color-mix(in srgb, var(--color-brand) 14%, transparent);width:32px;height:32px;color:var(--color-brand);border-radius:8px}.card-icon[data-tone=warning]{background:color-mix(in srgb, var(--color-warning-solid) 14%, transparent);color:var(--color-warning-solid)}.card-icon[data-tone=danger]{background:color-mix(in srgb, var(--color-danger) 12%, transparent);color:var(--color-danger)}.card-icon[data-tone=info]{background:color-mix(in srgb, var(--color-accent-2) 12%, transparent);color:var(--color-accent-2)}a.card:hover,button.card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow)}.chip{border:0;border-radius:4px;padding:1px 8px;font-size:12px;font-weight:500}.chip:before{width:5px;height:5px}.chip-success{background:color-mix(in srgb, var(--color-success) 13%, transparent);color:color-mix(in srgb, var(--color-success) 72%, var(--color-ink))}.chip-warning{background:color-mix(in srgb, var(--color-warning-solid) 15%, transparent);color:color-mix(in srgb, var(--color-warning-solid) 72%, var(--color-ink))}.chip-danger{background:color-mix(in srgb, var(--color-danger) 12%, transparent);color:color-mix(in srgb, var(--color-danger) 72%, var(--color-ink))}.chip-info{background:color-mix(in srgb, var(--color-accent-2) 11%, transparent);color:color-mix(in srgb, var(--color-accent-2) 72%, var(--color-ink))}.chip-neutral{background:var(--color-subtle);color:var(--color-muted)}.chip-restricted{background:color-mix(in srgb, var(--color-restricted) 14%, transparent);color:color-mix(in srgb, var(--color-restricted) 70%, var(--color-ink))}.chip-ai{background:color-mix(in srgb, var(--color-brand) 12%, transparent);color:var(--color-brand-ink)}.callout{border-radius:8px}.callout[data-tone=success]{background:color-mix(in srgb, var(--color-brand) 9%, var(--color-surface));border-color:color-mix(in srgb, var(--color-brand) 25%, var(--color-surface))}.input,.select,.textarea{border-color:var(--color-border);border-radius:8px;font-size:14px}.input:hover,.select:hover,.textarea:hover{border-color:var(--color-border-strong)}.input:focus,.select:focus,.textarea:focus{border-color:var(--color-brand);box-shadow:0 0 0 4px color-mix(in srgb, var(--color-brand) 18%, transparent)}.field-label{font-size:14px;font-weight:500}.segmented{background:var(--color-subtle);border:0;border-radius:8px;padding:4px}.segmented button{border-radius:6px;font-weight:500}.segmented button[aria-pressed=true]{box-shadow:0 1px 2px #0f25301f}.avatar{background:linear-gradient(135deg, var(--color-brand), var(--color-accent-2));color:#fff}.progress{background:var(--color-subtle-2);height:6px}.progress[data-tone=warning]>span{background:var(--color-warning-solid)}.progress[data-tone=danger]>span{background:var(--color-danger)}.table{font-size:14px}.table th{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;background:var(--color-surface);padding-block:12px;font-size:11px;font-weight:500}.table td{padding-block:14px}.table tbody tr[data-clickable=true]:hover{background:var(--color-canvas)}.toast{background:var(--color-ink);border-radius:8px}.layout{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);min-height:100dvh;display:grid}.sidebar{background:var(--color-surface);border-inline-end:1px solid var(--color-border);scrollbar-width:thin;flex-direction:column;gap:18px;height:100dvh;padding:24px 16px 16px;display:flex;position:sticky;top:0;overflow-y:auto}.side-brand{color:var(--color-ink);align-items:center;gap:10px;padding:0 8px;text-decoration:none;display:flex}.side-logo{background:var(--color-brand);width:34px;height:34px;color:var(--color-on-brand);font-family:var(--font-mono);letter-spacing:.04em;border-radius:8px;flex:none;place-items:center;font-size:12px;font-weight:600;display:grid}.side-brand strong{letter-spacing:.06em;font-size:16px;font-weight:700;line-height:1.1;display:block}.side-brand small{color:var(--color-muted);font-size:12px;display:block}.side-search{position:relative}.side-search>svg{color:var(--color-muted);pointer-events:none;position:absolute;inset-block-start:15px;inset-inline-start:16px}.side-search .input{background:var(--color-subtle);border:1px solid #0000;border-radius:999px;min-height:46px;padding-inline:42px 52px;font-size:14px}.side-search .input:focus{background:var(--color-surface);border-color:var(--color-brand)}.kbd{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-muted);font-family:var(--font-mono);pointer-events:none;border-radius:6px;padding:1px 7px;font-size:11px;line-height:18px;position:absolute;inset-block-start:12px;inset-inline-end:12px}.search-results{z-index:40;border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-lg);border-radius:12px;padding:6px;position:absolute;inset-block-start:calc(100% + 6px);inset-inline:0}.search-results a{color:var(--color-ink);border-radius:8px;align-items:center;gap:10px;padding:8px 10px;text-decoration:none;display:flex}.search-results a:hover,.search-results a[data-active=true]{background:var(--color-subtle)}.side-group{flex-direction:column;gap:2px;display:flex}.side-label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--color-muted);padding:0 12px 6px;font-size:11px;font-weight:500}.side-link{min-height:42px;color:var(--color-ink);transition:background var(--dur) var(--ease-out), color var(--dur) var(--ease-out);border-radius:8px;align-items:center;gap:12px;padding:0 12px;font-size:14px;font-weight:500;text-decoration:none;display:flex}.side-link svg{color:var(--color-muted);transition:color var(--dur) var(--ease-out)}.side-link:hover{background:var(--color-subtle)}.side-link.is-active{background:color-mix(in srgb, var(--color-brand) 12%, transparent);color:var(--color-brand-ink);font-weight:600}.side-link.is-active svg{color:var(--color-brand)}.side-count{background:var(--color-subtle-2);min-width:22px;color:var(--color-ink);font-family:var(--font-mono);text-align:center;border-radius:999px;margin-inline-start:auto;padding:0 7px;font-size:11px;font-weight:500;line-height:20px}.side-count[data-tone=alert]{background:var(--color-danger);color:#fff}.side-foot{border:1px solid var(--color-border);border-radius:12px;align-items:center;gap:10px;margin-block-start:auto;padding:12px;font-size:14px;display:flex}.side-foot small{color:var(--color-muted);font-size:12px;display:block}.main{flex-direction:column;min-width:0;display:flex}.topbar{z-index:20;background:color-mix(in srgb, var(--color-canvas) 90%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(12px);border-block-end:1px solid var(--color-border);align-items:center;gap:16px;min-height:64px;padding:0 32px;display:flex;position:sticky;top:0}.crumbs{min-width:0;color:var(--color-muted);white-space:nowrap;align-items:center;gap:8px;font-size:13px;display:flex;overflow:hidden}.crumbs a{color:inherit;text-decoration:none}.crumbs strong{color:var(--color-ink);text-overflow:ellipsis;font-weight:600;overflow:hidden}.top-date{font-family:var(--font-mono);color:var(--color-muted);white-space:nowrap;margin-inline-start:auto;font-size:12px}.top-actions{align-items:center;gap:8px;display:flex}.icon-btn{background:var(--color-subtle);width:44px;height:44px;color:var(--color-ink);cursor:pointer;transition:background var(--dur) var(--ease-out);border:0;border-radius:8px;place-items:center;text-decoration:none;display:grid;position:relative}.icon-btn:hover{background:var(--color-subtle-2)}.icon-btn.plain{background:0 0}.badge-dot{background:var(--color-danger);width:8px;height:8px;box-shadow:0 0 0 2px var(--color-subtle);border-radius:50%;position:absolute;inset-block-start:10px;inset-inline-end:11px}.menu-btn{display:none}.avatar-btn{cursor:pointer;background:0 0;border:0;border-radius:50%;padding:0}.avatar-btn .avatar{width:44px;height:44px;font-size:13px}.popover{z-index:40;border:1px solid var(--color-border);background:var(--color-surface);width:min(380px,100vw - 24px);max-height:70vh;box-shadow:var(--shadow-lg);animation:enter var(--dur-slow) var(--ease-out) both;border-radius:12px;padding:8px;position:absolute;inset-block-start:calc(100% + 8px);inset-inline-end:0;overflow:auto}.popover-item{width:100%;color:var(--color-ink);text-align:start;cursor:pointer;background:0 0;border:0;border-radius:8px;gap:10px;padding:10px;font-size:14px;text-decoration:none;display:flex}.popover-item:hover{background:var(--color-subtle)}.popover-item small{color:var(--color-muted);font-size:12px;display:block}.popover-head{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted);padding:6px 10px 8px;font-size:11px}.page{width:100%;max-width:1280px;animation:enter var(--dur-slow) var(--ease-out) both;flex-direction:column;gap:24px;padding:28px 32px 40px;display:flex}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.page-head h1{letter-spacing:-.02em;font-size:40px;font-weight:600;line-height:1.1}.page-head p{color:var(--color-muted);max-width:72ch;margin-block-start:8px;font-size:15px}.page-date{color:var(--color-muted);margin-block-end:6px;font-size:12px;display:block}.page-actions{flex-wrap:wrap;gap:8px;display:flex}.stats{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;display:grid}.stat{border:1px solid var(--color-border);background:var(--color-surface);color:inherit;min-width:0;transition:border-color var(--dur) var(--ease-out), box-shadow var(--dur) var(--ease-out);border-radius:12px;flex-direction:column;gap:10px;padding:22px;text-decoration:none;display:flex}.stat-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.stat-label{color:var(--color-muted);font-size:14px;font-weight:500}.stat-value{font-family:var(--font-mono);color:var(--color-ink);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:34px;font-weight:500;line-height:1.05}.stat[data-tone=warning] .stat-value{color:var(--color-warning-solid)}.stat[data-tone=danger] .stat-value{color:var(--color-danger)}.stat[data-tone=success] .stat-value{color:var(--color-brand)}.stat-row{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.stat-foot{color:var(--color-muted);align-items:center;gap:6px;font-size:12px;display:flex}.delta{background:color-mix(in srgb, var(--color-success) 14%, transparent);color:color-mix(in srgb, var(--color-success) 72%, var(--color-ink));font-family:var(--font-mono);border-radius:4px;align-items:center;gap:2px;padding:1px 6px;font-size:11px;font-weight:500;display:inline-flex}.delta[data-tone=down]{background:color-mix(in srgb, var(--color-danger) 12%, transparent);color:color-mix(in srgb, var(--color-danger) 72%, var(--color-ink))}.spark{align-items:flex-end;gap:3px;height:36px;display:flex}.spark i{background:color-mix(in srgb, var(--color-brand) 30%, transparent);border-radius:2px;width:6px}.spark i:last-child{background:var(--color-brand)}a.stat:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow)}.search{flex:0 320px;position:relative}.search>svg{color:var(--color-muted);pointer-events:none;position:absolute;inset-block-start:50%;inset-inline-start:12px;transform:translateY(-50%)}.search .input{min-height:40px;padding-inline-start:38px}.utabs{border-block-end:1px solid var(--color-border);scrollbar-width:none;gap:28px;display:flex;overflow-x:auto}.utabs button,.utabs a{color:var(--color-muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;flex:none;padding:0 0 12px;font-size:14px;font-weight:500;text-decoration:none;position:relative}.utabs button:hover,.utabs a:hover{color:var(--color-ink)}.utabs [aria-selected=true]{color:var(--color-ink);font-weight:600}.utabs [aria-selected=true]:after{content:"";background:var(--color-brand);border-radius:2px;height:2px;position:absolute;inset-block-end:-1px;inset-inline:0}.utabs .count{background:var(--color-subtle-2);font-family:var(--font-mono);color:var(--color-ink);border-radius:999px;margin-inline-start:6px;padding:0 6px;font-size:11px}.lrows{flex-direction:column;display:flex}.lrow{width:100%;color:inherit;text-align:start;cursor:pointer;transition:background var(--dur) var(--ease-out);background:0 0;border:0;border-radius:10px;align-items:center;gap:14px;padding:14px;text-decoration:none;display:flex}.lrow+.lrow{border-block-start:1px solid var(--color-border);border-radius:0}.lrow:hover{background:var(--color-subtle);border-radius:10px}.lrow:hover+.lrow{border-block-start-color:#0000}.lrow-tile{background:color-mix(in srgb, var(--color-brand) 12%, transparent);width:44px;height:44px;color:var(--color-brand);border-radius:8px;flex:none;place-items:center;display:grid}.lrow-tile[data-tone=warning]{background:color-mix(in srgb, var(--color-warning-solid) 14%, transparent);color:var(--color-warning-solid)}.lrow-tile[data-tone=danger]{background:color-mix(in srgb, var(--color-danger) 12%, transparent);color:var(--color-danger)}.lrow-tile[data-tone=info]{background:color-mix(in srgb, var(--color-accent-2) 12%, transparent);color:var(--color-accent-2)}.lrow-tile[data-tone=neutral]{background:var(--color-subtle);color:var(--color-muted)}.lrow-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.lrow-title{text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.lrow-sub{color:var(--color-muted);font-size:12px}.lrow-value{font-family:var(--font-mono);color:var(--color-ink);white-space:nowrap;font-size:13px}.lrow>.chev{color:var(--color-muted);flex:none}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:16px;display:grid}.grid-main{grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);align-items:start;gap:16px;display:grid}.table-card .card-header{padding:22px 22px 0}.table-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 22px;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.toolbar .select,.toolbar .input{width:auto;min-width:150px;min-height:38px;padding-block:6px;font-size:13px}.page-foot{color:var(--color-muted);font-size:12px}.draft-text{background:var(--color-canvas);border:1px solid var(--color-border);border-radius:8px;padding:16px;font-size:15px;line-height:1.65}.evidence{border:1px solid var(--color-border);border-radius:8px;gap:12px;padding:12px;display:flex}.evidence+.evidence{margin-block-start:8px}.evidence .grow small{color:var(--color-muted);font-size:12px;display:block}.chart{flex-direction:column;gap:14px;display:flex}.bar-row{grid-template-columns:92px 1fr 72px;align-items:center;gap:12px;font-size:13px;display:grid}.bar-track{background:var(--color-subtle);border-radius:6px;height:26px;position:relative;overflow:visible}.bar-fill{height:100%;transition:width var(--dur-slow) var(--ease-out);border-radius:6px;display:flex;overflow:hidden}.bar-fill span{height:100%;transition:width var(--dur-slow) var(--ease-out)}.bar-fill span+span{border-inline-start:2px solid var(--color-surface)}.threshold{border-inline-start:2px dashed var(--color-warning-solid);width:0;position:absolute;inset-block:-6px}.threshold-label{color:var(--color-warning-solid);white-space:nowrap;font-size:11px;font-weight:600;position:absolute;inset-block-start:-22px;transform:translate(-50%)}.legend{color:var(--color-muted);flex-wrap:wrap;gap:6px 16px;font-size:12px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend i{border-radius:3px;width:10px;height:10px}.ai-tag{background:color-mix(in srgb, var(--color-brand) 12%, transparent);color:var(--color-brand-ink);font-family:var(--font-mono);letter-spacing:.04em;white-space:nowrap;border-radius:4px;align-items:center;gap:4px;padding:1px 7px;font-size:11px;font-weight:500;display:inline-flex}.ai-panel{border:1px solid color-mix(in srgb, var(--color-brand) 30%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--color-brand) 6%, var(--color-surface)), var(--color-surface) 60%)}.subject-dot{background:hsl(var(--hue,180) 55% 45%);border-radius:3px;flex:none;width:10px;height:10px;display:inline-block}.pct{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.heat{min-width:48px;font-family:var(--font-mono);border-radius:4px;place-items:center;padding:3px 6px;font-size:12px;font-weight:500;display:inline-grid}.heat[data-band=high]{background:color-mix(in srgb, var(--color-success) 15%, transparent);color:color-mix(in srgb, var(--color-success) 72%, var(--color-ink))}.heat[data-band=mid]{background:color-mix(in srgb, var(--color-warning-solid) 16%, transparent);color:color-mix(in srgb, var(--color-warning-solid) 72%, var(--color-ink))}.heat[data-band=low]{background:color-mix(in srgb, var(--color-danger) 13%, transparent);color:color-mix(in srgb, var(--color-danger) 72%, var(--color-ink))}.heat[data-band=none]{background:var(--color-subtle);color:var(--color-muted)}.persona-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;display:grid}.card.persona{align-items:center;gap:12px;padding:14px;display:flex}.card.persona[aria-pressed=true]{border-color:var(--color-brand);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-brand) 18%, transparent)}.signin-wrap{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);min-height:100dvh;display:grid}.signin-side{background:var(--color-side-panel);color:#b9cbd2;flex-direction:column;justify-content:space-between;gap:32px;padding:48px;display:flex;position:relative;overflow:hidden}.signin-side:after{content:"";background:radial-gradient(closest-side, color-mix(in srgb, var(--color-brand) 55%, transparent), transparent);pointer-events:none;border-radius:50%;width:420px;height:420px;position:absolute;inset-block-end:-120px;inset-inline-end:-120px}.signin-side h1{color:#fff;letter-spacing:-.02em;margin-block:0 16px;font-size:clamp(30px,3.4vw,46px);line-height:1.08}.signin-side .side-brand{color:#fff;padding:0}.signin-side .side-brand small{color:#9fb4bc}.signin-points{z-index:1;gap:10px;display:grid;position:relative}.signin-points div{color:#d6e2e6;align-items:flex-start;gap:10px;font-size:14px;display:flex}.signin-points svg{color:color-mix(in srgb, var(--color-brand) 55%, #fff);flex:none;margin-block-start:2px}.signin-main{flex-direction:column;justify-content:center;gap:24px;max-width:820px;padding:48px;display:flex}.drawer-scrim{display:none}@media (width<=1180px){.grid-main{grid-template-columns:1fr}.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1024px){.layout{grid-template-columns:1fr}.sidebar{z-index:50;width:288px;transition:transform var(--dur-slow) var(--ease-out);box-shadow:var(--shadow-lg);position:fixed;inset-block:0;inset-inline-start:0;transform:translate(-100%)}[dir=rtl] .sidebar{transform:translate(100%)}.layout[data-drawer=open] .sidebar{transform:none}.layout[data-drawer=open] .drawer-scrim{z-index:45;background:var(--color-overlay);display:block;position:fixed;inset:0}.menu-btn{display:grid}.topbar{padding:0 16px}.page{padding:20px 16px 32px}.page-head h1{font-size:32px}}@media (width<=760px){.grid-2,.grid-3{grid-template-columns:1fr}.page-head h1{font-size:28px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat{padding:16px}.stat-value{font-size:26px}.spark{display:none}.signin-wrap{grid-template-columns:1fr}.signin-side{padding:28px 20px}.signin-points{display:none}.signin-main{padding:24px 20px 40px}.bar-row{grid-template-columns:64px 1fr 60px}.top-date{display:none}.table th,.table td{padding-inline:16px}.table{min-width:680px}.table-wrap{-webkit-overflow-scrolling:touch}.card{padding:18px}}:root[data-palette=terra]{--color-canvas:#f6efe3;--color-surface:#fffbf4;--color-subtle:#efe3cf;--color-subtle-2:#e3d2b6;--color-ink:#2b1f17;--color-muted:#76604c;--color-border:#dccbb0;--color-border-strong:#c7b291;--color-brand:#b44d27;--color-brand-strong:#96401f;--color-brand-ink:#8a3a1b;--color-soft:#f6e2d6;--color-accent-2:#6f8a5a;--color-success:#4f7a3f;--color-warning-solid:#c9852a;--color-danger:#b33a2a;--color-focus:#b44d27;--color-side-panel:#2b1f17;--color-info:#3d6b8f;--color-info-soft:#e9f0f4;--color-info-border:#c9d9e4}:root[data-palette=maison]{--color-canvas:#f6f1e8;--color-surface:#fffdf8;--color-subtle:#efe8db;--color-subtle-2:#e2d8c6;--color-ink:#1c1a17;--color-muted:#6f665a;--color-border:#d6ccba;--color-border-strong:#c2b59c;--color-brand:#1c1a17;--color-brand-strong:#3a352e;--color-brand-ink:#1c1a17;--color-soft:#ece4d4;--color-accent-2:#b08d57;--color-success:#4f6b4a;--color-warning-solid:#a07c45;--color-danger:#8e2c2c;--color-focus:#b08d57;--color-side-panel:#1c1a17;--color-info:#5a6b80;--color-info-soft:#eef0f2;--color-info-border:#d4d9df}:root[data-palette=pebble]{--color-canvas:#f4f3ff;--color-surface:#fff;--color-subtle:#eeebff;--color-subtle-2:#e1dcfa;--color-ink:#25214a;--color-muted:#6e6a93;--color-border:#e4e0f7;--color-border-strong:#cdc6ef;--color-brand:#6d5df6;--color-brand-strong:#5a49ea;--color-brand-ink:#4b3cd0;--color-soft:#eeebff;--color-accent-2:#e2668a;--color-success:#1f9e75;--color-warning-solid:#d48a1c;--color-danger:#d43f57;--color-focus:#6d5df6;--color-side-panel:#25214a;--color-info:#5a49ea;--color-info-soft:#eeebff;--color-info-border:#d9d3fb}:root[data-palette=night]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-canvas:#0a0b0d;--color-surface:#111317;--color-subtle:#181b20;--color-subtle-2:#23272e;--color-ink:#edeff2;--color-muted:#9aa1ab;--color-border:#262a31;--color-border-strong:#3a3f48;--color-brand:#3cc2b4;--color-brand-strong:#5fd3c6;--color-brand-ink:#7fe0d5;--color-soft:#3cc2b424;--color-on-brand:#04201d;--color-accent-2:#5b8cff;--color-success:#3dd68c;--color-warning-solid:#f5b544;--color-danger:#ff6b6b;--color-warning:#f5b54421;--color-warning-ink:#f5c76a;--color-warning-border:#f5b5444d;--color-danger-soft:#ff6b6b21;--color-danger-border:#ff6b6b4d;--color-info:#8fb0ff;--color-info-soft:#5b8cff21;--color-info-border:#5b8cff4d;--color-focus:#3cc2b4;--color-side-panel:#111317;--color-restricted:#b39ae8;--color-overlay:#0009;--color-nav:#23272e;--shadow:0 12px 32px -8px #00000080;--shadow-lg:0 24px 56px -12px #000000b3}:root[data-palette=night] .table th{background:var(--color-surface)}:root[data-palette=night] .avatar{color:#04201d}:root[data-palette=night] .toast{background:#23272e}.palette-swatches{flex-wrap:wrap;gap:8px;padding:4px 10px 10px;display:flex}.palette-swatch{border:2px solid var(--color-border);cursor:pointer;background:conic-gradient(var(--sw-a) 0 50%, var(--sw-b) 0);border-radius:50%;place-items:center;width:34px;height:34px;padding:0;display:grid}.palette-swatch[aria-checked=true]{border-color:var(--color-ink);box-shadow:0 0 0 2px var(--color-surface) inset}:root[data-palette=night] .btn-danger{--btn-fg:#1a0505}.card.card-flush{padding:0}
