:root{--bg:#fbfdfc;--bg-radial-1:rgba(16, 185, 129, 0.05);--bg-radial-2:rgba(5, 150, 105, 0.03);--fg:#1f2937;--heading:#0f172a;--muted:#4b5563;--subtle:#9ca3af;--border:rgba(16, 185, 129, 0.15);--border-subtle:rgba(16, 185, 129, 0.08);--card-bg:#ffffff;--card-border:rgba(16, 185, 129, 0.16);--card-hover-border:#10b981;--card-shadow:0 1px 3px rgba(0, 0, 0, 0.03), 0 1px 2px rgba(0, 0, 0, 0.02);--card-hover-shadow:0 10px 25px -3px rgba(16, 185, 129, 0.09), 0 4px 6px -2px rgba(0, 0, 0, 0.02);--link:#059669;--link-hover:#047857;--link-underline:rgba(5, 150, 105, 0.35);--accent:#059669;--accent-hover:#047857;--accent-subtle:rgba(16, 185, 129, 0.08);--accent-glow:rgba(16, 185, 129, 0.22);--accent-emerald:#059669;--accent-emerald-subtle:rgba(16, 185, 129, 0.12);--tag-bg:rgba(16, 185, 129, 0.06);--tag-color:#065f46;--tag-border:rgba(16, 185, 129, 0.18);--tag-hover-bg:rgba(16, 185, 129, 0.12);--tag-hover-border:rgba(5, 150, 105, 0.35);--tag-hover-color:#047857;--badge-bg:rgba(16, 185, 129, 0.05);--badge-border:rgba(16, 185, 129, 0.15);--badge-color:#1f2937;--badge-hover-bg:rgba(16, 185, 129, 0.1);--badge-hover-border:#10b981;--badge-hover-color:#047857;--code-bg:#f0fdf4;--syntax-bg:#f8faf9;--syntax-fg:#1e293b;--syntax-keyword:#cf222e;--syntax-entity:#8250df;--syntax-constant:#0550ae;--syntax-string:#0a3069;--syntax-variable:#953800;--syntax-comment:#6e7781;--syntax-tag:#059669;--syntax-number:#0550ae;--syntax-operator:#cf222e;--syntax-header:#059669;--quote-bg:rgba(16, 185, 129, 0.05);--quote-border:#059669;--nav-bg:rgba(251, 253, 252, 0.9);--toggle-bg:#ffffff;--toggle-border:rgba(16, 185, 129, 0.22);--logo-bg:#09090b;--logo-border:rgba(255, 255, 255, 0.15);--logo-fg:#ffffff}@media(prefers-color-scheme:dark){body.colorscheme-auto{--bg:#090e0b;--bg-radial-1:rgba(52, 211, 153, 0.06);--bg-radial-2:rgba(16, 185, 129, 0.035);--fg:#d1d5db;--heading:#f3f4f6;--muted:#9ca3af;--subtle:#6b7280;--border:rgba(52, 211, 153, 0.14);--border-subtle:rgba(52, 211, 153, 0.07);--card-bg:#0f1612;--card-border:rgba(52, 211, 153, 0.15);--card-hover-border:#34d399;--card-shadow:0 1px 3px rgba(0, 0, 0, 0.3);--card-hover-shadow:0 10px 28px -3px rgba(0, 0, 0, 0.5), 0 0 20px rgba(52, 211, 153, 0.1);--link:#34d399;--link-hover:#6ee7b7;--link-underline:rgba(52, 211, 153, 0.4);--accent:#34d399;--accent-hover:#6ee7b7;--accent-subtle:rgba(52, 211, 153, 0.12);--accent-glow:rgba(52, 211, 153, 0.25);--accent-emerald:#34d399;--accent-emerald-subtle:rgba(52, 211, 153, 0.14);--tag-bg:rgba(52, 211, 153, 0.08);--tag-color:#a7f3d0;--tag-border:rgba(52, 211, 153, 0.18);--tag-hover-bg:rgba(52, 211, 153, 0.16);--tag-hover-border:rgba(52, 211, 153, 0.4);--tag-hover-color:#ffffff;--badge-bg:rgba(52, 211, 153, 0.06);--badge-border:rgba(52, 211, 153, 0.14);--badge-color:#d1d5db;--badge-hover-bg:rgba(52, 211, 153, 0.14);--badge-hover-border:#34d399;--badge-hover-color:#ffffff;--code-bg:#121c16;--syntax-bg:#0b120e;--syntax-fg:#e2e8f0;--syntax-keyword:#ff7b72;--syntax-entity:#d2a8ff;--syntax-constant:#79c0ff;--syntax-string:#a5d6ff;--syntax-variable:#ffa657;--syntax-comment:#8b949e;--syntax-tag:#34d399;--syntax-number:#79c0ff;--syntax-operator:#ff7b72;--syntax-header:#34d399;--quote-bg:rgba(52, 211, 153, 0.07);--quote-border:#34d399;--nav-bg:rgba(9, 14, 11, 0.9);--toggle-bg:#121c16;--toggle-border:rgba(52, 211, 153, 0.25);--logo-bg:#121c16;--logo-border:rgba(52, 211, 153, 0.25);--logo-fg:#ffffff}}body.colorscheme-dark{--bg:#090e0b;--bg-radial-1:rgba(52, 211, 153, 0.06);--bg-radial-2:rgba(16, 185, 129, 0.035);--fg:#d1d5db;--heading:#f3f4f6;--muted:#9ca3af;--subtle:#6b7280;--border:rgba(52, 211, 153, 0.14);--border-subtle:rgba(52, 211, 153, 0.07);--card-bg:#0f1612;--card-border:rgba(52, 211, 153, 0.15);--card-hover-border:#34d399;--card-shadow:0 1px 3px rgba(0, 0, 0, 0.3);--card-hover-shadow:0 10px 28px -3px rgba(0, 0, 0, 0.5), 0 0 20px rgba(52, 211, 153, 0.1);--link:#34d399;--link-hover:#6ee7b7;--link-underline:rgba(52, 211, 153, 0.4);--accent:#34d399;--accent-hover:#6ee7b7;--accent-subtle:rgba(52, 211, 153, 0.12);--accent-glow:rgba(52, 211, 153, 0.25);--accent-emerald:#34d399;--accent-emerald-subtle:rgba(52, 211, 153, 0.14);--tag-bg:rgba(52, 211, 153, 0.08);--tag-color:#a7f3d0;--tag-border:rgba(52, 211, 153, 0.18);--tag-hover-bg:rgba(52, 211, 153, 0.16);--tag-hover-border:rgba(52, 211, 153, 0.4);--tag-hover-color:#ffffff;--badge-bg:rgba(52, 211, 153, 0.06);--badge-border:rgba(52, 211, 153, 0.14);--badge-color:#d1d5db;--badge-hover-bg:rgba(52, 211, 153, 0.14);--badge-hover-border:#34d399;--badge-hover-color:#ffffff;--code-bg:#121c16;--syntax-bg:#0b120e;--syntax-fg:#e2e8f0;--syntax-keyword:#ff7b72;--syntax-entity:#d2a8ff;--syntax-constant:#79c0ff;--syntax-string:#a5d6ff;--syntax-variable:#ffa657;--syntax-comment:#8b949e;--syntax-tag:#34d399;--syntax-number:#79c0ff;--syntax-operator:#ff7b72;--syntax-header:#34d399;--quote-bg:rgba(52, 211, 153, 0.07);--quote-border:#34d399;--nav-bg:rgba(9, 14, 11, 0.9);--toggle-bg:#121c16;--toggle-border:rgba(52, 211, 153, 0.25);--logo-bg:#121c16;--logo-border:rgba(52, 211, 153, 0.25);--logo-fg:#ffffff}::selection{background-color:var(--accent-subtle);color:var(--heading)}body{background-color:var(--bg);background-image:radial-gradient(at 0% 0%,var(--bg-radial-1) 0px,transparent 55%),radial-gradient(at 100% 100%,var(--bg-radial-2) 0px,transparent 55%);background-attachment:fixed;color:var(--fg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;transition:background-color .25s ease,color .25s ease}.wrapper{display:flex;flex-direction:column;min-height:100vh}.content{flex:1 0 auto}.navigation{position:sticky;top:0;z-index:50;background-color:var(--nav-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);height:auto;min-height:6.2rem;padding:1.2rem 0;transition:background-color .25s ease,border-color .25s ease}.navigation .container{display:flex;align-items:center;justify-content:flex-start;margin:0 auto}.navigation .navigation-title{font-size:1.75rem;font-weight:700;letter-spacing:-.02em;text-transform:none;color:var(--heading);text-decoration:none;transition:opacity .15s ease}.navigation .navigation-title:hover{opacity:.75;color:var(--heading)}.navigation .navigation-list,.navigation .menu-button,#menu-toggle{display:none!important}@media only screen and (max-width:768px){.navigation .container{position:relative}.navigation .navigation-list{position:absolute;top:calc(100% + 1.2rem);left:0;right:0;width:100%;flex-direction:column;align-items:stretch;background-color:var(--bg);border-bottom:1px solid var(--border);padding:1rem 2rem 1.6rem;gap:.4rem;box-shadow:0 10px 25px rgba(0,0,0,6%);border-top:1px solid var(--border)}.navigation .navigation-list .navigation-item{text-align:left}.navigation .navigation-list .navigation-item .navigation-link{display:block;padding:1rem 1.2rem;font-size:1.55rem}}.float-container{position:static}#dark-mode-toggle{position:fixed;bottom:2.4rem;right:2.4rem;left:auto;z-index:100;width:4.4rem;height:4.4rem;border-radius:50%;display:flex;align-items:center;justify-content:center;background-color:var(--toggle-bg);border:1px solid var(--toggle-border);box-shadow:0 4px 16px rgba(0,0,0,8%);cursor:pointer;color:var(--muted);font-size:1.8rem;margin:0;line-height:1;transition:all .25s cubic-bezier(.16,1,.3,1)}#dark-mode-toggle:hover{transform:translateY(-2px)scale(1.06);box-shadow:0 6px 20px var(--accent-glow);color:var(--accent);border-color:var(--accent)}.footer{border-top:1px solid var(--border);padding:3.5rem 0 3rem;margin-top:5rem;font-size:1.35rem;color:var(--muted);text-align:center;transition:border-color .25s ease,color .25s ease}.footer .footer-content{display:flex;align-items:center;justify-content:center;gap:.8rem;flex-wrap:wrap;line-height:1.6}.footer .footer-separator{opacity:.4}.footer a{color:var(--muted);text-decoration:none;border-bottom:1px dashed var(--border);transition:color .15s ease,border-color .15s ease}.footer a:hover{color:var(--accent);border-bottom:1px solid var(--accent);text-decoration:none}.post article{max-width:74rem;margin:0 auto;padding:1.5rem 0 3rem}.post-back{margin-bottom:2.2rem}.post-back .back-link{display:inline-flex;align-items:center;gap:.65rem;font-size:1.35rem;font-weight:550;color:var(--muted)!important;text-decoration:none!important;padding:.55rem 1.1rem;border-radius:8px;background-color:var(--card-bg);border:1px solid var(--border);transition:all .15s ease}.post-back .back-link:hover{color:var(--accent)!important;border-color:var(--card-hover-border);background-color:var(--accent-subtle);transform:translateX(-2px);text-decoration:none!important}.post-header{margin-top:0!important;margin-bottom:2.8rem}.post-title .title{font-size:3.6rem;line-height:1.25;font-weight:750;letter-spacing:-.03em;color:var(--heading);margin:0 0 1.6rem}@media only screen and (max-width:768px){.post-title .title{font-size:2.8rem;line-height:1.3}}.post-title .title .title-link{color:inherit;text-decoration:none}.post-title .title .title-link:hover{color:inherit}.post .post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.8rem;font-size:1.35rem;color:var(--muted);margin-bottom:3.2rem;padding-bottom:1.8rem;border-bottom:1px solid var(--border)}.post .post-meta .date{display:inline-flex;align-items:center;gap:1.4rem}.post .post-meta .posted-on,.post .post-meta .reading-time{display:inline-flex;align-items:center;gap:.5rem;margin-right:0!important}.post .post-meta i{font-size:1.2rem;opacity:.75;margin:0}.post .post-meta .tags{display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap}.post .post-meta .tags .separator{display:none!important}.post .post-meta .tags .tag{display:inline-flex;align-items:center;font-size:1.2rem;font-weight:500;padding:.2rem .8rem;border-radius:9999px;background-color:var(--tag-bg);border:1px solid var(--tag-border);line-height:1.4;margin:0;transition:all .15s ease}.post .post-meta .tags .tag a{color:var(--tag-color);text-decoration:none}.post .post-meta .tags .tag:hover{background-color:var(--tag-hover-bg);border-color:var(--tag-hover-border);transform:translateY(-1px)}.post .post-meta .tags .tag:hover a{color:var(--tag-hover-color)}.post-content{font-size:1.75rem;line-height:1.8;color:var(--fg)}.content article p{text-align:left!important;-webkit-hyphens:manual!important;hyphens:manual!important;margin:1.8rem 0}.content article strong,.content article b{font-weight:650;color:var(--heading)}.post-content a:not(.heading-link):not(.title-link){color:var(--link);text-decoration:underline;text-decoration-color:var(--link-underline);text-underline-offset:3px;transition:color .15s ease,text-decoration-color .15s ease}.post-content a:not(.heading-link):not(.title-link):hover{color:var(--link-hover);text-decoration-color:initial}.post-content h1,.post-content h2,.post-content h3,.post-content h4{color:var(--heading);font-weight:700;letter-spacing:-.025em}.post-content h1{font-size:2.6rem;line-height:1.3;margin-top:4.2rem;margin-bottom:1.6rem;padding-bottom:.8rem;border-bottom:1px solid var(--border)}.post-content h2{font-size:2.2rem;line-height:1.35;margin-top:3.6rem;margin-bottom:1.4rem}.post-content h3{font-size:1.85rem;line-height:1.4;margin-top:2.8rem;margin-bottom:1.2rem}.heading-link{opacity:0;margin-left:.8rem;font-size:.7em;color:var(--muted)!important;text-decoration:none!important;transition:opacity .15s ease;visibility:visible!important}h1:hover .heading-link,h2:hover .heading-link,h3:hover .heading-link,h4:hover .heading-link{opacity:.6}.post-content ol,.post-content ul{margin:1.8rem 0;padding-left:2.4rem}.post-content li{margin-bottom:.7rem;line-height:1.75}.post-content ol>li::marker{color:var(--muted);font-weight:500}.content article blockquote{margin:2.4rem 0;padding:1.4rem 2rem;border-left:3px solid var(--quote-border);background-color:var(--quote-bg);border-radius:0 8px 8px 0;color:var(--fg);font-style:italic}.content article code:not(pre code){font-family:ui-monospace,SFMono-Regular,sf mono,Menlo,Consolas,monospace;font-size:.88em;padding:.2rem .55rem;border-radius:5px;background-color:var(--code-bg);border:1px solid var(--border-subtle);color:var(--heading)}.content article pre:not(.chroma){margin:2.4rem 0;padding:1.6rem 2rem;border-radius:10px;background-color:var(--syntax-bg);border:1px solid var(--border);overflow-x:auto;font-family:ui-monospace,SFMono-Regular,sf mono,Menlo,Consolas,monospace;font-size:1.4rem;line-height:1.65}.content article .highlight{position:relative;margin:2.6rem 0;border-radius:12px;background-color:var(--syntax-bg);border:1px solid var(--border);box-shadow:0 1px 3px rgba(0,0,0,4%);overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}.content article .highlight:hover{border-color:var(--card-hover-border);box-shadow:0 4px 16px var(--accent-subtle)}body.colorscheme-dark .content article .highlight:hover,body.colorscheme-auto .content article .highlight:hover{border-color:var(--card-hover-border);box-shadow:0 4px 20px var(--accent-subtle)}.highlight div,.highlight pre,.highlight header,.highlight .code-header,.content article .highlight div,.content article .highlight pre,.content article .highlight header,.content article .highlight .code-header{margin:0!important}.content article .highlight pre{margin:0!important;padding:1.4rem 1.8rem!important;border:none!important;background-color:initial!important;color:var(--syntax-fg)!important;border-radius:0!important;overflow-x:auto;font-family:ui-monospace,SFMono-Regular,sf mono,Menlo,Monaco,Consolas,monospace;font-size:1.4rem;line-height:1.65;-webkit-font-smoothing:auto}.code-header{display:flex;align-items:center;justify-content:space-between;padding:.55rem 1.4rem .55rem 1.6rem!important;background-color:rgba(0,0,0,.025);border-bottom:1px solid var(--border-subtle);user-select:none;margin:0!important;border-radius:0!important;overflow:visible!important}body.colorscheme-dark .code-header,body.colorscheme-auto .code-header{background-color:rgba(255,255,255,.035)}.code-lang{font-size:1.15rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);font-family:ui-monospace,SFMono-Regular,sf mono,Menlo,monospace}.code-copy-btn{display:inline-flex;align-items:center;gap:.5rem;background:0 0;border:1px solid transparent;border-radius:6px;padding:.35rem .75rem;font-size:1.2rem;font-weight:500;color:var(--muted);cursor:pointer;transition:all .15s ease}.code-copy-btn:hover{background-color:var(--accent-subtle);color:var(--accent);border-color:var(--card-hover-border)}.code-copy-btn.copied{color:#10b981!important;border-color:rgba(16,185,129,.3)!important;background-color:rgba(16,185,129,8%)!important}.chroma{color:var(--syntax-fg)!important;background-color:initial!important}.chroma .line{display:flex}.chroma .cl{width:100%}.chroma .k,.chroma .kd,.chroma .kn,.chroma .kp,.chroma .kr,.chroma .kt{color:var(--syntax-keyword)!important;font-weight:600}.chroma .kc{color:var(--syntax-constant)!important;font-weight:600}.chroma .nf,.chroma .fm{color:var(--syntax-entity)!important;font-weight:500}.chroma .nc,.chroma .nn,.chroma .ne{color:var(--syntax-variable)!important;font-weight:600}.chroma .nb,.chroma .bp{color:var(--syntax-entity)!important}.chroma .no{color:var(--syntax-constant)!important}.chroma .na{color:var(--syntax-tag)!important}.chroma .nt{color:var(--syntax-keyword)!important;font-weight:600}.chroma .nd{color:var(--syntax-constant)!important}.chroma .nv,.chroma .vc,.chroma .vg,.chroma .vi,.chroma .vm{color:var(--syntax-variable)!important}.chroma .s,.chroma .sa,.chroma .sb,.chroma .sc,.chroma .dl,.chroma .sd,.chroma .s2,.chroma .se,.chroma .sh,.chroma .si,.chroma .sx,.chroma .s1,.chroma .ss{color:var(--syntax-string)!important}.chroma .si{color:var(--syntax-constant)!important}.chroma .m,.chroma .mb,.chroma .mf,.chroma .mh,.chroma .mi,.chroma .il,.chroma .mo{color:var(--syntax-number)!important}.chroma .c,.chroma .ch,.chroma .cm,.chroma .c1,.chroma .cs,.chroma .cp,.chroma .cpf{color:var(--syntax-comment)!important;font-style:italic}.chroma .o,.chroma .ow{color:var(--syntax-operator)!important}.chroma .p{color:var(--syntax-punctuation)!important}.chroma .gh,.chroma .gu,.chroma .nl{color:var(--syntax-header)!important;font-weight:600}.chroma .err{color:inherit!important;background-color:initial!important}.mermaid-wrapper{position:relative;margin:3.2rem 0;background-color:var(--syntax-bg);border:1px solid var(--border);border-radius:12px;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,4%);transition:background-color .25s ease,border-color .25s ease,box-shadow .25s ease}.mermaid-wrapper:hover{border-color:var(--card-hover-border);box-shadow:0 4px 16px var(--accent-subtle)}body.colorscheme-dark .mermaid-wrapper:hover,body.colorscheme-auto .mermaid-wrapper:hover{border-color:var(--card-hover-border);box-shadow:0 4px 20px var(--accent-subtle)}.mermaid-wrapper.is-fullscreen{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;max-width:none!important;margin:0!important;border-radius:0!important;border:none!important;z-index:999999!important;background-color:var(--bg)!important;box-shadow:none!important;display:flex!important;flex-direction:column!important}body.mermaid-fullscreen-active{overflow:hidden!important}.mermaid-toolbar{display:flex;align-items:center;justify-content:space-between;padding:.6rem 1.2rem .6rem 1.6rem;background-color:rgba(0,0,0,.025);border-bottom:1px solid var(--border-subtle);user-select:none;z-index:10}body.colorscheme-dark .mermaid-toolbar,body.colorscheme-auto .mermaid-toolbar{background-color:rgba(255,255,255,.035)}.mermaid-hint{display:flex;align-items:center;gap:.6rem;font-size:1.15rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);font-family:ui-monospace,SFMono-Regular,sf mono,Menlo,monospace}.mermaid-actions{display:flex;align-items:center;gap:.4rem}.mermaid-btn{display:inline-flex;align-items:center;justify-content:center;width:2.8rem;height:2.8rem;padding:0;background:0 0;border:1px solid transparent;border-radius:6px;color:var(--muted);cursor:pointer;transition:all .15s ease}.mermaid-btn:hover{background-color:var(--accent-subtle);color:var(--accent);border-color:var(--card-hover-border)}.mermaid-btn:active{transform:scale(.93)}.mermaid-viewport{position:relative;width:100%;min-height:280px;max-height:540px;overflow:hidden;cursor:grab;padding:2.4rem 1.6rem;display:flex;align-items:center;justify-content:center;touch-action:none}.mermaid-wrapper.is-fullscreen .mermaid-viewport{flex:1;max-height:none;min-height:0}.mermaid-viewport.is-panning{cursor:grabbing!important}.mermaid-stage{display:flex;align-items:center;justify-content:center;width:100%;height:100%;transform-origin:center center;will-change:transform}.mermaid{width:100%;display:flex;justify-content:center;align-items:center;user-select:none}.mermaid svg{max-width:100%!important;height:auto!important;display:block;margin:0 auto}.content article table{width:100%;margin:2.8rem 0;border-collapse:separate;border-spacing:0;font-size:1.5rem;border-radius:10px;overflow:hidden;border:1px solid var(--border)}.content article table th,.content article table td{padding:1.2rem 1.6rem;text-align:left;border-bottom:1px solid var(--border);border-right:1px solid var(--border);line-height:1.6}.content article table th:last-child,.content article table td:last-child{border-right:none}.content article table tr:last-child td{border-bottom:none}.content article table th{background-color:var(--tag-bg);color:var(--heading);font-weight:700;font-size:1.4rem;text-transform:uppercase;letter-spacing:.03em;border-bottom:2px solid var(--border)}.content article table tr:hover td{background-color:var(--tag-bg)}@media only screen and (max-width:768px){.content article table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}}.canon{display:block;max-width:540px;width:100%;height:auto;margin:2.8rem auto;padding:1.6rem;background-color:#fff!important;border:1px solid var(--border);border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,4%)}.post-footer{margin-top:4.5rem;padding-top:2.5rem;border-top:1px solid var(--border)}.post-footer-nav{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.5rem;font-size:1.4rem;font-weight:500}.post-footer-nav .back-to-posts,.post-footer-nav .back-to-top{display:inline-flex;align-items:center;gap:.65rem;font-size:1.35rem;font-weight:550;color:var(--muted)!important;text-decoration:none!important;padding:.55rem 1.1rem;border-radius:8px;border:1px solid var(--border);background-color:var(--card-bg);transition:all .15s ease}.post-footer-nav .back-to-posts:hover,.post-footer-nav .back-to-top:hover{color:var(--accent)!important;background-color:var(--accent-subtle);border-color:var(--card-hover-border);transform:translateY(-1px);text-decoration:none!important}.list ul{list-style:none;padding:0;margin:2rem 0}.list ul li{padding:1.4rem 0;border-bottom:1px solid var(--border-subtle);display:flex;align-items:baseline;gap:2rem}.list ul li:last-child{border-bottom:none}.list ul li .date{font-size:1.4rem;color:var(--muted);min-width:14rem;text-align:left}.list ul li .title{font-size:1.75rem;font-weight:600;color:var(--heading);text-decoration:none;transition:color .15s ease}.list ul li .title:hover{color:var(--link);text-decoration:none}@media only screen and (max-width:768px){.list ul li{flex-direction:column;gap:.4rem}.list ul li .date{min-width:unset;font-size:1.3rem}}img,video{max-width:100%;height:auto;border-radius:8px}hr{border:0;border-top:1px solid var(--border);margin:3.5rem 0}.site-header{position:sticky;top:0;z-index:50;background-color:var(--nav-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:1.1rem 0;transition:background-color .25s ease,border-color .25s ease}.site-header-container{max-width:78rem;margin:0 auto;padding:0 2rem;display:flex;align-items:center;justify-content:space-between}.site-header-left{display:flex;align-items:center;gap:1.4rem}.site-header-title{font-size:1.8rem;font-weight:750;letter-spacing:-.025em;color:var(--heading);text-decoration:none;transition:color .15s ease}.site-header-title:hover{color:var(--accent);text-decoration:none}.site-header-nav-link{display:inline-flex;align-items:center;gap:.65rem;font-size:1.35rem;font-weight:550;color:var(--muted)!important;text-decoration:none!important;padding:.55rem 1.1rem;border-radius:8px;background-color:var(--card-bg);border:1px solid var(--border);transition:all .15s ease}.site-header-nav-link:hover{color:var(--accent)!important;border-color:var(--card-hover-border);background-color:var(--accent-subtle);text-decoration:none!important}.wrapper-home{display:flex;flex-direction:column;min-height:100vh}.content-home{flex:1 0 auto}.portfolio-container{max-width:1180px;margin:0 auto;padding:0 2.8rem}@media(min-width:992px){.portfolio-container{display:grid;grid-template-columns:360px 1fr;gap:6.4rem;min-height:100vh}}.portfolio-sidebar{position:relative}@media(min-width:992px){.portfolio-sidebar{position:sticky;top:3.6rem;height:calc(100vh - 7.2rem)}}.sidebar-inner{height:100%;display:flex;flex-direction:column;justify-content:space-between}.sidebar-top{display:flex;flex-direction:column}.sidebar-brand{display:flex;align-items:center;gap:1.6rem;margin-bottom:2rem}.sidebar-name{font-size:2.6rem;font-weight:750;letter-spacing:-.03em;color:var(--heading);margin:0;line-height:1.2}.sidebar-subtitle{font-size:1.5rem;font-weight:500;color:var(--muted);margin:.35rem 0 0}.sidebar-status{display:inline-flex;align-items:center;gap:.75rem;margin-top:.85rem;padding:.35rem .95rem;border-radius:9999px;background-color:var(--accent-subtle);border:1px solid var(--border);font-size:1.25rem;color:var(--muted);line-height:1.4;width:fit-content;transition:all .2s ease}.sidebar-status:hover{border-color:var(--card-hover-border);background-color:var(--tag-hover-bg)}.status-dot{width:7px;height:7px;border-radius:50%;background-color:var(--accent-emerald);box-shadow:0 0 0 0 var(--accent-emerald);flex-shrink:0;animation:statusPulse 2.2s infinite}@keyframes statusPulse{0%{box-shadow:0 0 rgba(16,185,129,.7)}70%{box-shadow:0 0 0 7px rgba(16,185,129,0)}100%{box-shadow:0 0 rgba(16,185,129,0)}}.status-text{color:var(--muted)}.status-link{color:var(--heading);font-weight:550;text-decoration:underline;text-decoration-color:var(--link-underline);text-underline-offset:3px;display:inline-flex;align-items:center;gap:.25rem;transition:color .15s ease,text-decoration-color .15s ease}.status-link:hover{color:var(--accent);text-decoration-color:var(--accent)}.status-arrow{display:inline-block;vertical-align:middle;margin-left:.2rem;opacity:.7;color:currentColor;transition:transform .15s ease,opacity .15s ease}.status-link:hover .status-arrow{transform:translate(1px,-1px);opacity:1}.sidebar-nav{margin-top:2.8rem}.nav-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem}.nav-link{display:flex;align-items:center;gap:1.4rem;padding:.65rem 0;font-size:1.35rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);text-decoration:none;transition:all .2s ease}.nav-indicator{width:2rem;height:2px;border-radius:2px;background-color:var(--border);transition:width .25s cubic-bezier(.16,1,.3,1),background-color .25s ease,box-shadow .25s ease}.nav-link:hover,.nav-link.active{color:var(--accent);text-decoration:none}.nav-link:hover .nav-indicator,.nav-link.active .nav-indicator{width:4.4rem;background-color:var(--accent);box-shadow:0 0 10px var(--accent-glow)}.sidebar-bottom{margin-top:auto;padding-top:2rem}.sidebar-footer{padding-top:1.6rem;border-top:1px solid var(--border-subtle)}.sidebar-copyright{font-size:1.25rem;color:var(--subtle);margin:0;line-height:1.5}.portfolio-content{padding:3.6rem 0 6rem}.section-block{margin-bottom:5.6rem;scroll-margin-top:2.5rem}.section-block:last-child{margin-bottom:2rem}.section-title-wrap{margin-bottom:1.4rem}.section-title-wrap.mobile-only{display:none}.section-title{font-size:1.9rem;font-weight:700;letter-spacing:-.02em;color:var(--heading);margin:0;line-height:1.25}.about-card{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:10px;padding:2rem 2.2rem;box-shadow:var(--card-shadow);transition:all .22s cubic-bezier(.16,1,.3,1)}.about-card:hover{border-color:var(--card-hover-border);box-shadow:var(--card-hover-shadow)}.about-body p{font-size:1.5rem;line-height:1.75;color:var(--fg);margin:0}.about-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.9rem}.about-list li{position:relative;padding-left:1.8rem;font-size:1.45rem;line-height:1.7;color:var(--fg)}.about-list li::before{content:"";position:absolute;left:.2rem;top:.95rem;width:6px;height:6px;border-radius:50%;background-color:var(--accent);opacity:.85}.about-contact-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:1.6rem;padding-top:1.4rem;border-top:1px solid var(--border-subtle)}.contact-pill{display:inline-flex;align-items:center;gap:.55rem;font-size:1.2rem;font-weight:500;color:var(--muted);background-color:var(--card-bg);border:1px solid var(--border);border-radius:6px;padding:.35rem .85rem;text-decoration:none;line-height:1.35;transition:all .18s ease}.contact-pill i{font-size:1.15rem;color:var(--muted);transition:color .15s ease}.contact-pill:hover:not(.contact-location){color:var(--accent);background-color:var(--accent-subtle);border-color:var(--card-hover-border);text-decoration:none;transform:translateY(-1px)}.contact-pill:hover:not(.contact-location) i{color:var(--accent)}.contact-pill:hover .contact-arrow{transform:translate(1px,-1px);color:var(--accent);opacity:1}.contact-arrow{width:9px;height:9px;color:var(--muted);opacity:.6;transition:transform .15s ease,color .15s ease,opacity .15s ease}.contact-location{cursor:default;border-color:transparent;background-color:initial;color:var(--subtle);padding:.35rem .6rem}.contact-location i{opacity:.7}.skills-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.2rem}.skill-card{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:10px;padding:1.4rem 1.6rem;box-shadow:var(--card-shadow);transition:all .2s cubic-bezier(.16,1,.3,1)}.skill-card:hover{border-color:var(--card-hover-border);box-shadow:var(--card-hover-shadow);transform:translateY(-2px)}.skill-category-badge{font-size:1.15rem;font-weight:650;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);display:inline-flex;align-items:center;gap:.55rem}.skill-category-badge::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background-color:var(--accent);opacity:.9}.skill-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.9rem}.skill-tag{display:inline-flex;align-items:center;font-size:1.15rem;font-weight:450;letter-spacing:-.01em;color:var(--badge-color);background-color:var(--badge-bg);border:1px solid var(--badge-border);border-radius:5px;padding:.25rem .65rem;line-height:1.35;transition:all .18s cubic-bezier(.16,1,.3,1)}.skill-tag:hover{background-color:var(--badge-hover-bg);border-color:var(--badge-hover-border);color:var(--badge-hover-color);transform:translateY(-1px);box-shadow:0 2px 6px var(--accent-subtle)}.posts-list-wrap{display:flex;flex-direction:column;gap:1.2rem}.modern-post-card{display:flex;align-items:center;justify-content:space-between;gap:2rem;background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:10px;padding:1.6rem 1.8rem;text-decoration:none;position:relative;overflow:hidden;box-shadow:var(--card-shadow);transition:all .22s cubic-bezier(.16,1,.3,1)}.modern-post-card::before{content:"";position:absolute;top:0;left:0;bottom:0;width:3px;background:var(--accent);opacity:0;transform:scaleY(.3);transition:opacity .2s ease,transform .2s ease}.modern-post-card:hover{border-color:var(--card-hover-border);box-shadow:var(--card-hover-shadow);transform:translateY(-2px);text-decoration:none}.modern-post-card:hover::before{opacity:1;transform:scaleY(1)}.post-card-inner{flex:1;min-width:0}.post-card-meta{display:flex;align-items:center;gap:.6rem;font-size:1.15rem;color:var(--subtle);font-family:ui-monospace,SFMono-Regular,sf mono,Menlo,monospace;margin-bottom:.45rem;font-weight:450}.post-meta-sep{opacity:.5;color:var(--accent)}.post-card-title{font-size:1.6rem;font-weight:600;letter-spacing:-.015em;color:var(--heading);margin:0 0 .45rem;line-height:1.35;transition:color .15s ease}.modern-post-card:hover .post-card-title{color:var(--accent)}.post-card-summary{font-size:1.35rem;line-height:1.55;color:var(--muted);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.post-card-action{width:3.2rem;height:3.2rem;border-radius:50%;display:flex;align-items:center;justify-content:center;background-color:var(--badge-bg);border:1px solid var(--badge-border);color:var(--muted);transition:all .2s cubic-bezier(.16,1,.3,1);flex-shrink:0}.modern-post-card:hover .post-card-action{transform:translate(2px,-2px);color:#fff;background-color:var(--accent);border-color:var(--accent);box-shadow:0 2px 10px var(--accent-glow)}.posts-empty{padding:2rem;text-align:center;color:var(--muted);font-size:1.35rem}@media(max-width:991px){.portfolio-container{max-width:740px;padding:0 2rem}.portfolio-sidebar{position:static;height:auto;margin-bottom:3.5rem;padding-top:3.5rem}.sidebar-brand{margin-bottom:1.6rem}.sidebar-nav{margin-top:1.8rem;margin-bottom:1.8rem}.nav-list{flex-direction:row;flex-wrap:wrap;gap:.8rem}.nav-link{padding:.6rem 1.2rem;border-radius:8px;background-color:var(--card-bg);border:1px solid var(--border);font-size:1.25rem}.nav-indicator{display:none}.nav-link.active{background-color:var(--accent-subtle);color:var(--accent);border-color:var(--accent);box-shadow:0 2px 8px var(--accent-subtle)}.nav-link.active:hover{color:var(--accent)}.sidebar-bottom{margin-top:1.5rem;padding-top:1.5rem}.portfolio-content{padding:0 0 5rem}.section-title-wrap.mobile-only{display:block}.skills-cards-grid{grid-template-columns:1fr}}@media(max-width:640px){.portfolio-container{padding:0 1.6rem}.portfolio-sidebar{padding-top:2.4rem}.sidebar-name{font-size:2.2rem}.about-card{padding:2rem 1.8rem}.about-headline{font-size:1.85rem}.modern-post-card{padding:1.8rem 1.6rem;gap:1.2rem}.post-card-title{font-size:1.65rem}}