:root{--color-espresso:#2a2320;--color-teal:#1c3a34;--color-olive:#676a2c;--color-ochre:#a06e28;--color-rust:#5b3a27;--color-orange:#c46a2c;--color-amber:#e6a03c;--color-paper:#f6f2ee;--color-bg:var(--color-espresso);--color-bg-secondary:#1f1b18;--color-bg-teal:var(--color-teal);--color-surface:var(--color-paper);--color-surface-hover:#fff;--color-border-dark:#3d3530;--color-border-light:#d8cfc5;--color-copper:var(--color-orange);--color-copper-light:var(--color-amber);--color-copper-dark:var(--color-ochre);--color-ember:#a83828;--color-text-dark:#ede7de;--color-text-muted-dark:#8a7e6e;--color-text-light:#1e1916;--color-text-muted-light:#5a5248;--color-steel:#4e7a8c;--color-steel-light:#6a96aa;--color-maturity-placeholder:#a09a90;--color-maturity-skeleton:#b09565;--color-maturity-draftable:#7a8a60;--color-maturity-usable:#458060;--color-maturity-validated:#457a9c;--color-maturity-published:#7a5ba0;--font-display:"Alfa Slab One", "Georgia", serif;--font-serif:var(--font-display);--font-sans:"DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--text-display:clamp(2.5rem, 6vw, 4.5rem);--text-h1:clamp(2rem, 4vw, 3rem);--text-h2:clamp(1.5rem, 3vw, 2rem);--text-h3:1.25rem;--text-body:1rem;--text-sm:.875rem;--text-xs:.75rem;--text-code:.85rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--space-24:6rem;--max-width:1200px;--sidebar-width:280px;--nav-height:72px;--radius-sm:2px;--radius:2px;--radius-lg:4px;--transition:.2s ease;--transition-slow:.4s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--color-bg);color:var(--color-text-dark);font-family:var(--font-sans);font-size:var(--text-body);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.6}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}:focus-visible{outline:2px solid var(--color-copper);outline-offset:2px}h1,h2{font-family:var(--font-display);font-weight:400;line-height:1.15}h3,h4,h5,h6{font-family:var(--font-sans);font-weight:600;line-height:1.2}a{color:var(--color-copper);transition:color var(--transition);text-decoration:none}a:hover{color:var(--color-copper-light)}button{font-family:var(--font-sans);cursor:pointer;background:0 0;border:none}input,select,textarea{font-family:var(--font-sans);font-size:var(--text-body)}.container{max-width:var(--max-width);padding:0 var(--space-4);margin:0 auto}.nav-wrapper{border-bottom:1px solid var(--color-border-dark);background:var(--color-bg);z-index:100;position:sticky;top:0}.nav-content{height:var(--nav-height);max-width:var(--max-width);padding:0 var(--space-4);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.nav-wordmark{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-text-dark);align-items:center;gap:var(--space-2);letter-spacing:.01em;font-weight:500;text-decoration:none;display:flex}.nav-parent{color:var(--color-text-muted-dark);text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;font-weight:400}.nav-sep{color:var(--color-border-dark);margin:0 1px;font-weight:300}.nav-product{font-family:var(--font-display);color:var(--color-text-dark);letter-spacing:.01em;font-size:1.05rem;font-weight:400}.nav-divider{background:var(--color-border-dark);width:1px;height:16px;display:block}.nav-link-brand{color:var(--color-text-muted-dark);font-size:var(--text-xs);opacity:.7}.nav-link-brand:hover{opacity:1;color:var(--color-amber)}.nav-link-external{color:var(--color-text-muted-dark)}.nav-links{gap:var(--space-6);align-items:center;display:flex}.nav-links a{color:var(--color-text-muted-dark);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--color-text-dark)}.nav-mobile-toggle{color:var(--color-text-dark);font-size:1.5rem;display:none}@media (width<=768px){.nav-links{top:var(--nav-height);background:var(--color-bg);padding:var(--space-4);border-bottom:1px solid var(--color-border-dark);flex-direction:column;display:none;position:absolute;left:0;right:0}.nav-links[data-open=true]{display:flex}.nav-mobile-toggle{display:block}}[data-maturity]{align-items:center;gap:var(--space-2);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:inherit;font-weight:600;display:inline-flex}[data-maturity]:before{content:"";border-radius:50%;width:8px;height:8px;display:block}[data-maturity=placeholder]:before{background:var(--color-maturity-placeholder)}[data-maturity=skeleton]:before{background:var(--color-maturity-skeleton)}[data-maturity=draftable]:before{background:var(--color-maturity-draftable)}[data-maturity=usable]:before{background:var(--color-maturity-usable)}[data-maturity=validated]:before{background:var(--color-maturity-validated)}[data-maturity=published]:before{background:var(--color-maturity-published)}.btn{padding:var(--space-2) var(--space-4);background:var(--color-copper);color:var(--color-bg);transition:all var(--transition);border:1px solid #0000;justify-content:center;align-items:center;font-weight:500;display:inline-flex}.btn:hover{background:var(--color-copper-light)}.btn-outline{color:var(--color-copper);border-color:var(--color-copper);background:0 0}.btn-outline:hover{background:#c46a2c1f}.btn-ghost{color:var(--color-text-muted-dark);background:0 0}.btn-ghost:hover{color:var(--color-text-dark)}.input-text{width:100%;padding:var(--space-3) var(--space-4);background:var(--color-bg-secondary);border:1px solid var(--color-border-dark);color:var(--color-text-dark);transition:border-color var(--transition)}.input-text:focus{border-color:var(--color-copper);outline:none}[data-page=home]{text-align:center;padding:var(--space-16) var(--space-4)}[data-page=home] h1{font-size:var(--text-display);margin-bottom:var(--space-6);max-width:800px;margin-inline:auto}[data-page=home] p{color:var(--color-text-muted-dark);font-size:var(--text-h3);max-width:600px;margin:0 auto var(--space-12)}.home-search{max-width:600px;margin:0 auto var(--space-12);gap:var(--space-2);display:flex}.home-search input{flex:1}.home-families{gap:var(--space-4);max-width:1000px;margin:var(--space-16) auto;text-align:left;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.home-family-card{background:var(--color-surface);color:var(--color-text-light);padding:var(--space-6);border-top:4px solid var(--color-copper);transition:transform var(--transition);display:block}.home-family-card:hover{color:var(--color-text-light);transform:translateY(-2px)}.home-family-card strong{font-family:var(--font-serif);font-size:var(--text-h3);margin-bottom:var(--space-2);display:block}.home-family-card span{color:var(--color-text-muted-light);font-size:var(--text-sm)}[data-layout=explore]{grid-template-columns:var(--sidebar-width) 1fr;min-height:calc(100vh - var(--nav-height));display:grid}@media (width<=768px){[data-layout=explore]{grid-template-columns:1fr}}.explore-sidebar{border-right:1px solid var(--color-border-dark);padding:var(--space-6);background:var(--color-bg-secondary)}@media (width<=768px){.explore-sidebar{top:var(--nav-height);z-index:50;width:280px;transition:transform var(--transition);position:fixed;bottom:0;left:0;transform:translate(-100%)}.explore-sidebar[data-open=true]{transform:translate(0)}}.filter-group{margin-bottom:var(--space-8)}.filter-group h3{font-family:var(--font-sans);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted-dark);margin-bottom:var(--space-4);border-bottom:1px solid var(--color-border-dark);padding-bottom:var(--space-2)}.filter-list{gap:var(--space-2);flex-direction:column;list-style:none;display:flex}.filter-btn{text-align:left;width:100%;padding:var(--space-2);color:var(--color-text-dark);font-size:var(--text-sm);justify-content:space-between;align-items:center;display:flex}.filter-btn:hover{background:#ffffff0d}.filter-btn[aria-pressed=true]{color:var(--color-copper);background:#c46a2c1f;font-weight:500}.explore-main{padding:var(--space-6)}.explore-topbar{gap:var(--space-4);margin-bottom:var(--space-6);align-items:center;display:flex}.explore-meta{margin-bottom:var(--space-6);color:var(--color-text-muted-dark);font-size:var(--text-sm);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border-dark);justify-content:space-between;align-items:center;display:flex}.explore-meta select{background:var(--color-bg-secondary);color:var(--color-text-dark);border:1px solid var(--color-border-dark);padding:var(--space-1) var(--space-2)}.skill-list{gap:var(--space-6);flex-direction:column;list-style:none;display:flex}.skill-card{background:var(--color-surface);color:var(--color-text-light);padding:var(--space-6);gap:var(--space-4);transition:border-color var(--transition);border-left:4px solid #0000;flex-direction:column;display:flex}.skill-card:hover{border-color:var(--color-copper)}.skill-card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.skill-card-title{font-family:var(--font-serif);font-size:var(--text-h2);color:var(--color-text-light);margin-bottom:var(--space-1)}.skill-card-family{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-steel)}.skill-card-desc{color:var(--color-text-muted-light);font-size:var(--text-body)}.skill-card-actions{gap:var(--space-4);margin-top:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--color-border-light);align-items:center;display:flex}.page-header{padding:var(--space-12) 0 var(--space-8);border-bottom:1px solid var(--color-border-dark);margin-bottom:var(--space-8)}.page-header h1{margin-bottom:var(--space-4)}.page-header p{color:var(--color-text-muted-dark);font-size:var(--text-h3);max-width:800px}.detail-article{background:var(--color-surface);color:var(--color-text-light);padding:var(--space-8) var(--space-12);margin:var(--space-8) 0;max-width:900px}.detail-article h1,.detail-article h2{color:var(--color-text-light)}.detail-article h2{margin:var(--space-8) 0 var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border-light)}.detail-article p{margin-bottom:var(--space-4)}.detail-article ul{padding-left:var(--space-6);margin-bottom:var(--space-4)}.detail-article pre{background:var(--color-bg);color:var(--color-text-dark);margin:var(--space-4) 0;border:none}.detail-meta{gap:var(--space-4);margin:var(--space-4) 0;font-size:var(--text-sm);color:var(--color-text-muted-light);display:flex}.detail-actions{gap:var(--space-4);margin:var(--space-6) 0;display:flex}.stack-list{gap:var(--space-8);flex-direction:column;list-style:none;display:flex}.stack-card{background:var(--color-surface);color:var(--color-text-light);padding:var(--space-6);border-top:4px solid var(--color-steel)}.stack-card h2 a{color:var(--color-text-light);font-family:var(--font-serif);font-size:var(--text-h2)}.stack-card h2 a:hover{color:var(--color-copper)}.stack-tagline{color:var(--color-text-muted-light);font-size:var(--text-h3);margin:var(--space-2) 0 var(--space-4)}.stack-steps{gap:var(--space-2);margin:var(--space-4) 0;flex-wrap:wrap;display:flex}.step-pill{background:var(--color-bg);color:var(--color-text-dark);padding:var(--space-1) var(--space-3);font-size:var(--text-xs);font-weight:500}.faq-search{max-width:600px;margin-bottom:var(--space-12)}.faq-group{margin-bottom:var(--space-12)}.faq-group h2{margin-bottom:var(--space-6);color:var(--color-copper)}.faq-item{border-bottom:1px solid var(--color-border-dark)}.faq-item dt button{width:100%;padding:var(--space-4) 0;color:var(--color-text-dark);font-size:var(--text-h3);font-family:var(--font-sans);text-align:left;justify-content:space-between;align-items:center;font-weight:600;display:flex}.faq-item dd{padding:0 0 var(--space-4) 0;color:var(--color-text-muted-dark)}.contribute-list{gap:var(--space-6);margin-bottom:var(--space-12);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));list-style:none;display:grid}.contribute-card{background:var(--color-surface);color:var(--color-text-light);padding:var(--space-6);flex-direction:column;display:flex}.contribute-card h2{font-size:var(--text-h3);margin-bottom:var(--space-2);color:var(--color-text-light)}.contribute-card[data-sensitive=true]{border-top:4px solid var(--color-ember)}.contribute-card p{color:var(--color-text-muted-light);margin-bottom:var(--space-4);flex:1}.activity-panels{gap:var(--space-8);margin-top:var(--space-8);grid-template-columns:1fr 1fr;display:grid}@media (width<=768px){.activity-panels{grid-template-columns:1fr}}.activity-panel{background:var(--color-bg-secondary);padding:var(--space-6);border:1px solid var(--color-border-dark)}.activity-panel h2{margin-bottom:var(--space-4);font-size:var(--text-h3);color:var(--color-copper)}.activity-list{gap:var(--space-4);flex-direction:column;list-style:none;display:flex}.activity-list li{border-bottom:1px solid var(--color-border-dark);padding-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.breadcrumb{margin:var(--space-6) 0;font-size:var(--text-sm);color:var(--color-text-muted-dark);gap:var(--space-2);display:flex}.breadcrumb a{color:var(--color-copper)}.btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--text-sm)}.mono-tag{font-family:var(--font-mono);font-size:var(--text-code);background:var(--color-bg-secondary);color:var(--color-steel-light);padding:1px var(--space-2)}.meta-pending{color:var(--color-text-muted-dark);font-style:italic;font-size:var(--text-sm)}.tag-link{font-family:var(--font-mono);font-size:var(--text-xs);background:var(--color-bg-secondary);color:var(--color-steel-light);padding:2px var(--space-2);margin:2px;text-decoration:none;display:inline-flex}.tag-link:hover{color:var(--color-amber)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}[data-page=compare] .page-header{padding:var(--space-8) 0 var(--space-6)}.compare-controls{gap:var(--space-4);margin-bottom:var(--space-8);align-items:flex-start;display:flex;position:relative}.compare-add{flex:1;max-width:480px;position:relative}.compare-suggestions{z-index:20;background:var(--color-bg-secondary);border:1px solid var(--color-border-dark);margin-top:2px;list-style:none;position:absolute;top:100%;left:0;right:0}.compare-suggestion-btn{width:100%;padding:var(--space-2) var(--space-4);color:var(--color-text-dark);font-size:var(--text-sm);text-align:left;justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.compare-suggestion-btn:hover{background:#c46a2c1f}.suggest-name{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-dark)}.suggest-family{font-size:var(--text-xs);color:var(--color-text-muted-dark)}.compare-empty{padding:var(--space-12) 0;color:var(--color-text-muted-dark)}.compare-hint{padding:var(--space-6) 0;color:var(--color-text-muted-dark);font-size:var(--text-sm)}.compare-table-wrap{margin-bottom:var(--space-16);overflow-x:auto}.compare-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.compare-table th,.compare-table td{border:1px solid var(--color-border-dark);padding:var(--space-3) var(--space-4);vertical-align:top;text-align:left}.compare-table thead th{background:var(--color-bg-secondary);color:var(--color-text-muted-dark);font-weight:500;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em}.compare-row-label{background:var(--color-bg-secondary);width:140px;color:var(--color-text-muted-dark);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.compare-cell{background:var(--color-surface);color:var(--color-text-light);min-width:220px}.compare-skill-head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.compare-skill-name{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-light);word-break:break-all;font-weight:500}.compare-remove{color:var(--color-text-muted-dark);font-size:var(--text-xs);flex-shrink:0}.compare-remove:hover{color:var(--color-ember)}.compare-list{padding-left:var(--space-4);gap:var(--space-1);color:var(--color-text-light);flex-direction:column;list-style:outside;display:flex}.compare-companions{flex-wrap:wrap;display:flex}.compare-github-link{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--color-steel-light);text-decoration:none;display:inline-block}.compare-github-link:hover{color:var(--color-amber)}
