*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none;scroll-behavior:smooth}body{min-height:100vh;font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--line-height-normal);background-color:var(--background);color:var(--foreground);letter-spacing:var(--letter-spacing-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"cv02","cv03","cv04","cv11"}h1,h2,h3,h4,h5,h6{text-wrap:balance;line-height:var(--line-height-tight);font-weight:var(--font-weight-semibold);color:var(--foreground);letter-spacing:var(--letter-spacing-tight)}h1{font-size:var(--text-3xl);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tighter)}h2{font-size:var(--text-2xl);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tighter)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}p{text-wrap:pretty;line-height:var(--line-height-relaxed)}ul[role=list],ol[role=list]{list-style:none}a{color:var(--primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-hover)}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}button{background:none;border:none;cursor:pointer}textarea{resize:vertical}table{border-collapse:collapse;width:100%}code,pre{font-family:var(--font-mono);font-size:var(--text-sm)}code{background-color:var(--muted);padding:.125rem .5rem;border-radius:var(--radius-sm);font-weight:var(--font-weight-medium)}pre{background-color:var(--charcoal-900, #0F0F0F);color:var(--charcoal-50, #F7F7F7);padding:var(--space-4);border-radius:var(--radius-lg);overflow-x:auto}pre code{background:none;padding:0;font-weight:var(--font-weight-normal)}::selection{background-color:var(--primary-muted);color:var(--foreground)}:focus-visible{outline:none;box-shadow:var(--focus-ring)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background-color:var(--charcoal-300, #A4A4A4);border-radius:5px;border:2px solid transparent;background-clip:content-box;transition:background-color var(--transition-fast)}::-webkit-scrollbar-thumb:hover{background-color:var(--charcoal-400, #6B6B6B)}*{scrollbar-width:thin;scrollbar-color:var(--charcoal-300, #A4A4A4) transparent}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-fade-in{animation:fadeIn .3s ease-out}.animate-fade-up{animation:fadeUp .4s ease-out}.animate-fade-down{animation:fadeDown .4s ease-out}.animate-scale-in{animation:scaleIn .3s ease-out}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-spin{animation:spin 1s linear infinite}.animate-float{animation:float 3s ease-in-out infinite}.glass{background:#fffc;backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%)}.glass-dark{background:#0f172acc;backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%)}.gradient-text{background:var(--gradient-primary-vivid);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hover-lift{transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.hover-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover)}.hover-lift:active{transform:translateY(0) scale(.98)}.active-press:active{transform:scale(.98)}.hover-scale{transition:transform var(--transition-normal)}.hover-scale:hover{transform:scale(1.02)}.hover-scale:active{transform:scale(.98)}.transition-all{transition:all var(--transition-fast)}.glow-primary,.glow-on-hover:hover{box-shadow:var(--shadow-primary-glow)}.skeleton{background:linear-gradient(90deg,var(--muted) 25%,var(--border) 50%,var(--muted) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius)}.noise:before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");opacity:.015;pointer-events:none}.gradient-border{position:relative;background:var(--card);border-radius:var(--radius-lg)}.gradient-border:before{content:"";position:absolute;inset:0;padding:1px;border-radius:inherit;background:var(--gradient-primary);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.divider{height:1px;background:linear-gradient(90deg,transparent,var(--border),transparent)}.blur-edges:before,.blur-edges:after{content:"";position:absolute;top:0;bottom:0;width:40px;z-index:1;pointer-events:none}.blur-edges:before{left:0;background:linear-gradient(90deg,var(--background),transparent)}.blur-edges:after{right:0;background:linear-gradient(270deg,var(--background),transparent)}
