:root{--bg-primary: #f5f5f5;--bg-secondary: #fff;--text-primary: #333;--text-secondary: #666;--border-color: #e5e5e5;--shadow: rgba(0,0,0,.1);--accent-color: #2563eb;--accent-bg: #f0f8ff;--font-family-primary: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-family-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Courier New", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--leading-loose: 2;--font-light: 300;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--tracking-tight: -.025em;--tracking-normal: 0;--tracking-wide: .025em;--tracking-wider: .05em}[data-theme=dark]{--bg-primary: #1a1a1a;--bg-secondary: #2d2d2d;--text-primary: #ffffff;--text-secondary: #cccccc;--border-color: #404040;--shadow: rgba(0,0,0,.3);--accent-color: #60a5fa;--accent-bg: #1e3a8a}*{box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px}body{margin:0;padding:0;font-family:var(--font-family-primary);font-size:var(--text-base);line-height:var(--leading-normal);font-weight:var(--font-normal);overflow-x:hidden;background:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,.h1{font-size:var(--text-5xl);font-weight:var(--font-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);margin:0 0 1.5rem;color:var(--text-primary)}h2,.h2{font-size:var(--text-4xl);font-weight:var(--font-semibold);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight);margin:0 0 1.25rem;color:var(--text-primary)}h3,.h3{font-size:var(--text-3xl);font-weight:var(--font-semibold);line-height:var(--leading-snug);margin:0 0 1rem;color:var(--text-primary)}h4,.h4{font-size:var(--text-2xl);font-weight:var(--font-medium);line-height:var(--leading-normal);margin:0 0 .75rem;color:var(--text-primary)}h5,.h5{font-size:var(--text-xl);font-weight:var(--font-medium);line-height:var(--leading-normal);margin:0 0 .5rem;color:var(--text-primary)}h6,.h6{font-size:var(--text-lg);font-weight:var(--font-medium);line-height:var(--leading-normal);margin:0 0 .5rem;color:var(--text-primary)}p{margin:0 0 1rem;line-height:var(--leading-relaxed);color:var(--text-primary)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.text-4xl{font-size:var(--text-4xl)}.text-5xl{font-size:var(--text-5xl)}.font-light{font-weight:var(--font-light)}.font-normal{font-weight:var(--font-normal)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.font-extrabold{font-weight:var(--font-extrabold)}.leading-tight{line-height:var(--leading-tight)}.leading-snug{line-height:var(--leading-snug)}.leading-normal{line-height:var(--leading-normal)}.leading-relaxed{line-height:var(--leading-relaxed)}.leading-loose{line-height:var(--leading-loose)}.tracking-tight{letter-spacing:var(--tracking-tight)}.tracking-normal{letter-spacing:var(--tracking-normal)}.tracking-wide{letter-spacing:var(--tracking-wide)}.tracking-wider{letter-spacing:var(--tracking-wider)}@media (max-width: 768px){h1,.h1{font-size:var(--text-4xl)}h2,.h2{font-size:var(--text-3xl)}h3,.h3{font-size:var(--text-2xl)}h4,.h4{font-size:var(--text-xl)}h5,.h5{font-size:var(--text-lg)}h6,.h6{font-size:var(--text-base)}}img,video,iframe{max-width:100%;height:auto}nav ul{display:flex;flex-wrap:wrap;gap:8px}main{width:100%;max-width:100%}header{position:sticky!important;top:0!important;z-index:1000!important;background:var(--bg-secondary)!important;border-bottom:1px solid var(--border-color)!important;transition:background-color .3s ease,border-color .3s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-2px)}20%,40%,60%,80%{transform:translate(2px)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
