.toc{border:1px solid var(--color-border);background:var(--color-surface);max-height:calc(100vh - 7rem);transition:transform var(--motion-medium) ease-in-out, opacity var(--motion-medium) ease-in-out;border-radius:6px;font-size:.95rem;position:sticky;top:6rem}.toc.toc-collapsed{opacity:0;pointer-events:none;transform:translate(100%)}.toc-content{max-height:calc(100vh - 11rem);padding:1rem;overflow:auto}.toc-title{color:var(--color-muted);letter-spacing:.04em;margin-bottom:.75rem;display:block}.toc ul{gap:.35rem;margin:0;padding-left:.25rem;display:grid}.toc li.depth-1 a{font-weight:600}.toc li{list-style:none}.toc li.depth-2{padding-left:1rem}.toc li.depth-3{padding-left:1.75rem}.toc a{color:var(--color-text)}.toc a.active{color:var(--color-accent);font-weight:600}.toc-floating{display:block}.toc-floating .toc-title{margin-top:0}@media (max-width:1299px){.toc-floating{position:fixed}.toc-floating.toc-collapsed{transform:translate(100%)}}.toc p{color:var(--color-muted);text-align:center;padding:1rem 0}.toc-toggle-btn{border:none;border-top:1px solid var(--color-border);width:100%;color:var(--color-muted);cursor:pointer;transition:color var(--motion-base), background var(--motion-base);text-align:center;background:0 0;margin-top:.5rem;padding:.6rem;font-size:.85rem;display:block}.toc-toggle-btn:hover{color:var(--color-text);background:var(--color-accent-soft)}.toc-expand-tag{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;z-index:25;box-shadow:-2px 2px 8px rgba(var(--shadow-rgb), .1);transition:background var(--motion-base);opacity:0;animation:slideInTag var(--motion-medium) ease-in-out var(--motion-medium) forwards;border-right:none;border-radius:6px 0 0 6px;align-items:center;gap:.25rem;padding:.5rem .75rem;font-size:.85rem;display:flex;position:fixed;top:6.5rem;right:0;transform:translate(100%)}@keyframes slideInTag{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.toc-expand-tag:hover{transform:translate(-4px)}.toc-expand-icon{font-size:1rem;font-weight:700}.toc-expand-text{writing-mode:vertical-rl;text-orientation:mixed}.toc-overlay{display:none}
@media (min-width:1300px) and (max-width:1639px){.toc-floating{z-index:20;width:240px;max-height:calc(100vh - 8rem);display:block;position:fixed;top:6.5rem;right:clamp(1.25rem,4vw,3.5rem)}.toc-floating.toc-collapsed{transform:translate(calc(100% + clamp(1.25rem,4vw,3.5rem)))}}@media (min-width:1640px){.toc-floating{z-index:20;width:260px;max-height:calc(100vh - 8rem);display:block;position:fixed;top:6.5rem;right:clamp(1.25rem,4vw,3.5rem)}.toc-floating.toc-collapsed{transform:translate(calc(100% + clamp(1.25rem,4vw,3.5rem)))}}@media (min-width:1025px){.sidebar-nav.open{transform:translate(0)}main.site-main{transition:margin-left var(--motion-medium) ease-in-out}body:has(.sidebar-nav.open) main.site-main{margin-left:var(--sidebar-width)}body:has(.sidebar-nav.open) header.site-header{padding-left:var(--sidebar-width)}body:has(.sidebar-nav.open) footer.site-footer{padding-left:var(--sidebar-width)}.sidebar-close-btn{display:none}}@media (max-width:768px){.header-right .primary-nav,.header-right .theme-toggle{display:none}.sidebar-overlay{display:block}.sidebar-main-nav{grid-template-columns:1fr 1fr;display:grid}.sidebar-theme-toggle{display:block}main.site-main{margin-left:0}.theme-toggle{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;border-radius:999px;width:100%;margin-bottom:16px;padding:.35rem .7rem;font-size:.9rem}.toc-floating{z-index:100;width:80%;max-width:320px;height:100vh;max-height:100vh;box-shadow:-4px 0 12px rgba(var(--shadow-rgb), .15);position:fixed;top:0;right:0}.toc-floating.toc-open{opacity:1;transform:translate(0)}.toc-floating.toc-collapsed{transform:translate(100%)}.toc-floating.toc-open~.toc-overlay,.toc-overlay{background:var(--overlay-bg);z-index:99;width:100%;height:100%;display:block;position:fixed;top:0;left:0}.toc-expand-tag{padding:.4rem .6rem}.toc-expand-text{font-size:.75rem}}@media (min-width:769px) and (max-width:1299px){main.site-main{margin-left:0}.sidebar-overlay{display:block}.toc-floating{z-index:100;width:340px;height:100vh;max-height:100vh;box-shadow:-4px 0 12px rgba(var(--shadow-rgb), .15);position:fixed;top:0;right:0}.toc-floating.toc-open{opacity:1;transform:translate(0)}.toc-floating.toc-collapsed{transform:translate(100%)}.toc-floating.toc-open~.toc-overlay,.toc-overlay{background:var(--overlay-bg);z-index:99;width:100%;height:100%;display:block;position:fixed;top:0;left:0}}@media (min-width:769px) and (max-width:1088px){.article-actions button,.progress-ring{width:2.75rem;height:2.75rem}}@media (max-width:768px){.article-with-actions{flex-direction:column}.article-actions{z-index:50;flex-direction:column;justify-content:flex-end;margin-bottom:15vh;position:fixed;top:auto;bottom:1.5rem;right:1rem}.article-actions button{width:3rem;height:3rem}.article-actions button svg{width:1.5rem;height:1.5rem}.reader-settings-panel{inset:auto calc(100% + .75rem) 0 auto}.progress-ring{width:3rem;height:3rem}.code-block-header{padding:.375rem .75rem;font-size:.8125rem}.code-block-language{font-size:.6875rem}.code-block-copy{padding:.25rem .5rem;font-size:.8125rem}.copy-icon{width:.875rem;height:.875rem}.code-block-wrapper pre code{padding:.75rem;font-size:.8125rem}}
.footnote-ref{vertical-align:super;cursor:help;color:var(--color-accent);transition:all var(--motion-base) ease;font-size:.75em;font-weight:500;line-height:0;position:relative}.footnote-ref a{color:inherit;transition:all var(--motion-base) ease;text-decoration:none}.footnote-ref:hover{color:var(--color-accent-hover)}.footnote-ref:hover a{text-decoration:underline}.footnote-ref:before{content:attr(data-footnote);background:var(--tooltip-inverse-bg);color:var(--tooltip-inverse-fg);white-space:normal;text-align:left;width:max-content;max-width:280px;box-shadow:var(--shadow-3);opacity:0;visibility:hidden;transition:all var(--motion-base) ease;pointer-events:none;z-index:1000;word-wrap:break-word;border-radius:6px;padding:8px 12px;font-size:.875rem;font-weight:400;line-height:1.5;position:absolute;bottom:100%;left:50%;transform:translate(-50%)translateY(-8px)}.footnote-ref:after{content:"";border:6px solid #0000;border-top-color:var(--tooltip-inverse-bg);opacity:0;visibility:hidden;transition:all var(--motion-base) ease;pointer-events:none;z-index:1000;position:absolute;bottom:100%;left:50%;transform:translate(-50%)translateY(-2px)}.footnote-ref:hover:before,.footnote-ref:hover:after{opacity:1;visibility:visible}.footnote-ref:hover:before{transform:translate(-50%)translateY(-12px)}.footnote-ref:hover:after{transform:translate(-50%)translateY(-6px)}@media (max-width:768px){.footnote-ref:before{max-width:220px;padding:6px 10px;font-size:.8125rem;top:auto;bottom:100%}.footnote-ref:after{top:auto;bottom:100%}}@media (min-width:769px){.footnote-ref:before{min-width:200px}}.markdown .footnote-ref{margin-left:2px;margin-right:2px}
.page-transition{width:100%}::view-transition-old(.page-exit){animation:var(--motion-page-exit) ease-in both page-fade-out;mix-blend-mode:normal}::view-transition-new(.page-enter){animation:var(--motion-page-enter) ease-out var(--motion-page-exit) both page-fade-in;mix-blend-mode:normal}@keyframes page-fade-out{0%{opacity:1}to{opacity:0}}@keyframes page-fade-in{0%{opacity:0}to{opacity:1}}html:active-view-transition{scroll-behavior:auto}@media (prefers-reduced-motion:reduce){::view-transition-old(.page-exit){animation-duration:var(--motion-instant)}::view-transition-new(.page-enter){animation-duration:var(--motion-fast);animation-delay:var(--motion-instant)}}
.article-divider{opacity:.7;align-items:center;gap:1rem;display:flex}.article-divider .divider-line{background:linear-gradient(to right, transparent, var(--color-border) 20%, var(--color-border) 80%, transparent);flex:1;height:1px;position:relative}.article-divider .divider-text{color:var(--color-muted);text-transform:uppercase;padding:0 .5rem;font-family:Georgia,Times New Roman,serif;font-size:.875rem;font-weight:600;position:relative}@keyframes divider-pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.8;transform:scale(1.5)}}
.code-block-wrapper{border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-2);border-radius:.5rem;margin:1.5rem 0;position:relative;overflow:hidden}.code-block-header{background:var(--code-header-bg);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:.5rem 1rem;font-size:.875rem;display:flex}.code-block-language{color:var(--color-muted);text-transform:uppercase;letter-spacing:.05em;font-family:monospace;font-size:.75rem;font-weight:600}.code-block-copy{border:1px solid var(--color-border);cursor:pointer;transition:all var(--motion-base) ease;color:var(--color-muted);background:0 0;border-radius:.375rem;align-items:center;gap:.375rem;padding:.375rem .625rem;font-size:.875rem;display:flex}.code-block-copy:hover{background:var(--code-inline-bg);border-color:var(--color-border-strong)}.code-block-copy:active{transform:scale(.95)}.copy-icon{width:1rem;height:1rem;display:inline-block;position:relative}.copy-icon:before,.copy-icon:after{content:"";transition:all var(--motion-base) ease;border:1.5px solid;border-radius:.125rem;position:absolute}.copy-icon:before{width:.625rem;height:.625rem;top:0;left:.25rem}.copy-icon:after{background:var(--color-surface);width:.625rem;height:.625rem;top:.25rem;left:0}.code-block-copy.copied .copy-icon:before{border-color:var(--color-success);background:0 0;border-width:0 2px 2px 0;border-radius:0;width:.375rem;height:.625rem;top:.125rem;left:.0625rem;transform:rotate(45deg)}.code-block-copy.copied .copy-icon:after{opacity:0}.code-block-copy.copied{border-color:var(--color-success);color:var(--color-success)}.code-block-wrapper pre{background:0 0;border:none;border-radius:0;margin:0}.code-block-wrapper pre code{padding:1rem;font-size:.875rem;line-height:1.6;display:block;overflow-x:auto}
.link-card{transition:background-color var(--motion-medium), border-color var(--motion-medium);position:relative}.link-card:before,.link-card:after{content:"";width:16px;height:16px;transition:all var(--motion-medium) ease;z-index:2;position:absolute}.link-card:before{border-top:2px solid var(--color-border);border-right:2px solid var(--color-border);top:0;right:0}.link-card:after{border-bottom:2px solid var(--color-border);border-left:2px solid var(--color-border);bottom:0;left:0}.link-card:hover{background-color:var(--color-bg-secondary)}.link-card:hover:before,.link-card:hover:after{border-color:var(--color-accent)}.link-card:not(.blog-card){align-items:center;gap:16px;margin:16px 0;padding:16px;text-decoration:none;display:flex}.link-card-image{flex-shrink:0}.link-card-image img{object-fit:cover;border-radius:4px}.link-card-content{flex-grow:1}.link-card-title{color:var(--color-text);margin:0 0 4px;font-size:1.1rem;font-weight:600}.markdown .link-card-title:before{content:""}.link-card-description{color:var(--color-muted);margin:0;font-size:.9rem}.corner-card{transition:all var(--motion-medium) ease;padding:2rem;position:relative;box-shadow:none!important;background:0 0!important;border:none!important}.corner-card:before,.corner-card:after,.corner-card-inner:before,.corner-card-inner:after{content:"";width:16px;height:16px;transition:all var(--motion-medium) ease;z-index:2;position:absolute}.corner-card:before{border-top:2px solid var(--color-border);border-left:2px solid var(--color-border);top:0;left:0}.corner-card:after{border-bottom:2px solid var(--color-border);border-right:2px solid var(--color-border);bottom:0;right:0}.corner-card-inner{pointer-events:none;position:absolute;inset:0}.corner-card-inner:before{border-top:2px solid var(--color-border);border-right:2px solid var(--color-border);top:0;right:0}.corner-card-inner:after{border-bottom:2px solid var(--color-border);border-left:2px solid var(--color-border);bottom:0;left:0}.corner-card:hover:before,.corner-card:hover:after,.corner-card:hover .corner-card-inner:before,.corner-card:hover .corner-card-inner:after{border-color:var(--color-accent)}
.directory-card{border-radius:var(--radius);transition:all var(--motion-base) ease-in-out;color:inherit;background-color:var(--color-surface);flex-direction:column;justify-content:space-between;padding:1.5rem;text-decoration:none;display:flex}.directory-card:hover{box-shadow:0 12px 35px var(--color-accent-border);transform:translateY(-2px)}.directory-card-header{gap:1rem;margin-bottom:1rem;display:flex}.directory-card-icon{width:1.8em;height:1.8em;color:var(--color-accent);flex-shrink:0}.directory-card-name{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.2rem;font-weight:600;overflow:hidden}.directory-card-footer{color:var(--color-muted);text-align:right;font-size:.9rem}.directory-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-top:1rem;padding:0;list-style:none;display:grid}.badge-link{cursor:pointer;transition:all var(--motion-base) ease}.badge-link:hover{filter:brightness(1.1);transform:scale(1.05)}
.tag-cloud{flex-wrap:wrap;justify-content:center;align-items:baseline;gap:.75rem 1.4rem;padding:2rem 1.5rem;display:flex}.tag-cloud-item{color:var(--color-accent);white-space:nowrap;transition:transform var(--motion-base) ease, opacity var(--motion-base) ease, color var(--motion-base) ease;line-height:1.3;text-decoration:none}.tag-cloud-item:hover,.tag-cloud-item:focus-visible{color:var(--color-accent-hover);opacity:1!important;transform:translateY(-2px)scale(1.06)!important}.tag-cloud-count{vertical-align:super;color:var(--color-muted);margin-left:.2em;font-size:.55em}
.scroll-fade-container{position:relative}.hero-fixed-wrapper{z-index:1;pointer-events:none;transition:padding-left var(--motion-medium) ease-in-out;position:fixed;top:0;left:0;right:0}.hero-fixed-wrapper .hero-section{pointer-events:auto}@media (min-width:1025px){body:has(.sidebar-nav.open) .hero-fixed-wrapper{padding-left:var(--sidebar-width)}}.hero-spacer{height:100vh}.hero-section{text-align:center;background:var(--color-bg);will-change:opacity;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex;position:relative}.hero-content{max-width:600px}.hero-content h1{margin-bottom:1rem;font-size:2.5rem;font-weight:600;line-height:1.3}.hero-content p{font-size:1.25rem;line-height:1.6}.scroll-indicator{color:var(--color-muted);cursor:pointer;transition:color var(--motion-base) ease;background:0 0;border:none;flex-direction:column;align-items:center;gap:.5rem;padding:.5rem;animation:2s infinite bounce;display:flex;position:absolute;bottom:3rem}.scroll-indicator:hover{color:var(--color-accent)}.scroll-indicator:focus{outline:none}.scroll-indicator:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px;border-radius:4px}.scroll-arrow{width:1.5rem;height:1.5rem}.scroll-text{font-size:.875rem}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.article-section{z-index:2;background:var(--color-bg);will-change:opacity;transition:opacity var(--motion-instant) ease-out;padding-top:2rem;position:relative}@media (max-width:768px){.hero-content h1{font-size:1.75rem}.hero-content p{font-size:1rem}.scroll-indicator{bottom:2rem}}@media (max-width:480px){.hero-content h1{font-size:1.5rem}.hero-section{padding:1.5rem}}
.more-articles-button{color:var(--color-text);transition:color var(--motion-base) ease;float:right;background:0 0;border:none;align-items:center;gap:.35rem;margin-top:2.5rem;padding:.5rem 0;font-weight:500;text-decoration:none;display:inline-flex}.more-articles-button .arrow{transition:transform var(--motion-base) ease;display:inline-block}.more-articles-button:hover{color:var(--color-accent)}.more-articles-button:hover .arrow{transform:translate(4px)}.more-articles-button:active{transform:none}.more-articles-button:after{content:"";clear:both;display:table}
.tldr-block{--corner-color:var(--color-border);interpolate-size:allow-keywords;margin:1.5rem 0 1rem}.tldr-block>summary:before{content:"";pointer-events:none;background:linear-gradient(var(--corner-color), var(--corner-color)) left top / 12px 2px, linear-gradient(var(--corner-color), var(--corner-color)) left top / 2px 12px, linear-gradient(var(--corner-color), var(--corner-color)) right center / 2px 12px;background-repeat:no-repeat;position:absolute;inset:0}.tldr-block:hover{--corner-color:var(--color-accent)}.tldr-block>summary{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--color-text);align-items:center;gap:.5rem;padding:.85rem 1.15rem;font-size:.95rem;font-weight:600;list-style:none;display:flex;position:relative}.tldr-block-rule{pointer-events:none;background:repeating-linear-gradient(90deg, var(--color-border) 0 6px, transparent 6px 11px);height:1px;position:absolute;inset:auto 0 0;-webkit-mask-image:linear-gradient(90deg,#0000 10%,#000 35% 65%,#0000 90%);mask-image:linear-gradient(90deg,#0000 10%,#000 35% 65%,#0000 90%)}.tldr-block>summary::-webkit-details-marker{display:none}.tldr-block>summary:after{content:"";border-right:2px solid var(--color-muted);border-bottom:2px solid var(--color-muted);width:.5rem;height:.5rem;transition:transform var(--motion-base) ease;flex-shrink:0;margin-left:auto;transform:rotate(-45deg)}.tldr-block[open]>summary:after{transform:rotate(45deg)}.tldr-block-body{border-left:1px solid var(--color-border);color:var(--fg-secondary);white-space:pre-line;padding:1rem 1.15rem;font-size:.95rem;line-height:1.75}.tldr-block::details-content{height:0;transition:height var(--motion-base) ease, content-visibility var(--motion-base) ease allow-discrete;overflow:clip}.tldr-block[open]::details-content{height:auto}@supports (not selector(::details-content)) or (not (interpolate-size:allow-keywords)){.tldr-block[open] .tldr-block-body{animation:tldr-fade-in var(--motion-base) ease}@keyframes tldr-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}}
::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}:root[data-theme-transition=active]::view-transition-new(root){animation:.5s ease-in-out both theme-reveal}@keyframes theme-reveal{0%{clip-path:circle(0 at var(--theme-transition-x) var(--theme-transition-y))}to{clip-path:circle(var(--theme-transition-radius) at var(--theme-transition-x) var(--theme-transition-y))}}@media (prefers-reduced-motion:reduce){:root[data-theme-transition=active]::view-transition-new(root){animation-duration:var(--motion-instant)}}
