.teacher-feedback-launcher{bottom:1.5rem;z-index:50;display:inline-flex;align-items:center;gap:.55rem;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:999px;padding:.75rem 1rem;background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 72%,#402012));color:#fff8f2;font:inherit;cursor:pointer;font-size:var(--text-sm)}.teacher-feedback-launcher,.teacher-feedback-panel{position:fixed;right:1.5rem;box-shadow:var(--shadow)}.teacher-feedback-panel{bottom:5.5rem;z-index:55;width:min(34rem,calc(100vw - 2rem));max-height:min(80vh,56rem);display:flex;flex-direction:column;gap:.65rem;padding:1rem;border:1px solid var(--line);border-radius:1.25rem;background:color-mix(in srgb,var(--panel-strong) 96%,var(--paper));color:var(--ink);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.teacher-feedback-panel.is-review-mode{inset:0;width:auto;max-height:none;height:100vh;border-radius:0;padding:0;gap:0}.teacher-feedback-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-shrink:0}.teacher-feedback-panel.is-review-mode .teacher-feedback-header{padding:.5rem .75rem;border-bottom:1px solid var(--line);background:var(--surface-subtle)}.teacher-feedback-header-left{display:flex;align-items:baseline;gap:.65rem;flex-wrap:wrap;min-width:0}.teacher-feedback-header-left strong{font-size:var(--text-sm);white-space:nowrap}.teacher-feedback-header-meta{color:var(--muted);font-size:var(--text-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.teacher-feedback-panel-body{flex:1 1 auto;min-height:0;display:grid;grid-gap:.75rem;gap:.75rem;overflow:hidden}.teacher-feedback-panel.is-review-mode .teacher-feedback-panel-body{grid-template-columns:minmax(0,1fr);gap:0}.teacher-feedback-panel.is-review-mode .teacher-feedback-panel-body:has(.teacher-feedback-secondary){grid-template-columns:minmax(0,1fr) 20rem}.teacher-feedback-primary{min-height:0;display:flex;flex-direction:column;gap:0;overflow:auto}.teacher-feedback-panel.is-review-mode .teacher-feedback-primary,.teacher-feedback-secondary{overflow:hidden;display:flex;flex-direction:column}.teacher-feedback-secondary{min-height:0;gap:.5rem}.teacher-feedback-panel.is-review-mode .teacher-feedback-secondary{border-left:1px solid var(--line);padding:.6rem;overflow:auto}.html-compare-area{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:0}.html-compare-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;padding:.4rem .75rem;background:var(--surface-subtle);border-bottom:1px solid var(--line);flex-shrink:0}.html-compare-labels,.html-compare-toolbar-left{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.html-compare-label{font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.2rem .5rem;border-radius:.35rem}.html-compare-label.is-current{background:var(--window-soft);color:var(--window)}.html-compare-label.is-upload{background:var(--accent-soft);color:var(--accent)}.html-compare-frames{flex:1 1 auto;min-height:0;display:grid;grid-gap:0;gap:0}.html-compare-frames.is-split{grid-template-columns:1fr 1fr}.html-frame-wrap{min-height:0;overflow:hidden;position:relative}.markup-overlay{position:absolute;inset:0;z-index:2;pointer-events:none}.markup-overlay.is-drawing{pointer-events:auto;cursor:crosshair}.markup-layer{position:absolute;inset:0}.markup-toolbar{gap:.75rem 1rem;padding:.5rem .75rem;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface-subtle) 90%,var(--panel-strong))}.markup-toolbar,.markup-toolbar-group{display:flex;flex-wrap:wrap;align-items:center}.markup-toolbar-group{gap:.45rem}.markup-toolbar-label{color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.markup-segmented{display:inline-flex;align-items:center;gap:2px;padding:2px;border-radius:999px;background:color-mix(in srgb,var(--line) 55%,transparent)}.markup-segmented button{display:inline-flex;align-items:center;gap:.3rem;border:none;border-radius:999px;padding:.3rem .55rem;background:transparent;color:var(--muted);font:inherit;font-size:11px;cursor:pointer}.markup-segmented button .material-symbols-outlined{font-size:15px}.markup-segmented button.is-active{background:var(--panel-strong);color:var(--ink);box-shadow:var(--shadow-sm)}.markup-segmented button:disabled{opacity:.4;cursor:not-allowed}.markup-color-row{display:inline-flex;align-items:center;gap:.35rem}.markup-color-swatch{width:1.15rem;height:1.15rem;border:2px solid transparent;border-radius:999px;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}.markup-color-swatch.is-active{border-color:color-mix(in srgb,var(--ink) 80%,white)}.markup-toolbar-summary{display:inline-flex;align-items:center;gap:.5rem;margin-left:auto;color:var(--muted);font-size:var(--text-xs);flex-wrap:wrap;max-width:100%}.markup-object{position:absolute}.markup-object.is-draft{opacity:.84;pointer-events:auto;cursor:-webkit-grab;cursor:grab}.markup-object.is-draft:active{cursor:-webkit-grabbing;cursor:grabbing}.markup-object.is-selected{filter:drop-shadow(0 0 .45rem color-mix(in srgb,var(--accent) 45%,transparent))}.markup-ellipse,.markup-rect{border:3px solid var(--markup-color);background:color-mix(in srgb,var(--markup-color) 8%,transparent);box-shadow:0 0 0 1px rgba(255,255,255,.45)}.markup-ellipse{border-radius:999px}.markup-arrow-svg{width:100%;height:100%;overflow:visible}.markup-text{max-width:min(14rem,60%);padding:.45rem .55rem;border:2px solid;border-radius:.55rem;background:rgba(255,251,244,.92);font-size:var(--text-xs);line-height:1.35;box-shadow:var(--shadow-sm)}.markup-pin{width:.95rem;height:.95rem;border:2px solid transparent;border-radius:999px;transform:translate(-50%,-50%);box-shadow:0 0 0 3px rgba(255,255,255,.55)}.markup-text-editor{position:absolute;z-index:4;min-width:14rem;max-width:min(18rem,70%);border:2px solid var(--accent);border-radius:.8rem;padding:.55rem;background:rgba(255,252,248,.97);box-shadow:var(--shadow);pointer-events:auto}.markup-text-editor textarea{width:100%;min-height:4.5rem;border:1px solid var(--line);border-radius:.55rem;padding:.55rem .65rem;background:white;color:var(--ink);font:inherit;font-size:var(--text-sm);resize:vertical}.markup-text-editor-actions{display:flex;gap:.45rem;margin-top:.5rem}.html-frame{width:100%;height:100%;min-height:50vh;border:none;background:white;display:block}.teacher-feedback-panel.is-review-mode .html-frame{min-height:0;height:100%}.html-frame-wrap.is-hidden{display:none}.html-compare-frames.is-split .html-frame-wrap+.html-frame-wrap{border-left:2px solid var(--accent)}.html-view-toggle{display:inline-flex;border-radius:.5rem;background:color-mix(in srgb,var(--line) 50%,transparent);padding:2px;gap:1px}.html-view-toggle button{display:inline-flex;align-items:center;gap:.25rem;border:none;border-radius:.4rem;padding:.3rem .6rem;background:transparent;color:var(--muted);font:inherit;font-size:var(--text-xs);font-weight:600;cursor:pointer;white-space:nowrap}.html-view-toggle button .material-symbols-outlined{font-size:16px}.html-view-toggle button.is-active{background:var(--panel-strong);color:var(--ink);box-shadow:var(--shadow-sm)}.html-view-toggle button:hover:not(.is-active){color:var(--ink)}.html-version-selector{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.html-version-select{flex:1 1 auto;min-width:12rem;padding:.35rem .6rem;border:1px solid var(--line);border-radius:.5rem;background:var(--surface-card-bg);color:var(--ink);font:inherit;font-size:var(--text-xs);cursor:pointer}.html-version-select:focus{outline:none;border-color:var(--accent)}.html-version-count{font-size:var(--text-xs);color:var(--muted);white-space:nowrap}.html-version-badge{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.15rem .45rem;border-radius:999px;background:var(--ok-soft);color:var(--ok);white-space:nowrap}.html-review-active{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.html-review-active-bar{padding:.4rem .75rem;border-bottom:1px solid var(--line);background:var(--surface-subtle);flex-shrink:0}.markup-compose-bar{display:grid;grid-gap:.5rem;gap:.5rem;padding:.6rem .75rem;border-top:1px solid var(--line);background:var(--surface-subtle)}.markup-compose-bar textarea{width:100%;min-height:3rem;border:1px solid var(--line);border-radius:.75rem;padding:.65rem .8rem;background:var(--surface-card-bg);color:var(--ink);font:inherit;font-size:var(--text-sm);resize:vertical}.markup-compose-meta{color:var(--muted);font-size:var(--text-xs)}.teacher-feedback-compose{display:grid;grid-gap:.5rem;gap:.5rem;flex-shrink:0}.teacher-feedback-panel:not(.is-review-mode) .teacher-feedback-compose{padding:0}.teacher-feedback-panel.is-review-mode .teacher-feedback-compose{padding:.6rem .75rem;border-top:1px solid var(--line);background:var(--surface-subtle)}.compose-collapsed-bar{flex-shrink:0;border-top:1px solid var(--line)}.compose-collapsed-trigger{display:flex;align-items:center;gap:.4rem;width:100%;padding:.5rem .75rem;border:none;background:var(--surface-subtle);color:var(--muted);font:inherit;font-size:var(--text-xs);font-weight:600;cursor:pointer;text-transform:uppercase;letter-spacing:.04em}.compose-collapsed-trigger:hover{color:var(--ink);background:color-mix(in srgb,var(--accent-soft) 40%,var(--surface-subtle))}.compose-collapsed-trigger .material-symbols-outlined{font-size:18px}.compose-collapse-btn{display:flex;align-items:center;gap:.25rem;border:none;padding:0;background:transparent;color:var(--muted);font:inherit;font-size:var(--text-xs);cursor:pointer}.compose-collapse-btn:hover{color:var(--ink)}.compose-collapse-btn .material-symbols-outlined{font-size:16px}.teacher-feedback-compose textarea,.teacher-feedback-edit textarea,.teacher-feedback-reply textarea{width:100%;min-height:4.5rem;border:1px solid var(--line);border-radius:.75rem;padding:.65rem .8rem;background:var(--surface-card-bg);color:var(--ink);font:inherit;font-size:var(--text-sm);resize:vertical}.teacher-feedback-panel.is-review-mode .teacher-feedback-compose textarea{min-height:2.5rem}.teacher-feedback-compose textarea::placeholder,.teacher-feedback-edit textarea::placeholder,.teacher-feedback-reply textarea::placeholder{color:var(--muted)}.teacher-feedback-compose textarea:focus,.teacher-feedback-edit textarea:focus,.teacher-feedback-reply textarea:focus{outline:none;border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.teacher-feedback-inline-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.teacher-feedback-upload{position:relative;display:inline-flex;align-items:center;gap:.4rem;min-width:0;max-width:100%;padding:.35rem .6rem;border:1px dashed color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:999px;background:var(--surface-subtle);color:var(--accent);cursor:pointer;font-family:inherit;font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase;overflow:hidden}.teacher-feedback-upload span{display:block;min-width:0;max-width:min(14rem,48vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-feedback-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.teacher-feedback-filters{display:flex;flex-wrap:wrap;gap:.5rem .9rem;align-items:flex-start}.teacher-feedback-filter-group{display:grid;grid-gap:.25rem;gap:.25rem}.teacher-feedback-filter-label{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding-left:.1rem}.teacher-feedback-tabs{display:inline-flex;align-items:center;gap:2px;padding:2px;border-radius:.5rem;background:color-mix(in srgb,var(--line) 50%,transparent);flex-shrink:0;flex-wrap:wrap}.teacher-feedback-tabs button{border:none;border-radius:.4rem;padding:.35rem .6rem;background:transparent;color:var(--muted);font:inherit;font-size:var(--text-xs);font-weight:600;cursor:pointer;white-space:nowrap}.teacher-feedback-tabs button.is-active{background:var(--panel-strong);color:var(--ink);box-shadow:var(--shadow-sm)}.teacher-feedback-error{border-radius:.75rem;padding:.6rem .75rem;background:var(--bad-soft);border:1px solid color-mix(in srgb,var(--bad) 20%,var(--line));color:var(--bad);font-size:var(--text-sm)}.teacher-feedback-list{flex:1 1;min-height:0;overflow:auto;display:grid;grid-gap:.6rem;gap:.6rem;align-content:start}.teacher-feedback-thread{display:grid;grid-gap:.6rem;gap:.6rem;padding:.75rem;border:1px solid var(--line);border-radius:.85rem;background:var(--surface-card-bg)}.teacher-feedback-thread.is-active-review{border-color:color-mix(in srgb,var(--accent) 35%,var(--line));background:color-mix(in srgb,var(--accent-soft) 25%,var(--surface-card-bg))}.teacher-feedback-thread-head{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.teacher-feedback-thread-head strong{font-size:var(--text-sm)}.teacher-feedback-thread-meta{font-size:10px;text-transform:uppercase;letter-spacing:.04em;font-weight:600}.teacher-feedback-message-meta,.teacher-feedback-thread-meta{display:flex;flex-wrap:wrap;gap:.3rem .5rem;color:var(--muted)}.teacher-feedback-message-meta{font-size:var(--text-xs)}.teacher-feedback-status{border:1px solid transparent;border-radius:999px;padding:.3rem .55rem;font:inherit;font-size:var(--text-xs);font-weight:700;cursor:pointer;min-width:0;background-clip:padding-box}.teacher-feedback-status.is-to-do{background:var(--warn-soft);border-color:color-mix(in srgb,var(--warn) 22%,var(--line));color:var(--warn)}.teacher-feedback-status.is-in-progress{background:var(--window-soft);border-color:color-mix(in srgb,var(--window) 24%,var(--line));color:var(--window)}.teacher-feedback-status.is-resolved{background:var(--ok-soft);border-color:color-mix(in srgb,var(--ok) 22%,var(--line));color:var(--ok)}.teacher-feedback-thread-body{display:grid;grid-gap:.5rem;gap:.5rem}.teacher-feedback-message{padding:.6rem .75rem;border-radius:.65rem;border:1px solid var(--line);background:var(--surface-subtle)}.teacher-feedback-message p{margin:.25rem 0 0;font-size:var(--text-sm);line-height:1.5;color:var(--ink)}.teacher-feedback-message-actions{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;flex-wrap:wrap}.teacher-feedback-attachment{display:block;margin-top:.5rem}.teacher-feedback-attachment img{max-width:100%;border-radius:.5rem;border:1px solid var(--line)}.teacher-feedback-edit-btn{margin-top:.4rem;border:0;padding:0;background:transparent;color:var(--accent);font:inherit;font-size:var(--text-xs);cursor:pointer}.teacher-feedback-edit{display:grid;grid-gap:.5rem;gap:.5rem}.teacher-feedback-delete-btn{border:1px solid var(--line);border-radius:.4rem;padding:.25rem;background:transparent;color:var(--muted);cursor:pointer;display:grid;place-items:center}.teacher-feedback-delete-btn:hover{color:var(--bad);border-color:var(--bad);background:var(--bad-soft)}.teacher-feedback-delete-btn .material-symbols-outlined{font-size:16px}.thread-html-section{display:grid;grid-gap:.5rem;gap:.5rem;padding-top:.5rem;border-top:1px solid var(--line)}.thread-html-upload-row{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.html-upload-label-input{flex:1 1 6rem;min-width:6rem;padding:.3rem .5rem;border:1px solid var(--line);border-radius:.4rem;background:var(--surface-card-bg);color:var(--ink);font:inherit;font-size:var(--text-xs)}.teacher-feedback-reply{display:grid;grid-gap:.4rem;gap:.4rem;padding-top:.4rem;border-top:1px solid var(--line)}.teacher-feedback-reply textarea{min-height:2.5rem}@media (max-width:1280px){.teacher-feedback-panel.is-review-mode .teacher-feedback-panel-body:has(.teacher-feedback-secondary){grid-template-columns:minmax(0,1fr) 17rem}.teacher-feedback-panel.is-review-mode .teacher-feedback-secondary{padding:.5rem}.markup-toolbar{gap:.6rem .75rem}.markup-toolbar-summary{margin-left:0;width:100%}}@media (max-width:900px){.teacher-feedback-panel{right:.75rem;left:.75rem;bottom:5rem;width:auto}.teacher-feedback-panel.is-review-mode .teacher-feedback-panel-body{grid-template-columns:1fr}.teacher-feedback-panel.is-review-mode .teacher-feedback-secondary{border-left:0;border-top:1px solid var(--line)}.html-compare-frames.is-split{grid-template-columns:1fr}.html-compare-frames.is-split .html-frame-wrap+.html-frame-wrap{border-left:0;border-top:2px solid var(--accent)}.teacher-feedback-launcher{right:.75rem;bottom:.75rem}}.shell{display:grid;grid-template-columns:238px 1fr;min-height:100vh;position:relative}.appbar-nav-toggle,.shell-scrim{display:none}.rail{position:-webkit-sticky;position:sticky;top:0;align-self:start;height:100vh;background:#0f2040;border-right:1px solid #1a2e50;padding:0;display:flex;flex-direction:column;overflow-y:auto}.rail-wordmark{padding:20px 20px 14px;border-bottom:1px solid #1a2e50;font-size:19px;font-weight:700;font-style:italic;color:#fff;font-family:Libre Baskerville,Century Schoolbook,Georgia,ui-serif,serif;display:flex;align-items:center;gap:8px}.rail-wordmark-mark{width:17px;height:17px;border-radius:4px;border:1px solid rgba(255,255,255,.45);display:inline-grid;place-items:center;font-size:11px;line-height:1}.rail-teacher{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid #1a2e50}.rail-avatar{width:32px;height:32px;border-radius:50%;background:var(--maroon);color:#fff;display:grid;place-items:center;flex-shrink:0;font-size:10px;font-weight:700}.rail-teacher-meta{display:flex;flex-direction:column;gap:1px;min-width:0}.rail-teacher-name{font-size:12px;font-weight:700;color:#eff3f8}.rail-teacher-school{font-size:11px;color:#7a99bb;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.year-pill{display:flex;align-items:center;justify-content:space-between;margin:10px 16px;padding:5px 10px;background:rgba(255,255,255,.05);border:1px solid #1a2e50;border-radius:4px;font-size:12px;color:#7a99bb;cursor:pointer;font-family:Libre Baskerville,Century Schoolbook,Georgia,ui-serif,serif}.rail-nav{display:flex;flex-direction:column}.rail-nav-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#7a99bb;font-weight:700;opacity:.65;padding:14px 16px 4px}.tree-row{display:flex;align-items:center;gap:8px;padding:7px 16px;font-size:13px;color:#eff3f8;text-decoration:none;position:relative;cursor:pointer;background:transparent;width:100%;text-align:left;font-family:inherit;border:none;border-left:3px solid transparent;transition:background .1s}.tree-row:hover{background:rgba(255,255,255,.07)}.tree-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tree-row.is-active{background:rgba(107,0,25,.45);color:#fff;font-weight:700;border-left-color:var(--maroon);padding-left:13px}.tree-row.is-active-navy{background:rgba(255,255,255,.13);color:#fff;font-weight:700;border-left-color:rgba(255,255,255,.4);padding-left:13px}.tree-chev{display:none}.tree-label{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-sub{color:var(--muted);font-size:var(--text-xs);margin-left:3px}.tree-badge{margin-left:auto;font-size:11px;color:#7a99bb}.tree-badge.is-bad{background:var(--maroon);color:#fff;padding:2px 7px;border-radius:10px;font-size:10px;font-weight:700}.tree-badge.is-muted{color:var(--muted)}.tree-children{display:flex;flex-direction:column;padding-left:14px}.tree-children .tree-row{font-size:12px}.rail-foot{margin-top:auto;border-top:1px solid #1a2e50;padding:12px 16px;display:flex;align-items:center;justify-content:space-between}.rail-foot a,.rail-foot button.rail-link{font-size:12px;color:#7a99bb;text-decoration:none;background:none;border:none;cursor:pointer;font-family:inherit}.rail-foot a:hover,.rail-foot button.rail-link:hover{color:#eff3f8}.rail-foot button.rail-link[disabled]{opacity:.5;cursor:progress}.main{display:flex;flex-direction:column;min-width:0;position:relative;background:var(--paper)}.main:has(>.h-main-with-panel){height:100vh;overflow:hidden}.main>.dashboard-shell{width:100%;max-width:none;margin:0;padding:1.5rem 2rem 4rem;box-sizing:border-box}.appbar{position:-webkit-sticky;position:sticky;top:0;z-index:10;height:52px;display:flex;align-items:center;gap:12px;padding:0 28px;background:var(--surface-card-bg);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.appbar-icon-btn{width:36px;height:36px;display:grid;place-items:center;background:transparent;border:none;border-radius:50%;color:var(--ink);cursor:pointer;transition:background .12s ease;position:relative;font-family:inherit;text-decoration:none}.appbar-icon-btn:hover{background:var(--surface-subtle)}.appbar-icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.appbar-icon-btn .material-symbols-outlined{font-size:22px}.appbar-title{font-size:15px;font-weight:700;color:var(--ink);min-width:0;flex:1 1 auto}.appbar-search{width:auto;flex:0 1 clamp(13rem,26vw,19rem);min-width:11rem}.appbar-search input{width:100%;padding:7px 12px;border:1px solid var(--line);border-radius:4px;background:var(--surface-card-bg);font-size:13px;color:var(--ink);font-family:Libre Baskerville,Georgia,serif}.appbar-search input:focus{outline:none;border-color:var(--accent)}.appbar-trailing{display:flex;align-items:center;gap:6px;margin-left:auto;flex:0 0 auto;flex-wrap:wrap}.appbar-avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--navy-light);color:var(--navy);font-size:10px;font-weight:700;flex-shrink:0;border:1px solid rgba(15,31,61,.08)}.mode-btn{font-size:12px;padding:4px 12px;border:none;border-radius:20px;color:var(--muted);cursor:pointer;background:var(--surface-card-bg);font-family:Libre Baskerville,Georgia,serif}.mode-btn.is-live-active{background:var(--navy);color:#fff}.mode-btn.is-mock-active{background:var(--maroon);color:#fff;font-weight:700}.mock-status-pill{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--muted)}.mock-status-dot{width:7px;height:7px;border-radius:50%;background:#c47d15;display:inline-block;flex-shrink:0}.appbar-icon-btn,.teacher-icon-btn{display:grid;place-items:center;width:32px;height:32px;border:none;border-radius:999px;background:transparent;color:var(--muted);cursor:pointer;padding:0;text-decoration:none;font-family:Libre Baskerville,Georgia,serif;font-size:14px}.appbar-icon-btn:hover,.teacher-icon-btn:hover{background:var(--surface-subtle);color:var(--ink)}.appbar-icon-btn .material-symbols-outlined,.teacher-icon-btn .material-symbols-outlined{font-size:20px}.version-caption{font-size:var(--text-xs);color:var(--muted);letter-spacing:.05em;text-transform:uppercase;padding:.6rem 2rem 0;display:block}.canvas-header{padding:.9rem 2rem .85rem;display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap}.canvas-title{font-size:var(--text-2xl);font-weight:600;letter-spacing:-.01em;margin:0;flex:1 1}.canvas-meta{display:flex;align-items:center;gap:.6rem;font-size:var(--text-xs);color:var(--muted);flex-wrap:wrap}.canvas-body{padding:.25rem 2rem 6rem}.api-dot{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px var(--ok-soft)}.api-dot.is-bad{background:var(--bad);box-shadow:0 0 0 3px var(--bad-soft)}.fab-group{position:fixed;bottom:1.75rem;right:1.75rem;z-index:20;display:flex;align-items:center;gap:.6rem}.fab-label{font-size:var(--text-xs);font-weight:500;color:var(--ink);background:var(--panel-strong);border:1px solid var(--line);padding:.4rem .65rem;border-radius:.5rem;box-shadow:var(--shadow-sm);opacity:0;transform:translateX(4px);pointer-events:none;white-space:nowrap;transition:opacity .16s ease,transform .16s ease}.fab-group:hover .fab-label{opacity:1;transform:translateX(0)}.fab{width:36px;height:36px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;border:none;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease}.fab,.fab:hover{box-shadow:var(--shadow)}.fab:hover{transform:translateY(-2px)}.fab .material-symbols-outlined{font-size:28px;color:#fff}.row-flags{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.flag-chip{display:inline-flex;align-items:center;gap:.45rem;font-size:var(--text-sm);font-weight:700;padding:6px .8rem 6px .55rem;border-radius:.6rem;background:var(--warn-soft);color:var(--warn);font-family:inherit;cursor:default;transition:filter .12s ease,box-shadow .12s ease;white-space:nowrap;position:relative;border:none}.flag-chip:hover{filter:brightness(1.08);box-shadow:0 2px 8px rgba(0,0,0,.12)}.flag-chip.cp{background:var(--maroon-soft);color:var(--maroon)}.flag-chip.ai{background:var(--navy-soft);color:var(--navy)}.flag-chip.ap{background:var(--window-soft);color:var(--window)}.flag-chip.us{background:var(--screenshot-soft);color:var(--screenshot)}.flag-chip.ux{background:var(--warn-soft);color:var(--warn)}.flag-chip img{width:24px;height:24px;border-radius:5px;flex-shrink:0}.flag-chip .chip-label{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translateX(-50%) scale(.92);color:#fff;font-size:var(--text-xs);font-weight:700;letter-spacing:.03em;padding:6px 12px;border-radius:8px;white-space:nowrap;pointer-events:none;opacity:0;box-shadow:0 4px 16px rgba(0,0,0,.18),0 1px 3px rgba(0,0,0,.12);transition:opacity .16s ease,transform .16s ease;z-index:200;font-family:inherit}.flag-chip .chip-label:after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:6px solid transparent}.flag-chip.cp .chip-label{background:#6b0019}.flag-chip.cp .chip-label:after{border-top-color:#6b0019}.flag-chip.ai .chip-label{background:#0f1f3d}.flag-chip.ai .chip-label:after{border-top-color:#0f1f3d}.flag-chip.ap .chip-label{background:#2e5fa3}.flag-chip.ap .chip-label:after{border-top-color:#2e5fa3}.flag-chip.us .chip-label{background:#5e40b0}.flag-chip.us .chip-label:after{border-top-color:#5e40b0}.flag-chip.ux .chip-label{background:#92570a}.flag-chip.ux .chip-label:after{border-top-color:#92570a}.flag-chip.expanded .chip-label,.flag-chip:focus-visible .chip-label{opacity:1;transform:translateX(-50%) scale(1)}.flag-chip .chip-count{font-size:var(--text-sm);font-weight:800;opacity:.9}.ibadges{gap:6px;flex-wrap:wrap}.ibadge,.ibadges{display:flex;align-items:center}.ibadge{gap:4px;background:var(--surface-subtle);border:1px solid var(--line);border-radius:6px;padding:3px 8px 3px 4px}.ibadge .iico{width:24px;height:24px;border-radius:4px;flex-shrink:0}.ibadge .icnt{font-size:12px;font-weight:700;color:var(--ink);font-family:inherit}@media (max-width:1280px){.shell{grid-template-columns:214px 1fr}.appbar{gap:10px;padding:0 20px}.appbar-title{flex:1 1 auto}.appbar-search{flex-basis:clamp(12rem,24vw,17rem);min-width:10.5rem}.appbar-trailing{justify-content:flex-end}.canvas-header,.main>.dashboard-shell,.version-caption{padding-left:1.25rem;padding-right:1.25rem}.canvas-header{gap:.85rem}.canvas-body{padding-left:1.25rem;padding-right:1.25rem}}@media (max-width:1100px){.appbar{gap:10px 12px;padding-top:10px;padding-bottom:10px;flex-wrap:wrap;height:auto;min-height:52px}.appbar-search{order:4;flex:1 1 100%;min-width:0}.appbar-trailing{order:3;min-width:0;justify-content:flex-end}}@media (max-width:820px){.shell{grid-template-columns:1fr}.shell-scrim{display:block;position:fixed;inset:0;border:0;background:rgba(15,31,61,.48);opacity:0;pointer-events:none;transition:opacity .16s ease;z-index:29}.shell-scrim.is-open{opacity:1;pointer-events:auto}.rail{position:fixed;top:0;left:0;height:100vh;width:min(86vw,320px);max-width:320px;overflow-y:auto;border-right:1px solid #1a2e50;border-bottom:0;transform:translateX(-100%);transition:transform .18s ease;z-index:30;box-shadow:0 24px 72px rgba(15,31,61,.35)}.rail.is-mobile-open{transform:translateX(0)}.appbar-nav-toggle{display:grid}.appbar{flex-wrap:wrap;height:auto;min-height:52px;padding:10px 16px}.appbar-search{width:100%;order:3;flex-basis:100%}.appbar-trailing{width:100%;justify-content:flex-end;order:4}.main>.dashboard-shell{padding-left:1rem;padding-right:1rem}}.home-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:.9rem 1.25rem;margin-bottom:-.25rem}.home-page-header-main{min-width:0}.home-page-title{display:inline-flex;align-items:baseline;gap:.65rem;margin:0;line-height:.98}.home-page-status{margin-bottom:0;justify-content:flex-end;flex-shrink:0;white-space:nowrap;padding-bottom:.2rem}.classes-table{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-card-bg)}.class-row,.table-head{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:1fr 190px 150px 28px}.table-head{padding:.6rem 1.1rem;background:var(--surface-subtle);font-size:var(--text-xs);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.class-row,.table-head{border-bottom:1px solid var(--line)}.class-row{align-items:center;padding:.85rem 1.1rem;text-decoration:none;color:inherit;transition:background .12s ease;cursor:pointer}.class-row:last-child{border-bottom:none}.class-row:hover{background:var(--surface-card-hover)}.class-row:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.row-name{display:flex;align-items:center;gap:.65rem;min-width:0}.class-chip{width:36px;height:36px;border-radius:5px;flex-shrink:0;background:var(--surface-subtle);color:var(--navy);display:grid;place-items:center}.class-chip .material-symbols-outlined{font-size:20px}.row-name-text{display:flex;flex-direction:column;gap:2px;min-width:0}.row-name-strong{font-family:Libre Baskerville,Century Schoolbook,Georgia,ui-serif,serif;font-size:var(--text-base);font-weight:600;line-height:1.2}.row-name-sub{font-size:var(--text-xs);color:var(--muted);overflow-wrap:anywhere}.session-status{display:flex;flex-direction:column;justify-content:center;gap:2px;font-size:var(--text-xs);white-space:nowrap;min-height:36px}.session-line{display:flex;align-items:center;gap:.4rem}.session-status.is-live .session-line{color:var(--ok);font-weight:700}.session-status.is-idle .session-line{color:var(--muted)}.session-status .live-dot{width:8px;height:8px;border-radius:50%;background:var(--ok);flex-shrink:0;opacity:1;margin-right:0;animation:pulse-live 2s ease-in-out infinite}@keyframes pulse-live{0%,to{box-shadow:0 0 0 0 rgba(45,122,79,.4)}50%{box-shadow:0 0 0 5px rgba(45,122,79,0)}}.session-detail{font-size:var(--text-xs);color:var(--muted);font-weight:500;padding-left:18px}.classes-table-home .row-stats{display:grid;grid-template-columns:repeat(2,minmax(92px,1fr));grid-gap:.5rem;gap:.5rem;min-width:0;width:100%}.classes-table-home .row-stats .h-stat{min-width:0;border:1px solid var(--line);padding:.45rem .4rem;overflow:hidden;box-sizing:border-box}.classes-table-home .h-stat-num{display:block;width:100%;line-height:1.1}.classes-table-home .h-stat-num.is-flag{color:var(--bad)}.classes-table-home .h-stat-num.is-zero{color:var(--muted)}.classes-table-home .h-stat-num.is-active{color:var(--ok)}.classes-table-home .h-stat-label{display:block;width:100%;max-width:100%;overflow:hidden;line-height:1.05;white-space:nowrap;text-overflow:clip}.row-chev{text-align:right;color:var(--muted);opacity:.6;display:grid;place-items:end center}.row-chev .material-symbols-outlined{font-size:20px}.class-row:hover .row-chev{opacity:1;color:var(--accent)}.classes-table-home{overflow:hidden}.class-row-home,.table-head-home{grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr) minmax(204px,224px) 20px}.class-row-home,.class-row-home .row-chev,.class-row-home .row-stats,.class-row-home .session-status{min-width:0}.class-detail-page{gap:.9rem}.class-detail-breadcrumbs{margin-bottom:0}.class-detail-header{margin-bottom:0;gap:.35rem 1rem}.class-detail-title{margin-bottom:0;line-height:1}.class-detail-meta{display:flex;align-items:center;gap:.2rem .4rem;flex-wrap:wrap;line-height:1.25}.class-detail-meta span{margin-right:0}.class-detail-tabs{margin-bottom:.2rem}.class-detail-tabs .h-tab{padding-top:.45rem;padding-bottom:.55rem}.assignment-detail-page,.session-detail-page,.student-detail-page{gap:.9rem}.detail-page-breadcrumbs{margin-bottom:0}.detail-page-header{margin-bottom:.55rem;gap:.5rem 1rem}.detail-page-header-main{min-width:0}.detail-page-title{margin-bottom:0;line-height:1;row-gap:.35rem;flex-wrap:wrap}.detail-page-meta{line-height:1.35}.student-detail-header{margin-bottom:.9rem}.crumbs{padding:.9rem 2rem 0;display:flex;align-items:center;gap:.4rem;font-size:var(--text-sm)}.crumbs,.crumbs a{color:var(--muted)}.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--accent)}.crumb-sep{color:var(--line);padding:0 .1rem}.crumb-current{color:var(--ink);font-weight:500}.class-hero{padding:1.1rem 2rem .2rem;display:grid;grid-template-columns:1fr auto;grid-gap:1.5rem;gap:1.5rem;align-items:end}.hero-title{font-family:Libre Baskerville,Century Schoolbook,Georgia,ui-serif,serif;font-size:var(--text-2xl);font-weight:600;letter-spacing:-.01em;margin:0 0 .2rem;color:var(--ink)}.hero-sub{font-size:var(--text-sm);color:var(--muted);display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.hero-sub .dot{width:3px;height:3px;border-radius:50%;background:var(--muted);opacity:.5}.hero-stats{display:flex;gap:.6rem}.hero-stat{background:var(--surface-card-bg);border:1px solid var(--line);border-radius:var(--radius);padding:.5rem .8rem;min-width:92px;display:flex;flex-direction:column;gap:2px}.hero-stat-value{font-family:inherit;font-size:var(--text-xl);font-weight:600;line-height:1.1}.hero-stat-value.is-flag{color:var(--bad)}.hero-stat-value.is-ok{color:var(--ok)}.hero-stat-label{font-size:var(--text-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-family:inherit}@media (max-width:1280px){.home-page-header{align-items:center}.class-hero,.crumbs{padding-left:1.25rem;padding-right:1.25rem}.class-row,.table-head{grid-template-columns:minmax(0,1fr) 160px 132px 28px;gap:.75rem;padding-left:.9rem;padding-right:.9rem}.class-row-home,.table-head-home{grid-template-columns:minmax(0,1.1fr) minmax(0,.75fr) minmax(190px,208px) 20px}.hero-stats{flex-wrap:wrap;justify-content:flex-start}}.tabs-row{padding:1rem 2rem 0;display:flex;gap:.25rem;border-bottom:1px solid var(--line);margin-bottom:.25rem}.tab{padding:.6rem 1.1rem;font-size:var(--text-sm);font-weight:500;color:var(--muted);text-decoration:none;border:none;border-bottom:2px solid transparent;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;background:none;font-family:inherit}.tab:hover{color:var(--ink)}.tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tab.is-active{color:var(--accent);border-bottom-color:var(--accent)}.tab-count{font-size:10px;color:var(--muted);background:var(--surface-subtle);padding:1px 6px;border-radius:10px}.tab.is-active .tab-count{color:#fff;background:var(--navy);font-weight:700}.class-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:1.25rem;gap:1.25rem;padding:1rem 2rem 6rem}.section-eyebrow{font-size:var(--text-xs);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 .55rem}.card{background:var(--surface-card-bg);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.1rem}.card+.card{margin-top:1rem}.section-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.8rem}.summary-band{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:.75rem;gap:.75rem;margin-bottom:1rem}.summary-pill{background:var(--surface-subtle);border:1px solid var(--line);border-radius:.9rem;padding:.7rem .8rem;display:flex;flex-direction:column;gap:.18rem}.summary-pill strong{font-size:var(--text-lg);font-weight:600}.summary-pill span{font-size:var(--text-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.summary-pill.is-flag-pill{background:var(--surface-subtle)}.assignment-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px 18px;border:1px solid var(--line);border-radius:5px;margin-bottom:8px;background:var(--panel);text-decoration:none;color:inherit;cursor:pointer}.assignment-row:hover{background:var(--paper)}.assignment-row.is-featured{border-left:3px solid var(--navy);padding-left:15px}.assignment-row-collapsible{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px 18px;border:1px solid var(--line);border-radius:5px;margin-bottom:8px;background:var(--panel);color:inherit;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.assignment-row-collapsible:hover{background:var(--paper)}.assignment-row-collapsible:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.expand-chev{display:grid;place-items:center;color:var(--muted);transition:transform .2s ease}.expand-chev .material-symbols-outlined{font-size:16px}.expand-chev.is-open{transform:rotate(90deg)}.assignment-expand-panel{padding:.75rem 1rem .85rem;margin:0 0 .25rem;border:1px solid var(--line);border-radius:.75rem;background:var(--surface-subtle)}.assignment-icon{width:32px;height:32px;border-radius:.5rem;background:var(--navy-soft);color:var(--navy);display:grid;place-items:center}.assignment-icon .material-symbols-outlined{font-size:18px}.assignment-title{font-size:var(--text-sm);font-weight:600;color:var(--ink);line-height:1.3}.assignment-sub{font-size:var(--text-xs);color:var(--muted);margin-top:2px}.status-chip{display:inline-flex;align-items:center;gap:.3rem;padding:3px 10px;border-radius:4px;font-size:11px;font-weight:700;white-space:nowrap;flex-shrink:0;background:var(--surface-subtle);color:var(--muted)}.status-chip.is-due{background:var(--warn-soft);color:var(--warn)}.status-chip.is-past{background:var(--bad-soft);color:var(--bad)}.status-chip.is-done{background:var(--ok-soft);color:var(--ok)}.status-chip.is-upcoming{background:var(--window-soft);color:var(--window)}.status-chip.is-live{background:var(--ok-soft);color:var(--ok)}.status-chip.is-current{background:var(--navy-light);color:var(--navy)}.status-chip.is-closed{background:var(--maroon-light);color:var(--maroon)}.assignment-flag{font-size:var(--text-xs);color:var(--bad);font-weight:700;min-width:32px;text-align:right;font-family:inherit}.assignment-flag.is-zero{color:var(--muted)}.assignment-meta-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-top:.8rem;padding-top:.8rem;border-top:1px solid var(--line)}.expanded-assignment-panel{margin-top:.9rem;padding:1rem;border:1px solid var(--line);border-radius:.95rem;background:var(--surface-card-bg)}.assignment-roster-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.7rem}.assignment-roster-title{display:flex;flex-direction:column;gap:.18rem}.assignment-roster-title strong{font-size:var(--text-sm)}.assignment-roster-title span{font-size:var(--text-xs);color:var(--muted)}.meta-chip-row{display:flex;gap:.4rem;flex-wrap:wrap}.meta-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .55rem;border-radius:999px;font-size:var(--text-xs);font-weight:600;background:var(--surface-subtle);color:var(--muted)}.meta-chip .material-symbols-outlined{font-size:14px}.roster-table{width:100%;border-collapse:collapse}.roster-table th{text-align:left;padding:.55rem .45rem;font-size:var(--text-xs);font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.roster-table td,.roster-table th{border-bottom:1px solid var(--line)}.roster-table td{padding:.7rem .45rem;vertical-align:middle;font-size:var(--text-sm)}.roster-table tr:last-child td{border-bottom:none}.roster-table tr:hover td{background:var(--surface-subtle)}.roster-table tr:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.student-cell{display:flex;align-items:center;gap:.55rem;min-width:0}.student-avatar{display:grid;place-items:center}.student-name{font-family:Libre Baskerville,Century Schoolbook,Georgia,ui-serif,serif;font-size:var(--text-sm);font-weight:600;color:var(--ink)}.student-sub{font-size:var(--text-xs);color:var(--muted);margin-top:2px}.presence-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:.35rem;background:var(--muted)}.presence-dot.is-online{background:var(--ok);box-shadow:0 0 0 4px rgba(38,93,69,.12)}.presence-dot.is-turned-in{background:var(--accent);box-shadow:0 0 0 4px rgba(212,113,46,.14)}.presence-label{font-size:var(--text-xs);color:var(--ink);font-weight:600}.flag-cell{display:flex;gap:.3rem;flex-wrap:wrap}.student-actions{display:inline-flex;align-items:center;gap:.35rem;color:var(--accent);text-decoration:none;font-size:var(--text-xs);font-weight:600}.student-actions:hover{text-decoration:underline}.roster-filter-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.85rem;padding:.6rem .75rem;background:var(--bad-soft);border:1px solid rgba(138,47,47,.22);border-radius:.7rem}.toggle-clean-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.38rem .75rem;border-radius:.5rem;border:1px solid var(--line);background:var(--surface-filter);color:var(--ink);font-size:var(--text-xs);font-weight:600;cursor:pointer;transition:background .1s;font-family:inherit}.toggle-clean-btn:hover{background:var(--surface-filter-hover);border-color:var(--accent);color:var(--accent)}.toggle-clean-btn .material-symbols-outlined{font-size:15px}.mini-roster-table{width:100%;border-collapse:collapse;font-size:var(--text-xs)}.mini-roster-table th{text-align:left;padding:.35rem .4rem;border-bottom:1px solid var(--line);font-size:var(--text-xs);font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}.mini-roster-table td{padding:.45rem .4rem;border-bottom:1px solid var(--line);vertical-align:middle}.mini-roster-table tr:last-child td{border-bottom:none}.mini-roster-table tr:hover td{background:var(--surface-card-bg)}.mini-empty{font-size:var(--text-xs);color:var(--muted);padding:.5rem .2rem}.quick-actions{display:flex;gap:.4rem;flex-wrap:wrap}.quick-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .7rem;border-radius:.55rem;border:1px solid var(--line);background:var(--surface-filter);font-size:var(--text-xs);color:var(--ink);cursor:pointer;text-decoration:none;font-family:inherit}.quick-btn:hover{background:var(--surface-filter-hover)}.quick-btn .material-symbols-outlined{font-size:14px}@media (max-width:1020px){.home-page-header{align-items:flex-start;flex-direction:column;gap:.35rem;margin-bottom:0}.home-page-status{justify-content:flex-start;white-space:normal;padding-bottom:0}.class-hero{grid-template-columns:1fr}.summary-band{grid-template-columns:repeat(2,minmax(0,1fr))}.assignment-detail-page,.class-detail-page,.session-detail-page,.student-detail-page{gap:.75rem}.class-detail-tabs{margin-bottom:0}.class-row-home,.table-head-home{grid-template-columns:minmax(0,1fr) minmax(112px,136px) 20px}.table-head-home span:nth-child(2){text-align:center}.class-row-home{align-items:start;gap:.55rem .75rem;grid-template-areas:"name stats chev" "session stats chev"}.class-row-home .row-name{grid-area:name}.class-row-home .session-status{grid-area:session;min-height:0;white-space:normal}.class-row-home .row-stats{grid-area:stats;align-self:stretch;grid-template-columns:repeat(2,minmax(88px,1fr));gap:.3rem}.class-row-home .row-chev{grid-area:chev;align-self:stretch;place-items:center end}.table-head-home{grid-template-areas:"class stats chev"}.table-head-home span:first-child{grid-area:class}.table-head-home span:nth-child(2){display:none}.table-head-home span:nth-child(3){grid-area:stats;text-align:center}.table-head-home span:nth-child(4){grid-area:chev}}@media (max-width:820px){.table-head{display:none}.class-row{gap:.6rem}.class-row,.summary-band{grid-template-columns:1fr}.class-row-home{grid-template-areas:"name" "session" "stats"}.class-row-home .row-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.class-row-home .row-chev{display:none}.roster-table,.roster-table tbody,.roster-table td,.roster-table tr{display:block;width:100%}.roster-table thead{display:none}.roster-table tr{border-bottom:1px solid var(--line);padding:.25rem 0}.roster-table td{border-bottom:0;padding:.25rem 0}}.filter-bar{padding:.7rem 2rem .2rem;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.filter-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .75rem;border-radius:.55rem;background:var(--surface-filter);border:1px solid var(--line);font-size:var(--text-xs);color:var(--ink);cursor:pointer;font-family:inherit}.filter-pill:hover{background:var(--surface-filter-hover);border-color:var(--accent)}.filter-pill:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.filter-pill.is-active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.filter-pill .material-symbols-outlined{font-size:14px;color:var(--muted)}.filter-pill.is-active .material-symbols-outlined{color:var(--accent)}.filter-divider{width:1px;height:18px;background:var(--line);margin:0 .2rem}.year-group-label{font-family:inherit;font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);padding:0 .2rem;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.year-group-label:after{content:"";flex:1 1;height:1px;background:var(--line)}.sub-table-wrap{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-card-bg);overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.sub-table{width:100%;min-width:760px;border-collapse:collapse}.sub-table th{text-align:left;font-size:var(--text-xs);font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;padding:.65rem .85rem;background:var(--surface-subtle)}.sub-table td,.sub-table th{border-bottom:1px solid var(--line)}.sub-table td{font-size:var(--text-sm);padding:.7rem .85rem;vertical-align:middle}.sub-table tr:last-child td{border-bottom:none}.sub-table tr:hover td{background:var(--surface-subtle);cursor:pointer}.sub-table tr:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.name-cell{display:flex;align-items:center;gap:.5rem;min-width:0}.mini-avatar{width:28px;height:28px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-size:var(--text-xs);font-weight:700;flex-shrink:0}.class-chips{display:flex;gap:.3rem;flex-wrap:wrap}.class-tag{display:inline-flex;align-items:center;padding:2px .5rem;border-radius:.4rem;background:var(--surface-subtle);color:var(--muted);font-size:var(--text-xs);font-weight:600;white-space:nowrap}.flag-count{font-size:var(--text-sm);font-weight:700}.flag-count.is-high{color:var(--bad)}.flag-count.is-med{color:var(--warn)}.flag-count.is-low{color:var(--ok)}.flag-count.is-none{color:var(--muted);font-weight:400}.btn-sm{display:inline-flex;align-items:center;gap:.25rem;padding:.3rem .55rem;border-radius:.4rem;border:1px solid var(--line);background:var(--surface-filter);color:var(--ink);font-size:var(--text-xs);font-weight:600;text-decoration:none;cursor:pointer;font-family:inherit}.btn-sm:hover{background:var(--surface-filter-hover);border-color:var(--accent);color:var(--accent)}.btn-sm .material-symbols-outlined{font-size:12px}.s-hero{padding:1.1rem 2rem .9rem;display:flex;flex-direction:column;gap:.65rem;border-bottom:1px solid var(--line)}.hero-top{display:grid;grid-template-columns:36px 1fr;grid-gap:1rem;gap:1rem;align-items:center}.big-avatar{width:36px;height:36px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-size:1.1rem;font-weight:700;font-family:inherit}.flag-bar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.flag-bar-label{font-size:var(--text-xs);font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;margin-right:.2rem}.flag-bar-item{display:inline-flex;align-items:center;gap:.3rem;padding:.22rem .55rem;border-radius:999px;font-size:var(--text-xs);font-weight:700;border:1px solid transparent}.flag-bar-item.cp{background:var(--bad-soft);color:var(--bad);border-color:rgba(138,47,47,.22)}.flag-bar-item.ai{background:var(--warn-soft);color:var(--warn);border-color:rgba(138,110,47,.22)}.flag-bar-item.ap{background:var(--window-soft);color:var(--window);border-color:rgba(74,127,181,.22)}.flag-bar-item.ux{background:var(--bad-soft);color:var(--bad);border-color:rgba(138,47,47,.22)}.flag-bar-item.us{background:var(--surface-subtle);color:var(--muted)}.s-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-gap:1.25rem;gap:1.25rem;padding:1.25rem 2rem 5rem;align-items:start}.flag-grid{margin-bottom:.6rem}.flag-pill.is-us .flag-pill-value{color:var(--muted)}.note-area{width:100%;min-height:100px;background:var(--surface-subtle);border:1px solid var(--line);border-radius:.65rem;padding:.7rem .85rem;font-family:Libre Baskerville,Century Schoolbook,Georgia,ui-serif,serif;font-size:var(--text-base);line-height:1.5;color:var(--ink);resize:vertical}.note-area:focus{outline:none;border-color:var(--accent);background:var(--panel)}.note-toolbar{justify-content:space-between;gap:.6rem;flex-wrap:wrap;margin-top:.55rem;font-size:var(--text-xs);color:var(--muted)}.a-name,.note-toolbar{display:flex;align-items:center}.a-name{gap:.55rem;min-width:0}.a-icon{width:30px;height:30px;border-radius:.45rem;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;flex-shrink:0}.a-icon .material-symbols-outlined{font-size:16px}.a-title{font-family:Libre Baskerville,Century Schoolbook,Georgia,ui-serif,serif;font-size:var(--text-sm);font-weight:600;color:var(--ink)}.progress-cell{display:flex;align-items:center;gap:.5rem}.progress-bar{height:6px;width:80px;border-radius:3px;background:var(--surface-subtle);overflow:hidden}.progress-fill{height:100%;background:var(--ok)}.progress-fill.is-partial{background:var(--warn)}.progress-fill.is-low{background:var(--bad)}.progress-num{font-weight:600;color:var(--muted)}.flag-num,.progress-num{font-size:var(--text-xs)}.flag-num{font-weight:700;color:var(--bad)}.flag-num.is-zero{color:var(--muted)}.a-hero{padding:1.1rem 2rem .2rem;display:grid;grid-template-columns:1fr auto;grid-gap:1.5rem;gap:1.5rem;align-items:end}.a-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-gap:1.25rem;gap:1.25rem;padding:1.1rem 2rem 6rem}.mini-chips{display:flex;gap:.3rem;flex-wrap:wrap}.score-pill{font-size:var(--text-xs);font-weight:600;padding:2px .45rem;border-radius:.4rem;background:var(--surface-subtle);color:var(--muted)}.score-pill.is-graded{background:var(--ok-soft);color:var(--ok)}.desc-body{font-family:Libre Baskerville,Century Schoolbook,Georgia,ui-serif,serif;font-size:var(--text-base);line-height:1.6;color:var(--ink)}.desc-body p{margin:0 0 .7rem}.desc-body p:last-child{margin-bottom:0}.attach-row{display:grid;grid-template-columns:30px 1fr auto;grid-gap:.6rem;gap:.6rem;align-items:center;padding:.55rem 0;border-top:1px solid var(--line);font-size:var(--text-xs);text-decoration:none;color:inherit}.attach-row:first-of-type{border-top:none}.attach-icon{width:30px;height:30px;border-radius:.45rem;background:var(--surface-subtle);color:var(--muted);display:grid;place-items:center}.attach-icon .material-symbols-outlined{font-size:16px}.attach-name{font-size:var(--text-sm);font-weight:500;color:var(--ink)}.attach-meta{font-size:var(--text-xs);color:var(--muted);margin-top:1px}.composer-wrap{padding:1.25rem 2rem 5rem;display:grid;grid-template-columns:1fr 280px;grid-gap:1.5rem;gap:1.5rem;align-items:start}.form-card{background:var(--surface-card-bg);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;gap:1.25rem}.form-card,.form-group{display:flex;flex-direction:column}.form-group{gap:.4rem}.form-label{font-size:var(--text-xs);font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.form-input{all:unset;width:100%;padding:.6rem .75rem;border-radius:.65rem;border:1px solid var(--line);background:var(--surface-filter);font-family:Libre Baskerville,Century Schoolbook,Georgia,ui-serif,serif;font-size:var(--text-base);color:var(--ink);box-sizing:border-box}.form-input:focus{border-color:var(--accent);background:var(--surface-filter-hover);outline:none}.form-input:disabled{opacity:.5;cursor:not-allowed}.form-select{display:flex;align-items:center;justify-content:space-between;padding:.6rem .75rem;border-radius:.65rem;border:1px solid var(--line);background:var(--surface-filter);font-family:inherit;font-size:var(--text-sm);color:var(--ink);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%}.form-select:disabled{opacity:.5;cursor:not-allowed}.form-textarea{all:unset;width:100%;padding:.75rem;border-radius:.65rem;border:1px solid var(--line);background:var(--surface-filter);font-family:Libre Baskerville,Century Schoolbook,Georgia,ui-serif,serif;font-size:var(--text-base);color:var(--ink);min-height:140px;resize:vertical;line-height:1.6;box-sizing:border-box}.form-textarea:focus{border-color:var(--accent);background:var(--surface-filter-hover);outline:none}.form-textarea:disabled{opacity:.5;cursor:not-allowed}.settings-card{background:var(--surface-card-bg);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem;display:flex;flex-direction:column;gap:1.1rem}.settings-title{font-family:inherit;font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.setting-label{font-size:var(--text-xs);font-weight:600;color:var(--ink)}.setting-sub{font-size:var(--text-xs);color:var(--muted);margin-top:1px}.settings-divider{height:1px;background:var(--line);margin:0 -1.25rem}.check-row{display:flex;align-items:center;gap:.5rem;padding:.3rem 0;cursor:pointer}.check-label{font-size:var(--text-xs);color:var(--ink)}.action-bar{position:-webkit-sticky;position:sticky;bottom:0;z-index:20;padding:.85rem 2rem;background:var(--panel-strong);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;gap:.75rem}.btn-publish{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1.4rem;border-radius:.65rem;border:none;background:var(--accent);color:#fff;font-family:inherit;font-size:var(--text-sm);font-weight:600;cursor:pointer}.btn-publish:hover{opacity:.9}.btn-publish:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-publish:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1.2rem;border-radius:.65rem;border:1px solid var(--line);background:transparent;color:var(--ink);font-family:inherit;font-size:var(--text-sm);font-weight:500;cursor:pointer}.btn-ghost:hover{background:var(--surface-subtle);border-color:var(--accent);color:var(--accent)}.btn-ghost:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.action-spacer{flex:1 1}.btn-cancel{font-family:inherit;font-size:var(--text-sm);color:var(--muted);background:none;border:none;cursor:pointer;padding:.55rem .75rem}.btn-cancel:hover{color:var(--ink)}.btn-cancel:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.coming-soon-badge{font-size:var(--text-xs);color:var(--muted);font-style:italic;margin-left:.4rem}.session-row{display:flex;align-items:center;gap:12px;padding:14px 18px;border:1px solid var(--line);border-radius:5px;margin-bottom:8px;background:var(--panel);cursor:pointer;text-decoration:none;color:inherit}.session-row:hover{background:var(--paper)}.student-avatar{width:36px;height:36px;border-radius:50%;background:var(--surface-subtle);color:var(--navy);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}.student-avatar.is-active{background:#e6f2ec;color:#2d7a4f}.session-row-main{display:flex;flex-direction:column;gap:2px;flex:1 1;min-width:0}.session-row-label{font-size:14px;font-weight:700;color:var(--ink)}.session-row-meta{font-size:12px;color:var(--muted)}.session-row-trailing{display:flex;align-items:center;gap:6px;margin-left:auto;flex-wrap:wrap}.session-row-chev{color:var(--line);font-size:16px;margin-left:6px}@media (max-width:1200px){.a-grid,.a-hero,.action-bar,.composer-wrap,.filter-bar,.s-grid,.s-hero{padding-left:1.25rem;padding-right:1.25rem}.s-grid{grid-template-columns:minmax(0,1fr) 280px}.a-grid{grid-template-columns:minmax(0,1fr) 300px}.composer-wrap{grid-template-columns:minmax(0,1fr) 240px}.flag-grid{grid-template-columns:repeat(auto-fit,minmax(84px,1fr))}}@media (max-width:1100px){.sub-table,.sub-table tbody,.sub-table td,.sub-table tr{display:block;width:100%}.sub-table thead{display:none}.sub-table tr{padding:.95rem 1rem;border-bottom:1px solid var(--line)}.sub-table tr:last-child{border-bottom:none}.sub-table td{display:grid;grid-template-columns:minmax(0,6.25rem) minmax(0,1fr);grid-gap:.25rem .7rem;gap:.25rem .7rem;padding:.35rem 0;border-bottom:0;min-width:0}.sub-table td:before{content:attr(data-label);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.sub-table td[data-label=""]{display:flex;justify-content:flex-end;padding-top:.5rem}.sub-table td[data-label=""]:before{display:none}.sub-table-action-cell .btn,.sub-table-action-cell .btn-sm{margin-left:auto}.progress-cell{flex-wrap:wrap;justify-content:flex-start}}@media (max-width:1080px){.a-grid,.composer-wrap,.s-grid{grid-template-columns:1fr}}@media (max-width:1020px){.a-hero{grid-template-columns:1fr}}@media (max-width:820px){.sub-table tr{padding-left:.8rem;padding-right:.8rem}.sub-table td{grid-template-columns:1fr;gap:.2rem}.sub-table td[data-label=""]{padding-top:.35rem}}.alert-bar{margin:.9rem 2rem 0;background:var(--bad-soft);border:1px solid var(--bad);border-radius:var(--radius);padding:.75rem 1.1rem;display:flex;align-items:center;gap:1rem;font-size:var(--text-sm)}.alert-bar-text{flex:1 1;color:var(--bad);font-weight:500;line-height:1.5}.alert-bar-text strong{font-weight:700}.btn-alert-action{display:inline-flex;align-items:center;gap:.3rem;padding:.4rem .85rem;border-radius:.45rem;background:var(--bad);color:#fff;border:none;font-size:var(--text-xs);font-weight:600;cursor:pointer;white-space:nowrap;letter-spacing:.02em;font-family:inherit}.btn-alert-action:hover{filter:brightness(1.1)}.btn-alert-action:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-alert-action .material-symbols-outlined{font-size:14px}.b-hero{padding:1.1rem 2rem .2rem;display:grid;grid-template-columns:1fr auto;grid-gap:1.5rem;gap:1.5rem;align-items:end}.b-hero .hero-title .sess-id{font-size:var(--text-sm);font-weight:600;color:var(--accent);background:var(--accent-soft);padding:3px .55rem;border-radius:.4rem;margin-left:.5rem;vertical-align:middle;font-family:inherit}.stat-strip{margin:.85rem 2rem 0;background:var(--surface-card-bg);border:1px solid var(--line);border-radius:var(--radius);padding:.75rem 1.1rem;display:flex;gap:0;flex-wrap:wrap}.stat-strip-item{display:flex;flex-direction:column;gap:1px;padding:.35rem 1.1rem;border-right:1px solid var(--line);min-width:0}.stat-strip-item:first-child{padding-left:0}.stat-strip-item:last-child{border-right:none}.stat-strip-value{font-size:var(--text-base);font-weight:700;color:var(--ink);line-height:1.2}.stat-strip-value.is-bad{color:var(--bad)}.stat-strip-value.is-warn{color:var(--warn)}.stat-strip-label{font-size:var(--text-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.07em;white-space:nowrap}.b-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-gap:1.25rem;gap:1.25rem;padding:1.1rem 2rem 6rem}.card-title{font-family:Libre Baskerville,Century Schoolbook,Georgia,ui-serif,serif;font-size:var(--text-lg);font-weight:600;margin:0 0 .75rem;color:var(--ink);padding-bottom:.55rem;border-bottom:1px solid var(--line)}.risk-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1rem;gap:1rem}.risk-band{border:1px solid var(--line);border-radius:.75rem;padding:.85rem;display:flex;flex-direction:column;gap:.5rem}.risk-band-header{display:flex;align-items:center;justify-content:space-between;gap:.4rem}.risk-band-label{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.07em}.risk-band-label.is-bad{color:var(--bad)}.risk-band-label.is-warn{color:var(--warn)}.risk-band-label.is-window{color:var(--window)}.risk-band-label.is-ok{color:var(--ok)}.risk-severity{font-size:var(--text-xs);font-weight:700;padding:2px 7px;border-radius:999px;text-transform:uppercase;letter-spacing:.06em}.risk-severity.high{background:var(--bad-soft);color:var(--bad)}.risk-severity.medium{background:var(--warn-soft);color:var(--warn)}.risk-severity.low-medium{background:var(--window-soft);color:var(--window)}.risk-severity.low{background:var(--ok-soft);color:var(--ok)}.risk-bar-track{height:4px;border-radius:2px;background:var(--surface-subtle);overflow:hidden}.risk-bar-fill{height:100%;border-radius:2px}.risk-bar-fill.high{background:var(--bad)}.risk-bar-fill.medium{background:var(--warn)}.risk-bar-fill.low-medium{background:var(--window)}.risk-bar-fill.low{background:var(--ok)}.risk-desc{color:var(--muted);line-height:1.5}.risk-desc,.risk-jump{font-size:var(--text-xs)}.risk-jump{color:var(--accent);text-decoration:none;font-weight:500;margin-top:auto;display:inline-block;background:none;border:none;cursor:pointer;padding:0;font-family:inherit;text-align:left}.risk-jump:hover{text-decoration:underline}.paste-event{border-left:3px solid var(--bad);background:var(--bad-soft);border-radius:0 .6rem .6rem 0;padding:.75rem .9rem;margin-bottom:.75rem}.paste-event:last-child{margin-bottom:0}.paste-meta{display:flex;align-items:center;gap:.6rem;font-size:var(--text-xs);color:var(--bad);font-weight:600;text-transform:uppercase;letter-spacing:.07em;margin-bottom:.45rem}.paste-meta .dot{width:3px;height:3px;border-radius:50%;background:var(--bad)}.paste-quote{font-family:Libre Baskerville,Century Schoolbook,Georgia,ui-serif,serif;font-style:italic;font-size:var(--text-sm);color:var(--ink);line-height:1.65;margin:0}.paste-source{font-size:var(--text-xs);color:var(--muted);margin-top:.35rem}.insertion-block{border:1px solid var(--bad);border-radius:var(--radius);padding:1rem 1.1rem;background:var(--bad-soft);position:relative}.insertion-label{display:inline-flex;align-items:center;gap:.35rem;font-size:var(--text-xs);font-weight:700;padding:2px .6rem;border-radius:.4rem;background:var(--bad);color:#fff;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.6rem}.insertion-label .material-symbols-outlined{font-size:13px}.insertion-quote{font-family:Libre Baskerville,Century Schoolbook,Georgia,ui-serif,serif;font-size:var(--text-sm);line-height:1.7;color:var(--ink);font-style:italic;margin:0 0 .5rem}.insertion-meta{font-size:var(--text-xs);color:var(--muted)}.app-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.app-table th{text-align:left;font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);padding:.35rem .6rem;border-bottom:2px solid var(--line)}.app-table td{padding:.5rem .6rem;border-bottom:1px solid var(--line);vertical-align:top;color:var(--ink)}.app-table tr:last-child td{border-bottom:none}.app-table .status-chip{display:inline-flex;align-items:center;gap:.25rem;font-size:var(--text-xs);font-weight:700;padding:2px 6px;border-radius:999px;text-transform:uppercase;letter-spacing:.06em}.app-table .status-chip.flagged{background:var(--bad-soft);color:var(--bad)}.app-table .status-chip.allowed{background:var(--ok-soft);color:var(--ok)}.app-table .category-label{font-size:var(--text-xs);color:var(--muted)}.screenshot-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:.75rem;gap:.75rem}.screenshot-thumb{border-radius:.65rem;border:1px solid var(--line);background:linear-gradient(135deg,var(--screenshot-soft,var(--surface-subtle)),var(--surface-subtle));aspect-ratio:16/9;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;padding:.65rem;gap:.4rem;overflow:hidden;text-decoration:none;color:inherit}.screenshot-thumb--image{align-items:flex-start;justify-content:flex-end;padding:.65rem;background:var(--surface-subtle)}.screenshot-thumb--image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.72));pointer-events:none}.thumb-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.thumb-icon{color:var(--screenshot,var(--muted));opacity:.5}.thumb-icon .material-symbols-outlined{font-size:28px}.thumb-label{font-weight:600;text-transform:uppercase;letter-spacing:.07em;text-align:center;line-height:1.4}.thumb-label,.thumb-time{position:relative;z-index:1;font-size:var(--text-xs);color:var(--muted)}.thumb-time{opacity:.75}.screenshot-thumb--image .thumb-label,.screenshot-thumb--image .thumb-time{color:#fff;text-align:left;text-shadow:0 1px 2px rgba(0,0,0,.45)}.thumb-badge{position:absolute;top:.5rem;right:.5rem;z-index:2;background:var(--bad);color:#fff;font-size:var(--text-xs);font-weight:700;padding:2px 6px;border-radius:999px;text-transform:uppercase;letter-spacing:.05em}.writing-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.writing-table td{padding:.45rem .5rem;border-bottom:1px solid var(--line);vertical-align:top}.writing-table tr:last-child td{border-bottom:none}.writing-table .wt-label{color:var(--muted);width:55%;font-size:var(--text-xs)}.writing-table .wt-value{font-weight:600;color:var(--ink)}.writing-table .wt-value.is-bad{color:var(--bad)}.writing-table .wt-value.is-warn{color:var(--warn)}.timeline{position:relative;padding-left:1.3rem}.timeline:before{content:"";position:absolute;left:.45rem;top:.3rem;bottom:.3rem;width:2px;background:var(--line)}.evt{position:relative;display:grid;grid-template-columns:62px 1fr;grid-gap:.7rem;gap:.7rem;padding:.55rem 0;border-top:1px solid var(--line);align-items:start}.evt:first-of-type{border-top:none;padding-top:.3rem}.evt:before{content:"";position:absolute;left:-.85rem;top:.95rem;width:10px;height:10px;border-radius:50%;background:var(--muted);border:2px solid var(--paper,#fff)}.evt.is-bad:before{background:var(--bad)}.evt.is-warn:before{background:var(--warn)}.evt.is-window:before{background:var(--window)}.evt.is-screenshot:before{background:var(--screenshot,var(--muted))}.evt.is-ok:before{background:var(--ok)}.evt-time{font-weight:600;text-align:right;letter-spacing:.02em;padding-top:.25rem}.evt-label,.evt-time{font-size:var(--text-xs);color:var(--muted)}.evt-label{display:inline-flex;align-items:center;gap:.35rem;font-weight:700;padding:2px .5rem;border-radius:.4rem;background:var(--surface-subtle);margin-right:.4rem;text-transform:uppercase;letter-spacing:.04em}.evt-label.is-bad{background:var(--bad-soft);color:var(--bad)}.evt-label.is-warn{background:var(--warn-soft);color:var(--warn)}.evt-label.is-window{background:var(--window-soft);color:var(--window)}.evt-label.is-screenshot{background:var(--screenshot-soft,var(--surface-subtle));color:var(--screenshot,var(--muted))}.evt-label.is-ok{background:var(--ok-soft);color:var(--ok)}.evt-body{font-size:var(--text-sm);color:var(--ink);line-height:1.5}.evt-detail{font-size:var(--text-xs);color:var(--muted);margin-top:3px}.evt-inline-quote{font-family:Libre Baskerville,Century Schoolbook,Georgia,ui-serif,serif;font-size:var(--text-sm);color:var(--ink);background:var(--surface-code-bg,var(--surface-subtle));padding:.45rem .7rem;border-radius:.4rem;margin-top:.4rem;border-left:3px solid var(--bad);font-style:italic;line-height:1.5}.evt-inline-quote.is-warn{border-left-color:var(--warn)}.evt-screenshot-thumb{margin-top:.4rem;width:220px;height:120px;border-radius:.5rem;background:linear-gradient(135deg,var(--screenshot-soft,var(--surface-subtle)),var(--surface-subtle));border:1px solid var(--line);display:grid;place-items:center;color:var(--screenshot,var(--muted));font-size:var(--text-xs);font-weight:600;font-family:inherit;text-transform:uppercase;letter-spacing:.08em}.flag-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:.4rem;gap:.4rem}.flag-pill{background:var(--surface-subtle);border-radius:.55rem;padding:.55rem .3rem;text-align:center;display:flex;flex-direction:column;gap:2px}.flag-pill-value{font-size:var(--text-lg);font-weight:700;line-height:1;font-family:inherit}.flag-pill.is-cp .flag-pill-value{color:var(--bad)}.flag-pill.is-ai .flag-pill-value,.flag-pill.is-us .flag-pill-value{color:var(--warn)}.flag-pill.is-ap .flag-pill-value{color:var(--window)}.flag-pill.is-ux .flag-pill-value{color:var(--bad)}.flag-pill-value.is-zero{color:var(--muted)}.flag-pill-label{text-transform:uppercase;letter-spacing:.1em;font-family:inherit}.flag-pill-label,.side-summary-note{font-size:var(--text-xs);color:var(--muted)}.side-summary-note{margin:.8rem 0 0;line-height:1.5}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{filter:brightness(1.05)}.btn-primary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-danger{color:var(--bad);border-color:var(--bad-soft)}.btn-danger:hover{background:var(--bad-soft);color:var(--bad)}.btn-danger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-neutral{color:var(--muted)}@media (max-width:1100px){.risk-grid{grid-template-columns:1fr}}@media (max-width:1020px){.b-grid,.b-hero{grid-template-columns:1fr}.stat-strip{gap:0}}@media (max-width:820px){.evt,.screenshot-grid{grid-template-columns:1fr}.stat-strip{flex-direction:column}.stat-strip-item{border-right:none;border-bottom:1px solid var(--line)}.stat-strip-item:last-child{border-bottom:none}}