:root{color-scheme:light;--color-bg: #f8fafc;--color-surface: #ffffff;--color-surface-sunken: #f1f5f9;--color-white: #ffffff;--color-text: #0f172a;--color-divider: #e2e8f0;--color-divider-strong: #cbd5e1;--color-neutral-100: #f1f5f9;--color-neutral-200: #e2e8f0;--color-neutral-400: #64748b;--color-slate: #475569;--color-cool: #94a3b8;--color-accent: #1d4ed8;--color-accent-100: #eaf0fe;--color-accent-200: #cddefc;--color-accent-300: #93b4f7;--color-accent-400: #6b8ff0;--color-accent-600: #1e40af;--color-accent-700: #1e3a8a;--color-accent-900: #0a1f44;--accent-ink: var(--color-accent);--accent-strong: #1e3a8a;--color-sapphire: #0a1f44;--color-mist: #cddefc;--color-cyan: #60a5fa;--color-sky: #38bdf8;--color-sky-soft: #7dd3fc;--on-blue-2: #bfdbfe;--on-deep-2: #94a3b8;--color-sky-wash: #bfdbfe;--on-mark: #ffffff;--rail-hover: #12295a;--rail-active: #1b3b78;--rail-active-ink: var(--color-white);--show-on-light: block;--show-on-dark: none;--color-pass: #4d7c0f;--color-pass-soft: #ecfccb;--color-warn: #92400e;--color-warn-soft: #fef3c7;--color-fail: #b91c1c;--color-fail-soft: #fee2e2;--chart-series: var(--color-accent);--chart-good: #0ca30c;--chart-warning: #fab219;--chart-critical: #d03b3b;--chart-neutral: var(--color-cool);--chart-good-ink: #0b0b0b;--chart-warning-ink: #0b0b0b;--chart-critical-ink: #ffffff;--chart-neutral-ink: #0b0b0b;--kind-learn: var(--color-pass);--kind-code: var(--accent-ink);--kind-upload: var(--color-warn);--ink-08: rgba(15, 23, 42, .08);--ink-40: rgba(15, 23, 42, .6);--ink-45: rgba(15, 23, 42, .65);--ink-50: rgba(15, 23, 42, .7);--ink-55: rgba(15, 23, 42, .74);--ink-60: rgba(15, 23, 42, .79);--ink-70: rgba(15, 23, 42, .86);--ink-75: rgba(15, 23, 42, .91);--paper-25: rgba(255, 255, 255, .28);--paper-60: rgba(255, 255, 255, .64);--paper-75: rgba(255, 255, 255, .8);--scrim: rgba(10, 31, 68, .55);--ground: var(--color-bg);--fg: var(--color-text);--fg-2: var(--ink-60);--hair: var(--color-divider);--mark: var(--accent-ink);--cap: var(--color-accent-900);--cap-fg: var(--color-slate);--font-heading: "Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-body: "Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--text-micro: 10px;--text-kicker: 11px;--text-label: 12px;--text-label-lg: 12px;--text-th: 12px;--text-note: 13px;--text-btn: 13px;--text-sm: 13px;--text-input: 13px;--text-card: 15px;--text-task: 16px;--text-body: 14px;--text-tile: 18px;--text-h3: 20px;--text-h1: 30px;--text-h2: 24px;--text-amount: 28px;--track-tight: -.012em;--track: 0em;--track-wide: .01em;--track-caps: .08em;--track-display: -.02em;--track-mask: .2em;--r-mark: 2px;--r-ctl: 4px;--r-sheet: 8px;--r-card: 14px;--r-pill: 999px;--rule-width: 3px;--rail-width: 88px;--rail-item-width: 40px;--rail-wordmark-width: 128px;--rail-scrollbar-size: 6px;--rail-width-open: 232px;--strip-cell-height: 14px;--strip-cell-locked: var(--color-accent-100);--drawer-width: 460px;--workspace-width: 1160px;--table-min-width: 640px;--table-lead-min-width: 160px;--table-prose-min-width: 240px;--table-fade-width: 32px;--table-scrollbar-size: 6px;--table-cell-pad-x: 12px;--col-narrow: 72px;--col-short: 88px;--col-date: 96px;--col-status: 128px;--touch-min: 44px;--tabbar-height: 60px;--tabbar-space: calc(var(--tabbar-height) + env(safe-area-inset-bottom));--focus-width: 2px;--focus-offset: 2px;--focus-inset: calc(-1 * var(--focus-width));--control-sm: 30px;--control-md: 38px;--control-lg: 46px;--pad-page: 24px;--pad-page-mobile: 16px;--pad-card: 20px;--gap-grid: 16px;--meta-slot: 168px;--z-sticky: 10;--z-menu: 20;--z-overlay: 40;--z-overlay-top: 45;--z-toast: 60;--cap-height: 38px;--thread-width: 760px;--aside-width: 264px;--elevation-raised: 0 1px 2px rgba(10, 31, 68, .05);--elevation-overlay: 0 1px 2px rgba(10, 31, 68, .1), 0 24px 48px -20px rgba(10, 31, 68, .38);--surface-dark: radial-gradient(130% 200% at 16% 46%, rgba(37, 99, 235, .92) 0%, rgba(37, 99, 235, 0) 64%), linear-gradient(101deg, #1b48c4 0%, #1d4ed8 34%, #0a1f44 100%);--surface-brand: linear-gradient( 177deg, #0f172a 0%, #0a1f44 22%, #1e40af 52%, #1d4ed8 70%, #38bdf8 92%, #7dd3fc 100% );--duration-press: .12s;--duration-state: .18s;--duration-expand: .26s;--duration-draw: .6s;--duration-loop: 1.4s;--stagger: 80ms;--ease-standard: cubic-bezier(.22, 1, .36, 1);--ease-linear: linear}@media screen{:root[data-theme=dark]{color-scheme:dark;--color-bg: #0a101d;--color-surface: #111a2c;--color-surface-sunken: #172238;--color-text: #e2e8f0;--color-divider: #243049;--color-divider-strong: #33415a;--color-neutral-100: #172238;--color-neutral-200: #243049;--color-neutral-400: #7b8aa3;--color-slate: #a3b1c6;--color-cool: #64748b;--color-accent: #2563eb;--color-accent-100: #16264a;--strip-cell-locked: var(--color-divider-strong);--color-accent-200: #1e3566;--color-accent-300: #3a5ba8;--color-accent-400: #5b7fe0;--color-accent-600: #1d4ed8;--color-accent-700: #b3c9fc;--color-accent-900: #dbe6fe;--accent-ink: #8fb0fb;--accent-strong: #1d4ed8;--color-sky-wash: #0e2f4a;--on-mark: #0a101d;--rail-hover: #12295a;--rail-active: #1b3b78;--show-on-light: none;--show-on-dark: block;--color-pass: #a3d36a;--color-pass-soft: #1b2a12;--color-warn: #f3b65b;--color-warn-soft: #2f2310;--color-fail: #f58a8a;--color-fail-soft: #35181c;--chart-series: var(--color-accent-400);--chart-good: #0ca30c;--chart-warning: #fab219;--chart-critical: #d03b3b;--chart-good-ink: #0b0b0b;--chart-warning-ink: #0b0b0b;--chart-critical-ink: #ffffff;--chart-neutral-ink: #ffffff;--ink-08: rgba(226, 232, 240, .08);--ink-40: rgba(226, 232, 240, .6);--ink-45: rgba(226, 232, 240, .65);--ink-50: rgba(226, 232, 240, .7);--ink-55: rgba(226, 232, 240, .74);--ink-60: rgba(226, 232, 240, .79);--ink-70: rgba(226, 232, 240, .86);--ink-75: rgba(226, 232, 240, .91);--scrim: rgba(2, 6, 16, .7);--elevation-raised: 0 1px 2px rgba(0, 0, 0, .4);--elevation-overlay: 0 1px 2px rgba(0, 0, 0, .45), 0 24px 48px -20px rgba(0, 0, 0, .75)}}@media(max-width:760px){:root{--control-sm: 36px;--control-md: 44px;--control-lg: 50px;--pad-card: 16px;--text-input: 16px}}@media(prefers-reduced-motion:reduce){:root{--duration-press: 0ms;--duration-state: 0ms;--duration-expand: 0ms;--duration-draw: 0ms;--duration-loop: 0ms;--stagger: 0ms}}*{box-sizing:border-box;border-radius:0}.btn,.input,.select,.textarea,.toast,.banner,.form-error,.gate-blocked,.inline-error,.chat-error,.segmented,.queue-stat,.session-item{border-radius:var(--r-ctl)}.dialog{border-radius:var(--r-card)}.panel,.kcard,.app-tile,.empty,.dropzone,.chat-composer,.chat-panel,.bubble,.login-card{border-radius:var(--r-sheet)}.drawer{border-radius:var(--r-sheet) 0 0 var(--r-sheet)}.avatar,.st,.mono-label,.att-cell,.progress-cells>i,.legend i{border-radius:var(--r-mark)}body{margin:0;padding-inline:env(safe-area-inset-left) env(safe-area-inset-right);background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--text-body);line-height:1.55;accent-color:var(--color-accent);caret-color:var(--color-accent);font-synthesis:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;margin:0}a{color:var(--accent-ink)}@media(hover:hover){a:hover{color:var(--color-accent-700)}}a:focus-visible{color:var(--color-accent-700)}:focus{outline:none}:focus-visible{outline:var(--focus-width) solid var(--mark);outline-offset:var(--focus-offset)}:where(:focus-visible){border-radius:var(--r-mark)}::selection{background:var(--color-accent);color:var(--color-white)}.mono{font-family:var(--font-mono)}.text-muted{color:var(--ink-55)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.activity .arows,.timeline,.gate-days,.attention,.problems,.flag-rows,.turn-list,.checklist-results,.cal-agenda,.notification-rows,.chart-legend,.chart-segbar,.share-bars{list-style:none;margin:0;padding:0}.plabel,.mono-label,.stat .k,.kcol .khead span,.kcard .kk,.ktag,.tasklist .day,.table th,.jsonview dt,.prof-grid dt,.topmeta dt,.chip,.st,.queue-head-label,.issue-parts dt{font-family:var(--font-body);font-weight:700;font-size:var(--text-label);letter-spacing:var(--track-caps);text-transform:uppercase;line-height:1.34}.chip,.st,.queue-head-label{font-size:var(--text-kicker)}.blueprint{position:relative;border:1px solid var(--color-divider)}.btn{position:relative;display:inline-flex;height:var(--control-md);align-items:center;justify-content:center;gap:8px;cursor:pointer;text-decoration:none;white-space:nowrap;font-family:var(--font-body);font-weight:600;font-size:var(--text-btn);line-height:1;color:var(--color-text);border:1px solid var(--color-divider-strong);padding:0 14px;background:var(--color-surface);transition:transform var(--duration-press) var(--ease-standard),background var(--duration-state) var(--ease-standard),border-color var(--duration-state) var(--ease-standard),color var(--duration-state) var(--ease-standard)}@media(hover:hover){.btn:hover:not(:disabled,[aria-disabled=true]){background:var(--color-accent-100);border-color:var(--color-accent-300);color:var(--color-accent-700)}}.btn:active:not(:disabled,[aria-disabled=true]){transform:scale(.97)}.btn:disabled,.btn[aria-disabled=true]:where(:not([aria-busy=true])){cursor:default;color:var(--ink-40);background:var(--color-neutral-100);border-color:var(--color-divider);box-shadow:none}.btn[aria-busy=true]{cursor:progress}.btn-sm{height:var(--control-sm);padding:0 11px;font-size:var(--text-note);gap:5px}.btn-lg{height:var(--control-lg);padding:0 24px;font-size:var(--text-card)}.btn-icon{width:var(--control-md);padding:0}.btn-icon.btn-sm{width:var(--control-sm)}.btn-icon.btn-lg{width:var(--control-lg)}.btn-block{width:100%}@media(max-width:760px),(pointer:coarse){.btn-sm:before{content:"";position:absolute;inset:calc((var(--control-sm) - var(--touch-min)) / 2) 0}.btn-icon.btn-sm:before{inset:calc((var(--control-sm) - var(--touch-min)) / 2)}}.btn-primary{background:var(--color-accent);color:var(--color-white);border-color:var(--color-accent)}@media(hover:hover){.btn-primary:hover:not(:disabled,[aria-disabled=true]){background:var(--color-accent-600);border-color:var(--color-accent-600);color:var(--color-white)}}.btn-ghost{border-color:transparent;background:transparent;color:var(--accent-ink)}.btn-ghost:disabled,.btn-ghost[aria-disabled=true]:where(:not([aria-busy=true])){background:transparent;border-color:transparent}.btn-ghost-danger{border-color:transparent;background:transparent;color:var(--color-fail)}@media(hover:hover){.btn-ghost-danger:hover:not(:disabled,[aria-disabled=true]){background:var(--color-fail-soft);border-color:transparent;color:var(--color-fail)}}.btn-ghost-danger:focus-visible{background:var(--color-fail-soft)}.btn-ghost-danger:disabled,.btn-ghost-danger[aria-disabled=true]:where(:not([aria-busy=true])){background:transparent;border-color:transparent}.btn-danger{background:var(--color-surface);border-color:var(--color-fail);color:var(--color-fail)}@media(hover:hover){.btn-danger:hover:not(:disabled,[aria-disabled=true]){background:var(--color-fail-soft);border-color:var(--color-fail);color:var(--color-fail)}}.shell{display:flex;min-height:100vh}.skip-links{position:absolute;top:0;left:0}.skip-link{position:fixed;top:12px;left:12px;z-index:var(--z-toast);display:inline-flex;align-items:center;height:var(--control-md);padding:0 14px;border:1px solid var(--color-accent);border-radius:var(--r-ctl);background:var(--color-surface);color:var(--accent-ink);font-weight:600;font-size:var(--text-btn);text-decoration:none;box-shadow:var(--elevation-overlay)}.skip-link:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}main.stage:focus-visible,aside.rail:focus-visible{outline:none}header.top h1:focus-visible{outline:none}aside.rail{width:var(--rail-width);flex:none;order:-1;position:sticky;top:0;height:100vh;z-index:var(--z-menu)}aside.rail.pinned{width:var(--rail-width-open)}aside.rail .rail-panel{position:absolute;top:0;bottom:0;left:0;width:var(--rail-width-open);display:flex;flex-direction:column;align-items:flex-start;padding:16px 24px;gap:12px;background:var(--color-sapphire);overflow:hidden;clip-path:inset(0 calc(100% - var(--rail-width)) 0 0);transition:clip-path var(--duration-state) var(--ease-standard),box-shadow var(--duration-state) var(--ease-standard)}aside.rail.expanded .rail-panel{clip-path:inset(0 -48px 0 0);box-shadow:var(--elevation-overlay);transition-duration:var(--duration-expand)}aside.rail.pinned .rail-panel{clip-path:none}aside.rail .rail-brand{display:flex;align-items:center;gap:14px;flex:none;padding-bottom:4px}aside.rail .logo{width:var(--rail-item-width);height:var(--rail-item-width);flex:none;border-radius:var(--r-sheet)}aside.rail .rail-wordmark{width:var(--rail-wordmark-width);height:auto;flex:none;opacity:0;transition:opacity var(--duration-state) var(--ease-standard)}aside.rail:is(.pinned,.expanded) .rail-wordmark{opacity:1}aside.rail .rail-nav{flex:1;min-height:0;align-self:stretch;display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin:0 -8px;padding:4px 8px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}aside.rail .rail-nav::-webkit-scrollbar{width:var(--rail-scrollbar-size)}aside.rail .rail-nav::-webkit-scrollbar-track{background:transparent}aside.rail .rail-nav::-webkit-scrollbar-thumb{background:var(--paper-25);border-radius:var(--r-pill)}aside.rail a,aside.rail button.rail-item{position:relative;width:var(--rail-item-width);height:var(--rail-item-width);flex:none;display:flex;align-items:center;gap:12px;padding:0 9px;text-decoration:none;color:var(--on-deep-2);border:1px solid transparent;border-radius:var(--r-sheet);background:transparent;cursor:pointer;font:inherit;white-space:nowrap;touch-action:manipulation;transition:transform var(--duration-press) var(--ease-standard),color var(--duration-state) var(--ease-standard),background var(--duration-state) var(--ease-standard)}aside.rail a svg,aside.rail button.rail-item svg{flex:none}@media(hover:hover){aside.rail a:hover,aside.rail button.rail-item:hover{background:var(--rail-hover);color:var(--fg)}}aside.rail a.active{background:var(--rail-active);color:var(--rail-active-ink);border-color:var(--rail-active);font-weight:600}aside.rail a.active:before{content:"";position:absolute;top:10px;bottom:10px;left:0;width:var(--rule-width);border-radius:var(--r-pill);background:var(--mark)}aside.rail a.active svg{color:var(--rail-active-ink)}@media(hover:hover){aside.rail a.dashed:hover{border-color:var(--color-accent-300)}}aside.rail a span,aside.rail button.rail-item span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}aside.rail .rule{width:var(--rail-item-width);height:1px;flex:none;background:var(--paper-25);margin:6px 0}aside.rail .spacer{margin-top:auto}aside.rail:is(.pinned,.expanded) a,aside.rail:is(.pinned,.expanded) button.rail-item{width:100%}aside.rail:is(.pinned,.expanded) a span,aside.rail:is(.pinned,.expanded) button.rail-item span{position:static;width:auto;height:auto;overflow:visible;clip:auto;font-size:var(--text-btn)}aside.rail:is(.pinned,.expanded) .rule{width:100%}aside.rail .rail-pin{flex:none;color:var(--on-deep-2)}aside.rail .rail-pin[aria-pressed=true]{color:var(--fg)}aside.rail .rail-pin[aria-pressed=true] svg{color:var(--mark)}nav.tabbar{position:fixed;right:0;bottom:0;left:0;z-index:var(--z-sticky);display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:4px;height:var(--tabbar-space);padding:6px calc(6px + env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) calc(6px + env(safe-area-inset-left));background:var(--color-sapphire)}nav.tabbar:focus-visible{outline:none}nav.tabbar .tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;padding:0 2px;border:0;border-radius:var(--r-sheet);background:transparent;color:var(--on-deep-2);font-family:var(--font-body);font-size:var(--text-label);font-weight:600;line-height:1.2;text-decoration:none;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform var(--duration-press) var(--ease-standard),color var(--duration-state) var(--ease-standard),background var(--duration-state) var(--ease-standard)}nav.tabbar .tab svg{flex:none}nav.tabbar .tab span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}nav.tabbar .tab.active{background:var(--rail-active);color:var(--rail-active-ink)}@media(max-width:760px){.shell{flex-direction:column}header.top .crumb>.breadcrumbs:not(:has(li:nth-child(3))){display:none}header.top .right .select-wrap{min-width:140px}header.top .menu-trigger.identity{padding:0 4px}header.top .menu-trigger.identity .who{display:none}header.top .menu{position:static}header.top .menu-panel{left:var(--pad-page-mobile);right:var(--pad-page-mobile);width:auto;min-width:0;max-width:none;transform-origin:top center}}main.stage{flex:1;display:flex;flex-direction:column;min-width:0}@media(max-width:760px){.shell:has(>nav.tabbar)>main.stage{padding-bottom:var(--tabbar-space)}html:has(nav.tabbar){scroll-padding-bottom:var(--tabbar-space)}body:has(nav.tabbar) .toasts{top:calc(env(safe-area-inset-top) + var(--pad-page-mobile));right:calc(env(safe-area-inset-right) + var(--pad-page-mobile));bottom:auto;left:calc(env(safe-area-inset-left) + var(--pad-page-mobile))}html[data-keyboard] nav.tabbar{display:none}}header.top{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:22px var(--pad-page);border-bottom:1px solid var(--color-divider);background:var(--color-surface)}header.top .crumb{font-family:var(--font-body);font-size:var(--text-label);letter-spacing:var(--track-wide);text-transform:none;color:var(--accent-ink)}.breadcrumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:2px 6px;margin:0;padding:0;list-style:none}.breadcrumbs li{display:inline-flex;align-items:center;gap:6px;min-width:0}.breadcrumbs li+li:before{content:"/" / "";color:var(--ink-40)}.breadcrumbs a{display:inline-flex;align-items:center;min-height:24px;color:var(--accent-ink);text-decoration:none;touch-action:manipulation}@media(hover:hover){.breadcrumbs a:hover{text-decoration:underline;text-underline-offset:3px}}.breadcrumbs [aria-current=page]{max-width:48ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-60)}.breadcrumbs .fold{display:none}.breadcrumbs .fold button{min-width:24px;min-height:24px;padding:0 4px;font:inherit;color:var(--accent-ink);background:transparent;border:1px solid var(--hair);border-radius:var(--r-ctl);cursor:pointer}header.top.band .breadcrumbs [aria-current=page],header.top.band .breadcrumbs a{color:var(--color-white)}@media(max-width:640px){.breadcrumbs .fold{display:inline-flex}.breadcrumbs li.middle{display:none}.breadcrumbs.unfolded li.middle{display:inline-flex}.breadcrumbs.unfolded .fold{display:none}.breadcrumbs [aria-current=page]{max-width:24ch}}header.top h1{font-size:var(--text-h2);font-weight:700;letter-spacing:var(--track-tight);margin:4px 0 0;line-height:1.16}header.top.band{--fg: var(--color-white);--fg-2: var(--on-blue-2);--hair: var(--paper-25);--mark: var(--color-white);background:var(--surface-dark);border-bottom:none;border-radius:var(--r-sheet);margin:var(--pad-page) var(--pad-page) 0;padding:22px var(--pad-card);color:var(--fg)}header.top.band h1{color:var(--color-white);font-weight:600;margin:0}header.top.band+.work{padding-top:16px}header.top.band .menu-trigger{border-color:var(--paper-25);color:var(--color-white)}header.top.band .menu-trigger.open{background:var(--paper-25);border-color:var(--paper-60)}@media(hover:hover){header.top.band .menu-trigger:hover{background:var(--paper-25);border-color:var(--paper-60)}}header.top.band .menu-trigger .who .id,header.top.band .menu-trigger svg{color:var(--on-blue-2)}header.top.band .menu-trigger .avatar{background:var(--paper-25);color:var(--color-white)}header.top.band .bell-badge{border-color:var(--color-sapphire)}header.top.band .btn:not(.menu-panel *){background:transparent;border-color:var(--paper-25);color:var(--color-white)}@media(hover:hover){header.top.band .btn:not(.menu-panel *):hover:not(:disabled,[aria-disabled=true]){background:var(--paper-25);border-color:var(--paper-60);color:var(--color-white)}}.topmeta{display:flex;flex-wrap:wrap;gap:8px 34px;margin:0}.topmeta>div{display:flex;align-items:baseline;gap:9px;min-width:var(--meta-slot)}.topmeta dt{color:var(--fg-2);margin:0}header.top.band .topmeta dt{color:var(--color-white)}.topmeta dd{margin:0;font-size:var(--text-body);font-weight:600;color:var(--fg)}header.top .right{margin-left:auto;display:flex;align-items:center;gap:var(--gap-grid)}header.top .right .actions,header.top .right .trailing{display:flex;align-items:center;flex-wrap:wrap;gap:inherit}header.top .right .actions{order:-1}header.top .right .actions:empty{display:none}header.top .right .trailing{order:1}header.top .right .select-wrap{width:max-content;max-width:var(--aside-width)}@media(min-width:761px){header.top.band>:first-child{flex:999 1 auto}header.top.band .right{flex:1 1 auto;flex-wrap:wrap;justify-content:space-between}header.top.band .right .trailing{flex-wrap:nowrap;margin-left:auto}}header.top .identity{display:flex;align-items:center;gap:10px;padding:5px 12px 5px 5px;border:1px solid var(--hair);border-radius:var(--r-sheet)}header.top .avatar{width:var(--control-sm);height:var(--control-sm);flex:none;border-radius:var(--r-ctl);background:var(--color-accent-100);display:grid;place-items:center;font-family:var(--font-heading);font-weight:700;font-size:var(--text-note);letter-spacing:var(--track-caps);color:var(--color-accent-700)}.who{display:flex;flex-direction:column;align-items:flex-start;min-width:0;line-height:1.25}.who .name,.who .id{display:block;max-width:22ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}header.top .who .name{font-size:var(--text-btn);font-weight:600}.who .id{font-family:var(--font-body);font-size:var(--text-label);color:var(--ink-45)}.account-head .who .name{font-size:var(--text-body);font-weight:600}.work{flex:1;padding:22px var(--pad-page) 32px;display:flex;flex-direction:column;gap:var(--gap-grid)}.guard{min-height:60vh;display:grid;place-items:center;padding:var(--pad-page)}.guard>.inline-error{width:min(480px,100%)}.banner{border:1px solid var(--color-accent);background:var(--color-accent-100);color:var(--color-accent-700);padding:10px 14px;margin:var(--pad-page);font-size:var(--text-btn)}.banner+header.top.band{margin-top:0}.week-meta{padding:14px var(--pad-page) 0;display:flex;align-items:center;gap:20px;flex-wrap:wrap}.week-meta-rule{flex:1;height:1px;min-width:24px;background:var(--color-divider)}.week-meta>.skeleton,.module-switcher>.inline-error{flex:1 1 100%}.module-switcher-pick{display:flex;flex-wrap:wrap;align-items:center;gap:10px;max-width:100%;min-width:0}.module-switcher-pick .select-wrap{width:max-content;max-width:100%;min-width:0}.module-switcher-track{flex:1 1 var(--aside-width);min-width:0}.module-switcher-track .progress-cells{margin:0}.panel{border:1px solid var(--hair);padding:var(--pad-card);position:relative;background:var(--color-surface);box-shadow:var(--elevation-raised)}.plabel{color:var(--cap-fg);margin-bottom:10px}.plabel.muted{color:var(--ink-45)}.panel>.pcap{display:flex;align-items:center;gap:9px;min-height:var(--cap-height);margin:calc(var(--pad-card) * -1) calc(var(--pad-card) * -1) var(--pad-card);padding:0 var(--pad-card);background:var(--color-surface-sunken);border-bottom:1px solid var(--hair);border-radius:var(--r-sheet) var(--r-sheet) 0 0;color:var(--cap-fg)}.panel>.pcap .push{margin-left:auto}.panel>.pcap svg{color:var(--mark);flex:none}.panel.dark,aside.rail,nav.tabbar{--fg: var(--color-white);--fg-2: var(--on-deep-2);--hair: var(--paper-25);--mark: var(--color-cyan)}.panel h2:not(:where(.plabel)){font-size:var(--text-h2);font-weight:800;letter-spacing:var(--track-tight);line-height:1.02;text-wrap:balance}.panel h3:not(:where(.plabel)){font-size:var(--text-h3);font-weight:650;letter-spacing:var(--track-tight)}.panel>p,.drawer-section>p{max-width:76ch}.panel-head{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.panel-head .push{margin-left:auto}@media(max-width:760px){.heading-range,.heading-topic{display:block}.heading-sep{display:none}}.mono-label{color:var(--ink-45)}.mono-label.accent{color:var(--color-accent-700)}.stat .k{color:var(--ink-45)}.stat .v{font-family:var(--font-heading);font-weight:700;font-size:var(--text-h2);line-height:1.05;letter-spacing:var(--track-display);font-variant-numeric:tabular-nums}.stat-sm .v{font-size:var(--text-h3)}.stat-dark .k{color:var(--color-white)}.stat .v .st{font:inherit;letter-spacing:inherit}.stat .stat-hint{font-size:var(--text-note);color:var(--ink-55);margin-top:4px}.stats{margin-left:auto;display:flex;flex-wrap:wrap;gap:28px;text-align:right}.panel>.stats{margin-left:0;text-align:left}.panel>.field-hint+.stats{margin-top:12px}@media(max-width:760px){.stats{margin-left:0;width:100%;text-align:left;gap:var(--gap-grid)}}.stats.funnel{margin-left:0;width:100%;display:flex;flex-direction:column;flex-wrap:nowrap;gap:0;text-align:left}.funnel-step{display:grid;grid-template-columns:minmax(140px,18%) 1fr auto auto;align-items:center;gap:var(--gap-grid);padding:7px 0;border-bottom:1px solid var(--hair)}.funnel-step:last-child{border-bottom:none}.funnel-step+.plabel{margin-top:14px}.funnel-label{font-size:var(--text-btn);color:var(--fg)}.funnel-count,.funnel-share{font-family:var(--font-heading);font-variant-numeric:tabular-nums;text-align:right}.funnel-count{font-weight:700;min-width:56px}.funnel-share{min-width:48px;color:var(--fg-2);font-size:var(--text-label)}.funnel-track{display:block;height:8px;background:var(--color-surface-sunken)}.funnel-track i{display:block;height:8px;background:var(--color-accent)}@media(max-width:640px){.funnel-step{grid-template-columns:1fr auto auto;grid-template-areas:"label count share" "track track track";row-gap:6px}.funnel-label{grid-area:label}.funnel-track{grid-area:track}.funnel-count{grid-area:count}.funnel-share{grid-area:share}}.progress-scroll{overflow-x:auto}.progress-scroll:focus-visible{outline-offset:var(--focus-inset)}.progress-cells{--strip-gap: 6px;display:grid;grid-template-columns:repeat(var(--cells, 28),1fr);gap:var(--strip-gap);margin:16px 0 4px;min-width:calc(var(--cells, 28) * var(--strip-cell-height) + (var(--cells, 28) - 1) * var(--strip-gap))}@media(max-width:760px){.progress-cells{--strip-gap: 4px}}.progress-cells>i{height:var(--strip-cell-height);display:block;border-radius:var(--r-pill);background:var(--strip-cell-locked);transition:background var(--duration-state) var(--ease-standard)}.progress-cells>i.done{background:var(--color-accent-400)}.progress-cells>i.now{background:var(--accent-ink)}.legend{display:flex;gap:var(--gap-grid);flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid var(--hair)}.legend span{display:flex;align-items:center;gap:7px;font-family:var(--font-body);font-size:var(--text-note);letter-spacing:var(--track);text-transform:none;color:var(--ink-55)}.legend i{width:12px;height:12px;flex:none;display:block;border-radius:var(--r-mark);background:var(--strip-cell-locked)}.legend i.done{background:var(--color-accent-400)}.legend i.now{background:var(--accent-ink)}.tasklist{border-top:1px solid var(--color-divider)}.tasklist .trow{display:grid;grid-template-columns:20px minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:11px 10px;border-bottom:1px solid var(--hair);border-radius:var(--r-ctl)}@media(hover:hover){.tasklist .trow:hover{background:var(--color-neutral-100)}}.tasklist .trow.now{padding-inline-start:calc(10px - var(--rule-width));background:var(--color-accent-100);border-inline-start:var(--rule-width) solid var(--color-accent)}.tasklist a.trow{color:inherit;text-decoration:none;transition:background var(--duration-press) var(--ease-standard)}.tasklist .trow.now .ttitle{font-weight:600}.tasklist .trow.todo .ttitle{color:var(--ink-75)}.tasklist .box{width:15px;height:15px;display:block;flex:none;border:1.5px solid var(--color-neutral-400)}.tasklist .box.done{background:var(--color-pass);border-color:var(--color-pass)}.tasklist .box.now{border:2px solid var(--color-accent)}.tasklist .day{justify-self:start;padding:3px 7px;border-radius:var(--r-mark);background:var(--color-neutral-100);color:var(--ink-55)}.tasklist .day.kind-learn{background:var(--color-pass-soft);color:var(--color-pass)}.tasklist .day.kind-code{background:var(--color-accent-200);color:var(--color-accent-700)}.tasklist .day.kind-upload{background:var(--color-warn-soft);color:var(--color-warn)}@media(max-width:760px){.this-module .tasklist a.trow{grid-template-columns:20px minmax(0,1fr) auto;grid-template-areas:"box title title" "box kind status";row-gap:6px}.this-module .tasklist a.trow>.box{grid-area:box;align-self:start;margin-top:3px}.this-module .tasklist a.trow>.ttitle{grid-area:title}.this-module .tasklist a.trow>.day{grid-area:kind}.this-module .tasklist a.trow>.st{grid-area:status;justify-self:end}}@media(min-width:761px){.this-module .tasklist{display:grid;grid-template-columns:30px minmax(0,1fr) auto auto;column-gap:14px}.this-module .tasklist .trow{grid-column:1 / -1;grid-template-columns:subgrid}}.module-meter{display:flex;align-items:center;gap:14px;margin-bottom:16px}.module-meter .kbar{flex:1;margin-top:0}.st{color:var(--ink-50);overflow-wrap:normal;word-break:normal}.st.gated{color:var(--color-pass)}.st.now{color:var(--color-accent-700)}.st.warn{color:var(--color-warn)}.st.danger{color:var(--color-fail)}.panel.dark{background:var(--surface-dark);color:var(--color-white);border-color:var(--color-sapphire)}.panel.dark .plabel{color:var(--on-blue-2)}.panel.dark .st{color:var(--color-white)}.panel.dark>.pcap{background:var(--color-sapphire);border-bottom-color:var(--paper-25)}.panel.dark p{color:var(--color-white);font-size:var(--text-btn);margin:0 0 14px}.panel.dark h3:not(:where(.plabel)){font-size:var(--text-h2);font-weight:700;letter-spacing:var(--track-display);line-height:1.05;margin-bottom:4px}.panel.dark .btn{background:var(--color-white);color:var(--color-sapphire);border-color:var(--color-white);width:100%}@media(hover:hover){.panel.dark .btn:hover:not(:disabled,[aria-disabled=true]){background:var(--color-mist);border-color:var(--color-mist);color:var(--color-sapphire)}}.panel.dark .mic-check .btn-secondary{background:transparent;color:var(--color-white);border-color:var(--paper-60)}.panel.dark .btn.panel-link{width:auto;background:transparent;color:var(--color-white);border-color:var(--paper-60)}.panel.dark .btn[aria-disabled=true]:where(:not([aria-busy=true])),.panel.dark .btn:disabled{cursor:default;background:transparent;color:var(--paper-60);border-color:var(--paper-25)}.gate-stats{display:flex;flex-wrap:wrap;gap:24px;margin-bottom:14px}@media(max-width:760px){.gate-stats{gap:14px}}.attendance-meter{margin:0 0 14px}.attendance-meter.warn{background:var(--color-warn-soft)}.attendance-meter.warn i{background:var(--color-warn)}.attendance-flag{margin:0;padding-left:10px;border-left:2px solid var(--color-warn);color:var(--color-text);font-size:var(--text-sm)}.gate-meta{display:flex;flex-wrap:wrap;gap:6px 18px;margin:14px 0 4px}.gate-meta .gate-window-closed{flex-basis:100%;margin:0;font-size:var(--text-note);color:var(--ink-70)}.gate-start{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:18px}.gate-blocked{margin:0;padding:10px 14px;background:var(--color-warn-soft);border-inline-start:var(--rule-width) solid var(--color-warn);color:var(--color-warn);font-size:var(--text-btn);line-height:1.5;max-width:62ch}.readiness-head{margin:0 0 6px;font-size:var(--text-note);color:var(--ink-55)}.readiness-head+.kbar{margin:6px 0 16px}.readiness{display:grid;grid-template-columns:repeat(var(--criteria, 5),1fr);gap:3px;margin:6px 0 16px}.readiness i{height:6px;display:block;background:var(--paper-25)}.readiness i.met{background:var(--color-white)}.activity .arow{display:flex;gap:12px;padding:9px 0;border-bottom:1px solid var(--color-divider);font-size:var(--text-btn)}.activity .arow:last-child{border-bottom:none}.activity .arows:has(.when){display:grid;grid-template-columns:max-content minmax(0,1fr)}.activity .arows:has(.when)>.arow{display:grid;grid-column:1 / -1;grid-template-columns:subgrid}.activity .arow>a{display:block;margin:-9px 0;padding:9px 0}.activity .arow.note-row{flex-direction:column;gap:4px}.activity .when{font-family:var(--font-body);font-size:var(--text-label);color:var(--ink-55);white-space:nowrap;padding-top:2px}.kanban{--kjump-height: calc(var(--touch-min) + var(--gap-grid) + 1px);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--gap-grid);align-items:stretch}@media(max-width:1200px){.kanban{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}}@media(min-width:901px)and (max-width:1344px){.shell:has(aside.rail.pinned) .kanban{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}}@media(max-width:900px){.kanban{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.kanban{grid-template-columns:minmax(0,1fr)}}@media(min-width:1201px){.kanban.ticket-board{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:641px)and (max-width:1200px){.kanban.ticket-board{grid-template-columns:repeat(2,minmax(0,1fr))}}.kanban>.kcol{scroll-margin-top:var(--kjump-height)}.kjump{position:sticky;top:0;z-index:var(--z-sticky);grid-column:1 / -1;display:flex;gap:6px;padding:calc(var(--gap-grid) / 2) 0;overflow-x:auto;scroll-padding-inline:var(--pad-page-mobile);border-bottom:1px solid var(--hair);background:linear-gradient(to right,var(--color-bg) var(--pad-page-mobile),transparent) left / calc(var(--pad-page-mobile) * 2) 100% no-repeat local,linear-gradient(to left,var(--color-bg) var(--pad-page-mobile),transparent) right / calc(var(--pad-page-mobile) * 2) 100% no-repeat local,linear-gradient(to right,var(--color-divider-strong),transparent) left / var(--pad-page-mobile) 100% no-repeat scroll,linear-gradient(to left,var(--color-divider-strong),transparent) right / var(--pad-page-mobile) 100% no-repeat scroll,var(--color-bg)}.kjump-link{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:var(--touch-min);padding:0 12px;font:inherit;font-size:var(--text-btn);font-weight:600;color:var(--color-text);white-space:nowrap;background:var(--color-surface);border:1px solid var(--hair);border-radius:var(--r-ctl);cursor:pointer;touch-action:manipulation;transition:transform var(--duration-press) var(--ease-standard)}.kjump-link:active{transform:scale(.97)}.kjump-link .count{color:var(--ink-45);font-variant-numeric:tabular-nums}.kcol .khead{display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;padding:0 2px 10px;border-bottom:1px solid var(--hair)}.kcol .khead span.khead-metric{flex-basis:100%;min-height:1lh;padding-left:15px;font-size:var(--text-label);font-variant-numeric:tabular-nums;font-weight:500;letter-spacing:var(--track);text-transform:none;white-space:nowrap;color:var(--ink-55)}.kcol .khead:before{content:"";width:7px;height:7px;flex:none;border-radius:var(--r-pill);background:var(--color-divider-strong)}.kcol .khead.building:before{background:var(--color-accent)}.kcol .khead.gated:before{background:var(--color-pass)}.kcol .khead-title{display:flex;white-space:nowrap}.kcol .khead .count{min-width:22px;padding:0 6px;text-align:center;color:var(--ink-60);letter-spacing:var(--track);background:var(--color-surface);border:1px solid var(--hair);border-radius:var(--r-pill)}.kcol .khead.building span{color:var(--color-accent-700)}.kcol .khead.gated span{color:var(--color-accent-900)}.kcol .khead.building .count,.kcol .khead.gated .count{color:var(--ink-45)}.kcol .cards{position:relative;display:flex;flex:1;flex-direction:column;gap:12px;min-height:96px;padding-top:12px}.kcard{border:1px solid var(--color-divider);padding:16px 17px 14px;display:flex;flex-direction:column;gap:10px;position:relative;background:var(--color-surface);box-shadow:var(--elevation-raised)}.kcard.clickable{cursor:pointer}@media(hover:hover){.kcard.clickable:not(.selected):hover{border-color:var(--color-accent-300);border-inline-start-color:var(--stripe, var(--color-accent-300))}}.kcard.clickable:active{transform:scale(.995)}.kcard .kk{color:var(--ink-45)}.kcard .kk.accent{color:var(--color-accent-700)}.kcard.selected{border-color:var(--color-accent);border-inline-start-color:var(--stripe, var(--color-accent))}.kcard-empty{border-style:dashed;border-color:var(--color-neutral-400);font-family:var(--font-body);font-size:var(--text-label);letter-spacing:var(--track-tight);text-transform:none;color:var(--ink-55)}.kcard .kt{font-size:var(--text-task);line-height:1.4;font-weight:600}.kcard .kcard-open{padding:0;margin:0;font-family:inherit;color:inherit;text-align:left;background:none;border:0;cursor:pointer}.kcard .kcard-open:focus-visible{outline:none}.kcard:has(.kcard-open:focus-visible){outline:var(--focus-width) solid var(--mark);outline-offset:var(--focus-offset)}.kcard .kbadge{align-self:flex-start;padding:2px 8px;font-size:var(--text-label);color:var(--color-accent-700);background:var(--color-accent-100);border:1px solid var(--color-accent-300);border-radius:var(--r-mark)}.kcard .kaction{position:relative;z-index:1;align-self:flex-start}.task-facts{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:6px 16px;margin:0}.task-facts>div{display:contents}.task-facts dt{font-size:var(--text-label);color:var(--ink-55)}.task-facts dd{margin:0}.staff-note-text{white-space:pre-wrap;overflow-wrap:anywhere}.kcard.movable{cursor:grab;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:manipulation}.kcard:has(.menu-trigger.open){z-index:2}.kcard .kaction{display:flex;flex-wrap:wrap;gap:8px}.kcol{display:flex;flex-direction:column;min-width:0;padding:14px 12px;border-radius:var(--r-sheet);background:var(--color-surface-sunken);transition:background-color var(--duration-state) var(--ease-standard)}.kcol.drop-ready,.kcol.drop-over{background:var(--color-accent-100)}.kgroup{display:flex;flex-direction:column;gap:12px}.kgroup-title{display:flex;align-items:center;gap:6px;margin:4px 0 0;font-size:var(--text-label);font-weight:600;color:var(--ink-55)}.board-summary{display:flex;flex-wrap:wrap;align-items:center;gap:16px 32px;padding:14px 18px;background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--r-sheet)}.board-summary-stats{display:flex;flex-wrap:wrap;gap:16px 28px}.board-summary .stat .stat-note{font-size:var(--text-sm);font-weight:600;color:var(--ink-55)}.board-summary .stat.late .v{color:var(--color-warn)}.board-hint{flex-basis:100%;margin:0;font-size:var(--text-sm);color:var(--ink-55)}.board-summary-bar{display:flex;flex:1 1 320px;flex-direction:column;gap:8px;min-width:0}.status-bar{display:flex;gap:2px;height:10px;overflow:hidden;background:var(--color-neutral-200);border-radius:var(--r-pill)}.status-bar i{display:block;flex:none;height:100%}.status-bar i:first-child{border-radius:var(--r-pill) 0 0 var(--r-pill)}.status-bar [data-status=done],.status-legend .swatch.done{background:var(--color-pass)}.status-bar [data-status=verifying],.status-legend .swatch.verifying{background:var(--color-cyan)}.status-bar [data-status=in_progress],.status-legend .swatch.in_progress{background:var(--color-accent)}.status-bar [data-status=changes_requested],.status-legend .swatch.changes_requested{background:var(--color-warn)}.status-legend .swatch.todo{background:var(--color-neutral-200);box-shadow:inset 0 0 0 1px var(--color-divider-strong)}.status-legend{display:flex;flex-wrap:wrap;gap:4px 16px;margin:0;padding:0;list-style:none;font-size:var(--text-label);color:var(--ink-60)}.status-legend li{display:inline-flex;align-items:center;gap:6px}.status-legend .swatch{width:10px;height:10px;border-radius:var(--r-mark)}.status-legend b{font-family:var(--font-mono);font-weight:600;color:var(--fg)}.toggle-group{display:flex;flex-wrap:wrap;gap:6px}.board-search{flex:1 1 200px;max-width:320px}.kcard .km{font-family:var(--font-body);font-size:var(--text-label);letter-spacing:var(--track-tight);text-transform:none;color:var(--ink-50)}.kcard .kk{display:flex;align-items:center;gap:7px}.kcard .kk:before{content:"";width:6px;height:6px;flex:none;border-radius:var(--r-pill);background:var(--color-divider-strong)}.kcard.current{--stripe: var(--color-accent);padding-inline-start:calc(18px - var(--rule-width));border-inline-start:var(--rule-width) solid var(--stripe)}.kcard:is(.tone-review,.tone-delayed,.tone-done,.overdue){padding-inline-start:calc(18px - var(--rule-width));border-inline-start:var(--rule-width) solid var(--stripe)}.kcard.tone-review{--stripe: var(--color-cyan)}.kcard:is(.tone-delayed,.tone-changes){--stripe: var(--color-warn)}.kcard.tone-done{--stripe: var(--color-pass)}.kcard.overdue{--stripe: var(--color-fail)}.kcard:is(.tone-review,.tone-delayed,.tone-changes) .km{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;padding:2px 8px;font-weight:600;border-radius:var(--r-mark)}.kcard:is(.tone-review,.tone-delayed,.tone-changes) .km:before{content:"";width:6px;height:6px;flex:none;border-radius:var(--r-pill);background:currentcolor}.kcard.tone-review .km{color:var(--color-accent-700);background:var(--color-accent-100)}.kcard:is(.tone-delayed,.tone-changes) .km{color:var(--color-warn);background:var(--color-warn-soft)}.kcard.current .kk{color:var(--color-accent-700)}.kcard.current .kk:before{background:var(--color-accent)}.kcard.done .kk{color:var(--color-pass)}.kcard.done .kk:before{background:var(--color-pass)}.kcard.done .kt{color:var(--ink-50)}.kcard.done .km{color:var(--ink-45)}.kcard .kcard-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;min-height:var(--control-sm)}.kcard .kmenu{position:absolute;top:8px;right:8px;z-index:1}.kcard .kmenu .menu-panel{min-width:176px}.kcard:has(.kmenu) .kcard-head{padding-right:var(--control-sm)}.kcard .kmenu-trigger{width:var(--control-sm);height:var(--control-sm);justify-content:center;padding:0;border-color:transparent;color:var(--ink-60)}@media(hover:hover)and (pointer:fine){.kcard .kmenu-trigger:not(.open){opacity:0;transition:opacity var(--duration-state) var(--ease-standard)}.kcard:hover .kmenu-trigger,.kcard:focus-within .kmenu-trigger{opacity:1}}.ktag{display:inline-flex;align-items:center;gap:6px;color:var(--ink-70)}.kind-icon{display:block;flex:none}.kind-icon .kind-icon-ground{fill:currentColor}.kind-icon .glyph{fill:none;stroke:var(--on-mark);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.kind-icon.learn{color:var(--kind-learn)}.kind-icon.code{color:var(--kind-code)}.kind-icon.upload{color:var(--kind-upload)}.kcard .kcard-foot{display:flex;align-items:center;gap:8px;margin-top:2px;padding-top:10px;border-top:1px solid var(--hair)}.kcard .kfoot{font-size:var(--text-label);color:var(--ink-55)}.kcard .kfoot.soon{font-weight:600;color:var(--color-warn)}.kcard .kfoot.overdue{font-weight:600;color:var(--color-fail)}.kcard .kest{flex:none;margin-left:auto;padding:1px 7px;font-size:var(--text-label);font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap;color:var(--ink-60);background:var(--color-neutral-100);border:1px solid var(--color-divider);border-radius:var(--r-mark)}.kcard.lifted{border-style:dashed;border-color:var(--color-accent-300);background:var(--color-accent-100);box-shadow:none}.kcard.lifted>*{visibility:hidden}.kcard-drag{position:fixed;z-index:var(--z-overlay);pointer-events:none;will-change:transform}.kcard-drag>.kcard{border-color:var(--color-accent);box-shadow:var(--elevation-overlay);transform:rotate(1.5deg) scale(1.02);animation:card-lift var(--duration-press) var(--ease-standard)}@keyframes card-lift{0%{transform:none;box-shadow:var(--elevation-raised)}}.card-dragging,.card-dragging *{cursor:grabbing!important;user-select:none;-webkit-user-select:none}.kdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:flex;align-items:flex-start;justify-content:center;padding:28px 12px;text-align:center;font-size:var(--text-sm);font-weight:600;color:var(--color-accent-700);background:var(--color-accent-100);border:2px dashed var(--color-accent-300);border-radius:var(--r-sheet);animation:drop-zone-in var(--duration-state) var(--ease-standard);transition:background-color var(--duration-state) var(--ease-standard),border-color var(--duration-state) var(--ease-standard)}@keyframes drop-zone-in{0%{opacity:0}}.kcol.drop-over .kdrop{color:var(--color-accent-900);background:var(--color-accent-200);border-style:solid;border-color:var(--color-accent)}.kcol.drop-refuses .kdrop{font-weight:500;color:var(--ink-60);background:var(--color-surface-sunken);border-color:var(--color-divider-strong)}.kcard.landed{animation:card-land var(--duration-expand) var(--ease-standard)}@keyframes card-land{0%{border-color:var(--color-accent);box-shadow:var(--elevation-overlay);transform:scale(1.02)}}.submit-focus{display:contents}.kbar{height:8px;border-radius:var(--r-pill);background:var(--color-accent-100);margin-top:2px;overflow:hidden}.kbar i{display:block;height:8px;border-radius:var(--r-pill);background:repeating-linear-gradient(115deg,var(--color-accent) 0 7px,var(--color-accent-600) 7px 14px)}.module-objective[data-clamped=true]{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}.module-objective-toggle{display:inline-flex;min-height:var(--touch-min);padding-inline:0}.btn.btn-text{padding-inline:0}.case-title>span{display:inline-block}.module-resources{display:flex;flex-wrap:wrap;gap:4px 16px;margin:0;padding:0;list-style:none}.module-resources a{padding-block:3px}.resource-kind{white-space:nowrap;color:var(--ink-55)}@media(max-width:760px){.module-resources{row-gap:0}.module-resources li{display:flex;align-items:center}.module-resources a{display:flex;align-items:center;min-height:var(--touch-min);padding-block:0}.module-resources-fold>summary{padding-block:12px;color:var(--accent-ink);font-size:var(--text-sm);font-weight:600;cursor:pointer;touch-action:manipulation}}.apps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}@media(max-width:900px){.apps-grid{grid-template-columns:repeat(2,1fr)}}.app-tile{border:1px solid var(--color-divider);padding:18px 16px;text-decoration:none;color:var(--color-text);display:flex;flex-direction:column;gap:11px;position:relative;min-height:108px;background:var(--color-surface);box-shadow:var(--elevation-raised);transition:background var(--duration-state) var(--ease-standard),border-color var(--duration-state) var(--ease-standard),transform var(--duration-press) var(--ease-standard)}@media(hover:hover){.app-tile:hover{background:var(--color-accent-100);border-color:var(--color-accent-300);color:var(--color-text);transform:translateY(-2px)}}.app-tile:active{transform:translateY(0)}.app-tile .aname{font-family:var(--font-heading);font-weight:600;font-size:var(--text-tile)}.app-tile.soon{border-style:dashed;border-color:var(--color-neutral-400);background:var(--color-neutral-100);box-shadow:none;color:var(--ink-50);pointer-events:none}.settings{display:grid;grid-template-columns:210px 1fr;flex:1}@media(max-width:900px){.settings{grid-template-columns:minmax(0,1fr)}}.settings nav{border-right:1px solid var(--color-divider);padding:18px 0}.settings nav a{display:block;padding:10px 22px;font-size:var(--text-sm);text-decoration:none;color:var(--color-text);border-left:2px solid transparent}.settings nav a.active{color:var(--color-accent-700);background:var(--color-accent-100);border-left-color:var(--color-accent)}@media(hover:hover){.settings nav a:hover{background:var(--color-accent-100);color:var(--color-accent-700)}}@media(max-width:900px){.settings nav{display:flex;border-right:none;border-bottom:1px solid var(--color-divider);flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;padding:0;scroll-padding-inline:var(--pad-page-mobile);background:linear-gradient(to right,var(--color-bg) var(--pad-page-mobile),transparent) left / calc(var(--pad-page-mobile) * 2) 100% no-repeat local,linear-gradient(to left,var(--color-bg) var(--pad-page-mobile),transparent) right / calc(var(--pad-page-mobile) * 2) 100% no-repeat local,linear-gradient(to right,var(--color-divider-strong),transparent) left / var(--pad-page-mobile) 100% no-repeat scroll,linear-gradient(to left,var(--color-divider-strong),transparent) right / var(--pad-page-mobile) 100% no-repeat scroll,var(--color-bg)}.settings nav a{display:flex;align-items:center;flex:none;white-space:nowrap;min-height:var(--touch-min);padding:10px var(--pad-page-mobile);border-left:0;border-bottom:2px solid transparent}.settings nav a.active{border-bottom-color:var(--color-accent)}.settings nav a:focus-visible{outline-offset:var(--focus-inset)}.settings nav::-webkit-scrollbar{height:var(--table-scrollbar-size)}.settings nav::-webkit-scrollbar-track{background:var(--color-neutral-100)}.settings nav::-webkit-scrollbar-thumb{background:var(--color-neutral-400)}}.settings .body{background:var(--color-surface);padding:22px var(--pad-page);display:flex;flex-direction:column;gap:22px;min-width:0}.settings.pinned-nav>nav{position:sticky;top:0;z-index:var(--z-sticky);align-self:start;max-height:100vh;overflow-y:auto;border-right:0}.settings.pinned-nav>.body{border-left:1px solid var(--color-divider)}.save-pair{display:flex;align-items:center;gap:inherit}.savebar-dock{position:sticky;top:0;z-index:var(--z-sticky);display:flex;flex-wrap:wrap;align-items:center;gap:8px var(--gap-grid);margin-inline:calc(var(--pad-page) * -1);padding:calc(var(--gap-grid) / 2) var(--pad-page);background:var(--color-surface);border-bottom:1px solid var(--color-divider);box-shadow:var(--elevation-overlay)}.savebar-dock>.form-error{flex-basis:100%;margin:0}.savebar-dock-label{margin-right:auto}.savebar-dock-actions{display:flex;gap:8px}@media(max-width:900px){.settings.pinned-nav>.body{border-left:0}html:has(.settings.pinned-nav){scroll-padding-top:calc(var(--touch-min) + var(--gap-grid))}}@media(min-width:761px){html:has(.savebar-dock){scroll-padding-top:calc(var(--control-md) + var(--gap-grid) * 2)}}@media(max-width:760px){.savebar-dock{position:fixed;top:auto;right:0;bottom:var(--tabbar-space);left:0;border-top:1px solid var(--color-divider);border-bottom:0;display:grid;gap:8px;margin-inline:0;padding:calc(var(--gap-grid) / 2) var(--pad-page-mobile)}.savebar-dock-label{display:none}.savebar-dock-actions .btn{flex:1}.shell:has(>nav.tabbar):has(.savebar-dock)>main.stage{padding-bottom:calc(var(--tabbar-space) + var(--control-md) + var(--gap-grid))}html[data-keyboard] .savebar-dock{bottom:0}}.sec-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:14px;margin-bottom:14px}.sec-head h2{font-family:var(--font-body);font-size:var(--text-label-lg);letter-spacing:var(--track-wide);text-transform:none;font-weight:500;color:var(--ink-50)}.sec-head .rule{flex:1;height:1px;background:var(--color-divider)}.sec-head.form-sub{align-items:center;margin-top:var(--gap-grid);margin-bottom:0}.sec-head.form-sub .plabel{margin-bottom:0}.form-sub-hint{margin:4px 0 14px}.field{margin-bottom:14px}.field label,fieldset.field>legend{display:block;font-family:var(--font-body);font-size:var(--text-label-lg);letter-spacing:var(--track);text-transform:none;color:var(--ink-50);margin-bottom:5px}fieldset.field{min-inline-size:0;border:0;padding:0}fieldset.field>legend{padding:0}.field-label{display:flex;align-items:baseline;gap:5px}.field-required{font-family:var(--font-body);font-size:var(--text-label-lg);letter-spacing:var(--track);text-transform:none;color:var(--ink-40);margin-bottom:5px}.field label>.field-required{margin:0 0 0 5px}.input,.select,.textarea{width:100%;border:1px solid var(--color-divider-strong);padding:9px 13px;font-size:var(--text-input);font-family:var(--font-body);color:var(--color-text);background:var(--color-surface);min-height:var(--control-md)}.input:focus-visible,.select:focus-visible,.textarea:focus-visible{border-color:var(--color-accent)}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:34px}.select-wrap{position:relative;display:grid}.select-wrap:after{content:"";position:absolute;inset-block:0;right:15px;width:7px;height:7px;margin-block:auto;border-right:1.5px solid var(--ink-55);border-bottom:1.5px solid var(--ink-55);rotate:45deg;translate:0 -2px;pointer-events:none}.select-wrap:has(>.select:disabled):after{border-color:var(--ink-40)}.input[type=date]{font-variant-numeric:tabular-nums}.input[type=date]::-webkit-calendar-picker-indicator{width:var(--control-md);height:var(--control-md);margin:-9px -13px -9px 0;padding:0;cursor:pointer;background-color:var(--color-accent);background-image:none;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='3' width='12' height='11' rx='1.5'/%3E%3Cpath d='M2 7h12M5 1.5v3M11 1.5v3'/%3E%3C/svg%3E") center / 16px no-repeat}.input[type=date]:disabled::-webkit-calendar-picker-indicator{background-color:var(--ink-40);cursor:not-allowed}@media(hover:hover){.input[type=date]::-webkit-calendar-picker-indicator:hover{background-color:var(--color-accent-700)}}.textarea{min-height:96px;resize:vertical}.input[type=checkbox],.input[type=radio],.toggle>input[type=checkbox],.checkline>input[type=checkbox]{width:20px;height:20px;min-height:0;padding:0;border:0;flex:none;accent-color:var(--color-accent);cursor:pointer}.toggle>input[type=checkbox]:disabled,.checkline>input[type=checkbox]:disabled{cursor:not-allowed}.toggle{display:flex;align-items:center;gap:6px}.field:has(>.input[type=checkbox]){display:flex;align-items:center;gap:9px;min-height:var(--control-md)}.field:has(>.input[type=checkbox]) .field-label{order:2}.field:has(>.input[type=checkbox]) label{margin-bottom:0;cursor:pointer}.input.locked,.select.locked,.textarea.locked{color:var(--ink-55);background:var(--color-neutral-100)}.input:disabled,.select:disabled,.textarea:disabled{color:var(--ink-40);background:var(--color-neutral-100);border-color:var(--color-divider);cursor:not-allowed}.field-error .input,.field-error .select,.field-error .textarea{border-color:var(--color-fail);border-width:2px;background:var(--color-fail-soft)}.field-error .input:focus-visible,.field-error .select:focus-visible,.field-error .textarea:focus-visible{border-color:var(--color-fail)}.input-reveal{position:relative}.input-reveal .input{padding-right:76px}.input-reveal .btn{position:absolute;top:0;bottom:0;right:4px;margin:auto 0}.input-reveal .btn[aria-pressed=true]{background:var(--color-accent-100)}.file-pick{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:12px;min-width:0}.file-input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.file-pick>.btn{display:inline-flex;margin:0;font-size:var(--text-btn);letter-spacing:normal;color:var(--color-text)}.file-input:focus-visible+.btn{outline:var(--focus-width) solid var(--mark);outline-offset:var(--focus-offset)}.file-none{font-size:var(--text-note);color:var(--ink-55)}.field-error .file-pick>.btn{border-color:var(--color-fail)}.field-hint{font-size:var(--text-note);color:var(--ink-55);margin-top:4px}.dialog-body>.field-hint:first-child{margin:0 0 14px}.gate-feeds{margin:14px 0 0}.gate-feeds+.panel{margin-top:14px}.note-count{display:block;margin-top:4px}.field-msg{font-family:var(--font-body);font-size:var(--text-label-lg);letter-spacing:var(--track-tight);color:var(--color-fail);margin-top:6px;padding-left:9px;border-left:2px solid var(--color-fail)}.form-error-title{display:block;margin-bottom:4px}.form-error{border:1px solid var(--color-fail);border-inline-start-width:var(--rule-width);background:var(--color-fail-soft);color:var(--color-fail);padding:11px 14px;font-size:var(--text-btn);margin-bottom:14px}.form-error-ref{display:block;margin-top:4px;color:var(--ink-55)}.table-scroll{position:relative;overflow-x:auto}.table-scroll::-webkit-scrollbar{height:var(--table-scrollbar-size)}.table-scroll::-webkit-scrollbar-track{background:var(--color-neutral-100)}.table-scroll::-webkit-scrollbar-thumb{background:var(--color-neutral-400)}.table-scroll.overflows-end:not(:focus-visible):not(:has(:focus-visible)){-webkit-mask-image:linear-gradient(to left,transparent,var(--color-text) var(--table-fade-width)),linear-gradient(var(--color-text),var(--color-text));mask-image:linear-gradient(to left,transparent,var(--color-text) var(--table-fade-width)),linear-gradient(var(--color-text),var(--color-text));-webkit-mask-size:100% calc(100% - var(--table-scrollbar-size)),100% var(--table-scrollbar-size);mask-size:100% calc(100% - var(--table-scrollbar-size)),100% var(--table-scrollbar-size);-webkit-mask-position:top,bottom;mask-position:top,bottom;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}@media(min-width:901px){.table-scroll.overflows-end:has(.cell-pin-end):not(:focus-visible):not(:has(:focus-visible)){-webkit-mask-image:none;mask-image:none}.table-scroll:has(.cell-pin-end){scroll-padding-inline-end:var(--table-pin-width)}}.table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.table-scroll .table{min-width:var(--table-min-width)}.table th,.table td{white-space:nowrap}.table td.cell-wrap,.table tbody th.cell-wrap{white-space:normal;overflow-wrap:break-word;word-break:normal}.table td.cell-nowrap,.table tbody th.cell-nowrap{white-space:nowrap;overflow-wrap:normal;word-break:normal}.table-scroll:has(td.table-expansion){container-type:inline-size}.table td.table-expansion>*{position:sticky;inset-inline-start:var(--table-cell-pad-x);max-inline-size:calc(100cqi - 2 * var(--table-cell-pad-x));contain:inline-size}.table tbody th .student-subline,.table tbody th .mono-label,.table td .btn,.table td .code-text,.table td .student-subline,.table td .mono-label{white-space:nowrap;overflow-wrap:normal;word-break:normal}.table td.table-expansion .mono-label,.table td.table-expansion .code-text{white-space:normal;overflow-wrap:break-word}.table td .cell-lead,.table tbody th .cell-lead{display:block;min-width:var(--table-lead-min-width)}.table td .review-verdict{white-space:nowrap}.table td .review-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px}.turnaround-legs .table th,.student-tasks .table th{white-space:normal}.table td .cell-prose{display:block;min-width:var(--table-prose-min-width)}.table td .select-wrap{width:max-content}.table td .row-toggle,.table tbody th .row-toggle{margin-inline-start:-12px;font:inherit;color:var(--color-text)}.table td .row-toggle:focus-visible,.table tbody th .row-toggle:focus-visible{outline-offset:var(--focus-inset)}.table td .row-toggle-caret,.table tbody th .row-toggle-caret{color:var(--accent-ink)}.table th{text-align:left;color:var(--ink-50);padding:8px var(--table-cell-pad-x);background:var(--color-neutral-100);border-bottom:1px solid var(--color-divider-strong)}.table td{padding:9px var(--table-cell-pad-x);border-bottom:1px solid var(--ink-08);font-variant-numeric:tabular-nums}@media(hover:hover){.table tbody tr:hover{background:var(--color-neutral-100)}}:where(.table:not(.calendar-grid)) tbody th[scope=row]{padding:9px var(--table-cell-pad-x);border-bottom:1px solid var(--ink-08);background:none;color:inherit;font-size:inherit;font-weight:400;line-height:inherit;letter-spacing:normal;text-transform:none;font-variant-numeric:tabular-nums}.table-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 14px;margin-bottom:12px}.table-toolbar>.input[type=search]{margin-left:auto;width:220px;height:var(--control-sm);min-height:0;padding:0 11px;font-size:var(--text-input);align-self:center}.table-toolbar>*+.input[type=search]{align-self:flex-end;height:var(--control-md);font-size:var(--text-input)}.table-toolbar .filters,.table-toolbar>.field{margin:0}.table-toolbar>.push{margin-left:auto}.table-toolbar>.field-hint{align-self:center;margin-top:0}.table-toolbar>.stale-notice{flex-basis:100%;margin-bottom:0}.table td .pct-low{color:var(--color-fail);font-weight:700}.table-foot{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:8px}.table th .th-sort{all:unset;position:relative;display:inline-flex;align-items:center;gap:4px;cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;transition:transform var(--duration-press) var(--ease-standard)}.table th .th-sort:active{transform:scale(.97)}.table th .th-sort:before{content:"";position:absolute;inset:-8px calc(-1 * var(--table-cell-pad-x))}.table th .th-sort span{font-size:var(--text-micro);opacity:.3;transition:opacity var(--duration-state) var(--ease-standard)}.table th .th-sort:focus-visible span{opacity:.75}@media(hover:hover){.table th .th-sort:hover span{opacity:.75}}.table th .th-sort.active,.table th .th-sort.active span{color:var(--color-text);opacity:1}.table th .th-sort:focus-visible{outline:var(--focus-width) solid var(--mark);outline-offset:var(--focus-offset)}.table tr.clickable{cursor:pointer}@media(hover:hover){.table tr.clickable:hover{background:var(--color-accent-100)}}.table tr.clickable:has(>th[scope=row] :focus-visible){background:var(--color-accent-100)}@media(min-width:901px){.table .cell-pin-end{position:sticky;right:0;z-index:1;background:var(--color-surface)}.table-scroll.overflows-end .cell-pin-end{box-shadow:inset 1px 0 0 var(--color-divider-strong)}.table thead .cell-pin-end{background:var(--color-neutral-100)}@media(hover:hover){.table tbody tr:hover>.cell-pin-end{background:var(--color-neutral-100)}}.table tr.clickable:has(>th[scope=row] :focus-visible)>.cell-pin-end{background:var(--color-accent-100)}@media(hover:hover){.table tr.clickable:hover>.cell-pin-end{background:var(--color-accent-100)}}}.table td.cell-pin-end .action-cell{flex-wrap:nowrap;align-items:center;justify-content:flex-end}.pager{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding-top:12px}.pager-steps{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:12px;margin-left:auto}.table-foot>.pager{margin-left:auto;padding-top:0}.pager-range{margin:0}.table-foot:has(>.pager)>.mono-label{display:none}.pager-size,.pager-jump{display:flex;align-items:center;gap:8px;font-size:var(--text-label);color:var(--ink-55)}.pager-size .select-wrap{width:max-content;min-width:76px}.pager-jump .input{width:72px}.pager-jump:has(>.field-msg){flex-wrap:wrap}.pager-jump>.field-msg{flex-basis:100%;margin-top:0}.table-scroll:focus-visible{outline-offset:var(--focus-inset)}.calendar-grid{--calendar-pin-width: 208px;--calendar-week-width: 160px}.calendar-grid.calendar-grid-week{width:100%;min-width:calc(var(--calendar-pin-width) + var(--calendar-columns) * var(--calendar-week-width));table-layout:fixed}.calendar-grid.calendar-grid-week thead th:first-child{width:var(--calendar-pin-width)}.calendar-grid thead th:first-child,.calendar-grid th[scope=row]{position:sticky;left:0;min-width:var(--calendar-pin-width);box-shadow:1px 0 0 var(--color-divider)}.calendar-grid thead th:first-child{z-index:2}.calendar-grid th[scope=row]{z-index:1;padding:11px 14px 11px 12px;vertical-align:top;white-space:normal;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;letter-spacing:normal;text-transform:none;color:var(--color-text);background:var(--color-surface);border-bottom:1px solid var(--ink-08)}@media(hover:hover){.calendar-grid tbody tr:hover th[scope=row]{background:var(--color-neutral-100)}}.calendar-grid .cal-name{display:block;line-height:1.3}.calendar-grid a.cal-name{width:fit-content}.calendar-grid a.cal-name:focus-visible{outline-offset:var(--focus-inset)}.calendar-grid .cal-flags{display:flex;flex-wrap:wrap;gap:2px 10px;margin-top:5px}.calendar-grid td{min-width:104px;padding:11px 10px;text-align:center;vertical-align:top;white-space:normal}.calendar-grid td+td,.calendar-grid thead th+th{border-left:1px solid var(--ink-08)}.calendar-grid thead th.cal-now{color:var(--color-accent-700);background:var(--color-accent-100);box-shadow:inset 0 -2px 0 var(--color-accent)}.calendar-grid td.cal-now{background:var(--color-accent-100)}@media(hover:hover){.calendar-grid tbody tr:hover td.cal-now{background:var(--color-accent-200)}}.calendar-grid td:empty{background-image:radial-gradient(var(--color-neutral-200) 1px,transparent 1px);background-position:center;background-size:8px 8px}.calendar-grid td .mono-label{display:inline-block;padding:4px 8px;color:var(--color-accent-700);background:var(--color-accent-100);border:1px solid var(--color-accent-200)}.calendar-grid td.cal-now .mono-label,.calendar-grid td.cal-now .btn{background:var(--color-surface);border-color:var(--color-accent-300)}.calendar-grid td .gate-later .mono-label{color:var(--color-slate);background:var(--color-surface);border-color:var(--color-divider-strong);border-style:dashed}.calendar-grid td .btn{height:var(--control-sm);padding:0 10px;font-family:var(--font-body);font-size:var(--text-label);letter-spacing:var(--track-tight);text-transform:none;background:var(--color-accent-100);border-color:var(--color-accent-200);color:var(--color-accent-700)}.calendar-grid td .st{display:block;margin-top:5px}.calendar-grid td .gate-cell,.calendar-grid td .gate-cell .mono-label{max-width:100%;white-space:normal;text-wrap:balance;overflow-wrap:normal;word-break:normal;line-height:1.3}.calendar-grid td .btn.gate-cell{display:inline-block;height:auto;min-height:var(--control-sm);padding:5px 10px}.calendar-grid td .gate-cell .st{display:inline;margin-top:0}.gate-cell .mono-label{letter-spacing:var(--track-tight);text-transform:none}.cal-more{margin-left:auto}.calendar-legend-fold .cal-layers{gap:0;padding:0;margin-bottom:8px;background:transparent;border:0}@media(max-width:760px){.calendar-grid{--calendar-pin-width: 120px}.calendar-grid thead th:first-child,.calendar-grid th[scope=row]{width:120px;min-width:120px}.calendar-grid th[scope=row]{padding:10px 8px}}.auth{min-height:100vh;display:grid;grid-template-columns:1fr 1.15fr;background:var(--color-sapphire)}.auth-brand{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:26px;padding:48px 56px;text-align:center;color:var(--color-white);background:var(--surface-brand)}.auth-brand:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(var(--paper-25) 1px,transparent 1px);background-size:22px 22px;opacity:.5;pointer-events:none}.auth-brand>*{position:relative;z-index:1}.auth-tile{width:96px;height:96px;border-radius:var(--r-card);box-shadow:var(--elevation-overlay)}.auth-brand h2{max-width:15ch;font-size:var(--text-h1);font-weight:800;line-height:1.12;letter-spacing:var(--track-tight);text-wrap:balance}.auth-brand p{max-width:42ch;margin:0;font-size:var(--text-body);line-height:1.6;color:var(--on-blue-2);text-wrap:pretty}.auth-sheet{position:relative;display:flex;flex-direction:column;align-items:center;padding:26px 24px;background:var(--color-surface);border-radius:var(--r-card) 0 0 var(--r-card)}.auth-sheet .login-card{width:min(396px,100%);margin:auto;padding:24px 0;text-align:left}.login-card .mark{display:block;width:fit-content;margin:0 auto 10px}.login-card .mark img{height:26px;width:auto}.mark-on-light{display:var(--show-on-light)}.mark-on-dark{display:var(--show-on-dark)}.auth-kicker{margin-bottom:26px;text-align:center;font-size:var(--text-card);font-weight:700;color:var(--accent-ink)}.auth-foot{margin:0;font-size:var(--text-note);color:var(--ink-45)}.login-note{margin:16px 0 0;text-align:center;font-size:var(--text-note);color:var(--ink-55)}.login-note a{font-weight:700;text-decoration:none;color:var(--color-text)}@media(hover:hover){.login-note a:hover{color:var(--accent-ink)}}.centre-pick{justify-content:space-between}@media(max-width:900px){.auth{grid-template-columns:1fr}.auth-brand{display:none}.auth-sheet{border-radius:0;padding:20px var(--pad-page-mobile)}.login-card a{min-height:var(--touch-min);display:inline-flex;align-items:center}}.chat{display:flex;flex-direction:column;gap:14px;max-width:640px}.msg{display:flex;flex-direction:column;gap:4px;max-width:78%}.msg.tutor{max-width:100%}.msg .who{font-family:var(--font-body);font-size:var(--text-label);letter-spacing:var(--track);text-transform:none;color:var(--ink-45)}.msg .bubble{padding:10px 14px;font-size:var(--text-card);line-height:1.5}.msg .bubble p,.msg .bubble ul,.msg .bubble ol,.msg .bubble pre{margin:8px 0}.msg .bubble p{white-space:pre-wrap}.msg .bubble>:first-child{margin-top:0}.msg .bubble>:last-child{margin-bottom:0}.msg .bubble ul,.msg .bubble ol{padding-left:18px}.msg .bubble code{font-family:var(--font-mono);font-size:var(--text-note)}.msg .bubble pre{padding:12px 14px;overflow-x:auto;border-radius:var(--r-ctl);background:var(--color-surface-sunken);border:1px solid var(--hair)}.msg.student .bubble pre{background:var(--paper-25)}.msg .bubble .code-block{margin:8px 0;border-radius:var(--r-ctl);background:var(--color-surface-sunken);border:1px solid var(--hair)}.code-block-bar{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:2px 4px;border-bottom:1px solid var(--hair)}.code-block-bar .btn{color:var(--ink-70)}.code-copy-status{font-size:var(--text-label);color:var(--ink-70)}.msg .bubble .code-block pre{margin:0;border:0;border-radius:0;background:transparent}.msg .bubble a{color:inherit}.msg .bubble h1,.msg .bubble h2,.msg .bubble h3,.msg .bubble h4,.msg .bubble h5,.msg .bubble h6{margin:10px 0 6px;font-weight:700}.msg .bubble h1{font-size:var(--text-h3)}.msg .bubble h2{font-size:var(--text-tile)}.msg .bubble h3{font-size:var(--text-card)}.msg .bubble h4,.msg .bubble h5,.msg .bubble h6{font-size:var(--text-sm)}.msg .bubble hr{margin:10px 0;border:0;border-top:1px solid var(--color-divider)}.msg.student{align-self:flex-end;align-items:flex-end}.chat>div:has(>.msg.student){display:flex;flex-direction:column;align-items:flex-end}.msg.student .bubble{background:var(--color-accent);color:var(--color-white)}.msg.tutor .bubble{padding:2px 0 0;background:transparent;border:0;color:var(--color-text)}.msg.tutor .who{display:inline-flex;flex-direction:row;align-self:flex-start;align-items:center;gap:7px;font-weight:700;color:var(--color-accent-700)}.msg.tutor .who:before{content:"";width:16px;height:16px;flex:none;border-radius:var(--r-mark);background:var(--surface-dark)}.msg.interrupted .bubble{border-left:2px solid var(--color-warn);padding-left:12px}.msg.streaming .bubble:after{content:"";display:inline-block;width:2px;height:1em;margin-left:3px;vertical-align:-.15em;background:var(--color-accent);animation:caret var(--duration-loop) var(--ease-linear) infinite}@keyframes caret{0%,49%{opacity:1}50%,to{opacity:0}}@media(prefers-reduced-motion:reduce){.msg.streaming .bubble:after{animation:none}.tutor-scroll{scroll-behavior:auto}}.chat-input{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-top:0;max-width:640px}.chat-input .input,.chat-input .textarea{flex:1;resize:none}.chat-panel{max-width:760px;margin-inline:auto}.chat-composer{max-width:760px;margin:14px auto 0;padding:14px 16px 16px;background:var(--color-surface);border:1px solid var(--color-divider-strong);box-shadow:var(--elevation-raised);transition:border-color var(--duration-state) var(--ease-standard),box-shadow var(--duration-state) var(--ease-standard)}.chat-composer:has(.textarea:focus-visible){border-color:var(--color-accent);outline:var(--focus-width) solid var(--mark);outline-offset:var(--focus-offset)}.chat-composer:has(.textarea:disabled){background:var(--color-neutral-100);border-color:var(--color-divider);box-shadow:none}.chat-input{max-width:none}.chat-input .textarea{border:0;padding:2px 0;min-height:52px;background:transparent}.chat-input .textarea:focus{outline:none;box-shadow:none}.chat-interrupted{display:flex;align-items:center;gap:12px;margin-top:4px}.reply-rating{display:flex;align-items:center;gap:2px;margin-top:2px}.reply-rating .btn{color:var(--ink-45)}.reply-rating .btn[aria-pressed=true]{color:var(--accent-ink);background:var(--color-accent-100)}.reply-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:2px}.reply-actions .reply-rating{margin-top:0}.reply-actions>.btn{color:var(--ink-70)}.chat-banner{border:1px dashed var(--color-neutral-400);padding:10px 12px;margin-bottom:12px;font-size:var(--text-btn);color:var(--ink-70);max-width:680px}.chat-live{margin:0 0 8px;padding-bottom:8px;border-bottom:1px dashed var(--color-divider-strong);font-size:var(--text-btn);color:var(--color-slate)}.chat-quota{margin-top:8px;font-family:var(--font-body);font-size:var(--text-label);letter-spacing:var(--track);text-transform:none;color:var(--ink-45)}main.stage:has(.tutor-layout){height:100vh;overflow:hidden}.tutor-layout{flex:1;min-height:0;display:grid;grid-template-columns:var(--aside-width) 1fr;gap:var(--gap-grid);padding:16px var(--pad-page) var(--pad-page)}.tutor-sessions{display:flex;flex-direction:column;gap:10px;min-height:0;padding:12px;background:var(--color-surface);border:1px solid var(--hair);border-radius:var(--r-sheet);box-shadow:var(--elevation-raised)}.tutor-sessions-top{display:flex;align-items:center;gap:8px}.tutor-sessions-top .btn{flex:1}.tutor-sessions-top .tutor-sessions-close{flex:none;min-width:var(--touch-min)}.tutor-sessions>.plabel{margin-bottom:0}@media(min-width:901px){.tutor-sessions-top{display:none}}.tutor-sessions-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}.session-group+.session-group{margin-top:16px}.session-group .mono-label{display:block;padding:0 10px;margin-bottom:4px}.tutor-sessions-scroll>.empty-compact,.session-more{padding:10px;margin:0;font-size:var(--text-note);color:var(--ink-55)}.tutor-thread{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:var(--color-surface);border:1px solid var(--hair);border-radius:var(--r-sheet);box-shadow:var(--elevation-raised)}.tutor-scroll{flex:1;min-height:0;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;scroll-behavior:smooth;padding:16px var(--pad-card) 10px}.tutor-thread>.tutor-notice{flex:none;margin:0;padding:10px max(var(--pad-card),calc((100% - var(--thread-width)) / 2));border-bottom:1px solid var(--hair)}.tutor-thread>.tutor-jump{flex:none;align-self:center;position:sticky;bottom:var(--pad-page-mobile);margin-bottom:8px;background:var(--color-surface);border-color:var(--hair);box-shadow:var(--elevation-raised)}.tutor-scroll .chat-panel{flex:1;display:flex;flex-direction:column}.tutor-scroll .chat-panel .empty{margin-block:auto}.tutor-scroll:focus-visible,.tutor-sessions-scroll:focus-visible{outline-offset:var(--focus-inset)}.tutor-dock{flex:none;display:flex;flex-direction:column;gap:10px;padding:12px var(--pad-card) 14px;border-top:1px solid var(--hair)}.tutor-dock>*,.tutor-scroll>*{width:100%;max-width:var(--thread-width);margin-inline:auto}.tutor-dock>.form-error{margin-bottom:0}.tutor-scroll .chat-panel{border:0;box-shadow:none;padding:0;background:transparent}.tutor-scroll .chat-panel>.pcap{margin:0 0 14px;border:1px solid var(--hair);border-radius:var(--r-ctl)}.tutor-scroll .chat{max-width:none}.tutor-scroll .msg.tutor{max-width:640px}.tutor-hints{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.tutor-hints>.btn{margin-left:auto}.tutor-hint-steps{display:flex;gap:3px}.tutor-hint-steps>i{width:14px;height:4px;border-radius:var(--r-pill);background:var(--color-neutral-200)}.tutor-hint-steps>i.on{background:var(--color-accent-600)}.tutor-handover{margin-top:14px;padding:12px 14px;border:1px solid var(--color-accent-200);border-radius:var(--r-sheet);background:var(--color-accent-100)}.tutor-handover h3{margin:0 0 4px;font-size:var(--text-card)}.tutor-handover p{margin:0 0 10px;font-size:var(--text-btn);color:var(--ink-70)}.tutor-thread>.tutor-practice{color:var(--accent-ink);background:var(--color-accent-100)}.gate-rehearsal{margin-top:16px}.suggestions{display:flex;flex-direction:column;gap:8px}.tutor-sessions .empty{padding:20px 15px;text-align:left}.tutor-sessions .empty:before{margin:0 0 13px}.tutor-sessions .empty .plabel{margin-bottom:4px}.tutor-sessions .empty :is(h2,h3,h4){font-size:var(--text-card);line-height:1.35;margin-top:0}.tutor-sessions .empty p{margin:6px 0 0;max-width:none;font-size:var(--text-note);line-height:1.5}.tutor-sessions .inline-error{flex-direction:column;align-items:flex-start}.chat-error{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px dashed var(--color-neutral-400);padding:10px 12px;margin-bottom:12px;font-size:var(--text-btn);color:var(--ink-70);max-width:680px}.tutor-sessions-close{display:none;align-self:flex-end}.session-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.session-row{display:flex;align-items:center;gap:2px}.session-row .session-item{flex:1;min-width:0}.session-rename{color:var(--ink-45)}@media(hover:hover){.session-row .session-rename{opacity:0;transition:opacity var(--duration-state) var(--ease-standard)}.session-row:hover .session-rename,.session-row:focus-within .session-rename{opacity:1}}.session-item{width:100%;text-align:left;background:transparent;border:0;border-radius:var(--r-ctl);padding:8px 10px;display:flex;flex-direction:column;gap:2px;cursor:pointer;font-family:var(--font-body);color:var(--color-text);transition:background var(--duration-state) var(--ease-standard),transform var(--duration-press) var(--ease-standard)}.session-item:active{transform:scale(.97)}@media(hover:hover){.session-item:hover{background:var(--color-neutral-100)}}.session-item[aria-current=true]{background:var(--color-accent-100);color:var(--color-accent-700)}.session-item[aria-current=true] .session-title{font-weight:600}.session-title{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-body);line-height:1.45}.session-task{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-note);color:var(--ink-55)}.session-item .mono-label{font-size:var(--text-micro)}.tutor-toggle{display:none}.tutor-layout.with-lab{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}.tutor-layout.with-lab>.tutor-sessions{display:none}.tutor-lab{min-width:0;min-height:0;display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto;background:var(--color-surface);border:1px solid var(--hair);border-radius:var(--r-sheet);box-shadow:var(--elevation-raised);animation:lab-in var(--duration-expand) var(--ease-standard)}@keyframes lab-in{0%{opacity:0;transform:translate(16px)}}.tutor-lab-head{flex:none;display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:8px 12px;padding:12px var(--pad-card);border-bottom:1px solid var(--hair)}.tutor-lab-heading{flex:1 1 240px;min-width:0}.tutor-lab-actions{flex:none;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px;margin-inline-start:auto}.tutor-lab-title{margin:4px 0 0;font-size:var(--text-tile);line-height:1.3;overflow-wrap:anywhere}.tutor-lab-note{font-size:var(--text-note);color:var(--ink-60)}.lab-frame{flex:1;min-height:0;width:100%;border:0;background:var(--color-bg)}.tutor-lab .lab-frame{flex:1 0 auto;min-height:min(70svh,640px)}.page-repair{flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px var(--pad-card);border-bottom:1px solid var(--hair);border-inline-start:var(--rule-width) solid var(--color-warn);background:var(--color-warn-soft)}.page-repair.is-fixing{border-inline-start-color:var(--color-accent);background:var(--color-accent-100)}.page-repair.is-fixed{border-inline-start-color:var(--color-pass);background:var(--color-pass-soft)}.page-repair-text{margin:0;flex:1 1 240px;font-size:var(--text-sm);color:var(--color-text)}.page-repair-error{flex:1 1 100%;order:3;font-family:var(--font-mono);font-size:var(--text-note);color:var(--color-warn);overflow-wrap:anywhere}.page-repair-progress{position:relative;flex:1 1 100%;height:4px;overflow:hidden;border-radius:var(--r-pill);background:var(--color-accent-200)}.page-repair-progress:after{content:"";position:absolute;inset:0 auto 0 0;width:40%;border-radius:var(--r-pill);background:var(--color-accent);animation:visual-drawing var(--duration-loop) var(--ease-standard) infinite}@media(prefers-reduced-motion:reduce){.page-repair-progress:after{animation:none}}.tutor-lab-foot{flex:none;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:10px var(--pad-card) 12px;border-top:1px solid var(--hair)}.tutor-lab-foot .suggested{width:100%}.tutor-lab-note{margin:0}.lab-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:10px}.lab-card{display:grid;justify-items:start;gap:8px;padding:14px 16px;background:var(--color-surface);border:1px solid var(--hair);border-radius:var(--r-sheet)}.lab-card-title{margin:0;font-size:var(--text-card);line-height:1.35;overflow-wrap:anywhere}.lab-card-text{margin:0;font-size:var(--text-note);color:var(--ink-60)}.visual-card{display:grid;justify-items:start;gap:6px;max-width:min(100%,520px);margin-top:8px;padding:12px 14px;background:var(--color-surface);border:1px solid var(--hair);border-inline-start:var(--rule-width) solid var(--color-accent);border-radius:var(--r-sheet);transition:border-color var(--duration-state) var(--ease-standard)}.visual-card.is-building{border-inline-start-color:var(--color-accent-300)}.visual-card.is-failed{border-inline-start-color:var(--color-warn)}.visual-card-head,.tutor-lab-kind{display:inline-flex;align-items:center;gap:6px;color:var(--accent-ink)}.visual-card-progress{position:relative;width:100%;height:4px;overflow:hidden;border-radius:var(--r-pill);background:var(--color-accent-100)}.visual-card-progress:after{content:"";position:absolute;inset:0 auto 0 0;width:40%;border-radius:var(--r-pill);background:var(--color-accent);animation:visual-drawing var(--duration-loop) var(--ease-standard) infinite}@keyframes visual-drawing{0%{transform:translate(-100%)}to{transform:translate(250%)}}@media(prefers-reduced-motion:reduce){.visual-card-progress:after{animation:none}}.visual-icon{flex:none}.visual-icon .glyph{fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.visual-asks{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.visual-ask{display:inline-flex;align-items:center;gap:6px;min-height:var(--control-sm);padding:0 10px;font:inherit;font-size:var(--text-note);color:var(--accent-ink);background:var(--color-accent-100);border:1px solid var(--color-accent-200);border-radius:var(--r-ctl);cursor:pointer;transition:background-color var(--duration-press) var(--ease-standard),border-color var(--duration-press) var(--ease-standard)}@media(hover:hover){.visual-ask:hover{background:var(--color-accent-200);border-color:var(--color-accent-300)}}.tutor-lab-steps{flex:none;display:flex;align-items:center;gap:2px}.tutor-lab-count{min-width:6ch;text-align:center;font-size:var(--text-label);font-variant-numeric:tabular-nums;color:var(--ink-60)}.tutor-layout.with-lab.lab-expanded{grid-template-columns:minmax(0,1fr)}.tutor-layout.lab-expanded>.tutor-thread{display:none}.visual-card-title{margin:0;font-size:var(--text-card);line-height:1.35;overflow-wrap:anywhere}.visual-card-text{margin:0;font-size:var(--text-note);color:var(--ink-60)}.visual-card-problem{color:var(--color-warn)}.log-lab{display:flex;height:70vh;border:1px solid var(--hair)}@media(max-width:900px){.tutor-layout.with-lab{grid-template-columns:1fr}.tutor-lab{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-menu);border:0;border-radius:0;box-shadow:none}.tutor-lab-head,.tutor-lab-foot{padding-inline:var(--pad-page-mobile)}.tutor-lab-expand{display:none}}@media(max-width:760px){.tutor-lab{padding-bottom:var(--tabbar-space)}}@media(max-width:900px){main.stage:has(.tutor-layout){height:auto;overflow:visible}.tutor-thread,.tutor-scroll{overflow:visible;min-height:0}.tutor-layout{grid-template-columns:1fr;padding:12px var(--pad-page-mobile) var(--pad-page-mobile)}.tutor-sessions{display:none}.tutor-sessions.open{display:flex;position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-menu);border-radius:0}.tutor-sessions-close,.tutor-toggle{display:inline-flex}.tutor-dock{position:sticky;bottom:0;z-index:var(--z-sticky);background:var(--color-surface);border-radius:0 0 var(--r-sheet) var(--r-sheet)}.tutor-end{scroll-margin-bottom:var(--dock-height, 0px)}.tutor-thread>.tutor-jump{bottom:calc(var(--dock-height, 0px) + var(--pad-page-mobile))}}@media(max-width:760px){.tutor-dock{bottom:var(--tabbar-space);padding-inline:var(--pad-page-mobile)}html[data-keyboard] .tutor-dock{bottom:0}.tutor-thread>.tutor-jump{bottom:calc(var(--dock-height, 0px) + var(--tabbar-space) + var(--pad-page-mobile))}.tutor-dock .suggested ul{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:none;margin-inline:calc(-1 * var(--pad-page-mobile));padding-inline:var(--pad-page-mobile);scroll-padding-inline:var(--pad-page-mobile)}.tutor-dock .suggested ul::-webkit-scrollbar{display:none}.tutor-dock .suggested li{flex:none;max-width:80%}.tutor-dock .suggested button.chip{min-height:var(--touch-min)}}.segmented{display:inline-flex;width:fit-content;height:fit-content;max-width:100%;overflow:hidden;border:1px solid var(--color-divider-strong)}.segmented .seg{min-height:var(--control-md);font-family:var(--font-body);font-size:var(--text-label-lg);letter-spacing:var(--track);text-transform:none;padding:8px 14px;background:transparent;border:none;border-right:1px solid var(--color-divider);color:var(--color-text);cursor:pointer;transition:background var(--duration-state) var(--ease-standard),color var(--duration-state) var(--ease-standard),transform var(--duration-press) var(--ease-standard)}.segmented .seg:active:not(:disabled,[aria-disabled=true]){transform:scale(.97)}.segmented .seg:last-child{border-right:none}.segmented .seg.active{background:var(--color-accent-100);color:var(--color-accent-700);box-shadow:inset 0 0 0 1px var(--color-accent-300)}.segmented .seg:disabled,.segmented .seg[aria-disabled=true]{color:var(--ink-40);cursor:default}.segmented .seg.active:disabled{color:var(--color-accent-700)}.segmented>.tooltip-anchor:not(:last-child)>.seg{border-right:1px solid var(--color-divider)}.tabs{display:flex;flex-wrap:nowrap;flex-shrink:0;gap:4px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;--tabs-surface: var(--color-surface);background:linear-gradient(var(--color-divider),var(--color-divider)) bottom / 100% 1px no-repeat scroll,linear-gradient(to right,var(--tabs-surface) var(--pad-page),transparent) left / calc(var(--pad-page) * 2) 100% no-repeat local,linear-gradient(to left,var(--tabs-surface) var(--pad-page),transparent) right / calc(var(--pad-page) * 2) 100% no-repeat local,linear-gradient(to right,var(--color-divider-strong),transparent) left / var(--pad-page) 100% no-repeat scroll,linear-gradient(to left,var(--color-divider-strong),transparent) right / var(--pad-page) 100% no-repeat scroll,var(--tabs-surface);padding-inline:8px var(--pad-page);scroll-padding-inline:var(--pad-page)}.work>.tabs,.resume-preview-stack>.tabs{--tabs-surface: var(--color-bg)}.tabs::-webkit-scrollbar{display:none}.tabs .tab{position:relative;min-height:var(--touch-min);flex:none;white-space:nowrap;font-family:var(--font-body);font-size:var(--text-label-lg);letter-spacing:var(--track);text-transform:none;padding:10px 14px;background:transparent;border:none;color:var(--ink-55);cursor:pointer;transition:color var(--duration-state) var(--ease-standard),transform var(--duration-press) var(--ease-standard)}.tabs .tab:active{transform:scale(.97)}.tabs a.tab{display:inline-flex;align-items:center;text-decoration:none}.tabs .tab:after{content:"";position:absolute;left:6px;right:6px;bottom:0;height:2px;background:var(--color-accent);transform:scaleX(0);transition:transform var(--duration-state) var(--ease-standard)}@media(hover:hover){.tabs .tab:hover{color:var(--color-text)}.tabs .tab:hover:after{background:var(--color-accent-300);transform:scaleX(1)}}.tabs .tab.active{color:var(--color-accent-700)}.tabs .tab.active:after{background:var(--color-accent);transform:scaleX(1)}@media(hover:hover){.tabs .tab.active:hover:after{background:var(--color-accent);transform:scaleX(1)}}.tabs .tab .count{margin-left:6px;color:var(--ink-45)}.segmented .seg:focus-visible,.tabs .tab:focus-visible{outline-offset:var(--focus-inset)}.segmented .seg.active:focus-visible{outline-color:var(--color-white)}.tabpanel{display:flex;flex-direction:column;gap:var(--gap-grid)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;padding-inline:env(safe-area-inset-left) env(safe-area-inset-right);background:var(--scrim);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;justify-content:flex-end;z-index:var(--z-overlay);animation:overlay-in var(--duration-state) var(--ease-standard)}.overlay.center{align-items:center;justify-content:center;z-index:var(--z-overlay-top)}@keyframes overlay-in{0%{opacity:0}}.drawer{width:var(--drawer-width);max-width:100%;height:100%;background:var(--color-surface);border-left:1px solid var(--color-divider);box-shadow:var(--elevation-overlay);display:flex;flex-direction:column;animation:drawer-in var(--duration-expand) var(--ease-standard)}.drawer.drawer-lg{width:640px}@keyframes drawer-in{0%{transform:translate(100%)}}@keyframes sheet-in{0%{transform:translateY(-100%)}}.overlay.overlay-sheet{align-items:flex-end}.drawer.drawer-sheet{width:100%;height:auto;max-height:calc(100% - var(--touch-min));align-self:flex-end;border-left:0;border-radius:var(--r-card) var(--r-card) 0 0;padding-bottom:env(safe-area-inset-bottom);animation:sheet-up var(--duration-expand) var(--ease-standard)}@keyframes sheet-up{0%{transform:translateY(100%)}}.more-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}.more-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:calc(var(--touch-min) * 2);padding:12px 6px;border:1px solid var(--color-divider);border-radius:var(--r-sheet);background:var(--color-surface);color:var(--color-text);font-size:var(--text-sm);font-weight:600;text-align:center;text-decoration:none;touch-action:manipulation}.more-link svg{color:var(--accent-ink)}.more-link.active{border-color:var(--color-accent);background:var(--color-accent-100);color:var(--accent-ink)}@media(hover:hover){.more-link:hover{border-color:var(--color-accent-300)}}@media(max-width:760px){.drawer{width:100%;border-left:0;align-self:flex-start;height:auto;max-height:100%;animation:sheet-in var(--duration-expand) var(--ease-standard)}}.drawer-head,.dialog-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:12px;padding:14px 14px 14px 22px;background:var(--color-surface-sunken);border-bottom:1px solid var(--hair);border-radius:var(--r-card) var(--r-card) 0 0}.drawer-head h2,.dialog-head h2{font-size:var(--text-h3);font-weight:700;letter-spacing:var(--track-tight);margin-right:auto}.drawer-head .btn-ghost,.dialog-head .btn-ghost{flex:none;width:var(--control-md);padding:0;color:var(--ink-55);font-size:var(--text-sm)}@media(hover:hover){.drawer-head .btn-ghost:hover,.dialog-head .btn-ghost:hover{color:var(--color-text)}}.drawer-body,.dialog-body{padding:20px 22px;overflow-y:auto;flex:1}.drawer-body{display:flex;flex-direction:column;gap:20px}.drawer-section{display:flex;flex-direction:column;gap:8px}.drawer-section+.drawer-section,.drawer-section+.submit-focus>.drawer-section,.submit-focus+.drawer-section{padding-top:18px;border-top:1px solid var(--ink-08)}.drawer-section p{font-size:var(--text-btn);line-height:1.5}.drawer-section>.plabel{margin-bottom:0}.drawer-section>.plabel.muted{margin-top:8px}.drawer-section>p{margin:0}.drawer-section .sec-row{flex-direction:column;align-items:flex-start;gap:4px}.drawer-section .sec-row>.plabel{margin-bottom:0}.review-comments{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.review-comments li{border-left:2px solid var(--color-accent-700);padding:4px 0 4px 12px}.review-comments p{margin:4px 0 0;font-size:var(--text-btn);line-height:1.5}.review-history-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}.value-link{padding-block:4px;overflow-wrap:anywhere}.attempt>summary{cursor:pointer;display:list-item;min-height:var(--control-sm);padding-block:5px;font-size:var(--text-btn);line-height:1.5;padding-inline-start:1em;text-indent:-1em}.attempt>summary::marker{color:var(--ink-50)}@media(hover:hover){.attempt>summary:hover,.attempt>summary:hover::marker{color:var(--accent-ink)}}.attempt>summary>.st{margin-inline-start:8px;white-space:nowrap}@media(max-width:760px){.value-link{display:inline-flex;align-items:center;min-height:var(--touch-min);padding-block:0}.attempt>summary{min-height:var(--touch-min);padding-block:12px}}.attempt-body{display:flex;flex-direction:column;gap:8px;margin-top:8px;padding-left:12px;border-left:1px solid var(--color-divider)}.review-panel .plabel.muted{margin:10px 0 0}.issue-head .mono-label,.review-comments .mono-label,.requirement-results .mono-label,.feedback-comments .mono-label,.phase1-results .mono-label{font-family:var(--font-mono);letter-spacing:var(--track);text-transform:none}.review-comments li>.mono-label+.st,.review-comments li>.st+.mono-label{margin-inline-start:8px}.review-comments li>.st+.st{margin-inline-start:8px}.review-headline{font-weight:700}.review-reading{display:flex;flex-direction:column;gap:8px}.review-pulse{height:4px;border-radius:var(--r-pill);background:var(--color-neutral-200);animation:review-pulse var(--duration-loop) var(--ease-standard) infinite alternate}@keyframes review-pulse{0%{opacity:.35}}@media(prefers-reduced-motion:reduce){.review-pulse{animation:none}}.review-block{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border:1px solid var(--hair);border-radius:var(--r-ctl);background:var(--color-surface-sunken)}.review-block .plabel.muted{margin:0}.review-points,.review-strengths,.review-checklist,.issue-cards{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.review-points li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}.review-points p{flex-basis:100%;margin:0;color:var(--ink-60);font-size:var(--text-sm)}.review-point-title{font-size:var(--text-btn);font-weight:600}.review-strengths li{padding-left:12px;border-left:2px solid var(--color-pass);font-size:var(--text-btn);line-height:1.5}.issue-card{border:1px solid var(--hair);border-inline-start:var(--rule-width) solid var(--color-neutral-400);border-radius:var(--r-ctl);background:var(--color-surface)}.issue-card.blocker{border-inline-start-color:var(--color-fail)}.issue-card.major{border-inline-start-color:var(--color-warn)}details.issue-card{--issue-gutter: 28px}.issue-head{--issue-head-pad: 10px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:var(--issue-head-pad) 12px}summary.issue-head{cursor:pointer;position:relative;padding-left:var(--issue-gutter);list-style:none}summary.issue-head::-webkit-details-marker{display:none}summary.issue-head:before{content:"";position:absolute;top:calc(var(--issue-head-pad) + var(--text-btn) * .75 - 3.5px);left:13px;border-block:3.5px solid transparent;border-inline-start:6px solid var(--ink-50)}details[open]>summary.issue-head:before{transform:rotate(90deg)}@media(hover:hover){summary.issue-head:hover:before{border-inline-start-color:var(--color-accent)}}.issue-title{font-size:var(--text-btn);font-weight:700;line-height:1.5}.issue-parts{display:grid;gap:10px;margin:0;padding:0 12px 12px}details>.issue-parts{padding-left:var(--issue-gutter)}.issue-parts dt{color:var(--ink-45)}.issue-parts dd{margin:2px 0 0;font-size:var(--text-btn);line-height:1.5}.review-checklist{counter-reset:step}.review-checklist li{counter-increment:step;display:grid;grid-template-columns:22px 1fr;gap:8px;font-size:var(--text-btn);line-height:1.5}.review-checklist li:before{content:counter(step);display:grid;place-items:center;width:20px;height:20px;border:1px solid var(--color-divider-strong);border-radius:var(--r-mark);color:var(--ink-60);font-family:var(--font-mono);font-size:var(--text-micro)}.drawer-foot,.dialog-foot{position:sticky;bottom:0;padding:14px 22px;background:var(--color-neutral-100);border-top:1px solid var(--color-divider);display:flex;align-items:center;flex-wrap:wrap;gap:10px;justify-content:flex-end}.drawer-foot>.push,.dialog-foot>.push{margin-right:auto}.drawer>.drawer-head{border-radius:var(--r-sheet) 0 0 0}.drawer>.drawer-foot{border-radius:0 0 0 var(--r-sheet)}@media(max-width:760px){.drawer{border-radius:0 0 var(--r-sheet) var(--r-sheet)}.drawer>.drawer-head{border-radius:0}.drawer>.drawer-foot{border-radius:0 0 var(--r-sheet) var(--r-sheet)}.drawer-body{overscroll-behavior:contain}}.dialog>.dialog-foot,.dialog>.overlay-form>.dialog-foot{border-radius:0 0 var(--r-card) var(--r-card)}.overlay-form{display:contents}.dialog{width:480px;max-width:calc(100% - 32px);max-height:calc(100% - 32px);background:var(--color-surface);border:1px solid var(--color-divider);box-shadow:var(--elevation-overlay);display:flex;flex-direction:column;animation:dialog-in var(--duration-state) var(--ease-standard)}.dialog:focus-visible,.drawer:focus-visible{outline:none}.dialog.dialog-concealed{visibility:hidden}@keyframes dialog-in{0%{opacity:0;transform:scale(.97)}}.dialog.dialog-sm{width:420px}.dialog.dialog-lg{width:720px}.dialog.dialog-wide{width:1100px}@media(max-width:760px){.dialog.dialog-mobile-full{width:100%;max-width:100%;height:100%;max-height:100%;border-left:0;border-right:0}}.drawer-head-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.overlay.overlay-workspace{align-items:center;justify-content:center;padding:var(--pad-page)}.drawer.drawer-center{width:var(--workspace-width);height:100%;border:1px solid var(--color-divider);border-radius:var(--r-card);overflow:hidden;animation:dialog-in var(--duration-state) var(--ease-standard)}.drawer.drawer-center>.drawer-head{align-items:flex-start;padding:20px 18px 18px 28px;border-radius:0}.drawer.drawer-center>.drawer-head h2{display:flex;flex-direction:column;gap:4px;margin-right:0;font-size:var(--text-h2);line-height:1.25}.drawer.drawer-center>.drawer-head h2:focus-visible{outline:none}.task-head-no{color:var(--ink-55);font-size:var(--text-label);font-weight:600;letter-spacing:var(--track)}.task-head-title{overflow-wrap:anywhere}.task-head-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;color:var(--ink-60);font-size:var(--text-sm)}.task-state{--state-ink: var(--ink-60);--state-ground: var(--color-surface);display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border:1px solid var(--color-divider-strong);border-radius:var(--r-pill);background:var(--state-ground);color:var(--state-ink);font-size:var(--text-label);font-weight:700}.task-state:before{content:"";width:8px;height:8px;border-radius:var(--r-pill);background:currentColor}.task-state.in_progress{--state-ink: var(--accent-ink);--state-ground: var(--color-accent-100);border-color:transparent}.task-state.verifying{--state-ink: var(--color-accent-700);--state-ground: var(--color-accent-100);border-color:transparent}.task-state.changes_requested{--state-ink: var(--color-warn);--state-ground: var(--color-warn-soft);border-color:transparent}.task-state.done{--state-ink: var(--color-pass);--state-ground: var(--color-pass-soft);border-color:transparent}.drawer.drawer-center>.drawer-body{padding:24px 28px 32px}.task-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,300px);gap:32px;align-items:start}.task-main,.task-side{display:flex;flex-direction:column;gap:24px;min-width:0}.task-side{gap:20px;padding:18px 20px;border:1px solid var(--hair);border-radius:var(--r-sheet);background:var(--color-surface-sunken)}.drawer-center .drawer-section p,.drawer-center .review-strengths li,.drawer-center .review-checklist li,.drawer-center .source-checklist li,.drawer-center .source-notes li,.drawer-center .issue-parts dd,.drawer-center .review-point-title{font-size:var(--text-body);line-height:1.6}.drawer-center .task-side .drawer-section p{font-size:var(--text-sm);line-height:1.5}.drawer-center .issue-title{font-size:var(--text-card)}.next-step{--step-rule: var(--accent-ink);--step-ground: var(--color-accent-100);gap:6px;padding:18px 20px;border:1px solid var(--hair);border-inline-start:var(--rule-width) solid var(--step-rule);border-radius:var(--r-sheet);background:var(--step-ground)}.next-step.warn{--step-rule: var(--color-warn);--step-ground: var(--color-warn-soft)}.next-step.danger{--step-rule: var(--color-fail);--step-ground: var(--color-fail-soft)}.next-step.pass{--step-rule: var(--color-pass);--step-ground: var(--color-pass-soft)}.next-step.muted{--step-rule: var(--color-neutral-400);--step-ground: var(--color-surface-sunken)}.next-step+.drawer-section{padding-top:0;border-top:0}.drawer-section p.next-step-title{font-size:var(--text-tile);font-weight:700;line-height:1.35}.next-step-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px}.next-step-actions>.form-error{flex-basis:100%}.review-panel{gap:12px}.review-panel:focus-visible{outline:none}.review-verdict p,.review-summary p,.requirement-results p,.feedback-comments p{margin:0}.review-verdict{--verdict-rule: var(--accent-ink);--verdict-ground: var(--color-surface-sunken);display:flex;flex-direction:column;gap:6px;padding:16px 18px;border:1px solid var(--hair);border-inline-start:var(--rule-width) solid var(--verdict-rule);border-radius:var(--r-sheet);background:var(--verdict-ground)}.review-verdict.pass{--verdict-rule: var(--color-pass);--verdict-ground: var(--color-pass-soft)}.review-verdict.warn{--verdict-rule: var(--color-warn);--verdict-ground: var(--color-warn-soft)}.review-verdict.danger{--verdict-rule: var(--color-fail);--verdict-ground: var(--color-fail-soft)}.drawer-section .review-verdict p.review-headline{font-size:var(--text-tile);line-height:1.35}.drawer-section .review-verdict.in-flight p.review-headline{font-size:var(--text-card);line-height:1.5}.review-glance{list-style:none;margin:2px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:4px 18px;font-size:var(--text-sm);font-weight:600}.review-glance li.danger{color:var(--color-fail)}.review-glance li.pass{color:var(--color-pass)}.review-summary,.review-section{display:flex;flex-direction:column;gap:10px}.review-section>.plabel.muted{margin:10px 0 0}.requirement-results,.feedback-comments{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.requirement-results>li{display:flex;flex-direction:column;gap:4px;padding:10px 0;border-bottom:1px solid var(--ink-08)}.requirement-results>li:first-child{padding-top:0}.requirement-results>li:last-child{padding-bottom:0;border-bottom:0}.requirement-result-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;font-size:var(--text-label);font-weight:700}.requirement-results blockquote{margin-bottom:0}.feedback-comments{gap:8px}.feedback-comments>li{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border:1px solid var(--hair);border-inline-start:var(--rule-width) solid var(--color-warn);border-radius:var(--r-ctl)}.review-details,.source-checks{font-size:var(--text-sm)}.review-details{margin-top:4px;padding-top:10px;border-top:1px solid var(--ink-08)}.review-details>summary,.source-checks>summary{cursor:pointer;display:list-item;min-height:var(--control-sm);padding-block:5px;color:var(--accent-ink);font-weight:600}.review-details[open]>summary{margin-bottom:8px}.source-body{display:flex;flex-direction:column;gap:8px}.source-body>.plabel{margin:8px 0 0}.source-checks>.source-body{margin-top:8px}.source-checklist,.source-notes,.source-files{margin:0;padding:0;font-size:var(--text-btn);line-height:1.5}.source-checklist,.source-notes{display:flex;flex-direction:column;gap:6px}.source-checklist{list-style:none}.source-checklist>li{display:grid;grid-template-columns:22px 1fr;gap:8px}.source-checklist>li:before{content:"";width:14px;height:14px;margin-top:.3em;border:1px solid var(--color-divider-strong);border-radius:var(--r-mark)}.source-checklist.needed>li:before{border-color:var(--accent-ink)}.source-notes{padding-inline-start:20px}.source-files{list-style:none;display:flex;flex-wrap:wrap;gap:6px 16px}@media(max-width:900px){.task-workspace{grid-template-columns:minmax(0,1fr);gap:24px}}@media(max-width:760px){.overlay.overlay-workspace{padding:0}.drawer.drawer-center{width:100%;height:100%;max-height:100%;border:0;border-radius:0}.drawer.drawer-center>.drawer-head{padding:14px 8px 14px var(--pad-page-mobile)}.drawer.drawer-center>.drawer-head h2{font-size:var(--text-h3)}.drawer.drawer-center>.drawer-body{padding:16px var(--pad-page-mobile) 24px}.task-side{padding:var(--pad-page-mobile)}.review-details>summary,.source-checks>summary{min-height:var(--touch-min);padding-block:12px}}.toasts{position:fixed;right:20px;bottom:20px;margin-inline-end:env(safe-area-inset-right);display:flex;flex-direction:column;gap:8px;z-index:var(--z-toast)}.toast-stack{display:flex;flex-direction:column;gap:8px}.outcome-reveal{animation:outcome-in var(--duration-draw) var(--ease-standard)}.outcome-reveal h2{animation:outcome-in var(--duration-draw) var(--ease-standard) var(--stagger) backwards}@keyframes outcome-in{0%{opacity:0;transform:translateY(6px)}}.toast{display:flex;align-items:center;gap:14px;min-width:260px;max-width:420px;padding:12px 12px 12px 15px;background:var(--color-sapphire);color:var(--color-white);border:1px solid var(--color-sapphire);border-inline-start:var(--rule-width) solid var(--color-accent-400);box-shadow:var(--elevation-overlay);font-size:var(--text-btn);line-height:1.4;animation:toast-in var(--duration-state) var(--ease-standard)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.toast span{margin-right:auto}.toast.success{border-inline-start-color:var(--color-pass)}.toast.error{border-inline-start-color:var(--color-fail)}.toast button{position:relative;flex:none;align-self:flex-start;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;background:transparent;border:1px solid var(--paper-25);color:inherit;cursor:pointer;font-size:var(--text-note);line-height:1;transition:background var(--duration-press) var(--ease-standard),transform var(--duration-press) var(--ease-standard)}.toast button:before{content:"";position:absolute;inset:calc((100% - var(--touch-min)) / 2)}.toast button:active{transform:scale(.97)}@media(hover:hover){.toast button:hover{background:var(--paper-25)}}.empty{border:1px dashed var(--color-divider-strong);background:var(--color-neutral-100);padding:30px 24px 34px;text-align:center}.empty:before{content:"";display:block;width:22px;height:22px;margin:0 auto 16px;border:1px dashed var(--color-cool);border-radius:var(--r-mark);transform:rotate(45deg)}.empty-error:before{border-style:solid;border-color:var(--color-fail)}.chat-panel .empty{border:0;background:radial-gradient(72% 90% at 50% 42%,var(--color-accent-100) 0%,transparent 74%);padding:64px 24px 72px}.chat-panel .empty:before{display:none}.chat-panel .empty :is(h2,h3,h4){font-size:var(--text-h2);letter-spacing:var(--track-tight)}.chat-panel .empty p{margin-inline:auto;max-width:46ch}.empty :is(h2,h3,h4){font-size:var(--text-h3);margin-top:2px}.empty p{color:var(--ink-70);font-size:var(--text-btn);max-width:48ch;margin:8px auto 0}.empty-error{border:1px solid var(--color-fail);background:var(--color-fail-soft)}.empty-error .plabel{color:var(--color-fail)}.empty-action{margin-top:14px}.empty-compact{flex-basis:100%;margin:0;font-size:var(--text-note);color:var(--ink-55)}.empty.not-found{width:min(480px,100%);align-self:center;margin:6vh auto 0;padding:34px 24px 30px}.empty.not-found .plabel{font-size:var(--text-h3);letter-spacing:var(--track);color:var(--ink-45)}.empty.not-found h1{font-size:var(--text-h2);letter-spacing:var(--track-tight);margin-top:6px}.skeleton{display:flex;flex-direction:column;gap:10px}.skel{display:block;border-radius:var(--r-ctl);background:linear-gradient(90deg,var(--color-neutral-200) 0%,var(--color-neutral-100) 42%,var(--color-neutral-200) 84%);background-size:260% 100%;animation:skel-shimmer var(--duration-loop) var(--ease-linear) infinite}@keyframes skel-shimmer{0%{background-position:130% 0}to{background-position:-130% 0}}@media(prefers-reduced-motion:reduce){.skel{animation:none}}.skel-sm{height:12px}.skel-md{height:26px}.skel-lg{height:96px}.panel.dark .skel{background:linear-gradient(90deg,var(--paper-25) 0%,var(--paper-60) 42%,var(--paper-25) 84%);background-size:260% 100%}.skel:nth-child(2n){width:72%}.login-skeleton{gap:0}.login-skeleton .skel{width:100%}.login-skel-field{height:var(--control-md);margin:23px 0 14px}.login-skel-action{height:var(--control-lg);margin-bottom:37px}@media(max-width:900px){.login-skel-action{margin-bottom:calc(16px + var(--touch-min))}}.table-skeleton .skel{height:11px;width:70%}.table-skeleton td{padding:15px 12px}.table-skeleton td:first-child .skel{width:88%}.table-skeleton td:nth-child(3n) .skel{width:46%}.table-skeleton td:nth-child(4n) .skel{width:60%}@media(hover:hover){.table-skeleton tbody tr:hover{background:transparent}}.work.launcher{max-width:940px}.apps-group .mono-label{display:flex;align-items:center;gap:9px;letter-spacing:var(--track-wide);margin-bottom:12px;color:var(--ink-50)}.apps-group .mono-label.accent{color:var(--accent-ink)}.apps-group .mono-label:before{content:"";flex:none;width:14px;height:2px;background:currentcolor}.dash-glance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap-grid)}.dash-glance.pair{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:1200px){.dash-glance{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-glance:not(.pair)>.activity{grid-column:1 / -1}}@media(max-width:760px){.dash-glance,.dash-glance.pair{grid-template-columns:minmax(0,1fr)}}.profile-card{display:flex;flex-direction:column}.profile-id{display:flex;align-items:center;gap:12px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--hair)}.profile-id .avatar{display:grid;place-items:center;flex:none;width:var(--touch-min);height:var(--touch-min);border-radius:var(--r-ctl);background:var(--color-accent-100);color:var(--color-accent-700);font-family:var(--font-heading);font-size:var(--text-sm);font-weight:700;letter-spacing:var(--track-caps)}.profile-who{display:flex;flex-direction:column;gap:2px;min-width:0}.profile-who h3{margin:0;font-size:var(--text-card);line-height:1.3}.profile-email{font-size:var(--text-sm);color:var(--ink-55);overflow-wrap:anywhere}.profile-card .prof-grid{gap:12px;margin:0}.profile-card>:is(.prof-grid,.empty){margin-bottom:18px}.profile-open{align-self:flex-start;margin-top:auto}.dash-cols{display:grid;grid-template-columns:1.55fr 1fr;align-items:start;gap:var(--gap-grid)}.dash-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap-grid);align-items:start}.dash-grid>*{grid-column:span 12}@media(min-width:901px){.dash-grid>.col-7{grid-column:span 7}.dash-grid>.col-5{grid-column:span 5}}.dash-side{display:flex;flex-direction:column;gap:18px}.setup-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.prof-grid.people-list{grid-template-columns:minmax(0,1fr)}.people-list dd a{overflow-wrap:anywhere}@media(min-width:901px){.dash-cols>.this-module{order:1}.dash-cols>.dash-side{order:2}}@media(max-width:900px){.dash-cols{grid-template-columns:minmax(0,1fr)}}@media(max-width:1439px){.dash-cols.gates-cols{grid-template-columns:minmax(0,1fr)}}.packet-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:start;gap:var(--gap-grid)}.packet-main,.packet-side{display:flex;flex-direction:column;gap:var(--gap-grid);min-width:0}.packet-side .segmented{flex-direction:column;width:100%}.packet-side .segmented .seg{text-align:left;border-right:none;border-bottom:1px solid var(--color-divider)}.packet-side .segmented .seg:last-child{border-bottom:none}@media(max-width:900px){.packet-grid{grid-template-columns:minmax(0,1fr)}}@media(min-width:901px)and (max-width:1279px){.packet-side .timeline li{grid-template-columns:minmax(0,1fr)}.packet-side .timeline li>.mono-label:nth-child(2){grid-column:1;justify-self:start}}.inline-error{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--color-fail);border-inline-start-width:var(--rule-width);background:var(--color-fail-soft);font-size:var(--text-btn)}.inline-error .plabel{color:var(--color-fail)}.inline-error-ref{display:block;margin-top:4px;color:var(--ink-55)}.empty .load-error-ref{color:var(--ink-55);font-size:var(--text-note)}.stale-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;padding:8px 12px;border:1px solid var(--color-warn);border-inline-start-width:var(--rule-width);border-radius:var(--r-ctl);background:var(--color-warn-soft);color:var(--color-warn);font-size:var(--text-note)}.stale-notice .load-error-ref{margin:2px 0 0;color:var(--ink-55)}.prof-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px}@media(max-width:760px){.prof-grid{grid-template-columns:1fr}}.sec-row{display:flex;gap:24px;flex-wrap:wrap;align-items:flex-end}.sec-row .field{min-width:200px;margin-bottom:0}.sec-row+.sec-row{margin-top:var(--gap-grid)}.input.masked{letter-spacing:var(--track-mask)}.attendance-range{margin-bottom:14px}.log-totals{margin-left:0;margin-top:14px;text-align:left}.log-context h2{font-size:var(--text-h3);font-weight:650;letter-spacing:var(--track-tight)}.log-coach{margin:6px 0 0}.log-context-more{margin-top:10px}.log-context-more summary{cursor:pointer;padding:4px 0;min-block-size:24px;font-family:var(--font-body);font-size:var(--text-label-lg);letter-spacing:var(--track);text-transform:none;color:var(--ink-60)}.log-context-facts{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px 16px;margin:8px 0 0;max-width:96ch}.log-context-facts>div{display:contents}.log-context-facts dt{font-size:var(--text-label);color:var(--ink-55)}.log-context-facts dd{margin:0;overflow-wrap:anywhere}.log-context-lines{margin:0;padding-left:18px}.log-flag-reason{font-size:var(--text-label);color:var(--ink-60)}@media(max-width:640px){.log-context-facts{grid-template-columns:minmax(0,1fr);gap:2px}.log-context-facts>div+div>dt{margin-top:8px}}.log-task-notes{max-width:76ch;white-space:pre-line}.log-meta{display:flex;flex-wrap:wrap;gap:12px;margin-top:4px}.filters{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}.filters .field{margin:0}.filters .input:not([type=checkbox]):not([type=radio]),.filters .select-wrap{min-width:150px}.filters .toggle{display:flex;align-items:center;gap:6px;font-size:var(--text-btn);padding-bottom:8px}.filters .field:has(>.input[type=checkbox]){gap:6px}.filters .field:has(>.input[type=checkbox]) label{font-size:var(--text-btn);letter-spacing:normal;color:var(--color-text)}.filters:has(.field-error,.field-hint),.filters-lead:has(>.field>.field-hint),.filters-panel:has(>.field-error,>.field>.field-hint){align-items:last baseline}.filters .field-error .field-msg{float:left;width:0;min-width:100%}.filters .field:has(>.field-hint)>.input{display:block}.filters .field-hint{float:left}.filters-toggle{display:none}.filters-lead,.filters-panel{display:contents}@media(max-width:760px){.table-toolbar .filters{flex:1 1 100%}.filters-toggle{display:inline-flex}.filters-lead,.filters-panel{display:flex;flex:1 1 100%;flex-wrap:wrap;align-items:flex-end;gap:14px}.filters:not(.is-open)>.filters-panel{display:none}.filters>.field,.filters-lead>.field,.filters-panel>.field{flex:1 1 140px;min-width:0}.filters>.field:first-child,.filters>.field:has(>.select-wrap>.select:disabled),.filters-panel>.field:has(>.select-wrap>.select:disabled),.filters>.toggle,.filters-panel>.toggle{flex-basis:100%}.filters .input:not([type=checkbox]):not([type=radio]),.filters .select-wrap{min-width:0}.table-toolbar>.input[type=search]{width:100%;margin-left:0}.filters.range>.btn{flex:1 1 100%}}.steps{display:flex;flex-wrap:wrap;gap:18px;list-style:none;margin:0 0 16px;padding:0}.steps li.current .mono-label{color:var(--color-accent-700)}.timeline li{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:3px 16px;padding:12px 12px 13px 34px;border:0;transition:background var(--duration-state) var(--ease-standard)}@media(hover:hover){.timeline li:hover{background:var(--color-neutral-100)}}.timeline li+li{border-top:1px solid var(--ink-08)}.timeline li:before{content:"";position:absolute;left:10px;top:0;bottom:0;width:1px;background:var(--color-accent-200)}.timeline li:first-child:before{top:18px}.timeline li:last-child:before{bottom:auto;height:18px}.timeline li:after{content:"";position:absolute;left:5px;top:14px;width:11px;height:11px;border-radius:var(--r-pill);background:var(--color-bg);border:1.5px solid var(--color-divider-strong);transition:background var(--duration-state) var(--ease-standard),border-color var(--duration-state) var(--ease-standard)}.timeline li:last-child:after{background:var(--mark);border-color:var(--mark)}.timeline li>.mono-label:nth-child(2){grid-column:2;justify-self:end;color:var(--ink-45);font-variant-numeric:tabular-nums}.timeline li .text-muted{grid-column:1 / -1;font-size:var(--text-note)}.jsonview{margin:0;font-size:var(--text-btn)}.jsonview .jsonrow{display:flex;gap:12px;padding:5px 0;border-bottom:1px solid var(--ink-08)}.jsonview .jsonrow.changed{background:var(--color-accent-100)}.jsonview dt{color:var(--ink-45);width:180px;flex:none}.jsonview dd{margin:0;word-break:break-word}.jsonview-raw{margin:0;font-family:var(--font-mono);font-size:var(--text-note);white-space:pre-wrap;overflow-wrap:anywhere}.header-subline{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px var(--pad-page) 0}.student-subline{font-family:var(--font-body);font-size:var(--text-label);letter-spacing:var(--track-tight);color:var(--ink-45);margin-top:3px}.prof-grid dt{color:var(--ink-45);margin-bottom:4px}.prof-grid dd{margin:0;font-size:var(--text-sm)}.placement-form{display:flex;flex-direction:column;gap:14px}.placement-form .field{margin-bottom:0}.placement-form>.btn{align-self:flex-start}.placement-form>p{margin:0;max-width:76ch}.note-composer{display:flex;flex-direction:column;flex-wrap:wrap;align-items:flex-start;gap:14px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--color-divider)}.note-composer .field{flex:none;align-self:stretch;margin:0}.note-row>.rowbar:first-child{margin-top:0}.note-row .note-composer{margin:8px 0 0;padding-bottom:0;border-bottom:0}.gate-days li{padding:8px 0;border-bottom:1px solid var(--color-divider);font-size:var(--text-btn)}.gate-days li:has(>a){padding:0}.gate-days li:last-child{border-bottom:none}.gate-days a{display:block;padding:8px 0;color:inherit;text-decoration:none}@media(hover:hover){.gate-days a:hover{color:var(--accent-ink)}}.plabel.today-group{margin-top:var(--gap-grid)}.queue-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--gap-grid)}.queue-stat{display:flex;text-decoration:none;color:inherit;border:1px solid transparent;padding:6px 8px}.queue-stat .stat{display:flex;flex-direction:column;justify-content:space-between}@media(hover:hover){.queue-stat:hover{border-color:var(--color-accent-200);background:var(--color-accent-100)}}@media(max-width:760px){.queue-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap-grid)}}.attention li{border-bottom:1px solid var(--hair)}.attention .what{font-size:var(--text-body);line-height:1.35}.attention li:last-child{border-bottom:none}.attention a{display:flex;align-items:center;gap:12px;padding:8px 0;color:inherit;text-decoration:none}@media(hover:hover){.attention a:hover{color:var(--accent-ink)}}.attention .mono-label{color:inherit}.attention li.zero{color:var(--fg-2)}.attention li.zero .count{color:var(--fg-2);font-weight:400}.attention .count{margin-left:auto;font-family:var(--font-heading);font-weight:600;font-size:var(--text-tile);font-variant-numeric:tabular-nums}.attention-more{padding:4px 0}.steps[aria-busy=true]>li{padding-bottom:4px;border-bottom:2px solid transparent}.dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;border:1px dashed var(--color-neutral-400);min-height:170px;padding:26px 20px;text-align:center;background:var(--color-neutral-100)}.dropzone .file-pick{flex-direction:column}.dropzone.over{border-color:var(--color-accent);background:var(--color-accent-100)}.import-summary{font-family:var(--font-body);font-size:var(--text-th);letter-spacing:var(--track-tight);margin-bottom:12px}.problems li{font-family:var(--font-mono);font-size:var(--text-label);color:var(--color-fail)}.table tr:has(.problems) :is(td,th){background:var(--color-fail-soft)}.checkline{display:flex;align-items:center;gap:8px;font-size:var(--text-btn);margin:10px 0}.checkline:has(+.field-hint){margin-bottom:2px}.checkline+.field-hint{margin-top:0;padding-left:35px}.list-editor .row>.checkline{margin-bottom:6px}.rowbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px}.rowbar.locked-note{margin-bottom:14px}.rowbar .push{margin-left:auto}.rowbar-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-left:auto}.row-actions{display:flex;gap:4px}.params-code{font-size:var(--text-sm)}.stack{display:flex;flex-direction:column;gap:var(--gap-grid)}.form-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);column-gap:var(--gap-grid)}.form-grid.narrow-first{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.form-grid.halves{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:760px){.form-grid,.form-grid.narrow-first,.form-grid.halves{grid-template-columns:minmax(0,1fr)}}.problem-list{margin:12px 0 0;padding:0;list-style:none}.centre-list{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.plabel.new-module-title{margin-top:var(--gap-grid);padding-top:var(--gap-grid);border-top:1px solid var(--color-divider)}.rowbar.new-module{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;grid-template-rows:auto auto auto;row-gap:0;align-items:start;margin-top:0}.rowbar.new-module>.field{display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:0;margin-bottom:0}.rowbar.new-module>.btn{grid-column:3;grid-row:2;align-self:center}@media(max-width:760px){.rowbar.new-module{grid-template-columns:minmax(0,1fr);row-gap:10px}.rowbar.new-module>.btn{grid-column:auto;grid-row:auto;justify-self:start}}.rowbar.holiday-add{display:grid;grid-template-columns:max-content minmax(0,1fr) auto;grid-template-rows:auto auto auto;row-gap:0;align-items:start}.rowbar.holiday-add>.field{display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:0}.rowbar.holiday-add>.btn{grid-column:3;grid-row:2;align-self:center}@media(max-width:760px){.rowbar.holiday-add{grid-template-columns:minmax(0,1fr);row-gap:10px}.rowbar.holiday-add>.btn{grid-column:auto;grid-row:auto;justify-self:start}}.rowbar>.field{margin-bottom:0;max-width:100%}.rowbar:has(>.field):not(.new-module){margin-bottom:14px}.rowbar:has(>.field):not(.new-module):not(:has(>.field-error)){align-items:flex-end}.rowbar:has(>.field)>.field-hint{display:flex;align-items:center;min-height:var(--control-md)}.rowbar-group{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}.rowbar-group>.field{margin-bottom:0}.chip{display:inline-block;padding:2px 8px;border:1px solid var(--color-accent);color:var(--accent-ink)}.attendance-scroll{overflow-x:auto;margin-top:14px}.attendance-grid{border-collapse:collapse;width:100%}.attendance-grid th,.attendance-grid td{border:1px solid var(--color-divider);padding:2px;text-align:center;font-size:var(--text-note)}.attendance-grid th.att-who{position:sticky;left:0;z-index:1;text-align:left;padding:4px 10px 4px 8px;white-space:nowrap;background:var(--color-surface);box-shadow:1px 0 0 var(--color-divider)}.attendance-grid th.weekend,.attendance-grid td.weekend{background:var(--color-neutral-100)}.att-cell{width:26px;height:26px;border:0;background:transparent;cursor:pointer;font-family:var(--font-mono);font-size:var(--text-label);color:var(--ink-70)}.att-cell.present{background:var(--color-accent-100);color:var(--color-accent-700)}.att-cell.absent{background:var(--color-neutral-200);color:var(--ink-70)}.att-cell.defaulted{background:transparent;color:var(--ink-40);box-shadow:inset 0 0 0 1px var(--color-divider)}.att-cell:disabled{cursor:not-allowed;color:var(--ink-40)}@media(max-width:760px){.attendance-grid th.att-who{white-space:normal;max-width:var(--table-lead-min-width)}.attendance-grid .att-code{display:block}.attendance-grid .att-sep{display:none}}.json-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;contain:inline-size}.json-grid>*{min-width:0}@media(max-width:760px){.json-grid{grid-template-columns:minmax(0,1fr)}}.list-editor{display:grid;gap:8px}.list-editor:not(:last-child){margin-bottom:14px}.field-hint+.list-editor{margin-top:8px}.dialog-body>.field-hint:has(+.panel){margin:14px 0 8px}.list-editor .row{display:flex;gap:8px;align-items:flex-start}.list-editor .row .field{flex:1;margin-bottom:0}.list-editor .row>:not(.field){align-self:flex-end}.holidays-hint{margin-bottom:12px}.holiday-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:max-content minmax(0,1fr) auto;column-gap:12px;row-gap:4px}.holiday-list li{display:grid;grid-column:1 / -1;grid-template-columns:subgrid;align-items:center}.holiday-list .mono-label{white-space:nowrap}.holiday-list .holiday-label{min-width:0}.holiday-list .btn{justify-self:end}@media(max-width:760px){.holiday-list{display:flex;flex-direction:column;gap:8px}.holiday-list li{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"date action" "label action";column-gap:12px}.holiday-list .mono-label{grid-area:date}.holiday-list .holiday-label{grid-area:label}.holiday-list .btn{grid-area:action}}@media(max-width:760px){.list-editor .row{flex-wrap:wrap}.list-editor .row .field{flex:1 1 100%}}.walkthrough-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:18px}@media(max-width:900px){.walkthrough-grid{grid-template-columns:1fr}}.walkthrough-qmeta{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:10px}.panel.dark .mono-label{color:var(--color-white)}.walkthrough-controls{display:flex;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:14px}.walkthrough-notice{margin:0 0 8px}div.walkthrough-notice{display:flex;align-items:center;gap:10px}.walkthrough-rules{margin:10px 0 14px;padding-left:18px;font-size:var(--text-sm);color:var(--ink-70)}.walkthrough-blockers{margin:0 0 14px;padding:0;list-style:none;display:grid;gap:4px}.walkthrough-transcript{margin-top:14px;border-top:1px solid var(--color-divider);padding-top:12px}.walkthrough-transcript-body{min-height:160px;padding:12px;border:1px solid var(--color-divider);background:var(--color-surface);font-size:var(--text-body);line-height:1.6}.walkthrough-interim{margin-left:4px;color:var(--ink-45);font-style:italic}.walkthrough-placeholder{color:var(--ink-45)}.walkthrough-edit-hint{margin:0 0 8px;color:var(--ink-45);font-size:var(--text-sm)}.walkthrough-listen-hint{margin:8px 0 0;color:var(--ink-45);font-size:var(--text-sm)}.walkthrough-transcript-edit{min-height:160px;font-size:var(--text-body);line-height:1.6}.turn-diff mark{background:var(--color-accent-100);border-bottom:1px solid var(--color-accent-200);color:inherit}.evidence blockquote{max-width:76ch;margin:0 0 8px;padding-left:10px;border-left:2px solid var(--color-accent-300);color:var(--ink-70);font-size:var(--text-sm)}.flag-list{list-style:none;margin:0 0 8px;padding:0;color:var(--color-text);font-size:var(--text-sm)}.flag-list>li{padding-left:10px;border-left:2px solid var(--color-warn)}.flag-list>li+li{margin-top:4px}.flag-stack{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px}.flag-stack>.st{white-space:nowrap}.flag-rows>li{padding:10px 0;border-top:1px solid var(--color-divider);font-size:var(--text-sm)}.flag-rows>li>p{margin:4px 0}.panel>:is(h2,h3):not(:where(.plabel))+:is(.plabel,.gate-stats){margin-top:12px}.panel :is(.rowbar,.evidence,.flag-list,.mono-label)+:is(.plabel,.gate-stats),.panel>.btn+.plabel{margin-top:14px}.panel>.empty+.plabel{margin-top:14px}.panel form>.segmented+.field,.panel form>.segmented+.field-msg+.field,.panel form>.gate-blocked+.field{margin-top:14px}.turn-list>li,.checklist-results>li{padding:10px 0;border-top:1px solid var(--color-divider);font-size:var(--text-sm)}.turn-list>li>p{max-width:76ch}.panel>.pcap+.turn-list>li:first-child{border-top:0}.checklist-results>li{display:grid;grid-template-columns:minmax(52px,max-content) minmax(0,1fr);align-items:baseline;gap:3px 10px;padding:12px 0}.checklist-results>li>p{grid-column:2 / -1;margin:2px 0 0;font-size:var(--text-note)}.checklist-title{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:8px}.checklist-title .mono-label{white-space:nowrap}.turn-prompt{font-weight:500;margin:4px 0}.manual-grade{margin-top:12px;padding-left:12px;border-left:2px solid var(--color-accent)}.action-cell{display:flex;flex-wrap:wrap;gap:6px}.table tr:has(.gate-current) :is(td,th){background:var(--color-accent-100)}.table td.day-closed{background:var(--color-neutral-200)}.table td.day-paused{background:var(--color-neutral-100)}.table td.day-cell{vertical-align:top}.table td.day-cell>*,.table td.day-cell>.tooltip-anchor>*{display:block}.table td.day-cell>.tooltip-anchor{display:contents}.table td.day-gate{background:var(--color-accent-100)}.calendar-legend{display:flex;flex-wrap:wrap;gap:4px 16px;margin:0 0 12px;padding:0;font-size:var(--text-note);color:var(--ink-55);list-style:none}.tone-accent{--tone-mark: var(--accent-ink);--tone-wash: var(--color-accent-100);--tone-ink: var(--color-accent-700)}.tone-deep{--tone-mark: var(--color-accent-900);--tone-wash: var(--color-accent-200);--tone-ink: var(--color-accent-900)}.tone-sky{--tone-mark: var(--color-sky);--tone-wash: var(--color-sky-wash);--tone-ink: var(--color-accent-900)}.tone-warn{--tone-mark: var(--color-warn);--tone-wash: var(--color-warn-soft);--tone-ink: var(--color-warn)}.tone-pass{--tone-mark: var(--color-pass);--tone-wash: var(--color-pass-soft);--tone-ink: var(--color-pass)}.tone-fail{--tone-mark: var(--color-fail);--tone-wash: var(--color-fail-soft);--tone-ink: var(--color-fail)}.tone-neutral{--tone-mark: var(--color-cool);--tone-wash: var(--color-neutral-100);--tone-ink: var(--color-slate)}.cal-shell{display:grid;gap:var(--gap-grid);min-width:0}.cal-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.cal-nav{display:flex;align-items:center;gap:6px;min-width:0}.cal-title{margin:0 0 0 8px;font-family:var(--font-heading);font-size:var(--text-h3);font-weight:600;letter-spacing:var(--track-tight);white-space:nowrap}.cal-title[aria-busy=true]{color:var(--fg-2)}.cal-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}.cal-tools .segmented{overflow-x:auto}.cal-body{display:grid;grid-template-columns:var(--aside-width) minmax(0,1fr);gap:var(--gap-grid);align-items:start}.cal-aside{display:grid;gap:var(--gap-grid);min-width:0}.cal-board{min-width:0;overflow-x:auto;background:var(--color-surface);border:1px solid var(--hair);border-radius:var(--r-sheet)}.cal-board[aria-busy=true]{opacity:.7;transition:opacity var(--duration-state) var(--ease-standard)}.cal-board>:not(.cal-month,.cal-weekview,.cal-agenda){margin:var(--pad-card)}.cal-layers-inline .cal-layers{display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px;margin:0 0 8px;padding:0;background:transparent;border:0}.cal-layers-inline .cal-layers legend{float:none;width:auto;margin:0 8px 0 0}.cal-holiday{margin-top:4px;font-size:var(--text-micro);font-weight:600;color:var(--color-warn);overflow-wrap:break-word}.mini-month{padding:12px;background:var(--color-surface);border:1px solid var(--hair);border-radius:var(--r-sheet)}.mini-head{display:flex;align-items:center;gap:2px;margin-bottom:6px}.mini-title{flex:1;font-size:var(--text-sm);font-weight:600}.mini-step{display:inline-grid;place-items:center;width:28px;height:28px;padding:0;color:var(--color-slate);background:transparent;border:0;border-radius:var(--r-ctl);cursor:pointer}@media(hover:hover){.mini-step:hover{background:var(--color-neutral-100)}}.mini-grid{width:100%;border-collapse:collapse;table-layout:fixed}.mini-grid th{padding:2px 0 4px;font-size:var(--text-micro);font-weight:500;color:var(--fg-2);text-align:center}.mini-grid td{padding:1px;text-align:center}.mini-day{position:relative;width:100%;height:var(--control-sm);padding:0;font-family:var(--font-body);font-size:var(--text-label);font-variant-numeric:tabular-nums;color:var(--color-text);background:transparent;border:0;border-radius:var(--r-ctl);cursor:pointer}@media(hover:hover){.mini-day:hover{background:var(--color-neutral-200)}}.mini-day.outside{color:var(--color-cool)}.mini-day.in-range{background:var(--color-accent-100)}.mini-day[aria-current=date]{font-weight:700;color:var(--color-white);background:var(--color-accent)}.mini-day.has-items:after{content:"";position:absolute;bottom:3px;left:50%;width:4px;height:4px;margin-left:-2px;background:var(--color-accent-400);border-radius:var(--r-pill)}.mini-day[aria-current=date].has-items:after{background:var(--color-white)}.mini-day.flagged{font-weight:600;color:var(--tone-ink);box-shadow:inset 0 -2px 0 var(--tone-mark)}.mini-day.flagged.has-items:after{background:var(--tone-mark)}.mini-day:focus-visible,.mini-step:focus-visible,.cal-daynum:focus-visible,.cal-more:focus-visible,.cal-wv-day:focus-visible,.cal-chip:focus-visible,.cal-agenda-item:focus-visible{outline:var(--focus-width) solid var(--mark);outline-offset:var(--focus-inset)}.cal-layers{display:grid;gap:4px;margin:0;padding:12px;background:var(--color-surface);border:1px solid var(--hair);border-radius:var(--r-sheet)}.cal-layers legend{float:left;width:100%;margin-bottom:6px;padding:0}.cal-layer{display:flex;align-items:center;gap:8px;min-height:28px;font-size:var(--text-sm);cursor:pointer}.cal-layer input{width:16px;height:16px;margin:0;accent-color:var(--color-accent)}.cal-swatch{flex:none;width:10px;height:10px;background:var(--tone-mark);border-radius:var(--r-mark)}.cal-chip{display:flex;align-items:center;gap:4px;min-width:0;height:22px;margin:0 3px;padding:0 6px;font-family:var(--font-body);font-size:var(--text-label);font-weight:500;line-height:1.2;color:var(--tone-ink);text-align:left;white-space:nowrap;background:var(--tone-wash);border:0;border-inline-start:var(--rule-width) solid var(--tone-mark);border-radius:var(--r-mark);cursor:pointer;overflow:hidden}@media(hover:hover){.cal-chip:hover{outline:1px solid var(--tone-mark);outline-offset:-1px}}.cal-chip.is-emphasis{color:var(--on-mark);background:var(--tone-mark)}.cal-chip.clipped-start{margin-left:0;border-inline-start-style:dashed}.cal-chip.clipped-end{margin-right:0}.cal-chip-time{flex:none;font-weight:600;font-variant-numeric:tabular-nums}.cal-chip-title{min-width:0;overflow:hidden;text-overflow:ellipsis}.cal-month-head{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:var(--color-surface-sunken);border-bottom:1px solid var(--hair)}.cal-month-head .mono-label{padding:8px 10px}.cal-week{display:grid;border-bottom:1px solid var(--hair)}.cal-week:last-child{border-bottom:0}.cal-week>*{grid-area:1 / 1}.cal-week-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.cal-day{display:flex;flex-direction:column;align-items:flex-start;min-height:132px;padding:4px 4px 6px;border-left:1px solid var(--hair)}.cal-day:first-child{border-left:0}.cal-day.outside{background:var(--color-surface-sunken)}.cal-day.day-paused{background:var(--color-neutral-100)}.cal-day.day-closed,.cal-wv-day.day-closed,.cal-wv-col.day-closed{background-image:repeating-linear-gradient(135deg,var(--color-neutral-200) 0 5px,transparent 5px 12px)}.cal-daynum{min-width:26px;height:26px;padding:0 4px;font-family:var(--font-body);font-size:var(--text-label);font-weight:600;font-variant-numeric:tabular-nums;color:var(--color-text);background:transparent;border:0;border-radius:var(--r-ctl);cursor:pointer}@media(hover:hover){.cal-daynum:hover{background:var(--color-neutral-200)}}.cal-day.outside .cal-daynum{color:var(--color-cool)}.cal-day.today .cal-daynum{color:var(--color-white);background:var(--color-accent)}.cal-day-top{display:flex;align-items:center;gap:4px;max-width:100%}.cal-mark{display:inline-flex;flex:none;align-items:center;height:18px;padding:0 5px;font-family:var(--font-body);font-size:var(--text-micro);font-weight:700;line-height:1;color:var(--tone-ink);white-space:nowrap;background:var(--tone-wash);border-radius:var(--r-mark)}.cal-agenda-date .cal-mark{align-self:flex-start;margin-top:2px}.cal-layer-hint{margin:-4px 0 4px 42px;font-size:var(--text-label);color:var(--fg-2)}.cal-more{margin-top:auto;padding:2px 4px;font-family:var(--font-body);font-size:var(--text-label);font-weight:600;color:var(--color-accent-700);background:transparent;border:0;border-radius:var(--r-mark);cursor:pointer}@media(hover:hover){.cal-more:hover{background:var(--color-accent-100)}}.cal-week-items{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:22px;row-gap:3px;align-content:start;padding-top:34px;pointer-events:none}.cal-week-items>.cal-chip{pointer-events:auto}.cal-weekview{--cal-hour-height: 48px;--cal-shown-hours: 12;min-width:calc(56px + var(--cal-days) * 96px)}.cal-wv-scroll{max-height:calc(var(--cal-hour-height) * var(--cal-shown-hours));overflow-y:auto;overscroll-behavior:contain}.cal-day-list{display:grid;gap:4px;margin:0 0 12px;padding:0;list-style:none}.cal-day-list .cal-chip{width:100%}.cal-wv-head,.cal-wv-allday,.cal-wv-body{display:grid;grid-template-columns:56px repeat(var(--cal-days),minmax(0,1fr))}.cal-wv-head{background:var(--color-surface-sunken);border-bottom:1px solid var(--hair)}.cal-wv-day{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;padding:8px 10px;font-family:var(--font-body);color:var(--color-text);text-align:left;background-color:transparent;border:0;border-left:1px solid var(--hair);cursor:pointer}@media(hover:hover){.cal-wv-day:hover{background-color:var(--color-neutral-100)}}.cal-wv-day.today{box-shadow:inset 0 -2px 0 var(--color-accent)}.cal-wv-num{font-size:var(--text-h3);font-weight:600;font-variant-numeric:tabular-nums;line-height:1}.cal-wv-day.today .cal-wv-num{color:var(--accent-ink)}.cal-wv-allday{min-height:34px;border-bottom:1px solid var(--hair)}.cal-gutter{padding:6px 8px 0 0;font-size:var(--text-micro);color:var(--fg-2);text-align:right}.cal-wv-allday-items{display:grid;grid-column:2 / -1;grid-template-columns:repeat(var(--cal-days),minmax(0,1fr));grid-auto-rows:22px;row-gap:3px;padding:5px 0}.cal-hours{display:grid;grid-auto-rows:var(--cal-hour-height);padding-top:0}.cal-hours span{font-variant-numeric:tabular-nums;transform:translateY(-.55em)}.cal-hours span:first-child{transform:none}.cal-wv-col{position:relative;height:calc(var(--cal-hour-height) * var(--cal-hours));background-color:var(--color-surface);border-left:1px solid var(--hair)}.cal-wv-col:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:repeating-linear-gradient(to bottom,transparent 0 calc(var(--cal-hour-height) - 1px),var(--hair) calc(var(--cal-hour-height) - 1px) var(--cal-hour-height));pointer-events:none}.cal-wv-col.today{background-color:var(--color-accent-100)}.cal-wv-col.day-paused{background-color:var(--color-neutral-100)}.cal-block{position:absolute;z-index:1;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:1px;height:auto;margin:0;padding:3px 6px;white-space:normal;border-right:2px solid var(--color-surface)}.cal-now-line{position:absolute;z-index:2;left:0;right:0;height:2px;background:var(--color-fail);pointer-events:none}.cal-now-line:before{content:"";position:absolute;top:-3px;left:-4px;width:8px;height:8px;background:var(--color-fail);border-radius:var(--r-pill)}.cal-agenda-day{display:grid;grid-template-columns:112px minmax(0,1fr);gap:12px;padding:12px 16px;border-bottom:1px solid var(--hair)}.cal-agenda-day:last-child{border-bottom:0}.cal-agenda-date{display:flex;flex-direction:column;gap:2px;margin:0;font-size:var(--text-card);font-weight:600}.cal-agenda-day.today .cal-agenda-date{color:var(--color-accent-700)}.cal-agenda-day ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}.cal-agenda-item{display:grid;grid-template-columns:10px 120px minmax(0,1fr);column-gap:10px;row-gap:2px;align-items:baseline;width:100%;padding:9px 12px;font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text);text-align:left;background:var(--color-surface);border:1px solid var(--hair);border-radius:var(--r-ctl);cursor:pointer}.cal-agenda-item.is-emphasis{background:var(--tone-wash);border-color:var(--tone-mark)}@media(hover:hover){.cal-agenda-item:hover{background:var(--tone-wash);border-color:var(--tone-mark)}}.cal-agenda-item .cal-swatch{align-self:center}.cal-agenda-when{font-size:var(--text-label);font-variant-numeric:tabular-nums;color:var(--fg-2)}.cal-agenda-title{font-weight:600}.cal-agenda-note{grid-column:3;font-size:var(--text-label);color:var(--fg-2)}.cal-agenda-caseload>.cal-agenda-student{padding:14px 0 4px;border-bottom:1px solid var(--hair)}.cal-agenda-caseload>.cal-agenda-student:last-child{border-bottom:0}.cal-agenda-student-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;margin:0 16px 6px;font-size:var(--text-card);font-weight:600}.cal-agenda-student-head .cal-flags{display:flex;flex-wrap:wrap;gap:2px 10px}.cal-agenda-caseload .cal-agenda-date{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:2px 8px}.cal-agenda-caseload .cal-agenda-day ul{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px}.cal-agenda-caseload .cal-agenda-day .st{display:inline;margin-top:0}.cal-agenda-caseload .cal-agenda-mark{gap:8px;padding-inline:8px}.cal-agenda-caseload .cal-agenda-day li{min-width:0;max-width:100%}.cal-agenda-caseload .btn.gate-cell{display:inline-block;max-width:100%;height:auto;min-height:var(--control-sm);padding-block:5px;line-height:1.3;white-space:normal;text-align:left}.cal-agenda-caseload .field-hint{margin:0 16px 10px}.cal-pop{position:fixed;z-index:var(--z-overlay);display:grid;gap:6px;width:min(340px,calc(100vw - 24px));padding:12px 16px 16px;background:var(--color-surface);border:1px solid var(--color-divider-strong);border-radius:var(--r-sheet);box-shadow:var(--elevation-overlay)}.cal-pop:focus{outline:none}.cal-pop:focus-visible{outline:var(--focus-width) solid var(--mark);outline-offset:var(--focus-offset)}.cal-pop-head{display:flex;align-items:center;gap:8px}.cal-pop-head .btn{margin-left:auto}.cal-pop-title{margin:0;font-size:var(--text-card);font-weight:600}.cal-pop-when,.cal-pop-note{margin:0;font-size:var(--text-sm)}.cal-pop-when{font-variant-numeric:tabular-nums;color:var(--fg-2)}.cal-pop-link{justify-self:start;margin-top:6px}.cal-pages{display:flex;gap:4px;border-bottom:1px solid var(--hair)}.cal-page{padding:8px 14px;font-size:var(--text-sm);font-weight:600;color:var(--fg-2);text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px}@media(hover:hover){.cal-page:hover{color:var(--color-text)}}.cal-page.active{color:var(--color-accent-700);border-bottom-color:var(--color-accent)}.cal-page:focus-visible{outline:var(--focus-width) solid var(--mark);outline-offset:var(--focus-inset)}.cal-wv-col.can-create{cursor:cell}.cal-slot{position:absolute;left:0;right:0;display:flex;align-items:flex-start;padding:3px 6px;font-family:var(--font-body);font-size:var(--text-label);font-weight:600;color:var(--color-accent-700);background:transparent;border:0;opacity:0;cursor:cell}.cal-slot:focus-visible{z-index:3;opacity:1;background:var(--color-accent-100);outline:var(--focus-width) solid var(--mark);outline-offset:var(--focus-inset)}.event-form{display:grid;gap:14px}.event-row{display:flex;flex-wrap:wrap;align-items:last baseline;gap:12px}.event-row>.field{flex:1 1 160px;min-width:0}.event-row>.field>:is(.field-hint,.field-msg){float:left}.event-check{min-height:var(--control-md)}.event-weekdays{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.event-scope,.audience-picker{display:grid;gap:8px;margin:0;padding:12px;border:1px solid var(--hair);border-radius:var(--r-sheet)}.event-scope legend,.audience-picker legend{padding:0 4px}.event-scope input[type=radio]{width:18px;height:18px;margin:0;accent-color:var(--color-accent)}.audience-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.audience-chips li{display:inline-flex;align-items:center;gap:2px;padding-left:10px;font-size:var(--text-sm);background:var(--color-accent-100);border:1px solid var(--color-accent-200);border-radius:var(--r-ctl)}.audience-add{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}.audience-add>.field{flex:1 1 160px}.audience-results{display:grid;gap:2px;max-height:180px;margin:0;padding:0;overflow-y:auto;list-style:none}.cal-event-details{display:grid;gap:8px}.cal-pop-facts{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:4px 12px;margin:4px 0 0;font-size:var(--text-sm)}.cal-pop-facts dt{color:var(--fg-2)}.cal-pop-facts dd{margin:0;overflow-wrap:break-word}.cal-pop-actions{display:flex;flex-wrap:wrap;gap:6px;padding-top:8px;border-top:1px solid var(--hair)}.slot-picker{display:grid;gap:10px;max-height:280px;overflow-y:auto}.slot-day{display:grid;gap:4px}.slot-times{display:flex;flex-wrap:wrap;gap:4px}.slot-chosen{margin:0;font-weight:600}.hours-list{display:grid;gap:4px;margin:0;padding:0;list-style:none}.hours-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px solid var(--hair)}.hours-actions{display:flex;flex-shrink:0;gap:4px}.hours-new{display:grid;gap:12px;margin:0;padding:12px;border:1px solid var(--hair);border-radius:var(--r-sheet)}.hours-new legend{padding:0 4px}.leave-clash{display:grid;gap:6px;padding:10px 12px;background:var(--color-warn-soft);border:1px solid var(--color-warn);border-radius:var(--r-sheet)}.leave-clash p,.leave-clash ul{margin:0}.arrange-picked{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.busy-strip{display:grid;gap:6px;padding:10px 12px;background:var(--color-surface-sunken);border-radius:var(--r-sheet)}.busy-strip ul{display:grid;gap:4px;margin:0;padding:0;list-style:none;font-size:var(--text-sm)}.busy-strip li{display:flex;flex-wrap:wrap;gap:4px 8px}.busy-blocks{color:var(--fg-2);overflow-wrap:break-word}.feed-issued{display:grid;gap:8px;justify-items:start}.feed-link{display:flex;gap:8px;width:100%}.feed-link .input{flex:1 1 auto;min-width:0;font-family:var(--font-mono);font-size:var(--text-input)}.feed-howto{display:grid;gap:4px;margin:0;padding-left:18px;font-size:var(--text-sm)}@media(max-width:1024px){.cal-body{grid-template-columns:minmax(0,1fr)}.cal-aside{order:2;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}}@media(max-width:760px){.cal-title{min-width:0;margin-left:4px;font-size:var(--text-card);white-space:normal}.cal-day{min-height:100px}.cal-day-top{gap:1px}.cal-day-top .cal-mark{height:16px;padding:0 2px}.cal-week-items{grid-auto-rows:16px;row-gap:2px;padding-top:30px}.cal-chip{height:16px;margin:0 1px;padding:0 3px;font-size:var(--text-micro);border-inline-start-width:calc(var(--rule-width) - 1px)}.cal-week-items .cal-chip-time{display:none}.cal-agenda-day{grid-template-columns:minmax(0,1fr);gap:6px;padding:12px}.cal-agenda-item{grid-template-columns:10px minmax(0,1fr)}.cal-agenda-title,.cal-agenda-note{grid-column:2}.cal-pop{top:auto;right:0;bottom:0;left:0;width:auto;padding-bottom:calc(16px + env(safe-area-inset-bottom));border-radius:var(--r-sheet) var(--r-sheet) 0 0}}.readiness-block .tasklist{margin:0 0 18px;padding:0}@media(hover:hover){.readiness-block .tasklist .trow:hover{background:none}}.phase1-progress p{margin:8px 0 0;font-size:var(--text-btn);color:var(--ink-70)}.steps[aria-busy=true]>li.current{border-bottom-color:var(--color-neutral-200);animation:phase1-step var(--duration-loop) var(--ease-standard) infinite}@keyframes phase1-step{50%{border-bottom-color:var(--color-accent-700)}}@media(prefers-reduced-motion:reduce){.steps[aria-busy=true]>li.current{animation:none;border-bottom-color:var(--color-accent-700)}}.phase1-results{list-style:none;margin:0 0 18px;padding:0;border-top:1px solid var(--color-divider)}.phase1-results>li{padding:11px 0;border-bottom:1px solid var(--color-divider)}.drawer-section>.phase1-results{margin-bottom:0}.drawer-section>.phase1-results>li:last-child{padding-bottom:0;border-bottom:0}.phase1-row{display:grid;grid-template-columns:84px 1fr;gap:14px;align-items:baseline;font-size:var(--text-btn)}.phase1-error{margin:4px 0 0 98px;padding-left:8px;border-left:2px solid var(--color-fail);font-size:var(--text-note);color:var(--ink-70)}@media(max-width:640px){.phase1-row{grid-template-columns:1fr}.phase1-error{margin-left:0}}.clone-failed{margin-bottom:18px;padding:12px 14px;border:1px solid var(--color-divider)}.clone-failed p{margin:6px 0 0;font-size:var(--text-btn)}.submit-blocked{margin-top:14px}.gate-description{margin:0 0 10px;font-size:var(--text-btn);color:var(--ink-70)}.panel.gate-nested{margin-top:18px}.panel.walkthrough-complete{max-width:calc(var(--drawer-width) * 1.5)}.panel.dark .walkthrough-complete-actions .btn{width:auto}.cal-wv-empty{margin:0;padding:14px var(--pad-card);border-top:1px solid var(--hair)}.panel.dark.outcome-pass,.panel.dark.outcome-fail,.panel.dark.outcome-wait{border-left-width:calc(var(--rule-width) * 2)}.panel.dark.outcome-pass{border-left-color:var(--color-pass)}.panel.dark.outcome-fail{border-left-color:var(--color-fail)}.panel.dark.outcome-wait{border-left-color:var(--color-warn)}.gate-retry{margin:14px 0 0;font-size:var(--text-btn);color:var(--ink-70)}.gate-expired{margin-top:18px;padding:12px 14px;border:1px solid var(--color-divider)}.gate-expired h3{margin:0 0 6px}.gate-expired p{margin:0;font-size:var(--text-btn);color:var(--ink-70)}.cell-wrap,.msg .bubble,.empty :is(h2,h3,h4),.code-text{overflow-wrap:anywhere;word-break:break-word}.code-text{font-family:var(--font-mono);font-size:var(--text-note);letter-spacing:var(--track);text-transform:none;color:var(--ink-70)}.choices{display:flex;flex-direction:column;gap:10px;margin:0 0 14px;border:0;padding:0}.choices legend{padding:0}.choice{display:flex;align-items:flex-start;gap:8px}.choice .input{flex:none;margin-top:3px}.choice:has(>.input:disabled){color:var(--ink-40);cursor:not-allowed}.choice .input:disabled{cursor:not-allowed}.choice-text{display:flex;flex-direction:column;gap:2px;font-size:var(--text-btn)}.day-picker{margin:0 0 14px;border:0;padding:0;min-inline-size:0}.day-picker legend{padding:0}.day-picker .field-hint,.day-picker .field-msg{flex-basis:100%;margin-top:0}.mic-check{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-block:16px}.mic-check-transcript{min-height:64px;width:100%;padding:10px 12px;border:1px solid var(--color-divider);background:var(--color-surface);color:var(--color-text);font-size:var(--text-sm);line-height:1.5}.mic-check-placeholder,.mic-check-interim{color:var(--ink-45)}.mic-check-hint{color:var(--ink-45);font-size:var(--text-note);margin-block-start:6px}.work>.panel,.work>.tabpanel>.panel{animation:settle var(--duration-expand) var(--ease-standard) backwards}.work>.panel:nth-child(2),.work>.tabpanel>.panel:nth-child(1){animation-delay:var(--stagger)}.work>.panel:nth-child(3),.work>.tabpanel>.panel:nth-child(2){animation-delay:calc(var(--stagger) * 2)}.work>.panel:nth-child(n+4),.work>.tabpanel>.panel:nth-child(n+3){animation-delay:calc(var(--stagger) * 3)}.packet-grid>*>.panel{animation:settle var(--duration-expand) var(--ease-standard) backwards}@keyframes settle{0%{opacity:0;transform:translateY(6px)}}.tasklist .trow,.attention a,.queue-stat{transition:background var(--duration-state) var(--ease-standard)}.kcard{transition:border-color var(--duration-state) var(--ease-standard),transform var(--duration-press) var(--ease-standard)}@media(hover:hover){.kcard.clickable:hover{transform:translateY(-2px)}}.kbar i,.readiness i,.funnel-track i{animation:bar-fill var(--duration-draw) var(--ease-standard)}@keyframes bar-fill{0%{clip-path:inset(0 100% 0 0)}}.kbar i{transition:clip-path var(--duration-draw) var(--ease-standard)}.att-cell,.progress-cells>i,.timeline li:after{transition:background var(--duration-state) var(--ease-standard),border-color var(--duration-state) var(--ease-standard)}@supports (interpolate-size: allow-keywords){:root{interpolate-size:allow-keywords}details::details-content{block-size:0;overflow:hidden;transition:block-size var(--duration-expand) var(--ease-standard),content-visibility var(--duration-expand) allow-discrete}details[open]::details-content{block-size:auto}}.report-filter .segmented{overflow-x:auto;background:linear-gradient(to right,var(--color-surface) var(--pad-page),transparent) left / calc(var(--pad-page) * 2) 100% no-repeat local,linear-gradient(to left,var(--color-surface) var(--pad-page),transparent) right / calc(var(--pad-page) * 2) 100% no-repeat local,linear-gradient(to right,var(--color-divider-strong),transparent) left / var(--pad-page) 100% no-repeat scroll,linear-gradient(to left,var(--color-divider-strong),transparent) right / var(--pad-page) 100% no-repeat scroll,var(--color-surface)}.report-filter .seg{flex:none;white-space:nowrap}.report-text{white-space:pre-line;overflow-wrap:break-word}.shots{display:flex;flex-wrap:wrap;gap:8px}.shots img{max-width:180px;border:1px solid var(--color-divider)}.suggested{display:flex;flex-direction:column;align-items:stretch;gap:8px}.suggested>.plabel{margin:0}.suggested ul{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.suggested button.chip{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:8px 13px;font-family:var(--font-body);font-size:var(--text-note);font-weight:500;letter-spacing:var(--track);text-transform:none;text-align:left;color:var(--color-text);background:var(--color-surface);border:1px solid var(--hair);border-radius:var(--r-pill);cursor:pointer;transition:background var(--duration-state) var(--ease-standard),border-color var(--duration-state) var(--ease-standard),transform var(--duration-press) var(--ease-standard)}.suggested button.chip:active:not(:disabled){transform:scale(.97)}.suggested button.chip:before{content:"";width:7px;height:7px;flex:none;border-radius:var(--r-pill);background:var(--color-accent-300);transition:background var(--duration-state) var(--ease-standard)}@media(hover:hover){.suggested button.chip:hover:not(:disabled){background:var(--color-accent-100);border-color:var(--color-accent-300)}.suggested button.chip:hover:not(:disabled):before{background:var(--color-accent)}}.suggested button.chip:disabled{cursor:default;color:var(--ink-40);background:var(--color-neutral-100);border-color:var(--color-divider)}.suggested button.chip:disabled:before{background:var(--color-divider-strong)}.menu{position:relative;display:inline-flex}.menu-trigger{display:inline-flex;align-items:center;gap:8px;font:inherit;color:var(--fg);background:transparent;border:1px solid var(--hair);border-radius:var(--r-sheet);cursor:pointer;transition:transform var(--duration-press) var(--ease-standard),background var(--duration-state) var(--ease-standard),border-color var(--duration-state) var(--ease-standard)}.menu-trigger.open{border-color:var(--color-accent-300);background:var(--color-accent-100)}@media(hover:hover){.menu-trigger:hover{border-color:var(--color-accent-300);background:var(--color-accent-100)}}.menu-panel{--ground: var(--color-surface);--fg: var(--color-text);--fg-2: var(--ink-60);--hair: var(--color-divider);--mark: var(--accent-ink);color:var(--color-text);position:absolute;top:calc(100% + 8px);z-index:var(--z-menu);min-width:232px;padding:6px;background:var(--color-surface);border:1px solid var(--hair);border-radius:var(--r-sheet);box-shadow:var(--elevation-overlay);animation:menu-in var(--duration-state) var(--ease-standard)}.menu-end{right:0;transform-origin:top right}.menu-start{left:0;transform-origin:top left}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px) scale(.985)}}.menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;font:inherit;font-size:var(--text-body);text-align:left;color:var(--color-text);background:transparent;border:0;border-radius:var(--r-ctl);cursor:pointer;transition:background var(--duration-state) var(--ease-standard),transform var(--duration-press) var(--ease-standard)}.menu-item:active:not(:disabled){transform:scale(.97)}@media(hover:hover){.menu-item:hover{background:var(--color-neutral-100)}}a.menu-item{color:var(--color-text);text-decoration:none}@media(hover:hover){a.menu-item:hover{color:var(--color-text);text-decoration:none}}.menu-item svg{flex:none;color:var(--ink-45)}.menu-item.danger{color:var(--color-fail)}.menu-item.danger svg{color:var(--color-fail)}@media(hover:hover){.menu-item.danger:hover{background:var(--color-fail-soft)}}.menu>.menu-trigger.identity{height:var(--control-md);padding:0 10px 0 4px}.menu-trigger.identity .avatar{width:calc(var(--control-md) - 10px);height:calc(var(--control-md) - 10px)}.menu-trigger.identity svg{color:var(--ink-45);transition:transform var(--duration-state) var(--ease-standard)}.menu-trigger.identity.open svg{transform:rotate(180deg)}.menu-trigger:focus-visible,.menu-item:focus-visible{outline:var(--focus-width) solid var(--mark);outline-offset:var(--focus-offset)}.menu-panel.menu-floating{position:fixed;top:auto;right:auto;left:auto}.row-menu-trigger{width:var(--control-sm);height:var(--control-sm);justify-content:center;padding:0;border-color:transparent;color:var(--ink-60)}.account-panel{min-width:248px}.account-head{display:flex;align-items:center;gap:10px;padding:8px 10px 12px;margin-bottom:4px;border-bottom:1px solid var(--hair)}.menu-group{margin:4px 0;padding:4px 0;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}.menu-group-label{padding:4px 10px 2px;font-size:var(--text-label);color:var(--ink-45)}.menu-item[aria-checked=true]{font-weight:600}.menu-item .checkmark{margin-left:auto;color:var(--accent-ink)}.bell-trigger{position:relative;width:var(--control-md);height:var(--control-md);justify-content:center;padding:0}.bell-badge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 5px;display:grid;place-items:center;font-size:var(--text-micro);font-weight:700;line-height:1;color:var(--color-white);background:var(--color-accent);border:2px solid var(--color-surface);border-radius:var(--r-pill)}.bell-panel{width:min(392px,calc(100vw - 32px));padding:0;overflow:hidden}.bell-head{display:flex;flex-direction:column;gap:8px;padding:12px var(--pad-card) 0;background:var(--color-surface-sunken)}.bell-head>.tabs{--tabs-surface: var(--color-surface-sunken)}.bell-body{max-height:min(60vh,460px);overflow-y:auto;overscroll-behavior:contain;padding:12px}.notification-list{display:flex;flex-direction:column;gap:14px}.notification-actions{display:flex;justify-content:flex-end}.notification-group .mono-label{display:block;padding:0 8px 4px}.notification-row{display:flex;align-items:center;gap:4px}.notification-row .notification{flex:1;min-width:0}.notification-mark{flex:none;width:var(--control-sm);height:var(--control-sm);display:grid;place-items:center;padding:0;color:var(--ink-55);background:transparent;border:1px solid transparent;border-radius:var(--r-ctl);cursor:pointer;touch-action:manipulation;transition:transform var(--duration-press) var(--ease-standard),color var(--duration-state) var(--ease-standard),background var(--duration-state) var(--ease-standard)}@media(hover:hover){.notification-mark:hover{color:var(--accent-ink);background:var(--color-accent-100)}}@media(hover:hover)and (pointer:fine){.notification-row .notification-mark{opacity:0}.notification-row:hover .notification-mark,.notification-row:focus-within .notification-mark{opacity:1}}.notification{display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:baseline;gap:10px;width:100%;padding:9px 8px;font:inherit;text-align:left;color:var(--ink-60);background:transparent;border:0;border-radius:var(--r-ctl);cursor:pointer;transition:background var(--duration-state) var(--ease-standard)}@media(hover:hover){.notification:hover{background:var(--color-neutral-100)}}.notification.inert{cursor:default}@media(hover:hover){.notification.inert:hover{background:transparent}}.notification .dot{width:7px;height:7px;border-radius:var(--r-pill);background:transparent}.notification.unread{color:var(--color-text);font-weight:600}.notification.unread .dot{background:var(--color-accent)}.notification.unread.attention .dot{background:var(--color-warn)}.notification.unread.good .dot{background:var(--color-pass)}.notification .when{font-size:var(--text-micro);color:var(--ink-45);font-weight:400}@media(max-width:760px){header.top{position:relative;padding:12px var(--pad-page-mobile);gap:12px}header.top .right{flex-wrap:wrap;margin-left:0;width:100%;gap:10px}header.top.band{margin:var(--pad-page-mobile) var(--pad-page-mobile) 0}.work{padding:16px var(--pad-page-mobile) 20px}.banner{margin:var(--pad-page-mobile)}.week-meta,.header-subline{padding-left:var(--pad-page-mobile);padding-right:var(--pad-page-mobile)}.week-meta{justify-content:space-between}.week-meta-rule{display:none}.settings .body{padding-left:var(--pad-page-mobile);padding-right:var(--pad-page-mobile)}.work>.settings .body{padding:16px 0 0;background:transparent}.bell-body{max-height:min(60svh,460px)}}.back-link{align-self:flex-start;display:inline-flex;align-items:center;gap:2px;min-height:24px;padding:0;font:inherit;font-size:var(--text-sm);font-weight:600;color:var(--color-accent-700);background:transparent;border:0;text-decoration:none;cursor:pointer;touch-action:manipulation}.back-link svg,.back-link-button svg{flex:none}@media(hover:hover){.back-link:hover{color:var(--accent-ink);text-decoration:underline;text-underline-offset:3px}}header.top .crumb{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.template-name{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.template-library{display:contents;--template-col-email: 280px;--template-col-audience: 112px;--template-col-when-min: 128px;--template-col-design: 136px;--template-col-updated: 144px}.template-library .table{table-layout:fixed;min-width:calc(var(--template-col-email) + var(--template-col-audience) + var(--template-col-when-min) + var(--template-col-design) + var(--template-col-updated))}.template-name a{font-weight:650;color:var(--color-text);text-decoration:none}@media(hover:hover){.template-name a:hover{color:var(--color-accent-700);text-decoration:underline}}.template-actions{position:sticky;top:0;z-index:var(--z-sticky);display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px var(--pad-card);background:var(--color-surface);border:1px solid var(--hair);border-radius:var(--r-sheet);box-shadow:var(--elevation-raised)}.template-actions .push{margin-left:auto;display:flex;flex-wrap:wrap;gap:8px}.template-studio{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:var(--gap-grid);align-items:start}@media(max-width:1279px){.template-studio{grid-template-columns:minmax(0,1fr)}}.studio-column{display:flex;flex-direction:column;gap:var(--gap-grid);min-width:0}.template-editor{display:flex;flex-direction:column;gap:14px}.template-editor>.pcap{margin-bottom:0}.textarea.template-code{min-height:420px;font-family:var(--font-mono);font-size:var(--text-note);line-height:1.6;white-space:pre;overflow-wrap:normal;overflow-x:auto;-moz-tab-size:2;tab-size:2}.template-insert{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.insert-chip{padding:3px 8px;border:1px solid var(--color-divider-strong);border-radius:var(--r-mark);background:var(--color-surface);color:var(--color-accent-700);font-family:var(--font-mono);font-size:var(--text-label);cursor:pointer;transition:background var(--duration-state) var(--ease-standard),border-color var(--duration-state) var(--ease-standard),transform var(--duration-press) var(--ease-standard)}.insert-chip:active{transform:scale(.97)}.insert-chip:focus-visible{background:var(--color-accent-100);border-color:var(--color-accent-300)}@media(hover:hover){.insert-chip:hover{background:var(--color-accent-100);border-color:var(--color-accent-300)}}.template-insert .select-wrap{width:max-content;max-width:100%}.template-facts,.inbox-head{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px 18px;margin:0}.template-facts dt,.inbox-head dt{font-size:var(--text-label);font-weight:700;color:var(--ink-55)}.template-facts dd,.inbox-head dd{margin:0;font-size:var(--text-sm);min-width:0;overflow-wrap:anywhere}.template-facts dd .st+.st{display:block;margin-top:4px}.template-events{margin:4px 0 0;padding-left:18px}@media(max-width:760px){.template-facts,.inbox-head{grid-template-columns:minmax(0,1fr);gap:2px}.template-facts dd,.inbox-head dd{margin-bottom:8px}}.inbox-head{padding:12px 14px;margin-bottom:12px;border:1px solid var(--hair);border-radius:var(--r-ctl);background:var(--color-surface-sunken)}.preview-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px}.preview-stage{display:flex;justify-content:center;padding:var(--pad-card);border:1px solid var(--hair);border-radius:var(--r-sheet);background:var(--color-surface-sunken)}.email-frame{display:block;width:100%;height:760px;border:1px solid var(--hair);border-radius:var(--r-ctl);background:var(--color-white)}.preview-stage.mobile .email-frame{width:390px;max-width:100%;height:780px}.email-text{width:100%;margin:0;padding:var(--pad-card);border:1px solid var(--hair);border-radius:var(--r-ctl);background:var(--color-surface);font-family:var(--font-mono);font-size:var(--text-note);line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.preview-stage.mobile .email-text{max-width:390px}.sample-list-rows{display:flex;flex-direction:column;gap:14px;margin:0 0 12px;padding:0;list-style:none}.sample-row{display:flex;flex-direction:column;gap:4px}.sample-name{display:flex;align-items:baseline;gap:8px;font-family:var(--font-mono);font-size:var(--text-label);color:var(--color-accent-700)}.sample-list{margin:0;padding:8px 12px;border:1px solid var(--hair);border-radius:var(--r-ctl);background:var(--color-surface-sunken);font-family:var(--font-mono);font-size:var(--text-label);white-space:pre-wrap}.template-history{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}.template-history li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding:10px 0;border-top:1px solid var(--hair);font-size:var(--text-sm)}.template-history li:first-child{border-top:0}.tooltip-anchor{display:contents}.tooltip{position:fixed;z-index:var(--z-toast);pointer-events:none;padding:6px 10px;border-radius:var(--r-ctl);background:var(--color-sapphire);color:var(--color-white);font-size:var(--text-label);font-weight:600;line-height:1.2;white-space:nowrap;box-shadow:var(--elevation-overlay);transition:opacity var(--duration-press) var(--ease-standard),scale var(--duration-press) var(--ease-standard)}@starting-style{.tooltip{opacity:0;scale:.97}}.tooltip[data-side=right]{transform:translate(10px,-50%);transform-origin:left center}.tooltip[data-side=bottom]{transform:translate(-50%,8px);transform-origin:top center}.tooltip.rail-tip{transform:translate(30px,-50%)}.menu-trigger:active,aside.rail a:active,aside.rail button.rail-item:active,nav.tabbar .tab:active,.notification-mark:active{transform:scale(.94)}.btn-spinner{flex:none;width:14px;height:14px;border:2px solid currentColor;border-inline-end-color:transparent;border-radius:var(--r-pill);animation:btn-spin calc(var(--duration-loop) / 2) var(--ease-linear) infinite}@keyframes btn-spin{to{transform:rotate(1turn)}}@media(prefers-reduced-motion:reduce){.btn-spinner{animation:none}}.btn .checkmark{flex:none}.btn-done .checkmark polyline{stroke-dasharray:1;animation:check-draw var(--duration-draw) var(--ease-standard)}@keyframes check-draw{0%{stroke-dashoffset:1}}.st.changed{animation:status-changed var(--duration-draw) var(--ease-standard)}@keyframes status-changed{0%{background:var(--color-accent-100)}}.table .st.changed{animation:none}.table td.num,.table th.num{font-variant-numeric:tabular-nums;text-align:right}.table-wrap.compact .table th,.table-wrap.compact .table td{padding-top:4px;padding-bottom:4px}.density-toggle{min-height:24px;padding:0 8px;font:inherit;font-size:var(--text-label);color:var(--ink-55);background:transparent;border:1px solid var(--hair);border-radius:var(--r-ctl);cursor:pointer;touch-action:manipulation}.density-toggle[aria-pressed=true]{color:var(--accent-ink);background:var(--color-accent-100);border-color:var(--color-accent-300)}@media(max-width:760px),(pointer:coarse){.density-toggle{position:relative}.density-toggle:before{content:"";position:absolute;inset:calc((100% - var(--touch-min)) / 2) 0}}.table-scroll.fits{overflow-x:visible}.table-scroll.fits .table thead th{position:sticky;top:0;z-index:var(--z-sticky)}.table tbody tr{background:var(--color-surface)}.table-scroll.scrolls .table:not(.cards) tr>:first-child{position:sticky;left:0;z-index:1;background:inherit;box-shadow:inset -1px 0 0 var(--color-divider)}.table-scroll.scrolls .table:not(.cards) thead tr>:first-child{background:var(--color-neutral-100)}@media(max-width:640px){.table.cards thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.table.cards,.table.cards tbody{display:block;width:100%;min-width:0}.table.cards tr{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px 20px;padding:14px var(--table-cell-pad-x);border-bottom:1px solid var(--color-divider)}.table.cards td,.table.cards th[scope=row]{display:flex;flex-direction:row;flex-wrap:wrap;align-items:baseline;flex:0 1 auto;gap:2px 6px;min-width:0;max-width:100%;padding:0;border-bottom:0;white-space:normal}.table.cards td:before,.table.cards th[scope=row]:before{content:attr(data-label);font-size:var(--text-label);font-weight:500;line-height:1.3;color:var(--ink-50)}.table.cards th[scope=row]{order:-1;flex-basis:100%;font-size:var(--text-card);font-weight:600}.table.cards td[data-label=""]{flex-basis:100%;flex-direction:row;flex-wrap:wrap;justify-content:flex-start}.table.cards td[data-label=""]:before{content:none}.table.cards td.table-expansion{display:block;flex-basis:100%}.table.cards td.table-expansion:before{content:none}.table.cards td :is(.cell-lead,.cell-prose),.table.cards th[scope=row] .cell-lead{min-width:0}.table.cards td.num,.table.cards th.num{text-align:left}.table.cards .cell-pin-end{position:static;box-shadow:none}.table.cards tr:has(.gate-current){background:var(--color-accent-100)}.table.cards tr:has(.problems){background:var(--color-fail-soft)}.table.cards tr:has(:is(.gate-current,.problems)) :is(td,th){background:none}}::view-transition{pointer-events:none}::view-transition-old(root),::view-transition-new(root){animation:none}main.stage{view-transition-name:stage}::view-transition-old(stage){animation:stage-out var(--duration-state) var(--ease-standard) both}::view-transition-new(stage){animation:stage-in var(--duration-state) var(--ease-standard) both}@keyframes stage-out{to{opacity:0}}@keyframes stage-in{0%{opacity:0;transform:translateY(4px)}}.receipt-total{display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;gap:12px}.receipt-note{margin:16px 0 0}.gateway-id{font-family:var(--font-mono);font-size:var(--text-btn);overflow-wrap:anywhere}.pay-log{list-style:none;margin:0 0 24px;padding:0}.pay-log li{display:flex;flex-direction:column;gap:2px;padding:8px 0;border-bottom:1px solid var(--ink-08);overflow-wrap:anywhere}.fees-layout{display:flex;flex-direction:column;gap:var(--gap-grid)}.fee-stats{row-gap:12px}.pay-notice{margin:0 0 14px;padding:10px 14px;border-inline-start:var(--rule-width) solid var(--color-warn);border-radius:var(--r-ctl);background:var(--color-warn-soft);color:var(--color-warn);font-size:var(--text-btn);line-height:1.5}.pay-notice.calm{border-inline-start-color:var(--color-pass);background:var(--color-pass-soft);color:var(--color-pass)}.fee-summary .pay-notice{margin:16px 0 0}.fee-summary-foot{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 24px;margin-top:18px;padding-top:18px;border-top:1px solid var(--ink-08)}.fee-next{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}.fee-next .plabel{margin-bottom:0}.fee-next p{margin:0}.fee-next-amount{font-family:var(--font-heading);font-weight:600;font-size:var(--text-amount);line-height:1;font-variant-numeric:tabular-nums}.fee-next-line{display:flex;flex-wrap:wrap;gap:2px 8px;font-size:var(--text-btn);color:var(--ink-70)}.fee-next-when.overdue{color:var(--color-warn);font-weight:600}.fee-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.fee-pending{display:flex;flex-direction:column;gap:2px;margin:0;font-size:var(--text-note)}.fee-nothing{margin:0;font-family:var(--font-heading);font-weight:600;font-size:var(--text-h3)}.fee-instalment{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 8px}@media(max-width:760px){.fee-summary-foot,.fee-actions{flex-direction:column;align-items:stretch}.fee-plan .table-scroll .table{min-width:0}.fee-plan .table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"instalment due" "status amount" "status paid";column-gap:12px;padding:9px 12px;border-bottom:1px solid var(--ink-08)}.fee-plan .table thead tr{row-gap:8px;padding:8px 12px;background:var(--color-neutral-100);border-bottom-color:var(--color-divider-strong)}.fee-plan .table th,.fee-plan .table td{padding:0;border-bottom:0;background:none}.fee-plan .table th .th-sort:before{top:-4px;right:-12px;bottom:-4px;left:-12px}.fee-plan .table :is(th,td):nth-child(1){grid-area:instalment}.fee-plan .table :is(th,td):nth-child(2){grid-area:due;text-align:right}.fee-plan .table :is(th,td):nth-child(3){grid-area:amount}.fee-plan .table :is(th,td):nth-child(4){grid-area:paid}.fee-plan .table :is(th,td):nth-child(5){grid-area:status;align-self:start}.fee-plan .fee-paid-none{display:none}.fee-plan .fee-paid-label{display:inline;color:var(--ink-55)}}.fee-paid-label{display:none}.pay-status p{margin:0}.pay-status p+p{margin-top:10px}.pay-options{gap:8px}.pay-option{gap:12px;padding:12px 14px;border:1px solid var(--color-divider-strong);border-radius:var(--r-sheet);background:var(--color-surface);cursor:pointer;transition:border-color var(--duration-press) var(--ease-standard),background-color var(--duration-press) var(--ease-standard)}.pay-option:has(>.input:checked){border-color:var(--color-accent);background:var(--color-accent-100)}.pay-option .choice-text{flex:1;min-width:0}.pay-option-title{font-weight:600}.pay-option-amount{font-family:var(--font-heading);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.pay-breakdown{margin:0 0 14px;padding:14px;border-radius:var(--r-sheet);background:var(--color-surface-sunken)}.pay-breakdown .plabel{margin-bottom:8px}.pay-lines{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.pay-lines li{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;font-size:var(--text-btn)}.pay-line-name{display:flex;flex-direction:column;gap:1px;min-width:0;overflow-wrap:anywhere}.pay-line-amount,.pay-sum-row dd{font-variant-numeric:tabular-nums;white-space:nowrap}.pay-sum{display:flex;flex-direction:column;gap:6px;margin:12px 0 0;padding-top:10px;border-top:1px solid var(--color-divider)}.pay-sum-row{display:flex;justify-content:space-between;gap:12px;font-size:var(--text-btn)}.pay-sum-row dt{color:var(--ink-70)}.pay-sum-row dd{margin:0}.pay-sum-row.total{margin-top:2px;padding-top:8px;border-top:1px solid var(--color-divider);font-size:var(--text-body);font-weight:700}.pay-sum-row.total dt{color:var(--color-text)}.pay-note{margin:10px 0 0;font-size:var(--text-note)}.receipt-no{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.receipt-no .gateway-id{white-space:nowrap}.receipt-amount{display:inline-flex;flex-direction:column;align-items:flex-end;gap:2px}.receipt-amount .text-muted{font-size:var(--text-note)}@media(max-width:640px){.table.cards .receipt-amount{align-items:flex-start}}.drawer-section>.pay-log{margin-bottom:0}.drawer-section>.pay-log li:last-child{padding-bottom:0;border-bottom:0}.pay-line{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px}.charge-lines{display:flex;flex-direction:column;gap:6px;margin:0;font-size:var(--text-sm)}.charge-lines>div{display:flex;justify-content:space-between;gap:12px}.charge-lines dt{color:var(--ink-60)}.charge-lines dd{margin:0;font-variant-numeric:tabular-nums}.charge-lines .charge-total{padding-top:8px;border-top:1px solid var(--ink-08);font-weight:650}.charge-lines .charge-total dt{color:var(--color-text)}.ledger-payments{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;font-size:var(--text-sm);color:var(--ink-60)}.ledger-payments li{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px}.ledger-receipt{display:inline-flex;align-items:center;gap:8px}.holidays-ahead-day{display:inline;padding:0;font:inherit;color:var(--color-text);text-align:left;background:none;border:0;cursor:pointer}@media(hover:hover){.holidays-ahead-day:hover>span{text-decoration:underline}}.holidays-ahead-day:focus-visible{outline:var(--focus-width) solid var(--mark);outline-offset:var(--focus-offset)}.avail{--avail-hour-height: 40px;--avail-gutter: 48px;--avail-day-min: 84px;display:grid;gap:10px}.avail-bar{display:flex;align-items:center;gap:8px}.avail-week{font-weight:600}.avail-used{margin:0}.avail-scroll{overflow-x:auto;border:1px solid var(--hair)}.avail[aria-busy=true] .avail-grid{opacity:.6}.avail-grid{display:grid;grid-template-columns:var(--avail-gutter) repeat(7,minmax(var(--avail-day-min),1fr));min-width:calc(var(--avail-gutter) + 7 * var(--avail-day-min))}.avail-head{display:flex;flex-direction:column;gap:2px;min-height:56px;padding:6px 8px;background:var(--color-surface-sunken);border-bottom:1px solid var(--hair)}.avail-num{font-weight:600;font-variant-numeric:tabular-nums}.avail-holiday{overflow:hidden;font-size:var(--text-micro);color:var(--color-warn);white-space:nowrap;text-overflow:ellipsis}.avail-day{min-width:0;border-left:1px solid var(--hair)}.avail-day.past .avail-body{background-color:var(--color-surface-sunken)}.avail-body{position:relative;height:calc(var(--avail-hour-height) * var(--avail-hours));background-image:repeating-linear-gradient(to bottom,transparent 0 calc(var(--avail-hour-height) - 1px),var(--hair) calc(var(--avail-hour-height) - 1px) var(--avail-hour-height))}.avail-day.day-closed .avail-body{background-image:repeating-linear-gradient(135deg,var(--color-neutral-200) 0 5px,transparent 5px 12px)}.avail-gutter .avail-body{display:grid;grid-auto-rows:var(--avail-hour-height);padding-right:6px;font-size:var(--text-micro);font-variant-numeric:tabular-nums;color:var(--fg-2);text-align:right;background:none}.avail-hours{position:absolute;right:0;left:0;background:var(--color-sky-wash)}.avail-busy{position:absolute;right:4px;left:4px;overflow:hidden;padding:2px 6px;font-size:var(--text-micro);color:var(--fg-2);background:var(--color-neutral-200);border-inline-start:var(--rule-width) solid var(--color-neutral-400)}.avail-busy.kind-away{color:var(--color-text);background:var(--color-warn-soft);border-inline-start-color:var(--color-warn)}.avail-slot{position:absolute;right:6px;left:6px;padding:0 6px;font:inherit;font-size:var(--text-micro);font-variant-numeric:tabular-nums;color:var(--color-text);text-align:left;background:var(--color-pass-soft);border:1px solid var(--color-pass);cursor:pointer}.avail-slot:disabled{color:var(--fg-2);background:var(--color-neutral-100);border-color:var(--hair);cursor:not-allowed}.avail-slot.is-chosen{color:var(--color-white);background:var(--accent-strong);border-color:var(--accent-strong)}.avail-slot:focus-visible{z-index:1;outline:var(--focus-width) solid var(--mark);outline-offset:var(--focus-offset)}.avail-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0;padding:0;font-size:var(--text-micro);color:var(--fg-2);list-style:none}.avail-legend li{display:inline-flex;align-items:center;gap:6px}.avail-legend .avail-key{position:static;display:inline-block;width:14px;height:10px;padding:0}.avail-legend .avail-key.day-closed{background-image:repeating-linear-gradient(135deg,var(--color-neutral-200) 0 3px,transparent 3px 6px);border:1px solid var(--hair)}.resume-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}@media(max-width:1279px){.resume-workspace{grid-template-columns:minmax(0,1fr)}.resume-preview-col{position:static;max-height:none;overflow-y:visible}}.resume-editor,.resume-form,.resume-form-section,.resume-picker,.resume-entries,.resume-draft{display:flex;flex-direction:column;min-width:0}.resume-editor,.resume-form{gap:28px}.resume-form-section,.resume-picker,.resume-entries,.resume-draft{gap:12px}.resume-preview-col{position:sticky;top:16px;display:flex;flex-direction:column;gap:var(--gap-grid);max-height:calc(100dvh - 32px);min-width:0;overflow-y:auto}.resume-sheet{background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--r-sheet);box-shadow:var(--elevation-raised);padding:32px 36px;color:var(--color-text);font-size:var(--text-sm);line-height:1.5;overflow-wrap:anywhere}.resume-head{border-bottom:1px solid var(--color-divider);padding-bottom:12px}.resume-head h2{font-family:var(--font-heading);font-size:var(--text-h2)}.resume-headline{color:var(--accent-ink);font-weight:600}.resume-meta,.resume-code,.resume-foot{color:var(--ink-55);font-size:var(--text-micro)}.resume-code{font-family:var(--font-mono)}.resume-section h3{margin:16px 0 6px}.resume-sheet p{margin:0 0 4px}.resume-section ul{margin:4px 0 0;padding-left:18px}.resume-project+.resume-project,.resume-item+.resume-item{margin-top:10px}.resume-project-title{font-weight:600}.resume-foot{margin-top:18px;padding-top:10px;border-top:1px solid var(--color-divider)}.resume-picks{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}.resume-pick,.resume-entry{display:flex;flex-direction:column;gap:10px;margin:0;padding:12px 14px;border:1px solid var(--color-divider);border-radius:var(--r-card)}.resume-pick.featured{border-color:var(--color-accent)}.resume-pick-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px}.resume-available-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px}.resume-available-head>p{margin:0}.resume-available-find{flex:0 1 240px;min-height:var(--control-sm)}.resume-available{gap:0;border-top:1px solid var(--color-divider)}.resume-available-row{margin:0;border-bottom:1px solid var(--color-divider)}.resume-available-row>.toggle,.resume-available-row>.tooltip-anchor>.toggle{min-height:var(--control-md);gap:10px;padding:0 4px;font-size:var(--text-sm);cursor:pointer}@media(hover:hover){.resume-available-row:hover{background:var(--color-neutral-100)}}.resume-available-title{flex:1 1 auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.resume-draft-part{padding-top:10px;border-top:1px solid var(--color-divider)}.placement-resume{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.interview-list{margin:0;padding:0;list-style:none}.interview-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;padding:10px 0;border-top:1px solid var(--color-divider)}.interview-row:first-child{border-top:0}.interview-row>a{flex:1 1 220px;font-weight:600}.interview-question{margin:0 0 6px;font-size:var(--text-card);font-weight:600}.interview-answer{margin:0 0 12px;white-space:pre-wrap}.interview-feedback{display:flex;flex-direction:column;gap:10px;padding-top:12px;border-top:1px solid var(--color-divider)}.interview-feedback-part .plabel{margin:0 0 4px}.interview-feedback-part ul,.interview-feedback-part ol{margin:0;padding-left:18px}.interview-quote{color:var(--color-slate);font-style:italic}.interview-live{min-height:3em;margin:0;padding:10px 12px;border:1px dashed var(--color-divider-strong);border-radius:var(--r-card);color:var(--color-slate)}.resume-preview-stack,.resume-check,.resume-pdf,.resume-bullets,.resume-period,.resume-templates,.resume-order,.resume-gates{display:flex;flex-direction:column;gap:8px;min-width:0}.resume-bullets,.resume-period,.resume-templates,.resume-order,.resume-gates{margin:0;padding:0;border:0}.resume-nav{display:flex;flex-wrap:wrap;gap:6px 16px;padding-bottom:12px;border-bottom:1px solid var(--color-divider)}.resume-nav a{color:var(--accent-ink);font-size:var(--text-label-lg);text-decoration:none}@media(hover:hover){.resume-nav a:hover{text-decoration:underline}}@media(max-width:760px){.resume-nav{row-gap:0}.resume-nav a{display:inline-flex;align-items:center;min-height:var(--touch-min)}}.resume-form-section:focus{outline:none}.resume-count{align-self:center;color:var(--ink-55);font-family:var(--font-mono);font-size:var(--text-micro)}.resume-period-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.resume-template{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--color-divider);border-radius:var(--r-ctl);cursor:pointer}.resume-template:has(input:checked){border-color:var(--color-accent)}.resume-template>span{display:flex;flex-direction:column;gap:2px}.resume-section-list,.resume-issues ul{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}.resume-section-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding-bottom:6px;border-bottom:1px solid var(--color-divider)}.resume-check-summary{font-weight:600}.resume-issue{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:6px 10px;border-inline-start:var(--rule-width) solid var(--color-warn);border-radius:var(--r-mark);background:var(--color-warn-soft)}.resume-issues.fix .resume-issue{border-inline-start-color:var(--color-fail);background:var(--color-fail-soft)}.resume-pdf-frame{width:100%;max-height:calc(100dvh - 32px);aspect-ratio:210 / 297;border:1px solid var(--color-divider);border-radius:var(--r-sheet);background:var(--color-surface)}.resume-dated{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px}.resume-sheet.template-compact{padding:24px 26px;line-height:1.4}.resume-sheet.template-compact .resume-section h3{margin:10px 0 4px}.resume-sheet.template-traditional .resume-head{text-align:center}.resume-sheet.template-traditional .resume-headline,.resume-sheet.template-traditional .resume-section h3{color:var(--color-text)}.resume-sheet.template-traditional .resume-section h3{padding-bottom:2px;border-bottom:1px solid var(--color-text)}.resume-match,.resume-review,.resume-record-skills,.resume-check-review{display:flex;flex-direction:column;gap:8px;min-width:0}.resume-check-review{margin-top:12px;padding-top:12px;border-top:1px solid var(--color-divider)}.resume-match-group ul,.resume-review-notes{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}.resume-match-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 12px;padding:6px 10px;border-inline-start:var(--rule-width) solid var(--color-divider);border-radius:var(--r-mark)}.resume-match-group.shown .resume-match-row{border-inline-start-color:var(--color-pass)}.resume-match-group.evidenced .resume-match-row{border-inline-start-color:var(--color-accent)}.resume-match-group.missing .resume-match-row{border-inline-start-color:var(--color-warn)}.resume-review-note{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-inline-start:var(--rule-width) solid var(--color-warn);border-radius:var(--r-mark);background:var(--color-warn-soft)}.resume-review-note.strong{border-inline-start-color:var(--color-pass);background:var(--color-pass-soft)}.resume-review-note.unsupported{border-inline-start-color:var(--color-fail);background:var(--color-fail-soft)}.resume-review-note blockquote{margin:0;color:var(--ink-55);font-style:italic}.resume-review-note p{margin:0}.resume-review-rewrite{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:8px 10px;border:1px dashed var(--color-divider);border-radius:var(--r-ctl);background:var(--color-surface)}.marks-strip{display:flex;flex-wrap:wrap;gap:4px;margin:14px 0 0;padding:0;list-style:none}.marks-strip>li{width:var(--strip-cell-height);height:var(--strip-cell-height);border-radius:var(--r-mark);background:var(--color-neutral-100)}.marks-strip>li.present{background:var(--color-pass)}.marks-strip>li.late{background:var(--color-warn)}.marks-strip>li.absent{background:var(--color-fail)}.marks-strip>li.excused{background:var(--color-accent-100)}.legend i.present{background:var(--color-pass)}.legend i.late{background:var(--color-warn)}.legend i.absent{background:var(--color-fail)}.legend i.excused{background:var(--color-accent-100)}.attendance-actions{margin-top:12px}.case-signals{list-style:none;margin:0;padding:0;display:grid;gap:var(--gap-grid)}.case-signals>li+li{border-top:1px solid var(--ink-08);padding-top:var(--gap-grid)}.case-signals .prof-grid{margin:8px 0}.integrity-cases{display:grid;gap:var(--gap-grid)}.brief{display:flex;flex-direction:column;gap:14px;max-width:76ch;font-size:var(--text-btn);line-height:1.55}.brief p{margin:0}.brief code{padding:1px 5px;border-radius:var(--r-mark);background:var(--color-surface-sunken);font-family:var(--font-mono);font-size:var(--text-note);overflow-wrap:anywhere}.brief .brief-goal{font-size:var(--text-body);font-weight:600}.brief-block{display:flex;flex-direction:column;gap:6px}.brief-block>.plabel{margin:0}.brief-block>ul,.brief-block>ol{margin:0;display:flex;flex-direction:column;gap:6px}.brief-block>.brief-chips{flex-direction:row;flex-wrap:wrap;padding:0;list-style:none}.brief-chips li{padding:2px 10px;border:1px solid var(--ink-08);border-radius:var(--r-pill);font-size:var(--text-note)}.brief-steps{padding-left:22px}.brief-steps li::marker{color:var(--accent-ink);font-weight:650}.brief-checklist{padding:0;list-style:none}.brief-checklist li{position:relative;padding-left:24px}.brief-checklist li:before{content:"";position:absolute;top:4px;left:0;width:14px;height:14px;border:1.5px solid var(--color-pass);border-radius:var(--r-mark)}.brief-plain{padding-left:18px}.brief-callout{padding:10px 14px;border-radius:var(--r-ctl);background:var(--color-surface-sunken)}.brief-block-stuck{background:var(--color-accent-100)}.brief-links{padding:0;list-style:none}.brief-links li{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}.brief-host{color:var(--ink-50);font-family:var(--font-mono);font-size:var(--text-micro)}.brief .brief-note{color:var(--ink-55);font-size:var(--text-note)}.cell-brief{display:-webkit-box;max-width:48ch;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}.student-preview{display:flex;flex-direction:column;gap:18px;padding-top:18px}.student-preview-note{margin:0;padding:10px 14px;border-radius:var(--r-ctl);background:var(--color-surface-sunken);font-size:var(--text-note)}.student-preview-empty{margin:0;color:var(--ink-55)}.person-photo{position:relative;display:inline-grid;place-items:center;flex:none;overflow:hidden;border-radius:var(--r-ctl);background:var(--color-accent-100);color:var(--color-accent-700);font-family:var(--font-heading);font-weight:700;letter-spacing:var(--track-caps)}.person-photo img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity var(--duration-state) var(--ease-standard)}.person-photo img.is-loaded{opacity:1}.person-photo-sm{width:var(--control-sm);height:var(--control-sm);font-size:var(--text-note)}.person-photo-md{width:var(--touch-min);height:var(--touch-min);font-size:var(--text-sm)}.person-photo-lg{width:calc(var(--touch-min) * 2);height:calc(var(--touch-min) * 2);font-size:var(--text-card)}.photo-field{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px}.person-head{display:flex;align-items:center;gap:14px;margin-bottom:14px}.person-head h2,.person-head p{margin:0}.person-head .person-meta{color:var(--ink-55);font-size:var(--text-sm)}.personal-note{margin:0 0 12px;color:var(--ink-55);font-size:var(--text-sm)}@media(max-width:760px){header.top{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px var(--gap-grid)}header.top>div:first-child{grid-column:1;grid-row:1;min-width:0}header.top .right{display:contents}header.top .right .trailing{grid-column:2;grid-row:1;justify-self:end;flex-wrap:nowrap}header.top .right .actions{grid-column:1 / -1;grid-row:2;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;overflow-y:hidden;padding-bottom:2px}header.top .right .topmeta{grid-column:1 / -1;grid-row:3}}.resume-editor>.rowbar{position:sticky;bottom:0;z-index:var(--z-sticky);margin-top:var(--gap-grid);padding:10px 0;background:var(--color-bg);border-top:1px solid var(--hair)}.chart-tone-series{--tone: var(--chart-series)}.chart-tone-good{--tone: var(--chart-good);--tone-ink: var(--chart-good-ink)}.chart-tone-warning{--tone: var(--chart-warning);--tone-ink: var(--chart-warning-ink)}.chart-tone-critical{--tone: var(--chart-critical);--tone-ink: var(--chart-critical-ink)}.chart-tone-neutral{--tone: var(--chart-neutral);--tone-ink: var(--chart-neutral-ink)}.trend-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--gap-grid);align-items:start;transition:opacity var(--duration-state) var(--ease-standard)}.trend-grid.is-refreshing{opacity:.55}.trend-chart{margin:14px 0 0}.trend-frame{display:grid;grid-template-columns:6ch minmax(0,1fr);grid-template-rows:160px auto;column-gap:8px;padding-top:22px}.trend-ticks{position:relative}.trend-ticks span,.trend-x span{font-size:var(--text-micro);color:var(--ink-55);font-variant-numeric:tabular-nums;white-space:nowrap}.trend-ticks span{position:absolute;right:0;transform:translateY(50%)}.trend-plot{position:relative;border-bottom:1px solid var(--color-divider-strong)}.trend-gridlines i{position:absolute;left:0;right:0;border-top:1px solid var(--color-divider)}.trend-cursor{position:absolute;top:0;bottom:0;pointer-events:none}.trend-cursor.band{background:var(--color-surface-sunken)}.trend-cursor.line{border-left:1px solid var(--color-divider-strong)}.trend-cols,.trend-marks{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.trend-cols{display:grid}.trend-col{position:relative;display:flex;justify-content:center;align-items:flex-end}.trend-bar,.trend-stack{width:60%;max-width:24px;border-radius:var(--r-ctl) var(--r-ctl) 0 0}.trend-bar{background:var(--tone)}.trend-stack{display:flex;flex-direction:column-reverse;gap:2px;overflow:hidden}.trend-seg{flex-basis:0;min-height:2px;background:var(--tone)}.trend-value{position:absolute;left:50%;transform:translate(-50%,-4px);font-size:var(--text-label);font-weight:700;color:var(--color-text);white-space:nowrap}.trend-value.at-dot{transform:translate(-100%,-8px)}.trend-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.trend-line{fill:none;stroke:var(--chart-series);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.trend-area{fill:var(--chart-series);fill-opacity:.1}.trend-dot,.trend-point{position:absolute;box-sizing:border-box;width:12px;height:12px;border:2px solid var(--color-surface);border-radius:var(--r-pill);background:var(--chart-series);transform:translate(-50%,50%)}.trend-x{grid-column:2;display:grid;margin-top:6px}.trend-x span{text-align:center}.trend-tip{position:absolute;top:0;z-index:var(--z-menu);display:grid;gap:4px;min-width:150px;padding:8px 10px;background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--r-sheet);box-shadow:var(--elevation-overlay);transform:translate(-50%);pointer-events:none}.trend-tip.at-start{transform:none}.trend-tip.at-end{transform:translate(-100%)}.trend-tip-title{font-size:var(--text-label);color:var(--ink-55)}.trend-tip-row{display:flex;align-items:center;gap:6px;font-size:var(--text-sm);white-space:nowrap}.trend-tip-row b{font-variant-numeric:tabular-nums}.trend-tip-row span{color:var(--ink-55)}.trend-key{width:12px;height:2px;background:var(--tone)}.chart-legend{display:flex;flex-wrap:wrap;gap:6px var(--gap-grid);margin-top:12px;font-size:var(--text-label);color:var(--ink-60)}.chart-legend li{display:inline-flex;align-items:center;gap:6px}.chart-swatch{width:10px;height:10px;border-radius:var(--r-mark);background:var(--tone)}.chart-whole{margin-top:18px}.chart-segbar{display:flex;gap:2px;height:28px}.chart-seg{display:flex;align-items:center;flex-basis:0;min-width:2px;padding:0 8px;border-radius:var(--r-ctl);background:var(--tone);color:var(--tone-ink);font-size:var(--text-label)}.share-bars{margin-top:14px}.chart-numbers{margin-top:12px}.chart-numbers>summary{width:fit-content;cursor:pointer;font-size:var(--text-label);color:var(--accent-ink)}.chart-numbers[open]>summary{margin-bottom:8px}@media(min-width:1281px){.trend-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.segmented .seg.seg-danger{color:var(--color-fail)}.segmented .seg.seg-danger.active{background:var(--color-fail-soft);color:var(--color-fail);box-shadow:inset 0 0 0 1px var(--color-fail)}.row-cue{color:var(--accent-ink);font-size:var(--text-btn);font-weight:600}@media(min-width:901px){.packet-side{position:sticky;top:var(--gap-grid);max-height:calc(100vh - var(--gap-grid) * 2);overflow-y:auto}}.queue-stat.is-zero{color:var(--fg-2)}.attention-clear{padding:8px 0;color:var(--color-pass);font-weight:500}.score-strip{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.score-strip a{display:inline-flex;align-items:center;gap:6px;min-height:var(--touch-min);padding:0 10px;border:1px solid var(--hair);border-radius:var(--r-ctl);color:inherit;text-decoration:none;font-size:var(--text-btn);font-weight:600;font-variant-numeric:tabular-nums}.score-strip a.weak{border-color:var(--color-warn);background:var(--color-warn-soft)}.panel.question-weak{border-left:var(--rule-width) solid var(--color-warn)}.calendar-legend-fold{margin:0 0 12px}.calendar-legend-fold>summary{cursor:pointer;font-size:var(--text-note);color:var(--accent-ink);font-weight:600}.calendar-legend-fold[open]>summary{margin-bottom:6px}.calendar-legend-fold .calendar-legend{margin-bottom:0}.stats.stats-grid{margin-left:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px 28px;text-align:left}.stats.stats-grid+.stats.stats-grid{margin-top:24px}.drawer-section-label{margin:18px 0 6px}.drawer-section-label:first-child{margin-top:0}.queue-heads{display:grid;gap:6px;margin:12px 0 0;padding:10px 0 0;border-top:1px solid var(--hair);list-style:none;font-size:var(--text-note)}.queue-head-label{display:inline-block;min-width:15em;margin-right:8px;color:var(--fg-2)}@supports not selector(::-webkit-scrollbar){.bell-body,.drawer-body,.dialog-body,.audience-results,.slot-picker,.tutor-scroll,.tutor-sessions-scroll,.cal-wv-scroll,.packet-side,.resume-preview-col,.settings.pinned-nav>nav,.job-traceback,.msg .bubble pre{scrollbar-width:thin}}.bell-body::-webkit-scrollbar,.drawer-body::-webkit-scrollbar,.dialog-body::-webkit-scrollbar,.audience-results::-webkit-scrollbar,.slot-picker::-webkit-scrollbar,.tutor-scroll::-webkit-scrollbar,.tutor-sessions-scroll::-webkit-scrollbar,.cal-wv-scroll::-webkit-scrollbar,.packet-side::-webkit-scrollbar,.resume-preview-col::-webkit-scrollbar,.settings.pinned-nav>nav::-webkit-scrollbar,.job-traceback::-webkit-scrollbar,.msg .bubble pre::-webkit-scrollbar{width:var(--table-scrollbar-size);height:var(--table-scrollbar-size)}.bell-body::-webkit-scrollbar-track,.drawer-body::-webkit-scrollbar-track,.dialog-body::-webkit-scrollbar-track,.audience-results::-webkit-scrollbar-track,.slot-picker::-webkit-scrollbar-track,.tutor-scroll::-webkit-scrollbar-track,.tutor-sessions-scroll::-webkit-scrollbar-track,.cal-wv-scroll::-webkit-scrollbar-track,.packet-side::-webkit-scrollbar-track,.resume-preview-col::-webkit-scrollbar-track,.settings.pinned-nav>nav::-webkit-scrollbar-track,.job-traceback::-webkit-scrollbar-track,.msg .bubble pre::-webkit-scrollbar-track{background:transparent}.bell-body::-webkit-scrollbar-thumb,.drawer-body::-webkit-scrollbar-thumb,.dialog-body::-webkit-scrollbar-thumb,.audience-results::-webkit-scrollbar-thumb,.slot-picker::-webkit-scrollbar-thumb,.tutor-scroll::-webkit-scrollbar-thumb,.tutor-sessions-scroll::-webkit-scrollbar-thumb,.cal-wv-scroll::-webkit-scrollbar-thumb,.packet-side::-webkit-scrollbar-thumb,.resume-preview-col::-webkit-scrollbar-thumb,.settings.pinned-nav>nav::-webkit-scrollbar-thumb,.job-traceback::-webkit-scrollbar-thumb,.msg .bubble pre::-webkit-scrollbar-thumb{background:var(--color-neutral-400);border-radius:var(--r-pill)}.bell-body,.drawer-body,.dialog-body,.audience-results,.slot-picker,.tutor-scroll,.tutor-sessions-scroll,.cal-wv-scroll,.resume-preview-col,.settings.pinned-nav>nav{overflow-x:hidden}.progress-scroll,.kjump,.attendance-scroll,.cal-tools .segmented,.cal-board,.report-filter .segmented,.avail-scroll,.msg .bubble pre{overflow-y:hidden}.progress-scroll::-webkit-scrollbar,.attendance-scroll::-webkit-scrollbar{height:var(--table-scrollbar-size)}.progress-scroll::-webkit-scrollbar-track,.attendance-scroll::-webkit-scrollbar-track{background:var(--color-neutral-100)}.progress-scroll::-webkit-scrollbar-thumb,.attendance-scroll::-webkit-scrollbar-thumb{background:var(--color-neutral-400)}/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--color-bg:var(--color-bg);--color-text:var(--color-text);--color-divider:var(--color-divider);--color-neutral-100:var(--color-neutral-100);--color-neutral-200:var(--color-neutral-200);--color-neutral-400:var(--color-neutral-400);--color-accent:var(--color-accent);--color-accent-100:var(--color-accent-100);--color-accent-200:var(--color-accent-200);--color-accent-300:var(--color-accent-300);--color-accent-400:var(--color-accent-400);--color-accent-600:var(--color-accent-600);--color-accent-700:var(--color-accent-700);--color-accent-900:var(--color-accent-900);--color-white:var(--color-white);--font-heading:var(--font-heading);--font-body:var(--font-body);--font-mono:var(--font-mono);--text-label:var(--text-label);--text-sm:var(--text-sm);--text-body:var(--text-body)}}@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.col-5{grid-column:5}.col-6{grid-column:6}.col-7{grid-column:7}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-3{margin:calc(var(--spacing) * 3)}.m-4{margin:calc(var(--spacing) * 4)}.m-8{margin:calc(var(--spacing) * 8)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.list-item{display:list-item}.table{display:table}.table-row{display:table-row}.h-4{height:calc(var(--spacing) * 4)}.flex-shrink,.shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.mask-repeat{-webkit-mask-repeat:repeat;mask-repeat:repeat}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.sepia{--tw-sepia:sepia(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
