.ui-button[data-astro-cid-6ygtcg62]{display:inline-flex;align-items:center;justify-content:center;position:relative;font-weight:500;font-family:inherit;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:var(--radius-full);border:1px solid transparent;white-space:nowrap;user-select:none;outline:none}.btn-content[data-astro-cid-6ygtcg62]{display:inline-flex;align-items:center;gap:var(--space-2);transition:opacity .2s ease}.is-loading[data-astro-cid-6ygtcg62] .btn-content[data-astro-cid-6ygtcg62]{opacity:0}.btn-primary[data-astro-cid-6ygtcg62]{background:var(--text-primary);color:var(--bg-primary);border-color:var(--text-primary);box-shadow:0 4px 12px #0000001a}.btn-primary[data-astro-cid-6ygtcg62]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #00000026;filter:brightness(1.1)}.btn-secondary[data-astro-cid-6ygtcg62]{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border);box-shadow:0 2px 8px #0000000d}.btn-secondary[data-astro-cid-6ygtcg62]:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--text-tertiary);transform:translateY(-1px)}.btn-ghost[data-astro-cid-6ygtcg62]{background:transparent;color:var(--text-secondary)}.btn-ghost[data-astro-cid-6ygtcg62]:hover:not(:disabled){background:var(--bg-secondary);color:var(--text-primary)}.btn-outline[data-astro-cid-6ygtcg62]{background:transparent;color:var(--text-primary);border-color:var(--border)}.btn-outline[data-astro-cid-6ygtcg62]:hover:not(:disabled){border-color:var(--text-primary);background:var(--bg-secondary)}.btn-sm[data-astro-cid-6ygtcg62]{padding:var(--space-1-5) var(--space-4);font-size:.8125rem}.btn-md[data-astro-cid-6ygtcg62]{padding:var(--space-2-5) var(--space-6);font-size:.9375rem}.btn-lg[data-astro-cid-6ygtcg62]{padding:var(--space-4) var(--space-10);font-size:1.0625rem}.btn-loader[data-astro-cid-6ygtcg62]{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.spinner[data-astro-cid-6ygtcg62]{width:1.25em;height:1.25em;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:btn-spin .8s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}.ui-button[data-astro-cid-6ygtcg62]:disabled{cursor:not-allowed;opacity:.6;transform:none!important;box-shadow:none!important}.breadcrumb[data-astro-cid-qaanghzh]{margin-bottom:var(--space-6)}.breadcrumb-list[data-astro-cid-qaanghzh]{display:flex;align-items:center;gap:var(--space-1);list-style:none;padding:0;margin:0;flex-wrap:wrap}.breadcrumb-item[data-astro-cid-qaanghzh]{display:flex;align-items:center;gap:var(--space-1)}.breadcrumb-sep[data-astro-cid-qaanghzh]{color:var(--text-tertiary);font-size:.875rem}.breadcrumb-link[data-astro-cid-qaanghzh]{color:var(--text-secondary);font-size:.875rem;text-decoration:none;transition:color var(--duration-fast)}.breadcrumb-link[data-astro-cid-qaanghzh]:hover{color:var(--text-primary)}.breadcrumb-current[data-astro-cid-qaanghzh]{color:var(--text-tertiary);font-size:.875rem}.comments-section[data-astro-cid-an2nl7ar]{width:100%;margin:0 auto;padding:var(--space-8) 0;display:flex;flex-direction:column;align-items:center}.comments-loader[data-astro-cid-an2nl7ar]{width:100%;display:flex;justify-content:center;padding:var(--space-4) 0}.capsule-btn[data-astro-cid-an2nl7ar]{border-radius:9999px!important;padding:14px 32px!important;font-weight:400!important;letter-spacing:.02em;background:var(--bg-secondary)!important;border:1px solid var(--border-light)!important;transition:all .25s var(--ease-out)!important;font-size:.9375rem!important;line-height:1}.capsule-btn[data-astro-cid-an2nl7ar]:hover{transform:translateY(-1px);background:var(--bg-primary)!important;border-color:var(--border)!important;box-shadow:0 6px 20px #00000014!important}.comments-container[data-astro-cid-an2nl7ar].hidden{display:none}.giscus[data-astro-cid-an2nl7ar],.giscus-frame[data-astro-cid-an2nl7ar]{width:100%!important}.share-btn[data-astro-cid-qan2qojn]{display:inline-flex;align-items:center;gap:var(--space-2);padding:8px 16px;background:transparent;color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-md);font-size:.875rem;font-family:var(--font-sans);cursor:pointer;transition:all var(--duration-fast)}.share-btn[data-astro-cid-qan2qojn]:hover{color:var(--text-primary);border-color:var(--text-tertiary);background:var(--bg-secondary)}.share-btn[data-astro-cid-qan2qojn].copied{color:#10b981;border-color:#10b981;background:#10b98114}.view-counter[data-astro-cid-e75zxctz]{display:inline-flex;align-items:center;gap:var(--space-3, 12px);font-size:.8rem;color:var(--text-tertiary)}.stat[data-astro-cid-e75zxctz]{display:inline-flex;align-items:center;gap:4px}.stat[data-astro-cid-e75zxctz] svg[data-astro-cid-e75zxctz]{opacity:.7}.toc[data-astro-cid-xvrfupwn]{position:sticky;top:var(--space-8);font-size:.875rem;padding-left:var(--space-4);border-left:1px solid var(--border-light)}.toc-title[data-astro-cid-xvrfupwn]{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-tertiary);margin-bottom:var(--space-3)}.toc-list[data-astro-cid-xvrfupwn]{list-style:none;padding:0;margin:0}.toc-item[data-astro-cid-xvrfupwn]{margin-bottom:var(--space-2)}.toc-item[data-astro-cid-xvrfupwn].depth-3{padding-left:var(--space-3)}.toc-link[data-astro-cid-xvrfupwn]{color:var(--text-secondary);text-decoration:none;transition:all var(--duration-fast);display:block;line-height:1.5}.toc-link[data-astro-cid-xvrfupwn]:hover,.toc-link[data-astro-cid-xvrfupwn].active{color:var(--text-primary)}.toc-link[data-astro-cid-xvrfupwn].active{font-weight:500}.post-nav[data-astro-cid-bknnyp27]{display:flex;justify-content:space-between;gap:var(--space-4);margin-top:0}.nav-item[data-astro-cid-bknnyp27]{flex:1;display:flex}.nav-item[data-astro-cid-bknnyp27].next{justify-content:flex-end}.nav-link[data-astro-cid-bknnyp27]{display:flex;flex-direction:column;gap:var(--space-1);text-decoration:none;color:var(--text-secondary);transition:color var(--duration-fast);max-width:100%}.nav-link[data-astro-cid-bknnyp27]:hover{color:var(--text-primary)}.nav-label[data-astro-cid-bknnyp27]{font-size:.75rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.nav-title[data-astro-cid-bknnyp27]{font-size:.9375rem;font-weight:500;display:flex;align-items:center;gap:var(--space-2)}.text-right[data-astro-cid-bknnyp27]{align-items:flex-end;text-align:right}.edit-post-link[data-astro-cid-5hzfisdl]{display:inline-flex;align-items:center;gap:4px;color:var(--text-tertiary);font-size:.875rem;text-decoration:none;transition:color var(--duration-fast)}.edit-post-link[data-astro-cid-5hzfisdl]:hover{color:var(--text-secondary)}.edit-post-link[data-astro-cid-5hzfisdl] svg{flex-shrink:0}.post-layout[data-astro-cid-gjtny2mx]{padding-top:var(--space-8);padding-bottom:var(--space-9)}.reading-progress[data-astro-cid-gjtny2mx]{position:fixed;top:0;left:0;height:3px;width:0%;background:var(--accent);z-index:200;transition:width 50ms linear}.post-content-wrapper[data-astro-cid-gjtny2mx]{position:relative}.post-sidebar[data-astro-cid-gjtny2mx]{display:none}@media(min-width:1200px){.post-sidebar[data-astro-cid-gjtny2mx]{display:block;position:absolute;left:calc(100% + var(--space-8));top:0;width:240px}.toc-fab-wrapper[data-astro-cid-gjtny2mx]{display:none}.toc-drawer[data-astro-cid-gjtny2mx]{display:none!important}}.toc-fab-wrapper[data-astro-cid-gjtny2mx]{display:flex;justify-content:flex-end;margin-bottom:var(--space-5)}.toc-fab[data-astro-cid-gjtny2mx]{width:40px;height:40px;border-radius:50%;background:var(--bg-secondary);border:1px solid var(--border-light);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--duration-fast);box-shadow:var(--shadow-sm)}.toc-fab[data-astro-cid-gjtny2mx]:hover{background:var(--bg-primary);color:var(--text-primary);border-color:var(--border);transform:scale(1.05)}.toc-drawer[data-astro-cid-gjtny2mx]{display:none}.toc-drawer[data-astro-cid-gjtny2mx].is-open{display:block;position:fixed;inset:0;z-index:500}.toc-drawer-backdrop[data-astro-cid-gjtny2mx]{position:absolute;inset:0;background:#0000004d;backdrop-filter:blur(2px)}.toc-drawer-panel[data-astro-cid-gjtny2mx]{position:absolute;bottom:0;left:0;right:0;background:var(--bg-primary);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--space-5);max-height:60vh;overflow-y:auto;animation:slide-up .25s var(--ease-out)}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.toc-drawer-header[data-astro-cid-gjtny2mx]{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-light)}.toc-drawer-title[data-astro-cid-gjtny2mx]{font-size:.875rem;font-weight:600;color:var(--text-primary)}.toc-drawer-close[data-astro-cid-gjtny2mx]{background:none;border:none;color:var(--text-tertiary);cursor:pointer;font-size:.875rem;padding:var(--space-1);border-radius:var(--radius-sm);transition:color var(--duration-fast)}.toc-drawer-close[data-astro-cid-gjtny2mx]:hover{color:var(--text-primary)}.toc-drawer[data-astro-cid-gjtny2mx] .toc[data-astro-cid-gjtny2mx]{position:static;border-left:none;padding-left:0}.toc-drawer[data-astro-cid-gjtny2mx] .toc-link[data-astro-cid-gjtny2mx]{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm)}.toc-drawer[data-astro-cid-gjtny2mx] .toc-link[data-astro-cid-gjtny2mx]:hover{background:var(--bg-secondary)}.toc-drawer[data-astro-cid-gjtny2mx] .toc-list[data-astro-cid-gjtny2mx]{display:flex;flex-direction:column;gap:var(--space-1)}.post-header[data-astro-cid-gjtny2mx]{margin-bottom:var(--space-7);text-align:center}.post-tags[data-astro-cid-gjtny2mx]{display:flex;justify-content:center;gap:var(--space-2);margin-bottom:var(--space-4)}.post-title[data-astro-cid-gjtny2mx]{font-size:2.5rem;line-height:1.1;letter-spacing:-.04em;margin-bottom:var(--space-3)}.post-description[data-astro-cid-gjtny2mx]{font-size:1.25rem;color:var(--text-secondary);margin-bottom:var(--space-5);max-width:600px;margin-left:auto;margin-right:auto}.post-meta[data-astro-cid-gjtny2mx]{display:flex;align-items:center;justify-content:center;gap:var(--space-2);color:var(--text-tertiary);font-size:.875rem}.meta-sep[data-astro-cid-gjtny2mx]{color:var(--border)}.post-content[data-astro-cid-gjtny2mx]{margin-bottom:var(--space-8)}.post-footer-nav[data-astro-cid-gjtny2mx]{display:flex;align-items:center;justify-content:space-between;padding-top:var(--space-5);margin-top:0;border-top:1px solid var(--border-light)}.back-btn-ui[data-astro-cid-gjtny2mx] svg{transition:transform var(--duration-fast)}.back-btn-ui[data-astro-cid-gjtny2mx]:hover svg{transform:translate(-3px)}.prose[data-astro-cid-gjtny2mx] h2{font-size:1.75rem;margin-top:var(--space-8);margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-light);scroll-margin-top:80px}.prose[data-astro-cid-gjtny2mx] h2,.prose[data-astro-cid-gjtny2mx] h3,.prose[data-astro-cid-gjtny2mx] h4{position:relative}.heading-anchor{position:absolute;left:-1.5em;color:var(--text-tertiary);text-decoration:none;font-size:.85em;opacity:0;transition:opacity .15s ease;user-select:none}.prose h2:hover .heading-anchor,.prose h3:hover .heading-anchor,.prose h4:hover .heading-anchor,.heading-anchor:focus-visible{opacity:1}.prose[data-astro-cid-gjtny2mx] h3{font-size:1.25rem;margin-top:var(--space-6);margin-bottom:var(--space-3);scroll-margin-top:80px}.prose[data-astro-cid-gjtny2mx] h4{font-size:1.125rem;margin-top:var(--space-5);margin-bottom:var(--space-2);color:var(--text-secondary);scroll-margin-top:80px}.prose[data-astro-cid-gjtny2mx] p{margin-bottom:var(--space-5)}.prose[data-astro-cid-gjtny2mx] img{border-radius:var(--radius-lg);margin:var(--space-7) 0;box-shadow:var(--shadow-md)}.prose[data-astro-cid-gjtny2mx] figure.book-cover{text-align:center;margin:var(--space-8) 0}.prose[data-astro-cid-gjtny2mx] figure.book-cover img{display:inline-block;max-width:280px;width:100%;margin:0 auto var(--space-3);box-shadow:var(--shadow-md)}.prose[data-astro-cid-gjtny2mx] figcaption{color:var(--text-tertiary);font-size:.875rem;font-style:italic;margin-top:var(--space-2)}.post-nav{margin-bottom:0;padding:var(--space-6) 0;border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light)}.giscus{margin-top:var(--space-8);margin-bottom:var(--space-8)}
