:root{--color-bg: #f5f5f7;--color-bg-secondary: #ffffff;--color-bg-tertiary: #e8e8ed;--color-text: #1d1d1f;--color-text-secondary: #424245;--color-text-tertiary: #86868b;--color-primary: #0071e3;--color-primary-hover: #0077ed;--color-primary-light: rgba(0, 113, 227, .1);--color-accent: #0071e3;--color-border: rgba(0, 0, 0, .12);--color-border-light: rgba(0, 0, 0, .06);--glass-bg: rgba(255, 255, 255, .65);--glass-bg-light: rgba(255, 255, 255, .45);--glass-bg-strong: rgba(255, 255, 255, .8);--glass-border: rgba(255, 255, 255, .4);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .1);--shadow-md: 0 2px 8px rgba(0, 0, 0, .12);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .15);--shadow-xl: 0 12px 32px rgba(0, 0, 0, .18);--shadow-glass: 0 8px 24px rgba(0, 0, 0, .1), inset 0 1px 0 rgba(255, 255, 255, .6);--shadow-hover: 0 12px 32px rgba(0, 0, 0, .12), inset 0 1px 0 rgba(255, 255, 255, .7);--backdrop-blur: blur(20px) saturate(150%);--backdrop-blur-strong: blur(30px) saturate(160%);--backdrop-brightness: brightness(1.02);--liquid-gradient: linear-gradient( 135deg, rgba(255, 255, 255, .8) 0%, rgba(255, 255, 255, .4) 50%, rgba(255, 255, 255, .6) 100% );--edge-light: linear-gradient( 135deg, rgba(255, 255, 255, .9) 0%, rgba(255, 255, 255, .4) 50%, rgba(255, 255, 255, .7) 100% );--bg-gradient: radial-gradient(circle at 20% 50%, rgba(0, 113, 227, .08) 0%, transparent 60%), radial-gradient(circle at 80% 20%, rgba(0, 113, 227, .06) 0%, transparent 50%), radial-gradient(circle at 50% 80%, rgba(175, 82, 222, .05) 0%, transparent 50%);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--max-width: 1120px;--max-width-narrow: 720px;--border-radius: 20px;--border-radius-sm: 12px;--border-radius-lg: 36px}[data-theme=dark]{--color-bg: #0a0a0a;--color-bg-secondary: #141414;--color-bg-tertiary: #1c1c1d;--color-text: #f5f5f7;--color-text-secondary: #d2d2d7;--color-text-tertiary: #86868b;--color-primary: #0a84ff;--color-primary-hover: #409cff;--color-primary-light: rgba(10, 132, 255, .15);--color-accent: #0a84ff;--color-border: rgba(255, 255, 255, .15);--color-border-light: rgba(255, 255, 255, .08);--glass-bg: rgba(30, 30, 30, .65);--glass-bg-light: rgba(30, 30, 30, .45);--glass-bg-strong: rgba(30, 30, 30, .8);--glass-border: rgba(255, 255, 255, .2);--shadow-glass: 0 20px 40px rgba(0, 0, 0, .4), 0 8px 16px rgba(0, 0, 0, .24), inset 0 1px 0 rgba(255, 255, 255, .1);--shadow-hover: 0 24px 48px rgba(0, 0, 0, .5), 0 12px 24px rgba(0, 0, 0, .3), inset 0 1px 0 rgba(255, 255, 255, .15);--bg-gradient: radial-gradient(circle at 20% 50%, rgba(10, 132, 255, .12) 0%, transparent 60%), radial-gradient(circle at 80% 20%, rgba(10, 132, 255, .08) 0%, transparent 50%), radial-gradient(circle at 50% 80%, rgba(175, 82, 222, .08) 0%, transparent 50%)}*{box-sizing:border-box;margin:0;padding:0}:root{--theme-transition: all .3s cubic-bezier(.4, 0, .2, 1)}html{transition:var(--theme-transition)}body{background-color:var(--color-bg);background-image:var(--bg-gradient);background-attachment:fixed;color:var(--color-text);font-family:var(--font-sans);line-height:1.6;transition:var(--theme-transition);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glass{position:relative;background:var(--glass-bg);backdrop-filter:var(--backdrop-blur);-webkit-backdrop-filter:var(--backdrop-blur);border:1px solid var(--glass-border);box-shadow:var(--shadow-glass);border-radius:var(--border-radius-lg);overflow:hidden}.glass:before{content:"";position:absolute;top:0;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.08) 0%,transparent 70%);opacity:0;transition:opacity .5s ease;pointer-events:none}.glass:hover:before{opacity:1}.glass-strong{background:var(--glass-bg-strong);backdrop-filter:var(--backdrop-blur-strong);-webkit-backdrop-filter:var(--backdrop-blur-strong)}article,.card,.panel,.content-box{position:relative;border:1px solid var(--glass-border);box-shadow:var(--shadow-glass);backdrop-filter:var(--backdrop-blur);-webkit-backdrop-filter:var(--backdrop-blur);border-radius:var(--border-radius-lg);overflow:hidden;transition:all .3s cubic-bezier(.25,.46,.45,.94)}article:hover,.card:hover,.panel:hover,.content-box:hover{box-shadow:var(--shadow-hover);border-color:#ffffff40}a{color:inherit;text-decoration:none}ul{list-style:none}.container{max-width:var(--max-width);margin:0 auto;padding:0 1rem}.liquid-glass{position:relative;background:var(--glass-bg);backdrop-filter:var(--backdrop-blur);-webkit-backdrop-filter:var(--backdrop-blur);border:1px solid var(--glass-border);box-shadow:var(--shadow-glass);border-radius:var(--border-radius-lg);overflow:hidden}.liquid-glass:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#ffffff1f,#ffffff08 45%,#ffffff14 55%,#ffffff26);opacity:.5;pointer-events:none;mix-blend-mode:overlay}.liquid-glass .edge-highlight{position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%);pointer-events:none}.liquid-ripple:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.06) 0%,transparent 60%);opacity:0;transform:scale(.8);transition:all .6s cubic-bezier(.25,.46,.45,.94);pointer-events:none}.glass,.liquid-glass,article,.card,.panel,.content-box,.article-card,.project-card,.header-inner{will-change:transform,box-shadow,background;transform:translateZ(0);backface-visibility:hidden}@media(max-width:768px){:root{--backdrop-blur: blur(30px) saturate(160%);--backdrop-blur-strong: blur(45px) saturate(180%);--border-radius-lg: 28px}.liquid-glass:after,.article-card:after,.project-card:after{opacity:.3}}@media(prefers-reduced-motion:reduce){.glass:before,.liquid-ripple:before,.article-card:after,.project-card:after{transition:none}.liquid-ripple:hover:before{opacity:0}}.edge-highlight{position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%);pointer-events:none;z-index:2}.liquid-ripple{position:relative;overflow:hidden}.liquid-ripple:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.06) 0%,transparent 60%);opacity:0;transform:scale(.8);transition:all .6s cubic-bezier(.25,.46,.45,.94);pointer-events:none;z-index:0}.liquid-ripple:hover:before{opacity:1;transform:scale(1)}.liquid-chromatic{position:relative}.liquid-chromatic:before{content:"";position:absolute;inset:-2px;background:linear-gradient(135deg,rgba(255,0,100,.03) 0%,transparent 50%,rgba(0,150,255,.03) 100%);border-radius:inherit;z-index:-1;filter:blur(8px)}.btn-liquid{position:relative;background:var(--glass-bg);backdrop-filter:var(--backdrop-blur);-webkit-backdrop-filter:var(--backdrop-blur);border:1px solid var(--glass-border);box-shadow:var(--shadow-glass);border-radius:var(--border-radius);overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-liquid:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#ffffff1f,#ffffff08 45%,#ffffff14 55%,#ffffff26);opacity:.5;mix-blend-mode:overlay;pointer-events:none}.btn-liquid:hover{background:var(--glass-bg-strong);box-shadow:var(--shadow-hover);transform:translateY(-2px)}.btn-liquid:hover:after{opacity:.7}@media(max-width:768px){.liquid-glass:after,.article-card:after,.project-card:after{opacity:.3}.liquid-ripple:before{transition:none}}.glass-post-header{position:relative;background:var(--glass-bg-strong);backdrop-filter:var(--backdrop-blur-strong);-webkit-backdrop-filter:var(--backdrop-blur-strong);border:1px solid var(--glass-border);box-shadow:var(--shadow-glass);border-radius:var(--border-radius-lg);overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.glass-post-content{position:relative;background:var(--glass-bg);backdrop-filter:var(--backdrop-blur);-webkit-backdrop-filter:var(--backdrop-blur);border:1px solid var(--glass-border);box-shadow:var(--shadow-glass);border-radius:var(--border-radius-lg);overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.glass-nav-card{position:relative;background:var(--glass-bg-light);backdrop-filter:var(--backdrop-blur);-webkit-backdrop-filter:var(--backdrop-blur);border:1px solid var(--glass-border);box-shadow:var(--shadow-sm);border-radius:var(--border-radius);overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.glass-nav-card:hover{background:var(--glass-bg);box-shadow:var(--shadow-glass);border-color:#ffffff40}.glass-btn{position:relative;background:var(--glass-bg);backdrop-filter:var(--backdrop-blur);-webkit-backdrop-filter:var(--backdrop-blur);border:1px solid var(--glass-border);box-shadow:var(--shadow-sm);border-radius:var(--border-radius);transition:all .3s cubic-bezier(.4,0,.2,1)}.glass-btn:hover{background:var(--glass-bg-strong);box-shadow:var(--shadow-glass)}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle 500px at 20% 30%,rgba(0,113,227,.05) 0%,transparent 100%),radial-gradient(circle 400px at 80% 70%,rgba(175,82,222,.04) 0%,transparent 100%);pointer-events:none;z-index:-1;will-change:transform}.prose{position:relative;z-index:1;color:var(--color-text);font-size:1.0625rem;line-height:1.8;letter-spacing:-.005em}.prose>*:first-child{margin-top:0}.prose>*:last-child{margin-bottom:0}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{color:var(--color-text);font-weight:600;letter-spacing:-.02em;line-height:1.3;margin-top:2.5em;margin-bottom:.75em}.prose h1{font-size:1.875rem}.prose h2{font-size:1.5rem;padding-bottom:.5em;border-bottom:1px solid var(--color-border-light)}.prose h3{font-size:1.25rem}.prose h4{font-size:1.125rem}.prose p{margin-bottom:1.25em;color:var(--color-text-secondary)}.prose a{color:var(--color-primary);text-decoration:none;font-weight:500;padding:.125rem .25rem;border-radius:4px;transition:all .2s ease;position:relative}.prose a:hover{background:var(--color-primary-light)}.prose strong{color:var(--color-text);font-weight:600}.prose em{font-style:italic}.prose ul,.prose ol{margin-bottom:1.25em;padding-left:1.5em}.prose ul{list-style:disc}.prose ol{list-style:decimal}.prose li{margin-bottom:.5em;color:var(--color-text-secondary)}.prose li::marker{color:var(--color-text-tertiary)}.prose blockquote{position:relative;margin:1.5em 0;padding:1.25em 1.5em;background:var(--glass-bg-light);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--border-radius-sm);box-shadow:var(--shadow-sm);color:var(--color-text-secondary);font-style:italic;overflow:hidden}.prose blockquote:before{content:"";position:absolute;top:0;left:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--color-primary) 0%,rgba(175,82,222,.6) 100%);border-radius:0 2px 2px 0}.prose blockquote p{color:var(--color-text-secondary);margin-bottom:0}.prose code{font-family:SF Mono,Fira Code,JetBrains Mono,Cascadia Code,Consolas,monospace;font-size:.875em;padding:.2em .45em;background:var(--glass-bg-light);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:6px;color:var(--color-primary);font-weight:500}.prose pre{position:relative;margin:1.5em 0;padding:1.5em;background:var(--glass-bg-strong);backdrop-filter:var(--backdrop-blur-strong);-webkit-backdrop-filter:var(--backdrop-blur-strong);border:1px solid var(--glass-border);border-radius:var(--border-radius);box-shadow:var(--shadow-glass);overflow-x:auto;overflow-y:hidden}.prose pre:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);pointer-events:none}.prose pre code{display:block;padding:0;background:transparent;border:none;border-radius:0;font-size:.875rem;line-height:1.7;color:var(--color-text);overflow-x:auto}.prose table{width:100%;margin:1.5em 0;border-collapse:separate;border-spacing:0;background:var(--glass-bg-light);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--border-radius-sm);box-shadow:var(--shadow-sm);overflow:hidden}.prose thead{background:var(--glass-bg-strong)}.prose th{padding:.75em 1em;text-align:left;font-weight:600;font-size:.875rem;color:var(--color-text);border-bottom:1px solid var(--glass-border);letter-spacing:-.01em}.prose td{padding:.75em 1em;font-size:.9375rem;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border-light)}.prose tr:last-child td{border-bottom:none}.prose tbody tr{transition:background .2s ease}.prose tbody tr:hover{background:var(--glass-bg)}.prose hr{margin:2.5em 0;border:none;height:1px;background:linear-gradient(90deg,transparent 0%,var(--glass-border) 20%,var(--glass-border) 80%,transparent 100%)}.prose img{max-width:100%;height:auto;border-radius:var(--border-radius-sm);box-shadow:var(--shadow-md);margin:1.5em 0;transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s ease}.prose img:hover{transform:scale(1.01);box-shadow:var(--shadow-lg)}.prose pre+.prose-block,.prose .prose-block{position:relative}.prose ul ul,.prose ol ol,.prose ul ol,.prose ol ul{margin-top:.5em;margin-bottom:.5em}@media(max-width:768px){.prose{font-size:1rem;line-height:1.75}.prose h1{font-size:1.5rem}.prose h2{font-size:1.25rem}.prose h3{font-size:1.125rem}.prose pre{padding:1em;border-radius:var(--border-radius-sm);font-size:.8125rem}.prose table{font-size:.875rem}.prose th,.prose td{padding:.5em .75em}.prose blockquote{padding:1em 1.25em}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.post-page>*{animation:fadeInUp .3s ease-out both}@media(prefers-reduced-motion:reduce){.post-page>*{animation:none}}button[data-astro-cid-x3pjskd3]{width:40px;height:40px;border-radius:50%;background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-border);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}button[data-astro-cid-x3pjskd3]:hover{background:var(--glass-bg-strong);color:var(--color-text);border-color:var(--glass-border);transform:scale(1.05)}button[data-astro-cid-x3pjskd3]:active{transform:scale(.95)}button[data-astro-cid-x3pjskd3] svg[data-astro-cid-x3pjskd3]{width:18px;height:18px;transition:transform .3s ease;position:absolute}button[data-astro-cid-x3pjskd3]:hover svg[data-astro-cid-x3pjskd3]{transform:rotate(15deg)}.sun[data-astro-cid-x3pjskd3],.moon[data-astro-cid-x3pjskd3]{transform:rotate(0)}:not([data-theme=dark]) .sun[data-astro-cid-x3pjskd3]{display:none}:not([data-theme=dark]) .moon[data-astro-cid-x3pjskd3]{display:block}[data-theme=dark] .sun[data-astro-cid-x3pjskd3]{display:block}[data-theme=dark] .moon[data-astro-cid-x3pjskd3]{display:none}.language-selector[data-astro-cid-lb7h3eps]{position:relative}.lang-button[data-astro-cid-lb7h3eps]{display:flex;align-items:center;gap:.25rem;padding:.5rem;background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-border);cursor:pointer;color:var(--color-secondary);transition:color .2s;border-radius:8px}.lang-button[data-astro-cid-lb7h3eps]:hover{color:var(--color-primary);background:var(--glass-bg-strong);border-color:var(--glass-border)}.lang-button[data-astro-cid-lb7h3eps] svg[data-astro-cid-lb7h3eps]{flex-shrink:0}.arrow[data-astro-cid-lb7h3eps]{transition:transform .2s}.lang-button[data-astro-cid-lb7h3eps].active .arrow[data-astro-cid-lb7h3eps]{transform:rotate(180deg)}.lang-dropdown[data-astro-cid-lb7h3eps]{position:absolute;top:calc(100% + .5rem);right:0;min-width:120px;background:var(--glass-bg-strong);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:8px;box-shadow:var(--shadow-glass);opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .2s;z-index:1000;overflow:hidden}.lang-dropdown[data-astro-cid-lb7h3eps].show{opacity:1;visibility:visible;transform:translateY(0)}.lang-option[data-astro-cid-lb7h3eps]{display:block;padding:.75rem 1rem;color:var(--color-secondary);text-decoration:none;font-size:.95rem;transition:all .2s}.lang-option[data-astro-cid-lb7h3eps]:hover{background:#0000000d;color:var(--color-primary)}.lang-option[data-astro-cid-lb7h3eps].active{color:var(--color-primary);font-weight:600;background:#3b82f61a}@media(prefers-color-scheme:dark){.lang-button[data-astro-cid-lb7h3eps]:hover{background:#ffffff1a}.lang-dropdown[data-astro-cid-lb7h3eps]{border-color:#ffffff1a}.lang-option[data-astro-cid-lb7h3eps]:hover{background:#ffffff1a}}header[data-astro-cid-3ef6ksr2]{position:sticky;top:0;z-index:100;padding:.75rem 0}.header-inner[data-astro-cid-3ef6ksr2]{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.25rem;background:var(--glass-bg);backdrop-filter:var(--backdrop-blur);-webkit-backdrop-filter:var(--backdrop-blur);border:1px solid var(--glass-border);box-shadow:var(--shadow-glass);border-radius:var(--border-radius-lg);transition:all .3s cubic-bezier(.4,0,.2,1);margin:0 1rem}.header-inner[data-astro-cid-3ef6ksr2]:hover{background:var(--glass-bg-strong);box-shadow:var(--shadow-hover);border-color:#ffffff40}.logo[data-astro-cid-3ef6ksr2]{font-size:1.5rem;font-weight:700;color:var(--color-text);letter-spacing:-.02em;transition:all .3s ease;padding:.5rem .75rem;border-radius:var(--border-radius-sm)}.logo[data-astro-cid-3ef6ksr2]:hover{color:var(--color-primary);background:var(--color-primary-light)}nav[data-astro-cid-3ef6ksr2] ul[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:.5rem}nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{font-size:.925rem;font-weight:500;color:var(--color-text-secondary);padding:.5rem .875rem;border-radius:var(--border-radius-sm);transition:all .2s ease;position:relative}nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:hover{color:var(--color-text);background:var(--color-bg-secondary)}nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:active{transform:scale(.98)}@media(max-width:768px){.header-inner[data-astro-cid-3ef6ksr2]{flex-direction:column;gap:1rem;padding:1rem}nav[data-astro-cid-3ef6ksr2] ul[data-astro-cid-3ef6ksr2]{flex-wrap:wrap;justify-content:center;gap:.375rem}nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{font-size:.875rem;padding:.4375rem .75rem}}footer[data-astro-cid-sz7xmlte]{padding:3rem 0 2rem;margin-top:6rem;text-align:center}.container[data-astro-cid-sz7xmlte]{padding:1.5rem;max-width:var(--max-width);margin:0 auto;background:#ffffff1a;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.15);border-radius:24px;box-shadow:0 20px 40px #0003,0 8px 16px #0000001a}p[data-astro-cid-sz7xmlte]{font-size:.875rem;color:var(--color-text-tertiary);line-height:1.6}a[data-astro-cid-sz7xmlte]{color:var(--color-text-secondary);font-weight:500;padding:.25rem .5rem;border-radius:6px;transition:all .2s ease}a[data-astro-cid-sz7xmlte]:hover{color:var(--color-primary);background:var(--color-primary-light);text-decoration:none}.separator[data-astro-cid-sz7xmlte]{margin:0 .5rem;opacity:.3}.runtime[data-astro-cid-sz7xmlte]{margin-top:.75rem;font-size:.8125rem;color:var(--color-text-tertiary);display:inline-block}
