:root{--color-olive:#6B7A2E;--color-olive-light:#8A9A40;--color-olive-dark:#4E5A1E;--color-taupe:#B5A99A;--color-taupe-light:#D4CAC0;--color-gold:#C9A84C;--color-gold-light:#E0C270;--color-gold-dark:#A0842E;--color-umber:#7B4F2E;--color-umber-dark:#5A3820;--color-bg:#FAF8F4;--color-bg-alt:#F5F1EA;--color-surface:#F0EAE0;--color-surface-alt:#E8E0D2;--color-border:#D8CEBD;--color-border-light:#EAE4D8;--color-text:#2E2A24;--color-text-muted:#7A7060;--color-text-light:#A09480;--color-focus:#C9A84C;--color-hover:#8A9A40;--font-heading:'Playfair Display','Georgia',serif;--font-body:'Source Serif 4','Georgia',serif;--font-mono:'JetBrains Mono','Fira Code','Cascadia Code',monospace;--header-height:68px;--content-max:1440px;--prose-max:78ch;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--shadow-sm:0 1px 3px rgba(46,42,36,.08),0 1px 2px rgba(46,42,36,.05);--shadow-md:0 4px 12px rgba(46,42,36,.10),0 2px 4px rgba(46,42,36,.06);--shadow-lg:0 8px 28px rgba(46,42,36,.13),0 4px 8px rgba(46,42,36,.07);--transition:0.18s ease}*,::after,::before{box-sizing:border-box}html{scroll-padding-top:calc(var(--header-height) + 16px);font-size:16px}body{font-family:var(--font-body);font-size:1.0625rem;line-height:1.75;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);line-height:1.25;font-weight:700;margin-top:2rem;margin-bottom:.75rem;color:var(--color-umber)}h1{font-size:clamp(1.75rem, 3.5vw, 2.75rem);color:var(--color-umber-dark);background:linear-gradient(135deg,var(--color-umber-dark) 0,var(--color-gold-dark) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-top:0}h2{font-size:clamp(1.35rem, 2.5vw, 1.875rem);color:var(--color-umber);padding-bottom:.35rem;border-bottom:2px solid var(--color-gold)}h3{font-size:clamp(1.1rem, 2vw, 1.375rem);color:var(--color-olive-dark)}h4{font-size:1.1rem;color:var(--color-umber)}p{margin:0 0 1.2rem}a{color:var(--color-olive-dark);text-decoration:underline;text-decoration-color:var(--color-gold);text-underline-offset:3px;transition:color var(--transition),text-decoration-color var(--transition)}a:hover{color:var(--color-gold-dark);text-decoration-color:var(--color-gold-dark)}a:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px;border-radius:var(--radius-sm)}:not(pre)>code{font-family:var(--font-mono);font-size:.95em;color:inherit;background:0 0;padding:0;border-radius:0}ol,ul{margin:0 0 1.2rem 1.5rem}li{margin-bottom:.35rem}blockquote{border-left:4px solid var(--color-gold);margin:1.5rem 0;padding:.75rem 1.25rem;background:var(--color-surface);border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--color-text-muted);font-style:italic}hr{border:none;border-top:1px solid var(--color-border);margin:2.5rem 0}strong{color:var(--color-umber);font-weight:600}.page-shell{display:flex;flex-direction:column;min-height:100vh}main{flex:1 1 auto}.container{width:100%;max-width:var(--content-max);margin:0 auto;padding:0 clamp(1rem,3vw,3rem)}.content-layout{padding:2.5rem 0 4rem}.prose{min-width:0}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:1.5rem;margin:2rem 0}.hero{background:linear-gradient(135deg,var(--color-surface) 0,var(--color-bg-alt) 100%);border-bottom:1px solid var(--color-border);padding:clamp(3rem,6vw,6rem) 0;text-align:center}.hero-cta{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:2rem}.skip-link{position:absolute;top:-100px;left:1rem;background:var(--color-gold);color:var(--color-text);padding:.5rem 1rem;border-radius:var(--radius-md);font-weight:600;z-index:9999;transition:top var(--transition)}.skip-link:focus{top:1rem}.site-header{position:sticky;top:0;z-index:100;height:var(--header-height);background:rgba(250,248,244,.95);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.site-header .container{height:100%;display:flex;align-items:center;justify-content:space-between;gap:2rem}.site-logo{display:flex;align-items:center;gap:.6rem;text-decoration:none;font-family:var(--font-heading);font-size:1.15rem;font-weight:700;color:var(--color-umber-dark);flex-shrink:0}.site-logo:hover{color:var(--color-gold-dark);text-decoration:none}.site-logo img,.site-logo svg{width:36px;height:36px}.site-nav{display:flex;align-items:center;gap:.25rem}.site-nav a{display:flex;align-items:center;gap:.35rem;padding:.45rem .75rem;border-radius:var(--radius-md);font-size:.9rem;font-weight:600;font-family:var(--font-body);color:var(--color-text-muted);text-decoration:none;transition:background var(--transition),color var(--transition);white-space:nowrap}.site-nav a:hover{background:var(--color-surface);color:var(--color-umber);text-decoration:none}.site-nav a.active,.site-nav a[aria-current=page]{background:var(--color-surface-alt);color:var(--color-umber-dark)}.site-nav a svg{width:16px;height:16px;flex-shrink:0}.nav-toggle{display:none;background:0 0;border:none;cursor:pointer;padding:.5rem;color:var(--color-text);border-radius:var(--radius-md)}.nav-toggle:hover{background:var(--color-surface)}@media (max-width:900px){.nav-toggle{display:flex;align-items:center}.site-nav{display:none;position:absolute;top:var(--header-height);left:0;right:0;background:var(--color-bg);border-bottom:1px solid var(--color-border);flex-direction:column;align-items:stretch;padding:.75rem;box-shadow:var(--shadow-md);gap:.25rem}.site-nav.open{display:flex}.site-nav a{justify-content:flex-start}}.site-footer{background:var(--color-surface);border-top:1px solid var(--color-border);padding:3rem 0 2rem;margin-top:auto}.footer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:2rem;margin-bottom:2rem}.footer-col h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);font-family:var(--font-body);font-weight:600;margin:0 0 .75rem;padding-bottom:0;border:none}.footer-col ul{list-style:none;margin:0;padding:0}.footer-col li{margin-bottom:.4rem}.footer-col a{font-size:.9rem;color:var(--color-text-muted);text-decoration:none;transition:color var(--transition)}.footer-col a:hover{color:var(--color-gold-dark);text-decoration:underline}.footer-bottom{padding-top:1.5rem;border-top:1px solid var(--color-border-light);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;font-size:.85rem;color:var(--color-text-muted)}.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;font-size:.875rem;color:var(--color-text-muted);margin-bottom:1.5rem;padding:.75rem 0;border-bottom:1px solid var(--color-border-light)}.breadcrumbs a{color:var(--color-text-muted);text-decoration:none;transition:color var(--transition)}.breadcrumbs a:hover{color:var(--color-gold-dark)}.breadcrumbs .sep{color:var(--color-border)}.breadcrumbs .current{color:var(--color-umber);font-weight:600}.card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.75rem;transition:box-shadow var(--transition),border-color var(--transition),transform var(--transition);display:flex;flex-direction:column;gap:.75rem;text-decoration:none;color:inherit;overflow:hidden;min-width:0}.card:hover{box-shadow:var(--shadow-md);border-color:var(--color-gold);transform:translateY(-2px);text-decoration:none}.card-icon{font-size:2.25rem;line-height:1}.card-title{font-family:var(--font-heading);font-size:1.15rem;font-weight:700;color:var(--color-umber);margin:0;overflow-wrap:break-word;word-break:break-word}.card-desc{font-size:.925rem;color:var(--color-text-muted);margin:0;overflow-wrap:break-word;word-break:break-word}.card-arrow{margin-top:auto;font-size:.875rem;color:var(--color-gold-dark);font-weight:600}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:var(--radius-md);font-family:var(--font-body);font-weight:600;font-size:.95rem;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background var(--transition),color var(--transition),border-color var(--transition),transform var(--transition),box-shadow var(--transition)}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);text-decoration:none}.btn-primary{background:var(--color-olive);color:#fff;border-color:var(--color-olive)}.btn-primary:hover{background:var(--color-olive-dark);border-color:var(--color-olive-dark);color:#fff}.btn-gold{background:var(--color-gold);color:var(--color-text);border-color:var(--color-gold)}.btn-gold:hover{background:var(--color-gold-dark);border-color:var(--color-gold-dark)}.btn-umber{background:var(--color-umber);color:#fff;border-color:var(--color-umber)}.btn-umber:hover{background:var(--color-umber-dark);border-color:var(--color-umber-dark);color:#fff}.btn-outline{background:0 0;color:var(--color-umber);border-color:var(--color-umber)}.btn-outline:hover{background:var(--color-surface)}.code-block-wrapper{position:relative;margin:1.75rem 0}.code-lang-label{position:absolute;top:0;left:1rem;font-family:var(--font-mono);font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);background:var(--color-surface-alt);border:1px solid var(--color-border);border-top:none;padding:.1rem .5rem .2rem;border-radius:0 0 var(--radius-sm) var(--radius-sm);z-index:1}.copy-btn{position:absolute;top:.6rem;right:.6rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);font-family:var(--font-mono);font-size:.75rem;padding:.3rem .65rem;cursor:pointer;display:flex;align-items:center;gap:.3rem;transition:background var(--transition),color var(--transition);z-index:2}.copy-btn:hover{background:var(--color-gold-light);color:var(--color-text)}.copy-btn.copied{background:var(--color-olive-light);color:#fff;border-color:var(--color-olive)}pre[class*=language-]{background:var(--color-surface)!important;border:1px solid var(--color-border)!important;border-radius:var(--radius-md)!important;font-family:var(--font-mono)!important;font-size:.875rem!important;line-height:1.65!important;padding:2.25rem 1.25rem 1.25rem!important;overflow-x:auto;margin:0!important}code[class*=language-]{font-family:var(--font-mono)!important}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#8a8070;font-style:italic}.token.punctuation{color:#7b6a58}.token.boolean,.token.constant,.token.number,.token.property,.token.symbol,.token.tag{color:#7b4f2e}.token.attr-name,.token.builtin,.token.char,.token.selector,.token.string{color:#5a7930}.language-css .token.string,.token.entity,.token.operator,.token.url{color:#8a6e20}.token.atrule,.token.attr-value,.token.keyword{color:#6b7a2e;font-weight:600}.token.class-name,.token.function{color:#7b4f2e;font-weight:600}.token.important,.token.regex,.token.variable{color:#a86020}.task-list-item{list-style:none;margin-left:-1.5rem;padding-left:1.75rem;position:relative}.task-list-item input[type=checkbox]{position:absolute;left:0;top:.3em;width:1rem;height:1rem;accent-color:var(--color-olive);cursor:pointer}.task-list-item input:checked+label,.task-list-item.is-checked>label{text-decoration:line-through;color:var(--color-text-muted)}details.faq-item{border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:.75rem;background:var(--color-bg);overflow:hidden}details.faq-item summary{padding:.9rem 1.25rem;cursor:pointer;font-weight:600;font-family:var(--font-heading);color:var(--color-umber);list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;transition:background var(--transition)}details.faq-item summary:hover{background:var(--color-surface)}details.faq-item summary::after{content:'›';font-size:1.25rem;transform:rotate(90deg);transition:transform var(--transition);flex-shrink:0}details.faq-item[open] summary::after{transform:rotate(-90deg)}details.faq-item[open] summary{background:var(--color-surface);border-bottom:1px solid var(--color-border)}details.faq-item .faq-body{padding:1rem 1.25rem}.table-scroll{overflow-x:auto;margin:1.75rem 0;border-radius:var(--radius-md);border:1px solid var(--color-border)}table{width:100%;border-collapse:collapse;font-size:.925rem}thead{background:var(--color-surface-alt)}th{padding:.75rem 1rem;text-align:left;font-family:var(--font-heading);font-weight:700;color:var(--color-umber);border-bottom:2px solid var(--color-border);white-space:nowrap}td{padding:.65rem 1rem;border-bottom:1px solid var(--color-border-light);vertical-align:top}tr:last-child td{border-bottom:none}tbody tr:nth-child(2n){background:var(--color-surface)}tbody tr:hover{background:var(--color-bg-alt)}.mermaid{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.5rem;margin:1.75rem 0;overflow:auto}.topic-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.topic-links li{display:flex}.topic-links a{display:flex;align-items:center;gap:.5rem;padding:.85rem 1.25rem;border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;text-decoration:none;color:var(--color-text);font-weight:600;transition:border-color var(--transition),background var(--transition),transform var(--transition);background:var(--color-bg)}.topic-links a:hover{border-color:var(--color-gold);background:var(--color-surface);transform:translateX(3px);text-decoration:none}.topic-links a::after{content:'→';margin-left:auto;color:var(--color-gold-dark)}.sidebar{position:sticky;top:calc(var(--header-height) + 1.5rem)}.toc-nav{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.25rem}.toc-nav h4{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin:0 0 .75rem;padding:0;border:none;font-family:var(--font-body)}.toc-nav ol,.toc-nav ul{margin:0;padding-left:1.1rem}.toc-nav li{margin-bottom:.35rem;font-size:.875rem}.toc-nav a{color:var(--color-text-muted);text-decoration:none}.toc-nav a:hover{color:var(--color-gold-dark)}.hero-title{font-family:var(--font-heading);font-size:clamp(2.25rem, 5vw, 4rem);font-weight:700;line-height:1.1;background:linear-gradient(135deg,var(--color-umber-dark) 0,var(--color-gold-dark) 50%,var(--color-olive) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 1rem}.hero-subtitle{font-size:clamp(1rem, 2vw, 1.25rem);color:var(--color-text-muted);max-width:60ch;margin:0 auto 1.5rem}.hero-desc{max-width:65ch;margin:0 auto;color:var(--color-text)}.related-section{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--color-border)}.related-section h2{font-size:1.1rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;font-family:var(--font-body);border:none;padding:0;margin-top:0}.page-header{background:linear-gradient(135deg,var(--color-surface) 0,var(--color-bg-alt) 60%,var(--color-bg) 100%);border-bottom:1px solid var(--color-border);padding:3rem 0 2.5rem}.page-header h1{margin:0 0 .75rem}.page-header .lead{font-size:1.1rem;color:var(--color-text-muted);max-width:75ch;margin:0}.checklist-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.75rem;margin:2rem 0}.checklist-section h2{margin-top:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-center{text-align:center}.text-muted{color:var(--color-text-muted)}.mt-0{margin-top:0!important}.mb-0{margin-bottom:0!important}.mt-1{margin-top:1rem}.mb-1{margin-bottom:1rem}.mt-2{margin-top:2rem}.mb-2{margin-bottom:2rem}.flex-center{display:flex;align-items:center;justify-content:center;gap:1rem}.flex-wrap{flex-wrap:wrap}.full-width{max-width:none!important}