.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}.sr-only[data-astro-cid-ltpqzwiw]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:root{--indigo-50: #eef2ff;--indigo-100: #e0e7ff;--indigo-200: #c7d2fe;--indigo-300: #a5b4fc;--indigo-400: #818cf8;--indigo-500: #6366f1;--indigo-600: #4f46e5;--indigo-700: #4338ca;--indigo-800: #3730a3;--indigo-900: #312e81;--indigo-950: #1e1b4b;--flare-50: #fff1f2;--flare-100: #ffe4e6;--flare-200: #fecdd3;--flare-300: #fda4af;--flare-400: #fb7185;--flare-500: #f43f5e;--flare-600: #e11d48;--flare-700: #be123c;--emerald-50: #ecfdf5;--emerald-100: #d1fae5;--emerald-200: #a7f3d0;--emerald-300: #6ee7b7;--emerald-400: #34d399;--emerald-500: #10b981;--emerald-600: #059669;--emerald-700: #047857;--amber-50: #fffbeb;--amber-100: #fef3c7;--amber-200: #fde68a;--amber-300: #fcd34d;--amber-400: #fbbf24;--amber-500: #f59e0b;--amber-600: #d97706;--amber-700: #b45309;--slate-50: #f8fafc;--slate-100: #f1f5f9;--slate-200: #e2e8f0;--slate-300: #cbd5e1;--slate-400: #94a3b8;--slate-500: #64748b;--slate-600: #475569;--slate-700: #334155;--slate-800: #1e293b;--slate-900: #0f172a;--slate-950: #020617;--font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-serif: "Georgia", "Times New Roman", serif;--font-mono: ui-monospace, "SF Mono", "Cascadia Code", "JetBrains Mono", monospace;--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;--text-7xl: 4.5rem;--leading-tight: 1.1;--leading-snug: 1.3;--leading-normal: 1.5;--leading-relaxed: 1.7;--tracking-tight: -.02em;--tracking-normal: 0;--tracking-wide: .025em;--tracking-wider: .05em;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--weight-extrabold: 800;--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: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-xs: 0 1px 2px 0 rgb(15 23 42 / .05);--shadow-sm: 0 1px 3px 0 rgb(15 23 42 / .1), 0 1px 2px -1px rgb(15 23 42 / .1);--shadow-md: 0 4px 6px -1px rgb(15 23 42 / .1), 0 2px 4px -2px rgb(15 23 42 / .1);--shadow-lg: 0 10px 15px -3px rgb(15 23 42 / .1), 0 4px 6px -4px rgb(15 23 42 / .1);--shadow-xl: 0 20px 25px -5px rgb(15 23 42 / .1), 0 8px 10px -6px rgb(15 23 42 / .1);--shadow-glow: 0 0 0 3px rgb(99 102 241 / .15);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .12s;--duration-normal: .2s;--duration-slow: .32s;--animate-fade-in: df-fade-in var(--duration-normal) var(--ease-out) both;--animate-slide-up: df-slide-up var(--duration-normal) var(--ease-out) both;--animate-scale-in: df-scale-in var(--duration-fast) var(--ease-spring) both;--container-max: 1200px;--container-narrow: 720px;--header-height: 64px;--z-base: 1;--z-dropdown: 100;--z-sticky: 200;--z-overlay: 300;--z-modal: 400;--z-toast: 500;--color-bg: var(--slate-50);--color-bg-subtle: var(--slate-100);--color-surface: #ffffff;--color-surface-raised: #ffffff;--color-surface-sunken: var(--slate-100);--color-overlay: rgb(15 23 42 / .4);--color-text: var(--slate-900);--color-text-secondary: var(--slate-600);--color-text-tertiary: var(--slate-500);--color-text-inverse: #ffffff;--color-text-on-primary: #ffffff;--color-border: var(--slate-200);--color-border-strong: var(--slate-300);--color-border-focus: var(--indigo-500);--color-primary: var(--indigo-600);--color-primary-hover: var(--indigo-700);--color-primary-active: var(--indigo-800);--color-primary-subtle: var(--indigo-50);--color-primary-subtle-text: var(--indigo-700);--color-accent: var(--flare-500);--color-accent-hover: var(--flare-600);--color-accent-subtle: var(--flare-50);--color-accent-subtle-text: var(--flare-700);--color-success: var(--emerald-600);--color-success-subtle: var(--emerald-50);--color-success-text: var(--emerald-700);--color-warning: var(--amber-500);--color-warning-subtle: var(--amber-50);--color-warning-text: var(--amber-700);--color-danger: var(--flare-600);--color-danger-subtle: var(--flare-50);--color-danger-text: var(--flare-700);--color-info: var(--indigo-600);--color-info-subtle: var(--indigo-50);--color-info-text: var(--indigo-700);--button-bg: var(--color-primary);--button-bg-hover: var(--color-primary-hover);--button-text: var(--color-text-on-primary);--button-border: transparent;--button-secondary-bg: var(--slate-100);--button-secondary-bg-hover: var(--slate-200);--button-secondary-text: var(--slate-800);--button-ghost-text: var(--color-text-secondary);--button-ghost-bg-hover: var(--slate-100);--input-bg: var(--color-surface);--input-border: var(--color-border-strong);--input-border-focus: var(--color-border-focus);--input-text: var(--color-text);--card-bg: var(--color-surface);--card-border: var(--color-border);--card-shadow: var(--shadow-sm);--focus-ring: 0 0 0 3px rgb(99 102 241 / .4);--focus-ring-offset: 2px}@keyframes df-fade-in{0%{opacity:0}to{opacity:1}}@keyframes df-slide-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes df-scale-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){:root{--animate-fade-in: none;--animate-slide-up: none;--animate-scale-in: none}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root[data-theme=dark]{--color-bg: var(--slate-950);--color-bg-subtle: var(--slate-900);--color-surface: var(--slate-900);--color-surface-raised: var(--slate-800);--color-surface-sunken: var(--slate-950);--color-overlay: rgb(0 0 0 / .6);--color-text: var(--slate-100);--color-text-secondary: var(--slate-400);--color-text-tertiary: var(--slate-500);--color-text-inverse: var(--slate-900);--color-text-on-primary: #ffffff;--color-border: var(--slate-800);--color-border-strong: var(--slate-700);--color-border-focus: var(--indigo-400);--color-primary: var(--indigo-500);--color-primary-hover: var(--indigo-400);--color-primary-active: var(--indigo-300);--color-primary-subtle: var(--indigo-950);--color-primary-subtle-text: var(--indigo-300);--color-accent: var(--flare-400);--color-accent-hover: var(--flare-300);--color-accent-subtle: rgb(244 63 94 / .12);--color-accent-subtle-text: var(--flare-300);--color-success: var(--emerald-400);--color-success-subtle: rgb(16 185 129 / .12);--color-success-text: var(--emerald-300);--color-warning: var(--amber-400);--color-warning-subtle: rgb(245 158 11 / .12);--color-warning-text: var(--amber-300);--color-danger: var(--flare-400);--color-danger-subtle: rgb(244 63 94 / .12);--color-danger-text: var(--flare-300);--color-info: var(--indigo-400);--color-info-subtle: var(--indigo-950);--color-info-text: var(--indigo-300);--button-bg: var(--color-primary);--button-bg-hover: var(--color-primary-hover);--button-text: var(--color-text-on-primary);--button-secondary-bg: var(--slate-800);--button-secondary-bg-hover: var(--slate-700);--button-secondary-text: var(--slate-100);--button-ghost-text: var(--color-text-secondary);--button-ghost-bg-hover: var(--slate-800);--input-bg: var(--slate-950);--input-border: var(--slate-700);--input-border-focus: var(--indigo-400);--input-text: var(--color-text);--card-bg: var(--color-surface);--card-border: var(--color-border);--card-shadow: 0 4px 6px -1px rgb(0 0 0 / .3), 0 2px 4px -2px rgb(0 0 0 / .3);--shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .3);--shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .4), 0 1px 2px -1px rgb(0 0 0 / .4);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .4), 0 2px 4px -2px rgb(0 0 0 / .4);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .4), 0 4px 6px -4px rgb(0 0 0 / .4);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .5), 0 8px 10px -6px rgb(0 0 0 / .5);--shadow-glow: 0 0 0 3px rgb(99 102 241 / .25);--focus-ring: 0 0 0 3px rgb(129 140 248 / .45)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=dark]){color-scheme:dark;--color-bg: var(--slate-950);--color-bg-subtle: var(--slate-900);--color-surface: var(--slate-900);--color-surface-raised: var(--slate-800);--color-surface-sunken: var(--slate-950);--color-overlay: rgb(0 0 0 / .6);--color-text: var(--slate-100);--color-text-secondary: var(--slate-400);--color-text-tertiary: var(--slate-500);--color-text-inverse: var(--slate-900);--color-text-on-primary: #ffffff;--color-border: var(--slate-800);--color-border-strong: var(--slate-700);--color-border-focus: var(--indigo-400);--color-primary: var(--indigo-500);--color-primary-hover: var(--indigo-400);--color-primary-active: var(--indigo-300);--color-primary-subtle: var(--indigo-950);--color-primary-subtle-text: var(--indigo-300);--color-accent: var(--flare-400);--color-accent-hover: var(--flare-300);--color-accent-subtle: rgb(244 63 94 / .12);--color-accent-subtle-text: var(--flare-300);--color-success: var(--emerald-400);--color-success-subtle: rgb(16 185 129 / .12);--color-success-text: var(--emerald-300);--color-warning: var(--amber-400);--color-warning-subtle: rgb(245 158 11 / .12);--color-warning-text: var(--amber-300);--color-danger: var(--flare-400);--color-danger-subtle: rgb(244 63 94 / .12);--color-danger-text: var(--flare-300);--color-info: var(--indigo-400);--color-info-subtle: var(--indigo-950);--color-info-text: var(--indigo-300);--button-bg: var(--color-primary);--button-bg-hover: var(--color-primary-hover);--button-text: var(--color-text-on-primary);--button-secondary-bg: var(--slate-800);--button-secondary-bg-hover: var(--slate-700);--button-secondary-text: var(--slate-100);--button-ghost-text: var(--color-text-secondary);--button-ghost-bg-hover: var(--slate-800);--input-bg: var(--slate-950);--input-border: var(--slate-700);--input-border-focus: var(--indigo-400);--input-text: var(--color-text);--card-bg: var(--color-surface);--card-border: var(--color-border);--card-shadow: 0 4px 6px -1px rgb(0 0 0 / .3), 0 2px 4px -2px rgb(0 0 0 / .3);--focus-ring: 0 0 0 3px rgb(129 140 248 / .45)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text);background-color:var(--color-bg);min-height:100vh;display:flex;flex-direction:column}html[lang=ar] body{font-family:"Tajawal",var(--font-sans)}h1,h2,h3,h4,h5,h6{font-weight:var(--weight-semibold);line-height:var(--leading-tight);color:var(--color-text)}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}p{line-height:var(--leading-relaxed)}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}img,picture,svg{display:block;max-width:100%;height:auto}.df-skip-link{position:absolute;inset-inline-start:-9999px;top:0;padding:var(--space-2) var(--space-4);background:var(--color-primary);color:var(--color-text-on-primary);z-index:var(--z-overlay)}.df-skip-link:focus{inset-inline-start:var(--space-2);top:var(--space-2);border-radius:var(--radius-md)}.df-blog-main{flex:1;width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--space-4);padding-block:var(--space-8)}.df-blog-narrow{max-width:var(--container-narrow);margin-inline:auto}:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px;border-radius:var(--radius-sm)}.df-blog-prose{max-width:100%}.df-blog-prose h2{margin-block-start:var(--space-12);margin-block-end:var(--space-4)}.df-blog-prose h3{margin-block-start:var(--space-8);margin-block-end:var(--space-3)}.df-blog-prose p{margin-block-end:var(--space-4)}.df-blog-prose ul,.df-blog-prose ol{margin-block-end:var(--space-4);padding-inline-start:var(--space-6)}.df-blog-prose li{margin-block-end:var(--space-2)}.df-blog-prose code{font-family:var(--font-mono);font-size:var(--text-sm);background:var(--color-bg-subtle);padding-inline:var(--space-1);border-radius:var(--radius-sm)}.df-blog-prose pre{background:var(--color-surface-sunken);padding:var(--space-4);border-radius:var(--radius-md);overflow-x:auto;margin-block-end:var(--space-4)}.df-blog-prose pre code{background:none;padding:0}.df-blog-prose blockquote{border-inline-start:3px solid var(--color-primary);padding-inline-start:var(--space-4);margin-block:var(--space-4);color:var(--color-text-secondary);font-style:italic}.df-blog-prose img{border-radius:var(--radius-lg);margin-block:var(--space-6)}.df-blog-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);height:var(--header-height);padding-inline:var(--space-4);max-width:var(--container-max);margin-inline:auto;border-block-end:1px solid var(--color-border);background:var(--color-surface)}.df-blog-header-logo{display:flex;align-items:center;gap:var(--space-2);font-weight:var(--weight-bold);font-size:var(--text-lg);color:var(--color-text)}.df-blog-header-logo:hover{text-decoration:none}.df-blog-header-logo img{width:28px;height:28px}.df-blog-nav{display:flex;align-items:center;gap:var(--space-5)}.df-blog-nav a{color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--weight-medium)}.df-blog-nav a:hover{color:var(--color-text);text-decoration:none}.df-blog-header-actions{display:flex;align-items:center;gap:var(--space-3)}.df-blog-footer{border-block-start:1px solid var(--color-border);background:var(--color-surface);padding-block:var(--space-8);padding-inline:var(--space-4);margin-block-start:auto}.df-blog-footer-inner{max-width:var(--container-max);margin-inline:auto;display:flex;flex-wrap:wrap;gap:var(--space-6);justify-content:space-between;align-items:center}.df-blog-footer-links{display:flex;flex-wrap:wrap;gap:var(--space-4)}.df-blog-footer-links a{color:var(--color-text-secondary);font-size:var(--text-sm)}.df-blog-footer-copy{color:var(--color-text-tertiary);font-size:var(--text-xs)}.df-lang-select{appearance:none;background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-md);color:var(--input-text);font-size:var(--text-sm);font-family:inherit;padding-inline:var(--space-3);padding-block:var(--space-2);cursor:pointer;text-align:start}.df-lang-select:hover{border-color:var(--input-border-focus)}.df-lang-select:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.df-lang-noscript{display:flex;gap:var(--space-2);flex-wrap:wrap}.df-lang-noscript a{font-size:var(--text-sm);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--color-border)}.df-theme-toggle{background:none;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;padding:var(--space-2);display:flex;align-items:center;justify-content:center;width:36px;height:36px}.df-theme-toggle:hover{border-color:var(--color-border-focus);color:var(--color-text)}.df-breadcrumb{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;font-size:var(--text-sm);color:var(--color-text-secondary);margin-block-end:var(--space-6)}.df-breadcrumb a{color:var(--color-text-secondary)}.df-breadcrumb a:hover{color:var(--color-primary);text-decoration:none}.df-breadcrumb-sep{color:var(--color-text-tertiary)}.df-breadcrumb-current{color:var(--color-text);font-weight:var(--weight-medium)}.df-blog-toc{position:sticky;top:calc(var(--header-height) + var(--space-4));align-self:start;max-height:calc(100vh - var(--header-height) - var(--space-8));overflow-y:auto;padding-inline:var(--space-4)}.df-blog-toc-title{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:var(--tracking-wide);margin-block-end:var(--space-3)}.df-blog-toc ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.df-blog-toc a{display:block;font-size:var(--text-sm);color:var(--color-text-secondary);padding-inline:var(--space-2);padding-block:var(--space-1);border-radius:var(--radius-sm);border-inline-start:2px solid transparent}.df-blog-toc a:hover{color:var(--color-primary);background:var(--color-primary-subtle);text-decoration:none}.df-blog-toc a.is-active{color:var(--color-primary);border-inline-start-color:var(--color-primary);font-weight:var(--weight-medium)}.df-blog-toc .df-toc-h3{padding-inline-start:var(--space-4);font-size:var(--text-xs)}.df-blog-article-grid{display:grid;grid-template-columns:1fr;gap:var(--space-8)}@media(min-width:1024px){.df-blog-article-grid{grid-template-columns:minmax(0,1fr) 240px}.df-blog-toc{grid-column:2;order:2}.df-blog-article-content{grid-column:1;order:1}}[dir=rtl] .df-blog-article-grid{direction:rtl}.df-blog-article-meta{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:center;color:var(--color-text-secondary);font-size:var(--text-sm);margin-block-end:var(--space-6)}.df-blog-article-meta-item{display:flex;align-items:center;gap:var(--space-1)}.df-blog-article-title{font-size:var(--text-4xl);margin-block-end:var(--space-3)}.df-blog-article-description{font-size:var(--text-lg);color:var(--color-text-secondary);margin-block-end:var(--space-6)}.df-blog-article-cover{width:100%;border-radius:var(--radius-xl);margin-block-end:var(--space-8)}.df-blog-tool-cta{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5);margin-block:var(--space-6);border:1px solid var(--color-primary-subtle);border-radius:var(--radius-lg);background:var(--color-primary-subtle)}.df-blog-tool-cta-title{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-primary-subtle-text)}.df-blog-tool-cta-note{font-size:var(--text-sm);color:var(--color-text-secondary)}.df-blog-tool-cta-link{align-self:flex-start}.df-related-tools{margin-block-start:var(--space-12);padding-block:var(--space-8);border-block-start:1px solid var(--color-border)}.df-related-tools-title{font-size:var(--text-xl);margin-block-end:var(--space-4)}.df-related-tools-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4)}@media(min-width:640px){.df-related-tools-grid{grid-template-columns:repeat(3,1fr)}}.df-related-tool-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.df-related-tool-card h4{font-size:var(--text-base);font-weight:var(--weight-semibold)}.df-related-tool-card a{align-self:flex-start;font-size:var(--text-sm);font-weight:var(--weight-medium)}.df-related-articles{margin-block-start:var(--space-12)}.df-related-articles-title{font-size:var(--text-xl);margin-block-end:var(--space-4)}.df-related-articles-grid{display:grid;grid-template-columns:1fr;gap:var(--space-5)}@media(min-width:640px){.df-related-articles-grid{grid-template-columns:repeat(3,1fr)}}.df-article-card{display:flex;flex-direction:column;gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden;transition:box-shadow var(--duration-normal) var(--ease-out)}.df-article-card:hover{box-shadow:var(--shadow-md)}.df-article-card-cover{width:100%;aspect-ratio:3 / 1;object-fit:cover}.df-article-card-body{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);flex:1}.df-article-card-badge{align-self:flex-start;font-size:var(--text-xs);font-weight:var(--weight-medium);padding-inline:var(--space-2);padding-block:var(--space-1);border-radius:var(--radius-full);background:var(--color-primary-subtle);color:var(--color-primary-subtle-text)}.df-article-card h3{font-size:var(--text-lg)}.df-article-card-excerpt{font-size:var(--text-sm);color:var(--color-text-secondary);flex:1}.df-article-card-meta{display:flex;gap:var(--space-3);font-size:var(--text-xs);color:var(--color-text-tertiary)}.df-category-filter{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-block-end:var(--space-6)}.df-category-filter a{font-size:var(--text-sm);font-weight:var(--weight-medium);padding-inline:var(--space-3);padding-block:var(--space-1);border-radius:var(--radius-full);border:1px solid var(--color-border);color:var(--color-text-secondary)}.df-category-filter a:hover{border-color:var(--color-primary);color:var(--color-primary);text-decoration:none}.df-category-filter a.is-active{background:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary)}.df-pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin-block-start:var(--space-8)}.df-pagination a,.df-pagination span{display:flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding-inline:var(--space-2);border-radius:var(--radius-md);font-size:var(--text-sm);border:1px solid var(--color-border);color:var(--color-text-secondary)}.df-pagination a:hover{border-color:var(--color-primary);color:var(--color-primary);text-decoration:none}.df-pagination .is-current{background:var(--color-primary);color:var(--color-text-on-primary);border-color:var(--color-primary)}.df-pagination .is-disabled{opacity:.4;pointer-events:none}.df-blog-index-header{margin-block-end:var(--space-8)}.df-blog-index-title{font-size:var(--text-4xl);margin-block-end:var(--space-2)}.df-blog-index-subtitle{font-size:var(--text-lg);color:var(--color-text-secondary)}.df-blog-articles-grid{display:grid;grid-template-columns:1fr;gap:var(--space-6)}@media(min-width:640px){.df-blog-articles-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.df-blog-articles-grid{grid-template-columns:repeat(3,1fr)}}.df-btn{display:inline-flex;align-items:center;gap:var(--space-2);font-family:inherit;font-size:var(--text-sm);font-weight:var(--weight-semibold);padding-inline:var(--space-4);padding-block:var(--space-2);border-radius:var(--radius-md);border:1px solid var(--button-border);background:var(--button-bg);color:var(--button-text);cursor:pointer;transition:background var(--duration-fast) var(--ease-out);text-decoration:none}.df-btn:hover{background:var(--button-bg-hover);text-decoration:none}.df-btn:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.df-rss-link{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-sm);color:var(--color-text-secondary)}.df-rss-link:hover{color:var(--color-primary);text-decoration:none}
