@font-face{font-family:Atkinson;src:url(/fonts/atkinson-regular.woff)format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Atkinson;src:url(/fonts/atkinson-bold.woff)format("woff");font-weight:700;font-style:normal;font-display:swap}:root{--pure-white:#fff;--pure-black:#000;--gray-50:#fafafa;--gray-100:#f5f5f5;--gray-200:#e5e5e5;--gray-300:#d4d4d4;--gray-400:#a3a3a3;--gray-500:#737373;--gray-600:#525252;--gray-700:#404040;--gray-800:#262626;--gray-900:#171717;--gray-950:#0a0a0a;--blue-50:#eff6ff;--blue-100:#dbeafe;--blue-200:#bfdbfe;--blue-300:#93c5fd;--blue-400:#60a5fa;--blue-500:#3b82f6;--blue-600:#2563eb;--blue-700:#1d4ed8;--blue-800:#1e40af;--blue-900:#1e3a8a;--cyan-300:#67e8f9;--cyan-400:#22d3ee;--cyan-500:#06b6d4;--cyan-600:#0891b2;--cyan-700:#0e7490;--cyan-800:#155e75;--cyan-900:#164e63;--success-light:#dcfce7;--success:#16a34a;--success-dark:#166534;--warning-light:#fef3c7;--warning:#d97706;--warning-dark:#92400e;--error-light:#fee2e2;--error:#dc2626;--error-dark:#991b1b;--accent-1:var(--blue-200);--accent-2:var(--success-light);--accent-3:var(--warning-light);--accent-4:var(--error-light);--bg-page:var(--gray-50);--bg-subtle:var(--pure-white);--bg-muted:var(--gray-100);--bg-card:var(--pure-white);--bg-elevated:var(--pure-white);--bg-hero:var(--pure-white);--text-primary:var(--gray-900);--text-secondary:var(--gray-600);--text-tertiary:var(--gray-500);--text-placeholder:var(--gray-400);--text-disabled:var(--gray-300);--text-inverse:var(--pure-white);--border-subtle:var(--gray-200);--border-muted:var(--gray-300);--border-strong:var(--gray-400);--accent-primary:var(--blue-600);--accent-hover:var(--blue-700);--accent-pressed:var(--blue-800);--accent-subtle:var(--blue-50);--accent-muted:var(--blue-100);--accent-secondary:var(--cyan-600);--accent-secondary-hover:var(--cyan-500);--accent-secondary-subtle:#ecfeff;--glow-primary:#2563eb1f;--glow-secondary:#0891b21a;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a, 0 10px 10px -5px #0000000a;--color-background:var(--bg-page);--color-text:var(--text-primary);--color-text-primary:var(--text-primary);--color-text-secondary:var(--text-secondary);--color-text-tertiary:var(--text-tertiary);--color-bg-primary:var(--bg-page);--color-bg-secondary:var(--bg-subtle);--color-bg-tertiary:var(--bg-muted);--color-card-bg:var(--bg-card);--color-border:var(--border-muted);--color-border-light:var(--border-subtle);--color-accent:var(--accent-primary);--color-accent-primary:var(--accent-primary);--color-accent-hover:var(--accent-hover);--color-shadow:var(--shadow-md);--color-bg-header:#fffc;--color-border-header:var(--border-subtle);--color-shadow-header:var(--shadow-sm);--color-bg-hero:linear-gradient(135deg, var(--gray-50) 0%, var(--blue-50) 100%);--color-bg-code-demo:var(--bg-page);--color-bg-community:var(--bg-subtle);--color-bg-cta:linear-gradient(135deg, var(--blue-600) 0%, var(--blue-700) 100%);--color-bg-footer:var(--bg-subtle);--color-bg-code:var(--gray-100);--color-bg-code-block:var(--gray-50);--color-text-code:var(--blue-700);--color-text-code-block:var(--gray-800);--gray-gradient:var(--color-bg-hero);--gray:115, 115, 115;--gray-dark:64, 64, 64;--black:23, 23, 23;color-scheme:light}html[data-theme=dark]{--accent-1:var(--blue-800);--accent-2:var(--success-dark);--accent-3:var(--warning-dark);--accent-4:var(--error-dark);--bg-page:#0a0a0a!important;--bg-subtle:#111!important;--bg-muted:#1f1f1f!important;--bg-card:#111!important;--bg-elevated:#1a1a1a!important;--bg-hero:#111!important;--bg-overlay:#ffffff0d!important;--text-primary:#fafafa!important;--text-secondary:#a3a3a3!important;--text-tertiary:#737373!important;--text-placeholder:#525252!important;--text-disabled:#404040!important;--text-inverse:var(--gray-900)!important;--border-subtle:#262626!important;--border-muted:#404040!important;--border-strong:#525252!important;--accent-primary:#60a5fa!important;--accent-hover:#93c5fd!important;--accent-pressed:#bfdbfe!important;--accent-subtle:#1e3a8a!important;--accent-muted:#1d4ed8!important;--accent-secondary:#22d3ee!important;--accent-secondary-hover:#67e8f9!important;--accent-secondary-subtle:#22d3ee14!important;--glow-primary:#60a5fa33!important;--glow-secondary:#22d3ee26!important;--shadow-sm:0 1px 2px 0 #0000004d!important;--shadow-md:0 4px 6px -1px #0000004d, 0 2px 4px -1px #0003!important;--shadow-lg:0 10px 15px -3px #0000004d, 0 4px 6px -2px #0003!important;--shadow-xl:0 20px 25px -5px #0006, 0 10px 10px -5px #0000004d!important;--color-background:var(--bg-page)!important;--color-text:var(--text-primary)!important;--color-text-primary:var(--text-primary)!important;--color-text-secondary:var(--text-secondary)!important;--color-text-tertiary:var(--text-tertiary)!important;--color-bg-primary:var(--bg-page)!important;--color-bg-secondary:var(--bg-subtle)!important;--color-bg-tertiary:var(--bg-muted)!important;--color-card-bg:var(--bg-card)!important;--color-border:var(--border-muted)!important;--color-border-light:var(--border-subtle)!important;--color-accent:var(--accent-primary)!important;--color-accent-primary:var(--accent-primary)!important;--color-accent-hover:var(--accent-hover)!important;--color-shadow:var(--shadow-md)!important;--color-bg-header:#0a0a0acc!important;--color-border-header:var(--border-subtle)!important;--color-shadow-header:var(--shadow-sm)!important;--color-bg-hero:linear-gradient(135deg, var(--bg-subtle) 0%, var(--accent-subtle) 100%)!important;--color-bg-code-demo:var(--bg-page)!important;--color-bg-community:var(--bg-subtle)!important;--color-bg-cta:linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-hover) 100%)!important;--color-bg-footer:var(--bg-subtle)!important;--color-bg-code:var(--bg-muted)!important;--color-bg-code-block:var(--bg-subtle)!important;--color-text-code:var(--accent-hover)!important;--color-text-code-block:var(--text-primary)!important;--gray-gradient:var(--color-bg-hero)!important;--gray:163, 163, 163!important;--gray-dark:250, 250, 250!important;--black:250, 250, 250!important;color-scheme:dark!important}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg-page:#0a0a0a;--bg-subtle:#151515;--bg-muted:#1f1f1f;--bg-card:#111;--bg-elevated:#1a1a1a;--text-primary:#fafafa;--text-secondary:#a3a3a3;--text-tertiary:#737373;--border-subtle:#262626;--border-muted:#404040;--accent-primary:#60a5fa;--accent-hover:#93c5fd;--accent-subtle:#1e3a8a;--shadow-sm:0 1px 2px 0 #0000004d;--shadow-md:0 4px 6px -1px #0000004d, 0 2px 4px -1px #0003;--color-background:var(--bg-page);--color-text:var(--text-primary);--color-text-primary:var(--text-primary);--color-text-secondary:var(--text-secondary);--color-bg-primary:var(--bg-page);--color-bg-secondary:var(--bg-subtle);--color-card-bg:var(--bg-card);--color-accent:var(--accent-primary);--color-accent-primary:var(--accent-primary);--color-accent-hover:var(--accent-hover);--color-bg-header:#0a0a0acc;--gray-gradient:linear-gradient(135deg, var(--bg-subtle) 0%, var(--accent-subtle) 100%);--gray-dark:250, 250, 250;--black:250, 250, 250}}html{background:var(--bg-page);color:var(--text-primary);scroll-behavior:smooth;transition:background-color .2s,color .2s}body{text-align:left;word-wrap:break-word;overflow-wrap:break-word;color:var(--text-secondary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;font-family:Atkinson,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:20px;line-height:1.7;transition:all .2s}main{width:720px;max-width:calc(100% - 2em);margin:auto;padding:3em 1em}h1,h2,h3,h4,h5,h6{color:var(--text-primary);letter-spacing:-.02em;margin:0 0 .5rem;font-weight:700;line-height:1.2}h1{font-size:3.052rem}h2{font-size:2.441rem}h3{font-size:1.953rem}h4{font-size:1.563rem}h5{font-size:1.25rem}p{color:var(--text-secondary);margin-bottom:1em;line-height:1.7}strong,b{color:var(--text-primary);font-weight:700}em,i{color:var(--text-secondary)}a{color:var(--accent-primary);border-radius:2px;text-decoration:none;transition:color .15s}a:hover{color:var(--accent-hover);text-decoration:underline}a:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}input,textarea,select{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-muted);border-radius:8px;padding:.75rem;font-family:inherit;font-size:16px;transition:all .15s}input:focus,textarea:focus,select:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-subtle);outline:none}textarea{resize:vertical;width:100%;min-height:120px}.card{background:var(--bg-card);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);border-radius:12px;padding:1.5rem;transition:all .15s}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-family:inherit;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex}.btn-primary{background:var(--accent-primary);color:var(--text-inverse)}.btn-primary:hover{background:var(--accent-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-muted)}.btn-secondary:hover{background:var(--bg-muted);border-color:var(--border-strong)}table{border-collapse:collapse;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;width:100%;margin:2rem 0;overflow:hidden}th,td{text-align:left;border-bottom:1px solid var(--border-subtle);padding:.75rem 1rem}th{background:var(--bg-muted);color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em;font-size:.9rem;font-weight:600}td{color:var(--text-secondary)}tr:last-child td{border-bottom:none}code{background:var(--color-bg-code);color:var(--color-text-code);border-radius:4px;padding:.2rem .4rem;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace;font-size:.85em;font-weight:500}pre{background:var(--color-bg-code-block);color:var(--color-text-code-block);border:1px solid var(--border-subtle);border-radius:12px;margin:2rem 0;padding:1.5rem;font-size:.9rem;line-height:1.6;overflow-x:auto}pre code{color:inherit;background:0 0;border-radius:0;padding:0}blockquote{background:var(--bg-muted);border-left:4px solid var(--accent-primary);color:var(--text-secondary);border-radius:0 8px 8px 0;margin:2rem 0;padding:1.5rem;font-style:italic;position:relative}blockquote p:last-child{margin-bottom:0}.prose{color:var(--text-secondary);max-width:65ch}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{color:var(--text-primary);margin-top:2rem;margin-bottom:1rem}.prose h1:first-child,.prose h2:first-child,.prose h3:first-child{margin-top:0}.prose p{margin-bottom:1.5rem}.prose ul,.prose ol{margin-bottom:1.5rem;padding-left:1.5rem}.prose li{color:var(--text-secondary);margin-bottom:.5rem}.prose img{box-shadow:var(--shadow-md);border-radius:8px;margin:2rem 0}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-semibold{font-weight:600}.font-bold{font-weight:700}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-4{margin-bottom:2rem}@media (width<=768px){body{font-size:18px}main{padding:1.5em 1em}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}.card{padding:1rem}.btn{padding:.65rem 1.25rem}}*,:before,:after{transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media print{:root{--bg-page:white;--text-primary:black;--text-secondary:#333;--bg-card:white;--accent-primary:#06c}body{background:#fff!important}.card{box-shadow:none;border:1px solid #ccc}}.guide-meta .difficulty,.difficulty.beginner,.difficulty.intermediate,.difficulty.advanced,.difficulty.expert,span.difficulty{text-transform:uppercase!important;box-shadow:var(--shadow-sm)!important;border:2px solid #0000!important;border-radius:25px!important;padding:.5rem 1rem!important;font-size:.8rem!important;font-weight:600!important;transition:all .2s!important;display:inline-block!important}.guide-meta .difficulty:hover,.difficulty:hover{transform:scale(1.05)!important}.difficulty.beginner,span.difficulty.beginner{color:#166534!important;background:linear-gradient(135deg,#dcfce7,#bbf7d0)!important;border-color:#22c55e!important}.difficulty.intermediate,span.difficulty.intermediate{color:#854d0e!important;background:linear-gradient(135deg,#fef3c7,#fed7aa)!important;border-color:#f59e0b!important}.difficulty.advanced,span.difficulty.advanced{color:#991b1b!important;background:linear-gradient(135deg,#fee2e2,#fecaca)!important;border-color:#ef4444!important}.difficulty.expert,span.difficulty.expert{color:#6b21a8!important;background:linear-gradient(135deg,#e9d5ff,#d8b4fe)!important;border-color:#a855f7!important}html[data-theme=dark] .difficulty.beginner,html[data-theme=dark] span.difficulty.beginner{color:#dcfce7!important;background:linear-gradient(135deg,#14532d,#166534)!important;border-color:#16a34a!important}html[data-theme=dark] .difficulty.intermediate,html[data-theme=dark] span.difficulty.intermediate{color:#fef3c7!important;background:linear-gradient(135deg,#78350f,#92400e)!important;border-color:#d97706!important}html[data-theme=dark] .difficulty.advanced,html[data-theme=dark] span.difficulty.advanced{color:#fee2e2!important;background:linear-gradient(135deg,#7f1d1d,#991b1b)!important;border-color:#dc2626!important}html[data-theme=dark] .difficulty.expert,html[data-theme=dark] span.difficulty.expert{color:#e9d5ff!important;background:linear-gradient(135deg,#581c87,#6b21a8)!important;border-color:#7c3aed!important}.benefit-card,.component-card,.pattern-card,.tool-card,.use-case,.next-guide-card{transition:transform .2s,box-shadow .2s}.benefit-card:hover,.component-card:hover,.pattern-card:hover,.tool-card:hover,.use-case:hover,.next-guide-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.toc-box,.prerequisites-box,.info-box,.highlight-box,.takeaways-box,.topics-covered{transition:transform .2s,box-shadow .2s}.toc-box:hover,.prerequisites-box:hover,.info-box:hover,.highlight-box:hover,.takeaways-box:hover,.topics-covered:hover{transform:translateY(-1px)}a[data-astro-cid-evkijfd6]{text-decoration:none;display:inline-block}a[data-astro-cid-evkijfd6].active{font-weight:bolder;text-decoration:underline}.search-container[data-astro-cid-ac66eqjo]{width:100%;max-width:500px;position:relative}.search-input-wrapper[data-astro-cid-ac66eqjo]{align-items:center;display:flex;position:relative}.search-icon[data-astro-cid-ac66eqjo]{color:var(--text-tertiary);pointer-events:none;z-index:1;position:absolute;left:1rem}#search-input[data-astro-cid-ac66eqjo]{border:2px solid var(--border-subtle);background:var(--bg-card);width:100%;color:var(--text-primary);border-radius:12px;padding:.875rem 3rem;font-size:1rem;transition:border-color .2s,box-shadow .2s}#search-input[data-astro-cid-ac66eqjo]:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-subtle);outline:none}.search-clear[data-astro-cid-ac66eqjo]{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.25rem;transition:color .2s,background-color .2s;position:absolute;right:1rem}.search-clear[data-astro-cid-ac66eqjo]:hover{color:var(--text-primary);background:var(--bg-muted)}.search-overlay[data-astro-cid-ac66eqjo]{backdrop-filter:blur(2px);z-index:998;background:#0003;position:fixed;inset:0}.search-results[data-astro-cid-ac66eqjo]{background:var(--bg-card);border:1px solid var(--border-subtle);box-shadow:var(--shadow-xl);z-index:999;border-radius:12px;flex-direction:column;max-height:70vh;display:flex;position:absolute;top:calc(100% + .5rem);left:0;right:0;overflow:hidden}.search-status[data-astro-cid-ac66eqjo]{border-bottom:1px solid var(--border-subtle);padding:1rem;font-size:.875rem}.search-status[data-astro-cid-ac66eqjo].loading{color:var(--text-tertiary)}.search-status[data-astro-cid-ac66eqjo].success{color:var(--text-secondary)}.search-status[data-astro-cid-ac66eqjo].warning{color:var(--text-tertiary)}.search-status[data-astro-cid-ac66eqjo].error{color:#ef4444}.search-list[data-astro-cid-ac66eqjo]{max-height:60vh;margin:0;padding:0;list-style:none;overflow-y:auto}.search-result-item[data-astro-cid-ac66eqjo]{border-bottom:1px solid var(--border-subtle)}.search-result-item[data-astro-cid-ac66eqjo]:last-child{border-bottom:none}.search-result-item[data-astro-cid-ac66eqjo].selected{background:var(--bg-subtle)}.search-result-link[data-astro-cid-ac66eqjo]{color:inherit;padding:1rem;text-decoration:none;transition:background-color .2s;display:block}.search-result-link[data-astro-cid-ac66eqjo]:hover{background:var(--bg-subtle)}.search-result-header[data-astro-cid-ac66eqjo]{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.search-result-type[data-astro-cid-ac66eqjo]{text-transform:uppercase;border-radius:10px;padding:.125rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.search-result-type[data-astro-cid-ac66eqjo].guide{color:#92400e;background:#fef3c7}.search-result-type[data-astro-cid-ac66eqjo].blog{color:#1e40af;background:#dbeafe}.search-result-type[data-astro-cid-ac66eqjo].page{color:#7c3aed;background:#f3e8ff}html[data-theme=dark] .search-result-type[data-astro-cid-ac66eqjo].guide{color:#fef3c7;background:#92400e}html[data-theme=dark] .search-result-type[data-astro-cid-ac66eqjo].blog{color:#dbeafe;background:#1e40af}html[data-theme=dark] .search-result-type[data-astro-cid-ac66eqjo].page{color:#f3e8ff;background:#7c3aed}.search-result-category[data-astro-cid-ac66eqjo]{color:var(--text-tertiary);background:var(--bg-muted);border-radius:8px;padding:.125rem .5rem;font-size:.75rem}.search-result-title[data-astro-cid-ac66eqjo]{color:var(--text-primary);margin:0 0 .5rem;font-size:1rem;font-weight:600;line-height:1.3}.search-result-description[data-astro-cid-ac66eqjo]{color:var(--text-secondary);margin:0 0 .75rem;font-size:.875rem;line-height:1.4}.search-result-tags[data-astro-cid-ac66eqjo]{flex-wrap:wrap;gap:.25rem;display:flex}.tag[data-astro-cid-ac66eqjo]{background:var(--bg-muted);color:var(--text-tertiary);border:1px solid var(--border-subtle);border-radius:6px;padding:.125rem .375rem;font-size:.75rem;display:inline-block}.search-no-results[data-astro-cid-ac66eqjo]{text-align:center;padding:2rem}.no-results-content[data-astro-cid-ac66eqjo] p[data-astro-cid-ac66eqjo]{color:var(--text-secondary);margin:0 0 1rem}.no-results-suggestions[data-astro-cid-ac66eqjo]{font-size:.875rem}.no-results-suggestions[data-astro-cid-ac66eqjo] a[data-astro-cid-ac66eqjo]{color:var(--accent-primary);text-decoration:none}.no-results-suggestions[data-astro-cid-ac66eqjo] a[data-astro-cid-ac66eqjo]:hover{text-decoration:underline}.search-footer[data-astro-cid-ac66eqjo]{background:var(--bg-subtle);border-top:1px solid var(--border-subtle);color:var(--text-tertiary);text-align:center;padding:.75rem 1rem;font-size:.75rem}.search-footer[data-astro-cid-ac66eqjo] kbd[data-astro-cid-ac66eqjo]{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:3px;margin:0 .125rem;padding:.125rem .25rem;font-family:monospace;font-size:.7rem;display:inline-block}.hidden[data-astro-cid-ac66eqjo]{display:none}@media (width<=768px){.search-container[data-astro-cid-ac66eqjo]{max-width:100%}#search-input[data-astro-cid-ac66eqjo]{padding:.75rem 2.5rem}.search-results[data-astro-cid-ac66eqjo]{max-height:80vh}.search-list[data-astro-cid-ac66eqjo]{max-height:70vh}.search-result-link[data-astro-cid-ac66eqjo]{padding:.75rem}.search-result-title[data-astro-cid-ac66eqjo]{font-size:.9rem}.search-result-description[data-astro-cid-ac66eqjo]{font-size:.8rem}}header[data-astro-cid-nen7h5rs]{background:var(--color-bg-header);-webkit-backdrop-filter:blur(10px);z-index:100;border-bottom:1px solid var(--color-border-header);margin:0;padding:0 1em;transition:all .3s;position:sticky;top:0}nav[data-astro-cid-nen7h5rs]{justify-content:space-between;align-items:center;gap:1rem;max-width:1400px;margin:0 auto;padding:.75rem 0;display:flex}.logo-section[data-astro-cid-nen7h5rs]{flex-shrink:0;align-items:center;display:flex}.logo-link[data-astro-cid-nen7h5rs]{color:var(--text-primary);align-items:center;gap:1rem;text-decoration:none;transition:opacity .2s;display:flex}.logo-link[data-astro-cid-nen7h5rs]:hover{opacity:.8}.logo[data-astro-cid-nen7h5rs]{object-fit:contain;width:auto;height:5.5rem}.site-title[data-astro-cid-nen7h5rs]{color:var(--text-primary);letter-spacing:-.02em;font-size:1.5rem;font-weight:700}.internal-links[data-astro-cid-nen7h5rs]{align-items:center;gap:.25rem;display:flex}.internal-links[data-astro-cid-nen7h5rs] a{color:var(--text-secondary);border-bottom:3px solid #0000;border-radius:4px;padding:.5rem 1rem;font-weight:500;text-decoration:none;transition:all .2s}.internal-links[data-astro-cid-nen7h5rs] a:hover{color:var(--text-primary);background-color:var(--bg-card)}.internal-links[data-astro-cid-nen7h5rs] a.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.search-section[data-astro-cid-nen7h5rs]{flex:1;min-width:0;max-width:400px;margin:0 1rem}.social-links[data-astro-cid-nen7h5rs]{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.social-links[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{color:var(--text-secondary);border-radius:6px;padding:.5rem;transition:all .2s;display:flex}.social-links[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover{color:var(--text-primary);background-color:var(--bg-card)}.sr-only[data-astro-cid-nen7h5rs]{clip:rect(1px 1px 1px 1px);clip:rect(1px, 1px, 1px, 1px);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:0;padding:0;overflow:hidden;position:absolute!important}#theme-toggle[data-astro-cid-nen7h5rs]{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:.5rem;transition:all .2s;display:flex;position:relative}#theme-toggle[data-astro-cid-nen7h5rs]:hover{background-color:var(--bg-card);color:var(--text-primary)}#theme-toggle[data-astro-cid-nen7h5rs] svg[data-astro-cid-nen7h5rs]{width:1.25rem;height:1.25rem;transition:all .3s;position:absolute}html[data-theme=light] .moon[data-astro-cid-nen7h5rs]{opacity:0;transform:rotate(180deg)}html[data-theme=light] .sun[data-astro-cid-nen7h5rs]{opacity:1;transform:rotate(0)}html[data-theme=dark] .sun[data-astro-cid-nen7h5rs]{opacity:0;transform:rotate(180deg)}html[data-theme=dark] .moon[data-astro-cid-nen7h5rs]{opacity:1;transform:rotate(0)}.mobile-menu-toggle[data-astro-cid-nen7h5rs]{color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.5rem;transition:all .2s;display:none}.mobile-menu-toggle[data-astro-cid-nen7h5rs]:hover{background-color:var(--bg-card)}.mobile-menu-toggle[data-astro-cid-nen7h5rs] .line[data-astro-cid-nen7h5rs]{transform-origin:50%;transition:all .3s ease-in-out}.mobile-menu-panel[data-astro-cid-nen7h5rs]{background:var(--color-bg-header);border-top:1px solid var(--color-border-header);z-index:-1;padding:1rem 1.5rem 2rem;display:none;position:absolute;top:100%;left:0;right:0;box-shadow:0 8px 16px #0000001a}.mobile-menu-links[data-astro-cid-nen7h5rs]{flex-direction:column;gap:.5rem;display:flex}.mobile-menu-links[data-astro-cid-nen7h5rs] a{text-align:center;border-radius:8px;padding:1rem;font-size:1.25rem}.mobile-menu-search[data-astro-cid-nen7h5rs]{margin-top:1.5rem}header[data-astro-cid-nen7h5rs].menu-open{background-color:var(--color-bg-header-open,var(--color-bg-header))}header[data-astro-cid-nen7h5rs].menu-open .mobile-menu-panel[data-astro-cid-nen7h5rs]{display:block}header[data-astro-cid-nen7h5rs].menu-open .mobile-menu-toggle[data-astro-cid-nen7h5rs] .line-1[data-astro-cid-nen7h5rs]{transform:translateY(6px)rotate(45deg)}header[data-astro-cid-nen7h5rs].menu-open .mobile-menu-toggle[data-astro-cid-nen7h5rs] .line-2[data-astro-cid-nen7h5rs]{opacity:0}header[data-astro-cid-nen7h5rs].menu-open .mobile-menu-toggle[data-astro-cid-nen7h5rs] .line-3[data-astro-cid-nen7h5rs]{transform:translateY(-6px)rotate(-45deg)}@media (width<=968px){.internal-links[data-astro-cid-nen7h5rs],.search-section[data-astro-cid-nen7h5rs]{display:none}.mobile-menu-toggle[data-astro-cid-nen7h5rs]{justify-content:center;align-items:center;display:flex}}footer[data-astro-cid-jo6i4kqk]{background:var(--color-bg-footer);color:var(--text-secondary);border-top:1px solid var(--border-subtle);margin-top:4rem;padding:2rem 1rem 6rem}.footer-content[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;max-width:1200px;margin:0 auto;display:flex}.footer-main[data-astro-cid-jo6i4kqk]{flex-direction:column;gap:.5rem;display:flex}.footer-links[data-astro-cid-jo6i4kqk]{gap:1.5rem;font-size:.9rem;display:flex}.footer-links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:var(--text-tertiary);padding:.25rem 0;text-decoration:none;transition:color .2s}.footer-links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--accent-primary)}.social-links[data-astro-cid-jo6i4kqk]{gap:1rem;display:flex}.social-links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:var(--text-tertiary);border-radius:8px;padding:.5rem;text-decoration:none;transition:color .2s,transform .2s}.social-links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--accent-primary);transform:translateY(-2px)}.sr-only[data-astro-cid-jo6i4kqk]{clip:rect(1px 1px 1px 1px);clip:rect(1px, 1px, 1px, 1px);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:0;padding:0;overflow:hidden;position:absolute!important}@media (width<=768px){footer[data-astro-cid-jo6i4kqk]{text-align:center;padding:1.5rem 1rem 4rem}.footer-content[data-astro-cid-jo6i4kqk]{text-align:center;flex-direction:column}.footer-main[data-astro-cid-jo6i4kqk]{align-items:center}.footer-links[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;justify-content:center}.social-links[data-astro-cid-jo6i4kqk]{justify-content:center;gap:.5rem}.social-links[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{padding:.25rem}.social-links[data-astro-cid-jo6i4kqk] svg[data-astro-cid-jo6i4kqk]{width:24px;height:24px}}.skip-link{background:var(--accent-primary);color:#fff;z-index:100;border-radius:0 0 8px;padding:8px 16px;text-decoration:none;transition:top .3s;position:absolute;top:-40px;left:0}.skip-link:focus{top:0}.reading-progress{background:linear-gradient(90deg, var(--accent-primary), var(--blue-400));z-index:1000;width:0%;height:3px;transition:width .1s linear;position:fixed;top:0;left:0}.back-to-top{background:var(--accent-primary);color:#fff;cursor:pointer;opacity:0;visibility:hidden;z-index:999;width:48px;height:48px;box-shadow:var(--shadow-lg);border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .3s;display:flex;position:fixed;bottom:2rem;right:2rem}.back-to-top.visible{opacity:1;visibility:visible}.back-to-top:hover{background:var(--accent-hover);box-shadow:var(--shadow-xl);transform:translateY(-3px)}.back-to-top:active{transform:translateY(0)}body{background-color:var(--bg-page);color:var(--text-primary);transition:background-color .2s ease-in-out,color .2s ease-in-out}main{min-height:calc(100vh - 200px);padding:2rem 1rem}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-muted);border-radius:5px}::-webkit-scrollbar-thumb{background:linear-gradient(var(--border-strong), var(--accent-primary));border:2px solid var(--bg-muted);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(var(--text-tertiary), var(--accent-hover))}html{scrollbar-width:thin;scrollbar-color:var(--border-strong) var(--bg-muted);scroll-behavior:smooth}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;border-radius:4px}::selection{background:var(--accent-primary);color:var(--text-inverse)}::selection{background:var(--accent-primary);color:var(--text-inverse)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=768px){.back-to-top{width:40px;height:40px;bottom:1rem;right:1rem}}
