/* BioSked tokens from variables.css; NavbarActions, Button and KbHero geometry.
   This public stylesheet is shared with the protected shell. No new public route. */
@font-face{font-family:Inter;src:url('/public-assets/inter-latin-ext.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+0100-02FF,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Inter;src:url('/public-assets/inter-latin.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--font-inter:Inter,ui-sans-serif,system-ui,sans-serif;--font-heading:var(--font-inter);--foreground:oklch(0.232 0.0907 265);--background:oklch(0.963 0.00638 197);--primary:oklch(0.854 0.108 198);--primary-foreground:oklch(0.354 0.132 260);--border:oklch(0.90 0.01 240);--card:#fff;--muted:oklch(0.94 0.01 240);--ring:oklch(0.55 0.10 210)}
*{box-sizing:border-box}body{margin:0;font-family:var(--font-inter);font-weight:400;line-height:1.5}button,input,select{font:inherit}button,summary{cursor:pointer;font-weight:500}a{color:inherit;text-decoration:none}a:hover{text-decoration:none}:focus-visible{outline:3px solid var(--ring);outline-offset:4px}[hidden]{display:none!important}.skip{position:fixed;left:1rem;top:-6rem;padding:.75rem 1rem;z-index:100;background:var(--card);color:var(--foreground);border-radius:.6rem}.skip:focus{top:1rem}
.site-header{border-bottom:1px solid var(--border);background:linear-gradient(to top,transparent,#ffffffcc);backdrop-filter:blur(12px);position:sticky;top:0;z-index:50;color:var(--foreground)}.header-inner{display:flex;align-items:center;gap:1.5rem;min-height:64px;position:relative}.academy-brand{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.academy-brand img{height:27px;width:auto}.academy-brand.plain img{height:22px}.logo-dark{display:none}.dark .logo-light{display:none}.dark .logo-dark{display:block}.primary-nav{display:flex;justify-content:center;gap:1.5rem;flex:1;align-items:center;font-size:.875rem;font-weight:500}.primary-nav a{padding:1.4rem 0}.primary-nav a:hover,.primary-nav a[aria-current=page]{color:#137b83}.header-actions{margin-left:auto;display:flex;gap:.25rem;align-items:center}.header-menu{position:relative}.header-menu>summary{display:flex;align-items:center;justify-content:center;gap:.375rem;min-height:40px;padding:0 .5rem;font-size:.875rem;list-style:none;border-radius:.375rem}.header-menu summary::-webkit-details-marker{display:none}.icon-button{display:flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;border:0;background:none;color:inherit;padding:.5rem;border-radius:.375rem}.header-menu>summary:hover,.icon-button:hover{background:var(--muted)}.menu-panel{position:absolute;right:0;top:100%;margin:.25rem 0 0;min-width:250px;max-width:calc(100vw - 2rem);background:var(--card);border:1px solid var(--border);border-radius:.375rem;box-shadow:0 6px 22px #102f4614;padding:.25rem;list-style:none;z-index:60}.menu-panel a,.menu-panel button{display:block;padding:.625rem .75rem;font-size:.875rem;width:100%;text-align:left;border:0;background:none;color:inherit;border-radius:.25rem}.menu-panel a:hover,.menu-panel button:hover,.menu-panel [aria-current=true]{background:var(--muted)}.account-identity{padding:.75rem;display:flex;flex-direction:column;gap:.25rem;border-bottom:1px solid var(--border);overflow-wrap:anywhere;font-size:.875rem}.account-identity span{color:#64748b;font-size:.75rem}
.primary-button{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--primary);color:var(--primary-foreground);border:1px solid #ffffff80;padding:.75rem 1.5rem;font-weight:600;font-size:.875rem;min-height:44px;box-shadow:0 1px 3px #102f4610;transition:background .2s,box-shadow .2s}.primary-button:hover{background:color-mix(in oklab,var(--primary) 90%,white);box-shadow:0 4px 16px #38c3c533}.site-footer{color:#526171}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem}.site-footer nav{display:flex;flex-direction:column;gap:.75rem;font-size:.875rem}.site-footer a:hover{text-decoration:underline}
.entry-page{background:var(--background);color:var(--foreground);min-height:100vh;display:flex;flex-direction:column}.entry-page .container{width:100%;max-width:1112px;margin-inline:auto;padding-inline:1.375rem}.entry-main{position:relative;flex:1;background:#edf9f8;border-bottom:1px solid #cfe9e9;padding:clamp(3rem,8vw,6rem) 1.375rem;isolation:isolate}.entry-main::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 90% 0%,#39c6c81a,transparent 55%),radial-gradient(ellipse at 0% 100%,#173f560d,transparent 45%)}.entry-card{max-width:480px;margin:auto;padding:2.5rem;background:var(--card);border:1px solid var(--border);border-radius:1.5rem;box-shadow:0 24px 60px -48px #0f364799}.entry-card h1{font-size:2.25rem;font-weight:500;letter-spacing:-.02em;line-height:1.2;margin:0 0 2rem;color:#102f46}.entry-card label{display:block;margin-bottom:.6rem;font-weight:600;font-size:.875rem}.entry-card input[type=text]{width:100%;border:1px solid #cbd5e1;border-radius:.75rem;padding:.875rem 1rem;background:var(--card);color:inherit;min-width:0}.entry-card .hint{font-size:.8125rem;line-height:1.6;color:#526171;margin:.6rem 0 0}.entry-card .primary-button{width:100%;margin-top:1.5rem}.entry-card .entry-message{color:#526171;margin:0 0 1.5rem}.entry-card [role=alert]{font-size:.875rem;color:#9f3d28;margin-bottom:1.5rem}.entry-page .site-footer{padding:2rem 1.375rem;display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;font-size:.75rem}
 .mobile-navigation{display:none}.mobile-theme{display:flex;align-items:center;justify-content:space-between;padding:.25rem .75rem;font-size:.875rem;border-top:1px solid var(--border)}
@media(max-width:1023px){.header-inner{gap:.75rem;flex-wrap:nowrap}.primary-nav,.desktop-theme{display:none}.mobile-navigation{display:block}.header-actions{height:64px}.header-menu{position:static}.header-menu .menu-panel{left:1rem;right:1rem;min-width:0;max-width:none}.language-code,.language summary>svg{display:none}.language summary{min-width:36px}.footer-grid{grid-template-columns:1.5fr 1fr;gap:2rem}.footer-grid>nav:last-child{grid-column:2}}
@media(max-width:420px){.academy-brand img{height:21px}.header-inner{gap:.25rem}.header-menu>summary{padding-inline:.3rem}.icon-button{min-width:36px}.footer-grid{grid-template-columns:1fr}.footer-grid>nav:last-child{grid-column:auto}.entry-card{padding:1.75rem}.entry-card h1{font-size:2rem}}
@media(prefers-color-scheme:dark){.entry-page{--foreground:oklch(0.95 0.01 240);--background:oklch(0.14 0.02 250);--card:oklch(0.17 0.025 248);--border:oklch(0.25 0.025 248);--muted:oklch(0.22 0.02 248)}.entry-page .site-header{background:#121e2bcc}.entry-main{background:#152d35;border-color:var(--border)}.entry-card h1{color:#e5f3f6}.entry-card .hint,.entry-card .entry-message,.entry-page .site-footer{color:#bdcbd6}.entry-card [role=alert]{color:#ffc5b5}.entry-page .logo-light{display:none}.entry-page .logo-dark{display:block}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Keep focused controls clear of the sticky header, including embedded media. */
:focus-visible,[id]{scroll-margin-top:6rem}main:focus-visible{outline-offset:-3px}
.entry-page{color-scheme:light}
@media(prefers-color-scheme:dark){.entry-page{color-scheme:dark;--ring:oklch(0.65 0.14 205)}}
/* Hero.astro: display/lead type and DecorativeDust. FeatureGrid/Card for the formats. */
.entry-signin{padding:0;background:var(--background)}
.entry-signin::before{display:none}
.signin-hero{position:relative;padding:5rem 0 3rem;isolation:isolate;overflow:hidden}
.signin-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,1fr);column-gap:4rem;row-gap:1.75rem;align-items:center;position:relative;z-index:1}
.signin-intro .text-display-hero{font-size:clamp(2.5rem,3.5vw + .5rem,2.75rem);line-height:1.13;letter-spacing:-.02em;font-weight:500;margin:0;text-wrap:balance}
.signin-intro .text-lead{font-size:clamp(1.125rem,1.5vw + .5rem,1.375rem);line-height:1.5;margin:1.5rem 0 0;color:color-mix(in oklab,var(--foreground) 75%,var(--background))}
.signin-layout .entry-card{grid-column:2;grid-row:1;margin:0;width:100%;padding:2rem;border-radius:1.5rem}
.entry-card h2{font-size:1.5rem;line-height:1.2;letter-spacing:-.02em;font-weight:600;margin:0 0 1.75rem}
.entry-audiences{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.25rem 2rem;margin-top:2rem;font-size:.875rem;color:color-mix(in oklab,var(--foreground) 78%,var(--background))}
.entry-audiences p{margin:.6rem 0}
.entry-audiences a{text-decoration:underline;text-underline-offset:3px}
.entry-dust{display:none;position:absolute;top:8rem;right:-12rem;width:800px;height:800px;z-index:-1;pointer-events:none}
@media(min-width:768px){.entry-dust{display:block;background:url('/public-assets/cyan-dust_background.webp') no-repeat center top / 100% auto;mask-image:radial-gradient(closest-side,black 50%,transparent 98%)}}
@media(max-width:767px){.signin-hero{padding:2.5rem 0 2rem}.signin-layout{display:flex;flex-direction:column;align-items:stretch;gap:1.75rem}.signin-intro .text-display-hero{font-size:2.5rem;line-height:1.13}.signin-intro .text-lead{margin-top:1.25rem}.signin-layout .entry-card{padding:1.5rem;max-width:none}.entry-audiences{text-align:left}.entry-audiences p+p{margin-top:1rem}}
@media(prefers-color-scheme:dark){.entry-signin{background:var(--background)}}


/* Same image frame as the website Hero.astro; no overlay when text is beside it. */
.academy-photo{display:block;padding:.5rem;border:1px solid var(--border);border-radius:.75rem;background:color-mix(in oklab,var(--background) 45%,transparent);box-shadow:4px 2px 3rem #00000026}
.academy-photo img{display:block;width:100%;height:auto;border-radius:.5rem}
.dark .academy-photo{box-shadow:4px 2px 3rem #00000080}
.signout-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:3rem;align-items:center}
.signout-layout .entry-card{width:100%}
.entry-confidentiality{font-size:.75rem;line-height:1.5;margin:1.25rem 0 0;color:color-mix(in oklab,var(--foreground) 75%,var(--background))}
.administrator-mark{font-size:.6875rem;font-weight:500;color:var(--foreground);margin-inline:.375rem;opacity:.8}
@media(max-width:1023px){.administrator-mark{position:absolute;right:3.75rem;top:47px;font-size:.5625rem;line-height:1;margin:0}}
@media(max-width:639px){.signout-layout{grid-template-columns:1fr;gap:2rem}.academy-photo{padding:.25rem}}
@media(prefers-color-scheme:dark){.entry-page .academy-photo{box-shadow:4px 2px 3rem #00000080}}

.entry-page .reserved-confidentiality{width:100%;text-align:center;margin:.5rem 0 0}
.entry-page .print-confidentiality{display:none}
@media print{.entry-page{display:block;min-height:0}.entry-page .site-header,.entry-page .site-footer{display:none}.entry-page .print-confidentiality{display:block;position:fixed;bottom:0;left:0;right:0;color:black;font-size:8pt;text-align:center}@page{margin:16mm 16mm 22mm}}

.account-identity strong{font-weight:600}

/* FeatureGrid's three columns, spacing and website card geometry. */
.entry-showcase{margin-top:3.5rem}
.entry-showcase h2{font-size:clamp(1.75rem,2.5vw + .25rem,2.375rem);font-weight:500;line-height:1.2;letter-spacing:-.02em;margin:0 0 1.5rem}
.entry-showcase h2:has(+.showcase-total){margin-bottom:.5rem}
.showcase-total{margin:0 0 1.5rem;font-size:1.0625rem;line-height:1.5;color:color-mix(in oklab,var(--foreground) 80%,var(--background))}
.showcase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;list-style:none;padding:0;margin:0}
.showcase-tile{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:1.5rem;border:1px solid var(--border);border-radius:1rem;background:var(--card)}
.showcase-tile h3{font-size:1.125rem;font-weight:500;line-height:1.4;margin:1rem 0 .375rem;letter-spacing:-.01em}
.showcase-benefit{font-size:.875rem;line-height:1.6;margin:0 0 1.25rem;color:color-mix(in oklab,var(--foreground) 78%,var(--background))}
.showcase-art{display:block;flex-shrink:0;color:#0A367F;--art-paper:#fff;--art-tint:#e7f6f8;--art-accent:#37AFCF;--art-muted:#94a3b8}
.showcase-art .art-paper{fill:var(--art-paper)}
.showcase-art .art-tint{fill:var(--art-tint)}
.showcase-art .art-accent{stroke:var(--art-accent)}
.showcase-art .art-muted{stroke:var(--art-muted)}
.showcase-facts{display:flex;flex-wrap:wrap;gap:.4rem 1.5rem;margin:1.5rem 0 0;padding:0;list-style:none;font-size:.75rem;line-height:1.7;color:color-mix(in oklab,var(--foreground) 75%,var(--background))}
.showcase-fallback{font-size:.875rem;margin:0 0 1rem;color:color-mix(in oklab,var(--foreground) 75%,var(--background))}
@media(max-width:1023px) and (min-width:640px){.showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:639px){.showcase-grid{grid-template-columns:1fr}.entry-showcase{margin-top:2.5rem}.entry-audiences{display:block}.showcase-facts{display:block}.showcase-facts li+li{margin-top:.375rem}}
@media(prefers-color-scheme:dark){.showcase-art{color:#b4cee9;--art-paper:#142332;--art-tint:#173c4b;--art-accent:#6ce5e8;--art-muted:#7f96ac}.showcase-tile{box-shadow:0 4px 20px -4px #0000004d}}

.entry-help{margin:.875rem 0 0;font-size:.875rem;line-height:1.5}.entry-help a{color:inherit;text-decoration:underline;text-underline-offset:3px}

/* Refused staff: keep the local-administrator hint clear of the button. */
.entry-card .primary-button + .entry-message { margin: 1rem 0 0; font-size: .875rem; }
