:root{--color-bg:#fbfbfd;--color-bg-alt:#f5f5f7;--color-surface:#ffffff;--color-surface-hover:#f5f5f7;--color-border:#d2d2d7;--color-border-strong:#86868b;--color-text:#1d1d1f;--color-text-dim:#6e6e73;--color-text-muted:#86868b;--color-primary:#0071e3;--color-primary-hover:#0077ed;--color-primary-bg:rgba(0,113,227,.08);--color-code-bg:#f5f5f7;--color-code-text:#1d1d1f;--font-sans:'Inter', -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'SF Pro Text', 'Helvetica Neue', Helvetica, Arial, sans-serif;--font-mono:'SF Mono', 'JetBrains Mono', 'Fira Code', 'Cascadia Code', Menlo, Consolas, monospace;--font-size-xs:0.75rem;--font-size-sm:0.8125rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.375rem;--font-size-2xl:1.75rem;--font-size-3xl:2.25rem;--font-size-4xl:2.75rem;--font-size-hero:3.5rem;--line-height:1.7;--line-height-heading:1.17;--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:5rem;--space-hero:6rem;--container-max:980px;--content-max:720px;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--transition-fast:150ms cubic-bezier(.25,.1,.25,1);--transition-base:250ms cubic-bezier(.25,.1,.25,1);--transition-slow:400ms cubic-bezier(.25,.1,.25,1)}[data-theme=dark]{--color-bg:#000000;--color-bg-alt:#111111;--color-surface:#1d1d1f;--color-surface-hover:#2d2d2f;--color-border:#424245;--color-border-strong:#6e6e73;--color-text:#f5f5f7;--color-text-dim:#a1a1a6;--color-text-muted:#86868b;--color-primary:#2997ff;--color-primary-hover:#50bbff;--color-primary-bg:rgba(41,151,255,.1);--color-code-bg:#111111;--color-code-text:#f5f5f7}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}html.no-theme-transition,html.no-theme-transition *,html.no-theme-transition *::before,html.no-theme-transition *::after{transition:none!important}body{font-family:var(--font-sans);font-size:1rem;line-height:var(--line-height);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-slow),color var(--transition-slow);font-feature-settings:'kern' 1,'liga' 1,'calt' 1}img,video,canvas{max-width:100%;height:auto;display:block}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover)}::selection{background:var(--color-primary);color:#fff}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--space-xl)}.site-header{position:sticky;top:0;z-index:100;background:rgba(251,251,253,.72);backdrop-filter:saturate(180%)blur(20px);-webkit-backdrop-filter:saturate(180%)blur(20px);border-bottom:1px solid transparent;transition:background var(--transition-slow),border-color var(--transition-slow)}[data-theme=dark] .site-header{background:rgba(0,0,0,.72)}.site-header.has-scrolled{border-bottom-color:var(--color-border)}.nav-wrap{display:flex;align-items:center;justify-content:space-between;height:52px}.site-title{font-size:var(--font-size-base);font-weight:600;letter-spacing:-.015em;color:var(--color-text);white-space:nowrap;transition:color var(--transition-fast)}.site-title:hover{color:var(--color-primary)}.site-title .dot{color:var(--color-primary)}.nav-links{display:flex;align-items:center;gap:var(--space-xs)}.nav-links a{font-size:13px;font-weight:400;color:var(--color-text-dim);padding:var(--space-xs)var(--space-sm);border-radius:var(--radius-sm);transition:color var(--transition-fast),background var(--transition-fast)}.nav-links a:hover{color:var(--color-text)}.nav-links a[aria-current=page]{color:var(--color-text)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:50%;background:0 0;color:var(--color-text-muted);font-size:.85rem;cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast);margin-left:var(--space-xs);flex-shrink:0}.theme-toggle:hover{color:var(--color-text);background:var(--color-surface-hover)}.hamburger{display:none;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:50%;background:0 0;color:var(--color-text-muted);font-size:1rem;cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast);flex-shrink:0}.hamburger:hover{color:var(--color-text);background:var(--color-surface-hover)}.hamburger .close-icon{display:none}.hamburger.open .menu-icon{display:none}.hamburger.open .close-icon{display:inline}main.container{padding-top:var(--space-2xl);padding-bottom:var(--space-3xl);min-height:calc(100vh - 120px)}.hero{padding:var(--space-hero)0 var(--space-3xl);text-align:center}.hero h1{font-size:var(--font-size-hero);font-weight:700;letter-spacing:-.035em;line-height:1.05;margin-bottom:var(--space-lg);background:linear-gradient(180deg,var(--color-text) 60%,var(--color-text-muted));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}[data-theme=dark] .hero h1{background:linear-gradient(180deg,var(--color-text) 60%,var(--color-text-dim));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero p{font-size:var(--font-size-lg);color:var(--color-text-dim);max-width:520px;margin:0 auto;line-height:1.5;letter-spacing:-.01em}.section-title{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin-bottom:var(--space-xl);padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-border)}.view-all{display:inline-flex;align-items:center;gap:var(--space-xs);margin-top:var(--space-xl);font-size:var(--font-size-base);font-weight:400;color:var(--color-primary);transition:gap var(--transition-fast)}.view-all:hover{gap:var(--space-sm)}.list-header{margin-bottom:var(--space-2xl);text-align:center}.list-header h1{font-size:var(--font-size-4xl);font-weight:700;letter-spacing:-.035em;line-height:1.1}.terms-header h1{font-size:var(--font-size-3xl);font-weight:800;letter-spacing:-.03em}.list-header p{color:var(--color-text-dim);margin-top:var(--space-md);font-size:var(--font-size-lg);max-width:520px;margin-left:auto;margin-right:auto}.empty-message{text-align:center;color:var(--color-text-muted);padding:var(--space-2xl)0}.post-grid{display:grid;gap:var(--space-md)}.post-card{padding:var(--space-xl);background:var(--color-surface);border-radius:var(--radius-lg);transition:transform var(--transition-base),box-shadow var(--transition-base)}.post-card:hover{transform:scale(1.005);box-shadow:0 2px 20px rgba(0,0,0,6%)}[data-theme=dark] .post-card:hover{box-shadow:0 2px 24px rgba(0,0,0,.3)}.post-card time{display:block;font-size:var(--font-size-xs);font-weight:400;color:var(--color-text-muted);letter-spacing:.02em;margin-bottom:var(--space-xs)}.post-card h2{font-size:var(--font-size-lg);font-weight:600;letter-spacing:-.02em;line-height:1.25}.post-card h2 a{color:var(--color-text);transition:color var(--transition-fast)}.post-card:hover h2 a{color:var(--color-primary)}.post-card p{font-size:var(--font-size-sm);color:var(--color-text-dim);margin-top:var(--space-sm);line-height:1.6}.post-card .post-tags{margin-top:var(--space-md);display:flex;flex-wrap:wrap;gap:var(--space-xs)}.post-single{max-width:var(--content-max);margin:0 auto}.post-single header{margin-bottom:var(--space-2xl);padding-bottom:var(--space-xl);text-align:center}.post-single header h1{font-size:var(--font-size-4xl);font-weight:700;letter-spacing:-.03em;line-height:1.1;margin-bottom:var(--space-lg)}.post-single .meta{display:flex;align-items:center;justify-content:center;gap:var(--space-md);font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:400}.post-single .meta .dot{font-size:.5em;color:var(--color-text-muted)}.post-single .tags{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-xs);margin-top:var(--space-lg)}.tag{display:inline-block;font-size:var(--font-size-xs);font-weight:400;color:var(--color-text-dim);background:var(--color-bg-alt);padding:.2rem .65rem;border-radius:100px;transition:background var(--transition-fast),color var(--transition-fast);text-decoration:none;border:none}.tag:hover{background:var(--color-primary);color:#fff}.content{font-size:1rem;line-height:var(--line-height);color:var(--color-text);font-weight:400;letter-spacing:-.01em}.content h2,.content h3,.content h4{font-weight:600;letter-spacing:-.02em;line-height:var(--line-height-heading);margin-top:var(--space-2xl);margin-bottom:var(--space-md);color:var(--color-text)}.content h2{font-size:var(--font-size-2xl);font-weight:700}.content h3{font-size:var(--font-size-xl)}.content h4{font-size:var(--font-size-lg)}.content h2:first-child,.content h3:first-child{margin-top:0}.content p{margin-bottom:var(--space-lg)}.content a{color:var(--color-primary);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.content a:hover{color:var(--color-primary-hover);text-decoration-color:var(--color-primary-hover)}.content ol{margin-bottom:var(--space-lg);padding-left:var(--space-xl)}.content ul{margin-bottom:var(--space-lg);padding-left:var(--space-lg);list-style:none}.content ul li{position:relative;padding-left:var(--space-md)}.content ul li::before{content:'\2013';position:absolute;left:0;color:var(--color-text-muted)}.content li{margin-bottom:var(--space-sm)}.content li>ul,.content li>ol{margin-bottom:0;margin-top:var(--space-sm)}.content blockquote{margin:var(--space-2xl)0;padding:var(--space-lg)var(--space-xl);border-left:none;border-radius:var(--radius-lg);background:var(--color-bg-alt);color:var(--color-text-dim);font-style:normal}.content blockquote p:last-child{margin-bottom:0}.content table{width:100%;border-collapse:collapse;margin:var(--space-xl)0;font-size:.875rem;overflow-x:auto;display:block}.content table thead{background:var(--color-bg-alt)}.content table th,.content table td{padding:var(--space-sm)var(--space-md);border:none;border-bottom:1px solid var(--color-border);text-align:left}.content table th{font-weight:600;color:var(--color-text)}.content hr{margin:var(--space-2xl)0;border:none;border-top:1px solid var(--color-border)}.content code:not([class*=language-]){font-family:var(--font-mono);font-size:.875rem;background:var(--color-bg-alt);color:var(--color-code-text);padding:.15em .4em;border-radius:var(--radius-sm);line-height:1.5}.content img{margin:var(--space-xl)auto;border-radius:var(--radius-md);border:1px solid var(--color-border)}.content figure{margin:var(--space-xl)0;text-align:center}.content figure img{margin:0 auto}.content figure figcaption{margin-top:var(--space-sm);font-size:var(--font-size-sm);color:var(--color-text-muted);font-style:normal}.content .heading-anchor{margin-left:var(--space-sm);font-size:.7em;color:var(--color-text-muted);text-decoration:none;opacity:0;transition:opacity var(--transition-fast)}.content h2:hover .heading-anchor,.content h3:hover .heading-anchor,.content h4:hover .heading-anchor{opacity:1;color:var(--color-primary)}.content .heading-anchor:hover{opacity:1;color:var(--color-primary)}.content .footnotes{margin-top:var(--space-2xl);padding-top:var(--space-lg);border-top:1px solid var(--color-border);font-size:.875rem;color:var(--color-text-dim)}.content .footnotes ol{padding-left:var(--space-lg);font-size:.875rem}.content .footnotes li,.content .footnotes p{font-size:.875rem}.content .footnotes p{margin-bottom:var(--space-sm)}.content .footnote-ref a{font-size:.75rem;vertical-align:super}.content .highlight{position:relative;margin:var(--space-xl)0;border-radius:var(--radius-md);overflow:hidden;background:var(--color-code-bg)}.highlight-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.highlight-scroll pre{overflow-x:visible}.content .highlight>div[style]{background:var(--color-code-bg)!important}.content pre{position:relative;margin:0;padding:0 0 var(--space-lg);background:0 0;border:none;overflow-x:auto;tab-size:2;-webkit-overflow-scrolling:touch}.content pre code{display:block;padding:var(--space-lg)var(--space-lg)0;font-family:var(--font-mono);font-size:.8125rem;line-height:1.6}.content .highlight table,.content .lntable{display:table!important;width:100%;border-spacing:0;padding:0;margin:0;border:0;border-collapse:separate}.content .highlight table td,.content .lntable td{border:0;padding:0;vertical-align:top}.content .highlight table td:first-child,.content .lntable td:first-child{width:1%;user-select:none;white-space:nowrap}.content .highlight table td:last-child,.content .lntable td:last-child{width:auto}.content .highlight table pre,.content .lntable pre{margin:0;padding:0;background:0 0;overflow-x:visible}.content .highlight table pre code,.content .lntable pre code{padding:var(--space-lg);display:block}.content .lnlinks{margin-right:var(--space-md)}.content pre .ln{margin-right:var(--space-md);padding-right:var(--space-md);border-right:1px solid var(--color-border)}.code-filename{display:block;font-size:var(--font-size-xs);font-weight:500;color:var(--color-text-muted);padding:var(--space-sm)var(--space-lg);background:var(--color-bg-alt);border-bottom:1px solid var(--color-border);font-family:var(--font-mono)}.copy-button{position:absolute;top:var(--space-sm);right:var(--space-sm);margin:0;padding:var(--space-xs)var(--space-sm);font-size:var(--font-size-xs);font-family:var(--font-sans);font-weight:500;color:var(--color-text-muted);background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;opacity:0;transition:opacity var(--transition-fast),background var(--transition-fast),color var(--transition-fast);z-index:5}.content .highlight:hover .copy-button{opacity:1}.copy-button:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.copy-button.copied{background:#30d158;color:#fff;border-color:#30d158}.chroma{background:var(--color-code-bg);color:#1d1d1f;border-radius:0;margin:0}.chroma .err{color:#ff3b30}.chroma .k,.chroma .kc,.chroma .kd,.chroma .kn,.chroma .kp,.chroma .kr,.chroma .kt{color:#af52de}.chroma .o{color:#5856d6}.chroma .c,.chroma .cm,.chroma .cp,.chroma .c1,.chroma .cs{color:#8e8e93;font-style:italic}.chroma .gd{color:#ff3b30}.chroma .ge{font-style:italic}.chroma .gh{color:#6e6e73;font-weight:700}.chroma .gi{color:#30d158}.chroma .go,.chroma .gp,.chroma .gu{color:#8e8e93}.chroma .gp{font-weight:700}.chroma .gs{font-weight:700}.chroma .gt{color:#ff3b30}.chroma .m,.chroma .mb,.chroma .mf,.chroma .mh,.chroma .mi,.chroma .il,.chroma .mo{color:#ff9500}.chroma .s,.chroma .sb,.chroma .sc,.chroma .dl,.chroma .s2,.chroma .sh,.chroma .s1,.chroma .sx{color:#ff2d55}.chroma .sa,.chroma .si{color:#ff3b30}.chroma .se{color:#ff9500}.chroma .sd{color:#8e8e93;font-style:italic}.chroma .na{color:#5856d6}.chroma .nb{color:#5856d6}.chroma .nc{color:#ff2d55;font-weight:700}.chroma .no{color:#ff9500}.chroma .nd{color:#af52de;font-weight:700}.chroma .ni{color:#ff3b30}.chroma .ne{color:#ff3b30;font-weight:700}.chroma .nf{color:#0071e3;font-weight:700}.chroma .nl{color:#5856d6}.chroma .nn{color:#6e6e73}.chroma .nt{color:#ff3b30}.chroma .nv{color:#1d1d1f}.chroma .ow{color:#5856d6;font-weight:700}.chroma .w{color:#8e8e93}.chroma .l{color:#ff9500}.chroma .ld{color:#30d158}.chroma .p{color:#6e6e73}[data-theme=dark] .chroma{color:#f5f5f7}[data-theme=dark] .chroma .err{color:#ff453a}[data-theme=dark] .chroma .k,[data-theme=dark] .chroma .kc,[data-theme=dark] .chroma .kd,[data-theme=dark] .chroma .kn,[data-theme=dark] .chroma .kp,[data-theme=dark] .chroma .kr,[data-theme=dark] .chroma .kt{color:#bf5af2}[data-theme=dark] .chroma .o{color:#5e5ce6}[data-theme=dark] .chroma .c,[data-theme=dark] .chroma .cm,[data-theme=dark] .chroma .cp,[data-theme=dark] .chroma .c1,[data-theme=dark] .chroma .cs{color:#636366}[data-theme=dark] .chroma .gd{color:#ff453a}[data-theme=dark] .chroma .gh{color:#86868b}[data-theme=dark] .chroma .gi{color:#30db5b}[data-theme=dark] .chroma .go,[data-theme=dark] .chroma .gp,[data-theme=dark] .chroma .gu{color:#636366}[data-theme=dark] .chroma .gt{color:#ff453a}[data-theme=dark] .chroma .m,[data-theme=dark] .chroma .mb,[data-theme=dark] .chroma .mf,[data-theme=dark] .chroma .mh,[data-theme=dark] .chroma .mi,[data-theme=dark] .chroma .il,[data-theme=dark] .chroma .mo{color:#ff9f0a}[data-theme=dark] .chroma .s,[data-theme=dark] .chroma .sb,[data-theme=dark] .chroma .sc,[data-theme=dark] .chroma .dl,[data-theme=dark] .chroma .s2,[data-theme=dark] .chroma .sh,[data-theme=dark] .chroma .s1,[data-theme=dark] .chroma .sx{color:#ff375f}[data-theme=dark] .chroma .sa,[data-theme=dark] .chroma .si{color:#ff453a}[data-theme=dark] .chroma .se{color:#ff9f0a}[data-theme=dark] .chroma .sd{color:#636366}[data-theme=dark] .chroma .na{color:#5e5ce6}[data-theme=dark] .chroma .nb{color:#5e5ce6}[data-theme=dark] .chroma .nc{color:#ff375f}[data-theme=dark] .chroma .no{color:#ff9f0a}[data-theme=dark] .chroma .nd{color:#bf5af2}[data-theme=dark] .chroma .ni,[data-theme=dark] .chroma .ne{color:#ff453a}[data-theme=dark] .chroma .nf{color:#2997ff}[data-theme=dark] .chroma .nl{color:#5e5ce6}[data-theme=dark] .chroma .nn{color:#86868b}[data-theme=dark] .chroma .nv{color:#f5f5f7}[data-theme=dark] .chroma .nt{color:#ff453a}[data-theme=dark] .chroma .ow{color:#5e5ce6}[data-theme=dark] .chroma .w{color:#48484a}[data-theme=dark] .chroma .l{color:#ff9f0a}[data-theme=dark] .chroma .ld{color:#30db5b}[data-theme=dark] .chroma .p{color:#86868b}.toc-wrapper{margin-bottom:var(--space-xl);padding:var(--space-lg);background:var(--color-bg-alt);border:none;border-radius:var(--radius-lg);font-size:.875rem}.toc-wrapper summary{font-weight:600;color:var(--color-text);cursor:pointer;user-select:none}.toc-wrapper details[open] summary{margin-bottom:var(--space-sm);padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-border)}.toc-wrapper nav ul{list-style:none;padding-left:0}.toc-wrapper nav ul ul{padding-left:var(--space-lg)}.toc-wrapper nav li{margin-bottom:var(--space-xs)}.toc-wrapper nav a{color:var(--color-text-dim);text-decoration:none;transition:color var(--transition-fast)}.toc-wrapper nav a:hover{color:var(--color-primary)}.tag-cloud{display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:center;padding:var(--space-lg)0}.tag-cloud a{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs)var(--space-md);background:var(--color-bg-alt);border:none;border-radius:100px;font-size:var(--font-size-sm);font-weight:400;color:var(--color-text-dim);transition:background var(--transition-fast),color var(--transition-fast)}.tag-cloud a:hover{background:var(--color-primary);color:#fff}.tag-count{font-size:var(--font-size-xs);font-weight:500;color:var(--color-text-muted);background:var(--color-surface);padding:.1rem .4rem;border-radius:100px}.search-page{max-width:var(--content-max);margin:0 auto}.search-title{font-size:var(--font-size-3xl);font-weight:700;letter-spacing:-.025em;margin-bottom:var(--space-xl)}.search-bar{position:relative;margin-bottom:var(--space-xl)}.search-bar input{width:100%;padding:var(--space-md)var(--space-lg);font-family:var(--font-sans);font-size:var(--font-size-base);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.search-bar input:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-bg)}.search-bar input::placeholder{color:var(--color-text-muted)}.search-count{display:block;font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:var(--space-sm)}.search-result{padding:var(--space-lg)0;border-bottom:1px solid var(--color-border)}.search-result:first-of-type{padding-top:0}.search-result time{display:block;font-size:var(--font-size-xs);font-weight:400;color:var(--color-text-muted);margin-bottom:var(--space-xs)}.search-result h2{font-size:var(--font-size-lg);font-weight:600;letter-spacing:-.015em;margin-bottom:var(--space-xs)}.search-result h2 a{color:var(--color-text)}.search-result h2 a:hover{color:var(--color-primary)}.search-result p{font-size:var(--font-size-sm);color:var(--color-text-dim);line-height:1.6}.search-tags{margin-top:var(--space-sm);display:flex;flex-wrap:wrap;gap:var(--space-xs)}.search-no-results{color:var(--color-text-muted);font-style:italic;text-align:center;padding:var(--space-2xl)0}.pagination{display:flex;justify-content:center;align-items:center;gap:var(--space-xs);margin-top:var(--space-2xl);list-style:none}.pagination li{margin:0}.pagination a,.pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 var(--space-sm);font-size:var(--font-size-sm);font-weight:400;background:0 0;border:none;border-radius:var(--radius-sm);color:var(--color-text-dim);transition:background var(--transition-fast),color var(--transition-fast)}.pagination a:hover{color:var(--color-primary);background:var(--color-primary-bg)}.pagination .active span{background:var(--color-primary);color:#fff;font-weight:600}.pagination .disabled span{opacity:.3;cursor:default}.breadcrumbs{display:flex;align-items:center;gap:var(--space-xs);flex-wrap:wrap;font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-xl)}.breadcrumbs a{color:var(--color-text-dim);font-weight:400}.breadcrumbs a:hover{color:var(--color-primary)}.breadcrumbs .sep{color:var(--color-text-muted);font-size:.75rem}.site-footer{border-top:1px solid var(--color-border);padding:var(--space-xl)0;text-align:center;transition:background var(--transition-slow)}.site-footer p{font-size:12px;color:var(--color-text-muted);letter-spacing:.01em}.site-footer a{color:var(--color-text-dim);font-weight:400}.site-footer a:hover{color:var(--color-primary)}.social-links{margin-top:var(--space-sm);display:flex;justify-content:center;gap:var(--space-md)}.nav-drawer-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.3);z-index:100;opacity:0;pointer-events:none;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:opacity var(--transition-base)}.nav-drawer-overlay.open{opacity:1;pointer-events:auto}.nav-drawer{display:none;position:fixed;top:0;right:0;bottom:0;width:min(320px,85vw);background:var(--color-bg);border-left:1px solid var(--color-border);z-index:101;padding:var(--space-2xl)var(--space-lg);transform:translateX(100%);transition:transform var(--transition-base);overflow-y:auto}.nav-drawer.open{transform:translateX(0)}.nav-drawer .drawer-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2xl);padding-bottom:var(--space-md);border-bottom:1px solid var(--color-border)}.drawer-title{font-weight:700;font-size:var(--font-size-lg)}.nav-drawer .drawer-close{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:50%;background:var(--color-bg-alt);color:var(--color-text-dim);font-size:.9rem;cursor:pointer;transition:color var(--transition-fast)}.nav-drawer .drawer-close:hover{color:var(--color-text)}.nav-drawer nav{display:flex;flex-direction:column;gap:2px}.nav-drawer nav a{display:block;padding:var(--space-sm)var(--space-md);font-size:var(--font-size-lg);font-weight:500;letter-spacing:-.01em;color:var(--color-text);border-radius:var(--radius-md);transition:background var(--transition-fast)}.nav-drawer nav a:hover,.nav-drawer nav a[aria-current=page]{background:var(--color-bg-alt)}.nav-drawer nav a[aria-current=page]{color:var(--color-primary)}.back-to-top{position:fixed;bottom:1.5rem;right:1.5rem;width:36px;height:36px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);font-size:1rem;cursor:pointer;opacity:0;transform:translateY(10px);transition:opacity var(--transition-base),transform var(--transition-base),color var(--transition-fast),border-color var(--transition-fast);z-index:99;display:flex;align-items:center;justify-content:center;pointer-events:none}.back-to-top.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}.back-to-top:hover{color:var(--color-primary);border-color:var(--color-primary)}body.error-page main.container{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 120px)}.error-section{text-align:center;max-width:520px;padding:var(--space-3xl)var(--space-lg)}.error-code{font-size:8rem;font-weight:700;line-height:1;letter-spacing:-.04em;color:var(--color-primary);opacity:.1;margin-bottom:var(--space-md);user-select:none}[data-theme=dark] .error-code{opacity:.15}.error-title{font-size:var(--font-size-2xl);font-weight:600;letter-spacing:-.02em;line-height:1.2;margin-bottom:var(--space-md)}.error-desc{font-size:var(--font-size-base);color:var(--color-text-dim);margin-bottom:var(--space-xl)}.error-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:center}.error-btn{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm)var(--space-xl);font-size:var(--font-size-sm);font-weight:500;border-radius:980px;transition:all var(--transition-fast);text-decoration:none;cursor:pointer}.error-btn-primary{background:var(--color-primary);color:#fff;border:none}.error-btn-primary:hover{background:var(--color-primary-hover);color:#fff}.error-btn-secondary{background:0 0;color:var(--color-primary);border:none}.error-btn-secondary:hover{text-decoration:underline}@media(max-width:834px){.container{padding:0 var(--space-lg)}.hamburger{display:inline-flex}.nav-links .nav-item{display:none}.nav-drawer-overlay.open{display:block}.nav-drawer.open{display:flex;flex-direction:column}.hero h1{font-size:var(--font-size-3xl)}.post-single header h1{font-size:var(--font-size-2xl)}.post-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.container{padding:0 var(--space-md)}.nav-wrap{height:48px}.hero{padding:var(--space-3xl)0 var(--space-2xl)}.hero h1{font-size:var(--font-size-2xl)}.hero p{font-size:var(--font-size-base)}.post-single header h1{font-size:var(--font-size-xl)}.content{font-size:var(--font-size-sm)}.post-grid{grid-template-columns:1fr}.copy-button{opacity:1}.back-to-top{bottom:1rem;right:1rem}.error-code{font-size:5rem}.error-title{font-size:var(--font-size-xl)}}@media print{.site-header,.site-footer,.theme-toggle,.copy-button,.toc-wrapper,.breadcrumbs,.pagination,.tag-cloud a{display:none!important}body{background:#fff;color:#000}a{color:#000;text-decoration:underline}.content pre{border:1px solid #ccc;page-break-inside:avoid}}