.container{width:100%;max-width:var(--container-max);margin-left:auto;margin-right:auto;padding-left:var(--container-padding);padding-right:var(--container-padding)}.glass{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border)}.glass--heavy{backdrop-filter:blur(var(--glass-blur-heavy));-webkit-backdrop-filter:blur(var(--glass-blur-heavy))}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-gradient{background:var(--gradient-text);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.py-16{padding-top:var(--space-16);padding-bottom:var(--space-16)}.py-24{padding-top:var(--space-24);padding-bottom:var(--space-24)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100%;left:50%;transform:translate(-50%);padding:var(--space-4) var(--space-6);background:var(--color-accent-500);color:var(--color-text-inverse);border-radius:var(--radius-md);z-index:var(--z-modal);transition:top var(--duration-fast)}.skip-link:focus{top:var(--space-4)}.nav{position:fixed;top:0;left:0;right:0;z-index:var(--z-sticky);padding:var(--space-4) 0;transition:padding var(--duration-normal) var(--ease-out-expo),transform var(--duration-normal) var(--ease-out-expo)}.nav--hidden{transform:translateY(-100%)}.nav--scrolled{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-bottom:1px solid var(--glass-border);padding:var(--space-3) 0}.nav__container{display:flex;align-items:center;justify-content:space-between;max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding);width:100%;overflow:hidden}.nav__logo{display:flex;align-items:center;gap:var(--space-3);font-family:var(--font-display);font-size:var(--text-h4);font-weight:var(--font-weight-bold);color:var(--color-text-primary);text-decoration:none}.nav__logo-text{display:flex;flex-direction:row;align-items:baseline;gap:.3em;line-height:1.1}.nav__logo-vault{color:var(--color-accent-300)}.nav__logo:hover .nav__logo-text{color:var(--color-accent-400)}.nav__logo:hover .nav__logo-vault{color:var(--color-text-primary)}.nav__logo-icon{width:36px;height:36px;color:var(--color-accent-500)}@media (max-width: 767px){.nav__logo-text{flex-direction:column;align-items:flex-start;gap:0}.nav__logo-icon{width:32px;height:32px}}.nav__links{display:none;align-items:center;gap:var(--space-8)}.nav__link{font-size:var(--text-body);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-decoration:none;transition:color var(--duration-fast)}.nav__link:hover{color:var(--color-text-primary)}.nav__link--active{color:var(--color-accent-400)}.nav__actions{display:flex;align-items:center;gap:var(--space-3)}.nav__actions .button--sm{flex-shrink:0;min-width:max-content}@media (max-width: 360px){.nav__actions{gap:var(--space-2)}.nav__actions .button--sm{padding:var(--space-2) var(--space-3);font-size:.75rem}}.nav__theme-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);color:var(--color-text-primary);cursor:pointer;transition:all var(--duration-fast) var(--ease-out-expo)}.nav__theme-toggle:hover{background:var(--glass-bg-light);border-color:var(--glass-border-highlight);color:var(--color-accent-400)}.nav__theme-toggle svg{width:20px;height:20px}.nav__menu-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background:transparent;border:none;color:var(--color-text-primary);cursor:pointer}.nav__menu-btn svg{width:24px;height:24px}@media (min-width: 768px){.nav__links{display:flex}.nav__menu-btn{display:none}}.nav__mobile-menu{display:none;position:absolute;top:100%;left:0;right:0;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur-heavy));-webkit-backdrop-filter:blur(var(--glass-blur-heavy));border-bottom:1px solid var(--glass-border);padding:var(--space-6)}.nav__mobile-menu--open{display:block}.nav__mobile-menu .nav__link{display:block;padding:var(--space-3) 0;font-size:var(--text-h5)}.nav__profile-link{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);color:var(--color-text-primary);text-decoration:none;transition:all var(--duration-fast) var(--ease-out-expo)}.nav__profile-link:hover{background:var(--glass-bg-light);border-color:var(--glass-border-highlight);color:var(--color-accent-400)}.nav__profile-link svg{width:20px;height:20px}.nav__auth-loading{display:flex;align-items:center;justify-content:center;width:40px;height:40px;color:var(--color-text-muted)}.nav__auth-spinner{animation:nav-spinner-rotate 1s linear infinite}@keyframes nav-spinner-rotate{to{transform:rotate(360deg)}}@media (max-width: 380px){.nav__logo-text{display:none}.nav__actions{gap:var(--space-2)}.nav__actions .button--sm{min-width:auto;padding:var(--space-2) var(--space-3);font-size:.75rem}}.button--animated-glow{position:relative;overflow:hidden}.button--animated-glow:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.15) 45%,rgba(255,255,255,.25) 50%,rgba(255,255,255,.15) 55%,transparent 70%);background-size:250% 100%;background-position:100% 0;opacity:0;z-index:1;animation:btnShimmer 2s ease-in-out infinite;transition:opacity var(--duration-normal);pointer-events:none}@keyframes btnShimmer{0%,to{background-position:100% 0;opacity:0}20%{opacity:1}60%{background-position:-50% 0;opacity:1}80%{opacity:0}}.button--animated-glow:after{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;border-radius:calc(var(--radius-lg) - 1px);border:1px solid rgba(255,255,255,.1);z-index:2;pointer-events:none;transition:border-color var(--duration-normal),box-shadow var(--duration-normal)}.button--animated-glow:hover{transform:translateY(-1px);box-shadow:var(--shadow-glow),var(--shadow-lg)}.button--animated-glow:hover:before{animation-duration:1.5s;opacity:.8}.button--animated-glow:hover:after{border-color:#ffffff40;box-shadow:inset 0 1px #ffffff26}.button--animated-glow:active{transform:translateY(0) scale(.98);box-shadow:var(--shadow-sm)}.button--animated-glow:focus-visible{outline:2px solid var(--color-accent-400);outline-offset:3px}@media (prefers-reduced-motion: reduce){.button--animated-glow:before{animation:none;opacity:0}.button--animated-glow:hover:before{opacity:.3}}
