.brand-logo{flex-shrink:0;width:188px;max-width:100%;height:auto;display:block}.site-brand .brand-logo{width:264px}.sidebar .brand-logo{width:176px}.login-brand .brand-logo{width:280px}@media (max-width:760px){.site-brand .brand-logo{width:205px;height:auto}.login-brand .brand-logo{width:250px}}.login-home-link,.login-text-action,.login-legal-links button{color:var(--accent);font:inherit;cursor:pointer;text-align:left;text-underline-offset:3px;background:0 0;border:0;padding:0;text-decoration:underline}.login-home-link{font-size:var(--text-sm);align-items:center;gap:8px;margin-bottom:24px;text-decoration:none;display:inline-flex}.login-text-action{font-size:var(--text-sm);margin-top:18px;display:block}.auth-success{font-size:var(--text-sm);background:var(--success-soft);color:var(--success);border-radius:8px;padding:14px 16px;line-height:1.6}.login-legal-links{flex-wrap:wrap;gap:14px;margin-top:22px;display:flex}.login-legal-links button{font-size:var(--text-xs);color:var(--muted)}.legal-page{max-width:920px;margin:0 auto;padding:32px 28px 72px}.legal-page-toolbar{color:var(--ink);justify-content:space-between;align-items:center;margin-bottom:32px;font-weight:600;display:flex}.legal-document h1,.legal-gate h1{font-size:var(--title-md);letter-spacing:-.025em;margin:0 0 10px;line-height:1.25}.legal-version{font-size:var(--text-xs);color:var(--muted);margin:0 0 24px}.legal-document h2{font-size:var(--text-lg);margin:0 0 12px;font-weight:600}.legal-document p{max-width:72ch;line-height:1.8}.legal-draft-notice{background:var(--warning-soft);color:var(--warning);border:1px solid var(--warning-border);font-size:var(--text-sm);border-radius:8px;padding:16px 18px;line-height:1.65}.legal-gate{max-width:800px;padding:28px 0}.legal-gate .page-description{max-width:68ch;line-height:1.65}.legal-document-links{flex-wrap:wrap;gap:12px;margin:24px 0;display:flex}.legal-checks{gap:18px;margin-top:24px;display:grid}.legal-checks label{font-size:var(--text-sm);cursor:pointer;align-items:flex-start;gap:12px;line-height:1.6;display:flex}.legal-checks input{width:19px;height:19px;accent-color:var(--accent);flex:0 0 19px;margin-top:3px}.legal-checks .button{justify-self:start}.legal-scope-note{font-size:var(--text-xs);color:var(--muted);margin:0;line-height:1.6}.legal-page button:focus-visible,.legal-gate input:focus-visible,.login-page button:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.login-text-action:disabled,.login-home-link:disabled{opacity:.55;cursor:wait}@media (max-width:600px){.legal-page{padding:24px 18px 48px}.legal-document h1,.legal-gate h1{font-size:var(--title-md)}.legal-gate{padding:18px 0}.legal-document-links{display:grid}.legal-document-links .button{justify-content:center}.legal-checks .button{justify-content:center;width:100%}.login-legal-links{gap:12px}}.login-page .button{box-shadow:none;border-radius:4px;font-weight:500}.login-panel{border-radius:5px}.login-home-link{margin-bottom:16px}.login-page .login-text-action{min-height:36px;margin-top:10px}.login-page .login-help{margin-top:14px}.login-switch{font-size:var(--text-sm);color:var(--muted);margin-top:14px}.login-page .login-switch .login-text-action{min-height:0;margin-top:0;display:inline}.legal-gate-actions{flex-wrap:wrap;align-items:center;gap:12px 20px;display:flex}.login-page.auth-page{justify-content:flex-start;gap:28px;min-height:100svh;padding:42px 24px 48px}.auth-page .login-brand{flex-shrink:0}.auth-page .auth-panel{border:1px solid var(--line);background:var(--surface);width:100%;max-width:440px;box-shadow:none;border-radius:14px;flex-shrink:0;margin:0;padding:32px}.auth-page.auth-page-wide .auth-panel{width:100%;max-width:560px}.auth-page .login-panel.auth-panel{box-shadow:none}.auth-panel h1{letter-spacing:-.025em;margin:0;font-size:26px;font-weight:750;line-height:1.3}.auth-panel .page-description{color:var(--muted);margin:12px 0 0;font-size:14px;line-height:1.65}.auth-panel form{margin-top:26px}.auth-panel .field{gap:8px;min-width:0}.auth-panel .field+.field{margin-top:18px}.auth-panel input:not([type=checkbox]){min-height:46px;font-size:16px}.auth-panel .login-submit{white-space:normal;border-radius:9px;min-height:46px;margin-top:24px;font-weight:700}.auth-panel .login-home-link{min-height:32px;margin:0 0 20px;font-size:13px}.auth-panel .login-text-action{align-items:center;min-height:40px;margin-top:10px;font-size:14px;display:inline-flex}.auth-panel .login-switch{border-top:1px solid var(--line);margin:22px 0 0;padding-top:18px;font-size:14px;line-height:1.6}.auth-panel .login-switch .login-text-action{min-height:28px;margin:0}.auth-panel .login-legal-links{gap:8px 18px;margin-top:16px}.auth-panel .login-legal-links button{min-height:32px;font-size:12px;line-height:1.5}.auth-panel .auth-contact-grid{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px;display:grid}.auth-panel .auth-contact-grid .field+.field{margin-top:0}.auth-panel .auth-legal{border:0;border-top:1px solid var(--line);min-width:0;margin:24px 0 0;padding:20px 0 0}.auth-panel .auth-legal legend{float:left;width:100%;margin:0 0 12px;padding:0;font-size:14px;font-weight:650}.auth-panel .auth-legal .legal-checks{clear:both;gap:14px;margin:0}.auth-panel .auth-legal .legal-checks label{gap:10px;font-size:13px;line-height:1.6}.auth-panel .auth-legal button{color:var(--accent-dark);font:inherit;text-underline-offset:3px;cursor:pointer;text-align:left;background:0 0;border:0;padding:0;text-decoration:underline;display:inline}.auth-panel .auth-legal .legal-checks input{flex-basis:20px;width:20px;height:20px;margin:1px 0 0}.auth-panel .auth-steps{color:var(--muted);gap:12px;margin:18px 0 24px;padding:0;font-size:12px;list-style:none;display:flex}.auth-panel .auth-steps li{align-items:center;gap:7px;display:flex}.auth-panel .auth-steps li[aria-current=step]{color:var(--accent-dark);font-weight:700}.auth-panel .auth-steps span{border:1px solid var(--line-strong);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;width:22px;height:22px;display:grid}.auth-panel .auth-steps li[aria-current=step] span{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-dark)}.auth-panel .auth-verification-email{overflow-wrap:anywhere;margin:20px 0 0;font-size:16px;font-weight:650}.auth-panel .auth-verification-actions{gap:12px;margin-top:22px;display:grid}.auth-panel .auth-verification-actions .button{white-space:normal;text-align:center;min-height:46px}.auth-panel .auth-secondary-help{color:var(--muted);margin:20px 0 0;font-size:13px;line-height:1.65}.auth-panel .auth-success{overflow-wrap:anywhere;align-items:flex-start;gap:8px;margin-top:20px;font-size:14px;display:flex}.auth-panel .auth-success svg{flex-shrink:0;margin-top:3px}.auth-panel .auth-cancel{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:0 20px;margin-top:24px;padding-top:10px;display:flex}@media (max-width:600px){.login-page.auth-page{gap:22px;padding:24px 16px 32px}.auth-page .auth-panel{border-radius:12px;padding:24px 20px}.auth-panel h1{font-size:24px}.auth-panel .auth-contact-grid{grid-template-columns:1fr;gap:18px}.auth-panel .auth-steps{flex-wrap:wrap;row-gap:8px}}@media (max-width:350px){.auth-page .auth-panel{padding:22px 16px}.auth-panel h1{font-size:22px}}.startup-loading.startup-neutral{flex-direction:column;justify-content:center;align-items:center;gap:20px;padding:32px 24px;display:flex}.startup-neutral .startup-brand{width:min(220px,100%)}.startup-neutral .startup-brand .brand-logo{width:100%}.loading.loading-compact,.app-shell .loading.loading-compact,.app-shell.central-shell .loading.loading-compact{min-height:48px;font-size:var(--text-sm);justify-content:flex-start;gap:8px;padding-block:12px}.startup-neutral>.loading.loading-compact{text-align:center;justify-content:center}.workspace-loading{width:100%;min-width:0}@media (prefers-reduced-motion:reduce){.loading.loading-compact .spin{animation:none}}.email-action-result{gap:20px;display:grid}.email-action-result .page-description{margin:0}.email-action-icon{width:64px;height:64px;color:var(--accent-dark);background:var(--accent-soft);border-radius:12px;justify-content:center;align-items:center;display:inline-flex}.email-action-address{overflow-wrap:anywhere;margin:0;font-weight:600}.email-action-result .login-submit{margin-top:4px}.distar-site{--site-ink:#151d4f;--site-soft:#55607f;--site-teal:#0f9484;--site-teal-deep:#0b7f71;--site-orange:#f47b20;--site-line:#e3e7f1;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.4, .64, 1);min-block-size:100dvh;color:var(--site-ink);font-family:var(--font-ui);background:#f4f7f8;grid-template-rows:auto 1fr auto;font-size:16px;line-height:1.5;display:grid}.distar-site ::selection{background:var(--site-ink);color:#fff}.distar-site :focus-visible{outline:3px solid var(--site-teal-deep);outline-offset:3px;border-radius:8px}.distar-site main:focus{outline:none}.distar-site .site-container{inline-size:min(1200px,100% - 80px);margin-inline:auto}.distar-site .site-header{border-block-end:1px solid var(--site-line);background:#fff}.distar-site .site-header-inner{grid-template-columns:1fr auto 1fr;align-items:center;gap:12px 24px;min-block-size:80px;padding-block:8px;display:grid}.distar-site .site-brand{justify-self:start;min-inline-size:0;display:inline-flex}.distar-site .site-brand .brand-logo{block-size:auto;inline-size:188px}.distar-site .site-nav{border:1px solid var(--site-line);background:#f4f6fa;border-radius:999px;grid-template-columns:1fr 1fr;padding:5px;display:grid;position:relative}.distar-site .site-nav a{z-index:1;min-block-size:44px;color:var(--site-soft);border-radius:999px;justify-content:center;align-items:center;padding:0 26px;font-size:15px;font-weight:700;text-decoration:none;transition:color .2s ease-out;display:inline-flex;position:relative}.distar-site .site-nav a.is-active{color:var(--site-ink)}.distar-site .site-nav-marker{inline-size:calc(50% - 5px);box-shadow:0 1px 2px #151d4f14, inset 0 -2px 0 var(--site-teal);transition:transform .32s var(--ease-out);background:#fff;border-radius:999px;position:absolute;inset-block:5px;inset-inline-start:5px}.distar-site .site-nav[data-view=packages] .site-nav-marker{box-shadow:0 1px 2px #151d4f14, inset 0 -2px 0 var(--site-orange);transform:translate(100%)}.distar-site .site-cta{background:var(--site-orange);min-block-size:48px;color:var(--site-ink);border-radius:999px;justify-self:end;align-items:center;gap:10px;padding:0 24px;font-size:15px;font-weight:800;text-decoration:none;transition:background-color .16s ease-out,transform .16s ease-out;display:inline-flex}.distar-site .site-cta:hover{background:#ff8c37;transform:translateY(-1px)}.distar-site .site-cta:active{transform:translateY(1px)}.distar-site .site-main{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:clamp(40px,5vw,80px);padding-block:clamp(20px,4vh,48px);display:grid}.distar-site .site-hero{min-inline-size:0;animation:site-enter .56s var(--ease-out) both}.distar-site .site-eyebrow{color:var(--site-teal-deep);letter-spacing:.02em;font-size:14px;font-weight:800}.distar-site h1{letter-spacing:-.04em;text-wrap:balance;margin-block-start:12px;font-size:clamp(2.3rem,1rem + 3.3vw,4rem);font-weight:800;line-height:1.04}.distar-site h1 em{color:var(--site-teal-deep);white-space:nowrap;font-style:normal;position:relative}.distar-site h1 em:after{content:"";background:var(--site-orange);opacity:.85;transform-origin:0;block-size:.14em;animation:site-underline .7s .45s var(--ease-out) both;border-radius:1em;position:absolute;inset-block-end:.02em;inset-inline:0}.distar-site .site-lead{max-inline-size:48ch;color:var(--site-soft);margin-block-start:clamp(14px,2.4vh,22px);font-size:18px;line-height:1.6}.distar-site .site-button{background:var(--site-teal-deep);color:#fff;border-radius:12px;align-items:center;gap:12px;min-block-size:54px;margin-block-start:clamp(18px,3.2vh,30px);padding:0 26px;font-size:16px;font-weight:800;text-decoration:none;transition:background-color .16s ease-out,transform .16s ease-out;display:inline-flex}.distar-site .site-button svg{transition:transform .2s var(--ease-out)}.distar-site .site-button:hover{background:#086a5e;transform:translateY(-1px)}.distar-site .site-button:hover svg{transform:translate(3px)}.distar-site .site-button:active{transform:translateY(1px)}.distar-site .site-note{max-inline-size:46ch;color:var(--site-soft);border-block-start:1px solid #d9e2e6;margin-block-start:clamp(16px,3vh,28px);padding-block-start:14px;font-size:13px;line-height:1.5}.distar-site .site-stage{border:1px solid var(--site-line);min-block-size:clamp(400px,62vh,540px);min-inline-size:0;animation:site-enter .56s 80ms var(--ease-out) both;background:#fff;border-radius:28px;padding:clamp(20px,3.5vh,36px);display:grid;box-shadow:0 30px 60px -48px #151d4f73}.distar-site .site-stage>section{min-inline-size:0;transition:opacity .26s ease-out, transform .36s var(--ease-out), visibility 0s linear 0s;grid-area:1/1}.distar-site .site-stage[data-view=tasks] .site-packages,.distar-site .site-stage[data-view=packages] .site-tasks{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease-out,transform .18s ease-out,visibility 0s linear .18s;transform:translateY(10px)}.distar-site .site-tasks{--b-closed:168px;--b-open:112px;--ring:min(160px, 30%);--chip-h:clamp(52px, 7.4vh, 62px);--gap:10px;--grid-top:calc(var(--b-open) + clamp(18px, 3vh, 28px));--off:calc((100% - var(--grid-top) - 3 * var(--chip-h) - 2 * var(--gap)) / 2);min-block-size:100%;position:relative}.distar-site .site-brain{z-index:2;inline-size:var(--b-closed);block-size:var(--b-closed);cursor:pointer;transition:inset .62s var(--ease-spring), inline-size .62s var(--ease-spring), block-size .62s var(--ease-spring);background:radial-gradient(circle,#fff 60%,#eef7f5 61% 100%);border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;inset-block-start:calc(50% - var(--b-closed) / 2);inset-inline-start:calc(50% - var(--b-closed) / 2)}.distar-site .site-brain img{block-size:auto;inline-size:78%;animation:4.8s ease-in-out infinite site-float}.distar-site .site-tasks.is-open .site-brain{inline-size:var(--b-open);block-size:var(--b-open);inset-block-start:var(--off);inset-inline-start:calc(50% - var(--b-open) / 2)}.distar-site .site-tasks.is-open .site-brain img{animation-play-state:paused}.distar-site .site-chips{margin:0;padding:0;list-style:none;position:absolute;inset:0}.distar-site .site-chips li{--a:calc(var(--i) * 40deg - 90deg);border:1px solid var(--site-line);block-size:44px;inline-size:44px;transition:inset .62s var(--ease-spring) calc((8 - var(--i)) * 22ms), inline-size .62s var(--ease-spring) calc((8 - var(--i)) * 22ms), block-size .62s var(--ease-spring) calc((8 - var(--i)) * 22ms), padding .4s var(--ease-out), border-color .2s ease-out;background:#fff;border-radius:14px;align-items:center;gap:10px;padding:4px;font-size:14px;font-weight:700;line-height:1.25;display:flex;position:absolute;inset-block-start:calc(50% + sin(var(--a)) * var(--ring) - 22px);inset-inline-start:calc(50% + cos(var(--a)) * var(--ring) - 22px);overflow:hidden;box-shadow:0 8px 18px -12px #151d4f73}.distar-site .site-chips li>span:last-child{opacity:0;min-inline-size:0;transition:opacity .16s ease-out}.distar-site .site-chips .task-icon{background:color-mix(in srgb, var(--task) 12%, #fff);block-size:34px;inline-size:34px;color:var(--task);border-radius:10px}.distar-site .site-tasks.is-open .site-chips li{inline-size:calc((100% - 2 * var(--gap)) / 3);block-size:var(--chip-h);transition-delay:calc(var(--i) * 40ms);padding:8px 12px 8px 8px;inset-block-start:calc(var(--off) + var(--grid-top) + var(--row) * (var(--chip-h) + var(--gap)));inset-inline-start:calc(var(--col) * ((100% - 2 * var(--gap)) / 3 + var(--gap)))}.distar-site .site-tasks.is-open .site-chips li>span:last-child{opacity:1;transition:opacity .26s ease-out calc(.26s + var(--i) * 40ms)}.distar-site .site-tasks.is-open .site-chips li:hover{border-color:var(--task)}.distar-site .site-packages{align-content:center;gap:clamp(14px,2.4vh,22px);display:grid}.distar-site .site-packages h2{letter-spacing:-.02em;font-size:22px;font-weight:800;line-height:1.3}.distar-site .site-packages>ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.distar-site .site-packages>ul>li{border:1px solid var(--site-line);transition:transform .2s var(--ease-out), border-color .2s ease-out;background:#fafbfd;border-radius:18px;flex-direction:column;gap:14px;padding:clamp(18px,3vh,26px);display:flex}.distar-site .site-packages>ul>li:hover{border-color:#c9d1e4;transform:translateY(-2px)}.distar-site .site-packages>ul>li.is-training{background:var(--site-ink);color:#fff;border-color:#0000}.distar-site .site-packages h3{font-size:15px;font-weight:800}.distar-site .site-price{color:var(--site-soft);font-variant-numeric:tabular-nums;font-size:12px}.distar-site .site-price strong{color:var(--site-ink);letter-spacing:-.03em;font-size:clamp(28px,4.4vh,36px);font-weight:800;line-height:1.15;display:block}.distar-site .is-training .site-price,.distar-site .is-training .site-includes{color:#c9cfe6}.distar-site .is-training .site-price strong{color:#fff}.distar-site .site-includes{border-block-start:1px solid var(--site-line);color:var(--site-soft);gap:8px;margin:4px 0 0;padding:16px 0 0;font-size:14px;list-style:none;display:grid}.distar-site .is-training .site-includes{border-color:#ffffff24}.distar-site .site-includes li{align-items:center;gap:8px;display:flex}.distar-site .site-includes svg{color:var(--site-teal);flex:none}.distar-site .is-training .site-includes svg{color:var(--site-orange)}.distar-site .site-packages-note{color:var(--site-soft);font-size:13px}.distar-site .site-footer{border-block-start:1px solid var(--site-line);background:#fff}.distar-site .site-footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 24px;min-block-size:60px;padding-block:6px;display:flex}.distar-site .site-footer nav{flex-wrap:wrap;gap:0 24px;display:flex}.distar-site .site-footer nav a{min-block-size:44px;color:var(--site-soft);align-items:center;font-size:13px;text-decoration:none;display:inline-flex}.distar-site .site-footer nav a:hover{color:var(--site-ink);text-underline-offset:5px;text-decoration:underline}.distar-site .site-pay-band{block-size:auto;inline-size:min(300px,100%);display:block}@keyframes site-enter{0%{opacity:0;transform:translateY(12px)}}@keyframes site-underline{0%{transform:scaleX(0)}}@keyframes site-float{50%{transform:translateY(-8px)}}@media (min-width:961px) and (max-height:760px){.distar-site .site-header-inner{min-block-size:68px}.distar-site h1{font-size:clamp(2.2rem,1rem + 2.8vw,3.2rem)}.distar-site .site-lead{font-size:16px}.distar-site .site-tasks{--b-closed:140px;--b-open:92px;--ring:132px}.distar-site .site-chips li{font-size:13px}}@media (max-width:1100px) and (min-width:961px){.distar-site .site-tasks.is-open .site-chips li{padding-inline-end:8px;font-size:13px}}@media (max-width:960px){.distar-site .site-container{inline-size:calc(100% - 48px)}.distar-site .site-main{grid-template-columns:minmax(0,1fr);align-items:start;gap:28px;padding-block:28px 36px}.distar-site .site-stage{flex-direction:column;gap:32px;min-block-size:0;display:flex}.distar-site .site-stage[data-view] .site-tasks,.distar-site .site-stage[data-view] .site-packages{opacity:1;visibility:visible;pointer-events:auto;transform:none}}@media (max-width:960px),(hover:none){.distar-site .site-tasks{justify-items:center;gap:18px;display:grid}.distar-site .site-brain,.distar-site .site-tasks.is-open .site-brain{block-size:120px;inline-size:120px;position:relative;inset:auto}.distar-site .site-chips{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;inline-size:100%;display:grid;position:static}.distar-site .site-chips li,.distar-site .site-tasks.is-open .site-chips li{block-size:auto;min-block-size:56px;inline-size:auto;padding:8px 12px 8px 8px;position:static}.distar-site .site-chips li>span:last-child{opacity:1}}@media (max-width:640px){.distar-site .site-header-inner{grid-template-columns:1fr auto;min-block-size:0;padding-block:10px}.distar-site .site-brand .brand-logo{inline-size:156px}.distar-site .site-nav{grid-area:2/1/auto/-1}.distar-site .site-cta{min-block-size:44px;padding:0 16px;font-size:14px}.distar-site .site-lead{font-size:16px}.distar-site .site-button{justify-content:center;inline-size:100%}.distar-site .site-stage{border-radius:20px;padding:20px 16px}.distar-site .site-chips{grid-template-columns:repeat(2,minmax(0,1fr))}.distar-site .site-packages>ul{grid-template-columns:minmax(0,1fr)}.distar-site .site-footer-inner{padding-block:10px 16px}}@media (max-width:380px){.distar-site .site-container{inline-size:calc(100% - 32px)}.distar-site .site-brand .brand-logo{inline-size:136px}.distar-site .site-chips li{gap:8px;font-size:13px}.distar-site .site-chips .task-icon{block-size:30px;inline-size:30px}}@media (prefers-reduced-motion:reduce){.distar-site *,.distar-site :before,.distar-site :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.distar-site .site-chips li>span:last-child{opacity:1}}.test-catalog .table-primary{font-weight:700}.test-catalog .table-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.app-shell .test-catalog .test-table{table-layout:auto;min-width:0}.app-shell .test-catalog .test-table th:nth-child(2),.app-shell .test-catalog .test-table td:nth-child(2){text-align:left;width:auto;display:table-cell}.app-shell .test-catalog .test-table th:last-child,.app-shell .test-catalog .test-table td:last-child{text-align:right;width:160px}.app-shell .test-catalog .test-table .task-name-cell .table-secondary{display:block}@media (max-width:600px){.app-shell .test-catalog .test-table.has-student{min-width:580px}.app-shell .test-catalog .test-table th:last-child,.app-shell .test-catalog .test-table td:last-child{width:110px}}.attempt-history-table tbody tr{cursor:pointer}.attempt-history-table tbody tr:focus-within{background:var(--surface-hover)}.student-detail .table-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.student-heading-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.students-page>.section-tabs{overflow-x:auto}.students-page>.section-tabs button{white-space:nowrap;flex:none}.students-page>[role=tabpanel]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (max-width:850px){.student-heading-actions{justify-content:flex-start}}@media (max-width:600px){.app-shell .student-heading-actions .button{min-height:40px}}@media print{.student-heading-actions{display:none}}:root{font-family:var(--font-ui);color:var(--ink);background:var(--ground);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-size:14px}main[tabindex="-1"]:focus{outline:none}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select,textarea{font:inherit}button,input,select,textarea,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button,a,input,select,textarea{outline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus)}button:focus:not(:focus-visible){outline:none}::selection{background:var(--selection);color:var(--ink)}input,textarea{caret-color:var(--accent)}a{color:inherit;text-underline-offset:3px}h1,h2,h3,p,figure{margin:0}h1{font-size:var(--title-lg);letter-spacing:-.03em;font-weight:600;line-height:1.2}h2{font-size:var(--text-lg);letter-spacing:-.015em;font-weight:600;line-height:1.4}h3{font-size:var(--text-base);line-height:1.4}p{line-height:1.65}svg{flex-shrink:0}strong{font-weight:600}input[type=checkbox]{appearance:auto;accent-color:var(--accent);cursor:pointer;flex-shrink:0;width:16px;height:16px}input,select,textarea{color:var(--ink)}button{color:inherit}button::-moz-focus-inner{border:0}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.muted{color:var(--muted)}.number-cell{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.code-cell{font-variant-numeric:tabular-nums;font-size:var(--text-sm)}.skip-link{background:var(--ink);color:#fff;z-index:100;padding:12px 18px;position:fixed;top:-70px;left:14px}.skip-link:focus{top:12px}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.button{min-height:41px;font-weight:600;font-size:var(--text-sm);white-space:nowrap;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:8px;padding:10px 15px;line-height:1.3;text-decoration:none;transition:background .15s ease-out,border-color .15s ease-out;display:inline-flex}.button.primary{background:var(--accent);color:#fff}.button.primary:hover:not(:disabled){background:var(--accent-dark)}.button.secondary{background:var(--surface);border-color:var(--line-strong);color:var(--ink)}.button.secondary:hover:not(:disabled){background:var(--surface-hover);border-color:var(--line-strong)}.button.danger:hover:not(:disabled){background:var(--danger-dark)}.button.small{min-height:33px;font-size:var(--text-xs);padding:7px 11px}.text-button{color:var(--accent);font-weight:600;font-size:var(--text-sm);text-align:left;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;padding:5px 0;display:inline-flex}.text-button:hover:not(:disabled){text-underline-offset:4px;text-decoration:underline}.icon-button{width:34px;height:34px;color:var(--muted);background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;padding:6px;display:inline-flex}.icon-button:hover:not(:disabled){background:var(--surface-hover);color:var(--ink)}.danger-text{color:var(--danger)}.back-button{color:var(--muted);margin-bottom:22px}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--sidebar);border-right:1px solid var(--line);z-index:30;flex-direction:column;width:228px;padding:30px 18px 20px;display:flex;position:fixed;inset:0 auto 0 0}.brand{font-size:var(--title-sm);letter-spacing:.015em;color:var(--ink);align-items:center;gap:11px;padding:0 12px;font-weight:700;text-decoration:none;display:flex}.brand-symbol{background:var(--ink);color:var(--surface);letter-spacing:-.06em;border-radius:9px;justify-content:center;align-items:center;width:35px;height:37px;padding-bottom:5px;font-family:Georgia,serif;font-size:31px;font-weight:600;line-height:1;display:flex}.workspace-label{font-size:var(--text-xs);color:var(--muted);align-items:center;gap:8px;padding:23px 12px 25px;line-height:1.45;display:flex}.workspace-label span{text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.sidebar nav{flex-direction:column;gap:5px;display:flex}.nav-link{width:100%;min-height:44px;color:var(--muted);text-align:left;font-weight:500;font-size:var(--text-sm);background:0 0;border:0;border-radius:7px;align-items:center;gap:11px;padding:11px 13px;display:flex;position:relative}.nav-link:hover{background:var(--surface-hover);color:var(--ink)}.nav-link.active{background:var(--accent-soft);color:var(--accent-dark);font-weight:600}.nav-active-mark{background:var(--accent);border-radius:50%;width:5px;height:5px;margin-left:auto}.sidebar-footer{border-top:1px solid var(--line);margin-top:auto;padding:20px 9px 0}.account-name{align-items:center;gap:9px;min-width:0;margin-bottom:13px;display:flex}.account-avatar{border:1px solid var(--line-strong);background:var(--surface-muted);width:31px;height:31px;font-size:var(--text-xs);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:flex}.account-name>div{min-width:0}.account-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xs);display:block;overflow:hidden}.account-name div>span{color:var(--muted);font-size:var(--text-xs);margin-top:3px;display:block}.logout-button{color:var(--muted);font-size:var(--text-xs);background:0 0;border:0;align-items:center;gap:8px;padding:7px 0;display:flex}.logout-button:hover{color:var(--ink)}.main-shell{flex-direction:column;width:calc(100% - 228px);min-width:0;min-height:100vh;margin-left:228px;display:flex}.topbar{border-bottom:1px solid var(--line);background:#ffffffad;justify-content:space-between;align-items:center;gap:16px;height:73px;min-height:73px;padding:0 40px;display:flex}.breadcrumb{font-size:var(--text-xs);color:var(--muted);align-items:center;gap:11px;display:flex}.breadcrumb span:last-child{color:var(--ink);font-weight:500}.sync-state{font-size:var(--text-xs);color:var(--muted);white-space:nowrap;align-items:center;gap:7px;display:flex}.sync-state.has-pending{color:var(--warning)}.sync-state .text-button{font-size:var(--text-xs)}.connection-dot{background:var(--success);border-radius:50%;width:6px;height:6px}.main-content{outline:none;flex:1;width:100%;max-width:1600px;margin:0 auto;padding:40px}.app-footer{border-top:1px solid var(--line);color:var(--muted);font-size:var(--text-xs);justify-content:space-between;align-items:center;gap:15px;padding:18px 40px;display:flex}.app-footer span:first-child{letter-spacing:.03em;font-weight:600}.mobile-menu,.sidebar-scrim{display:none}.page-heading{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:30px;display:flex}.page-description{color:var(--muted);font-size:var(--text-sm);max-width:72ch;margin-top:10px}.heading-count{color:var(--muted);font-size:var(--text-xs);white-space:nowrap;margin-top:9px}.header-actions{gap:8px;display:flex}.workbench-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.search-field{background:var(--surface);border:1px solid var(--line-strong);width:365px;max-width:100%;color:var(--muted);border-radius:7px;align-items:center;gap:10px;padding:0 12px;display:flex}.search-field:focus-within{outline:2px solid var(--focus);outline-offset:2px}.search-field input{width:100%;min-width:0;height:41px;font-size:var(--text-xs);background:0 0;border:0;outline:none}.search-field input:focus-visible{outline:none}.search-field input::placeholder{color:var(--muted)}.toolbar-trailing{align-items:center;gap:17px;display:flex}.record-count{font-size:var(--text-xs);color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}.compact-field select{background:var(--surface);border:1px solid var(--line-strong);height:41px;font-size:var(--text-xs);border-radius:7px;padding:0 29px 0 11px}.selection-toolbar{background:var(--accent-soft);min-height:43px;font-size:var(--text-xs);color:var(--accent-dark);border-radius:7px;align-items:center;gap:22px;margin-bottom:12px;padding:9px 14px;display:flex}.selection-toolbar .text-button{font-size:var(--text-xs)}.selection-clear{margin-left:auto}.table-scroll{background:var(--surface);border:1px solid var(--line);border-radius:9px;position:relative;overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%;font-size:var(--text-sm)}.data-table th{background:var(--surface-muted);border-bottom:1px solid var(--line);font-weight:600;font-size:var(--text-xs);color:var(--muted);white-space:nowrap;padding:13px 17px}.data-table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:18px 17px;line-height:1.4}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover:not(.test-details-row){background:var(--surface-hover)}.data-table tbody tr.selected-row{background:var(--accent-soft)}.checkbox-cell{width:42px;padding-left:18px!important;padding-right:0!important}.checkbox-cell input{margin:0;display:block}.students-table{min-width:750px}.students-table td{height:78px}.student-name-button{text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:3px 0;font-weight:600;display:inline-flex}.student-name-button:hover>span:last-child{text-underline-offset:4px;text-decoration:underline}.student-initial{background:var(--accent-soft);width:33px;height:33px;color:var(--accent-dark);font-size:var(--text-sm);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.student-initial.large{width:49px;height:49px;font-size:var(--title-sm);border-radius:11px}.table-primary{color:var(--ink);font-weight:600;display:block}.table-secondary{font-size:var(--text-xs);color:var(--muted);margin-top:5px;display:block}.cell-actions{text-align:right;white-space:nowrap}.cell-actions .button+.button{margin-left:7px}.status{font-size:var(--text-xs);white-space:nowrap;border-radius:5px;align-items:center;padding:5px 8px;font-weight:600;line-height:1.3;display:inline-flex}.status-success{background:var(--success-soft);color:var(--success)}.status-warning{background:var(--warning-soft);color:var(--warning)}.status-neutral{background:var(--surface-muted);color:var(--muted)}.table-title-button{text-align:left;background:0 0;border:0;align-items:center;gap:9px;padding:2px 0;display:flex}.table-title-button svg{color:var(--muted)}.table-title-button:hover .table-primary{text-underline-offset:3px;text-decoration:underline}.test-table{min-width:760px}.test-table td{padding-top:21px;padding-bottom:21px}.test-table .expanded-row td{background:var(--surface-muted)}.test-table .test-details-row td{background:var(--surface-muted);padding:0}.test-details{max-width:900px;padding:22px 25px 23px}.test-instruction{font-size:var(--text-sm);color:var(--ink);max-width:75ch}.test-details>.muted{font-size:var(--text-xs);margin-top:10px}.source-reference{font-size:var(--text-xs);color:var(--muted);overflow-wrap:anywhere;margin-top:12px;display:block}.protocol-details{font-size:var(--text-xs);margin-top:16px}.protocol-details summary{cursor:pointer;color:var(--accent);width:-moz-fit-content;width:fit-content;font-weight:600}.protocol-details ul{color:var(--muted);margin:13px 0 0;padding-left:20px;line-height:1.6}.protocol-details li+li{margin-top:12px}.protocol-details .source-reference{font-size:var(--text-xs);margin-top:3px}.info-note{color:var(--muted);background:var(--accent-soft);font-size:var(--text-xs);border-radius:7px;align-items:flex-start;gap:11px;margin-bottom:24px;padding:14px 17px;display:flex}.info-note>svg{color:var(--accent);margin-top:1px}.info-note p{max-width:85ch}.empty-state{background:var(--surface);border:1px solid var(--line);text-align:center;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;min-height:330px;padding:45px 24px;display:flex}.empty-icon{background:var(--surface-muted);width:58px;height:58px;color:var(--accent);border-radius:15px;justify-content:center;align-items:center;margin-bottom:20px;display:flex}.empty-state h2{font-size:var(--text-lg)}.empty-copy{max-width:47ch;font-size:var(--text-xs);color:var(--muted);margin-top:9px}.empty-action{margin-top:23px}.loading{min-height:200px;color:var(--muted);font-size:var(--text-sm);justify-content:center;align-items:center;gap:10px;display:flex}.notice{font-size:var(--text-xs);border-radius:7px;align-items:center;gap:11px;margin-bottom:22px;padding:13px 15px;line-height:1.5;display:flex}.notice>span{flex:1}.notice .icon-button{margin:-5px -4px -5px 0}.notice-error{background:var(--danger-soft);color:var(--danger)}.notice-success{background:var(--success-soft);color:var(--success)}.workspace-error{max-width:65ch;padding:70px 0}.workspace-error p{color:var(--muted);margin-top:13px}.workspace-error .button{margin-top:22px}.student-title-row{align-items:center;gap:15px;display:flex}.student-title-row .page-description{margin-top:7px}.student-heading{margin-bottom:26px}.student-metadata{border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center;gap:42px;margin-bottom:29px;padding:22px 0;display:flex}.student-metadata>div{flex-direction:column;gap:7px;min-width:100px;display:flex}.student-metadata>div>span{color:var(--muted);font-size:var(--text-xs)}.student-metadata strong{font-size:var(--text-xs);font-weight:500}.student-metadata>.text-button{margin-left:auto}.student-note{max-width:80ch;margin:0 0 28px}.student-note h2{font-size:var(--text-xs);margin-bottom:5px}.student-note p{white-space:pre-wrap;color:var(--muted);font-size:var(--text-xs)}.section-tabs{border-bottom:1px solid var(--line);gap:28px;margin-bottom:25px;display:flex}.section-tabs button{font-weight:600;font-size:var(--text-sm);color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:11px 0 14px}.section-tabs button[aria-selected=true]{color:var(--accent-dark);border-bottom-color:var(--accent)}.section-tabs button span{font-size:var(--text-xs);background:var(--accent-soft);border-radius:4px;margin-left:5px;padding:2px 6px}.student-record-actions{border-top:1px solid var(--line);justify-content:space-between;gap:20px;margin-top:37px;padding-top:20px;display:flex}.student-record-actions .text-button{font-size:var(--text-xs)}.detail-section .data-table{min-width:690px}.form-page{max-width:930px}.student-form{border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:30px}.form-grid{grid-template-columns:1fr 1fr;gap:25px;display:grid}.field{flex-direction:column;gap:8px;min-width:0;display:flex}.field>label,.field>span:first-child{font-weight:600;font-size:var(--text-xs)}.field input,.field select,.field textarea{border:1px solid var(--line-strong);width:100%;min-height:42px;font-size:var(--text-sm);background:#fff;border-radius:6px;padding:11px 12px;line-height:1.4}.field input:disabled,.field select:disabled,.field textarea:disabled{background:var(--surface-muted);color:var(--muted)}.field input::placeholder,.field textarea::placeholder{color:var(--muted)}.field textarea{resize:vertical}.field-full{grid-column:1/-1}.required-mark{color:var(--accent);font-size:var(--text-sm)}.field-help{color:var(--muted);font-size:var(--text-xs);line-height:1.5}.form-actions{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:10px;margin-top:30px;padding-top:22px;display:flex}.confirm-dialog{width:calc(100% - 40px);max-width:480px;color:var(--ink);background:var(--surface);border:0;border-radius:12px;padding:28px;box-shadow:0 20px 60px #16291c2e}.confirm-dialog::backdrop{background:#1121205c}.dialog-copy{font-size:var(--text-sm);color:var(--muted);margin-top:16px;line-height:1.65}.dialog-copy p+p{margin-top:10px}.dialog-copy strong{color:var(--ink)}.results-filters{grid-template-columns:1fr 1fr .9fr;gap:18px;margin-bottom:22px;display:grid}.results-filters .field{gap:7px}.results-filters select{font-size:var(--text-xs)}.results-table-heading{justify-content:space-between;align-items:center;gap:18px;margin:10px 0 14px;display:flex}.check-label{font-size:var(--text-xs);color:var(--muted);cursor:pointer;align-items:center;gap:8px;display:flex}.check-label input{margin:0}.results-table{min-width:840px}.results-table th,.results-table td{padding-left:15px;padding-right:15px}.results-table .text-button{font-size:var(--text-xs)}.section-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px;display:flex}.section-heading .muted{font-size:var(--text-xs);margin-top:6px}.performance-section{margin-top:38px}.chart-guide{border:1px solid var(--line);min-height:160px;color:var(--muted);background:var(--surface-muted);text-align:center;font-size:var(--text-xs);border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:25px;display:flex}.chart-guide p{max-width:65ch}.chart-grid{border:1px solid var(--line);background:var(--surface);border-radius:9px;grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.report-chart{min-width:0;padding:23px 15px 14px}.report-chart+figure{border-left:1px solid var(--line)}.report-chart figcaption{font-weight:600;font-size:var(--text-xs);margin:0 10px 18px}.chart-frame{height:235px}.report-footnote{font-size:var(--text-xs);color:var(--muted);max-width:85ch;margin-top:12px;line-height:1.55}.attempt-details{background:var(--surface-muted);border-radius:9px;margin-top:25px;padding:24px}.attempt-details .back-button{font-size:var(--text-xs);margin-bottom:15px}.attempt-details .info-note{background:var(--accent-soft);margin-bottom:20px}.attempt-metadata{flex-wrap:wrap;gap:32px;margin:17px 0 23px;display:flex}.attempt-metadata>div{min-width:90px}.attempt-metadata dt{color:var(--muted);font-size:var(--text-xs);margin-bottom:7px}.attempt-metadata dd{font-size:var(--text-xs);margin:0;font-weight:600}.detail-practice{margin-bottom:15px}.trial-table{min-width:650px;font-size:var(--text-xs)}.trial-table td{padding-top:13px;padding-bottom:13px}.login-page{background:var(--ground);flex-direction:column;align-items:center;min-height:100vh;padding:65px 24px 30px;display:flex}.login-brand{font-size:var(--title-sm);letter-spacing:.015em;color:var(--ink);align-items:center;gap:11px;font-weight:700;display:flex}.login-panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;width:430px;max-width:100%;margin-top:39px;padding:34px 34px 28px}.login-panel h1{font-size:var(--title-md);letter-spacing:-.025em}.login-panel .page-description{font-size:var(--text-xs);margin-top:10px}.login-panel .notice{margin-top:20px;margin-bottom:0}.password-field{position:relative}.password-field input{padding-right:44px}.password-field>.icon-button{position:absolute;top:4px;right:5px}.login-submit{width:100%;min-height:44px;margin-top:26px}.login-help{font-size:var(--text-xs);color:var(--muted);border-top:1px solid var(--line);margin-top:25px;padding-top:22px;line-height:1.65}.login-footer{font-size:var(--text-xs);color:var(--muted);margin-top:auto;padding-top:50px}.startup-page{flex-direction:column;justify-content:center;align-items:center;gap:24px;min-height:100vh;padding:30px;display:flex}.startup-page>.notice{max-width:600px}.startup-page>.loading{min-height:0}@media (min-width:1600px){.main-content{padding-top:48px}.main-content,.topbar{padding-left:54px;padding-right:54px}}@media (max-width:1180px){.sidebar{width:205px;padding-left:13px;padding-right:13px}.main-shell{width:calc(100% - 205px);margin-left:205px}.main-content{padding:30px}.topbar{padding:0 30px}.app-footer{padding-left:30px;padding-right:30px}.page-heading{gap:16px}h1{font-size:var(--title-md)}.toolbar-trailing{gap:12px}.student-metadata{gap:25px}.student-metadata>div{min-width:80px}.results-filters{gap:12px}.chart-grid{grid-template-columns:1fr}.report-chart+figure{border-left:0;border-top:1px solid var(--line)}}@media (max-width:850px){.sidebar{width:220px;transition:transform .2s ease-out;transform:translate(-100%)}.sidebar.is-open{transform:translate(0)}.sidebar-scrim{z-index:25;background:#16281d4d;border:0;display:block;position:fixed;inset:0}.main-shell{width:100%;margin-left:0}.mobile-menu{margin-right:0;display:flex}.topbar{gap:12px;height:65px;min-height:65px;padding:0 22px}.breadcrumb{margin-right:auto}.breadcrumb>span:first-child,.breadcrumb>svg{display:none}.main-content{padding:30px 24px}.app-footer{padding:17px 24px}.student-metadata{flex-wrap:wrap;gap:20px}.student-metadata>.text-button{margin-left:0}.results-filters{grid-template-columns:1fr 1fr}.results-filters .field:last-child{grid-column:1/-1}.page-heading .page-description{max-width:60ch}.student-heading{align-items:center}.page-heading{margin-bottom:25px}.header-actions{flex-shrink:0}.chart-grid{grid-template-columns:1fr 1fr}.report-chart+figure{border-top:0;border-left:1px solid var(--line)}}@media (max-width:600px){:root{font-size:14px}.main-content{padding:26px 18px}.topbar{height:60px;min-height:60px;padding:0 14px}.breadcrumb{font-size:var(--text-xs)}.sync-state{font-size:var(--text-xs);gap:5px}.sync-state .text-button{font-size:var(--text-xs)}.page-heading{flex-direction:column;align-items:stretch;gap:18px;margin-bottom:23px}h1{font-size:var(--title-md)}.page-description{font-size:var(--text-xs);margin-top:8px}.page-heading>.button{align-self:flex-start}.workbench-toolbar{flex-direction:column;align-items:stretch;gap:12px}.search-field{width:100%}.toolbar-trailing{justify-content:space-between}.compact-field select{height:37px}.selection-toolbar{flex-wrap:wrap;align-items:flex-start;gap:8px 15px;padding:11px 12px}.selection-toolbar>span{width:100%}.selection-toolbar .text-button{font-size:var(--text-xs)}.selection-clear{margin-left:0}.data-table td{padding:16px 14px}.empty-state{min-height:320px;padding:35px 22px}.empty-state h2{font-size:var(--text-lg)}.empty-copy{font-size:var(--text-xs)}.student-title-row{flex-wrap:wrap;gap:12px}.student-title-row h1{font-size:var(--title-md)}.student-heading>.button{align-self:flex-start}.student-metadata{gap:23px 28px;padding:20px 0}.student-metadata>div{min-width:calc(50% - 20px)}.student-metadata>.text-button{font-size:var(--text-xs)}.section-tabs{gap:22px}.section-tabs button{font-size:var(--text-xs)}.student-record-actions{flex-direction:column;align-items:flex-start;gap:14px}.student-form{padding:22px 18px}.form-grid{grid-template-columns:1fr;gap:20px}.field-full{grid-column:auto}.form-actions{gap:8px;margin-top:24px}.form-actions .button{font-size:var(--text-xs);padding-left:13px;padding-right:13px}.results-filters{grid-template-columns:1fr;gap:15px}.results-filters .field:last-child{grid-column:auto}.results-filters .field{gap:6px}.header-actions .button{flex:1}.header-actions{align-self:stretch}.results-table-heading{gap:12px}.check-label{font-size:var(--text-xs)}.chart-grid{grid-template-columns:1fr}.report-chart+figure{border-top:1px solid var(--line);border-left:0}.chart-frame{height:220px}.attempt-details{padding:19px 14px}.attempt-metadata{gap:22px}.attempt-metadata>div{min-width:calc(50% - 12px)}.section-heading{align-items:flex-start}.section-heading h2{font-size:var(--text-base)}.member-form{padding:20px 17px}.app-footer{font-size:var(--text-xs);padding:15px 18px}.app-footer span:last-child{text-align:right;max-width:200px}.notice{font-size:var(--text-xs);align-items:flex-start;padding:11px 12px}.notice>svg{margin-top:2px}.notice .icon-button{flex-shrink:0}.login-page{padding:39px 20px 25px}.login-panel{margin-top:30px;padding:27px 23px 24px}.login-panel h1,.login-brand{font-size:var(--title-sm)}.login-footer{font-size:var(--text-xs);text-align:center}.info-note{font-size:var(--text-xs);padding:13px 14px}.test-details{padding:19px}.confirm-dialog{padding:23px}.confirm-dialog .form-actions{flex-direction:column-reverse;align-items:stretch}.confirm-dialog .button{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media print{.sidebar,.topbar,.app-footer,.header-actions,.back-button,.student-record-actions,.results-filters,.results-table-heading,.section-tabs,.selection-toolbar,.workbench-toolbar,.cell-actions,.mobile-menu{display:none!important}.main-shell{width:100%;margin:0}.main-content{padding:0}.app-shell{display:block}.table-scroll{border:0;overflow:visible}.data-table{font-size:10px;min-width:0!important}.data-table th,.data-table td{padding:8px}.chart-grid{break-inside:avoid}body{background:#fff}.page-heading{margin-bottom:20px}.status{background:0 0;padding:0}.report-footnote{color:#333}.chart-frame{height:220px}}.local-records{border:1px solid var(--line-strong);background:var(--surface);border-radius:9px;margin-bottom:30px;padding:23px 25px}.local-records .section-heading{align-items:flex-start}.local-records .section-heading .muted{font-size:var(--text-xs)}.local-record-section+.local-record-section{margin-top:25px}.local-record-section h3{font-size:var(--text-sm);margin-bottom:9px}.local-record-explanation{font-size:var(--text-xs);color:var(--muted);max-width:85ch;margin-bottom:15px}.local-record-row{border-top:1px solid var(--line);align-items:flex-start;gap:12px;padding:16px 0;display:flex}.local-record-row>svg{color:var(--warning);margin-top:3px}.local-record-summary{flex:1;min-width:0}.local-record-summary>strong{font-size:var(--text-xs);display:block}.local-record-summary>span{font-size:var(--text-xs);color:var(--muted);margin-top:5px;display:block}.local-record-error{font-size:var(--text-xs);color:var(--danger);overflow-wrap:anywhere;max-width:80ch;margin-top:8px}.local-record-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:5px;display:flex}.local-record-actions .button{font-size:var(--text-xs)}.local-record-empty{color:var(--muted);font-size:var(--text-xs);padding:12px 0}.local-record-notice{color:var(--accent-dark);font-size:var(--text-xs);margin:10px 0 17px}.local-record-button{font-size:var(--text-xs);white-space:nowrap}.sync-state .local-record-button{margin-left:7px}.local-record-button-count{background:var(--accent-soft);text-align:center;min-width:18px;font-size:var(--text-xs);color:var(--accent-dark);border-radius:4px;padding:1px 4px;display:inline-block}@media (max-width:600px){.local-records{padding:19px 16px}.local-record-row{flex-wrap:wrap;gap:10px}.local-record-summary{flex-basis:calc(100% - 36px)}.local-record-actions{justify-content:flex-start;margin-left:29px}.sync-state>span:not(.connection-dot){white-space:normal;max-width:100px;line-height:1.3}.local-record-button{font-size:var(--text-xs)}.sync-state .local-record-button{margin-left:3px}.topbar .sync-state{gap:5px}}select,.field select,.compact-field select{appearance:none;cursor:pointer;text-overflow:ellipsis;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%2353647a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 11px center;background-repeat:no-repeat;background-size:17px;padding-right:37px}.latest-attempt-status{margin-top:7px;display:block}.latest-attempt-status .status{font-size:var(--text-xs);padding:3px 6px}.home-heading{margin-bottom:22px}.home-date{font-size:var(--text-xs);color:var(--muted);white-space:nowrap;padding-top:7px}.home-overview{border-bottom:1px solid var(--line);color:var(--muted);font-size:var(--text-xs);align-items:center;gap:28px;margin-bottom:30px;padding:18px 0 23px;display:flex}.home-overview strong{font-size:var(--text-base);color:var(--ink);font-variant-numeric:tabular-nums;margin-right:5px}.home-workspace{grid-template-columns:minmax(0,1fr) minmax(270px,315px);align-items:start;gap:28px;display:grid}.home-recent{min-width:0}.home-recent .section-heading .muted{font-size:var(--text-xs)}.home-recent-table{min-width:590px}.home-recent-table td{font-size:var(--text-xs);padding:17px 14px}.home-recent-table th{padding-left:14px;padding-right:14px}.home-attempt-date{white-space:nowrap;font-size:var(--text-xs)!important}.home-start{background:var(--surface-muted);border-radius:9px;padding:25px 23px}.home-start-heading{color:var(--ink);align-items:center;gap:10px;display:flex}.home-start-heading h2{font-size:var(--text-lg)}.home-start>p{font-size:var(--text-xs);color:var(--muted);margin-top:9px}.home-start form{margin-top:24px}.home-start .field+.field{margin-top:17px}.home-start .field>span{font-size:var(--text-xs);color:var(--ink)}.home-start .field select{font-size:var(--text-xs);min-width:0}.home-start form>.button{width:100%;margin-top:20px}.quick-start-mode{font-size:var(--text-xs);color:var(--muted);margin-top:14px;line-height:1.6}.home-catalog-link{border-top:1px solid var(--line);font-size:var(--text-xs);color:var(--accent);text-align:left;justify-content:flex-start;margin-top:23px;padding-top:19px;line-height:1.5}.home-start-empty{color:var(--muted);margin-top:25px}.home-start-empty p{font-size:var(--text-xs);margin:11px 0 18px}.home-next-actions{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:30px;margin-top:32px;padding:25px 0;display:flex}.home-next-actions h2{font-size:var(--text-base)}.home-next-actions p{font-size:var(--text-xs);color:var(--muted);margin-top:6px}.home-next-actions>div:last-child{flex-shrink:0;align-items:center;gap:19px;display:flex}.home-next-actions .button,.home-next-actions .text-button{font-size:var(--text-xs)}.launch-page{max-width:760px}.launch-student{background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:28px}.launch-student h2{margin-bottom:22px}.launch-student .field{max-width:430px}.launch-student .button{white-space:normal;max-width:100%;margin-top:22px}.launch-note{font-size:var(--text-xs);color:var(--muted);max-width:70ch;margin-top:17px}.launch-unsaved{border-top:1px solid var(--line);margin-top:28px;padding-top:25px}.launch-unsaved h2{font-size:var(--text-base)}.launch-unsaved p{font-size:var(--text-xs);max-width:70ch;color:var(--muted);margin-top:8px}.launch-unsaved>.button{margin-top:18px}.expanded-filters{grid-template-columns:1.2fr 1fr 1fr .9fr}.results-inclusion-note{font-size:var(--text-xs);color:var(--muted);text-align:right}.selected-analysis{background:var(--surface);border:1px solid var(--line);border-radius:10px;margin-bottom:35px;padding:26px;scroll-margin-top:20px}.analysis-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.analysis-heading h2{font-size:var(--title-sm)}.analysis-heading p{font-size:var(--text-xs);color:var(--muted);margin-top:6px}.analysis-heading p>span{padding:0 4px}.analysis-heading-actions{align-items:center;gap:14px;display:flex}.analysis-heading-actions>.text-button{font-size:var(--text-xs)}.analysis-context{font-size:var(--text-xs);color:var(--muted);max-width:95ch;margin-top:20px;line-height:1.6}.analysis-metrics{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin:24px 0 26px;padding:22px 0;display:grid}.analysis-metrics>div{min-width:0}.analysis-metrics dt{font-size:var(--text-xs);color:var(--muted);line-height:1.4}.analysis-metrics dd{font-size:var(--title-md);letter-spacing:-.025em;font-variant-numeric:tabular-nums;margin:10px 0 7px;font-weight:600;line-height:1.2}.analysis-metrics>div>span{font-size:var(--text-xs);color:var(--muted);line-height:1.5;display:block}.metric-denominator{color:var(--muted);font-weight:400;font-size:var(--text-base)}.analysis-charts{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:25px;display:grid}.analysis-chart{min-width:0}.analysis-chart figcaption,.distribution-chart figcaption{font-size:var(--text-xs);margin-bottom:13px;font-weight:600}.analysis-chart .chart-frame{height:230px}.analysis-chart-empty{height:230px;color:var(--muted);text-align:center;font-size:var(--text-xs);background:var(--surface-muted);border-radius:7px;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:25px;display:flex}.analysis-chart-empty p{max-width:35ch}.chart-explanation{font-size:var(--text-xs);color:var(--muted);max-width:100ch;margin-top:10px;line-height:1.65}.analysis-more{border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:var(--text-xs);margin-top:23px;padding:17px 0}.analysis-more summary,.analysis-notes summary{cursor:pointer;color:var(--accent);width:-moz-fit-content;width:fit-content;font-weight:600}.analysis-distribution{padding-top:20px}.analysis-secondary-metrics{gap:45px;margin:0 0 24px;display:flex}.analysis-secondary-metrics dt{font-size:var(--text-xs);color:var(--muted);margin-bottom:7px}.analysis-secondary-metrics dd{font-size:var(--text-sm);font-variant-numeric:tabular-nums;margin:0;font-weight:600}.distribution-chart{max-width:740px}.analysis-comparison{border-top:1px solid var(--line);margin-top:26px;padding-top:26px}.analysis-more+.analysis-comparison{border-top:0;margin-top:0}.analysis-comparison h3{font-size:var(--text-sm)}.analysis-comparison .section-heading .muted{font-size:var(--text-xs)}.trend-chart{max-width:100%;height:245px}.analysis-empty-copy{font-size:var(--text-xs);color:var(--muted);max-width:90ch;padding:15px 0;line-height:1.65}.peer-comparison-heading{color:var(--muted);font-size:var(--text-xs);justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px;display:flex}.peer-table{min-width:650px;font-size:var(--text-xs)}.peer-table td{padding-top:15px;padding-bottom:15px}.analysis-notes{font-size:var(--text-xs);color:var(--muted);margin-top:19px}.analysis-notes ul{max-width:100ch;margin-top:12px;padding-left:20px;line-height:1.7}.analysis-notes li+li{margin-top:5px}.analysis-trials{border-top:1px solid var(--line);margin-top:25px;padding-top:23px}.analysis-trials .section-heading{margin-bottom:12px}.analysis-trials h3>.table-title-button{font-weight:600;font-size:var(--text-sm)}.analysis-record-meta{font-size:var(--text-xs);color:var(--muted);overflow-wrap:anywhere;flex-wrap:wrap;gap:8px 20px;margin-top:24px;display:flex}.results-history{margin-top:35px}.results-history>.section-heading .muted{font-size:var(--text-xs)}.results-history .results-table{font-size:var(--text-xs);min-width:900px}@media (max-width:1250px){.home-workspace{grid-template-columns:1fr}.home-start{order:-1}.home-start form{grid-template-columns:1fr 1fr;align-items:end;gap:16px;display:grid}.home-start .field+.field{margin-top:0}.home-start form>.button{grid-area:2/2;justify-self:end;width:-moz-fit-content;width:fit-content;margin-top:0}.quick-start-mode{font-size:var(--text-xs);margin-top:0}.home-catalog-link{margin-top:17px}.expanded-filters{grid-template-columns:1fr 1fr}.analysis-charts{grid-template-columns:1fr}.analysis-metrics{gap:18px}.analysis-heading-actions{flex-direction:column;align-items:flex-end;gap:9px}.home-date{font-size:var(--text-xs)}}@media (max-width:850px){.home-heading{flex-direction:column;gap:12px}.home-overview{font-size:var(--text-xs);flex-wrap:wrap;gap:18px}.analysis-metrics{grid-template-columns:1fr 1fr;row-gap:23px}.home-next-actions{flex-direction:column;align-items:flex-start;gap:18px}.analysis-secondary-metrics{flex-wrap:wrap;gap:25px}.analysis-comparison .section-heading{flex-direction:column;gap:8px}.analysis-comparison .section-heading>.record-count{align-self:flex-start}}@media (max-width:600px){.home-overview{gap:12px 20px;margin-bottom:24px;padding-top:11px}.home-overview>span:last-child{width:100%}.home-start{padding:22px 19px}.home-start form{flex-direction:column;align-items:stretch;display:flex}.home-start form>.button{width:100%;margin-top:0}.home-next-actions>div:last-child{flex-wrap:wrap;gap:17px}.home-date{padding-top:0}.launch-student{padding:23px 19px}.expanded-filters{grid-template-columns:1fr 1fr;gap:12px}.expanded-filters .field:last-child{grid-column:auto}.expanded-filters .field>span{font-size:var(--text-xs)}.expanded-filters select{font-size:var(--text-xs);background-position:right 8px center;background-size:15px;min-height:40px;padding-left:9px;padding-right:31px}.results-inclusion-note{font-size:var(--text-xs);max-width:180px}.selected-analysis{padding:20px 15px}.analysis-heading{gap:15px}.analysis-heading h2{font-size:var(--text-lg)}.analysis-heading p,.analysis-heading-actions .text-button{font-size:var(--text-xs)}.analysis-context{font-size:var(--text-xs);margin-top:17px}.analysis-metrics{gap:20px 14px;margin:20px 0 23px;padding:19px 0}.analysis-metrics dt{font-size:var(--text-xs)}.analysis-metrics dd{font-size:var(--title-sm);margin-top:8px}.analysis-metrics>div>span{font-size:var(--text-xs)}.analysis-chart .chart-frame{height:215px}.analysis-chart figcaption{font-size:var(--text-xs)}.analysis-charts{gap:24px}.chart-explanation{font-size:var(--text-xs)}.analysis-secondary-metrics{gap:19px 26px}.analysis-secondary-metrics>div{min-width:95px}.analysis-trials .section-heading{flex-wrap:wrap;gap:13px}.peer-comparison-heading{flex-direction:column;align-items:flex-start;gap:6px}.trend-chart{height:230px}.analysis-record-meta{font-size:var(--text-xs);gap:7px 14px}.analysis-more{font-size:var(--text-xs)}.home-recent .empty-state{min-height:275px}.home-recent-table{min-width:600px}.selected-analysis .table-scroll{max-width:100%}.analysis-notes{font-size:var(--text-xs)}}@media (forced-colors:active){select,.field select,.compact-field select{appearance:auto;background-image:none}}.task-icon{background:var(--accent-soft);width:32px;height:32px;color:var(--accent);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.task-name-cell{align-items:center;gap:11px;display:flex}.task-name-cell>div{min-width:0}.task-name-cell .table-secondary{margin-top:3px}.about-link:hover{color:var(--accent-dark)}.app-shell .topbar{height:60px;min-height:60px;padding-left:30px;padding-right:30px}.app-shell .page-heading{gap:18px;margin-bottom:21px}.app-shell h1{font-size:var(--title-md)}.app-shell .button{min-height:37px;font-size:var(--text-xs);padding:8px 13px}.app-shell .button.small{min-height:30px;font-size:var(--text-xs);padding:6px 10px}.app-shell .data-table th{padding-top:10px;padding-bottom:10px}.app-shell .data-table td{padding-top:11px;padding-bottom:11px}.app-shell .students-table td{height:61px}.app-shell .students-table .latest-attempt-status{margin-top:0;margin-left:7px;display:inline}.app-shell .latest-attempt-status .status{font-size:var(--text-xs);padding:2px 5px}.app-shell .status{font-size:var(--text-xs);padding:4px 7px}.app-shell .table-secondary{font-size:var(--text-xs);margin-top:3px}.app-shell .student-initial{width:30px;height:30px;font-size:var(--text-xs);border-radius:7px}.app-shell .student-initial.large{width:41px;height:41px;font-size:var(--text-lg)}.app-shell .student-name-button{gap:10px}.app-shell .workbench-toolbar{margin-bottom:13px}.app-shell .search-field input,.app-shell .compact-field select{height:37px}.app-shell .student-metadata{gap:30px;margin-bottom:20px;padding:15px 0}.app-shell .student-metadata>div{gap:5px}.app-shell .student-metadata>div>span,.app-shell .student-metadata strong{font-size:var(--text-xs)}.app-shell .student-heading{margin-bottom:20px}.app-shell .section-tabs button{font-size:var(--text-xs);padding:8px 0 11px}.app-shell .student-record-actions{margin-top:25px;padding-top:15px}.app-shell .student-note{margin-bottom:20px}.app-shell .info-note{font-size:var(--text-xs);margin-bottom:18px;padding:11px 14px}.app-shell .test-details{padding:17px 21px}.app-shell .field{gap:6px}.app-shell .field input,.app-shell .field select,.app-shell .field textarea{min-height:38px;font-size:var(--text-xs);padding-top:9px;padding-bottom:9px}.app-shell .empty-state{min-height:230px;padding:30px 23px}.app-shell .empty-icon{border-radius:12px;width:45px;height:45px;margin-bottom:15px}.app-shell .empty-state h2{font-size:var(--text-base)}.app-shell .empty-copy{font-size:var(--text-xs)}.app-shell .empty-action{margin-top:18px}.app-shell .home-overview{margin-bottom:22px;padding:10px 0 17px}.app-shell .home-workspace{gap:23px}.app-shell .home-start form>.button{margin-top:15px}.app-shell .home-start .field+.field{margin-top:14px}.app-shell .home-catalog-link{margin-top:17px;padding-top:14px}.app-shell .home-next-actions{margin-top:23px;padding:18px 0}.app-shell .home-recent-table td{padding-top:12px;padding-bottom:12px}.app-shell .home-start-empty{margin-top:19px}.app-shell .home-date{padding-top:5px}.app-shell .results-filters{gap:13px;margin-bottom:17px}.app-shell .analysis-heading h2{font-size:var(--text-lg)}.app-shell .analysis-context{margin-top:15px}.app-shell .analysis-metrics dd{font-size:var(--title-sm);margin-top:8px}.app-shell .analysis-charts{gap:20px}.app-shell .analysis-chart .chart-frame,.app-shell .analysis-chart-empty{height:205px}.app-shell .analysis-comparison{margin-top:20px;padding-top:20px}.app-shell .analysis-trials{margin-top:20px;padding-top:19px}.app-shell .local-records{margin-bottom:23px;padding:19px 22px}.app-shell .launch-student{padding:23px}.app-shell .launch-unsaved{margin-top:23px;padding-top:20px}@media (min-width:1600px){.app-shell .main-content,.app-shell .topbar{padding-left:38px;padding-right:38px}}@media (max-width:1250px){.app-shell .home-start form>.button,.app-shell .home-start .field+.field{margin-top:0}}@media (max-width:850px){.app-shell .topbar{padding-left:19px;padding-right:19px}.app-shell .main-content{padding:24px}.app-shell .student-metadata{gap:18px 25px}.app-shell .app-footer{padding-left:24px;padding-right:24px}}@media (max-width:600px){.app-shell .topbar{height:56px;min-height:56px;padding-left:12px;padding-right:12px}.app-shell .main-content{padding:22px 17px}.app-shell .page-heading{gap:15px;margin-bottom:19px}.app-shell h1{font-size:var(--title-md)}.app-shell .page-description{font-size:var(--text-xs)}.app-shell .button{min-height:37px;font-size:var(--text-xs)}.app-shell .student-metadata{gap:17px 23px;margin-bottom:18px;padding:13px 0}.app-shell .student-form,.app-shell .member-form{padding:20px 16px}.app-shell .form-grid{gap:17px}.app-shell .home-overview{gap:10px 16px;margin-bottom:19px;padding-top:4px}.app-shell .home-start{padding:19px 17px}.app-shell .empty-state{min-height:220px;padding:27px 20px}.app-shell .selected-analysis{padding:18px 14px}.app-shell .analysis-metrics{gap:17px 12px;padding:16px 0}.app-shell .analysis-metrics dd{font-size:var(--text-lg)}.app-shell .analysis-chart .chart-frame,.app-shell .analysis-chart-empty{height:205px}.app-shell .local-records{padding:17px 14px}.app-shell .app-footer{padding:12px 17px}.app-shell .task-icon{width:29px;height:29px}.app-shell .task-name-cell{gap:9px}.app-shell .students-table td{height:59px}.app-shell .section-tabs{gap:20px}.app-shell .test-table td{padding-top:11px;padding-bottom:11px}}.app-shell .button{box-shadow:none;border-radius:4px;font-weight:500}.app-shell .button.secondary{border-color:var(--line-strong);background:0 0}.app-shell .button.primary{background:var(--accent)}.app-shell .button.primary:hover:not(:disabled){background:var(--accent-dark)}.app-shell .button.small{min-height:34px;padding:6px 11px}.app-shell .icon-button,.app-shell .nav-link{border-radius:4px}.app-shell .task-icon{color:var(--accent);background:0 0;border-radius:4px;width:25px;height:28px}.app-shell .task-name-cell{gap:9px}.app-shell .page-heading{margin-bottom:16px}.app-shell .main-content{padding-top:20px;padding-bottom:20px}.app-shell .table-scroll,.app-shell .student-form,.app-shell .member-form,.app-shell .selected-analysis{border-radius:5px}.app-shell .test-table td{padding-top:9px;padding-bottom:9px}.app-shell .student-detail>.back-button{min-height:28px;margin-bottom:10px}.app-shell .student-detail .student-heading{align-items:center;margin-bottom:12px}.app-shell .student-detail .page-description{margin-top:4px}.app-shell .student-detail .student-metadata{flex-wrap:wrap;gap:14px 28px;margin-bottom:10px;padding:11px 0}.app-shell .student-detail .student-metadata>div{flex-direction:row;align-items:baseline;gap:8px;min-width:0}.app-shell .student-detail .student-metadata>.text-button{min-height:32px}.app-shell .student-detail .section-tabs{gap:24px;margin-bottom:12px}.app-shell .student-detail .section-tabs button{min-height:40px;padding:8px 0}.app-shell .student-detail .student-note{margin-bottom:12px}.app-shell .home-start{background:var(--surface-muted);border:1px solid var(--line);border-radius:5px}.app-shell .home-overview{margin-bottom:18px;padding-bottom:13px}.app-shell .results-filters{margin-bottom:13px}.app-shell .section-heading{margin-bottom:10px}@media (max-width:600px){.app-shell .main-content{padding-top:16px}.app-shell .student-detail .student-heading{flex-wrap:wrap;gap:10px}.app-shell .student-detail .student-heading>.button{min-height:40px}.app-shell .student-detail .student-metadata{grid-template-columns:1fr 1fr;gap:10px 16px;display:grid}.app-shell .student-detail .student-metadata>div{flex-direction:column;gap:3px}.app-shell .student-detail .student-metadata>.text-button{min-height:44px;font-size:var(--text-xs);margin-left:0}.app-shell .button.small{min-height:40px}.app-shell .student-detail .section-tabs{gap:20px}.app-shell .student-detail .section-tabs button{min-height:44px}}@font-face{font-family:Manrope;src:url(/fonts/Manrope-variable.ttf)format("truetype");font-style:normal;font-weight:400 800;font-display:swap}:root{--font-ui:Manrope, "Segoe UI", -apple-system, BlinkMacSystemFont, Arial, sans-serif;--ink:#151d4f;--muted:#59627f;--accent:#0b7f71;--accent-dark:#076356;--accent-soft:#def3ee;--orange:#f47b20;--orange-dark:#a54b08;--orange-soft:#fff0e2;--orange-line:#f9d3b0;--category-number:#2b6fe8;--category-quantity:#0f9484;--category-symbol:#7440c4;--category-cognitive:#e2670d;--surface:#fff;--surface-muted:#f3f5fb;--surface-hover:#eef7f5;--ground:#f5f7fc;--sidebar:#fff;--line:#e3e7f1;--line-strong:#c4cbdc;--focus:#0b7f71;--selection:#cdeee7;--danger:#b53a33;--danger-dark:#8e2a25;--danger-soft:#fdf0ee;--warning:#84591a;--warning-soft:#fdf5e4;--warning-border:#ecd4a3;--success:#2c7650;--success-soft:#eaf5ee;--violet:#7440c4;--violet-soft:#ece4fa;--shadow-card:0 1px 2px #151d4f0a, 0 8px 24px -14px #151d4f29;--text-xs:12px;--text-sm:13px;--text-base:14px;--text-lg:16px;--title-sm:18px;--title-md:22px;--title-lg:28px;--title-hero:36px;--control-height:36px;--control-small:32px;--control-radius:8px}.task-runner{--font-ui:"Segoe UI", -apple-system, BlinkMacSystemFont, Arial, sans-serif;--ink:#20334b;--muted:#53647a;--accent:#245f91;--accent-dark:#18496f;--accent-soft:#e9f1f8;--surface:#fff;--surface-muted:#f8fafc;--surface-hover:#eef4fa;--ground:#f5f7fa;--sidebar:#f8fafc;--line:#dce3eb;--line-strong:#bbc9d8;--focus:#245f91;--selection:#d7e8f7;--control-radius:5px;--orange:#dd6b28;--orange-dark:#a64716;--orange-soft:#fff0df;--danger:#a13632;--danger-dark:#812824;--danger-soft:#fff0ee;--warning:#79551b;--warning-soft:#fff7e6;--warning-border:#e6ce9f;--success:#2e6c49;--success-soft:#edf6f0;--control-height:36px;--control-small:32px;font-family:var(--font-ui)}:root{font-family:var(--font-ui)}button,input,select,textarea{font-family:inherit}.button,.app-shell .button,.login-page .button{min-height:var(--control-height);border-radius:var(--control-radius);font-size:var(--text-sm);box-shadow:none;gap:7px;padding:7px 12px;font-weight:600;line-height:1.4}.button.small,.app-shell .button.small{min-height:var(--control-small);font-size:var(--text-sm);padding:5px 10px}.button.primary,.app-shell .button.primary{background:var(--accent);color:#fff}.button.primary:hover:not(:disabled),.app-shell .button.primary:hover:not(:disabled){background:var(--accent-dark)}.button.secondary,.app-shell .button.secondary{border-color:var(--line-strong);background:#fff}.button.secondary:hover:not(:disabled),.app-shell .button.secondary:hover:not(:disabled){background:var(--surface-hover);border-color:var(--line-strong)}.button.danger{background:var(--danger);color:#fff}.button.subtle{color:var(--muted);background:0 0;border-color:#0000;font-weight:500}.button.subtle:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-dark)}.icon-button,.app-shell .icon-button{border-radius:var(--control-radius);width:32px;height:32px}.text-button,.logout-button{font-size:var(--text-sm);font-weight:500}.text-button{min-height:28px;line-height:1.4}.button svg,.text-button svg{width:16px;height:16px}.field>label,.field>span:first-child,.home-start .field>span{font-size:var(--text-sm);font-weight:600}.field input,.field select,.field textarea,.app-shell .field input,.app-shell .field select,.app-shell .field textarea,.compact-field select,.app-shell .compact-field select{min-height:var(--control-height);border-radius:var(--control-radius);font-size:var(--text-sm);padding-top:7px;padding-bottom:7px;line-height:1.5}.compact-field select,.app-shell .compact-field select,.field input:not([type=checkbox]),.app-shell .field input:not([type=checkbox]),.field select,.app-shell .field select{height:var(--control-height)}.search-field{border-radius:var(--control-radius)}.search-field input,.app-shell .search-field input{height:34px;font-size:var(--text-sm)}.field-help,.record-count,.table-secondary,.source-reference{font-size:var(--text-xs)}.app-shell .topbar{height:48px;min-height:48px;padding-inline:24px}.app-shell .main-content{padding:18px 24px}.app-shell .page-heading{align-items:center;gap:12px;margin-bottom:14px}.app-shell h1,.login-panel h1,.legal-document h1,.legal-gate h1{font-size:var(--title-md);font-weight:600;line-height:1.3}.app-shell h2{font-size:var(--text-lg);font-weight:600}.app-shell h3{font-size:var(--text-base);font-weight:600}.app-shell .page-description{font-size:var(--text-sm);margin-top:5px;line-height:1.5}.app-shell .back-button{margin-bottom:10px}.app-shell .nav-link{min-height:38px;font-size:var(--text-sm);padding:8px 11px;font-weight:500}.sidebar{padding-top:22px}.sidebar>.brand+nav{margin-top:24px}.navigation-feedback,.session-feedback{z-index:60;width:max-content;max-width:min(520px,100% - 32px);margin:0;position:fixed;top:64px;right:16px}.navigation-feedback{background:var(--accent-soft);color:var(--accent-dark);border-color:var(--line)}.session-records-dialog{width:min(820px,100vw - 32px);max-width:820px}.session-records-dialog .local-records{border:0;margin:0;padding:0}.workspace-label{padding-block:16px}.app-shell .app-footer{font-size:var(--text-xs);padding:10px 24px}.app-shell .section-tabs{gap:22px;margin-bottom:12px}.app-shell .section-tabs button,.app-shell .student-detail .section-tabs button{min-height:36px;font-size:var(--text-sm);padding:7px 0;font-weight:600}.app-shell .data-table{font-size:var(--text-sm)}.app-shell .data-table th{font-size:var(--text-xs);padding-block:9px;font-weight:600}.app-shell .data-table td{padding-block:10px}.app-shell .status{font-size:var(--text-xs);border-radius:3px;padding:3px 6px;font-weight:500}.app-shell .table-secondary{font-size:var(--text-xs)}.catalog-detail-meta{color:var(--muted);font-size:var(--text-xs);margin-bottom:8px}.catalog-status{vertical-align:middle;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}.catalog-status.is-pending{color:var(--warning)}.catalog-status.is-ready{color:var(--accent)}.app-shell .test-table th:nth-child(2),.app-shell .test-table td:nth-child(2){text-align:center;width:64px}.app-shell .test-table .test-details-row td{padding:0}.app-shell .test-table .cell-actions .button{min-width:0}.app-shell .student-form,.app-shell .member-form{padding:20px}.app-shell .form-grid{align-items:start;gap:16px 20px}.form-extra{border-top:1px solid var(--line);margin-top:16px;padding-top:12px}.form-extra>summary{cursor:pointer;font-size:var(--text-sm);color:var(--accent-dark);justify-content:space-between;align-items:center;gap:12px;font-weight:600;display:flex}.form-extra>summary:after{content:"+";font-size:var(--text-lg);font-weight:400}.form-extra[open]>summary:after{content:"−"}.form-extra>summary>span{color:var(--muted);font-size:var(--text-xs);margin-left:auto;font-weight:400}.form-extra>.field{margin-top:10px}.form-extra textarea{min-height:70px}.app-shell .form-actions{margin-top:18px;padding-top:14px}.confirm-dialog{border-radius:6px;padding:22px}.confirm-dialog h2{font-size:var(--title-sm)}.app-shell .info-note{font-size:var(--text-sm);border-radius:4px;margin-bottom:14px;padding:10px 12px}.app-shell .empty-state,.app-shell .home-recent .empty-state{min-height:180px;padding:24px}.app-shell .loading{min-height:140px}.app-shell .home-start{padding:16px}.app-shell .home-start form{margin-top:14px}.app-shell .home-next-actions{margin-top:18px;padding-block:14px}.app-shell .home-start form>.button{width:auto}.app-shell .header-actions{flex-wrap:wrap;gap:8px}.app-shell .header-actions>.button{flex:none}.app-shell .launch-student h2{margin-bottom:12px}.app-shell .launch-student .button{margin-top:14px}.app-shell .launch-note{font-size:var(--text-xs);margin-top:10px;line-height:1.5}.app-shell .launch-unsaved{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 18px;margin-top:16px;padding-top:14px;display:grid}.app-shell .launch-unsaved h2{grid-column:1}.app-shell .launch-unsaved p{font-size:var(--text-xs);grid-column:1;margin-top:0;line-height:1.5}.app-shell .launch-unsaved>.button{grid-area:1/2/3;margin-top:0}.app-shell .selected-analysis{margin-bottom:18px;padding:18px}.app-shell .analysis-metrics{margin:14px 0;padding:14px 0}.app-shell .analysis-metrics dd{font-size:var(--title-md)}.app-shell .analysis-chart .chart-frame,.app-shell .analysis-chart-empty{height:190px}.app-shell .analysis-more,.app-shell .analysis-trials{margin-top:14px;padding-block:12px}.app-shell .analysis-comparison{border-top:0;border-bottom:1px solid var(--line);margin-top:0;padding:12px 0}.analysis-comparison>summary{cursor:pointer;color:var(--accent-dark);font-size:var(--text-sm);font-weight:600}.comparison-content{padding-top:14px}.app-shell .analysis-record-meta{margin-top:14px}.app-shell .results-history{margin-top:18px}.results-history .table-scroll,.students-table{scroll-margin-top:16px}.results-history .table-scroll{max-height:340px}.results-history thead,.test-catalog thead{z-index:1;position:sticky;top:0}.student-detail .test-catalog>.table-scroll{max-height:max(260px,100dvh - 310px)}.login-page{padding-top:36px}.login-page .login-panel{width:100%;min-width:0;max-width:420px;margin-top:24px;padding:26px}.login-panel .page-description{font-size:var(--text-sm);line-height:1.5}.login-panel form{margin-top:18px}.login-panel .field+.field{margin-top:14px}.login-panel .login-submit{margin-top:18px}.login-panel .login-help{font-size:var(--text-xs);padding-top:14px}.login-page .login-footer{font-size:var(--text-xs);margin-top:24px;padding-top:0}.legal-document h2{font-size:var(--title-sm)}.legal-document section{margin-top:22px}.legal-document p,.legal-checks label{font-size:var(--text-base);line-height:1.6}.legal-gate{padding-top:12px}.legal-checks{gap:14px;margin-top:18px}.legal-document-links{gap:8px;margin:16px 0}.legal-page-toolbar{margin-bottom:20px}.legal-draft-notice{font-size:var(--text-sm);border-radius:4px;padding:12px 14px}.legal-gate .legal-draft-notice{margin-top:14px}.legal-checks .button{width:-moz-fit-content;width:fit-content}.password-field>.icon-button{top:50%;transform:translateY(-50%)}.table-scroll:focus-visible{outline:2px solid var(--focus);outline-offset:2px}@media (max-width:850px){.app-shell .topbar{padding-inline:18px}.app-shell .main-content{padding:16px 18px}}@media (max-width:600px){:root{--control-height:40px;--control-small:36px}.app-shell .topbar{padding-inline:12px}.app-shell .main-content{padding:14px 16px}.app-shell .page-heading{align-items:stretch;gap:10px}.app-shell .page-heading>.button,.app-shell .header-actions{align-self:flex-start}.app-shell .student-detail .student-heading{align-items:flex-start}.app-shell .header-actions>.button{flex:none}.app-shell .launch-student{padding:16px}.app-shell .launch-unsaved{grid-template-columns:1fr;gap:8px}.app-shell .launch-unsaved>.button{grid-area:auto/1;justify-self:start}.field input,.field select,.field textarea,.app-shell .field input,.app-shell .field select,.app-shell .field textarea,.app-shell .search-field input,.app-shell .compact-field select{font-size:16px}.app-shell .section-tabs button,.app-shell .student-detail .section-tabs button{min-height:40px}.app-shell .student-form,.app-shell .member-form{padding:16px}.app-shell .selected-analysis{padding:14px}.app-shell .analysis-heading{flex-wrap:wrap;gap:10px}.app-shell .analysis-charts{gap:16px}.login-page{padding-top:24px}.login-page .login-panel{margin-top:20px;padding:22px 20px}.login-panel .login-submit{min-height:40px}.student-detail .test-catalog>.table-scroll{max-height:65dvh}.app-shell .test-table{table-layout:fixed;min-width:0}.app-shell .test-table th,.app-shell .test-table td{padding-inline:8px}.app-shell .test-table th:nth-child(2),.app-shell .test-table td:nth-child(2){display:none}.app-shell .test-table th:nth-child(3){width:42px}.app-shell .test-table th:last-child,.app-shell .test-table td:last-child{width:96px}.app-shell .test-table .cell-actions .button{width:100%;min-width:0}.app-shell .test-table .status{white-space:normal;font-size:var(--text-xs)}.app-shell .test-table .button.small{font-size:var(--text-xs);gap:4px;padding-inline:7px}.app-shell .test-table .task-name-cell{gap:6px}.app-shell .test-table .task-icon{width:20px}.app-shell .test-table .task-icon svg{width:17px;height:17px}.app-shell .test-table .table-title-button{font-size:var(--text-xs);gap:3px}.app-shell .test-table .table-title-button svg{width:12px;height:12px}}.app-shell .student-detail .student-heading{margin-bottom:8px}.app-shell .student-detail .student-metadata{align-items:center;gap:10px 24px;margin-bottom:10px;padding:8px 0 12px}.app-shell .student-detail .student-metadata>div{flex-direction:row;align-items:baseline;gap:7px;display:flex}.app-shell .student-detail .student-metadata>.text-button{margin-left:auto}.app-shell .student-detail .student-metadata strong{font-weight:500}.app-shell .test-table td{padding-block:7px}.app-shell .student-detail .student-record-actions{margin-top:16px;padding-top:12px}@media (max-width:600px){.app-shell .student-detail .student-metadata{gap:8px 18px}.app-shell .student-detail .student-metadata>.text-button{margin-left:0}.app-shell .test-table tbody>tr:not(.test-details-row){height:48px}}.brand-lockup{color:var(--accent-dark);font-family:var(--font-ui);letter-spacing:.01em;align-items:center;gap:10px;font-size:22px;font-weight:700;line-height:1.2;display:inline-flex}.brand-lockup .brand-symbol{background:var(--ink);width:31px;height:33px;color:var(--surface);letter-spacing:0;border-radius:5px;padding-bottom:4px;font:600 31px/1 Georgia,serif}.connection-dot.is-unavailable{background:var(--warning)}.app-shell .workspace-error{max-width:600px;padding-block:32px}.app-shell .workspace-error p{color:var(--muted);margin-block:12px 20px}.brand-lockup .brand-symbol{background:var(--accent)}.app-shell .home-start{background:var(--orange-soft);border-color:#0000;border-radius:12px}.app-shell .home-start-heading{color:var(--orange-dark)}.home-overview strong{color:var(--accent-dark)}.students-page{width:100%;max-width:1120px}.app-shell .students-page .students-table td{height:52px;padding-block:8px}.students-page .table-primary,.students-page .table-secondary{overflow-wrap:anywhere}.site-workflow-list li:first-child>svg{color:var(--category-quantity)}.site-workflow-list li:last-child>svg{color:var(--category-symbol)}@media (max-width:600px){.students-page .checkbox-cell input{width:24px;height:24px}}.app-shell{background:var(--ground)}.app-shell .topbar,.app-shell .sidebar{background:var(--sidebar)}.app-shell .nav-link{border-radius:var(--control-radius)}.app-shell .nav-link:not(.active):hover{background:var(--accent-soft);color:var(--accent-dark)}.app-shell .sidebar-footer{padding-top:16px}.app-shell .account-avatar{color:var(--orange-dark);background:var(--orange-soft);border:0;border-radius:8px}.app-shell .table-scroll,.app-shell .student-form,.app-shell .member-form,.app-shell .selected-analysis,.app-shell .launch-student,.app-shell .empty-state{border-radius:12px}.app-shell .table-scroll{background:var(--surface)}.app-shell .data-table th{background:var(--surface-muted);color:#62645f}.app-shell .button.secondary{background:var(--surface)}.app-shell .button.secondary:hover:not(:disabled){background:var(--surface-hover)}.app-shell .student-initial{background:var(--accent-soft);border-radius:7px}.app-shell .student-metadata{border-top:0}.app-shell .info-note{background:var(--accent-soft)}.app-shell .home-start>p,.app-shell .home-start .quick-start-mode,.app-shell .home-start .field-help{color:#75533d}.app-shell .home-start .home-catalog-link{border-color:#e7cdb6}.app-shell .section-tabs button[aria-selected=true],.central-tabs button.is-active{color:var(--accent-dark);border-bottom-color:var(--accent)}.app-shell .section-tabs button[aria-selected=true]>span{color:var(--accent-dark);background:var(--accent-soft)}.app-shell .empty-icon{background:var(--orange-soft);color:var(--orange-dark);border-radius:12px}.confirm-dialog{border-radius:12px}.login-page{background:var(--ground);padding-block:44px 28px}.login-page .login-panel{border-radius:12px;max-width:430px;margin-top:26px;padding:28px}.login-page .login-panel h1{color:var(--accent-dark);font-size:26px;font-weight:700}.login-page .login-panel .page-description{margin-top:8px}.login-page .button{border-radius:var(--control-radius);font-weight:600}.login-page .login-home-link{color:var(--muted);margin-bottom:22px}.login-page .login-home-link:hover{color:var(--accent-dark)}.login-page .login-help{background:var(--orange-soft);color:var(--orange-dark);border:0;border-radius:7px;padding:12px 14px}.login-page .login-footer{margin-top:24px}.legal-page{background:var(--ground)}.legal-document{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:28px 32px}.legal-document h1{color:var(--accent-dark)}.legal-document h2{margin-top:26px}.legal-document .legal-draft-notice{margin-bottom:24px}.legal-gate .legal-draft-notice{background:var(--orange-soft);color:var(--orange-dark);border-color:#e7cdb6}.startup-page{background:var(--ground);gap:0}.startup-loading{background:var(--ground);min-height:100svh}.startup-skeleton{grid-template-columns:228px minmax(0,1fr);min-height:100svh;display:grid}.startup-skeleton-sidebar{background:var(--sidebar);border-right:1px solid var(--line);flex-direction:column;gap:26px;padding:22px 18px 20px;display:flex}.sk{background:linear-gradient(90deg,#efe9df 0%,#f8f4ee 45%,#efe9df 90%) 0 0/220% 100%;border-radius:6px;display:block}.sk-brand{align-items:center;gap:10px;padding:8px 12px 0;display:flex}.sk-mark{background:var(--accent);opacity:.85;border-radius:9px;width:30px;height:30px}.sk-word{width:78px;height:16px}.startup-skeleton-nav{gap:6px;display:grid}.startup-skeleton-nav>span,.startup-skeleton-account{border-radius:9px;align-items:center;gap:12px;height:38px;padding:0 12px;display:flex}.startup-skeleton-nav>span:first-child{background:var(--accent-soft)}.startup-skeleton-nav i,.startup-skeleton-account i{border-radius:5px;flex:none;width:18px;height:18px}.startup-skeleton-nav b{width:62%;height:10px}.startup-skeleton-nav>span:nth-child(2n) b{width:46%}.startup-skeleton-account{margin-top:auto}.startup-skeleton-account i{border-radius:9px;width:30px;height:30px}.startup-skeleton-account b{width:58%;height:10px}.startup-skeleton-workspace{min-width:0}.startup-skeleton-topbar{background:var(--sidebar);border-bottom:1px solid var(--line);align-items:center;height:60px;padding:0 30px;display:flex}.startup-skeleton-topbar>span{width:150px;height:10px}.startup-skeleton-body{max-width:1600px;margin-inline:auto;padding:27px 30px}.startup-loading-status{color:var(--muted);font-size:var(--text-xs);align-items:center;gap:7px;margin:0 0 18px;font-weight:600;display:inline-flex}.sk-title{width:220px;height:24px;margin-bottom:18px}.sk-pills{gap:8px;margin-bottom:28px;display:flex}.sk-pills>span{border-radius:999px;width:128px;height:36px}.sk-pills>span:nth-child(2){width:208px}.sk-grid{grid-template-columns:minmax(0,1fr) 348px;align-items:start;gap:28px;display:grid}.sk-card,.sk-side{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}.sk-row{border-bottom:1px solid var(--line);grid-template-columns:150px minmax(0,1fr) 40px;align-items:center;gap:24px;height:57px;padding:0 18px;display:grid}.sk-row:last-child{border-bottom:0}.sk-row>span{height:10px}.sk-row>div{justify-content:space-between;max-width:460px;display:flex}.sk-row i{border-radius:50%;width:26px;height:26px}.sk-side{background:var(--orange-soft);border-color:var(--orange-line);gap:16px;padding:22px;display:grid}.sk-side>span{background:#fff;border-radius:9px;height:38px}.sk-side>span:first-child{background:#f6dcc4;width:55%;height:16px}.sk-side>span:last-child{background:#c9d6f5}@media (prefers-reduced-motion:no-preference){.sk{animation:1.5s linear infinite sk-shimmer}.sk-page{animation:.45s cubic-bezier(.16,1,.3,1) both sk-rise}}@keyframes sk-shimmer{0%{background-position:110% 0}to{background-position:-110% 0}}@keyframes sk-rise{0%{opacity:0;transform:translateY(6px)}}@media (max-width:1250px){.sk-grid{grid-template-columns:minmax(0,1fr)}.sk-side{display:none}}@media (max-width:1180px){.startup-skeleton{grid-template-columns:205px minmax(0,1fr)}.startup-skeleton-sidebar{padding-inline:13px}}@media (max-width:850px){.startup-skeleton{grid-template-columns:minmax(0,1fr)}.startup-skeleton-sidebar{display:none}.startup-skeleton-topbar{padding-inline:18px}.startup-skeleton-body{padding:22px 17px}.sk-row{grid-template-columns:96px minmax(0,1fr);gap:14px}.sk-row>span:last-child{display:none}.sk-row i{width:20px;height:20px}.sk-pills>span{width:96px}.sk-pills>span:nth-child(2){width:140px}}.startup-content{text-align:center;flex-direction:column;align-items:center;gap:24px;width:min(100%,360px);display:flex}.startup-brand{justify-content:center;display:flex}.startup-message{font-size:var(--text-sm);color:var(--muted)}.startup-content>.loading{min-height:0}.startup-content>.notice{text-align:left;margin:0}.route-not-found{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-direction:column;align-items:flex-start;gap:16px;max-width:640px;margin:8vh auto;padding:28px;display:flex}.route-not-found p{color:var(--muted)}html{scrollbar-color:var(--line-strong) var(--ground);scrollbar-width:thin}input:not(.task-runner *)::placeholder,textarea:not(.task-runner *)::placeholder{color:#747670;opacity:1}@media (max-width:760px){.app-shell .students-table{width:100%;min-width:0;display:block}.students-table thead,.students-table tbody{display:block}.students-table thead{background:var(--surface-muted)}.students-table thead tr{border-bottom:1px solid var(--line);grid-template-columns:24px minmax(0,1fr) 40px;align-items:center;gap:10px;padding:10px 14px;display:grid}.app-shell .students-table th{border:0;min-width:0;padding:0}.students-table th:nth-child(n+3){clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.students-table tbody tr{border-bottom:1px solid var(--line);grid-template-columns:24px minmax(0,1fr) 40px;align-items:start;gap:4px 10px;padding:14px;display:grid}.students-table tbody tr:last-child{border-bottom:0}.app-shell .students-page .students-table td{border:0;min-width:0;height:auto;padding:0}.app-shell .students-table .checkbox-cell{width:24px;padding:0!important}.students-table td.checkbox-cell{grid-area:1/1/5;padding-top:8px!important}.students-table td:nth-child(2){grid-area:1/2}.students-table td.code-cell{white-space:normal;overflow-wrap:anywhere;grid-area:2/2}.students-table td.code-cell:before{content:"Kod: ";color:var(--muted)}.students-table td:nth-child(4){font-size:var(--text-xs);grid-area:3/2}.students-table td:nth-child(4):before{content:"Sınıf: ";color:var(--muted)}.students-table td:nth-child(5){font-size:var(--text-xs);overflow-wrap:anywhere;grid-area:4/2}.students-table td:nth-child(5):before{content:"Son uygulama: ";color:var(--muted)}.app-shell .students-table .latest-attempt-status{margin:5px 0 0;display:block}.students-table td.cell-actions{grid-area:1/3/5;align-self:center}.app-shell .students-table .cell-actions .icon-button{width:40px;height:40px;color:var(--accent)}.students-table .student-name-button{width:100%;min-width:0;min-height:40px}.students-table .student-name-button>span:last-child{overflow-wrap:anywhere;min-width:0}.app-shell .home-recent-table{width:100%;min-width:0;display:block}.home-recent-table thead{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.home-recent-table tbody{display:block}.home-recent-table tbody tr{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 40px;align-items:start;gap:7px 12px;padding:14px;display:grid}.home-recent-table tbody tr:last-child{border-bottom:0}.app-shell .home-recent-table td{border:0;min-width:0;padding:0}.home-recent-table td:first-child{overflow-wrap:anywhere;grid-area:1/1}.home-recent-table td.home-attempt-date{color:var(--muted);white-space:normal;grid-area:2/1}.home-recent-table td:nth-child(3){grid-area:3/1}.home-recent-table td.cell-actions{grid-area:1/2/4;align-self:center}.app-shell .home-recent-table .cell-actions .icon-button{width:40px;height:40px;color:var(--accent)}}@media (max-width:600px){.login-page{padding:28px 20px 24px}.login-page .login-panel{margin-top:22px;padding:24px 20px}.legal-document{padding:22px 18px}.route-not-found{margin:24px 16px;padding:22px}}.selected-analysis .chart-heading{justify-content:space-between;align-items:center;gap:12px;min-height:44px;margin-bottom:8px;display:flex}.chart-heading>span{min-width:0}.selected-analysis .chart-download{width:40px;height:40px;color:var(--accent);border:1px solid var(--line);border-radius:var(--control-radius);background:var(--surface);flex:0 0 40px}.selected-analysis .chart-download:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent)}.selected-analysis .chart-download:disabled{opacity:.6;cursor:wait}body{background:var(--ground)}.brand-symbol{background:var(--accent);color:#fff;border-radius:9px}.app-shell .sidebar{background:var(--sidebar);border-right:1px solid var(--line)}.app-shell .workspace-label{color:var(--muted)}.app-shell .nav-link{color:var(--muted);border-radius:9px;font-weight:600}.app-shell .nav-link:hover{background:var(--surface-hover);color:var(--ink)}.app-shell .nav-link.active{background:var(--accent-soft);color:var(--accent-dark);font-weight:700}.app-shell .nav-link.active .nav-active-mark{background:var(--orange)}.app-shell .sidebar .account-avatar{background:var(--orange-soft);border-color:var(--orange-line);color:var(--orange-dark);border-radius:9px;font-weight:800}.app-shell .logout-button:hover{color:var(--ink)}.app-shell .topbar{border-bottom-color:var(--line);background:#ffffffeb}.app-shell .breadcrumb span:last-child{color:var(--ink);font-weight:700}.app-shell h1{letter-spacing:-.025em;color:var(--ink);font-size:24px;font-weight:800;line-height:1.25}.app-shell h2{letter-spacing:-.01em;font-weight:700}.app-shell .page-description{font-size:var(--text-sm);color:var(--muted)}.app-shell .heading-count{background:var(--surface-muted);color:var(--muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;padding:3px 10px;font-weight:700;display:inline-flex}.app-shell .button,.login-page .button{font-weight:700;font-size:var(--text-sm);border-radius:9px;transition:background-color .15s ease-out,border-color .15s ease-out,color .15s ease-out}.app-shell .button.primary,.login-page .button.primary{background:var(--accent);color:#fff}.app-shell .button.primary:hover:not(:disabled),.login-page .button.primary:hover:not(:disabled){background:var(--accent-dark)}.app-shell .button.secondary{border-color:var(--line-strong);color:var(--ink);background:#fff}.app-shell .button.secondary:hover:not(:disabled){background:var(--surface-hover);border-color:#aab4c8}.app-shell .text-button{color:var(--accent);font-weight:700}.app-shell .text-button:hover:not(:disabled){color:var(--accent-dark)}.app-shell .back-button{color:var(--muted)}.app-shell .icon-button{border-radius:8px}.app-shell .icon-button:hover:not(:disabled){background:var(--surface-hover);color:var(--accent-dark)}.password-field{min-width:0;position:relative}.field .password-field>input{min-height:48px;padding-right:56px}.password-field>.icon-button{width:44px;height:44px;position:absolute;top:50%;right:2px;transform:translateY(-50%)}.password-field>.icon-button:focus-visible{outline:2px solid var(--focus);outline-offset:-3px}.app-shell .field input,.app-shell .field select,.app-shell .field textarea,.app-shell .compact-field select,.app-shell .search-field,.login-page .field input{border-color:var(--line-strong);background-color:#fff;border-radius:9px;transition:border-color .15s ease-out,box-shadow .15s ease-out}.app-shell .field input:focus-visible,.app-shell .field select:focus-visible,.app-shell .field textarea:focus-visible,.app-shell .compact-field select:focus-visible,.login-page .field input:focus-visible{border-color:var(--accent);outline:0;box-shadow:0 0 0 3px #0b7f712e}.app-shell .search-field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #0b7f712e}.app-shell .search-field input:focus-visible{outline:0}.app-shell .field>label,.app-shell .field>span:first-child{color:var(--ink);font-weight:700}.app-shell .table-scroll,.app-shell .selected-analysis,.app-shell .student-form,.app-shell .member-form,.app-shell .launch-student,.app-shell .empty-state,.app-shell .local-records,.app-shell .account-sections{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-card);border-radius:12px}.app-shell .selected-analysis .table-scroll,.app-shell .local-records .table-scroll,.app-shell .account-sections .table-scroll{box-shadow:none;border-radius:10px}.app-shell .empty-state .empty-icon{background:var(--accent-soft);color:var(--accent)}.app-shell .info-note{background:var(--accent-soft);color:var(--accent-dark);border-radius:10px}.app-shell .info-note>svg{color:var(--accent)}.app-shell .account-sections{padding:22px 28px}.app-shell .data-table th{background:var(--surface-muted);color:var(--muted);font-weight:700}.app-shell .data-table tbody tr:hover:not(.test-details-row){background:#f8f9fd}.app-shell .data-table tbody tr.selected-row{background:var(--accent-soft)}.app-shell .table-primary{color:var(--ink);font-weight:700}.app-shell .student-initial{background:var(--orange-soft);color:var(--orange-dark);border:0;font-weight:800}.app-shell .status{border-radius:999px;gap:6px;padding:3px 9px 3px 8px;font-weight:700}.app-shell .status:before{content:"";background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.app-shell .notice{border-radius:10px}.app-shell .section-tabs button{border-bottom-width:2px}.app-shell .section-tabs button:hover{color:var(--ink)}.app-shell .section-tabs button span{border-radius:999px;font-weight:700}.app-shell .task-icon[data-task-icon]{background:color-mix(in srgb, var(--task) 10%, #fff);width:32px;height:32px;color:var(--task);border-radius:9px}.task-label{align-items:center;gap:7px;display:inline-flex}.task-dot{background:var(--task);opacity:.85;border-radius:50%;flex-shrink:0;width:7px;height:7px}.app-shell .test-table .table-title-button{font-weight:700}.app-shell .catalog-status.is-ready{color:var(--success)}.app-shell .hp-heading{align-items:flex-start;margin-bottom:14px}.app-shell .hp-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:18px;display:flex}.app-shell .hp-overview{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;margin-bottom:26px;display:flex}.app-shell .home-date{color:var(--muted);font-size:var(--text-xs);padding:0;font-weight:600}.app-shell .home-overview{border-bottom:0;flex-wrap:wrap;gap:8px;margin:0;padding:0}.app-shell .home-overview>span{background:var(--surface);border:1px solid var(--line);font-size:var(--text-sm);color:var(--muted);border-radius:999px;align-items:baseline;gap:6px;width:auto;padding:7px 14px;display:inline-flex}.app-shell .home-overview strong{color:var(--ink);font-size:var(--text-lg);font-variant-numeric:tabular-nums;margin:0;font-weight:800}.app-shell .home-overview>span.is-pending{background:var(--orange-soft);border-color:var(--orange-line);color:var(--orange-dark)}.app-shell .home-overview>span.is-pending strong{color:var(--orange-dark)}.app-shell .hp-grid{grid-template-columns:minmax(0,1fr) 348px;align-items:start;gap:28px;display:grid}.app-shell .hp-grid.is-single{grid-template-columns:minmax(0,1fr)}.app-shell .hp-main{grid-template-columns:minmax(0,1fr);gap:32px;min-width:0;display:grid}.app-shell .hp-main>section{min-width:0}.app-shell .hp-section-head{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:12px;display:flex}.app-shell .hp-section-head h2{font-size:var(--title-sm);line-height:1.3}.app-shell .hp-section-head p{font-size:var(--text-sm);max-width:70ch;margin-top:3px}.app-shell .hp-section-head .text-button{white-space:nowrap}.app-shell .hp-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-card);border-radius:12px;overflow:hidden}.app-shell .hp-scroll{position:relative;overflow-x:auto}.app-shell .hp-matrix{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.app-shell .hp-matrix th,.app-shell .hp-matrix td{text-align:center;border-bottom:1px solid var(--line);padding:9px 4px}.app-shell .hp-matrix tbody tr:last-child>*{border-bottom:0}.app-shell .hp-matrix thead th{background:var(--surface-muted);color:var(--muted);font-size:var(--text-xs);padding-block:8px;font-weight:700}.app-shell .hp-matrix thead .task-icon[data-task-icon]{background:#fff;border-radius:8px;width:28px;height:28px}.app-shell .hp-matrix .is-group{border-left:1px solid var(--line)}.app-shell .hp-matrix .hp-col-student{text-align:left;min-width:150px;padding-left:18px;padding-right:12px;font-weight:400}.app-shell .hp-matrix thead .hp-col-student{font-weight:700}.app-shell .hp-matrix .hp-col-count{text-align:right;white-space:nowrap;color:var(--muted);font-variant-numeric:tabular-nums;padding-left:12px;padding-right:18px}.app-shell .hp-matrix .hp-col-count strong{color:var(--ink);font-weight:800}.app-shell .hp-matrix tr.is-current>*{background:#f8f9fd}.app-shell .hp-student{font:inherit;color:var(--ink);text-align:left;background:0 0;border:0;padding:0;font-weight:700;display:block}.app-shell button.hp-student{cursor:pointer}.app-shell button.hp-student:hover:not(:disabled){color:var(--accent-dark);text-underline-offset:3px;text-decoration:underline}.app-shell .hp-student-code{font-size:var(--text-xs);color:var(--muted);margin-top:2px;display:block}.app-shell .hp-cell{border:1.5px solid var(--line-strong);color:#0000;vertical-align:middle;background:#fff;border-radius:50%;place-items:center;width:28px;height:28px;padding:0;transition:background-color .15s ease-out,border-color .15s ease-out,color .15s ease-out;display:inline-grid}.app-shell button.hp-cell{cursor:pointer}.app-shell .hp-cell.is-empty{border-color:var(--line)}.app-shell button.hp-cell.is-empty:hover:not(:disabled),.app-shell button.hp-cell.is-empty:focus-visible,.app-shell .hp-cell.is-picked{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-dark)}.app-shell .hp-cell.is-partial{background:var(--warning-soft);border-color:var(--warning-border);color:var(--warning)}.app-shell button.hp-cell.is-partial:hover{border-color:var(--warning)}.app-shell .hp-cell.is-wait{border-style:dashed;border-color:var(--orange)}.app-shell .hp-cell:focus-visible,.app-shell .hp-student:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.app-shell .hp-legend{border-top:1px solid var(--line);background:var(--sidebar);font-size:var(--text-xs);color:var(--muted);flex-wrap:wrap;gap:6px 18px;margin:0;padding:12px 18px;list-style:none;display:flex}.app-shell .hp-legend li{align-items:center;gap:6px;display:inline-flex}.app-shell .hp-legend .task-icon[data-task-icon]{background:0 0;border-radius:0;width:16px;height:16px}.app-shell .hp-more{border-top:1px solid var(--line);font-size:var(--text-xs);color:var(--muted);padding:10px 18px}.app-shell .hp-log td{font-size:var(--text-sm);vertical-align:middle}.app-shell .hp-log th:first-child,.app-shell .hp-log td:first-child{padding-left:18px}.app-shell .hp-log .hp-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.app-shell .hp-log td.hp-num{color:var(--ink);font-weight:700}.app-shell .hp-log .hp-sub{color:var(--muted);font-weight:500;font-size:var(--text-xs);margin-left:8px}.app-shell .hp-log .hp-when{color:var(--muted);white-space:nowrap}.app-shell .hp-log .table-secondary{display:block}.app-shell .hp-log .table-secondary.hp-log-when{display:none}.app-shell .hp-log tbody tr:last-child td{border-bottom:0}.app-shell .hp-start{background:var(--orange-soft);border:1px solid var(--orange-line);border-radius:12px;padding:22px;position:sticky;top:84px}.app-shell .hp-start-heading{align-items:center;gap:10px;display:flex}.app-shell .hp-start-heading svg{color:var(--orange);flex-shrink:0}.app-shell .hp-start-heading h2{font-size:var(--title-sm);color:var(--ink)}.app-shell .hp-start form{gap:14px;margin-top:16px;display:grid}.app-shell .hp-start .field{margin:0}.app-shell .hp-start .field>span,.app-shell .hp-start .field select{font-size:var(--text-sm)}.app-shell .hp-start form>.button{justify-content:center;width:100%;min-height:42px}.app-shell .hp-start-hint,.app-shell .hp-start .quick-start-mode{font-size:var(--text-xs);color:#7a4a1f;margin:0;line-height:1.6}.app-shell .hp-brief{border-top:1px solid var(--orange-line);padding-top:14px}.app-shell .hp-brief-task{align-items:flex-start;gap:12px;display:flex}.app-shell .hp-brief-task .task-icon[data-task-icon]{background:#fff}.app-shell .hp-brief-task strong{font-size:var(--text-sm);color:var(--ink);font-weight:800;display:block}.app-shell .hp-brief-task span:not(.task-icon){font-size:var(--text-xs);color:#7a4a1f;margin-top:2px;line-height:1.55;display:block}.app-shell .hp-brief dl{font-size:var(--text-xs);gap:6px;margin:12px 0 0;line-height:1.55;display:grid}.app-shell .hp-brief dl>div{grid-template-columns:76px minmax(0,1fr);gap:10px;display:grid}.app-shell .hp-brief dt{color:#7a4a1f;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-shell .hp-brief dd{color:var(--ink);margin:0;font-weight:600}.app-shell .hp-start-empty{color:#7a4a1f;font-size:var(--text-sm);justify-items:start;gap:12px;margin-top:16px;display:grid}.app-shell .hp-catalog-link{border-top:1px solid var(--orange-line);border-radius:0;justify-content:flex-start;width:100%;margin-top:18px;padding-top:16px}@media (max-width:1250px){.app-shell .hp-grid{grid-template-columns:minmax(0,1fr)}.app-shell .hp-start{order:-1;position:static}.app-shell .hp-start form{grid-template-columns:1fr 1fr;align-items:end}.app-shell .hp-start form>:not(.field){grid-column:1/-1}.app-shell .hp-start form>.button{justify-self:start;width:auto;min-width:220px}}@media (max-width:700px){.app-shell .hp-heading{flex-direction:column;gap:12px}.app-shell .hp-actions{justify-content:flex-start;gap:14px}.app-shell .hp-start{padding:18px 16px}.app-shell .hp-start form{grid-template-columns:1fr}.app-shell .hp-start form>.button{width:100%}.app-shell .hp-section-head{flex-direction:column;align-items:flex-start;gap:8px}.app-shell .hp-matrix th,.app-shell .hp-matrix td{padding-inline:3px}.app-shell .hp-matrix .hp-col-student{z-index:1;background:var(--surface);min-width:112px;box-shadow:1px 0 0 var(--line);padding-left:14px;position:sticky;left:0}.app-shell .hp-matrix thead .hp-col-student{background:var(--surface-muted)}.app-shell .hp-matrix .hp-col-count{padding-right:14px}.app-shell .hp-cell{width:30px;height:30px}.app-shell .hp-log .hp-wide{display:none}.app-shell .hp-log .table-secondary.hp-log-when{display:block}.app-shell .hp-log th:first-child,.app-shell .hp-log td:first-child{padding-left:14px}}.app-shell .analysis-heading h2{letter-spacing:-.02em;font-size:20px;font-weight:800}.app-shell .analysis-metrics{border:0;gap:12px;padding:0}.app-shell .analysis-metrics>div{background:var(--surface-muted);border-radius:10px;padding:14px 16px}.app-shell .analysis-metrics dd{color:var(--ink);letter-spacing:-.025em;font-size:26px;font-weight:800}.app-shell .analysis-metrics>div:first-child dd{color:var(--accent-dark)}.app-shell .analysis-metrics .metric-denominator{color:var(--muted);font-size:var(--text-lg);font-weight:600}.app-shell .chart-heading>span{color:var(--ink);font-weight:700}.app-shell .analysis-more>summary,.app-shell .analysis-comparison>summary,.app-shell .analysis-notes>summary{color:var(--accent-dark);font-weight:700}.confirm-dialog{border:0;border-radius:14px;box-shadow:0 20px 50px #151d4f38}.app-shell.central-shell .topbar{background:var(--sidebar)}.app-shell .central-tabs{border-bottom:0;gap:4px}.app-shell .central-tabs button{min-height:36px;color:var(--muted);border:0;border-radius:9px;padding:7px 14px;font-weight:700}.app-shell .central-tabs button:hover{background:var(--surface-hover);color:var(--ink)}.app-shell .central-tabs button.is-active{background:var(--accent-soft);color:var(--accent-dark);border:0}.app-shell .central-counts strong{color:var(--ink);font-weight:800}.app-shell.central-shell details:not([class]){vertical-align:top;margin:4px 8px 8px 0;display:inline-block}.app-shell.central-shell details:not([class])[open]{display:block}.app-shell.central-shell details:not([class])>summary{border:1px solid var(--line-strong);min-height:34px;color:var(--ink);font-size:var(--text-sm);cursor:pointer;background:#fff;border-radius:9px;align-items:center;padding:6px 12px;font-weight:700;display:inline-flex}.app-shell.central-shell details:not([class])>summary:hover{background:var(--surface-hover)}.app-shell.central-shell details:not([class])[open]>summary{border-color:var(--accent);color:var(--accent-dark)}.login-page{background:var(--ground)}.login-page .login-panel{border:1px solid var(--line);box-shadow:var(--shadow-card);border-radius:14px}.login-page .login-panel h1{color:var(--ink);letter-spacing:-.025em;font-weight:800}.login-page .login-help{background:var(--orange-soft);color:var(--orange-dark);border:0;border-radius:10px}@media (prefers-reduced-motion:reduce){.app-shell .button,.login-page .button,.app-shell .field input,.app-shell .field select,.app-shell .hp-cell{transition:none}}@media (max-width:760px){.app-shell .home-overview>span{padding:6px 12px}.app-shell .analysis-metrics dd{font-size:22px}}@media print{.app-shell .table-scroll,.app-shell .selected-analysis{box-shadow:none}.app-shell .analysis-metrics>div{background:0 0}}.app-shell .export-panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-card);border-radius:12px;margin-bottom:22px;padding:20px 22px}.app-shell .export-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;display:flex}.app-shell .export-head h2{font-size:var(--title-sm)}.app-shell .export-presets{background:var(--surface-muted);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.app-shell .export-presets button{font:inherit;font-size:var(--text-sm);color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:6px 12px;font-weight:700}.app-shell .export-presets button.is-active{color:var(--ink);box-shadow:var(--shadow-card);background:#fff}.app-shell .export-format{font-size:var(--text-sm);border:0;flex-wrap:wrap;gap:8px 24px;margin:16px 0 0;padding:0;display:flex}.app-shell .export-format legend{color:var(--ink);margin-bottom:8px;padding:0;font-weight:700}.app-shell .export-panel label{cursor:pointer;align-items:center;gap:8px;display:inline-flex}.app-shell .export-panel input[type=checkbox],.app-shell .export-panel input[type=radio]{width:16px;height:16px;accent-color:var(--accent);flex-shrink:0;margin:0}.app-shell .export-sheets{border-top:1px solid var(--line);margin:16px 0 0;padding:0;list-style:none}.app-shell .export-sheets>li{border-bottom:1px solid var(--line)}.app-shell .export-sheet-row{min-height:46px;font-size:var(--text-sm);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;display:grid}.app-shell .export-sheet-row>label{color:var(--ink);font-weight:700}.app-shell .export-sheet-row>span{color:var(--muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.app-shell .export-columns{font-size:var(--text-sm);color:var(--ink);grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px 20px;padding:6px 0 16px 24px;display:grid}.app-shell .export-actions{flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:18px;display:flex}.app-shell .export-actions>span{font-size:var(--text-sm);color:var(--danger)}@media (max-width:700px){.app-shell .export-panel{padding:16px}.app-shell .export-sheet-row{grid-template-columns:minmax(0,1fr) auto;padding-block:8px}.app-shell .export-sheet-row>.text-button{grid-column:1/-1;justify-self:start}.app-shell .export-columns{grid-template-columns:1fr;padding-left:0}}.app-shell .button:active:not(:disabled),.login-page .button:active:not(:disabled){transform:scale(.98)}.app-shell .nav-link{transition:background-color .15s ease-out,color .15s ease-out}.app-shell .nav-link svg{transition:transform .2s cubic-bezier(.16,1,.3,1)}.app-shell .nav-link:hover svg{transform:translate(2px)}.app-shell .data-table tbody tr{transition:background-color .12s ease-out}.app-shell .icon-button svg,.app-shell .text-button svg{transition:transform .2s cubic-bezier(.16,1,.3,1)}.app-shell .cell-actions .icon-button:hover svg,.app-shell .text-button:hover svg[class*=arrow-right]{transform:translate(3px)}.app-shell .hp-cell.is-done:hover,.app-shell button.hp-cell.is-empty:hover:not(:disabled){transform:scale(1.12)}.app-shell .hp-cell{transition:background-color .15s ease-out,border-color .15s ease-out,color .15s ease-out,transform .2s cubic-bezier(.16,1,.3,1)}@media (prefers-reduced-motion:no-preference){.app-shell .main-content>*{animation:.38s cubic-bezier(.16,1,.3,1) backwards ui-rise}.app-shell .main-content>:nth-child(2){animation-delay:40ms}.app-shell .main-content>:nth-child(3){animation-delay:80ms}.app-shell .main-content>:nth-child(n+4){animation-delay:.12s}.app-shell .hp-matrix tbody tr,.app-shell .hp-log tbody tr{animation:.4s ease-out backwards ui-fade}.app-shell .hp-matrix tbody tr:nth-child(2),.app-shell .hp-log tbody tr:nth-child(2){animation-delay:.15s}.app-shell .hp-matrix tbody tr:nth-child(3),.app-shell .hp-log tbody tr:nth-child(3){animation-delay:.19s}.app-shell .hp-matrix tbody tr:nth-child(4),.app-shell .hp-log tbody tr:nth-child(4){animation-delay:.23s}.app-shell .hp-matrix tbody tr:nth-child(n+5),.app-shell .hp-log tbody tr:nth-child(n+5){animation-delay:.27s}.app-shell .hp-matrix tbody tr:first-child,.app-shell .hp-log tbody tr:first-child{animation-delay:.11s}.app-shell .hp-cell.is-done svg{animation:.45s cubic-bezier(.16,1,.3,1) .3s backwards ui-pop}.app-shell .hp-cell.is-picked{animation:.3s cubic-bezier(.16,1,.3,1) ui-pop}.app-shell .hp-brief,.app-shell .export-panel,.app-shell .export-columns,.central-create,.app-shell .notice,.central-notice,.app-shell .test-details-row>td>*{animation:.3s cubic-bezier(.16,1,.3,1) backwards ui-drop}.app-shell .nav-active-mark{animation:.35s cubic-bezier(.16,1,.3,1) backwards ui-pop}.app-shell .analysis-metrics>div{animation:.45s cubic-bezier(.16,1,.3,1) backwards ui-rise}.app-shell .analysis-metrics>div:nth-child(2){animation-delay:60ms}.app-shell .analysis-metrics>div:nth-child(3){animation-delay:.12s}.app-shell .analysis-metrics>div:nth-child(4){animation-delay:.18s}.login-page .login-panel{animation:.5s cubic-bezier(.16,1,.3,1) backwards ui-rise}.confirm-dialog[open]{animation:.22s cubic-bezier(.16,1,.3,1) ui-dialog}.confirm-dialog[open]::backdrop{animation:.2s ease-out ui-fade}}@keyframes ui-rise{0%{opacity:0;transform:translateY(8px)}}@keyframes ui-drop{0%{opacity:0;transform:translateY(-6px)}}@keyframes ui-fade{0%{opacity:0}}@keyframes ui-pop{0%{opacity:0;transform:scale(.6)}}@keyframes ui-dialog{0%{opacity:0;transform:translateY(8px)scale(.98)}}@media print{.app-shell .main-content>*,.app-shell .analysis-metrics>div{animation:none}}.app-shell:before{content:"";z-index:60;background:linear-gradient(90deg, #0f9484 0 33.34%, var(--orange) 33.34% 66.67%, var(--violet) 66.67%);height:4px;position:fixed;inset:0 0 auto}.app-shell .main-shell{background:radial-gradient(46% 420px at 100% 0%, #fdf0e2 0, #fdf0e200 100%) no-repeat, radial-gradient(40% 380px at 0% 0%, #e2f4f0 0, #e2f4f000 100%) no-repeat, var(--ground)}.app-shell .topbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffc7}.app-shell h1{letter-spacing:-.03em;font-weight:800}.app-shell .hp-card,.app-shell .table-scroll,.app-shell .hp-start,.app-shell .central-create,.app-shell .student-form,.app-shell .empty-state{border-radius:16px}.app-shell ::selection{background:var(--selection);color:var(--ink)}.app-shell input,.app-shell textarea{caret-color:var(--accent)}.app-shell .sidebar .brand-lockup>span:last-child{color:var(--ink)}.app-shell .nav-link.active svg{color:var(--accent)}.app-shell .workspace-label svg{color:var(--orange)}.app-shell .home-overview>span{box-shadow:var(--shadow-card);--tone:#0f9484;--tone-soft:var(--accent-soft);border-color:#0000;align-items:center;gap:8px;padding:8px 16px 8px 12px}.app-shell .home-overview>span:nth-child(2){--tone:#c2500a;--tone-soft:var(--orange-soft)}.app-shell .home-overview>span:nth-child(3){--tone:var(--violet);--tone-soft:var(--violet-soft)}.app-shell .home-overview strong{background:var(--tone-soft);min-width:30px;height:30px;color:var(--tone);font-size:var(--text-base);border-radius:999px;place-items:center;padding-inline:8px;display:inline-grid}.app-shell .home-overview>span.is-pending{--tone:var(--orange-dark);--tone-soft:#fff}.app-shell .hp-matrix thead .task-icon[data-task-icon]{background:var(--task);color:#fff;border-radius:50%}.app-shell .hp-cell.is-done{background:var(--task);border-color:var(--task);color:#fff}.app-shell button.hp-cell.is-done:hover{background:color-mix(in srgb, var(--task) 82%, #000);border-color:color-mix(in srgb, var(--task) 82%, #000)}.app-shell .hp-matrix thead th{background:#fff}.app-shell .task-dot{opacity:1;width:9px;height:9px}.app-shell .hp-start{background:linear-gradient(#fff3e6,#ffe9d4);border-color:#0000;box-shadow:0 14px 30px -18px #c2500a73}.app-shell .hp-start form>.button.primary,.app-shell .hp-start>.button.primary{background:#c2500a;box-shadow:0 10px 18px -10px #c2500acc}.app-shell .hp-start form>.button.primary:hover:not(:disabled),.app-shell .hp-start>.button.primary:hover:not(:disabled){background:#a74306}.app-shell .empty-state .empty-icon{border-radius:50%}.app-shell .hp-main>section:nth-child(2) .empty-icon{background:var(--violet-soft);color:var(--violet)}.app-shell .test-table th:nth-child(3),.app-shell .test-table td:nth-child(3){text-align:left;width:auto}.app-shell .test-table.has-student th:nth-child(3),.app-shell .test-table.has-student td:nth-child(3){width:170px}.app-shell .test-table .task-name-cell .table-secondary{margin-top:1px;display:block}.app-shell .test-table tbody>tr:not(.test-details-row){height:58px}.app-shell .test-last .table-secondary{margin-top:3px;display:block}.app-shell .test-table .cell-actions{text-align:right;white-space:nowrap}.app-shell .button.test-start{background:#c2500a}.app-shell .button.test-start:hover:not(:disabled){background:#a74306}.app-shell .launch-page{max-width:760px}.app-shell .launch-heading .task-icon{background:var(--task);color:#fff;border-radius:50%;width:46px;height:46px}.app-shell .launch-heading .page-description{margin-top:4px}.app-shell .launch-student{border-radius:16px;padding:20px 22px}.app-shell .launch-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.app-shell .launch-student .launch-head h2{margin:0}.app-shell .launch-student .search-field{margin-bottom:10px}.app-shell .launch-list{gap:6px;max-height:min(52dvh,460px);margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.app-shell .launch-list button{border:1px solid var(--line);width:100%;min-height:56px;color:var(--ink);font:inherit;text-align:left;background:#fff;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 14px 8px 10px;transition:border-color .15s ease-out,background-color .15s ease-out;display:grid}.app-shell .launch-list button:hover:not(:disabled),.app-shell .launch-list button:focus-visible{background:var(--orange-soft);border-color:#c2500a}.app-shell .launch-name strong{font-size:var(--text-base);font-weight:700;display:block}.app-shell .launch-name span{font-size:var(--text-xs);color:var(--muted)}.app-shell .launch-go{color:#fff;font-size:var(--text-sm);background:#c2500a;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-weight:700;display:inline-flex}.app-shell .launch-none{font-size:var(--text-sm);color:var(--muted);margin:4px 0}@media (max-width:760px){.app-shell .test-table.has-student th:nth-child(3),.app-shell .test-table.has-student td:nth-child(3){width:96px}.app-shell .test-table .task-name-cell .table-secondary{display:none}.app-shell .launch-go{padding:6px 10px}}.app-shell .results-filters{grid-template-columns:repeat(4,minmax(0,1fr));max-width:none}.app-shell .analysis-heading-actions .button.test-start{order:-1}.app-shell .chart-key{color:var(--ink);align-items:center;gap:6px;margin-right:14px;font-weight:600;display:inline-flex}.app-shell .chart-key:before{content:"";background:var(--success);border-radius:50%;width:9px;height:9px}.app-shell .chart-key.is-wrong:before{background:var(--danger)}.app-shell .analysis-progress{border:1px solid var(--line);background:linear-gradient(#f1faf8,#f8f9fd);border-radius:14px;margin-top:18px;padding:18px 20px}.app-shell .analysis-progress h3{font-size:var(--title-sm)}.app-shell .analysis-progress-change{font-size:var(--text-sm);color:var(--muted);margin-top:4px}.app-shell .analysis-progress-change strong{color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:800}.app-shell .analysis-progress .trend-chart{height:240px}.app-shell .analysis-progress .progress-table{background:#fff}.app-shell .analysis-progress .table-scroll{margin-top:12px}.app-shell .analysis-progress-empty{background:var(--surface-muted);font-size:var(--text-sm);color:var(--muted);border-radius:10px;margin:14px 0 4px;padding:10px 14px}.app-shell button.hp-cell.is-wait{color:var(--orange-dark);cursor:pointer;background:#fff}.app-shell button.hp-cell.is-wait:hover:not(:disabled),.app-shell button.hp-cell.is-wait.is-picked{background:var(--orange-soft);border-style:solid}@media (max-width:1100px){.app-shell .results-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.app-shell .results-filters{grid-template-columns:1fr}}.analysis-audio{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.analysis-audio-row{flex-wrap:wrap;align-items:center;gap:12px;margin-top:10px;display:flex}.analysis-audio-row audio{flex:320px;min-width:0;max-width:620px;height:40px}.clip-button{white-space:nowrap}.credit-hint{margin-bottom:4px;display:block}.credit-chip{border:1px solid var(--line-strong);background:var(--surface);min-height:32px;color:var(--ink);font:inherit;font-size:var(--text-sm);cursor:pointer;font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:7px;padding:0 12px;font-weight:700;display:inline-flex}.credit-chip:hover{border-color:var(--accent);color:var(--accent-dark)}.credit-chip.is-empty{border-color:var(--orange-line);background:var(--orange-soft);color:var(--orange-dark)}.topbar-end{align-items:center;gap:14px;margin-left:auto;display:flex}@media (max-width:850px){.app-shell .sidebar:not(.is-open){visibility:hidden}.app-shell .sidebar.is-open{visibility:visible}}@media (max-width:600px){.app-shell .topbar{flex-wrap:wrap;gap:8px;height:auto;min-height:60px;padding-block:10px}.app-shell .topbar-end{flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:100%}.app-shell .sync-state{white-space:normal;flex-wrap:wrap;justify-content:flex-end}}
