:root{--brand-blue:#00a7e1;--brand-ink:#101820;--brand-navy:#0e2638;--brand-dark-gradient:linear-gradient(145deg, var(--brand-ink) 15%, var(--brand-navy) 88%, var(--brand-blue) 130%);--color-text:var(--brand-ink);--color-muted:#52606c;--color-surface:#fff;--color-background:#f4f6f8;--color-border:#d6dce1;--color-control-border:#667582;--color-accent-soft:#e9f6fc;--color-accent-ink:#005f82;--color-danger:#a82434;--color-danger-soft:#fff1f2;--color-success:#116343;--color-success-soft:#edf7f1;--color-warning:#6b4e12;--color-warning-soft:#fff7e5;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--shadow-soft:0 10px 32px #1018200f;--font-family:Arial, sans-serif;--content-width:1040px;--page-gutter:clamp(16px, 4vw, 32px);--motion-feedback:.14s ease-out;color:var(--color-text);background:var(--color-background);font-family:var(--font-family);font-synthesis:none;line-height:1.6}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,input,select,a{-webkit-tap-highlight-color:transparent}button,select,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}[hidden],.hidden{display:none!important}a{color:var(--color-accent-ink);text-underline-offset:.2em}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--brand-navy);outline-offset:3px}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--color-text);text-wrap:balance}h1{letter-spacing:-.035em;margin-bottom:1rem;font-size:clamp(1.875rem,4vw,2.75rem);line-height:1.15}h2{letter-spacing:-.02em;margin-bottom:.75rem;font-size:1.375rem;line-height:1.3}p{overflow-wrap:anywhere}input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea{width:100%;min-height:48px;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-control-border);border-radius:var(--radius-sm);padding:.75rem .875rem}input[aria-invalid=true],select[aria-invalid=true]{border-color:var(--color-danger)}input[type=checkbox],input[type=radio]{width:20px;height:20px;accent-color:var(--color-accent-ink);flex-shrink:0}.button,.btn,.smallbtn{border-radius:var(--radius-sm);background:var(--brand-blue);min-height:48px;color:var(--brand-ink);text-align:center;transition:background-color var(--motion-feedback), border-color var(--motion-feedback), box-shadow var(--motion-feedback);border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-weight:700;line-height:1.4;text-decoration:none;display:inline-flex}.button:hover,.btn:hover{background:#19b0e5;text-decoration:none}.button:active,.btn:active{background:#0096cb}.button-secondary,.btn.secondary,.smallbtn{background:var(--color-surface);border-color:var(--color-control-border);color:var(--color-text)}.button-secondary:hover,.btn.secondary:hover,.smallbtn:hover{background:var(--color-accent-soft)}.btn.dark{background:var(--brand-navy);color:#fff}.btn.dark:hover{background:var(--brand-ink)}.smallbtn{padding:.625rem .875rem;font-size:.875rem}.smallbtn.active{color:var(--color-accent-ink);background:var(--color-accent-soft);border-color:var(--color-accent-ink)}.muted{color:var(--color-muted)}.eyebrow{color:var(--color-accent-ink);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.75rem;font-size:.75rem;font-weight:700;line-height:1.5}.badge{background:var(--color-accent-soft);color:var(--color-accent-ink);border-radius:6px;align-items:center;padding:.25rem .625rem;font-size:.75rem;font-weight:700;display:inline-flex}.notice{color:var(--color-text);background:var(--color-accent-soft);border-radius:var(--radius-sm);border:1px solid #c2dfed;padding:1rem 1.125rem}.field-error,.error{color:var(--color-danger);margin:.5rem 0 0;font-size:.875rem}.skip-link{z-index:20;color:var(--brand-ink);border-radius:var(--radius-sm);background:#fff;padding:.75rem 1rem;position:absolute;top:-100px;left:1rem}.skip-link:focus{top:1rem}.site-header{background:var(--brand-dark-gradient);color:#fff;border-bottom:1px solid var(--brand-navy)}.site-header .academy-subtitle,.site-header .account-name{color:#d6e3eb}.site-header :focus-visible{outline-color:#6dd9ff}.site-header .badge{color:#c8efff;background:#00a7e126}.site-header .button-secondary{color:#fff;background:0 0;border-color:#9db6c7}.site-header .button-secondary:hover{background:#ffffff1f;border-color:#fff}.shell-masthead{max-width:calc(var(--content-width) + 2 * var(--page-gutter));padding:0 var(--page-gutter);justify-content:space-between;align-items:center;gap:24px;margin:auto;display:flex}.academy-identity{min-width:0;padding:1rem 0}.academy-title{letter-spacing:-.025em;font-size:1.25rem;font-weight:700;line-height:1.3;display:block}.academy-subtitle{color:var(--color-muted);margin-top:.25rem;font-size:.8125rem;display:block}.brand-protection{flex-shrink:0;align-items:center;padding:29px;display:flex}.brand-logo{width:144px;height:auto;display:block}.account-bar{border-top:1px solid #ffffff2e}.account-navigation{max-width:calc(var(--content-width) + 2 * var(--page-gutter));padding:.625rem var(--page-gutter);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin:auto;display:flex}.nav-links,.account-controls{flex-wrap:wrap;align-items:center;gap:.5rem;min-width:0;display:flex}.nav-links a{color:#eaf3f8;border-radius:6px;align-items:center;min-height:44px;padding:.5rem .875rem;font-size:.875rem;font-weight:700;text-decoration:none;display:inline-flex}.nav-links a:hover{color:#fff;background:#ffffff1f}.nav-links a[aria-current=page]{color:#fff;box-shadow:inset 0 -3px var(--brand-blue);background:#00a7e133}.account-controls form{margin:0}.account-controls .button{min-height:44px;padding:.5rem .875rem;font-size:.8125rem}.account-name{overflow-wrap:anywhere;max-width:24ch;font-size:.8125rem}.site-footer{max-width:calc(var(--content-width) + 2 * var(--page-gutter));padding:1.25rem var(--page-gutter) 2rem;color:var(--color-muted);margin:auto;font-size:.75rem;line-height:1.6}.footer-inner{border-top:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;gap:.5rem 1.5rem;padding-top:1.25rem;display:flex}@media (width<=640px){.shell-masthead{gap:.5rem}.academy-title{font-size:1.125rem}.academy-subtitle{max-width:20ch;font-size:.75rem}.brand-protection{padding:23px}.brand-logo{width:112px}.account-navigation{gap:.5rem}.nav-links{gap:.25rem;width:100%}.nav-links a{flex:1;justify-content:center;padding-inline:.5rem}.account-controls{justify-content:space-between;gap:.5rem;width:100%}.account-name{max-width:26ch}.account-controls .badge{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,:before,:after{transition:none!important;animation:none!important}}.page-content{max-width:calc(var(--content-width) + 2 * var(--page-gutter));padding:2rem var(--page-gutter) 2.5rem;min-height:calc(100dvh - 260px);margin:auto}.page-heading{margin-bottom:1.5rem}.page-heading .muted{max-width:64ch;margin-bottom:0}.card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-soft);padding:clamp(1.25rem,3vw,2rem)}.login-layout{grid-template-columns:1.1fr 1fr;align-items:stretch;gap:1.5rem;display:grid}.introduction{border-radius:var(--radius-lg);background:var(--brand-dark-gradient);color:#fff;flex-direction:column;justify-content:center;padding:clamp(2rem,5vw,3.5rem);display:flex;position:relative;overflow:hidden}.introduction:before{content:"";background:var(--brand-blue);width:48px;height:4px;margin-bottom:2rem;display:block}.introduction h1{color:#fff;max-width:12ch;font-size:clamp(2.25rem,4vw,3.25rem);line-height:1.08}.introduction .eyebrow{color:#6dd9ff}.introduction p:last-child{color:#d6e3eb;max-width:31ch;margin-bottom:0}.login-card{padding:clamp(1.5rem,4vw,2.5rem)}.login-card h2{margin-bottom:.5rem;font-size:1.75rem}.form-stack{gap:1.25rem;margin-top:1.5rem;display:grid}.form-stack>div{min-width:0}label{margin-bottom:.5rem;font-size:.9375rem;font-weight:700;display:block}.checkbox-label{align-items:center;gap:.75rem;min-height:44px;margin:0;font-weight:400;display:flex}.checkbox-label input{margin:0}.access-note{border-top:1px solid var(--color-border);color:var(--color-muted);margin:1.5rem 0 0;padding-top:1.25rem;font-size:.875rem}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin-bottom:1.5rem;display:grid}.summary-card{border-top:3px solid var(--brand-blue)}.summary-card p{color:var(--color-muted);margin-bottom:.75rem}.summary-card strong{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:2.5rem;line-height:1;display:block}.empty-state h2{margin-top:1rem}.empty-state p{max-width:65ch;color:var(--color-muted)}.empty-state p:last-child{margin-bottom:0}.empty-state .button{margin-top:.5rem}.student-welcome{background:var(--brand-ink);border-radius:var(--radius-lg);margin-bottom:1.5rem;padding:clamp(1.5rem,4vw,2.5rem)}.student-welcome h1{color:#fff;overflow-wrap:anywhere;margin-bottom:.75rem}.student-welcome .eyebrow{color:#6dd9ff}.student-welcome .muted{color:#d6e3eb}.narrow-card{max-width:560px;margin:1rem auto}.question-list{gap:1.25rem;display:grid}.question-text,.option-text{white-space:pre-wrap;overflow-wrap:anywhere}.option-list{margin-bottom:0;padding-left:1.5rem}.option-list li{padding:.625rem 0 .625rem .5rem}.pagination{justify-content:space-between;gap:1rem;margin-top:1.5rem;display:flex}@media (width<=760px){.page-content{padding-top:1.25rem}.login-layout{grid-template-columns:1fr;gap:1rem}.introduction{padding:1.75rem}.introduction:before{margin-bottom:1rem}.introduction h1{max-width:17ch;font-size:2rem}.introduction p:last-child{max-width:40ch}.summary-grid{gap:.75rem}.summary-card{padding:1.25rem}}@media (width<=420px){.summary-grid{grid-template-columns:minmax(0,1fr)}.pagination{flex-wrap:wrap}.pagination .button{flex:1}}.student-panel{padding:0;overflow:hidden}.student-panel-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:1.5rem;display:flex}.student-panel-heading h2{margin:0}.student-search{grid-template-columns:minmax(0,1fr) auto;align-items:end;margin:0;padding:0 1.5rem 1.5rem}.student-list-labels,.student-list li{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:center;gap:1rem;padding:.75rem 1.5rem;display:grid}.student-list-labels{border-block:1px solid var(--color-border);background:var(--color-background);color:var(--color-muted);font-size:.8125rem;font-weight:700}.student-list{margin:0;padding:0;list-style:none}.student-list li{border-bottom:1px solid var(--color-border);overflow-wrap:anywhere}.student-list li:last-child{border-bottom:0}.student-list a{align-items:center;min-height:44px;font-weight:700;display:flex}.student-list li>*{min-width:0}.student-list li>span{color:var(--color-muted);font-size:.875rem}.student-list .student-list-empty{color:var(--color-muted);padding-block:1.5rem;display:block}.student-panel-footer{border-top:1px solid var(--color-border);background:var(--color-background);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex}.student-panel-footer p{margin:0;font-size:.8125rem}.student-panel-footer .pagination{gap:.5rem;margin:0}@media (width<=640px){.student-panel-heading,.student-panel-footer{padding-inline:1.25rem}.student-search{grid-template-columns:minmax(0,1fr);gap:.75rem;padding-inline:1.25rem}.student-list-labels{display:none}.student-list li{grid-template-columns:minmax(0,1fr);gap:0;padding-inline:1.25rem}}.student-create{margin-top:1.5rem}.student-name{overflow-wrap:anywhere}.access-qr{max-width:280px;margin:1rem auto}.access-qr svg{width:100%;height:auto;display:block}.journal-tabs{border-bottom:1px solid var(--color-border);flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.journal-tabs a{border-bottom:3px solid #0000;align-items:center;min-height:44px;padding:.75rem 1rem;text-decoration:none;display:flex}.journal-tabs a[aria-current]{border-color:var(--brand-blue);font-weight:700}.journal-panel{min-width:0}.journal-filters{grid-template-columns:minmax(140px,2fr) repeat(3,minmax(130px,1fr)) auto;align-items:end;gap:1rem;margin-block:1.5rem;display:grid}.journal-filters>div{min-width:0}.journal-filters input,.journal-filters select{width:100%;min-width:0;min-height:44px}.journal-table{border-collapse:collapse;text-align:left;width:100%;font-size:.875rem}.journal-table th,.journal-table td{border-bottom:1px solid var(--color-border);vertical-align:top;overflow-wrap:anywhere;padding:1rem .75rem}.journal-table th{background:var(--color-background);overflow-wrap:normal}.journal-table small{color:var(--color-muted);margin-top:.35rem;display:block}.journal-action-cell{white-space:nowrap;text-align:center;width:1%}.journal-open{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);width:44px;height:44px;color:var(--color-accent-ink);justify-content:center;align-items:center;text-decoration:none;display:inline-flex;position:relative}.journal-open:hover{background:var(--color-accent-soft);border-color:var(--color-accent-ink)}.journal-tooltip{background:var(--brand-ink);color:#fff;white-space:nowrap;pointer-events:none;visibility:hidden;border-radius:6px;padding:.375rem .625rem;font-size:.75rem;position:absolute;bottom:calc(100% + 8px);right:0}.journal-open:hover .journal-tooltip,.journal-open:focus-visible .journal-tooltip{visibility:visible}.journal-open svg{flex-shrink:0;width:20px;height:20px}.journal-options{padding:0;list-style:none}.journal-options .journal-option{border-radius:var(--radius-sm);border:1px solid #0000;margin-block:.75rem;padding:.875rem 1rem}.journal-options .is-selected{background:var(--color-accent-soft);border-color:#9acde3}.journal-option strong{color:var(--color-accent-ink);margin-top:.25rem;display:block}.journal-detail-navigation{flex-wrap:wrap;align-items:center;gap:.5rem 1.5rem;display:flex}.journal-detail-navigation a{align-items:center;min-height:44px;display:inline-flex}.journal-detail-navigation .secondary-link{color:var(--color-muted);font-size:.875rem}.journal-question{border-top:1px solid var(--color-border);overflow-wrap:anywhere;padding:1rem 0}.journal-question summary{cursor:pointer;min-height:44px;font-weight:700}.journal-question li{margin-block:.75rem}@media (width<=900px){.journal-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.journal-filters{grid-template-columns:minmax(0,1fr)}.journal-table,.journal-table tbody,.journal-table tr,.journal-table td{display:block}.journal-table thead{display:none}.journal-table tr{border-bottom:2px solid var(--color-border);padding-block:.5rem}.journal-table td{border:0;padding:.5rem 0}.journal-table td[data-label]:before{content:attr(data-label);color:var(--color-muted);margin-bottom:.25rem;font-size:.75rem;font-weight:700;display:block}}.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}.journal-question summary,.journal-question li{white-space:pre-line}@media (width<=640px){.journal-table .journal-action-cell{text-align:left;width:auto}}.diagnostic-id{font-family:ui-monospace,monospace}.diagnostic-exception{border-top:1px solid var(--color-border);overflow-wrap:anywhere;margin-top:1.5rem;padding-top:1.5rem}.diagnostic-frames{padding-left:1.5rem}.diagnostic-frames li{border-bottom:1px solid var(--color-border);padding:.75rem}.diagnostic-frames span{color:var(--color-muted);font-size:.8125rem;display:block}.administrator-list{margin:0;padding:0;list-style:none}.administrator-list>li{border-bottom:1px solid var(--brand-border,#dce3e9);justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 0;display:flex}.administrator-list>li>div{overflow-wrap:anywhere;min-width:0}.administrator-list p{margin:.35rem 0}.administrator-actions{flex-wrap:wrap;gap:.75rem;display:flex}@media (width<=600px){.administrator-list>li{flex-direction:column;align-items:stretch}.administrator-actions{flex-direction:column}.administrator-actions .button{width:100%}}.invitation-copy{margin-bottom:1.5rem}.copy-feedback{min-height:1.6em;color:var(--color-accent-ink);margin:0}.activation-submit{color:var(--color-accent-ink);border-color:var(--color-accent-ink);background:var(--color-accent-soft)}.activation-submit:disabled{opacity:1;color:var(--color-muted);border-color:var(--color-border);background:var(--color-background)}.activation-back{margin-top:1.5rem}.activation-back .button{font-weight:400}
