:root{--brand-color: #0066cc;--bg-color: #ffffff;--text-color: #111111;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--nav-link-color: #333;--nav-link-hover: #0066cc;--nav-link-bg-hover: rgba(0, 102, 204, 0.05);--footer-bg: #f9f9f9;--footer-text: #454545;--footer-link: #0066cc;--border-color: rgba(0, 0, 0, 0.06);--accent-color: #cc0000;--success-color: #006600;--warning-color: #cc6600}*{margin:0;padding:0;box-sizing:border-box}html{font-size:18px;scroll-behavior:smooth}body{font-family:var(--font-family);font-size:1rem;line-height:1.6;color:var(--text-color);background-color:var(--bg-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.4;margin-top:2rem;margin-bottom:1.5rem;color:#1a1a1a}h1{font-size:28px;margin-top:0}h2{font-size:22px;border-bottom:3px solid #06c;padding-bottom:.5rem}h3{font-size:1.25rem}h4,h5,h6{font-size:1.1rem}p{margin-bottom:1.5rem}.one-idea-per-line p{margin-bottom:.5rem;line-height:2}strong,b{font-weight:700}em,i{font-style:italic}a{color:#06c;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:2px}a:hover,a:focus{color:#004080;text-decoration-thickness:3px}a:focus{outline:3px solid #06c;outline-offset:2px}.skip-link{position:absolute;top:-100px;left:0;background-color:#c00;color:#fff;padding:1rem 1.5rem;text-decoration:none;font-weight:700;z-index:9999}.skip-link:focus{top:0;outline:3px solid #1a1a1a}.container{max-width:800px;margin:0 auto;padding:0 1.5rem}.container-wide{max-width:1200px;margin:0 auto;padding:0 1.5rem}.site-header{position:sticky;top:0;z-index:1000;background-color:var(--brand-color);border-bottom:2px solid rgba(0,0,0,0.2);min-height:80px}.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:80px;padding:1rem}@media screen and (max-width: 820px){.site-header .container{flex-wrap:nowrap}}.site-branding{display:flex;align-items:center;gap:0.75rem;flex:0 1 auto;min-width:0}@media screen and (max-width: 820px){.site-branding{flex:1 1 auto}}.site-logo{height:56px;max-height:56px;width:auto;display:block}.site-title-wrap{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.site-title{font-size:1.1rem;font-weight:800;letter-spacing:-0.03em;color:#fff;text-decoration:none;margin:0;line-height:1.2}.site-title a{color:#fff;text-decoration:none}.site-title a:hover{opacity:0.9}.site-title a:focus{outline:3px solid #fff;outline-offset:2px;border-radius:2px}.site-description{font-size:0.9rem;color:rgba(255,255,255,0.9);margin:0.25rem 0 0 0;line-height:1.4}.nav-toggle{display:none;background:none;border:2px solid rgba(255,255,255,0.8);border-radius:4px;color:#fff;padding:0.4rem 0.5rem;cursor:pointer;line-height:0}.nav-toggle:hover{background-color:rgba(255,255,255,0.15)}.nav-toggle:focus{outline:2px solid #fff;outline-offset:2px}.site-nav{flex:1 1 auto;display:flex;align-items:center;justify-content:flex-end}@media screen and (max-width: 820px){.site-nav{flex:0 0 auto;align-items:flex-start;position:relative}}.site-nav .nav-menu{list-style:none;margin:0;padding:0;display:flex;flex-wrap:nowrap;gap:0.25rem;align-items:center}@media screen and (max-width: 820px){.site-nav .nav-menu{display:none;flex-direction:column;gap:0;position:absolute;top:calc(100% + 0.5rem);right:0;min-width:220px;background-color:#004080;border-radius:6px;box-shadow:0 6px 24px rgba(0,0,0,0.25);z-index:500;overflow:hidden}.site-nav .nav-menu.is-open{display:flex}}.site-nav li{margin:0;padding:0;position:relative}.site-nav a{color:#fff;text-decoration:none;padding:0.5rem 0.75rem;border-radius:4px;font-weight:600;font-size:0.875rem;white-space:nowrap;display:block}.site-nav a:hover{background-color:rgba(255,255,255,0.15)}.site-nav a:focus{outline:2px solid #fff;outline-offset:2px;border-radius:4px}.site-nav a[aria-current="page"]{background-color:rgba(0,0,0,0.2);font-weight:700}@media screen and (max-width: 820px){.site-nav a{border-radius:0;padding:0.75rem 1.25rem;font-size:1rem;white-space:normal;width:100%}.site-nav a:hover{background-color:rgba(255,255,255,0.1)}}.nav-item-dropdown{position:relative}.nav-item-dropdown .nav-dropdown-toggle{background:none;border:none;color:#fff;padding:0.5rem 0.75rem;border-radius:4px;font-weight:600;font-size:0.875rem;white-space:nowrap;cursor:pointer;display:flex;align-items:center;gap:0.3rem}.nav-item-dropdown .nav-dropdown-toggle:hover{background-color:rgba(255,255,255,0.15)}.nav-item-dropdown .nav-dropdown-toggle:focus{outline:2px solid #fff;outline-offset:2px;border-radius:4px}.nav-item-dropdown .nav-dropdown-toggle[aria-current="true"]{background-color:rgba(0,0,0,0.2);font-weight:700}@media screen and (max-width: 820px){.nav-item-dropdown .nav-dropdown-toggle{border-radius:0;padding:0.75rem 1.25rem;font-size:1rem;white-space:normal;width:100%;justify-content:space-between}}.nav-item-dropdown .dropdown-arrow{font-size:0.65em;display:inline-block;transition:transform 0.2s ease}.nav-item-dropdown .nav-dropdown-toggle[aria-expanded="true"] .dropdown-arrow{transform:rotate(180deg)}.nav-item-dropdown .nav-dropdown-menu{display:none;position:absolute;top:calc(100% + 4px);left:0;min-width:200px;background-color:#004080;border-radius:6px;box-shadow:0 6px 24px rgba(0,0,0,0.25);z-index:501;list-style:none;padding:0.25rem 0;margin:0;overflow:hidden}.nav-item-dropdown .nav-dropdown-menu li{margin:0;padding:0}.nav-item-dropdown .nav-dropdown-menu a{border-radius:0;padding:0.6rem 1.25rem;font-size:0.875rem;white-space:nowrap}@media screen and (max-width: 820px){.nav-item-dropdown .nav-dropdown-menu a{padding:0.65rem 1.75rem;font-size:0.95rem}}@media screen and (max-width: 820px){.nav-item-dropdown .nav-dropdown-menu{position:static;box-shadow:none;border-radius:0;padding:0;background-color:rgba(0,0,0,0.15)}}@media screen and (min-width: 821px){.nav-item-dropdown:hover .nav-dropdown-menu,.nav-item-dropdown:focus-within .nav-dropdown-menu{display:block}}.nav-item-dropdown .nav-dropdown-toggle[aria-expanded="true"]+.nav-dropdown-menu{display:block}.accessibility-controls{display:flex;gap:0.5rem;flex-wrap:wrap;flex:0 0 auto}@media screen and (max-width: 820px){.accessibility-controls{flex:1 1 100%;order:4;margin-top:0.5rem}}.accessibility-controls button{background-color:rgba(255,255,255,0.2);color:white;border:2px solid rgba(255,255,255,0.4);padding:0.5rem 1rem;border-radius:6px;cursor:pointer;font-weight:600;font-size:0.85rem;font-family:var(--font-family);transition:all 0.2s ease;min-height:36px}.accessibility-controls button:hover{background-color:rgba(255,255,255,0.3);border-color:rgba(255,255,255,0.6)}.accessibility-controls button:focus{outline:3px solid white;outline-offset:2px}.accessibility-controls button.active,.accessibility-controls button[aria-pressed="true"]{background-color:white;color:var(--brand-color);border-color:white}@media screen and (max-width: 375px){.accessibility-controls button{padding:0.4rem 0.75rem;font-size:0.8rem}}main{padding:3rem 0;min-height:60vh}.alert{padding:1.5rem;margin-bottom:1.5rem;border-left:5px solid #06c;background-color:#f0f8ff;border-radius:4px;box-shadow:0 2px 4px rgba(0,0,0,0.1)}.alert.alert-danger{border-left-color:#c00;background-color:#fff0f0}.alert.alert-warning{border-left-color:#c60;background-color:#fff8f0}.alert.alert-success{border-left-color:#060;background-color:#f0fff0}.alert p:last-child{margin-bottom:0}ul,ol{margin-bottom:1.5rem;margin-left:2rem}li{margin-bottom:.5rem}.checklist{list-style:none;margin-left:0}.checklist li{position:relative;padding-left:2rem}.checklist li::before{content:"☐";position:absolute;left:0;font-size:1.2em;color:#06c}.checklist li.checked::before{content:"☑";color:#060}code{font-family:"Courier New",Courier,monospace;background-color:#f5f5f5;padding:2px 6px;border-radius:3px;font-size:0.9em}pre{background-color:#f5f5f5;padding:1.5rem;overflow-x:auto;margin-bottom:1.5rem;border-left:3px solid #06c}pre code{background-color:transparent;padding:0}table{width:100%;margin-bottom:1.5rem;border-collapse:collapse}table th,table td{padding:1rem;text-align:left;border:1px solid #ccc}table th{background-color:#06c;color:#fff;font-weight:700}table tr:nth-child(odd){background-color:#f5f5f5}table tr:nth-child(even){background-color:#ebebeb}.btn{display:inline-block;padding:1rem 1.5rem;background-color:#06c;color:#fff;text-decoration:none;border:2px solid #06c;border-radius:4px;font-weight:700;cursor:pointer;text-align:center}.btn:hover,.btn:focus{background-color:#004080;border-color:#004080;color:#fff}.btn:focus{outline:3px solid #1a1a1a;outline-offset:2px}.btn.btn-large{padding:1.5rem 2rem;font-size:22px}.btn.btn-danger{background-color:#c00;border-color:#c00}.card{background-color:#fff;border:1px solid #ccc;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.card:hover,.card:focus-visible{border-color:#06c}.card h3{margin-top:0}.card-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;margin:2rem 0}.quick-start-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;margin:2rem 0}.quick-start-grid>*{background-color:#f0f8ff;padding:1.5rem;border-left:5px solid #06c;border-radius:6px}.quick-start-grid>*:hover,.quick-start-grid>*:focus-within{background-color:#e6f2ff}.quick-start-grid h3{margin-top:0;font-size:1.3rem;color:#06c}.cta-buttons{display:flex;gap:1.5rem;margin:2rem 0;flex-wrap:wrap;flex-direction:column}.cta-buttons .btn{width:100%}blockquote{border-left:4px solid #06c;padding-left:1.5rem;margin-left:0;font-style:italic;color:#555;background-color:#f9f9f9;padding:1.5rem;border-radius:4px}blockquote p:last-child{margin-bottom:0}.site-footer{background-color:#f5f5f5;padding:2rem 0;margin-top:3rem;border-top:3px solid #ccc}.site-footer p{margin-bottom:1rem}:focus-visible{outline:3px solid #06c;outline-offset:2px}.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}body.high-contrast{background-color:#fff;color:#000}body.high-contrast a{color:blue;text-decoration:underline;text-decoration-thickness:2px}body.high-contrast .site-header{background-color:#000;color:#fff}body.high-contrast .btn{background-color:#000;color:#fff;border-color:#000}body.low-data{background-image:none !important;font-family:sans-serif}body.low-data *{background-image:none !important;font-family:inherit;box-shadow:none !important}body.low-data .site-logo{display:none}body.low-data .site-title-wrap{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}body.low-data .site-header{border-bottom:1px solid #1a1a1a}body.low-data h2{border-bottom:1px solid #1a1a1a}body.low-data .community-banner{background:#004080 !important}@media (prefers-reduced-data: reduce){body{background-image:none !important;font-family:sans-serif}body *{background-image:none !important;font-family:inherit;box-shadow:none !important}body .site-logo{display:none}body .site-title-wrap{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}body .site-header{border-bottom:1px solid #1a1a1a}body h2{border-bottom:1px solid #1a1a1a}body .community-banner{background:#004080 !important}}@media (min-width: 576px){.container,.container-wide{padding:0 1.5rem}.quick-start-grid,.card-grid{grid-template-columns:repeat(auto-fit, minmax(250px, 1fr))}}@media (max-width: 820px){.nav-toggle{display:inline-flex;align-items:center;justify-content:center}}@media (min-width: 768px){html{font-size:18px}.site-header .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:nowrap}.site-branding{margin-bottom:0}.accessibility-controls{margin-top:0}.cta-buttons{flex-direction:row}.cta-buttons .btn{width:auto;flex:1 1 auto;min-width:200px}}@media (min-width: 992px){.container{padding:0 2rem}main{padding:4.5rem 0}}@media (min-width: 1200px){.container-wide{padding:0 3rem}}@media (max-width: 375px){html{font-size:15px}.site-title{font-size:1.3rem}h1{font-size:1.5rem}h2{font-size:1.3rem}}.page-weight-indicator{position:fixed;bottom:0.5rem;right:0.5rem;background:#000000;color:#ffffff;font-size:0.75rem;font-family:"Courier New",Courier,monospace;padding:0.2rem 0.5rem;border-radius:3px;opacity:0.7;z-index:1000;pointer-events:none}@media print{.page-weight-indicator{display:none}}@media print{.no-print,.accessibility-controls{display:none !important}}@media (prefers-reduced-motion: reduce){*{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}@media (prefers-color-scheme: dark){body:not(.high-contrast):not(.low-data){background-color:#1a1a1a;color:#e5e5e5}body:not(.high-contrast):not(.low-data) a{color:#6699ff}body:not(.high-contrast):not(.low-data) h1,body:not(.high-contrast):not(.low-data) h2,body:not(.high-contrast):not(.low-data) h3,body:not(.high-contrast):not(.low-data) h4,body:not(.high-contrast):not(.low-data) h5,body:not(.high-contrast):not(.low-data) h6{color:#e5e5e5}body:not(.high-contrast):not(.low-data) table tr:nth-child(odd){background-color:#272727}body:not(.high-contrast):not(.low-data) table tr:nth-child(even){background-color:#333333}body:not(.high-contrast):not(.low-data) .site-title a,body:not(.high-contrast):not(.low-data) .site-nav a,body:not(.high-contrast):not(.low-data) .site-nav .nav-dropdown-toggle{color:#ffffff}body:not(.high-contrast):not(.low-data) .community-banner .github-link{color:#0066cc}body:not(.high-contrast):not(.low-data) blockquote{background-color:#2a2a2a;color:#e5e5e5}body:not(.high-contrast):not(.low-data) blockquote a{color:#a9d7ff}body:not(.high-contrast):not(.low-data) .alert{background-color:#2a2a2a;color:#e5e5e5}body:not(.high-contrast):not(.low-data) .alert.alert-danger{background-color:#3a2020;color:#ffcccc}body:not(.high-contrast):not(.low-data) .alert.alert-warning{background-color:#3a3020;color:#ffd699}body:not(.high-contrast):not(.low-data) .alert.alert-success{background-color:#203a20;color:#ccffcc}body:not(.high-contrast):not(.low-data) .alert.alert-success a{color:#6ba0ff}body:not(.high-contrast):not(.low-data) code,body:not(.high-contrast):not(.low-data) pre{background-color:#2a2a2a}body:not(.high-contrast):not(.low-data) .site-footer{background-color:#2a2a2a;border-top-color:#444}body:not(.high-contrast):not(.low-data) .site-footer h3{color:#e5e5e5}}
