.language-picker[data-astro-cid-dkurt46j]{position:relative}.lang-button[data-astro-cid-dkurt46j]{display:flex;align-items:center;gap:6px;background:none;border:1px solid var(--border-color);padding:6px 12px;border-radius:6px;cursor:pointer;color:var(--text-primary);font-size:.875rem;font-weight:500;transition:border-color .2s ease}.lang-button[data-astro-cid-dkurt46j]:hover{border-color:var(--primary-color)}.lang-menu[data-astro-cid-dkurt46j]{position:absolute;top:100%;right:0;margin-top:8px;background:var(--background);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #0000001a;list-style:none;padding:4px;min-width:120px;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .2s ease}.language-picker[data-astro-cid-dkurt46j]:hover .lang-menu[data-astro-cid-dkurt46j],.language-picker[data-astro-cid-dkurt46j]:focus-within .lang-menu[data-astro-cid-dkurt46j]{opacity:1;visibility:visible;transform:translateY(0)}.lang-menu[data-astro-cid-dkurt46j] a[data-astro-cid-dkurt46j]{display:block;padding:8px 12px;color:var(--text-primary);border-radius:4px;transition:background-color .2s ease}.lang-menu[data-astro-cid-dkurt46j] a[data-astro-cid-dkurt46j]:hover{background-color:var(--surface)}.lang-menu[data-astro-cid-dkurt46j] a[data-astro-cid-dkurt46j].active{background-color:var(--primary-color);color:#fff}.lang-menu[data-astro-cid-dkurt46j] a[data-astro-cid-dkurt46j].active:hover{opacity:.9}.cookie-banner[data-astro-cid-fzbxxtek]{position:fixed;bottom:0;left:0;right:0;background:var(--surface-glass);backdrop-filter:blur(24px) saturate(200%);-webkit-backdrop-filter:blur(24px) saturate(200%);border-top:1px solid var(--border-glass);box-shadow:var(--shadow-lg);padding:calc(var(--spacing-unit) * 3);z-index:1000;transition:var(--transition-normal)}[data-astro-cid-fzbxxtek][data-theme=light] .cookie-banner[data-astro-cid-fzbxxtek]{background:#fffc;border-top:1px solid rgba(255,255,255,.3)}[data-astro-cid-fzbxxtek][data-theme=dark] .cookie-banner[data-astro-cid-fzbxxtek]{background:var(--surface-glass);border-top:1px solid var(--border-glass)}.cookie-banner[data-astro-cid-fzbxxtek].hidden{transform:translateY(100%)}.cookie-content[data-astro-cid-fzbxxtek]{max-width:var(--max-width);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:calc(var(--spacing-unit) * 3)}.cookie-actions[data-astro-cid-fzbxxtek]{display:flex;align-items:center;gap:calc(var(--spacing-unit) * 2);flex-shrink:0}.button-primary[data-astro-cid-fzbxxtek]{background:var(--gradient-primary);color:#fff;border:none;padding:calc(var(--spacing-unit) * 1.5) calc(var(--spacing-unit) * 3);border-radius:var(--border-radius-sm);cursor:pointer;font-weight:600;transition:var(--transition-fast);box-shadow:var(--shadow-sm)}.button-secondary[data-astro-cid-fzbxxtek]{background:var(--surface);color:var(--text-primary);border:2px solid var(--border-color);padding:calc(var(--spacing-unit) * 1.5) calc(var(--spacing-unit) * 3);border-radius:var(--border-radius-sm);cursor:pointer;font-weight:600;transition:var(--transition-fast);box-shadow:var(--shadow-sm)}.button-primary[data-astro-cid-fzbxxtek]:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.button-secondary[data-astro-cid-fzbxxtek]:hover{border-color:var(--primary-color);color:var(--primary-color);box-shadow:var(--shadow-md)}.cookie-link[data-astro-cid-fzbxxtek]{color:var(--primary-color);font-size:.875rem}@media (max-width: 768px){.cookie-content[data-astro-cid-fzbxxtek]{flex-direction:column;text-align:center}.cookie-actions[data-astro-cid-fzbxxtek]{flex-wrap:wrap;justify-content:center}}.dark-mode-toggle-container[data-astro-cid-tcsrer47]{position:relative}.dark-mode-toggle[data-astro-cid-tcsrer47]{position:relative;background:transparent;border:none;padding:2px;cursor:pointer;border-radius:24px;transition:all .3s ease;visibility:hidden}.dark-mode-toggle[data-astro-cid-tcsrer47].initialized{visibility:visible}.dark-mode-toggle[data-astro-cid-tcsrer47].no-transition,.dark-mode-toggle[data-astro-cid-tcsrer47].no-transition [data-astro-cid-tcsrer47]{transition:none!important}.toggle-track[data-astro-cid-tcsrer47]{width:54px;height:28px;background:linear-gradient(135deg,#d9d1f280,#ede8fab3);border-radius:14px;border:1.5px solid rgba(120,102,204,.15);box-shadow:inset 0 2px 4px #7866cc14,0 2px 6px #7866cc1a;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative}.toggle-track[data-astro-cid-tcsrer47]:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 0%,rgba(255,255,255,.2) 50%,transparent 100%);opacity:.7;border-radius:14px}.toggle-thumb[data-astro-cid-tcsrer47]{position:absolute;top:2.5px;left:2.5px;width:22px;height:22px;background:linear-gradient(135deg,#fff,#fcfaf0e6);border-radius:50%;box-shadow:0 3px 8px #7866cc26,0 1px 3px #00000014,inset 0 1px 2px #ffffffe6;display:flex;align-items:center;justify-content:center;transform:translate(var(--thumb-offset, 0));transition:all .4s cubic-bezier(.4,0,.2,1);z-index:2;border:1px solid rgba(120,102,204,.08)}.toggle-background-glow[data-astro-cid-tcsrer47]{position:absolute;top:50%;left:50%;width:130%;height:130%;transform:translate(-50%,-50%);background:radial-gradient(circle at center,rgba(120,102,204,.25) 0%,rgba(217,209,242,.15) 40%,transparent 70%);border-radius:50%;opacity:0;transition:opacity .4s ease;z-index:0;filter:blur(8px)}.sun-icon[data-astro-cid-tcsrer47],.moon-icon[data-astro-cid-tcsrer47]{position:absolute;transition:all .4s cubic-bezier(.4,0,.2,1);filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.moon-icon[data-astro-cid-tcsrer47]{opacity:1;transform:scale(1) rotate(0);color:#7866cc;z-index:10}.sun-icon[data-astro-cid-tcsrer47]{opacity:0;transform:scale(.7) rotate(-120deg);color:#f59e0b;z-index:5}.dark-mode-toggle[data-astro-cid-tcsrer47].dark .toggle-track[data-astro-cid-tcsrer47]{background:linear-gradient(135deg,#1e293bd9,#334155bf);border-color:#fbbf2433;box-shadow:inset 0 2px 4px #0003,0 2px 8px #fbbf2426}.dark-mode-toggle[data-astro-cid-tcsrer47].dark .toggle-track[data-astro-cid-tcsrer47]:before{background:linear-gradient(135deg,transparent 0%,rgba(251,191,36,.08) 50%,transparent 100%);opacity:1}.dark-mode-toggle[data-astro-cid-tcsrer47].dark .toggle-thumb[data-astro-cid-tcsrer47]{--thumb-offset: 28px;background:linear-gradient(135deg,#fde68a,#fbbf24);box-shadow:0 3px 10px #fbbf2466,0 1px 3px #00000026,inset 0 1px 2px #fff6;border-color:#fbbf244d}.dark-mode-toggle[data-astro-cid-tcsrer47].dark .toggle-background-glow[data-astro-cid-tcsrer47]{opacity:.8;background:radial-gradient(circle at center,rgba(251,191,36,.3) 0%,rgba(245,158,11,.15) 40%,transparent 70%)}.dark-mode-toggle[data-astro-cid-tcsrer47].dark .sun-icon[data-astro-cid-tcsrer47]{opacity:1;transform:scale(1) rotate(0);z-index:10;color:#fbbf24;filter:drop-shadow(0 1px 3px rgba(251,191,36,.3))}.dark-mode-toggle[data-astro-cid-tcsrer47].dark .moon-icon[data-astro-cid-tcsrer47]{opacity:0;transform:scale(.7) rotate(120deg);z-index:5}.dark-mode-toggle[data-astro-cid-tcsrer47].animating .toggle-thumb[data-astro-cid-tcsrer47]{box-shadow:0 4px 12px #7866cc40,0 2px 4px #0000001a,inset 0 1px 2px #ffffffe6}.dark-mode-toggle[data-astro-cid-tcsrer47].dark.animating .toggle-thumb[data-astro-cid-tcsrer47]{box-shadow:0 4px 16px #fbbf2480,0 2px 6px #0003,inset 0 1px 2px #ffffff80}.dark-mode-toggle[data-astro-cid-tcsrer47].animating .toggle-background-glow[data-astro-cid-tcsrer47]{opacity:.4}.dark-mode-toggle[data-astro-cid-tcsrer47].dark.animating .toggle-background-glow[data-astro-cid-tcsrer47]{opacity:1}.dark-mode-toggle[data-astro-cid-tcsrer47]:hover .toggle-track[data-astro-cid-tcsrer47]{transform:scale(1.02);border-color:#7866cc40;box-shadow:inset 0 2px 4px #7866cc1a,0 3px 10px #7866cc26}.dark-mode-toggle[data-astro-cid-tcsrer47]:hover .toggle-thumb[data-astro-cid-tcsrer47]{box-shadow:0 4px 12px #7866cc33,0 2px 4px #00000014,inset 0 1px 2px #fff}.dark-mode-toggle[data-astro-cid-tcsrer47].dark:hover .toggle-track[data-astro-cid-tcsrer47]{border-color:#fbbf244d;box-shadow:inset 0 2px 4px #00000040,0 3px 12px #fbbf2433}.dark-mode-toggle[data-astro-cid-tcsrer47].dark:hover .toggle-thumb[data-astro-cid-tcsrer47]{box-shadow:0 4px 14px #fbbf2480,0 2px 4px #00000026,inset 0 1px 2px #ffffff80}.dark-mode-toggle[data-astro-cid-tcsrer47]:hover .toggle-background-glow[data-astro-cid-tcsrer47]{opacity:.5}.dark-mode-toggle[data-astro-cid-tcsrer47].dark:hover .toggle-background-glow[data-astro-cid-tcsrer47]{opacity:.9}.dark-mode-toggle[data-astro-cid-tcsrer47]:active .toggle-track[data-astro-cid-tcsrer47]{transform:scale(.98)}.dark-mode-toggle[data-astro-cid-tcsrer47]:active .toggle-thumb[data-astro-cid-tcsrer47]{transform:translate(var(--thumb-offset, 0)) scale(.95)}.dark-mode-toggle[data-astro-cid-tcsrer47].dark:active .toggle-thumb[data-astro-cid-tcsrer47]{transform:translate(var(--thumb-offset, 26px)) scale(.95)}.dark-mode-toggle[data-astro-cid-tcsrer47]:focus{outline:2px solid var(--primary-color);outline-offset:3px;border-radius:16px}.dark-mode-toggle[data-astro-cid-tcsrer47]:focus:not(:focus-visible){outline:none}.dark-mode-toggle[data-astro-cid-tcsrer47].dark:focus{outline-color:#fbbf24cc}@keyframes gentle-glow{0%,to{opacity:.8}50%{opacity:.6}}.dark-mode-toggle[data-astro-cid-tcsrer47].dark .toggle-background-glow[data-astro-cid-tcsrer47]{animation:gentle-glow 3s ease-in-out infinite}@font-face{font-family:Geist;src:url(/fonts/Geist%5Bwght%5D.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Geist;src:url(/fonts/Geist-Italic%5Bwght%5D.woff2) format("woff2");font-weight:100 900;font-style:italic;font-display:swap}@font-face{font-family:Geist;src:url(/fonts/Geist-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Geist;src:url(/fonts/Geist-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Geist;src:url(/fonts/Geist-SemiBold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Geist;src:url(/fonts/Geist-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:GeistMono;src:url(/fonts/GeistMono-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--primary-color: rgb(120, 102, 204);--primary-hover: rgb(100, 82, 184);--primary-light: rgb(140, 122, 224);--secondary-color: rgb(217, 209, 242);--secondary-hover: rgb(197, 189, 222);--accent-color: rgb(252, 250, 240);--accent-hover: rgb(247, 216, 227);--sage-green: rgb(199, 222, 204);--text-primary: rgb(120, 102, 204);--text-secondary: rgba(108, 117, 125, 1);--text-muted: rgba(108, 117, 125, .7);--background: linear-gradient(135deg, rgb(237, 232, 250) 0%, rgb(250, 245, 252) 100%);--background-secondary: rgb(250, 245, 252);--surface: rgb(255, 255, 255);--surface-elevated: rgba(255, 255, 255, .9);--surface-glass: rgba(255, 255, 255, .8);--border-color: rgba(217, 209, 242, .5);--border-light: rgba(217, 209, 242, .3);--border-glass: rgba(255, 255, 255, .4);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .08);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .08), 0 2px 4px -1px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -2px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .08), 0 10px 10px -5px rgba(0, 0, 0, .02);--gradient-primary: linear-gradient(135deg, rgb(120, 102, 204) 0%, rgb(217, 209, 242) 50%, rgb(199, 222, 204) 100%);--gradient-secondary: linear-gradient(135deg, rgb(247, 216, 227) 0%, rgb(252, 250, 240) 50%, rgb(217, 209, 242) 100%);--gradient-background: linear-gradient(135deg, rgb(237, 232, 250) 0%, rgb(250, 245, 252) 100%);--gradient-cta: linear-gradient(135deg, rgb(120, 102, 204) 0%, rgb(217, 209, 242) 100%);--gradient-start: rgb(120, 102, 204);--gradient-middle: rgb(217, 209, 242);--gradient-end: rgb(199, 222, 204);--card-background: var(--surface);--tag-background: rgba(120, 102, 204, .1);--code-background: rgba(120, 102, 204, .05);--max-width: 1200px;--spacing-unit: 8px;--border-radius-sm: 6px;--border-radius: 12px;--border-radius-lg: 16px;--border-radius-xl: 24px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .6s cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--primary-color: rgb(153, 128, 230);--primary-hover: rgb(173, 148, 250);--primary-light: rgb(133, 108, 210);--secondary-color: rgb(77, 64, 102);--secondary-hover: rgb(97, 84, 122);--accent-color: rgb(51, 51, 64);--accent-hover: rgb(102, 77, 89);--sage-green: rgb(77, 102, 82);--text-primary: rgb(255, 255, 255);--text-secondary: rgba(255, 255, 255, .7);--text-muted: rgba(255, 255, 255, .5);--background: linear-gradient(135deg, rgb(26, 26, 38) 0%, rgb(38, 31, 51) 100%);--background-secondary: rgb(38, 31, 51);--surface: rgb(51, 51, 64);--surface-elevated: rgba(51, 51, 64, .9);--surface-glass: rgba(51, 51, 64, .7);--border-color: rgba(77, 64, 102, .5);--border-light: rgba(77, 64, 102, .3);--border-glass: rgba(255, 255, 255, .1);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .3), 0 2px 4px -1px rgba(0, 0, 0, .2);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .3), 0 4px 6px -2px rgba(0, 0, 0, .2);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .3), 0 10px 10px -5px rgba(0, 0, 0, .1);--gradient-primary: linear-gradient(135deg, rgb(153, 128, 230) 0%, rgb(77, 64, 102) 50%, rgb(77, 102, 82) 100%);--gradient-secondary: linear-gradient(135deg, rgb(102, 77, 89) 0%, rgb(51, 51, 64) 50%, rgb(77, 64, 102) 100%);--gradient-background: linear-gradient(135deg, rgb(26, 26, 38) 0%, rgb(38, 31, 51) 100%);--gradient-cta: linear-gradient(135deg, rgb(153, 128, 230) 0%, rgb(77, 64, 102) 100%);--gradient-start: rgb(153, 128, 230);--gradient-middle: rgb(77, 64, 102);--gradient-end: rgb(77, 102, 82);--card-background: var(--surface);--tag-background: rgba(153, 128, 230, .2);--code-background: rgba(153, 128, 230, .1)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body{font-family:Geist,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.6;color:var(--text-primary);background:var(--background);transition:var(--transition-normal);overflow-x:hidden;min-height:100vh}a{color:var(--primary-color);text-decoration:none;transition:var(--transition-fast)}a:hover{color:var(--primary-hover)}[data-theme=dark] a{color:#ad94fa}[data-theme=dark] a:hover{color:#c1a8ff}.content-page a{color:var(--primary-color);font-weight:500;text-decoration:none}.content-page a:hover{color:var(--primary-hover)}[data-theme=dark] .content-page a{color:#c1a8ff}[data-theme=dark] .content-page a:hover{color:#d5bcff}img{max-width:100%;height:auto;font-style:italic;vertical-align:middle;shape-margin:.75rem}header{border-bottom:1px solid var(--border-glass);position:sticky;top:0;z-index:100;backdrop-filter:blur(24px) saturate(200%);-webkit-backdrop-filter:blur(24px) saturate(200%);background:var(--surface-glass);box-shadow:var(--shadow-sm);transition:var(--transition-normal)}@supports (backdrop-filter: blur(24px)){header{background:var(--surface-glass)}}[data-theme=light] header{background:#faf5fccc;border-bottom:1px solid rgba(217,209,242,.3)}[data-theme=dark] header{background:#261f33cc;border-bottom:1px solid rgba(77,64,102,.3);box-shadow:0 1px 3px #0000004d,0 1px 2px #0003}.nav-container{max-width:var(--max-width);margin:0 auto;padding:calc(var(--spacing-unit) * 2) calc(var(--spacing-unit) * 3);display:flex;justify-content:space-between;align-items:center}.logo{display:flex;align-items:center;gap:calc(var(--spacing-unit) * 1.5);font-weight:600;font-size:1.25rem;color:var(--text-primary)}.nav-links{display:flex;list-style:none;gap:calc(var(--spacing-unit) * 4);align-items:center}.nav-links a{color:var(--text-primary);font-weight:500}.nav-actions{display:flex;align-items:center;gap:calc(var(--spacing-unit) * 2)}.nav-logo{display:block}main{min-height:calc(100vh - 200px)}footer{background:var(--background-secondary);border-top:1px solid var(--border-light);padding:calc(var(--spacing-unit) * 6) 0;margin-top:calc(var(--spacing-unit) * 10)}.footer-container{max-width:var(--max-width);margin:0 auto;padding:0 calc(var(--spacing-unit) * 3);text-align:center}.footer-links{display:flex;justify-content:center;gap:calc(var(--spacing-unit) * 4);margin-bottom:calc(var(--spacing-unit) * 3)}.footer-links a{color:var(--text-muted);transition:color .2s cubic-bezier(.4,0,.2,1)}.footer-links a:hover{color:var(--text-secondary)}footer p{color:var(--text-muted);font-size:.875rem}.button{display:inline-block;background:var(--gradient-primary);color:#fff;padding:calc(var(--spacing-unit) * 2) calc(var(--spacing-unit) * 4);border-radius:var(--border-radius);font-weight:600;border:none;cursor:pointer;box-shadow:var(--shadow-md);transition:var(--transition-normal);text-decoration:none}[data-theme=dark] .button,[data-theme=dark] .button:hover{color:#fff}.button:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);color:#fff}.button:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.section{padding:calc(var(--spacing-unit) * 10) 0}.container{max-width:var(--max-width);margin:0 auto;padding:0 calc(var(--spacing-unit) * 3)}@media (max-width: 768px){.nav-container{flex-wrap:wrap;gap:calc(var(--spacing-unit) * 2)}.nav-links{width:100%;justify-content:center;gap:calc(var(--spacing-unit) * 2);font-size:.875rem}.logo span{display:none}}.ios-app-icon{border-radius:22.37%;overflow:hidden;box-shadow:var(--shadow-md);transition:var(--transition-fast)}.ios-app-icon:hover{transform:scale(1.05);box-shadow:var(--shadow-lg)}.card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--border-radius);box-shadow:var(--shadow-md);transition:var(--transition-normal)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--border-color)}.card-elevated{background:var(--surface-elevated);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border-glass)}.gradient-text{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700}.button-secondary{background:var(--surface);color:var(--text-primary);border:2px solid var(--border-color);box-shadow:var(--shadow-sm)}.button-secondary:hover{background:var(--surface-elevated);border-color:var(--primary-color);color:var(--primary-color);box-shadow:var(--shadow-md)}.button-accent{background:var(--gradient-secondary)}.button-accent:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
