@charset "UTF-8";:root{color-scheme:light;--bg-primary: #ffffff;--bg-secondary: #f9fafb;--bg-tertiary: #f3f4f6;--bg-glass: rgba(255, 255, 255, .7);--header-bg: rgba(255, 255, 255, .9);--text-main: #111827;--text-secondary: #374151;--text-muted: #6b7280;--text-light: #9ca3af;--accent-blue: #3b82f6;--accent-blue-hover: #2563eb;--accent-purple: #8b5cf6;--accent-pink: #ec4899;--accent-teal: #14b8a6;--success-green: #10b981;--success-bg: #ecfdf5;--warning-amber: #f59e0b;--error-red: #ef4444;--border-light: #e5e7eb;--border-medium: #d1d5db;--border-focus: var(--accent-blue);--card-bg: #ffffff;--card-shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--card-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--card-shadow-hover: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--glass-bg: rgba(255, 255, 255, .7);--glass-border: rgba(255, 255, 255, .3);--glass-shadow: 0 8px 32px rgba(31, 38, 135, .1);--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-2xl: 24px;--radius-full: 9999px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--font-display: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--text-6xl: 3.75rem;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--weight-extrabold: 800;--leading-none: 1;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--leading-loose: 2;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--transition-bounce: .3s cubic-bezier(.68, -.55, .265, 1.55);--anim-stagger-delay: 10ms;--anim-duration: .3s;--anim-distance: 16px;--content-width: 1400px;--sidebar-width: 280px;--header-height: 64px;--z-dropdown: 100;--z-sticky: 200;--z-modal: 300;--z-tooltip: 400}.blog-eyebrow{display:inline-block;color:var(--accent-pink, #db2777);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.08em;line-height:1.2;text-transform:uppercase}.blog-hub,.blog-article{max-width:1040px;margin:0 auto}.blog-hub__hero{margin-top:var(--space-6);padding:clamp(2rem,4vw,3.5rem) 0 var(--space-10);border-bottom:1px solid var(--border-light)}.blog-hub__hero h1{max-width:760px;margin:var(--space-3) 0 var(--space-5);font-size:clamp(2.1rem,4vw,3.4rem);letter-spacing:-.04em;line-height:1.05}.blog-hub__hero p{max-width:680px;margin:0;color:var(--text-secondary);font-size:var(--text-xl);line-height:var(--leading-relaxed)}.blog-hub__intro{max-width:720px;margin:var(--space-8) 0 var(--space-10);color:var(--text-muted);line-height:var(--leading-relaxed)}.blog-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.blog-card{border:1px solid var(--border-light);border-radius:var(--radius-xl);background:var(--card-bg)}.blog-card a{display:grid;gap:var(--space-3);min-height:100%;padding:var(--space-6);color:inherit;text-decoration:none}.blog-card h2{margin:0;font-size:var(--text-2xl);letter-spacing:-.03em;line-height:1.2}.blog-card p{margin:0;color:var(--text-secondary);line-height:var(--leading-relaxed)}.blog-card__top,.blog-card__meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);color:var(--text-muted);font-size:var(--text-sm)}.blog-card__sample{overflow:hidden;max-width:100%;color:var(--text-main);font-size:var(--text-xl);line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.blog-card__read{font-weight:var(--weight-semibold)}.blog-article__header{padding:var(--space-8) 0 var(--space-8);border-bottom:1px solid var(--border-light)}.blog-back{display:block;width:fit-content;margin-bottom:var(--space-6);color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.blog-article__header h1{max-width:820px;margin:var(--space-3) 0 var(--space-5);font-size:clamp(2rem,3.5vw,3.1rem);letter-spacing:-.035em;line-height:1.08}.blog-article__dek{max-width:740px;color:var(--text-secondary);font-size:var(--text-xl);line-height:var(--leading-relaxed)}.blog-article__meta{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-3);margin-top:var(--space-5);color:var(--text-muted);font-size:var(--text-sm)}.blog-article__meta span+span:before{content:"·";margin-right:var(--space-3)}.blog-specimen{display:grid;gap:var(--space-3);margin:var(--space-8) 0 var(--space-10);padding:var(--space-6);border:1px solid var(--border-light);border-radius:var(--radius-2xl);background:var(--bg-secondary)}.blog-specimen__text{margin:0;overflow-wrap:anywhere;font-size:clamp(1.5rem,3vw,2.25rem);line-height:1.35}.blog-specimen__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.blog-specimen button{padding:.55rem .9rem;border:1px solid var(--border-light);border-radius:var(--radius-full);background:var(--card-bg);color:var(--text-main);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer}.blog-specimen__note{margin:0;color:var(--text-muted);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.blog-article__body{max-width:760px;padding:var(--space-10) 0}.blog-article__body h2{margin:var(--space-10) 0 var(--space-4);font-size:var(--text-2xl)}.blog-article__body h3{margin:var(--space-8) 0 var(--space-3);font-size:var(--text-xl)}.blog-article__body p,.blog-article__body li{color:var(--text-secondary);line-height:var(--leading-relaxed)}.blog-article__body p{margin:0 0 var(--space-4)}.blog-article__body ul,.blog-article__body ol{display:grid;gap:var(--space-2);margin:0 0 var(--space-5);padding-left:1.2rem}.blog-article__body a{font-weight:var(--weight-semibold)}.blog-article__body :not(pre)>code{padding:.05em .35em;border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-main);font-family:var(--font-mono);font-size:.92em}.blog-article__body pre{overflow-x:auto;margin:var(--space-5) 0;padding:var(--space-4);border:1px solid var(--border-light);border-radius:var(--radius-lg);background:var(--bg-tertiary);color:var(--text-main);font-family:var(--font-mono);font-size:var(--text-lg);line-height:1.6;white-space:pre}.blog-article__body pre code{padding:0;background:transparent;color:inherit;font-size:inherit}.blog-article__body pre.astro-code{background:var(--bg-tertiary)!important;color:var(--text-main)!important}.blog-article__body pre.astro-code span{color:inherit!important}.blog-faq,.blog-related-tools{margin:0 0 var(--space-10);padding:var(--space-8);border:1px solid var(--border-light);border-radius:var(--radius-2xl);background:var(--bg-secondary)}.blog-faq h2,.blog-related-tools h2{margin:var(--space-2) 0 var(--space-6);font-size:var(--text-2xl)}.blog-faq{display:grid;gap:var(--space-5)}.blog-faq article h3{margin:0 0 var(--space-2);font-size:var(--text-lg)}.blog-faq article p{margin:0;color:var(--text-secondary);line-height:var(--leading-relaxed)}.blog-related-tools>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.blog-related-tools>div a{display:grid;gap:.15rem;padding:var(--space-4);border:1px solid var(--border-light);border-radius:var(--radius-lg);background:var(--card-bg);color:var(--text-main)}.blog-related-tools>div a small{color:var(--text-muted)}.blog-related{margin-bottom:var(--space-12)}.blog-related h2{margin:0 0 var(--space-5);font-size:var(--text-2xl)}.blog-teaser{max-width:1120px;margin:var(--space-12) auto 0;padding:var(--space-8);border:1px solid var(--border-light);border-radius:var(--radius-2xl);background:var(--bg-secondary)}.blog-teaser__heading{display:flex;align-items:end;justify-content:space-between;gap:var(--space-6);margin-bottom:var(--space-6)}.blog-teaser__heading h2{margin:var(--space-2) 0 0;font-size:var(--text-3xl)}.blog-teaser__heading>a{flex:none;font-weight:var(--weight-semibold)}@media(max-width:760px){.blog-card-grid,.blog-related-tools>div,.blog-teaser__heading{grid-template-columns:1fr;display:grid}.blog-teaser__heading{align-items:start}}
