:root{--brand-primary:#146ef4;--brand-primary-dark:#1e5be1;--brand-accent:#4f55e0;--bg-page:#eaedf7;--bg-section-dark:#282a42;--bg-card:#fff;--text-heading:#2b2d42;--text-body:#333;--text-muted:#5f6374;--border-subtle:#dcdfea;--nav-bg:#282a42;--nav-text:#eaeaff;--nav-hover:#454872;--nav-active:#4f55e0;--nav-divider:#eaeaff1f;--topbar-bg:#fff;--topbar-shadow:0 3px 8px #0000003d;--status-pass:#16a34a;--status-weekback:#dc2626;--status-borderline:#d97706;--status-flagged:#7c3aed;--status-pass-on-dark:#4ade80;--radius-card:10px;--radius-pill:999px;--shadow-card:0 1px 3px #32325d1f, 0 4px 16px #11111a0f;--font-body:Roboto, system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif}*{box-sizing:border-box}body{background:var(--bg-page);color:var(--text-body);font-family:var(--font-body);margin:0;font-size:1rem;line-height:1.6}h1,h2,h3{color:var(--text-heading);margin:0}a{color:var(--brand-primary-dark)}button{font-family:inherit}.text-display{font-size:clamp(2rem,5vw,3.5rem);font-weight:800;line-height:1.1}.text-h2{font-size:clamp(1.75rem,3vw,2.25rem);font-weight:700;line-height:1.15}.text-muted{color:var(--text-muted);font-size:.875rem}.two-tone{color:var(--brand-primary)}.eyebrow{text-transform:uppercase;letter-spacing:.05em;color:var(--brand-primary-dark);margin-bottom:.25rem;font-size:.75rem;font-weight:700;display:block}.card{background:var(--bg-card);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:1.75rem}.pill{border-radius:var(--radius-pill);align-items:center;gap:.35rem;padding:.25rem .75rem;font-size:.8125rem;font-weight:600;display:inline-flex}.btn-arrow{border-radius:var(--radius-pill);background:var(--brand-primary);color:#fff;cursor:pointer;border:none;align-items:center;gap:.4rem;padding:.6rem 1.25rem;font-size:.95rem;font-weight:600;transition:background-color .15s;display:inline-flex}.btn-arrow:hover:not(:disabled){background:var(--brand-primary-dark)}.btn-arrow:hover:not(:disabled) .btn-arrow__glyph{transform:translate(3px)}.btn-arrow:disabled{opacity:.6;cursor:not-allowed}.btn-arrow--secondary{color:var(--text-body);border:1px solid var(--border-subtle);background:#fff}.btn-arrow--secondary:hover:not(:disabled){background:var(--bg-page);border-color:var(--text-muted)}.btn-arrow--flagged{background:var(--status-flagged)}.btn-arrow--flagged:hover:not(:disabled){filter:brightness(.9)}.btn-arrow__glyph{transition:transform .15s;display:inline-block}.avatar-initials{background:var(--brand-accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:.9rem;font-weight:700;display:inline-flex}.numbered-progress{color:var(--text-heading);align-items:baseline;gap:.35rem;font-weight:700;display:inline-flex}.numbered-progress__current{color:var(--brand-primary);font-size:1.5rem}.numbered-progress__total{color:var(--text-muted);font-size:1rem}.focus-band{background:var(--bg-section-dark);color:#fff;border-radius:var(--radius-card);padding:2rem}.recorder-page{max-width:40rem;margin:0 auto;padding:2rem 1.5rem}.recorder-stage{grid-template-columns:minmax(0,1fr);grid-template-areas:"status""camera""side";gap:1rem;display:grid}.recorder-status{grid-area:status;justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.recorder-timer{font-weight:700}.recorder-camera-wrap{grid-area:camera;min-width:0;position:relative}.recorder-camera{display:block;transform:scaleX(-1)}.recorder-side{grid-area:side;min-width:0}@media (width>=64rem){.recorder-page{align-items:center;max-width:84rem;min-height:100vh;padding:1.5rem;display:flex}.recorder-stage{grid-template-columns:minmax(8rem,1fr) minmax(30rem,36rem) minmax(16rem,1.4fr);grid-template-areas:"status camera side";align-items:start;gap:2rem;width:100%}.recorder-status{flex-direction:column;align-items:flex-start}.recorder-status .numbered-progress__current{font-size:2.25rem}.recorder-timer{flex-direction:column;font-size:2rem;line-height:1.1;display:flex}.recorder-timer__label{color:var(--text-muted);font-size:.875rem;font-weight:600}}.table-scroll{overflow-x:auto}@media (width<=768px){.table-scroll th,.table-scroll td{white-space:nowrap}}.app-shell{min-height:100vh;display:flex}.app-sidebar{background:var(--nav-bg);width:240px;height:100vh;color:var(--nav-text);z-index:30;flex-shrink:0;transition:width .2s;position:sticky;top:0;overflow:hidden auto}@media (width>=769px){.app-sidebar{width:64px;transition:width .195s cubic-bezier(.4,0,.6,1)}.app-sidebar:hover{width:240px;transition-duration:.225s}.app-sidebar:has(:focus-visible){width:240px;transition-duration:.225s}.app-sidebar__label{opacity:0;transition:opacity .195s cubic-bezier(.4,0,.6,1)}.app-sidebar:hover .app-sidebar__label{opacity:1;transition-duration:.225s}.app-sidebar:has(:focus-visible) .app-sidebar__label{opacity:1;transition-duration:.225s}.app-icon-button.app-menu-button{display:none}}.app-sidebar svg{flex-shrink:0}.app-sidebar__brand{border-bottom:1px solid var(--nav-divider);align-items:center;gap:1rem;height:60px;padding:0 1.25rem;font-size:1.25rem;font-weight:500;display:flex}.app-sidebar__group{flex-direction:column;padding:.5rem 0;display:flex}.app-sidebar__group+.app-sidebar__group{border-top:1px solid var(--nav-divider)}.app-nav-link{color:var(--nav-text);white-space:nowrap;align-items:center;gap:1rem;padding:.75rem 1.25rem;text-decoration:none;transition:background-color .1s;display:flex}.app-nav-link:hover{background:var(--nav-hover)}.app-nav-link--active,.app-nav-link--active:hover{background:var(--nav-active)}.app-main{flex-direction:column;flex:1;min-width:0;display:flex}.app-topbar{z-index:20;background:var(--topbar-bg);height:60px;box-shadow:var(--topbar-shadow);justify-content:space-between;align-items:center;gap:1rem;padding:0 1.25rem;display:flex;position:sticky;top:0}.app-topbar__left{align-items:center;gap:.75rem;display:flex}.logo{align-items:center;gap:.3em;line-height:1;display:inline-flex}.logo__word{letter-spacing:-.02em;color:var(--text-heading);font-weight:500}.logo__accent{color:var(--brand-primary)}.app-icon-button{color:var(--text-body);cursor:pointer;background:0 0;border:none;border-radius:50%;padding:.4rem;display:inline-flex}.app-icon-button:hover{background:var(--bg-page)}.app-content{flex:1}.app-user{position:relative}.app-user__trigger{cursor:pointer;text-align:right;background:0 0;border:none;border-radius:8px;align-items:center;gap:.75rem;padding:.25rem .5rem;display:flex}.app-user__trigger:hover{background:var(--bg-page)}.app-user__details{flex-direction:column;line-height:1.25;display:flex}.app-user__name{text-transform:uppercase;color:var(--text-heading);justify-content:flex-end;align-items:center;font-size:.875rem;font-weight:600;display:inline-flex}.app-user__role{color:var(--text-muted);font-size:.875rem}.app-user__menu{background:var(--bg-card);min-width:12rem;box-shadow:var(--shadow-card);z-index:40;border-radius:8px;padding:.35rem 0;position:absolute;top:calc(100% + .5rem);right:0}.app-user__item{width:100%;color:var(--text-body);cursor:pointer;background:0 0;border:none;align-items:center;gap:.75rem;padding:.6rem 1rem;font-size:.9rem;text-decoration:none;display:flex}.app-user__item:hover{background:var(--bg-page)}.app-shell__backdrop{display:none}@media (width<=768px){.app-sidebar{width:240px;transition:transform .2s;position:fixed;left:0;transform:translate(-100%)}.app-shell--drawer-open .app-sidebar{transform:none}.app-shell--drawer-open .app-shell__backdrop{z-index:25;background:#0006;display:block;position:fixed;inset:0}.app-user__details{display:none}}.clickable-row:hover{background:var(--bg-page)}.app-dialog{border-radius:var(--radius-card);width:min(28rem,100vw - 2rem);box-shadow:var(--shadow-card);background:var(--bg-card);color:var(--text-body);border:none;padding:1.5rem}.app-dialog::backdrop{background:#282a4273}.app-dialog__title{margin-bottom:.5rem;font-size:1.25rem}.app-dialog__message{white-space:pre-line;margin:0 0 1rem}.app-dialog__type{flex-direction:column;gap:.35rem;margin-bottom:1rem;font-size:.875rem;display:flex}.app-dialog__type input{border-radius:var(--radius-card);border:1px solid var(--border-subtle);font:inherit;padding:.5rem .75rem}.app-dialog__actions{justify-content:flex-end;gap:.5rem;display:flex}.app-dialog__cancel,.app-dialog__confirm{border-radius:var(--radius-pill);cursor:pointer;padding:.5rem 1.25rem;font-weight:600}.app-dialog__cancel{border:1px solid var(--border-subtle);color:var(--text-heading);background:0 0}.app-dialog__confirm{background:var(--brand-primary-dark);color:#fff;border:none}.app-dialog__confirm--danger{background:var(--status-weekback)}.app-dialog__confirm:disabled{opacity:.45;cursor:not-allowed}.skeleton-page{flex-direction:column;gap:1rem;display:flex}.skeleton{border-radius:var(--radius-card);background:linear-gradient(90deg, var(--border-subtle) 25%, var(--bg-card) 50%, var(--border-subtle) 75%);background-size:200% 100%;animation:1.4s ease-in-out infinite skeleton-shimmer}.skeleton--title{width:40%;height:2rem;margin-bottom:.5rem}.skeleton--card{height:4.5rem}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.switch{cursor:pointer;width:2.25rem;height:1.25rem;display:inline-block;position:relative}.switch input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute}.switch__track{border-radius:var(--radius-pill);background:var(--border-subtle);transition:background-color .15s;position:absolute;inset:0}.switch__track:after{content:"";background:var(--bg-card);border-radius:50%;width:calc(1.25rem - 4px);height:calc(1.25rem - 4px);transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000040}.switch input:checked+.switch__track{background:var(--status-pass)}.switch input:checked+.switch__track:after{transform:translate(1rem)}.switch input:focus-visible+.switch__track{outline:2px solid var(--brand-primary-dark);outline-offset:2px}.page-tabs{border-bottom:1px solid var(--border-subtle);scrollbar-width:none;gap:.25rem;margin-bottom:1.5rem;display:flex;overflow:auto hidden}.page-tabs a{color:var(--text-muted);white-space:nowrap;padding:.6rem 1rem;font-weight:600;text-decoration:none}.page-tabs a:hover{color:var(--text-heading)}.page-tabs__count{border-radius:var(--radius-pill);background:var(--border-subtle);color:var(--text-heading);margin-left:.4rem;padding:0 .45rem;font-size:.75rem;line-height:1.4rem;display:inline-block}.page-tabs a.active .page-tabs__count{background:color-mix(in srgb, var(--brand-primary-dark) 14%, white);color:var(--brand-primary-dark)}.page-tabs a.active{color:var(--brand-primary-dark);box-shadow:inset 0 -2px 0 var(--brand-primary-dark)}.thinking-overlay{border-radius:var(--radius-card);color:#fff;text-align:center;background:#141628b8;padding:1.25rem 1.5rem;animation:.25s ease-out fade-in;display:flex;position:absolute;inset:0;overflow-y:auto}.thinking-overlay__inner{flex-direction:column;align-items:center;gap:.5rem;margin:auto;display:flex}.recorder-camera-wrap:has(.thinking-overlay) .recorder-camera{aspect-ratio:auto;object-fit:cover;width:100%;min-height:19rem}@media (width<=768px){.recorder-camera-wrap:has(.thinking-overlay) .recorder-camera{min-height:22rem}}.thinking-overlay__question{max-width:34rem;margin-bottom:.5rem}.thinking-overlay__question p:last-child{font-weight:500;line-height:1.4;font-size:clamp(1.15rem,2.4vw,1.5rem)!important}.thinking-overlay__question--long p:last-child{font-size:clamp(1rem,1.8vw,1.2rem)!important}.thinking-overlay__bar{border-radius:var(--radius-pill);background:#fff3;width:min(16rem,80%);height:4px;margin-top:.25rem;overflow:hidden}.thinking-overlay__bar>div{border-radius:inherit;background:#ffffffbf;height:100%;transition:width 1s linear}.thinking-overlay__label{opacity:.85;margin-bottom:.5rem;font-size:.875rem;font-weight:600}.thinking-overlay__hint{opacity:.75;font-size:.8125rem}.question-arrive{animation:.35s ease-out question-arrive}@keyframes question-arrive{0%{opacity:0;transform:translate(-1.5rem)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.thinking-overlay,.question-arrive{animation:none}}
