:root{--font-heading: "Outfit", -apple-system, BlinkMacSystemFont, sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", monospace;--bg-primary: #0b0f17;--bg-secondary: #121824;--bg-tertiary: #1a2232;--bg-card: #141b2b;--bg-card-hover: #1c263c;--bg-glass: rgba(18, 24, 36, .85);--border-subtle: rgba(255, 255, 255, .08);--border-medium: rgba(255, 255, 255, .14);--border-focus: #38bdf8;--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--text-inverse: #0f172a;--accent-primary: #38bdf8;--accent-primary-hover: #0284c7;--accent-primary-light: rgba(56, 189, 248, .1);--accent-android: #34d399;--accent-android-light: rgba(52, 211, 153, .1);--accent-badge: #6366f1;--accent-badge-light: rgba(99, 102, 241, .12);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .4);--shadow-md: 0 4px 16px -2px rgba(0, 0, 0, .35);--shadow-lg: 0 12px 32px -4px rgba(0, 0, 0, .5);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.16, 1, .3, 1);--transition-bounce: .3s cubic-bezier(.175, .885, .32, 1.275)}[data-theme=light]{--bg-primary: #f8fafc;--bg-secondary: #f1f5f9;--bg-tertiary: #e2e8f0;--bg-card: #ffffff;--bg-card-hover: #f8fafc;--bg-glass: rgba(255, 255, 255, .85);--border-subtle: rgba(0, 0, 0, .08);--border-medium: rgba(0, 0, 0, .14);--border-focus: #0284c7;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--text-inverse: #ffffff;--accent-primary: #0284c7;--accent-primary-hover: #0369a1;--accent-primary-light: rgba(2, 132, 199, .08);--accent-android: #059669;--accent-android-light: rgba(5, 150, 105, .08);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 16px -2px rgba(0, 0, 0, .08);--shadow-lg: 0 12px 32px -4px rgba(0, 0, 0, .12)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;overflow-x:hidden;transition:background-color var(--transition-normal),color var(--transition-normal)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--text-primary);letter-spacing:-.02em;font-weight:700;line-height:1.2}h1{font-size:clamp(2.2rem,4vw + 1rem,3.5rem)}h2{font-size:clamp(1.75rem,3vw + .5rem,2.5rem)}h3{font-size:clamp(1.25rem,2vw + .2rem,1.65rem)}h4{font-size:1.15rem}p{color:var(--text-secondary);font-size:1rem}a{color:var(--accent-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-primary-hover)}code,pre{font-family:var(--font-mono)}.container{width:100%;max-width:1160px;margin:0 auto;padding:0 1.5rem}.section-padding{padding:5rem 0}@media (max-width: 768px){.section-padding{padding:3.5rem 0}}.section-tag{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .85rem;background-color:var(--accent-primary-light);color:var(--accent-primary);border:1px solid rgba(56,189,248,.2);border-radius:var(--radius-full);font-size:.8rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;margin-bottom:1rem}.section-title{margin-bottom:.75rem}.section-desc{max-width:650px;font-size:1.1rem;margin-bottom:2.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:.75rem 1.4rem;border-radius:var(--radius-md);font-family:var(--font-body);font-size:.95rem;font-weight:600;cursor:pointer;border:1px solid transparent;transition:all var(--transition-bounce);white-space:nowrap}.btn-primary{background-color:var(--accent-primary);color:#0b0f17;border-color:var(--accent-primary);box-shadow:0 4px 14px #38bdf840}.btn-primary:hover{background-color:#0284c7;color:#fff;transform:translateY(-2px);box-shadow:0 6px 20px #38bdf866}.btn-secondary{background-color:var(--bg-card);color:var(--text-primary);border-color:var(--border-medium)}.btn-secondary:hover{background-color:var(--bg-card-hover);border-color:var(--accent-primary);color:var(--accent-primary);transform:translateY(-2px)}.btn-outline{background-color:transparent;color:var(--text-primary);border-color:var(--border-medium)}.btn-outline:hover{border-color:var(--text-primary);background-color:var(--bg-card-hover)}.btn-sm{padding:.5rem .9rem;font-size:.85rem}.card{background-color:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.75rem;transition:transform var(--transition-normal),border-color var(--transition-normal),box-shadow var(--transition-normal)}.card:hover{border-color:var(--border-medium);box-shadow:var(--shadow-md)}.card-interactive:hover{transform:translateY(-4px);border-color:#38bdf866}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}*:focus-visible{outline:2px solid var(--border-focus);outline-offset:3px}.code-block{background-color:#0d131f;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:1.25rem;overflow-x:auto;font-size:.875rem;color:#e2e8f0;line-height:1.7}.code-keyword{color:#f472b6;font-weight:600}.code-function{color:#38bdf8}.code-class{color:#34d399;font-weight:600}.code-string{color:#fbbf24}.code-comment{color:#64748b;font-style:italic}.code-annotation{color:#a78bfa}.status-pill{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .85rem;background-color:#34d3991a;border:1px solid rgba(52,211,153,.25);color:#34d399;border-radius:var(--radius-full);font-size:.825rem;font-weight:600}.status-dot{width:8px;height:8px;background-color:#34d399;border-radius:50%;position:relative}.status-dot:after{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;border-radius:50%;background-color:#34d399;opacity:.6;animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(1);opacity:.8}70%{transform:scale(2.2);opacity:0}to{transform:scale(2.2);opacity:0}}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .5s cubic-bezier(.16,1,.3,1) forwards}
