:root{--color-accent:#b0967d;--color-accent-hover:#c4ab94;--color-accent-rgb:176, 150, 125;--color-text:#1a1a1a;--color-text-secondary:#666;--color-text-muted:#999;--color-bg:#fafafa;--color-bg-elevated:#fff;--color-border:#e8e8e8;--color-separator:#00000026;--color-footer-bg:#141414;--color-footer-text:#999;--color-footer-heading:#ccc;--color-footer-caption:#666;--shadow-dropdown:0 6px 24px #00000014, 0 2px 8px #0000000a;--shadow-card-hover:0 12px 40px #00000014}[data-theme=dark]{--color-text:#e8e8e8;--color-text-secondary:#999;--color-text-muted:#777;--color-bg:#0a0a0a;--color-bg-elevated:#1a1a1a;--color-border:#333;--color-separator:#fff3;--color-footer-bg:#000;--color-footer-text:#aaa;--color-footer-heading:#ddd;--color-footer-caption:#888;--shadow-dropdown:0 6px 24px #0006, 0 2px 8px #0000004d;--shadow-card-hover:0 12px 40px #0006}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-y:scroll}body:has(.ant-image-preview-root){overflow:hidden}body{background-color:var(--color-bg);min-height:100vh;color:var(--color-text);transition:background-color .3s,color .3s}.container{width:100%;max-width:1120px;margin:0 auto;padding:0 24px}.section{padding:96px 0}.section-sm{padding:64px 0}.section-title{letter-spacing:-.02em;margin-bottom:16px;font-size:36px;font-weight:700;line-height:1.2}.section-subtitle{opacity:.6;max-width:560px;font-size:17px;line-height:1.6}.accent{color:var(--color-accent)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:.6s forwards fadeInUp}a{transition:color .2s}.hoverable-card{border-radius:12px;transition:transform .2s,box-shadow .2s;overflow:hidden}.hoverable-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-4px)}.store-image-rounded{border-radius:12px;overflow:hidden}.blog-article__body{display:flex}.blog-article__body>.blog-content{flex:1;min-width:0}.blog-article__like-sidebar{flex-shrink:0;width:0;overflow:visible}.blog-article__like-sticky{width:48px;margin-top:24px;margin-bottom:24px;margin-left:24px;position:sticky;top:100px}.blog-article__like-mobile{display:none}@media (width<=960px){.blog-article__like-sidebar{display:none}.blog-article__like-mobile{justify-content:center;padding:32px 0 8px;display:flex}}.project-card__pattern{background-color:var(--color-bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath d='M10 6l6 6M10 6l-6 6' fill='none' stroke='%23d4d4d4' stroke-width='1' stroke-linecap='round'/%3E%3C/svg%3E");background-size:20px 20px}[data-theme=dark] .project-card__pattern{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath d='M10 6l6 6M10 6l-6 6' fill='none' stroke='%23333333' stroke-width='1' stroke-linecap='round'/%3E%3C/svg%3E")}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-accent);border-radius:2px}@media (width<=768px){::-webkit-scrollbar{width:2px;height:2px}}.navbar-blur{-webkit-backdrop-filter:blur(12px)}::selection{background:rgba(var(--color-accent-rgb), .3)}html,body{overflow-x:clip}@media (width<=768px){.container{padding:0 16px}.section{padding:64px 0}.section-sm{padding:40px 0}.section-title{font-size:28px}.mobile-center-btns{justify-content:center;width:100%}.mobile-center-btns .ant-space-item{justify-content:center;display:flex}.contact-submit-btn{width:100%!important}.blog-grid{grid-template-columns:1fr!important}.blog-grid>div{grid-row:span 1!important}.blog-card-excerpt{height:47.6px!important}}.blog-content h1{letter-spacing:-.02em;margin:40px 0 16px;font-size:32px;font-weight:800;line-height:1.2}.blog-content h2{letter-spacing:-.01em;margin:36px 0 16px;font-size:24px;font-weight:700;line-height:1.3}.blog-content h3{margin:28px 0 12px;font-size:20px;font-weight:600;line-height:1.4}.blog-content p{color:var(--color-text);margin-bottom:20px;font-size:17px;line-height:1.85}.blog-content ul,.blog-content ol{margin-bottom:20px;padding-left:28px}.blog-content li{margin-bottom:6px;font-size:17px;line-height:1.85}.blog-content li p{margin-bottom:4px}.blog-content code{background:rgba(var(--color-accent-rgb), .1);border-radius:4px;padding:2px 6px;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:15px}.blog-content pre{color:#cdd6f4;background:#1e1e2e;border-radius:10px;margin:28px 0;padding:24px;font-family:SF Mono,Fira Code,Consolas,monospace;position:relative;overflow-x:auto}.blog-content pre:before{content:attr(data-language);text-transform:uppercase;letter-spacing:.05em;color:#6c7086;font-family:-apple-system,sans-serif;font-size:11px;position:absolute;top:10px;right:14px}.blog-content pre code{color:inherit;background:0 0;padding:0;font-size:14px;line-height:1.65}.blog-content pre .code-lang-label{text-transform:uppercase;letter-spacing:.06em;color:#6c7086;pointer-events:none;-webkit-user-select:none;user-select:none;font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:11px;font-weight:600;position:absolute;top:10px;right:14px}.blog-content strong{font-weight:600}.blog-content em{font-style:italic}.blog-content u{text-underline-offset:3px;text-decoration:underline}.blog-content mark{background:rgba(var(--color-accent-rgb), .25);border-radius:2px;padding:1px 3px}.blog-content blockquote{border-left:3px solid var(--color-accent);opacity:.85;margin:28px 0;padding-left:20px;font-style:italic}.blog-content blockquote p{font-size:18px;line-height:1.75}.blog-content a{color:var(--color-accent);text-underline-offset:3px;text-decoration:underline}.blog-content a:hover{color:var(--color-accent-hover)}.blog-content img{border-radius:10px;max-width:100%;height:auto;margin:24px 0}.blog-content hr{border:none;border-top:1px solid var(--color-border);margin:40px 0}.blog-content pre .hljs-keyword{color:#cba6f7}.blog-content pre .hljs-string{color:#a6e3a1}.blog-content pre .hljs-number{color:#fab387}.blog-content pre .hljs-comment{color:#6c7086;font-style:italic}.blog-content pre .hljs-function,.blog-content pre .hljs-title{color:#89b4fa}.blog-content pre .hljs-type{color:#f9e2af}.blog-content pre .hljs-built_in{color:#f38ba8}.blog-content pre .hljs-attr,.blog-content pre .hljs-property{color:#89dceb}.blog-content pre .hljs-variable{color:#cdd6f4}.blog-content pre .hljs-params{color:#f2cdcd}.blog-content pre .hljs-meta{color:#f5c2e7}.blog-content pre .hljs-tag,.blog-content pre .hljs-name{color:#89b4fa}.blog-content pre .hljs-selector-class{color:#a6e3a1}.blog-content pre .hljs-selector-id{color:#fab387}.status-available{color:#52c41a;background:#52c41a1a;border:1px solid #52c41a33;border-radius:100px;align-items:center;gap:8px;padding:6px 14px;font-size:13px;font-weight:500;display:inline-flex}.status-dot{background:#52c41a;border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}
