.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}@layer reset,base,components,utilities;:root{color-scheme:light;--color-bg: light-dark(#F4F2EF, #0A0A0B);--color-surface: light-dark(#FFFFFF, #141416);--color-surface-raised: light-dark(#FAFAF8, #1A1A1D);--color-surface-sunken: light-dark(#EDEAE6, #0E0E10);--color-text: light-dark(#1E1C1A, #E8E6E3);--color-text-secondary: light-dark(#6B6660, #9E9A95);--color-text-muted: light-dark(#A8A29E, #5C5955);--color-border: light-dark(rgba(0, 0, 0, .08), rgba(255, 255, 255, .08));--color-border-subtle: light-dark(rgba(0, 0, 0, .04), rgba(255, 255, 255, .04));--color-accent: #5C7C6E;--color-accent-red: #8A6858;--color-accent-yellow: #8A8458;--color-accent-green: #4A6741;--color-accent-purple: #6B5B8A;--color-accent-blue: #5B6B8A;--color-accent-orange: #8A7058;--color-terracotta: var(--color-accent-red);--color-olive: var(--color-accent-yellow);--color-green: var(--color-accent-green);--color-purple: var(--color-accent-purple);--color-blue: var(--color-accent-blue);--font-display: "DM Serif Display", serif;--font-body: "DM Sans", sans-serif;--font-mono: "DM Mono", monospace;--font-size-xs: clamp(.6875rem, .65rem + .18vw, .75rem);--font-size-sm: clamp(.8125rem, .78rem + .2vw, .875rem);--font-size-base: clamp(.9375rem, .9rem + .2vw, 1rem);--font-size-md: clamp(1rem, .95rem + .28vw, 1.125rem);--font-size-lg: clamp(1.125rem, 1rem + .4vw, 1.25rem);--font-size-xl: clamp(1.3125rem, 1.15rem + .7vw, 1.5rem);--font-size-2xl: clamp(1.625rem, 1.4rem + 1vw, 2rem);--font-size-3xl: clamp(2rem, 1.65rem + 1.5vw, 2.625rem);--font-size-4xl: clamp(2.4rem, 2rem + 2vw, 3.2rem);--line-height-tight: 1.2;--line-height-snug: 1.35;--line-height-normal: 1.5;--line-height-relaxed: 1.7;--letter-spacing-tight: -.02em;--letter-spacing-normal: 0;--letter-spacing-wide: .04em;--letter-spacing-caps: .05em;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--space-1: clamp(.1875rem, .17rem + .08vw, .25rem);--space-2: clamp(.375rem, .34rem + .16vw, .5rem);--space-3: clamp(.625rem, .58rem + .2vw, .75rem);--space-4: clamp(.875rem, .82rem + .24vw, 1rem);--space-5: clamp(1.125rem, 1.05rem + .32vw, 1.25rem);--space-6: clamp(1.375rem, 1.28rem + .4vw, 1.5rem);--space-8: clamp(1.75rem, 1.6rem + .6vw, 2rem);--space-10: clamp(2.25rem, 2.05rem + .8vw, 2.5rem);--space-12: clamp(2.75rem, 2.5rem + 1vw, 3rem);--space-16: clamp(3.5rem, 3.1rem + 1.6vw, 4rem);--space-20: clamp(4.5rem, 4rem + 2vw, 5rem);--space-24: clamp(5.5rem, 5rem + 2.4vw, 6rem);--gap-card: clamp(.75rem, .68rem + .3vw, .875rem);--max-width-text: 62ch;--max-width-content: 1200px;--max-width-wide: 1440px;--cq-xs: 200px;--cq-sm: 300px;--cq-md: 480px;--cq-lg: 640px;--cq-xl: 800px;--cq-2xl: 1024px;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--radius-pill: 9999px;--radius-full: 9999px;--shadow-card: 0 0 0 1px light-dark(rgba(0, 0, 0, .04), rgba(255, 255, 255, .06)), 0 1px 2px light-dark(rgba(0, 0, 0, .03), rgba(0, 0, 0, .2)), 0 2px 8px light-dark(rgba(0, 0, 0, .03), rgba(0, 0, 0, .15));--shadow-hover: 0 0 0 1px light-dark(rgba(0, 0, 0, .06), rgba(255, 255, 255, .08)), 0 4px 12px light-dark(rgba(0, 0, 0, .06), rgba(0, 0, 0, .3)), 0 8px 24px light-dark(rgba(0, 0, 0, .04), rgba(0, 0, 0, .2));--shadow-elevated: 0 0 0 1px light-dark(rgba(0, 0, 0, .06), rgba(255, 255, 255, .06)), 0 8px 24px light-dark(rgba(0, 0, 0, .08), rgba(0, 0, 0, .4)), 0 16px 48px light-dark(rgba(0, 0, 0, .04), rgba(0, 0, 0, .2));--shadow-inset: inset 0 1px 2px light-dark(rgba(0, 0, 0, .06), rgba(0, 0, 0, .3));--specular-border: linear-gradient( to bottom, light-dark(rgba(255, 255, 255, .8), rgba(255, 255, 255, .12)) 0%, light-dark(rgba(255, 255, 255, .1), rgba(255, 255, 255, .02)) 100% );--specular-border-horizontal: linear-gradient( 90deg, transparent, light-dark(rgba(255, 255, 255, .8), rgba(255, 255, 255, .1)) 30%, light-dark(rgba(255, 255, 255, .9), rgba(255, 255, 255, .12)) 50%, light-dark(rgba(255, 255, 255, .8), rgba(255, 255, 255, .1)) 70%, transparent );--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.45, 0, .55, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--duration-instant: 80ms;--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s;--z-base: 1;--z-dropdown: 10;--z-sticky: 20;--z-nav: 100;--z-overlay: 200;--z-modal: 300;--z-toast: 400;--backdrop-blur: blur(12px);--backdrop-nav: blur(16px) saturate(1.8)}@layer reset{*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{text-size-adjust:100%;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;scroll-behavior:smooth;hanging-punctuation:first last}body{min-height:100dvh}img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:none;border:none}a{color:inherit;text-decoration:none}ul,ol{list-style:none}table{border-collapse:collapse;border-spacing:0}dialog{padding:0;border:none;color:inherit}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}:focus{outline:none}}@layer base{body{font-family:var(--font-body);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text);background-color:var(--color-bg)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);line-height:var(--line-height-tight);color:var(--color-text);text-wrap:balance;letter-spacing:var(--letter-spacing-tight)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}h5{font-size:var(--font-size-md)}h6{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}p{max-width:var(--max-width-text);line-height:var(--line-height-relaxed);text-wrap:pretty}small{font-size:var(--font-size-sm);color:var(--color-text-secondary)}strong{font-weight:var(--font-weight-semibold)}code,pre,kbd,samp{font-family:var(--font-mono);font-size:var(--font-size-sm)}pre{overflow-x:auto;padding:var(--space-4);background-color:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}code:not(pre code){padding:.15em .35em;background:color-mix(in srgb,var(--color-text) 6%,transparent);border-radius:var(--radius-xs);font-size:.9em}a:not([class]){color:var(--color-accent);text-decoration-line:underline;text-decoration-color:color-mix(in srgb,var(--color-accent) 30%,transparent);text-underline-offset:.15em;transition:text-decoration-color var(--duration-fast) var(--ease-out)}a:not([class]):hover{text-decoration-color:var(--color-accent)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::selection{background-color:color-mix(in srgb,var(--color-accent) 20%,transparent);color:var(--color-text)}hr{border:none;border-block-start:1px solid var(--color-border);margin-block:var(--space-8)}}@layer components{.container{inline-size:100%;max-inline-size:var(--max-width-content);margin-inline:auto;padding-inline:var(--space-4)}.container--wide{max-inline-size:var(--max-width-wide)}.page-section{padding-block:var(--space-16)}.grid-cards{container-type:inline-size;display:grid;grid-template-columns:1fr;gap:var(--gap-card)}@container (min-width: 480px){.grid-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr))}}.card{container-type:inline-size;background:var(--color-surface);box-shadow:var(--shadow-card);border-radius:var(--radius-md);padding:var(--space-6);position:relative;overflow:hidden;transition:transform var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out)}.card:before{content:"";position:absolute;inset-block-start:0;inset-inline:0;block-size:1px;background:var(--specular-border-horizontal);border-radius:var(--radius-md) var(--radius-md) 0 0;pointer-events:none}.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover)}.card:active{transform:translateY(0);transition-duration:var(--duration-instant)}.card:has(.freshness-active){box-shadow:inset 3px 0 0 var(--color-accent),var(--shadow-card)}@container (max-width: 300px){.card{padding:var(--space-4)}.card .card-meta{flex-direction:column;gap:var(--space-1)}}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-block-end:var(--space-3)}.card-title{font-family:var(--font-display);font-size:var(--font-size-lg);line-height:var(--line-height-snug)}.card-body{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.card-meta{display:flex;align-items:center;gap:var(--space-3);margin-block-start:var(--space-4);font-size:var(--font-size-xs);color:var(--color-text-muted)}.card-footer{display:flex;align-items:center;gap:var(--space-3);margin-block-start:var(--space-4);padding-block-start:var(--space-4);border-block-start:1px solid var(--color-border-subtle)}.tag{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);font-family:var(--font-mono);font-size:var(--font-size-xs);line-height:1;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-accent) 10%,transparent);color:var(--color-accent);white-space:nowrap;transition:background-color var(--duration-fast) var(--ease-out)}.tag:hover{background:color-mix(in srgb,var(--color-accent) 18%,transparent)}.tag--terracotta{background:color-mix(in srgb,var(--color-accent-red) 10%,transparent);color:var(--color-accent-red)}.tag--olive{background:color-mix(in srgb,var(--color-accent-yellow) 10%,transparent);color:var(--color-accent-yellow)}.tag--green{background:color-mix(in srgb,var(--color-accent-green) 10%,transparent);color:var(--color-accent-green)}.tag--purple{background:color-mix(in srgb,var(--color-accent-purple) 10%,transparent);color:var(--color-accent-purple)}.tag--blue{background:color-mix(in srgb,var(--color-accent-blue) 10%,transparent);color:var(--color-accent-blue)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-pill)}.badge:before{content:"";display:block;inline-size:6px;block-size:6px;border-radius:var(--radius-full);background:currentColor;flex-shrink:0}.badge-building{color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 10%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-accent) 20%,transparent)}.badge-launched{color:var(--color-accent-green);background:color-mix(in srgb,var(--color-accent-green) 10%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-accent-green) 20%,transparent)}.badge-paused{color:var(--color-accent-yellow);background:color-mix(in srgb,var(--color-accent-yellow) 10%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-accent-yellow) 20%,transparent)}.badge-abandoned{color:var(--color-accent-red);background:color-mix(in srgb,var(--color-accent-red) 10%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-accent-red) 20%,transparent)}.badge-abandoned:before{opacity:.5}.status-building{color:var(--color-accent)}.status-launched{color:var(--color-accent-green)}.status-paused{color:var(--color-text-muted)}.status-abandoned{color:var(--color-text-muted);opacity:.7}.freshness-dot{display:inline-block;inline-size:8px;block-size:8px;border-radius:var(--radius-full);flex-shrink:0}.freshness-active{background-color:var(--color-accent);animation:pulse 2s var(--ease-in-out) infinite}.freshness-semi-active{background-color:var(--color-accent-yellow)}.freshness-archived{background-color:var(--color-text-muted);opacity:.6}.timeline{display:flex;flex-direction:column;gap:var(--space-3)}.update-entry{padding-inline-start:var(--space-4);margin-block:var(--space-3);transition:background-color var(--duration-fast) var(--ease-out)}.update-entry:hover{background:var(--color-surface-sunken)}.update-stack_change{border-inline-start:3px solid var(--color-accent)}.update-infra_change{border-inline-start:3px solid var(--color-accent-orange)}.update-tool_change{border-inline-start:3px solid var(--color-accent-blue)}.update-milestone{border-inline-start:3px solid var(--color-accent-green)}.update-reflection{border-inline-start:3px solid color-mix(in srgb,var(--color-accent-blue) 60%,var(--color-text-muted))}.update-pivot{border-inline-start:3px solid var(--color-accent-purple)}.update-date{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-muted);margin-block-end:var(--space-1)}.collapsible summary{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) 0;font-family:var(--font-body);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);color:var(--color-text);user-select:none;transition:color var(--duration-fast) var(--ease-out)}.collapsible summary:hover{color:var(--color-accent)}.collapsible summary:before{content:"";display:inline-block;inline-size:6px;block-size:6px;border-inline-end:2px solid var(--color-text-secondary);border-block-end:2px solid var(--color-text-secondary);transform:rotate(-45deg);transition:transform var(--duration-fast) var(--ease-out);flex-shrink:0}.collapsible[open] summary:before{transform:rotate(45deg)}.collapsible-content{padding:var(--space-2) 0 var(--space-6) var(--space-4);animation:fade-in var(--duration-normal) var(--ease-out)}.nav{position:sticky;inset-block-start:0;z-index:var(--z-nav);background:color-mix(in srgb,var(--color-bg) 80%,transparent);backdrop-filter:var(--backdrop-nav);border-block-end:1px solid var(--color-border)}.nav-inner{display:flex;align-items:center;justify-content:space-between;block-size:56px;gap:var(--space-6);max-inline-size:var(--max-width-content);margin-inline:auto;padding-inline:var(--space-4)}.nav-logo{display:flex;align-items:center;gap:var(--space-3);font-family:var(--font-display);font-size:var(--font-size-lg);color:var(--color-text);text-decoration:none;flex-shrink:0}.nav-logo-mark{display:flex;align-items:center;justify-content:center;inline-size:32px;block-size:32px;background:var(--color-text);color:var(--color-surface);font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);border-radius:var(--radius-sm)}.nav-links{display:flex;align-items:center;gap:var(--space-5)}.nav-link{font-size:var(--font-size-sm);color:var(--color-text-secondary);transition:color var(--duration-fast) var(--ease-out)}.nav-link:hover,.nav-link[aria-current=page]{color:var(--color-text)}.nav-actions{display:flex;align-items:center;gap:var(--space-3)}.locale-toggle{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-muted);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);transition:color var(--duration-fast) var(--ease-out)}.locale-toggle:hover{color:var(--color-text)}.hamburger{display:none;flex-direction:column;gap:4px;padding:var(--space-2)}.hamburger-bar{inline-size:18px;block-size:2px;background:var(--color-text);border-radius:1px;transition:transform var(--duration-fast) var(--ease-out)}.mobile-menu{display:none;position:fixed;inset:56px 0 0;background:var(--color-bg);z-index:var(--z-overlay);padding:var(--space-6);flex-direction:column;gap:var(--space-4)}.mobile-menu[data-open]{display:flex;animation:fade-in var(--duration-normal) var(--ease-out)}.mobile-menu a{font-size:var(--font-size-lg);padding:var(--space-3) 0;border-block-end:1px solid var(--color-border)}.auth-trigger{display:flex;align-items:center;justify-content:center;padding:2px;border-radius:50%;cursor:pointer;transition:box-shadow var(--duration-fast) var(--ease-out)}.auth-trigger:hover{box-shadow:0 0 0 2px var(--color-accent)}.auth-dropdown{position:absolute;top:calc(100% + var(--space-2));right:0;min-inline-size:180px;background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-lg, 0 8px 24px rgb(0 0 0 / .12));z-index:var(--z-dropdown, 50);overflow:hidden;animation:fade-in var(--duration-fast) var(--ease-out)}.auth-dropdown-header{padding:var(--space-3) var(--space-4);border-block-end:1px solid var(--color-border)}.auth-dropdown-name{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text)}.auth-dropdown-handle{display:block;font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-muted)}.auth-dropdown-item{display:block;width:100%;padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-secondary);text-align:left;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out)}.auth-dropdown-item:hover{background:var(--color-bg);color:var(--color-text)}.auth-dropdown-logout{border-block-start:1px solid var(--color-border);color:var(--color-text-muted)}@media(max-width:768px){.nav-links,.nav-actions .locale-toggle,.nav-actions .btn{display:none}.hamburger{display:flex}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1;border-radius:var(--radius-sm);white-space:nowrap;transition:background-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.btn:active{transform:scale(.98);transition-duration:var(--duration-instant)}.btn-primary{background-color:var(--color-accent);color:#fff;padding:var(--space-3) var(--space-6);box-shadow:0 1px 2px #0000001f}.btn-primary:hover{background-color:color-mix(in srgb,var(--color-accent) 85%,black);box-shadow:0 2px 6px #00000026}.btn-secondary{background-color:transparent;color:var(--color-text);padding:var(--space-3) var(--space-6);box-shadow:inset 0 0 0 1px var(--color-border)}.btn-secondary:hover{background-color:color-mix(in srgb,var(--color-accent) 5%,transparent);box-shadow:inset 0 0 0 1px var(--color-accent)}.btn-ghost{background:transparent;color:var(--color-text-secondary);padding:var(--space-2) var(--space-3)}.btn-ghost:hover{color:var(--color-text);background-color:color-mix(in srgb,var(--color-text) 5%,transparent)}.input{display:block;inline-size:100%;padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--color-text);background:var(--color-surface);border:none;border-radius:var(--radius-sm);box-shadow:var(--shadow-inset),inset 0 0 0 1px var(--color-border);transition:box-shadow var(--duration-fast) var(--ease-out)}.input::placeholder{color:var(--color-text-muted)}.input:focus-visible{outline:none;box-shadow:var(--shadow-inset),inset 0 0 0 1px var(--color-accent),0 0 0 3px color-mix(in srgb,var(--color-accent) 15%,transparent)}.input--textarea{resize:vertical;min-block-size:6rem;field-sizing:content}.label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);margin-block-end:var(--space-1)}.field{display:flex;flex-direction:column;gap:var(--space-1)}.search-input-wrapper{position:relative;max-inline-size:560px;margin-inline:auto}.search-input-wrapper svg{position:absolute;inset-inline-start:var(--space-4);inset-block-start:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none;transition:color var(--duration-fast) var(--ease-out)}.search-input-wrapper:has(.search-input:focus) svg{color:var(--color-accent)}.search-input{inline-size:100%;padding:var(--space-3) var(--space-4) var(--space-3) var(--space-12);background:var(--color-surface);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-card);font-size:var(--font-size-base);transition:box-shadow var(--duration-fast) var(--ease-out)}.search-input:focus{outline:none;box-shadow:var(--shadow-hover),0 0 0 2px var(--color-accent)}.build-form{display:flex;flex-direction:column;gap:var(--space-6)}.build-form-title{font-family:var(--font-display);font-size:var(--font-size-2xl);margin-block-end:var(--space-2)}.build-form-field{display:flex;flex-direction:column;gap:var(--space-1);flex:1}.build-form-field label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.build-form-field input,.build-form-field textarea,.build-form-field select{display:block;inline-size:100%;padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-family:inherit;color:var(--color-text);background:var(--color-surface);border:none;border-radius:var(--radius-sm);box-shadow:var(--shadow-inset),inset 0 0 0 1px var(--color-border);transition:box-shadow var(--duration-fast) var(--ease-out)}.build-form-field input::placeholder,.build-form-field textarea::placeholder{color:var(--color-text-muted)}.build-form-field input:focus-visible,.build-form-field textarea:focus-visible,.build-form-field select:focus-visible{outline:none;box-shadow:var(--shadow-inset),inset 0 0 0 1px var(--color-accent),0 0 0 3px color-mix(in srgb,var(--color-accent) 15%,transparent)}.build-form-field textarea{resize:vertical;min-block-size:5rem;field-sizing:content}.build-form-field select{cursor:pointer}.build-form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}@media(max-width:600px){.build-form-row{grid-template-columns:1fr}}.build-form-hint{font-size:var(--font-size-xs);color:var(--color-text-muted)}.build-form-submit{align-self:flex-start;padding:var(--space-3) var(--space-8);font-size:var(--font-size-base)}.build-form-submit:disabled{opacity:.6;cursor:not-allowed}.build-form-error{padding:var(--space-3) var(--space-4);background:color-mix(in srgb,var(--color-status-abandoned) 10%,var(--color-surface));border-radius:var(--radius-sm);color:var(--color-status-abandoned);font-size:var(--font-size-sm)}.build-form-success{padding:var(--space-3) var(--space-4);background:color-mix(in srgb,var(--color-accent) 10%,var(--color-surface));border-radius:var(--radius-sm);color:var(--color-accent);font-size:var(--font-size-sm)}.build-form-auth{text-align:center;padding:var(--space-12) var(--space-4);color:var(--color-text-secondary);font-size:var(--font-size-md)}.build-form-auth .btn{margin-top:var(--space-4)}.dialog{max-inline-size:min(90vw,640px);max-block-size:85dvh;border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-elevated);overflow:hidden}.dialog::backdrop{background:light-dark(rgba(30,28,26,.4),rgba(0,0,0,.6));backdrop-filter:blur(4px)}.dialog[open]{animation:fade-in var(--duration-normal) var(--ease-out),slide-up var(--duration-normal) var(--ease-out)}.dialog-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-block-end:1px solid var(--color-border-subtle)}.dialog-body{padding:var(--space-5);overflow-y:auto}.dialog-footer{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-block-start:1px solid var(--color-border-subtle)}.lightbox{max-inline-size:min(90vw,1200px);max-block-size:90dvh;border-radius:var(--radius-lg);overflow:hidden;background:light-dark(var(--color-surface),#000)}.lightbox img{inline-size:100%;block-size:auto;max-block-size:85dvh;object-fit:contain}.gallery-grid{container-type:inline-size;display:grid;gap:var(--space-3);grid-template-columns:1fr}@container (min-width: 480px){.gallery-grid:not([data-count="1"]){grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}}.gallery-item{position:relative;border-radius:var(--radius-md);overflow:hidden;cursor:pointer;aspect-ratio:4 / 3}.gallery-grid[data-count="1"] .gallery-item{aspect-ratio:16 / 9}.gallery-item img{inline-size:100%;block-size:100%;object-fit:cover;transition:transform var(--duration-slow) var(--ease-out)}.gallery-item:hover img{transform:scale(1.03)}.gallery-caption{position:absolute;inset-block-end:0;inset-inline:0;padding:var(--space-4) var(--space-4) var(--space-3);background:linear-gradient(transparent,#0009);color:#fff;font-size:var(--font-size-sm)}.hero{padding-block:var(--space-16) var(--space-12);text-align:center}.hero h1{font-size:var(--font-size-4xl);max-inline-size:18ch;margin-inline:auto}.hero-subtitle{color:var(--color-text-secondary);font-size:var(--font-size-lg);margin-block-start:var(--space-4)}.hero-actions{display:flex;justify-content:center;gap:var(--space-4);margin-block-start:var(--space-8);flex-wrap:wrap}.infra-grid{container-type:inline-size;display:grid;grid-template-columns:1fr;gap:var(--space-4)}@container (min-width: 400px){.infra-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr))}}.infra-metric{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--space-5);position:relative;overflow:hidden}.infra-metric:before{content:"";position:absolute;inset-block-start:0;inset-inline:0;block-size:1px;background:var(--specular-border);pointer-events:none}.infra-metric-label{font-size:var(--font-size-xs);color:var(--color-text-muted);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:var(--letter-spacing-caps)}.infra-metric-value{font-size:var(--font-size-2xl);font-family:var(--font-display);color:var(--color-text);margin-block-start:var(--space-1);transition:opacity var(--duration-normal) var(--ease-out)}.embed-box{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--space-6)}.embed-code{display:flex;align-items:center;gap:var(--space-3);background:var(--color-bg);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);margin-block-start:var(--space-4)}.embed-code code{flex:1;overflow-x:auto;white-space:nowrap}.embed-code button{flex-shrink:0}.explore-layout{container-type:inline-size;display:grid;grid-template-columns:1fr;gap:var(--space-8);align-items:start}@container (min-width: 768px){.explore-layout{grid-template-columns:240px 1fr}}.filters{position:sticky;inset-block-start:72px}@container (max-width: 767px){.filters{position:static;display:flex;flex-wrap:wrap;gap:var(--space-4)}.filter-group{margin-block-end:0}}.filter-group{margin-block-end:var(--space-6)}.filter-group-title{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-caps);margin-block-end:var(--space-3)}.filter-option{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) 0;font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer;transition:color var(--duration-fast) var(--ease-out)}.filter-option:hover{color:var(--color-text)}.filter-option input[type=checkbox]{accent-color:var(--color-accent)}.pagination{display:flex;justify-content:center;align-items:center;gap:var(--space-2);margin-block-start:var(--space-8)}.pagination-page{display:flex;align-items:center;justify-content:center;inline-size:36px;block-size:36px;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-mono);color:var(--color-text-secondary);transition:background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.pagination-page:hover{background:color-mix(in srgb,var(--color-accent) 10%,transparent);color:var(--color-accent)}.pagination-page[aria-current=page]{background:var(--color-accent);color:var(--color-surface)}.builder-header{display:flex;gap:var(--space-6);align-items:flex-start;margin-block-end:var(--space-8)}.builder-avatar{inline-size:80px;block-size:80px;border-radius:var(--radius-full);object-fit:cover;flex-shrink:0}.builder-handle{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.builder-links{display:flex;gap:var(--space-3);margin-block-start:var(--space-3)}.builder-link{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-sm);color:var(--color-text-secondary);transition:color var(--duration-fast) var(--ease-out)}.builder-link:hover{color:var(--color-accent)}.footer{border-block-start:1px solid var(--color-border);padding-block:var(--space-12);margin-block-start:var(--space-16);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.footer-inner{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-4)}.footer-links{display:flex;gap:var(--space-5)}.footer-link{color:var(--color-text-secondary);transition:color var(--duration-fast) var(--ease-out)}.footer-link:hover{color:var(--color-text)}}@layer utilities{.sr-only{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.grid-auto-fill{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(250px,100%),1fr));gap:var(--gap-card)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.text-accent{color:var(--color-accent)}.text-accent-green{color:var(--color-accent-green)}.text-accent-red{color:var(--color-accent-red)}.text-accent-yellow{color:var(--color-accent-yellow)}.font-mono{font-family:var(--font-mono)}.font-display{font-family:var(--font-display)}.text-center{text-align:center}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes slide-up{0%{transform:translateY(8px)}to{transform:translateY(0)}}@keyframes slide-down{0%{transform:translateY(-8px)}to{transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}::view-transition-old(page){animation:fade-out .2s ease-out}::view-transition-new(page){animation:fade-in .2s ease-in}::view-transition-old(card){animation:fade-out .15s ease-out}::view-transition-new(card){animation:fade-in .15s ease-in;animation-delay:50ms;animation-fill-mode:backwards}@media print{*,*:before,*:after{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}body{font-size:12pt;line-height:1.5}a[href]:after{content:" (" attr(href) ")";font-size:.8em;color:#666!important}.nav,.btn,.dialog,.hamburger,.mobile-menu,.freshness-dot,.pagination{display:none!important}.card{break-inside:avoid;border:1px solid #ddd}.card:before{display:none}h1,h2,h3,h4{break-after:avoid}img{break-inside:avoid}@page{margin:2cm}}
