:root{--color-bg: #0a0a0a;--color-surface: #111111;--color-surface-hover: #1a1a1a;--color-border: #222222;--color-border-light: #333333;--color-text: #f5f5f5;--color-text-muted: #888888;--color-text-dim: #555555;--color-accent: #ffffff;--color-accent-hover: #e0e0e0;--font-family-base: Inter, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, sans-serif;--font-family-mono: JetBrains Mono, Fira Code, monospace;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-base: .25s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family-base);font-size:1rem;line-height:1.6;color:var(--color-text);background-color:var(--color-bg);min-height:100vh}::selection{background:#ffffff26;color:var(--color-text)}:focus-visible{outline:2px solid rgba(255,255,255,.5);outline-offset:2px}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;letter-spacing:-.02em;color:var(--color-text)}h1{font-size:3rem}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1.125rem}p{margin-bottom:1rem;color:var(--color-text-muted)}a{color:var(--color-text);text-decoration:none;transition:color var(--transition-fast)}a:hover{text-decoration:underline;text-underline-offset:3px}ul,ol{list-style:none}img{max-width:100%;height:auto;display:block}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:transparent;color:inherit}.container{width:100%;max-width:1200px;margin-inline:auto;padding-inline:2rem}@media(max-width:768px){.container{padding-inline:1rem}}.grid{display:grid;gap:1.5rem;grid-template-columns:repeat(1,1fr)}@media(min-width:480px){.grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:1280px){.grid{grid-template-columns:repeat(4,1fr)}}.muted{color:var(--color-text-muted)}.dim{color:var(--color-text-dim)}.small{font-size:.875rem}.uppercase{text-transform:uppercase;letter-spacing:.05em}.divider{height:1px;background:var(--color-border);border:none;margin:2rem 0}.mt-4{margin-top:1rem}.mt-6{margin-top:2rem}.mt-8{margin-top:3rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:2rem}.mb-8{margin-bottom:3rem}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-6{gap:2rem}.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}.transition-colors{transition:color var(--transition-fast),background-color var(--transition-fast)}.transition-opacity{transition:opacity var(--transition-base)}.transition-transform{transition:transform var(--transition-base)}.reveal{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}.reveal-visible{opacity:1;transform:translateY(0)}.page-enter{animation:pageFadeIn .3s ease forwards}@keyframes pageFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.hover-lift{transition:transform .2s ease,box-shadow .2s ease}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000004d}.hover-scale{transition:transform .2s ease}.hover-scale:hover{transform:scale(1.02)}.hover-glow{transition:box-shadow .2s ease}.hover-glow:hover{box-shadow:0 0 20px #ffffff1a}.link-animated{position:relative;text-decoration:none}.link-animated:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background:currentColor;transition:width .2s ease}.link-animated:hover:after{width:100%}.stagger-1{transition-delay:.05s}.stagger-2{transition-delay:.1s}.stagger-3{transition-delay:.15s}.stagger-4{transition-delay:.2s}.stagger-5{transition-delay:.25s}.stagger-6{transition-delay:.3s}.stagger-7{transition-delay:.35s}.stagger-8{transition-delay:.4s}.stagger-9{transition-delay:.45s}.stagger-10{transition-delay:.5s}.stagger-11{transition-delay:.55s}.stagger-12{transition-delay:.6s}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}.hover-lift:hover,.hover-scale:hover{transform:none}}body.lightbox-open{overflow:hidden}
