@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";.site-header[data-astro-cid-5blmo7yk]{--theme-icon-size: 18px;position:sticky;top:0;z-index:100;background:var(--header-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--header-border);transition:background .3s ease,border-color .3s ease}.header-inner[data-astro-cid-5blmo7yk]{max-width:960px;margin:0 auto;padding:0 1.5rem;height:56px;display:flex;align-items:center;justify-content:space-between}.header-left[data-astro-cid-5blmo7yk]{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.header-right[data-astro-cid-5blmo7yk]{display:flex;align-items:center;gap:.5rem}.site-title[data-astro-cid-5blmo7yk]{font-weight:700;font-size:1.1rem;color:var(--accent);text-decoration:none;letter-spacing:-.01em}.site-title[data-astro-cid-5blmo7yk]:hover{color:var(--accent-hover);text-decoration:none}.kiwi-icon[data-astro-cid-5blmo7yk]{font-size:1.2rem;color:var(--accent)}nav[data-astro-cid-5blmo7yk]{display:flex;gap:.25rem}.nav-link[data-astro-cid-5blmo7yk]{font-size:.875rem;font-weight:500;color:var(--text-muted);text-decoration:none;padding:.4rem .75rem;border-radius:var(--radius-sm);transition:background .15s ease,color .15s ease}.nav-link[data-astro-cid-5blmo7yk]:hover{background:var(--nav-hover-bg);color:var(--accent);text-decoration:none}.nav-link[data-astro-cid-5blmo7yk].active{background:var(--nav-active-bg);color:var(--accent)}.theme-toggle[data-astro-cid-5blmo7yk]{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--border);border-radius:50%;background:var(--bg-surface-solid);color:var(--text-muted);cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;flex-shrink:0}.theme-toggle[data-astro-cid-5blmo7yk]:hover{background:var(--nav-hover-bg);color:var(--accent);border-color:var(--border-accent);transform:rotate(15deg)}.theme-toggle[data-astro-cid-5blmo7yk] svg[data-astro-cid-5blmo7yk]{width:var(--theme-icon-size, 24px);height:var(--theme-icon-size, 24px);flex-shrink:0}.icon-sun[data-astro-cid-5blmo7yk]{display:block}.icon-moon[data-astro-cid-5blmo7yk],[data-theme=dark] .icon-sun[data-astro-cid-5blmo7yk]{display:none}[data-theme=dark] .icon-moon[data-astro-cid-5blmo7yk]{display:block}.a11y-wrapper[data-astro-cid-5blmo7yk]{position:relative}.a11y-toggle[data-astro-cid-5blmo7yk]{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--border);border-radius:50%;background:var(--bg-surface-solid);color:var(--text-muted);cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease;flex-shrink:0;padding:0;font-size:1.15rem}.a11y-toggle[data-astro-cid-5blmo7yk]:hover,.a11y-toggle[data-astro-cid-5blmo7yk].active{background:var(--nav-hover-bg);color:var(--accent);border-color:var(--border-accent)}.a11y-menu[data-astro-cid-5blmo7yk]{display:none;position:absolute;top:calc(100% + 10px);right:0;width:290px;background:var(--bg-surface-solid);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 8px 32px #0000001f;z-index:200;overflow:hidden;animation:a11ySlideIn .18s ease}.a11y-menu[data-astro-cid-5blmo7yk].open{display:block}@keyframes a11ySlideIn{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.a11y-menu-header[data-astro-cid-5blmo7yk]{display:flex;align-items:center;justify-content:space-between;padding:.7rem 1rem;border-bottom:1px solid var(--border)}.a11y-menu-title[data-astro-cid-5blmo7yk]{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-heading)}.a11y-reset[data-astro-cid-5blmo7yk]{font-size:.7rem;font-weight:600;color:var(--accent);background:none;border:none;padding:.2rem .55rem;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s ease,color .15s ease}.a11y-reset[data-astro-cid-5blmo7yk]:hover{background:var(--accent-faint);color:var(--accent-hover)}.a11y-options[data-astro-cid-5blmo7yk]{padding:.35rem 0}.a11y-option[data-astro-cid-5blmo7yk]{display:flex;align-items:center;justify-content:space-between;padding:.55rem 1rem;cursor:pointer;transition:background .12s ease;user-select:none;gap:.7rem}.a11y-option[data-astro-cid-5blmo7yk]:hover{background:var(--nav-hover-bg)}.a11y-option-info[data-astro-cid-5blmo7yk]{display:flex;align-items:center;gap:.65rem;flex:1;min-width:0}.a11y-option-icon[data-astro-cid-5blmo7yk]{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;background:var(--accent-faint);color:var(--accent);font-size:.75rem;flex-shrink:0}.a11y-option-name[data-astro-cid-5blmo7yk]{display:block;font-size:.82rem;font-weight:600;color:var(--text-primary);line-height:1.25}.a11y-option-desc[data-astro-cid-5blmo7yk]{display:block;font-size:.68rem;color:var(--text-muted);line-height:1.3;margin-top:1px}.a11y-check[data-astro-cid-5blmo7yk]{display:none}.a11y-switch[data-astro-cid-5blmo7yk]{position:relative;width:38px;height:22px;background:var(--border);border-radius:12px;flex-shrink:0;transition:background .2s ease}.a11y-switch[data-astro-cid-5blmo7yk]:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform .2s ease;box-shadow:0 1px 3px #00000026}.a11y-check[data-astro-cid-5blmo7yk]:checked+.a11y-switch[data-astro-cid-5blmo7yk]{background:var(--accent)}.a11y-check[data-astro-cid-5blmo7yk]:checked+.a11y-switch[data-astro-cid-5blmo7yk]:after{transform:translate(16px)}.hamburger[data-astro-cid-5blmo7yk]{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;padding:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface-solid);cursor:pointer;transition:background .2s ease,border-color .2s ease}.hamburger[data-astro-cid-5blmo7yk]:hover{background:var(--nav-hover-bg);border-color:var(--border-accent)}.hamburger[data-astro-cid-5blmo7yk] span[data-astro-cid-5blmo7yk]{display:block;width:18px;height:2px;background:var(--text-muted);border-radius:2px;transition:transform .3s ease,opacity .3s ease}.hamburger[data-astro-cid-5blmo7yk].open span[data-astro-cid-5blmo7yk]:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger[data-astro-cid-5blmo7yk].open span[data-astro-cid-5blmo7yk]:nth-child(2){opacity:0}.hamburger[data-astro-cid-5blmo7yk].open span[data-astro-cid-5blmo7yk]:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media(max-width:768px){.hamburger[data-astro-cid-5blmo7yk]{display:flex}nav[data-astro-cid-5blmo7yk]{display:none;position:absolute;top:56px;left:0;right:0;flex-direction:column;background:var(--bg-surface-solid);border-bottom:1px solid var(--header-border);padding:.5rem 1rem;box-shadow:var(--shadow-md);gap:.25rem;z-index:99}nav[data-astro-cid-5blmo7yk].open{display:flex}.nav-link[data-astro-cid-5blmo7yk]{padding:.6rem 1rem;font-size:.9rem;border-radius:var(--radius-sm)}.header-inner[data-astro-cid-5blmo7yk]{padding:0 1rem}}@media(max-width:480px){.site-title[data-astro-cid-5blmo7yk]{font-size:1rem}.kiwi-icon[data-astro-cid-5blmo7yk]{font-size:2rem}.theme-toggle[data-astro-cid-5blmo7yk]{width:36px;height:36px}.a11y-toggle[data-astro-cid-5blmo7yk]{width:36px;height:36px;font-size:1rem}.a11y-menu[data-astro-cid-5blmo7yk]{width:260px}.hamburger[data-astro-cid-5blmo7yk]{width:36px;height:36px}.site-header[data-astro-cid-5blmo7yk]{--theme-icon-size: 20px}}:root{--bg-page: #faf9f7;--bg-surface: rgba(255, 255, 255, .98);--bg-surface-solid: #ffffff;--bg-surface-hover: #f8f7f5;--bg-code: #f5f0ff;--bg-pre: #1e1e2e;--bg-blockquote: rgba(124, 58, 237, .05);--bg-th: #f1f5f9;--bg-tr-hover: rgba(124, 58, 237, .03);--text-primary: #071021;--text-secondary: #22313f;--text-muted: #374955;--text-heading: #0f172a;--accent: #6d28d9;--accent-hover: #4c1d95;--accent-subtle: #c4b5fd;--accent-faint: rgba(124, 58, 237, .08);--border: #dfdcd9;--border-accent: #c4b5fd;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .04);--shadow-md: 0 4px 16px rgba(0, 0, 0, .06);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--header-bg: rgba(255, 255, 255, .98);--header-border: #dfdcd9;--nav-hover-bg: #f1f5f9;--nav-active-bg: #ede9fe;color-scheme:light}[data-theme=dark]{--bg-page: #0f0f14;--bg-surface: rgba(18, 18, 26, .9);--bg-surface-solid: #141418;--bg-surface-hover: #232331;--bg-code: rgba(139, 92, 246, .15);--bg-pre: #0f0f14;--bg-blockquote: rgba(139, 92, 246, .08);--bg-th: #1e1e2e;--bg-tr-hover: rgba(139, 92, 246, .06);--text-primary: #e6eef8;--text-secondary: #d1d9e6;--text-muted: #a3b2c2;--text-heading: #f1f5f9;--accent: #a78bfa;--accent-hover: #c4b5fd;--accent-subtle: #5b21b6;--accent-faint: rgba(167, 139, 250, .1);--border: #31313f;--border-accent: #5b21b6;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--header-bg: rgba(15, 15, 20, .92);--header-border: #31313f;--nav-hover-bg: #24243a;--nav-active-bg: rgba(139, 92, 246, .15);color-scheme:dark}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text-primary);background-color:var(--bg-page);min-height:100vh;line-height:1.7;-webkit-font-smoothing:antialiased;transition:background-color .3s ease,color .3s ease}h1,h2,h3,h4,h5,h6{color:var(--text-heading);font-weight:700;line-height:1.3;margin-top:1.5em;margin-bottom:.5em}h1{font-size:2rem;letter-spacing:-.02em}h2{font-size:1.5rem;letter-spacing:-.01em;border-bottom:1px solid var(--border);padding-bottom:.3em}h3{font-size:1.25rem}h4{font-size:1.1rem}h1:first-child,h2:first-child,h3:first-child{margin-top:0}p{margin-bottom:1em;color:var(--text-secondary)}a{color:var(--accent);text-decoration:none;transition:color .15s ease}a:hover{color:var(--accent-hover);text-decoration:underline}strong{font-weight:600}ul,ol{padding-left:1.5em;margin-bottom:1em}ul{list-style:disc}ol{list-style:decimal}li{margin-bottom:.35em;color:var(--text-secondary)}li::marker{color:var(--accent)}blockquote{border-left:3px solid var(--accent);padding:.75em 1.25em;margin:1.25em 0;background:var(--bg-blockquote);border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--text-muted)}blockquote p{margin-bottom:.25em}code{font-family:Fira Code,Cascadia Code,JetBrains Mono,monospace;font-size:.875em;background:var(--bg-code);color:var(--accent);padding:.15em .4em;border-radius:6px}pre{background:var(--bg-pre);color:#cdd6f4;padding:1em 1.25em;border-radius:var(--radius-md);overflow-x:auto;margin:1em 0;font-size:.875rem;line-height:1.6}pre code{background:none;color:inherit;padding:0;border-radius:0}button{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--accent);color:#fff;border:none;padding:.5em 1em;border-radius:var(--radius-md);cursor:pointer;font-size:.9rem;transition:background-color .2s ease}table{width:100%;border-collapse:collapse;margin:1em 0;font-size:.9rem;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm)}th{background:var(--bg-th);font-weight:600;text-align:left;padding:.6em 1em;border-bottom:2px solid var(--border);color:var(--text-heading)}td{padding:.6em 1em;border-bottom:1px solid var(--border);color:var(--text-secondary)}tr:hover td{background:var(--bg-tr-hover)}hr{border:none;border-top:1px solid var(--border);margin:2em 0}img{max-width:100%;height:auto;border-radius:var(--radius-md)}::selection{background:#6d28d940;color:#fff}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--accent-subtle);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}.tip,.warning,.note{padding:.75em 1em;border-radius:var(--radius-md);margin:1em 0;font-size:.9rem}.tip{background:#ecfdf5;border-left:3px solid #10b981;color:#065f46}.warning{background:#fffbeb;border-left:3px solid #f59e0b;color:#78350f}.note{background:#eff6ff;border-left:3px solid #3b82f6;color:#1e40af}[data-theme=dark] .tip{background:#10b9811a;color:#6ee7b7}[data-theme=dark] .warning{background:#f59e0b1a;color:#fcd34d}[data-theme=dark] .note{background:#3b82f61a;color:#93c5fd}.lesson-badge{display:inline-block;padding:.35rem .75rem;background:var(--accent-faint);color:var(--accent);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-sm);margin-bottom:.25rem}.lesson-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.lesson-header h1{margin-top:.25rem;margin-bottom:.35rem}.lesson-header .lesson-subtitle{font-size:.95rem;color:var(--text-muted);margin:0;line-height:1.5}.callout{padding:1rem 1.25rem;border-radius:var(--radius-md);margin:1.5rem 0}.callout.tip{background:#10b98114;border-left:3px solid #10b981;color:var(--text-secondary)}.callout.note{background:#3b82f614;border-left:3px solid #3b82f6;color:var(--text-secondary)}[data-theme=dark] .callout.tip{background:#10b9811f}[data-theme=dark] .callout.note{background:#3b82f61f}[data-a11y-audio] .lesson-audio{display:block!important}html:not([data-a11y-audio]) .lesson-audio{display:none!important}html[data-a11y-contrast]:not([data-theme=dark]){--text-primary: #000;--text-secondary: #0a0a0a;--text-muted: #1a1a1a;--text-heading: #000;--bg-page: #fff;--bg-surface: rgba(255, 255, 255, 1);--bg-surface-solid: #fff;--bg-surface-hover: #eaeaea;--bg-code: #ede0ff;--border: #222;--border-accent: #5b21b6;--header-bg: rgba(255, 255, 255, 1);--header-border: #222;--nav-hover-bg: #e8e8e8;--nav-active-bg: #ddd5f3;--accent: #4c1d95;--accent-hover: #3b0764;--accent-subtle: #7c3aed;--accent-faint: rgba(76, 29, 149, .15);--shadow-sm: 0 1px 4px rgba(0, 0, 0, .12);--shadow-md: 0 4px 16px rgba(0, 0, 0, .15)}html[data-theme=dark][data-a11y-contrast]{--text-primary: #fff;--text-secondary: #f5f5f5;--text-muted: #e0e0e0;--text-heading: #fff;--bg-page: #000;--bg-surface: rgba(0, 0, 0, 1);--bg-surface-solid: #050505;--bg-surface-hover: #1a1a1a;--bg-code: rgba(167, 139, 250, .2);--border: #bbb;--border-accent: #a78bfa;--header-bg: rgba(0, 0, 0, 1);--header-border: #bbb;--nav-hover-bg: #1c1c2e;--nav-active-bg: rgba(167, 139, 250, .25);--accent: #d4c4ff;--accent-hover: #ede5ff;--accent-subtle: #7c3aed;--accent-faint: rgba(212, 196, 255, .18);--shadow-sm: 0 1px 4px rgba(0, 0, 0, .5);--shadow-md: 0 4px 16px rgba(0, 0, 0, .6)}[data-a11y-contrast] p,[data-a11y-contrast] li,[data-a11y-contrast] td,[data-a11y-contrast] span,[data-a11y-contrast] blockquote{color:var(--text-secondary)!important}html[data-a11y-large-text]{font-size:19px!important}html[data-a11y-large-text] h1{font-size:2.3rem!important}html[data-a11y-large-text] h2{font-size:1.75rem!important}html[data-a11y-large-text] h3{font-size:1.45rem!important}html[data-a11y-large-text] h4{font-size:1.2rem!important}html[data-a11y-large-text] p,html[data-a11y-large-text] li,html[data-a11y-large-text] td,html[data-a11y-large-text] blockquote,html[data-a11y-large-text] .nav-link{font-size:1.05rem!important;line-height:1.85!important}html[data-a11y-large-text] code{font-size:.95em!important}html[data-a11y-large-text] .lesson-badge{font-size:.82rem!important}html[data-a11y-reduce-motion] *,html[data-a11y-reduce-motion] *:before,html[data-a11y-reduce-motion] *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}html[data-a11y-underlines] a{text-decoration:underline!important;text-underline-offset:3px;text-decoration-color:currentColor}html[data-a11y-underlines] a:hover{text-decoration-thickness:2px!important}html[data-a11y-underlines] .site-title,html[data-a11y-underlines] .nav-link{text-decoration:underline!important;text-underline-offset:3px}@media(max-width:768px){h1{font-size:1.6rem}h2{font-size:1.3rem}h3{font-size:1.1rem}table{font-size:.8rem}th,td{padding:.45em .65em}}@media(max-width:480px){html{font-size:15px}h1{font-size:1.4rem}h2{font-size:1.15rem}pre{font-size:.8rem;padding:.75em 1em}table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-100%)}}.beta-banner{display:flex;align-items:center;justify-content:center;gap:.75rem;background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff;text-align:center;padding:.5rem 2.5rem .5rem 1rem;font-size:.85rem;font-weight:500;position:sticky;top:0;z-index:150;animation:slideDown .4s ease-out;transition:opacity .3s ease-out}.beta-banner.is-dismissing{animation:slideUp .4s ease-out forwards;pointer-events:none}.beta-banner.is-hidden{display:none!important}.banner-close{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;color:#fff;font-size:1.2rem;line-height:1;cursor:pointer;padding:.2rem .4rem;border-radius:4px;opacity:.8;transition:opacity .15s ease,background .15s ease}.banner-close:hover{opacity:1;background:#ffffff26}.beta-banner a{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:2px}.beta-banner a:hover{color:#e0d5ff}.page-container{max-width:880px;margin:1.5rem auto;padding:2rem 2.5rem 3rem;background:var(--bg-surface);backdrop-filter:blur(12px);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);transition:background .3s ease,box-shadow .3s ease}.site-footer{max-width:780px;margin:2rem auto 3rem;padding:1.5rem 2.5rem;text-align:center;border-top:1px solid var(--border)}.footer-content{display:flex;flex-direction:column;gap:.35rem}.site-footer p{margin:0}.footer-credit{font-size:.9rem;color:var(--text-secondary)}.footer-credit strong{color:var(--text-heading);font-weight:600}.team-number{display:inline-block;padding:.15rem .5rem;background:var(--accent-faint);color:var(--accent);font-weight:600;font-size:.8rem;border-radius:4px;margin-left:.15rem}.footer-meta{font-size:.75rem;color:var(--text-muted)}@media(max-width:768px){.page-container{max-width:100%;margin:1rem;padding:1.5rem 1.5rem 2.5rem}.site-footer{max-width:100%;margin:1.5rem 1rem 2rem;padding:1.25rem 1.5rem}}@media(max-width:480px){.page-container{margin:.5rem;padding:1rem .75rem 1.5rem;border-radius:var(--radius-lg)}.site-footer{margin:.75rem .5rem 1.5rem;padding:.75rem}.footer-credit{font-size:.8rem}.footer-meta{font-size:.7rem}}
