:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--md-shadow-1:0 1px 3px #0000001f, 0 1px 2px #0000003d;--md-shadow-2:0 3px 6px #00000026, 0 2px 4px #0000001f;--md-shadow-3:0 10px 20px #00000026, 0 3px 6px #0000001a;--shadow:var(--md-shadow-2);--md-radius:8px;--md-spacing-xs:4px;--md-spacing-sm:8px;--md-spacing-md:16px;--md-spacing-lg:24px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{width:100%;height:100dvh;margin:0;padding:0;overflow:hidden}html,body{margin:0;overflow:hidden}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px;font-weight:600}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 16px;font-size:24px;font-weight:600;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0;line-height:1.6}button{border-radius:8px;transition:all .2s}button:hover{box-shadow:0 3px 6px #00000026,0 2px 4px #0000001f}button:active{box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d}a{transition:color .2s}a:hover{color:var(--accent-high,var(--accent))}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}dialog::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}.pagination-links{gap:1rem}@media (width<=640px){.pagination-links{flex-direction:column;gap:.75rem;display:flex}.pagination-links a{text-align:center;justify-content:center;align-items:center;width:100%;min-height:44px;padding:.75rem 1rem;display:flex;flex-basis:auto!important}starlight-menu-button button{justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:8px;display:flex}starlight-menu-button svg{width:24px;height:24px}}@media (width>=768px) and (width<=1024px){.pagination-links{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.pagination-links a{width:100%;min-height:48px;padding:1rem;flex-basis:auto!important}}.sl-markdown-content table{table-layout:fixed;border-collapse:collapse;border-radius:8px;width:100vw;max-width:100vw;margin-top:1.5rem;margin-bottom:1.5rem;margin-left:calc(50% - 50vw);overflow:hidden;box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d}.sl-markdown-content thead{font-weight:600}.sl-markdown-content tbody tr{border-bottom:1px solid var(--border)}.sl-markdown-content td,.sl-markdown-content th{text-align:left;word-break:break-word;padding:12px 16px}#root{position:relative}.birthday-celebration{pointer-events:none;z-index:9999;width:100%;height:100%;position:fixed;top:0;left:0}.confetti{opacity:.8;background:#ff6b6b;width:10px;height:10px;animation:3s ease-in forwards fall;position:absolute}.confetti:first-child{background:#ff6b6b;animation-delay:0s;left:10%}.confetti:nth-child(2){background:#4ecdc4;animation-delay:.2s;left:30%}.confetti:nth-child(3){background:#ffe66d;animation-delay:.4s;left:50%}.confetti:nth-child(4){background:#95e1d3;animation-delay:.6s;left:70%}.confetti:nth-child(5){background:#f38181;animation-delay:.8s;left:90%}@keyframes fall{to{opacity:0;transform:translateY(100vh)rotate(720deg)}}.birthday-cake{z-index:10000;animation:.6s cubic-bezier(.34,1.56,.64,1) popIn;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.cake-layer{border-radius:8px;width:120px;height:40px;margin:0 auto}.cake-bottom{background:#d4714d;position:relative;box-shadow:0 4px 8px #0000004d}.cake-middle{background:#e8956a;margin-top:-8px;position:relative}.cake-top{background:#f5c99e;height:50px;margin-top:-8px;position:relative}.cake-top:before{content:"🍓";font-size:20px;position:absolute;top:10px;left:15px}.cake-top:after{content:"🍓";font-size:20px;position:absolute;top:10px;right:15px}.candle{background:#ffb84d;border-radius:2px;width:4px;height:30px;position:absolute;top:-30px;left:50%;transform:translate(-50%)}.candle:after{content:"";background:#ff6b35;border-radius:50%;width:12px;height:12px;animation:.4s infinite flicker;position:absolute;top:-8px;left:50%;transform:translate(-50%);box-shadow:0 0 10px #ff6b35}.balloon{border-radius:50% 50% 50% 0;width:40px;height:50px;animation:3s ease-in-out infinite float;position:absolute}.balloon:before{content:"";background:#0003;width:2px;height:60px;position:absolute;top:100%;left:50%;transform:translate(-50%)}.balloon-1{background:#ff6b6b;animation-delay:0s;top:-80px;left:35%;transform:rotate(-20deg)}.balloon-2{background:#4ecdc4;animation-delay:.2s;top:-100px;left:50%;transform:rotate(0)}.balloon-3{background:#ffe66d;animation-delay:.4s;top:-80px;left:65%;transform:rotate(20deg)}@keyframes popIn{0%{opacity:0;transform:translate(-50%,-50%)scale(.3)}70%{transform:translate(-50%,-50%)scale(1.1)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes flicker{0%,to{opacity:1}50%{opacity:.5}}.wedding-celebration{pointer-events:none;z-index:9999;width:100%;height:100%;position:fixed;top:0;left:0}.rose-petal{opacity:.7;background:#e91e63;border-radius:50%;width:12px;height:12px;animation:4s ease-in forwards fall;position:absolute}.rose-petal:first-child{animation-delay:0s;left:15%}.rose-petal:nth-child(2){animation-delay:.3s;left:35%}.rose-petal:nth-child(3){animation-delay:.6s;left:50%}.rose-petal:nth-child(4){animation-delay:.9s;left:65%}.rose-petal:nth-child(5){animation-delay:1.2s;left:85%}.wedding-display{z-index:10000;align-items:flex-end;gap:40px;animation:.6s cubic-bezier(.34,1.56,.64,1) popIn;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.bride{font-size:80px;animation:3s ease-in-out infinite swayLeft}.groom{font-size:80px;animation:3s ease-in-out infinite swayRight}.wedding-cake-w{animation:2s ease-in-out infinite bounce;position:relative}.cake-layer-w{border-radius:8px;width:140px;height:45px;margin:0 auto}.cake-bottom-w{background:#fff8e7;border:3px solid #d4a574;box-shadow:0 4px 8px #0003}.cake-middle-w{background:#fff9f0;border:3px solid #d4a574;margin-top:-10px}.cake-top-w{background:#fffbf7;border:3px solid #d4a574;height:55px;margin-top:-10px;position:relative}.heart{font-size:24px;animation:3s ease-in-out infinite float;position:absolute}.heart-1{animation-delay:0s;top:10px;left:20px}.heart-2{animation-delay:.5s;top:10px;right:20px}@keyframes swayLeft{0%,to{transform:translate(0)}50%{transform:translate(-10px)}}@keyframes swayRight{0%,to{transform:translate(0)}50%{transform:translate(10px)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}
