.app{min-height:100vh;display:flex;flex-direction:column}:root{--header-height:72px}@media (max-width:768px){:root{--header-height:72px}}.app-header{--header-padding-x:2rem;--header-padding-y:1rem;position:fixed;top:0;left:0;right:0;width:100%;z-index:100;min-height:var(--header-height);display:flex;align-items:center;padding:var(--header-padding-y) var(--header-padding-x);box-sizing:border-box;background:var(--color-bg-card);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:var(--shadow-sm);transition:transform .25s cubic-bezier(.4,0,.2,1);transform:translateY(0)}.app-header--hidden{transform:translateY(-100%)}.app-header-spacer{flex-shrink:0;height:var(--header-height);pointer-events:none}.app-header-top{display:flex;justify-content:space-between;align-items:center;gap:2rem;width:100%;min-width:0}.app-header-link{text-decoration:none;color:inherit;display:block}.app-header-content{display:flex;align-items:center;justify-content:flex-start;gap:1rem;transition:opacity .2s ease}.app-header-link:hover .app-header-content{opacity:.8}.app-logo{width:40px;height:40px;flex-shrink:0;object-fit:contain}.app-header-title{display:flex;flex-direction:column;line-height:1.2}.app-header-title-main{font-family:var(--font-family-base);font-size:var(--font-size-xl);color:var(--color-black);font-weight:var(--font-weight-bold);margin:0;line-height:1.2}.app-header-title-sub{font-size:var(--font-size-sm);color:var(--color-black);font-weight:var(--font-weight-medium);margin:0}.app-main{padding:2rem 2rem 0;max-width:1400px;width:100%;margin:0 auto}.app-main,.page-transition{flex:1 1;display:flex;flex-direction:column}.page-transition{animation:pageIn .25s ease}@keyframes pageIn{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.page-transition{animation:none}}.app-main--app-landing,.app-main--full-bleed{padding:0;max-width:none;width:100%}@media (max-width:768px){.app-header{--header-padding-x:1rem;padding:1rem var(--header-padding-x)}.app-header-top{flex-direction:row;justify-content:space-between;align-items:center;gap:0}.app-header-link{flex-shrink:0}.app-header-nav{margin-left:auto;flex-shrink:0}.app-header-content{gap:.75rem}.app-logo{width:40px;height:40px}.app-header-title-main{font-size:var(--font-size-base)}.app-header-title-sub{font-size:var(--font-size-xs)}.app-main{padding:22px 1rem}.app-main--app-landing,.app-main--full-bleed{padding:0}}