@import "https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap";
:root{--background:#fff;--foreground:#1d1d1f;--zinc-100:#f5f5f7;--zinc-200:#e8e8ed;--zinc-400:#86868b;--zinc-500:#6e6e73;--accent:#06c;--accent-hover:#0077ed;--container-max:1350px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;overflow-x:hidden}h1{letter-spacing:-.022em;font-weight:700}h2{letter-spacing:-.015em;font-weight:600}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 1.5rem}.full-screen{flex-direction:column;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:relative;overflow:hidden}.apple-btn{background:var(--foreground);color:#fff;border-radius:980px;padding:18px 32px;font-size:17px;font-weight:600;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.apple-btn:hover{background:#424245;transform:scale(1.02)}.apple-link{color:var(--accent);align-items:center;gap:4px;font-weight:500;text-decoration:none;display:inline-flex}.apple-link:hover{text-decoration:underline}.blog-grid{grid-template-cols:repeat(auto-fill, minmax(320px, 1fr));gap:40px;display:grid}.blog-card{color:inherit;text-decoration:none;transition:opacity .3s}.blog-card:hover{opacity:.8}.blog-card-img{aspect-ratio:16/9;background:var(--zinc-100);border-radius:18px;justify-content:center;align-items:center;width:100%;margin-bottom:20px;display:flex;overflow:hidden}.apple-gradient{background:radial-gradient(circle,#f5f5f7 0%,#fff 100%)}.text-sub{color:var(--zinc-500);font-weight:500}.blog-content ul,.blog-content ol{margin-bottom:1.5rem;padding-left:1.5rem}.blog-content ol{list-style-type:decimal}.blog-content ul{list-style-type:disc}.blog-content li{margin-bottom:.5rem}.blog-content h1{border-bottom:1px solid var(--zinc-200);letter-spacing:-.02em;color:var(--foreground);margin-top:2.5rem;margin-bottom:1rem;padding-bottom:.75rem;font-size:28px;font-weight:700;line-height:1.3}.blog-content h2{letter-spacing:-.015em;color:var(--foreground);margin-top:2rem;margin-bottom:.75rem;font-size:22px;font-weight:600;line-height:1.3}.blog-content h3{color:var(--foreground);margin-top:1.5rem;margin-bottom:.5rem;font-size:18px;font-weight:600;line-height:1.4}.blog-content p{margin-bottom:1rem}.blog-content strong{color:var(--foreground);font-weight:600}.blog-content code{color:#d63384;background:#f0f0f3;border:1px solid #e8e8ed;border-radius:5px;padding:2px 7px;font-family:SF Mono,Menlo,Monaco,monospace;font-size:.88em}.code-block-wrapper{margin:1.5rem 0;position:relative}.code-block-wrapper pre{margin:0}.blog-content pre{color:#a9b1d6;background:#1a1b26;border:1px solid #ffffff0f;border-radius:12px;margin:1.5rem 0;padding:1.5rem;font-family:SF Mono,Menlo,Monaco,Consolas,monospace;font-size:13.5px;line-height:1.7;overflow-x:auto;box-shadow:0 4px 24px #0000001f}.blog-content pre code{font-size:inherit;color:inherit;background:0 0;border:none;border-radius:0;padding:0}.copy-btn{color:#ffffff80;cursor:pointer;letter-spacing:.02em;z-index:2;background:#ffffff14;border:1px solid #ffffff1a;border-radius:6px;padding:5px 12px;font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:11px;font-weight:600;transition:all .2s;position:absolute;top:10px;right:10px}.copy-btn:hover{color:#ffffffe6;background:#ffffff26}.copy-btn.copied{color:#34d399;background:#34d39933;border-color:#34d3994d}.blog-content blockquote{border-left:4px solid var(--accent);color:var(--zinc-500);background:linear-gradient(135deg,#f8f9ff 0%,#f0f4ff 100%);border-radius:0 12px 12px 0;margin:1.75rem 0;padding:1.25rem 1.5rem;font-style:italic;position:relative;box-shadow:0 2px 12px #0066cc0a}.blog-content blockquote p{margin-bottom:0}.blog-content hr{background:linear-gradient(to right, transparent, var(--zinc-200), transparent);border:none;height:1px;margin:2.5rem 0}.blog-content img{border-radius:12px;max-width:100%;height:auto;margin:1.5rem 0}.blog-content pre .hljs-keyword{color:#bb9af7}.blog-content pre .hljs-string{color:#9ece6a}.blog-content pre .hljs-number{color:#ff9e64}.blog-content pre .hljs-comment{color:#565f89;font-style:italic}.blog-content pre .hljs-function,.blog-content pre .hljs-title{color:#7aa2f7}.blog-content pre .hljs-built_in{color:#e0af68}.blog-content pre .hljs-attr{color:#ff9e64}.blog-content pre .hljs-tag,.blog-content pre .hljs-name{color:#f7768e}.blog-content pre .hljs-selector-class{color:#ff9e64}.blog-content pre .hljs-selector-id{color:#7aa2f7}.blog-content pre .hljs-variable{color:#f7768e}.blog-content pre .hljs-type,.blog-content pre .hljs-params{color:#e0af68}.blog-content pre .hljs-literal{color:#ff9e64}.blog-content pre .hljs-symbol{color:#73daca}.blog-content pre .hljs-meta{color:#565f89}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-thumb{background:var(--zinc-200);border-radius:10px}.blog-layout{grid-template-columns:240px 1fr;gap:80px;display:grid}.blog-sidebar{height:fit-content;position:sticky;top:100px}.blog-sidebar-list{flex-direction:column;gap:12px;display:flex}.blog-feed{flex-direction:column;gap:80px;display:flex}.blog-card-responsive{grid-template-columns:300px 1fr;align-items:center;gap:40px;display:grid}@media (max-width:1024px){.blog-layout{grid-template-columns:1fr;gap:40px}.blog-sidebar{margin-bottom:0;position:static}.blog-sidebar-list{white-space:nowrap;border-bottom:1px solid var(--zinc-100);-webkit-overflow-scrolling:touch;flex-direction:row;gap:24px;padding-bottom:15px;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 85%,#0000 100%);mask-image:linear-gradient(90deg,#000 85%,#0000 100%)}.blog-sidebar-list::-webkit-scrollbar{display:none}.blog-feed{gap:60px}}@media (max-width:768px){.blog-card-responsive{grid-template-columns:1fr;gap:20px}.blog-card-img{aspect-ratio:16/9;border-radius:12px}.blog-header{padding:60px 0 30px!important}.blog-header h1{font-size:36px!important}.blog-header p{font-size:17px!important}.blog-card-responsive h2{margin-bottom:12px!important;font-size:24px!important}.blog-card-responsive p{margin-bottom:16px!important;font-size:15px!important}}.mathematics{font-family:inherit}.mathematics.katex-display{background:#00000005;border-radius:12px;margin:2rem 0;padding:1.5rem;overflow:auto hidden}.mathematics:not(.katex-display){padding:0 2px}
