*{margin:0;padding:0;box-sizing:border-box}:root{--green: #98c379;--cyan: #56b6c2;--amber: #e5c07b;--purple: #c678dd;--red: #e06c75;--blue: #61afef;--orange: #d19a66;--comment: #5c6370;--bg-primary: #1e1e2e;--bg-secondary: #282a36;--bg-card: #21222c;--bg-elevated: #2c2d3a;--bg-code: #191a24;--text-primary: #cdd6f4;--text-secondary: #a6adc8;--text-muted: #6c7086;--text-inverse: #1e1e2e;--border: #313244;--border-hover: #45475a;--border-accent: #56b6c2;--font-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", "Consolas", monospace;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-normal: .25s ease;--z-background: -1;--z-normal: 0;--z-elevated: 10;--z-sticky: 100;--z-overlay: 1000}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-mono);background:var(--bg-primary);color:var(--text-primary);line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-mono);font-weight:600;line-height:1.3;color:var(--text-primary)}h1{font-size:clamp(1.75rem,3.5vw,2.5rem)}h2{font-size:clamp(1.4rem,2.8vw,2rem)}h3{font-size:clamp(1.1rem,2vw,1.5rem)}h4{font-size:clamp(1rem,1.5vw,1.25rem)}p{color:var(--text-secondary);margin-bottom:var(--space-md);font-size:.9rem}a{color:var(--cyan);text-decoration:none;transition:var(--transition-fast)}a:hover{color:var(--blue);text-decoration:underline}.code-comment{color:var(--comment);font-style:italic;font-size:.85rem}.code-keyword{color:var(--cyan)}.code-string{color:var(--green)}.code-number{color:var(--amber)}.code-function{color:var(--purple)}.code-variable{color:var(--blue)}.text-gradient{color:var(--cyan)}.section-label{color:var(--cyan);font-size:1.3rem;font-weight:600;font-style:normal;margin-bottom:var(--space-xl);display:inline-block;padding-bottom:var(--space-sm);border-bottom:2px solid var(--border);letter-spacing:.5px}.section-label:before{content:"// ";color:var(--comment);font-weight:400}.container{max-width:960px;margin:0 auto;padding:0 var(--space-lg)}.section{padding:var(--space-3xl) 0;position:relative}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-xl);transition:var(--transition-normal);position:relative}.card:hover{border-color:var(--border-hover)}.btn{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.85rem;cursor:pointer;transition:var(--transition-normal);background:transparent;color:var(--text-secondary)}.btn:hover{border-color:var(--cyan);color:var(--cyan)}.btn-primary{background:var(--cyan);color:var(--text-inverse);border-color:var(--cyan)}.btn-primary:hover{background:var(--blue);border-color:var(--blue);color:var(--text-inverse);text-decoration:none}.tag{display:inline-block;padding:2px 8px;background:var(--bg-code);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.75rem;color:var(--green)}@keyframes blink{0%,100% {opacity: 1; 50% {opacity: 0;}} @keyframes fadeIn {from {opacity: 0; to {opacity: 1;} .cursor-blink::after {content: "█"; animation: blink 1s step-end infinite; color: var(--cyan); margin-left: 2px;} ::-webkit-scrollbar {width: 6px;} ::-webkit-scrollbar-track {background: var(--bg-secondary);} ::-webkit-scrollbar-thumb {background: var(--border); border-radius: var(--radius-full);} ::-webkit-scrollbar-thumb:hover {background: var(--comment);} ::selection {background: rgba(86,182,194,.3); color: var(--text-primary);} *:focus {outline: 1px solid var(--cyan); outline-offset: 2px;} @media (max-width: 768px) {html {font-size: 14px;} .container {padding: 0 var(--space-md);} .section {padding: var(--space-2xl) 0;}} @media (prefers-reduced-motion: reduce) {*,*::before,*::after {animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important;}} @media print {body {background: white; color: black;} .card {border: 1px solid #ccc;}}}}}
