@layer reset{
*,*::before,*::after{box-sizing:border-box}
*{margin:0}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
}
@layer base{
.skip-link{position:absolute;top:var(--space-4,1rem);left:var(--space-4,1rem);display:inline-block;padding:var(--space-2,.5rem)var(--space-4,1rem);background:var(--color-primary);color:#fff;border-radius:var(--radius,.375rem);text-decoration:none;z-index:9999;transform:translateY(-200%);transition:transform .15s ease}
.skip-link:focus,.skip-link:focus-visible{transform:translateY(0)}
.skip-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
@supports(color:color-mix(in srgb,#000 50%,#fff)){
.skip-link:focus-visible{outline-color:color-mix(in srgb,var(--color-primary) 30%,#fff)}
}
input,button,textarea,select{font:inherit}
:root{accent-color:var(--color-primary)}
input,textarea,[contenteditable=true]{caret-color:var(--color-primary)}
::marker{color:var(--color-text-muted)}
input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=submit]):not([type=button]):not([type=reset]),select,textarea{color:var(--color-text);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius,.375rem);padding:var(--space-2,.5rem)var(--space-3,.75rem);transition:border-color .15s ease,box-shadow .15s ease}
input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=submit]):not([type=button]):not([type=reset]):focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 20%,transparent)}
::placeholder{color:var(--color-text-muted);opacity:.7}
button,input[type=submit],input[type=button],input[type=reset]{cursor:pointer;color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius,.375rem);padding:var(--space-2,.5rem)var(--space-4,1rem);transition:background-color .15s ease,border-color .15s ease}
button:hover,input[type=submit]:hover,input[type=button]:hover,input[type=reset]:hover{background-color:var(--color-background);border-color:var(--color-primary)}
button:focus-visible,input[type=submit]:focus-visible,input[type=button]:focus-visible,input[type=reset]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
input:disabled,select:disabled,textarea:disabled,button:disabled{opacity:.5;cursor:not-allowed}
::file-selector-button{font:inherit;color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius,.375rem);padding:var(--space-2,.5rem)var(--space-4,1rem);margin-right:var(--space-3,.75rem);cursor:pointer;transition:background-color .15s ease,border-color .15s ease}
::file-selector-button:hover{background-color:var(--color-background);border-color:var(--color-primary)}
input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;height:1em;width:1em;border-radius:50%;background-color:var(--color-text-muted);cursor:pointer;opacity:0;transition:opacity .15s ease}
input[type=search]:focus::-webkit-search-cancel-button,input[type=search]:not(:placeholder-shown)::-webkit-search-cancel-button{opacity:.6}
input[type=search]::-webkit-search-cancel-button:hover{opacity:1}
::backdrop{background-color:rgba(0,0,0,.5)}
@media(prefers-contrast:more){
input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea,button{border-width:2px}
}
html{font-size:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scrollbar-gutter:stable}
body{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--color-text);background-color:var(--color-background);min-height:100vh;display:flex;flex-direction:column}
:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:var(--leading-tight);margin-top:var(--space-8);margin-bottom:var(--space-4);color:var(--color-text);position:relative;text-wrap:balance;letter-spacing:-.01em}
h1{font-size:var(--text-4xl)}
h2{font-size:var(--text-3xl)}
h3{font-size:var(--text-2xl)}
h4{font-size:var(--text-xl)}
h5{font-size:var(--text-lg)}
h6{font-size:var(--text-base);font-weight:600}
@layer overrides{
html[data-fontpack] :is(.post-header h1,.post-content h1,.post-content h2){font-family:var(--font-display,var(--font-heading))!important;line-height:var(--leading-heading-expressive,1.35);padding:.1em 0 .35em}
html[data-fontpack] :is(.post-header h1,.post-content h1,.post-content h2)::after{content:'';display:block;width:min(4.5rem,100%);height:2px;margin-top:.3em;border-radius:999px;background:var(--heading-rule)}
html[data-fontpack] .post-header h1::after{width:min(6rem,100%);height:3px}
html[data-fontpack] :is(.post-header h1,.post-content h1,.post-content h2) strong{color:var(--heading-accent)!important;font-weight:inherit}
html[data-fontpack] :is(.post-header h1,.post-content h1,.post-content h2) em{color:var(--heading-accent)!important;font-family:var(--font-display,var(--font-heading))!important;font-style:italic;font-weight:500}
html[data-fontpack] :is(.post-header h1,.post-content h1,.post-content h2) mark{color:var(--heading-mark-fg)!important;background:var(--heading-mark-bg)!important;box-decoration-break:clone;-webkit-box-decoration-break:clone;padding:0 .16em;padding-block:0;border-radius:.18em}
html[data-fontpack] body .post-content mark,html[data-fontpack] body .post-header mark{background:var(--color-highlight)!important;background-color:var(--color-highlight)!important;color:var(--color-highlight-text)!important}
html[data-fontpack] body mark{background:var(--color-highlight)!important;background-color:var(--color-highlight)!important;color:var(--color-highlight-text)!important}
html[data-fontpack] :is(.post-header h1,.post-content h1,.post-content h2) .heading-highlight{position:relative;isolation:isolate;line-height:inherit;padding-block:0}
html[data-fontpack] :is(.post-header h1,.post-content h1,.post-content h2) .heading-highlight.is-measured>mark{background:0 0!important}
html[data-fontpack] :is(.post-header h1,.post-content h1,.post-content h2) mark :is(strong,em,code,del,a){color:inherit!important}
html[data-fontpack] :is(.post-header h1,.post-content h1,.post-content h2) code{font-family:var(--font-code,var(--font-mono));font-size:.72em;font-weight:600;letter-spacing:.01em;padding:.08em .24em;border:1px solid color-mix(in srgb,currentColor 28%,transparent);border-radius:.25em;background:var(--heading-code-bg);color:var(--heading-code-fg)}
html[data-fontpack] :is(.post-header h1,.post-content h1,.post-content h2) a{color:inherit;text-decoration:underline;text-decoration-color:var(--heading-link-decoration);text-decoration-thickness:.08em;text-underline-offset:.12em}
html[data-fontpack] :is(.post-header h1,.post-content h1,.post-content h2) del{color:color-mix(in srgb,var(--color-text) 54%,var(--color-background) 46%)!important;text-decoration-color:color-mix(in srgb,var(--heading-accent) 64%,var(--color-text) 36%)!important}
}
.heading-anchor{opacity:0;position:absolute;left:100%;top:0;margin-left:var(--space-2);color:var(--color-text-muted);text-decoration:none;font-weight:400;transition:opacity .2s,color .2s}
:is(h1,h2,h3,h4,h5,h6){position:relative}
h1:hover .heading-anchor,h2:hover .heading-anchor,h3:hover .heading-anchor,h4:hover .heading-anchor,h5:hover .heading-anchor,h6:hover .heading-anchor,.heading-anchor:focus{opacity:1}
.heading-anchor:hover{color:var(--color-primary);text-decoration:none}
p{margin-bottom:var(--space-4)}
.post-content{line-height:var(--leading-prose,var(--leading-relaxed))}
.post-content>p,.post-content>ul,.post-content>ol,.post-content>blockquote,.post-content>table,.post-content>figure,.post-content>pre,.post-content>.highlight,.post-content>.admonition,.post-content>details{margin-block:0 1.25em}
.post-content>:is(h2,h3,h4,h5,h6){margin-block:2em .6em}
.post-content>:is(h2,h3,h4,h5,h6)+:is(h2,h3,h4,h5,h6){margin-top:.75em}
.post-content li{margin-bottom:.35em}
.post-content li>p{margin-bottom:.5em}
a{color:var(--color-link,var(--color-primary));text-decoration:none;transition:color .2s}
a:hover{color:var(--color-link-hover,var(--color-primary-dark));text-decoration:underline}
ul,ol{margin-bottom:var(--space-4);padding-left:var(--space-6)}
li{margin-bottom:var(--space-2)}
li>ul,li>ol{margin-top:var(--space-2);margin-bottom:0}
blockquote{margin:var(--space-4)0;padding:var(--space-4)var(--space-5);background:color-mix(in srgb,var(--color-surface) 70%,transparent);border-radius:var(--radius-lg);font-style:italic;color:var(--color-text-muted);border-top:none;border-left:3px solid color-mix(in srgb,var(--color-primary) 55%,transparent)}
blockquote p:last-child{margin-bottom:0}
.post-content blockquote>footer{margin:var(--space-3)calc(-1 * var(--space-5))calc(-1 * var(--space-4));padding:var(--space-2)var(--space-5);background:color-mix(in srgb,var(--color-surface),var(--color-border) 8%);border:1px solid var(--color-border-soft);border-top-color:var(--color-border-soft);border-radius:0 0 var(--radius-lg)var(--radius-lg);color:var(--color-text-muted);font-style:italic;text-align:right}
.post-content blockquote>footer cite{font-style:italic;color:var(--color-text-muted)}
img{max-width:100%;height:auto;display:block}
html:root{color-scheme:dark;scrollbar-width:thin;scrollbar-color:var(--color-border)transparent}
html:root[data-theme=light]{color-scheme:light}
html::-webkit-scrollbar{width:10px}
html::-webkit-scrollbar-track{background:0 0}
html::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:999px}
html::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--color-border) 70%,var(--color-primary) 30%)}
figure{margin:var(--space-6)0}
figcaption{font-size:var(--text-sm);color:var(--color-text-muted);text-align:center;margin-top:var(--space-2)}
video,.md-video{max-width:100%;height:auto;display:block}
.post-content img,.post-content video,.post-content .md-video{max-width:100%;height:auto;display:block;margin-top:var(--space-6);margin-bottom:var(--space-6);border-radius:var(--radius-lg)}
.post-content p>img:only-child,.post-content figure img{margin-left:auto;margin-right:auto}
.post-content figure{margin:var(--space-8)0}
.post-content figure>img,.post-content figure>video{margin-top:0;margin-bottom:0}
.post-content figcaption{font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--color-text-muted);text-align:center;margin-top:var(--space-3)}
.post-content img.inline,.post-content img[height="16"],.post-content img[height="20"],.post-content img[height="24"],.post-content img[height="32"]{display:inline;margin:0;border-radius:var(--radius);vertical-align:middle}
@keyframes gradient-rotate{0%{background-position:0}50%{background-position:100%}100%{background-position:0}}
table{width:100%;border-collapse:collapse;margin:var(--space-4)0}
th,td{padding:var(--space-3);text-align:left;border-bottom:1px solid var(--color-border-soft)}
.post-content :is(th,td){overflow-wrap:anywhere}
th{font-weight:600;background:color-mix(in srgb,var(--color-surface) 70%,transparent)}
hr{border:none;height:1px;background:linear-gradient(90deg,transparent,var(--color-border) 20%,var(--color-border) 80%,transparent);margin:var(--space-10)auto;width:min(100%,32rem)}
.container{width:100%;max-width:var(--page-width);margin:0 auto;padding:0 var(--space-4)}
main{flex:1;padding:var(--space-8)var(--space-4);width:100%;max-width:var(--page-width);margin:0 auto}
.site-header{background:0 0;border-bottom:1px solid var(--color-border-soft);padding:var(--space-2)var(--space-4)}
.site-header .container{display:grid;grid-template-columns:auto minmax(0,1fr)auto;align-items:center;gap:var(--space-4);max-width:var(--page-width);margin:0 auto}
.site-title{font-size:var(--text-xl);font-weight:700;color:var(--color-text);text-decoration:none;flex-shrink:0;grid-column:1;justify-self:start}
.site-title:hover{color:var(--color-primary);text-decoration:none}
.header-controls{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0;grid-column:3;justify-self:end;position:relative;z-index:30}
.header-action-controls{display:flex;align-items:center;gap:var(--space-1)}
.adaptive-loading{position:relative;visibility:hidden;font-size:var(--text-sm,.875rem)}
.adaptive-loading details{position:relative}
.adaptive-loading summary{cursor:pointer;list-style:none;white-space:nowrap;border:1px solid var(--color-border);border-radius:999px;padding:.4rem .65rem;color:var(--color-text)}
.adaptive-loading summary::-webkit-details-marker{display:none}
.adaptive-loading summary:focus-visible,.adaptive-loading button:focus-visible,.adaptive-loading input:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
.adaptive-loading__panel{position:absolute;z-index:120;top:calc(100% + .5rem);right:0;width:min(18rem,calc(100vw - 1.5rem));padding:1rem;border:1px solid var(--color-border);border-radius:var(--radius-lg,.75rem);background:var(--color-surface,var(--color-background));color:var(--color-text);box-shadow:var(--shadow-lg,0 8px 28px rgb(0 0 0/.18))}
.adaptive-loading__panel fieldset{display:grid;gap:.6rem;margin:0;padding:0;border:0}
.adaptive-loading__panel legend{margin-bottom:.65rem;font-weight:650}
.adaptive-loading__panel label{display:flex;align-items:center;gap:.55rem;min-height:2rem;cursor:pointer}
.adaptive-loading__panel label span{color:var(--color-text-muted);font-size:.8em}
.adaptive-loading__message{margin:0 0 .75rem;line-height:1.4}
.adaptive-loading__actions{display:flex;gap:.5rem;margin-top:.9rem}
.adaptive-loading [hidden]{display:none!important}
.adaptive-loading__actions button,.adaptive-loading__status{border:1px solid var(--color-border);border-radius:999px;padding:.4rem .7rem;background:var(--color-background);color:var(--color-text);cursor:pointer}
.adaptive-loading__status{margin-left:.35rem;color:var(--color-primary)}
.site-footer{background:color-mix(in srgb,var(--color-surface) 55%,var(--color-background));border-top:1px solid var(--color-border-soft);padding:var(--space-8)var(--space-4);text-align:center;color:var(--color-text-muted);font-size:var(--text-sm)}
.site-footer .container{max-width:var(--page-width);margin:0 auto}
.footer-links{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--space-4);margin:var(--space-4)0}
.footer-links a{color:var(--color-text-muted)}
.footer-links a:hover{color:var(--color-primary)}
.post{max-width:var(--content-width);font-size:calc(var(--post-text-size,var(--text-xl)) * var(--reading-scale,1));margin:0 auto}
article.post{box-sizing:content-box;padding:var(--space-10)var(--space-10)var(--space-8);border-radius:var(--radius-xl)}
.post-header{margin-bottom:var(--space-10);padding-bottom:var(--space-6);border-bottom:1px solid var(--color-border-soft)}
.post-header__title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-8);flex-wrap:wrap}
.post-header h1{margin-top:0;margin-bottom:0;flex:1 1 20rem;min-width:0;overflow-wrap:anywhere}
.post-header h1[data-title-size=long]{font-size:clamp(var(--text-3xl),3vw,var(--text-4xl))}
.post-header h1[data-title-size=very-long]{font-size:clamp(var(--text-2xl),2.5vw,var(--text-3xl))}
.post-meta{display:flex;flex-wrap:wrap;gap:var(--space-4);color:var(--color-text-muted);font-size:var(--text-sm)}
.post-meta time{display:flex;align-items:center;gap:var(--space-2)}
.post-byline{display:inline-grid;grid-template-columns:44px auto;grid-template-rows:auto auto;column-gap:var(--space-3);row-gap:var(--space-1);margin:0;align-items:center;justify-items:start;text-align:left;color:var(--color-text-muted);font-size:var(--text-sm)}
@media(max-width:560px){
.post-header__title-row{flex-direction:column;align-items:flex-start;gap:var(--space-2)}
.post-header h1{flex:initial;width:100%}
}
.post-byline__photo{grid-column:1;grid-row:1/span 2;width:44px;height:44px;border-radius:999px;object-fit:cover;border:1px solid var(--color-border);background:var(--color-surface)}
.post-byline__name{grid-column:2;grid-row:1;color:inherit;text-decoration:none;line-height:1.2;justify-self:start}
.post-byline__name:hover{color:var(--color-text);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--color-primary) 70%,transparent)}
.post-byline__meta{grid-column:2;grid-row:2;margin-top:0;justify-self:start}
.post-byline--multi{display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);grid-template-columns:unset;grid-template-rows:unset}
.post-byline__authors{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}
.post-byline__authors>.post-byline__author+.post-byline__author{position:relative;padding-left:var(--space-3)}
.post-byline__authors>.post-byline__author+.post-byline__author::before{content:'';position:absolute;left:0;top:15%;height:70%;width:1px;background:var(--color-border)}
.post-byline__author{display:flex;align-items:center;gap:var(--space-2)}
.post-byline__author .post-byline__photo{width:36px;height:36px;grid-column:unset;grid-row:unset;flex-shrink:0}
.post-byline__author-info{display:flex;flex-direction:column;gap:1px;min-width:0}
.post-byline__author-info .post-byline__name{grid-column:unset;grid-row:unset;font-weight:500;line-height:1.3;white-space:nowrap}
.post-byline__role{font-size:var(--text-xs);color:var(--color-text-muted);font-style:italic;line-height:1.2;opacity:.85}
.post-byline__author[data-details]{position:relative;cursor:help;z-index:1}
.post-byline__author[data-details]:hover{z-index:100}
.post-byline__details-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;border:1px solid var(--color-border);font-size:var(--text-xs);font-style:italic;font-family:Georgia,serif;color:var(--color-text-muted);opacity:.7;flex-shrink:0;transition:opacity .15s ease}
.post-byline__author[data-details]:hover .post-byline__details-icon{opacity:1;border-color:var(--color-text-muted)}
.post-byline__author[data-details]::after{content:attr(data-details);position:absolute;left:0;top:100%;margin-top:var(--space-1);padding:var(--space-2)var(--space-3);background:var(--color-surface,#f9fafb);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius,6px);font-size:var(--text-xs);font-style:normal;line-height:1.4;white-space:normal;min-width:160px;max-width:280px;width:max-content;z-index:100;box-shadow:0 4px 12px rgba(0,0,0,.15);pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity .15s ease,transform .15s ease}
.post-byline__author[data-details]:hover::after{opacity:1;transform:translateY(0)}
.post-byline--multi .post-byline__meta{grid-column:unset;grid-row:unset;margin-top:0}
@media(max-width:560px){
.post-byline__authors{flex-direction:column;align-items:flex-start;gap:var(--space-2)}
.post-byline__authors>.post-byline__author+.post-byline__author{padding-left:0;padding-top:var(--space-2)}
.post-byline__authors>.post-byline__author+.post-byline__author::before{top:0;left:0;height:1px;width:100%}
}
.post-content{margin-bottom:var(--space-8);overflow-wrap:break-word;word-wrap:break-word}
.post-content>*:first-child{margin-top:0}
.post-footer{padding-top:var(--space-6);border-top:1px solid var(--color-border-soft)}
.tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.tag{display:inline-block;padding:var(--space-1)var(--space-3);background:color-mix(in srgb,var(--color-surface) 75%,transparent);color:var(--color-text-muted);border:1px solid var(--color-border-soft);border-radius:999px;font-size:var(--text-sm);line-height:1.5;transition:background-color .2s ease,color .2s ease}
.tag:hover{background:color-mix(in srgb,var(--color-primary) 16%,transparent);border-color:color-mix(in srgb,var(--color-primary) 45%,transparent);color:var(--color-text);text-decoration:none}
.post-nav{display:flex;justify-content:space-between;gap:var(--space-4);margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--color-border-soft);align-items:stretch;max-width:var(--content-width);margin-left:auto;margin-right:auto}
.post-nav a{max-width:48%;flex:1;min-height:3.5rem;padding:.875rem 1rem;text-decoration:none;line-height:1.35;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;transition:color .15s ease,transform .15s ease;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius)}
.post-nav a:hover{transform:translateY(-1px);background:color-mix(in srgb,var(--color-border) 30%,transparent)}
.post-nav .prev::before{content:'\2190 '}
.post-nav .next::after{content:' \2192'}
.post-nav .next{align-items:flex-end}
.post-nav-label{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.2}
.post-nav-title{font-weight:500}
.feed{max-width:var(--content-width);margin:0 auto}
section.feed,div.feed{padding:var(--space-6)var(--space-8);border-radius:var(--radius-lg)}
.feed-header{margin-bottom:var(--space-8)}
.feed-header h1{margin-top:0}
.feed-header p{color:var(--color-text-muted)}
.posts,.post-list{display:flex;flex-direction:column;gap:var(--space-6)}
.card{padding:var(--space-6);background:color-mix(in srgb,var(--color-surface) 82%,var(--color-background));border-radius:var(--radius-lg);border:1px solid var(--color-border-soft);transition:border-color .2s,box-shadow .2s,background-color .2s}
.card:hover{border-color:color-mix(in srgb,var(--color-primary) 40%,transparent);background:var(--color-surface);box-shadow:0 6px 20px -8px rgba(0,0,0,.25)}
.card h2{margin-top:0;margin-bottom:var(--space-2);font-size:var(--text-xl)}
.card h2 a{color:var(--color-text)}
.card h2 a:hover{color:var(--color-primary);text-decoration:none}
.card-description{color:var(--color-text-muted);margin-bottom:var(--space-3)}
.card-meta{display:flex;gap:var(--space-4);color:var(--color-text-muted);font-size:var(--text-sm)}
.pagination{display:flex;justify-content:center;align-items:center;gap:var(--space-2);margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--color-border-soft);flex-wrap:wrap}
.pagination-prev,.pagination-next{padding:var(--space-2)var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-primary);text-decoration:none;transition:background-color .2s ease,border-color .2s ease,color .2s ease}
.pagination-prev:hover,.pagination-next:hover{border-color:var(--color-primary);background:var(--color-primary);color:#fff;text-decoration:none}
.pagination-prev.disabled,.pagination-next.disabled{color:var(--color-text-muted);background:var(--color-surface);border-color:var(--color-border);cursor:not-allowed;opacity:1}
.pagination-pages{display:flex;flex-wrap:wrap;gap:var(--space-1);align-items:center;justify-content:center;max-width:100%}
.pagination-ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;color:var(--color-text-muted);font-size:var(--text-sm);user-select:none}
.pagination-page{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:var(--space-1)var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);text-decoration:none;font-size:var(--text-sm);transition:background-color .2s ease,border-color .2s ease,color .2s ease}
.pagination-page:hover{border-color:var(--color-primary);color:var(--color-primary);text-decoration:none}
.pagination-page.current{background:color-mix(in srgb,var(--color-primary) 45%,#000 55%);border-color:color-mix(in srgb,var(--color-primary) 45%,#000 55%);color:#fff;font-weight:600}
.pagination.htmx-request{opacity:.6;pointer-events:none}
.posts-list{min-height:200px}
.posts-list.htmx-swapping{opacity:.5;transition:opacity .2s}
.infinite-scroll-loading.htmx-request{display:flex}
@keyframes spin{to{transform:rotate(360deg)}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
.glossary-term{color:var(--color-link,var(--color-primary));text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;cursor:help;transition:text-decoration-color .2s}
.glossary-term:hover{text-decoration-style:solid;text-decoration-color:var(--color-link-hover,var(--color-primary))}
.mermaid{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-4);margin:var(--space-6)0;text-align:center;overflow-x:auto}
a.wikilink{color:var(--color-link,var(--color-primary));text-decoration-line:underline;text-decoration-style:dotted;text-decoration-thickness:.12em;text-underline-offset:.18em;text-decoration-skip-ink:auto;border-radius:2px;transition:background-color .15s ease,box-shadow .15s ease,text-decoration-style .15s ease}
a.wikilink:hover,a.wikilink:focus-visible{text-decoration-style:solid;background:color-mix(in srgb,var(--color-link,var(--color-primary)) 12%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-link,var(--color-primary)) 18%,transparent);outline:none}
[data-hover-card],[data-hover-title],[data-hover-description]{text-decoration-line:underline;text-decoration-style:dotted;text-decoration-color:color-mix(in srgb,var(--color-primary) 70%,transparent);text-underline-offset:.18em;cursor:help;border-radius:2px}
[data-hover-card]:hover,[data-hover-card]:focus-visible,[data-hover-title]:hover,[data-hover-title]:focus-visible,[data-hover-description]:hover,[data-hover-description]:focus-visible{text-decoration-style:solid;background:color-mix(in srgb,var(--color-primary) 12%,transparent);outline:none}
@keyframes tooltipFadeIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@keyframes tooltipFadeInAbove{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
.reading-time{color:var(--color-text-muted);font-size:var(--text-sm)}
.youtube-embed{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;max-width:100%;margin:var(--space-6)0;border-radius:var(--radius-lg);background:var(--color-surface)}
.youtube-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none;border-radius:var(--radius-lg)}
@media(max-width:768px){
body{overflow-x:hidden;max-width:100vw}
.container{padding:0 var(--space-3);max-width:100%}
main{padding:var(--space-4)var(--space-3);max-width:100%}
.site-header{padding:var(--space-3)var(--space-3)var(--space-2);overflow-x:hidden}
.site-header .container{display:grid;grid-template-columns:minmax(0,1fr)auto;grid-template-areas:"title controls" "search search" "nav nav";align-items:center;gap:var(--space-2)var(--space-3)}
.site-title{grid-area:title;justify-self:start;margin:0;text-align:left;font-size:var(--text-lg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.header-controls{display:contents}
.header-controls .header-action-controls{grid-area:controls;justify-self:end;gap:var(--space-1)}
.adaptive-loading__panel{position:fixed;top:auto;right:.75rem;bottom:max(.75rem,env(safe-area-inset-bottom));left:.75rem;width:auto;max-width:28rem;margin-inline:auto;border-radius:1rem;padding:1.1rem}
.header-controls .theme-switcher{grid-area:controls;justify-self:end}
.header-controls .search-container--navbar,.header-controls .search--navbar{grid-area:search;width:100%;margin-left:0}
.site-header .site-nav{grid-area:nav;justify-content:flex-start;flex-wrap:nowrap;gap:var(--space-1);margin:0 calc(-1 * var(--space-3));padding:0 var(--space-3);width:auto}
.site-header .site-nav .nav-link{padding:var(--space-1)var(--space-2);font-size:var(--text-sm)}
.post-header__title-row{gap:var(--space-4)}
.site-footer{padding:var(--space-4)var(--space-3);max-width:100%}
.feed,section.feed,div.feed{max-width:100%;padding:var(--space-4)var(--space-3);border-radius:var(--radius)}
.feed-header h1{font-size:var(--text-2xl)}
.card{padding:var(--space-4);max-width:100%}
.posts,.post-list{max-width:100%;overflow-x:hidden}
.post{max-width:100%}
article.post{padding:var(--space-6)var(--space-4);border-radius:var(--radius-lg)}
.post-header{margin-bottom:var(--space-8);padding-bottom:var(--space-5)}
.post-nav{flex-direction:column}
.post-nav a{max-width:100%}
.post-nav .next{align-items:flex-start}
}
@media(max-width:480px){
.container{padding:0 var(--space-2)}
main{padding:var(--space-3)var(--space-2)}
.site-header{padding:var(--space-2)}
.site-footer{padding:var(--space-3)var(--space-2)}
.feed,section.feed,div.feed{padding:var(--space-3)var(--space-2);border-radius:0}
.card{padding:var(--space-3);border-radius:var(--radius)}
.posts,.post-list{gap:var(--space-4)}
.post{max-width:100%}
article.post{padding:var(--space-5)var(--space-3)}
}
@media(max-width:375px){
.container{padding:0 var(--space-1)}
main{padding:var(--space-2)var(--space-1)}
.site-header{padding:var(--space-2)var(--space-1)}
.site-footer{padding:var(--space-2)var(--space-1)}
.feed,section.feed,div.feed{padding:var(--space-2)var(--space-1)}
.card{padding:var(--space-2)}
.post{max-width:100%}
.feed-header h1{font-size:var(--text-xl)}
article.post{padding:var(--space-4)var(--space-3)}
}
}
@layer components{
.post-byline__authors .post-byline__photo{width:44px;height:44px}
.post-byline__authors .post-byline__name{color:var(--color-text);font-weight:600}
.post-byline__editor-stack>*+*{margin-inline-start:-10px}
.post-byline__history{border:0!important;border-radius:0!important;padding:0!important;background:0 0!important;color:var(--color-text-muted);font:inherit;font-size:.75rem!important;font-weight:400!important;line-height:1.2;cursor:pointer;text-decoration:underline;text-decoration-color:var(--color-border);text-underline-offset:3px}
.post-byline__history:hover,.post-byline__history:focus-visible{color:var(--color-text);text-decoration-color:var(--color-primary)}
.post-byline__history span{color:inherit}
.post-byline__history[hidden]{display:none}
}
