:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-primary:#102b4c;--color-primary-soft:#e8eef5;--color-action:#1d4ed8;--color-action-hover:#1e40af;--color-action-soft:#dbeafe;--color-accent:#d4a72c;--color-accent-hover:#b8891d;--color-accent-soft:#fef3c7;--color-background:#f8fafc;--color-surface:#fff;--color-surface-muted:#f1f5f9;--color-text:#0f172a;--color-text-muted:#475569;--color-border:#cbd5e1;--color-success:#166534;--color-success-soft:#dcfce7;--color-warning:#92400e;--color-warning-soft:#fef3c7;--color-danger:#b91c1c;--color-danger-soft:#fee2e2;--color-focus:#2563eb;--color-on-primary:#fff;--color-on-accent:#0f172a;--color-disabled:#64748b;--color-disabled-surface:#e2e8f0;--font-family-sans:Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:2rem;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.2;--line-height-normal:1.5;--line-height-relaxed:1.65;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1rem;--border-width:1px;--shadow-sm:0 1px 2px #0f172a0f;--shadow-md:0 10px 30px #0f172a17;--content-max:70rem;--control-height:2.75rem;--transition-fast:.16s ease}*,:before,:after{box-sizing:border-box}html{background:var(--color-background);min-width:320px;min-height:100%;font-family:var(--font-family-sans);color:var(--color-text);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--color-background);min-width:320px;min-height:100vh;color:var(--color-text);font-size:var(--font-size-base);line-height:var(--line-height-normal);margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}img,svg{max-width:100%;display:block}h1,h2,h3,p{overflow-wrap:break-word}h1,h2,h3{color:var(--color-text);line-height:var(--line-height-tight);margin-block:0}p{margin-block:0}a{color:var(--color-action);text-underline-offset:.2em}a:hover{color:var(--color-action-hover)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}::selection{background:var(--color-action-soft);color:var(--color-text)}#root{min-height:100vh}.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}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.brand-logo{align-items:center;gap:var(--space-3);max-width:100%;color:inherit;display:inline-flex}.brand-logo__frame{aspect-ratio:1;border:var(--border-width) solid var(--color-accent);background:0 0;border-radius:50%;flex:none;place-items:center;padding:2px;display:grid;overflow:hidden}.brand-logo--small .brand-logo__frame{width:2.75rem;height:2.75rem}.brand-logo--medium .brand-logo__frame{width:4.5rem;height:4.5rem}.brand-logo--large .brand-logo__frame{width:7rem;height:7rem}.brand-logo--surface-light .brand-logo__frame{padding:var(--space-1);background:var(--color-surface);box-shadow:var(--shadow-md)}.brand-logo__image{object-fit:contain;width:100%;height:100%}.brand-logo__name{color:inherit;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight)}@media (width<=30rem){.brand-logo--large .brand-logo__frame{width:5.5rem;height:5.5rem}.brand-logo__name{font-size:var(--font-size-lg)}}.ui-button{min-height:var(--control-height);justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:var(--border-width) solid transparent;border-radius:var(--radius-sm);font-weight:var(--font-weight-semibold);text-align:center;cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);line-height:1.2;display:inline-flex}.ui-button:hover:not(:disabled){transform:translateY(-1px)}.ui-button:active:not(:disabled){transform:translateY(0)}.ui-button:disabled{color:var(--color-disabled);background:var(--color-disabled-surface);border-color:var(--color-disabled-surface);cursor:not-allowed}.ui-button--primary{color:var(--color-on-primary);background:var(--color-action)}.ui-button--primary:hover:not(:disabled){background:var(--color-action-hover)}.ui-button--secondary{color:var(--color-on-accent);background:var(--color-accent)}.ui-button--secondary:hover:not(:disabled){background:var(--color-accent-hover)}.ui-button--outline{color:var(--color-action);border-color:var(--color-action);background:0 0}.ui-button--outline:hover:not(:disabled){color:var(--color-action-hover);background:var(--color-action-soft);border-color:var(--color-action-hover)}.ui-input{gap:var(--space-2);display:grid}.ui-input__label{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.ui-input__required,.ui-input__error{color:var(--color-danger)}.ui-input__control{width:100%;min-height:var(--control-height);padding:var(--space-2) var(--space-3);color:var(--color-text);background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-sm);transition:border-color var(--transition-fast), box-shadow var(--transition-fast)}.ui-input__control::placeholder{color:var(--color-disabled)}.ui-input__control:hover:not(:disabled){border-color:var(--color-text-muted)}.ui-input__control:focus-visible{border-color:var(--color-focus);outline:3px solid color-mix(in srgb, var(--color-focus) 25%, transparent);outline-offset:1px}.ui-input__control:disabled{color:var(--color-disabled);background:var(--color-disabled-surface);cursor:not-allowed}.ui-input__control[aria-invalid=true]{border-color:var(--color-danger)}.ui-input__help,.ui-input__error{font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.ui-input__help{color:var(--color-text-muted)}.ui-card{padding:var(--space-6);background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.ui-badge{align-items:center;gap:var(--space-2);min-height:1.75rem;padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);border-radius:999px;line-height:1.2;display:inline-flex}.ui-badge__marker{background:currentColor;border-radius:50%;width:.5rem;height:.5rem}.ui-badge--neutral{color:var(--color-text-muted);background:var(--color-surface-muted)}.ui-badge--success{color:var(--color-success);background:var(--color-success-soft)}.ui-badge--warning{color:var(--color-warning);background:var(--color-warning-soft)}.ui-badge--danger{color:var(--color-danger);background:var(--color-danger-soft)}.ui-alert{padding:var(--space-4);border:var(--border-width) solid;border-radius:var(--radius-sm);border-left-width:4px}.ui-alert__title{font-weight:var(--font-weight-bold)}.ui-alert__content{margin-top:var(--space-1);color:var(--color-text);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.ui-alert--info{color:var(--color-action-hover);background:var(--color-action-soft);border-color:var(--color-action)}.ui-alert--success{color:var(--color-success);background:var(--color-success-soft);border-color:var(--color-success)}.ui-alert--warning{color:var(--color-warning);background:var(--color-warning-soft);border-color:var(--color-warning)}.ui-alert--danger{color:var(--color-danger);background:var(--color-danger-soft);border-color:var(--color-danger)}.ui-empty-state{padding:var(--space-8) var(--space-6);text-align:center;background:var(--color-surface-muted);border:var(--border-width) dashed var(--color-border);border-radius:var(--radius-md);justify-items:center;display:grid}.ui-empty-state__symbol{width:3rem;height:3rem;color:var(--color-on-primary);background:var(--color-primary);font-weight:var(--font-weight-bold);border-radius:50%;place-items:center;display:grid}.ui-empty-state__title{margin-top:var(--space-4);font-size:var(--font-size-xl)}.ui-empty-state__description{max-width:32rem;margin-top:var(--space-2);color:var(--color-text-muted)}.ui-empty-state__action{margin-top:var(--space-4)}.ui-page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-6);display:flex}.ui-page-header__content{max-width:46rem}.ui-page-header__title{font-size:clamp(var(--font-size-2xl), 5vw, var(--font-size-3xl))}.ui-page-header__description{margin-top:var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-lg);line-height:var(--line-height-relaxed)}.ui-page-header__actions{gap:var(--space-2);flex-wrap:wrap;flex:none;display:flex}@media (width<=40rem){.ui-card{padding:var(--space-4)}.ui-page-header{flex-direction:column}}.app-sidebar{width:17rem;height:100dvh;min-height:0;color:var(--color-on-primary);background:var(--color-primary);border-right:1px solid #ffffff1f;flex-direction:column;display:flex;position:sticky;top:0}.app-sidebar__brand{gap:var(--space-3);padding:var(--space-6);border-bottom:1px solid #ffffff1f;display:grid}.app-sidebar__brand .brand-logo,.mobile-menu .brand-logo{color:var(--color-on-primary)}.app-sidebar__institution{color:#e2e8f0;font-size:var(--font-size-xs);line-height:var(--line-height-relaxed)}.app-navigation{gap:var(--space-6);min-height:0;padding:var(--space-6);scrollbar-color:#ffffff59 transparent;scrollbar-width:thin;display:grid;overflow-y:auto}.app-navigation__group{gap:var(--space-2);display:grid}.app-navigation__group-title{color:#cbd5e1;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase}.app-navigation__list{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.app-navigation__item{min-height:2.75rem;padding:var(--space-2) var(--space-3);color:#e2e8f0;border:var(--border-width) solid transparent;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);align-items:center;text-decoration:none;display:flex;position:relative}.app-navigation__item:hover{color:var(--color-on-primary);background:#ffffff17}.app-navigation__item:focus-visible{outline-color:var(--color-accent)}.app-navigation__item--active{color:var(--color-on-primary);background:#ffffff1f;border-color:#d4a72c73}.app-navigation__item--active:before{top:var(--space-2);bottom:var(--space-2);content:"";background:var(--color-accent);border-radius:999px;width:3px;position:absolute;left:-1px}.app-header{z-index:5;align-items:center;gap:var(--space-3);min-height:4.5rem;padding:var(--space-3) var(--space-8);background:var(--color-surface);border-bottom:var(--border-width) solid var(--color-border);box-shadow:var(--shadow-sm);display:flex;position:sticky;top:0}.app-header__copy{min-width:0}.app-header__identity{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.06em;text-transform:uppercase}.app-header__title{margin-top:var(--space-1);color:var(--color-text);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight)}.app-header__menu-button,.mobile-menu__close{border-radius:var(--radius-sm);cursor:pointer;flex:none;place-items:center;width:2.75rem;height:2.75rem;padding:0}.app-header__menu-button{color:var(--color-primary);background:var(--color-surface);border:var(--border-width) solid var(--color-border);display:none}.app-header__menu-button:hover{background:var(--color-primary-soft);border-color:var(--color-primary)}.app-header__menu-icon{gap:.25rem;width:1.25rem;display:grid}.app-header__menu-icon span{background:currentColor;border-radius:999px;height:2px}.mobile-menu{width:min(20rem,100% - 1rem);max-width:none;height:100dvh;max-height:none;color:var(--color-on-primary);background:var(--color-primary);border:0;border-right:var(--border-width) solid #ffffff29;box-shadow:var(--shadow-md);margin:0;padding:0;inset:0 auto 0 0;overflow:hidden}.mobile-menu[open]{animation:mobile-menu-enter var(--transition-fast);flex-direction:column;display:flex}.mobile-menu::backdrop{background:#0f172a9e}.mobile-menu__header{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:4.5rem;padding:var(--space-3) var(--space-4);border-bottom:1px solid #ffffff1f;display:flex}.mobile-menu__header .brand-logo__name{font-size:var(--font-size-base)}.mobile-menu__close{color:var(--color-on-primary);border:var(--border-width) solid #ffffff59;font-size:var(--font-size-2xl);background:0 0;line-height:1;display:grid}.mobile-menu__close:hover{border-color:var(--color-accent);background:#ffffff17}.mobile-menu__close:focus-visible{outline-color:var(--color-accent)}.mobile-menu .app-navigation{padding:var(--space-4);flex:1}@keyframes mobile-menu-enter{0%{opacity:0;transform:translate(-1.5rem)}to{opacity:1;transform:translate(0)}}@media (width<=64rem){.app-sidebar{display:none}.app-header{padding-inline:var(--space-6)}.app-header__menu-button{display:grid}}@media (width<=42rem){.app-header{padding-inline:var(--space-4)}}.app-layout{background:var(--color-background);grid-template-columns:17rem minmax(0,1fr);min-width:0;min-height:100dvh;display:grid}.app-layout__skip-link{z-index:20;top:var(--space-3);left:var(--space-3);padding:var(--space-2) var(--space-3);color:var(--color-on-primary);background:var(--color-action);border-radius:var(--radius-sm);font-weight:var(--font-weight-semibold);position:fixed;transform:translateY(-200%)}.app-layout__skip-link:focus{color:var(--color-on-primary);transform:translateY(0)}.app-layout__column,.app-layout__main{width:100%;min-width:0}.app-layout__column{flex-direction:column;min-height:100dvh;display:flex}.app-layout__main{padding-inline:var(--space-8);flex:1}.module-page{gap:var(--space-8);padding-block:var(--space-8) var(--space-12);display:grid}.not-found-page__content{justify-items:start;gap:var(--space-4);padding:var(--space-6);color:var(--color-text-muted);background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:grid}.not-found-page__link{min-height:var(--control-height);padding:var(--space-2) var(--space-4);color:var(--color-on-primary);background:var(--color-action);border-radius:var(--radius-sm);font-weight:var(--font-weight-semibold);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.not-found-page__link:hover{color:var(--color-on-primary);background:var(--color-action-hover)}@media (width<=64rem){.app-layout{grid-template-columns:minmax(0,1fr)}.app-layout__main{padding-inline:var(--space-6)}}@media (width<=42rem){.app-layout__main{padding-inline:var(--space-4)}.module-page{gap:var(--space-6);padding-block:var(--space-6) var(--space-8)}}.demo-app{min-height:100vh}.demo-container{width:100%}.demo-hero{padding-inline:var(--space-8);padding-block:var(--space-12);margin-inline:calc(var(--space-8) * -1);color:var(--color-on-primary);background:radial-gradient(circle at 85% 20%, #d4a72c38, transparent 32%), var(--color-primary);border-bottom:4px solid var(--color-accent);position:relative;overflow:hidden}.demo-hero:after{content:"";border:1px solid #ffffff1f;border-radius:50%;width:20rem;height:20rem;position:absolute;bottom:-8rem;right:-5rem}.demo-hero__content{z-index:1;align-items:center;gap:var(--space-8);display:flex;position:relative}.demo-hero__copy{max-width:42rem}.demo-eyebrow,.demo-section__number,.demo-card__eyebrow{color:var(--color-accent);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase}.demo-hero__title{margin-top:var(--space-3);color:var(--color-on-primary);font-size:clamp(var(--font-size-2xl), 5vw, 2.75rem);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight)}.demo-hero__description{margin-top:var(--space-4);color:#e2e8f0;font-size:var(--font-size-lg);line-height:var(--line-height-relaxed)}.demo-main{gap:var(--space-16);padding-block:var(--space-12) var(--space-16);display:grid}.demo-section{gap:var(--space-6);display:grid}.demo-section__heading{align-items:flex-start;gap:var(--space-4);display:flex}.demo-section__heading>div{min-width:0}.demo-section__number{min-width:2.5rem;height:2.5rem;color:var(--color-primary);background:var(--color-accent-soft);border-radius:50%;place-items:center;display:grid}.demo-section__heading h2{font-size:var(--font-size-2xl)}.demo-section__heading div>p{margin-top:var(--space-2);color:var(--color-text-muted)}.demo-palette{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));display:grid}.demo-swatch{background:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.demo-swatch__color{border-bottom:var(--border-width) solid var(--color-border);height:5.5rem}.demo-swatch__label{gap:var(--space-1);padding:var(--space-3);font-size:var(--font-size-sm);display:grid}.demo-swatch__label span{color:var(--color-text-muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.demo-swatch--primary{background:var(--color-primary)}.demo-swatch--action{background:var(--color-action)}.demo-swatch--accent{background:var(--color-accent)}.demo-swatch--background{background:var(--color-background)}.demo-swatch--surface{background:var(--color-surface)}.demo-swatch--text{background:var(--color-text)}.demo-note{color:var(--color-text-muted);font-size:var(--font-size-sm)}.demo-button-row,.demo-badge-row{gap:var(--space-3);flex-wrap:wrap;display:flex}.demo-button-row{margin-top:var(--space-4)}.demo-input-grid{gap:var(--space-4);margin-top:var(--space-8);grid-template-columns:repeat(2,minmax(16rem,32rem));justify-content:start;display:grid}.demo-card-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(18rem,40rem));justify-content:start;display:grid}.demo-card__eyebrow{color:var(--color-warning)}.demo-card-grid h3{margin-top:var(--space-2);font-size:var(--font-size-xl)}.demo-card__text,.demo-badge-row{margin-top:var(--space-3)}.demo-card__text{color:var(--color-text-muted);line-height:var(--line-height-relaxed)}.demo-alert-grid{gap:var(--space-4);margin-top:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));display:grid}.demo-footer{padding-block:var(--space-6);padding-inline:var(--space-8);margin-inline:calc(var(--space-8) * -1);color:var(--color-on-primary);background:var(--color-primary);border-top:4px solid var(--color-accent);font-size:var(--font-size-sm);text-align:center}@media (width<=64rem){.demo-hero,.demo-footer{padding-inline:var(--space-6);margin-inline:calc(var(--space-6) * -1)}}@media (width<=42rem){.demo-hero,.demo-footer{padding-inline:var(--space-4);margin-inline:calc(var(--space-4) * -1)}.demo-hero{padding-block:var(--space-8)}.demo-hero__content{align-items:flex-start;gap:var(--space-6);flex-direction:column}.demo-main{gap:var(--space-12);padding-block:var(--space-8) var(--space-12)}.demo-section__heading{gap:var(--space-3)}.demo-input-grid,.demo-card-grid,.demo-alert-grid{grid-template-columns:1fr}.demo-button-row .ui-button{width:100%}}
