.archive-top{--container-width:80rem;--container-pad:2rem;padding-top:2rem}.archive-layout{--container-width:80rem;--container-pad:2rem;display:grid;grid-template-columns:1fr 18rem;gap:1.5rem;padding-top:1rem;padding-bottom:4rem}.archive-main{min-width:0;background:hsl(var(--card)/.6);backdrop-filter:blur(1.25rem);-webkit-backdrop-filter:blur(1.25rem);border:1px solid hsl(var(--border)/.25);border-radius:var(--radius-2xl);padding:1.5rem;box-shadow:0 2px 8px #00000014}:global(html.lt) .archive-main{background:hsl(var(--card)/.8);box-shadow:0 2px 8px #0000000a}.archive-header{margin-bottom:1.5rem}.archive-title{font-family:var(--fd);font-size:var(--fs-5xl);font-weight:var(--fw-bold);color:hsl(var(--fg));margin:0 0 .25rem;letter-spacing:-.02em}.archive-title-count{margin-left:.5em;font-size:var(--fs-2xl);font-weight:var(--fw-medium);color:hsl(var(--muted-fg));vertical-align:middle}.archive-desc{font-size:var(--fs-xl);color:hsl(var(--muted-fg));margin:0}.tax-heading-icon{margin-right:.3em;opacity:.45}.tax-heading-count{margin-left:.5em;font-size:var(--fs-2xl);font-weight:var(--fw-medium);color:hsl(var(--muted-fg));vertical-align:middle}.archive-cats{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:1px solid hsl(var(--border)/.5);padding-bottom:.75rem;max-width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none}.archive-cats::-webkit-scrollbar{display:none}.archive-cat{font-family:var(--fm);font-size:var(--fs-lg);font-weight:var(--fw-medium);color:hsl(var(--muted-fg));text-decoration:none;padding:.25rem .625rem;border-radius:var(--radius-md);transition:color .15s,background .15s;display:flex;align-items:center;gap:.3rem}.archive-cat-ico{width:.875rem;height:.875rem;flex-shrink:0;fill:var(--cat-color);color:var(--cat-color);opacity:.6}@media (hover:hover){.archive-cat:hover{color:hsl(var(--fg));background:hsl(var(--accent))}}.archive-cat:hover .archive-cat-ico,.archive-cat-on .archive-cat-ico{opacity:1}.archive-cat-on{color:var(--cat-color, hsl(var(--primary)));background:color-mix(in srgb,var(--cat-color, hsl(var(--primary))) 10%,transparent);font-weight:var(--fw-medium)}.article-list{display:flex;flex-direction:column}.ac{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.5rem 1rem;min-width:0;padding:1.25rem 0;border-bottom:1px solid hsl(var(--border)/.5)}.ac:first-child{padding-top:0}.ac-header{width:100%;display:flex;flex-direction:column;gap:.25rem}.ac-thumb{width:14rem;flex-shrink:0;aspect-ratio:16/9;border-radius:var(--radius-lg);overflow:hidden;display:block;position:relative}.ac-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}.ac-thumb-cat{position:absolute;top:.25rem;left:.25rem;font-family:var(--fm);font-size:var(--fs-xs);font-weight:var(--fw-medium);padding:.0625rem .3125rem;border-radius:var(--radius-sm);color:#fff;letter-spacing:.03em}.ac-side{flex:1;min-width:0;display:flex;flex-direction:column;gap:.5rem}.ac-date{font-family:var(--fm);font-size:var(--fs-sm);color:hsl(var(--primary));letter-spacing:.03em;align-self:flex-start;background:hsl(var(--primary)/.15);border:1px solid hsl(var(--primary)/.3);padding:.1rem .375rem;border-radius:var(--radius-sm)}.ac-title{font-family:var(--fd);font-size:var(--fs-3xl);font-weight:var(--fw-bold);line-height:1.4;color:hsl(var(--fg));margin:0;letter-spacing:-.02em;overflow-wrap:anywhere;word-break:break-word}.ac-title a{text-decoration:none;color:inherit;transition:color .15s}@media (hover:hover){.ac-title a:hover{color:hsl(var(--primary))}}.ac-tags{display:flex;gap:.5rem}.ac-tag{white-space:nowrap}.ac-excerpt{font-size:var(--fs-lg);line-height:1.65;color:hsl(var(--muted-fg));margin:0;overflow-wrap:anywhere;word-break:break-word;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.ac:not(:has(.ac-thumb)) .ac-excerpt{-webkit-line-clamp:4}.ac-footer{display:flex;justify-content:flex-end;margin-top:auto}.ac-read{display:inline-flex;align-items:center;gap:.375rem;font-family:var(--fm);font-size:var(--fs-sm);font-weight:var(--fw-bold);color:hsl(var(--primary-fg));text-decoration:none;padding:.45rem 1.125rem;border-radius:var(--radius-sm);background:hsl(var(--primary));box-shadow:0 2px 6px hsl(var(--primary)/.3);transition:background .2s,transform .2s,box-shadow .2s;letter-spacing:.03em}.ac-read:after{content:"→";font-size:.85em;transition:transform .2s}@media (hover:hover){.ac-read:hover{background:hsl(var(--primary)/.85);transform:translateY(-1px);box-shadow:0 4px 12px hsl(var(--primary)/.35)}.ac-read:hover:after{transform:translate(3px)}}.archive-empty{padding:4rem 2rem;text-align:center;color:hsl(var(--muted-fg));font-size:var(--fs-2xl);border:1px dashed hsl(var(--border));border-radius:var(--radius-xl)}@media (min-width:600px) and (max-width:959px){.archive-top{--container-width:640px;--container-pad:0;padding-top:1.5rem}.archive-layout{--container-width:640px;--container-pad:0;padding-top:1rem;padding-bottom:3rem}}@media (max-width:959px){.archive-top{overflow-x:hidden}.archive-layout{grid-template-columns:1fr;gap:1.5rem}.archive-main{backdrop-filter:none;-webkit-backdrop-filter:none;border:0;box-shadow:none;padding:1.25rem}}@media (max-width:599px){.archive-top{--container-pad:1rem;padding-top:1.5rem;overflow-x:hidden}.archive-layout{--container-pad:0;padding-top:1rem;padding-bottom:3rem}.archive-main{background:0 0;border:0;box-shadow:none;padding:.875rem 1rem 1.5rem}.archive-main:has(.tag-cloud){background:hsl(var(--card)/.6);border:1px solid hsl(var(--border)/.25);box-shadow:0 2px 8px #00000014;padding:1rem}.article-list{display:flex;flex-direction:column;gap:.75rem;margin-inline:-1rem}.ac{flex-direction:column;flex-wrap:nowrap;gap:0;padding:0;border-bottom:none;border-radius:var(--radius-xl);background:hsl(var(--card));border:1px solid hsl(var(--border)/.35);box-shadow:0 1px 6px #00000014;overflow:hidden}.ac:first-child{padding-top:0}.ac-thumb{order:0;width:100%;aspect-ratio:16/9;border-radius:0}.ac-header{order:1;width:100%;padding:.875rem .875rem 0}.ac-side{order:2;padding:.75rem .875rem .875rem}.ac-excerpt{-webkit-line-clamp:4}.ac:not(:has(.ac-thumb)) .ac-excerpt{-webkit-line-clamp:4}}.ac-thumb:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,transparent 0%,hsl(var(--fg)/.06) 50%,transparent 100%);animation:anim-shimmer 1.4s ease-out infinite;pointer-events:none;transition:opacity .3s}.ac-thumb.img-loaded:before{opacity:0;animation:none}