:root{--color-white: #fefefe;--color-black: #2a1a2e;--gray-50: #faf9fb;--gray-100: #f5f3f7;--gray-200: #ede8f0;--gray-300: #ddd4e3;--gray-400: #c4b5cf;--gray-500: #9d8aa8;--gray-600: #7a6785;--gray-700: #5d4e66;--gray-800: #443750;--gray-900: #2a1a2e;--primary-50: #f8f6fc;--primary-100: #f0ebf8;--primary-200: #e4d9f1;--primary-300: #d1bfe6;--primary-400: #b89dd7;--primary-500: #b19cd9;--primary-600: #a388c7;--primary-700: #8f6fb5;--primary-800: #7a5ba0;--primary-900: #654a85;--secondary-50: #fef7f9;--secondary-100: #fdedf2;--secondary-200: #fcd9e6;--secondary-300: #f9bad0;--secondary-400: #f58fb0;--secondary-500: #ffb6c1;--secondary-600: #f194a8;--secondary-700: #e06a8a;--secondary-800: #c54971;--secondary-900: #a6355f;--accent-50: #fef9fb;--accent-100: #fef1f5;--accent-200: #fde2ea;--accent-300: #fbc7d8;--accent-400: #f7a1bc;--accent-500: #ffd1dc;--accent-600: #f0b8c6;--accent-700: #dc95a8;--accent-800: #c2758a;--accent-900: #a45970;--success-50: #f0fdf4;--success-100: #dcfce7;--success-200: #bbf7d0;--success-300: #86efac;--success-400: #4ade80;--success-500: #22c55e;--success-600: #16a34a;--success-700: #15803d;--success-800: #166534;--success-900: #14532d;--warning-50: #fffbeb;--warning-100: #fef3c7;--warning-200: #fde68a;--warning-300: #fcd34d;--warning-400: #fbbf24;--warning-500: #f59e0b;--warning-600: #d97706;--warning-700: #b45309;--warning-800: #92400e;--warning-900: #78350f;--error-50: #fef2f2;--error-100: #fee2e2;--error-200: #fecaca;--error-300: #fca5a5;--error-400: #f87171;--error-500: #ef4444;--error-600: #dc2626;--error-700: #b91c1c;--error-800: #991b1b;--error-900: #7f1d1d;--gradient-primary: linear-gradient(135deg, var(--primary-500) 0%, var(--secondary-500) 100%);--gradient-light: linear-gradient(135deg, var(--primary-100) 0%, var(--secondary-100) 100%);--gradient-bg: linear-gradient(135deg, var(--gray-50) 0%, var(--accent-50) 100%);--gradient-hero: linear-gradient(135deg, var(--primary-400) 0%, var(--accent-400) 50%, var(--secondary-400) 100%);--gradient-card: linear-gradient(145deg, var(--primary-50) 0%, var(--accent-50) 100%);--gradient-button: linear-gradient(135deg, var(--primary-500) 0%, var(--primary-600) 100%);--gradient-elegant: linear-gradient(120deg, var(--primary-300) 0%, var(--accent-300) 40%, var(--secondary-300) 100%);--font-primary: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-heading: "Atkinson", var(--font-primary);--font-mono: "Fira Code", "Courier New", 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;--font-light: 300;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--leading-none: 1;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--leading-loose: 2;--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-none: 0;--radius-sm: .125rem;--radius-base: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-3xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-base: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .06);--shadow-primary: 0 4px 16px rgba(177, 156, 217, .3);--shadow-secondary: 0 4px 16px rgba(255, 182, 193, .3);--shadow-focus: 0 0 0 3px rgba(177, 156, 217, .3);--shadow-focus-ring: 0 0 0 2px var(--primary-500);--shadow-text: 0 1px 2px rgba(0, 0, 0, .1);--shadow-icon: 0 2px 4px rgba(0, 0, 0, .2);--brand-mastodon: var(--primary-500);--brand-github: var(--gray-800);--color-overlay-light: rgba(255, 255, 255, .2);--color-shadow-light: rgba(0, 0, 0, .1);--color-shadow-dark: rgba(0, 0, 0, .2);--gradient-hobby: linear-gradient(135deg, var(--accent-400) 0%, var(--secondary-500) 100%);--gradient-mastodon: linear-gradient(45deg, var(--primary-500), var(--primary-700));--gradient-github: linear-gradient(45deg, var(--gray-800), var(--gray-700));--gradient-shimmer: linear-gradient(90deg, transparent, var(--color-overlay-light), transparent);--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1280px;--container-2xl: 1536px;--container-narrow: 900px;--container-wide: 1400px;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px;--z-0: 0;--z-10: 10;--z-20: 20;--z-30: 30;--z-40: 40;--z-50: 50;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal: 1040;--z-popover: 1050;--z-tooltip: 1060;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--transition-all: all var(--transition-base)}[data-theme=dark]{--color-white: #1a1125;--color-black: #fefefe;--gray-50: #2a1a2e;--gray-100: #443750;--gray-200: #5d4e66;--gray-300: #7a6785;--gray-400: #9d8aa8;--gray-500: #c4b5cf;--gray-600: #ddd4e3;--gray-700: #ede8f0;--gray-800: #f5f3f7;--gray-900: #faf9fb;--primary-50: #2a1a2e;--primary-100: #443750;--primary-200: #5d4e66;--primary-300: #7a6785;--primary-400: #9d8aa8;--primary-500: #c9b3e3;--primary-600: #dcc7f0;--primary-700: #e4d9f1;--primary-800: #f0ebf8;--primary-900: #f8f6fc;--secondary-50: #2a1a2e;--secondary-100: #443750;--secondary-200: #5d4e66;--secondary-300: #7a6785;--secondary-400: #9d8aa8;--secondary-500: #f5a7ba;--secondary-600: #f8c3d1;--secondary-700: #fcd9e6;--secondary-800: #fdedf2;--secondary-900: #fef7f9;--accent-50: #2a1a2e;--accent-100: #443750;--accent-200: #5d4e66;--accent-300: #7a6785;--accent-400: #9d8aa8;--accent-500: #f5d7dc;--accent-600: #f8e3e8;--accent-700: #fce8ed;--accent-800: #fef1f5;--accent-900: #fef9fb;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-base: 0 1px 3px 0 rgba(0, 0, 0, .4), 0 1px 2px 0 rgba(0, 0, 0, .2);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -1px rgba(0, 0, 0, .2);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -2px rgba(0, 0, 0, .2);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .4), 0 10px 10px -5px rgba(0, 0, 0, .15);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .5);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .2);--shadow-primary: 0 4px 16px rgba(201, 179, 227, .3);--shadow-secondary: 0 4px 16px rgba(245, 167, 186, .3);--shadow-focus: 0 0 0 3px rgba(201, 179, 227, .3);--shadow-focus-ring: 0 0 0 2px var(--primary-500);--shadow-text: 0 1px 2px rgba(0, 0, 0, .3);--shadow-icon: 0 2px 4px rgba(0, 0, 0, .5);--color-overlay-light: rgba(42, 26, 46, .2);--color-shadow-light: rgba(0, 0, 0, .4);--color-shadow-dark: rgba(0, 0, 0, .6)}@font-face{font-family:Atkinson;src:url(/fonts/atkinson-regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Atkinson;src:url(/fonts/atkinson-bold.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}*{margin:0;padding:0;box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}html{box-sizing:border-box;scroll-behavior:smooth}body{font-family:var(--font-primary);font-size:var(--text-lg);line-height:var(--leading-relaxed);color:var(--gray-800);background-color:var(--gray-50);margin:0;padding:0;text-align:left;word-wrap:break-word;overflow-wrap:break-word;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-semibold);line-height:var(--leading-tight);color:var(--gray-900);margin:0 0 var(--space-2) 0}h1{font-size:var(--text-5xl)}h2{font-size:var(--text-4xl)}h3{font-size:var(--text-3xl)}h4{font-size:var(--text-2xl)}h5{font-size:var(--text-xl)}h6{font-size:var(--text-lg)}p{margin-bottom:var(--space-4);color:var(--gray-600)}a{color:var(--primary-500);text-decoration:none;transition:var(--transition-all)}a:hover{color:var(--primary-600)}a:focus{outline:2px solid var(--primary-500);outline-offset:2px}strong,b{font-weight:var(--font-bold);color:var(--gray-900)}em,i{font-style:italic}small{font-size:var(--text-sm)}blockquote{border-left:4px solid var(--primary-500);padding:var(--space-4) var(--space-6);margin:var(--space-6) 0;background:var(--gradient-light);border-radius:0 var(--radius-lg) var(--radius-lg) 0;font-style:italic;font-size:var(--text-xl);position:relative}blockquote:before{content:'"';position:absolute;top:-10px;left:15px;font-size:var(--text-5xl);color:var(--primary-500);opacity:.3;font-family:Georgia,serif}code{font-family:var(--font-mono);font-size:.9em;background:var(--gray-100);color:var(--gray-800);padding:var(--space-1) var(--space-2);border-radius:var(--radius-base);border:1px solid var(--gray-200)}pre{background:var(--gray-800);color:var(--gray-100);padding:var(--space-6);border-radius:var(--radius-lg);overflow-x:auto;margin:var(--space-6) 0;box-shadow:var(--shadow-lg);border:1px solid var(--gray-700)}pre code{background:none;color:inherit;padding:0;border:none;font-size:var(--text-sm)}hr{border:none;height:1px;background:linear-gradient(90deg,transparent,var(--gray-300),transparent);margin:var(--space-8) 0}input,textarea,select{font-family:inherit;font-size:var(--text-base)}textarea{width:100%;resize:vertical}table{width:100%;border-collapse:collapse;margin:var(--space-6) 0;background:var(--color-white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md)}th,td{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--gray-200)}th{background:var(--gradient-primary);color:var(--color-white);font-weight:var(--font-semibold);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.05em}tr:hover{background:var(--gray-50)}img{max-width:100%;height:auto;border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}main{min-height:calc(100vh - 200px);max-width:calc(100% - var(--space-8));margin:0 auto;padding:var(--space-12) var(--space-4)}@media (max-width: 768px){body{font-size:var(--text-base)}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base)}main{padding:var(--space-6) var(--space-2)}blockquote{padding:var(--space-3) var(--space-4);margin:var(--space-4) 0;font-size:var(--text-lg)}pre{padding:var(--space-4);margin:var(--space-4) 0}}.hero-image-wrapper{border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-xl);margin-bottom:var(--space-12)}.hero-image{width:100%;height:300px;object-fit:cover;display:block}.post-content{line-height:var(--leading-loose);font-size:var(--text-lg);color:var(--gray-700)}.post-content h1,.post-content h2,.post-content h3,.post-content h4,.post-content h5,.post-content h6{color:var(--gray-900);margin:var(--space-8) 0 var(--space-4) 0;font-weight:var(--font-semibold);line-height:var(--leading-tight)}.post-content h1{font-size:var(--text-4xl);margin-top:var(--space-12)}.post-content h2{font-size:var(--text-3xl);margin-top:var(--space-10)}.post-content h3{font-size:var(--text-2xl);margin-top:var(--space-8)}.post-content h4{font-size:var(--text-xl)}.post-content h5{font-size:var(--text-lg)}.post-content h6{font-size:var(--text-base)}.post-content p{margin-bottom:var(--space-6);color:var(--gray-600);line-height:var(--leading-relaxed)}.post-content p:last-child{margin-bottom:0}.post-content a{color:var(--primary-500);text-decoration:underline;font-weight:var(--font-medium);transition:var(--transition-all);text-decoration-thickness:2px;text-underline-offset:3px}.post-content a:hover{color:var(--primary-600);text-decoration-color:var(--primary-300)}.post-content a:focus{outline:2px solid var(--primary-500);outline-offset:2px;border-radius:var(--radius-base)}.post-content blockquote{background:var(--gradient-light);border-left:4px solid var(--primary-500);padding:var(--space-6);margin:var(--space-8) 0;border-radius:0 var(--radius-lg) var(--radius-lg) 0;font-style:italic;position:relative;box-shadow:var(--shadow-sm)}.post-content blockquote:before{content:'"';position:absolute;top:-10px;left:15px;font-size:var(--text-5xl);color:var(--primary-500);opacity:.3;font-family:Georgia,serif;line-height:1}.post-content blockquote p{margin-bottom:var(--space-3);color:var(--gray-700);font-size:var(--text-xl)}.post-content blockquote p:last-child{margin-bottom:0}.post-content code{background:var(--gray-100);color:var(--gray-800);padding:var(--space-1) var(--space-2);border-radius:var(--radius-base);font-family:var(--font-mono);font-size:.9em;border:1px solid var(--gray-200);font-weight:var(--font-medium)}.post-content pre{background:var(--gray-800);color:var(--gray-100);padding:var(--space-6);border-radius:var(--radius-lg);overflow-x:auto;margin:var(--space-6) 0;box-shadow:var(--shadow-lg);border:1px solid var(--gray-700);position:relative}.post-content pre code{background:none;color:inherit;padding:0;border:none;font-size:var(--text-sm);font-weight:var(--font-normal)}.post-content pre::-webkit-scrollbar{height:8px}.post-content pre::-webkit-scrollbar-track{background:var(--gray-700);border-radius:var(--radius-base)}.post-content pre::-webkit-scrollbar-thumb{background:var(--gray-500);border-radius:var(--radius-base)}.post-content pre::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.post-content img{max-width:100%;height:auto;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);margin:var(--space-6) 0;transition:var(--transition-all)}.post-content img:hover{transform:scale(1.02);box-shadow:var(--shadow-xl)}.post-content figure{margin:var(--space-8) 0}.post-content figcaption{text-align:center;font-size:var(--text-sm);color:var(--gray-500);font-style:italic;margin-top:var(--space-2);padding:0 var(--space-4)}.post-content ul,.post-content ol{margin:var(--space-6) 0;padding-left:var(--space-8)}.post-content li{margin-bottom:var(--space-2);color:var(--gray-600);line-height:var(--leading-relaxed)}.post-content li:last-child{margin-bottom:0}.post-content ul li{list-style-type:disc}.post-content ol li{list-style-type:decimal}.post-content ul ul,.post-content ol ol,.post-content ul ol,.post-content ol ul{margin:var(--space-2) 0;padding-left:var(--space-6)}.post-content table{width:100%;border-collapse:collapse;margin:var(--space-8) 0;background:var(--color-white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);border:1px solid var(--gray-200)}.post-content th,.post-content td{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--gray-200)}.post-content th{background:var(--gradient-primary);color:var(--color-white);font-weight:var(--font-semibold);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.05em}.post-content tr:hover{background:var(--gray-50)}.post-content td{color:var(--gray-600);font-size:var(--text-sm)}.post-content hr{border:none;height:1px;background:linear-gradient(90deg,transparent,var(--gray-300),transparent);margin:var(--space-12) 0}.post-content strong,.post-content b{font-weight:var(--font-bold);color:var(--gray-900)}.post-content em,.post-content i{font-style:italic;color:var(--gray-700)}.post-content mark{background:var(--gradient-light);color:var(--primary-700);padding:var(--space-1) var(--space-2);border-radius:var(--radius-base)}.post-content small{font-size:var(--text-sm);color:var(--gray-500)}.related-card{background:var(--gray-50);padding:var(--space-6);border-radius:var(--radius-lg);border:1px solid var(--gray-200);transition:var(--transition-all);height:100%;display:flex;flex-direction:column}.related-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--primary-300);background:var(--color-white)}.related-card-title{margin:0 0 var(--space-3) 0;font-size:var(--text-lg);font-weight:var(--font-semibold);line-height:var(--leading-snug);flex-grow:1}.related-card-title a{color:var(--gray-900);text-decoration:none;transition:var(--transition-all)}.related-card-title a:hover{color:var(--primary-500)}.related-card time{display:block;margin-bottom:var(--space-3)}@media (max-width: 768px){.hero-image{height:200px}.post-content{font-size:var(--text-base)}.post-content h1{font-size:var(--text-3xl)}.post-content h2{font-size:var(--text-2xl)}.post-content h3{font-size:var(--text-xl)}.post-content h4{font-size:var(--text-lg)}.post-content blockquote{padding:var(--space-4);margin:var(--space-6) 0}.post-content blockquote p{font-size:var(--text-lg)}.post-content pre{padding:var(--space-4);margin:var(--space-4) 0}.post-content ul,.post-content ol{padding-left:var(--space-6)}.post-content table{font-size:var(--text-xs)}.post-content th,.post-content td{padding:var(--space-2) var(--space-3)}.related-card{padding:var(--space-4)}.related-card-title{font-size:var(--text-base)}}@media (max-width: 480px){.hero-image{height:160px}.post-content h1{font-size:var(--text-2xl)}.post-content h2{font-size:var(--text-xl)}.post-content h3{font-size:var(--text-lg)}.post-content blockquote{padding:var(--space-3);margin:var(--space-4) 0}.post-content blockquote p{font-size:var(--text-base)}.post-content ul,.post-content ol{padding-left:var(--space-4)}}.container{max-width:var(--container-xl);margin:0 auto;padding:var(--space-8) var(--space-4)}.container-narrow{max-width:var(--container-narrow);margin:0 auto;padding:var(--space-8) var(--space-4)}.container-wide{max-width:var(--container-wide);margin:0 auto;padding:var(--space-8) var(--space-4)}.card{background:var(--color-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border:1px solid var(--gray-200);transition:var(--transition-all);overflow:hidden}.card-padding{padding:var(--space-8)}.card-padding-lg{padding:var(--space-12)}.card-padding-sm{padding:var(--space-6)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-family:var(--font-primary);font-size:var(--text-base);font-weight:var(--font-medium);text-decoration:none;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition-all);white-space:nowrap;user-select:none}.btn:focus{outline:2px solid var(--primary-500);outline-offset:2px}.btn-primary{background:var(--gradient-primary);color:var(--color-white);box-shadow:var(--shadow-primary)}.btn-primary:hover{background:linear-gradient(135deg,var(--primary-600) 0%,var(--secondary-600) 100%);color:var(--color-white);transform:translateY(-2px);box-shadow:var(--shadow-primary)}.btn-outline{background:transparent;color:var(--primary-500);border:2px solid var(--primary-500);box-shadow:var(--shadow-sm)}.btn-outline:hover{background:var(--gradient-primary);color:var(--color-white);transform:translateY(-2px);box-shadow:var(--shadow-primary)}.btn-ghost{background:transparent;color:var(--gray-600);border:1px solid var(--gray-300)}.btn-ghost:hover{background:var(--gray-100);color:var(--gray-800);border-color:var(--gray-400)}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--text-sm)}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--text-lg)}.btn-xl{padding:var(--space-5) var(--space-10);font-size:var(--text-xl)}.tag{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);background:var(--gray-100);color:var(--gray-700);border-radius:var(--radius-full);text-decoration:none;font-size:var(--text-sm);font-weight:var(--font-medium);transition:var(--transition-all);border:1px solid var(--gray-200)}.error-page{min-height:60vh;display:flex;align-items:center;justify-content:center;padding:var(--space-12) 0}.error-content{text-align:center;max-width:600px;padding:var(--space-8)}.error-icon{margin-bottom:var(--space-8)}.error-number{font-size:6rem;font-weight:var(--font-bold);background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;display:block}.error-title{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--gray-800);margin-bottom:var(--space-4)}.error-message{font-size:var(--text-lg);color:var(--gray-600);line-height:1.6;margin-bottom:var(--space-8)}.error-actions{display:flex;gap:var(--space-4);justify-content:center;flex-wrap:wrap;margin-bottom:var(--space-8)}.error-actions .btn{display:inline-flex;align-items:center;gap:var(--space-2)}.error-actions .icon{width:1.2em;height:1.2em}.error-suggestion{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--space-6);margin-top:var(--space-8)}.error-suggestion p{font-weight:var(--font-medium);color:var(--gray-700);margin-bottom:var(--space-3)}.error-suggestion ul{list-style:none;padding:0;margin:0}.error-suggestion li{color:var(--gray-600);margin-bottom:var(--space-2);padding-left:var(--space-4);position:relative}.error-suggestion li:before{content:"•";color:var(--primary-500);position:absolute;left:0;font-weight:var(--font-bold)}[data-theme=dark] .error-title{color:var(--gray-100)}[data-theme=dark] .error-message{color:var(--gray-300)}[data-theme=dark] .error-suggestion{background:var(--gray-800);border-color:var(--gray-700)}[data-theme=dark] .error-suggestion p{color:var(--gray-200)}[data-theme=dark] .error-suggestion li{color:var(--gray-300)}@media (max-width: 768px){.error-number{font-size:4rem}.error-title{font-size:var(--text-2xl)}.error-message{font-size:var(--text-base)}.error-actions{flex-direction:column;align-items:center}.error-actions .btn{width:100%;max-width:280px}}.image-placeholder{display:flex;align-items:center;justify-content:center;background:var(--gray-100);border:2px dashed var(--gray-300);border-radius:var(--radius-lg);min-height:200px;width:100%;position:relative}.image-placeholder-content{text-align:center;color:var(--gray-500);padding:var(--space-4)}.image-placeholder-icon{width:3rem;height:3rem;margin-bottom:var(--space-2);stroke-width:1.5}.image-placeholder-text{display:block;font-size:var(--text-sm);font-weight:var(--font-medium)}.image-error{opacity:.7;filter:grayscale(100%)}[data-theme=dark] .image-placeholder{background:var(--gray-800);border-color:var(--gray-600)}[data-theme=dark] .image-placeholder-content{color:var(--gray-400)}.hero-image-placeholder{aspect-ratio:2/1;min-height:300px}.article-card-image-placeholder{aspect-ratio:16/9;min-height:200px}@media (max-width: 768px){.image-placeholder{min-height:150px}.hero-image-placeholder{min-height:200px}.article-card-image-placeholder{min-height:150px}.image-placeholder-icon{width:2rem;height:2rem}}.tag:hover{background:var(--primary-500);color:var(--color-white);transform:translateY(-1px);box-shadow:var(--shadow-md)}.tag-primary{background:var(--gradient-primary);color:var(--color-white);box-shadow:var(--shadow-primary);border-color:transparent}.tag-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-primary)}.tag-secondary{background:var(--gradient-light);color:var(--primary-600);border-color:var(--primary-200)}.tag-secondary:hover{background:var(--gradient-primary);color:var(--color-white)}.nav-back{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--primary-500);text-decoration:none;font-weight:var(--font-medium);font-size:var(--text-lg);padding:var(--space-3) var(--space-6);border:2px solid var(--primary-500);border-radius:var(--radius-lg);transition:var(--transition-all)}.nav-back:hover{background:var(--gradient-primary);color:var(--color-white);transform:translateY(-2px);box-shadow:var(--shadow-primary)}.nav-back:before{content:"←";font-size:var(--text-xl)}.page-header{text-align:center;margin-bottom:var(--space-12);padding-bottom:var(--space-8);border-bottom:2px solid var(--gray-200)}.page-title{font-size:var(--text-5xl);font-weight:var(--font-bold);color:var(--gray-900);margin-bottom:var(--space-4);line-height:var(--leading-tight)}.hero-header{text-align:center;margin-bottom:var(--space-12);padding:var(--space-12);background:var(--gradient-primary);border-radius:var(--radius-2xl);color:var(--color-white);box-shadow:var(--shadow-primary)}.hero-header .page-title{color:var(--color-white);text-shadow:0 2px 4px rgba(0,0,0,.1)}.section-title{font-size:var(--text-3xl);font-weight:var(--font-semibold);color:var(--gray-900);margin-bottom:var(--space-6);padding-bottom:var(--space-3);border-bottom:3px solid var(--primary-500);position:relative}.section-title:after{content:"";position:absolute;bottom:-3px;left:0;width:60px;height:3px;background:var(--gradient-primary);border-radius:var(--radius-full)}.gradient-text{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent}.gradient-bg{background:var(--gradient-primary);color:var(--color-white)}.gradient-border{border-image:var(--gradient-primary) 1}.article-title{margin:0;font-size:var(--text-xl);font-weight:var(--font-semibold);line-height:var(--leading-snug)}.article-title a{color:var(--primary-500);text-decoration:none;transition:var(--transition-all)}.article-title a:hover{color:var(--primary-600)}.stat-item{display:flex;flex-direction:column;align-items:center;padding:var(--space-4);background:var(--gradient-primary);color:var(--color-white);border-radius:var(--radius-lg);transition:var(--transition-all)}.stat-item:hover{transform:scale(1.02)}.stat-number{font-size:var(--text-2xl);font-weight:var(--font-bold);line-height:1}.stat-label{font-size:var(--text-sm);opacity:.9;margin-top:var(--space-1)}.article-title{margin:0;font-size:1.25rem;font-weight:600;line-height:1.3}.article-title a{color:var(--primary-600);text-decoration:none;transition:color .2s ease}.article-title a:hover{color:var(--primary-700)}.pagination{margin:var(--space-24) 0}.pagination-container{display:flex;align-items:center;justify-content:center;gap:var(--space-4);margin-bottom:var(--space-6)}.pagination-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-6);border:1px solid var(--gray-200);border-radius:var(--radius-md);background:var(--color-white);color:var(--gray-900);text-decoration:none;font-size:var(--text-sm);font-weight:500;transition:all var(--transition-base);min-width:80px;justify-content:center}.pagination-btn:hover:not(.pagination-disabled){background:var(--gray-50);border-color:var(--primary-500);transform:translateY(-1px)}.pagination-disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.pagination-numbers{display:flex;align-items:center;gap:var(--space-2)}.pagination-number{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--gray-200);border-radius:var(--radius-md);background:var(--color-white);color:var(--gray-900);text-decoration:none;font-size:var(--text-sm);font-weight:500;transition:all var(--transition-base)}.pagination-number:hover{background:var(--gray-50);border-color:var(--primary-500);transform:translateY(-1px)}.pagination-current{background:var(--primary-500);color:var(--color-white);border-color:var(--primary-500);cursor:default}.pagination-ellipsis{display:flex;align-items:center;justify-content:center;width:40px;height:40px;color:var(--gray-600);font-weight:700}.pagination-info{text-align:center;color:var(--gray-600);font-size:var(--text-sm)}.pagination-text{display:none}.pagination-btn:focus,.pagination-number:focus{outline:2px solid var(--primary-500);outline-offset:2px}.header-link{display:inline-block;text-decoration:none}.header-link.active{font-weight:bolder;text-decoration:underline}.theme-toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:transparent;border:1px solid var(--gray-300);border-radius:var(--radius-lg);color:var(--gray-600);cursor:pointer;transition:var(--transition-all);padding:0;position:relative;min-width:44px;min-height:44px}.theme-toggle:hover{background:var(--gray-100);border-color:var(--primary-500);color:var(--primary-500);transform:translateY(-1px)}.theme-toggle:focus{outline:2px solid var(--primary-500);outline-offset:2px}.theme-toggle:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px;box-shadow:0 0 0 4px #b19cd933}.theme-icon{width:20px;height:20px;transition:var(--transition-all)}.theme-icon-sun{display:none}.theme-icon-moon,[data-theme=dark] .theme-icon-sun{display:block}[data-theme=dark] .theme-icon-moon{display:none}[data-theme=dark] .theme-toggle{border-color:var(--gray-600);color:var(--gray-300)}[data-theme=dark] .theme-toggle:hover{background:var(--gray-700);border-color:var(--primary-400);color:var(--primary-400)}@media (max-width: 640px){.pagination-numbers{gap:var(--space-2)}.pagination-number,.pagination-ellipsis{width:32px;height:32px;font-size:var(--text-xs)}.pagination-btn{min-width:60px;padding:var(--space-2) var(--space-4);font-size:var(--text-xs)}}@media (max-width: 768px){.article-title{font-size:1.125rem}}@media (min-width: 768px){.pagination-text{display:inline}}@media (prefers-color-scheme: dark){.pagination-btn,.pagination-number{border-color:var(--gray-700);background:var(--gray-800);color:var(--gray-50)}.pagination-btn:hover:not(.pagination-disabled),.pagination-number:hover{background:var(--gray-700);border-color:var(--primary-400)}}@media (max-width: 1024px){.container,.container-narrow,.container-wide{padding:var(--space-6) var(--space-4)}}@media (max-width: 768px){.container,.container-narrow,.container-wide{padding:var(--space-4)}.page-title{font-size:var(--text-4xl)}.section-title{font-size:var(--text-2xl)}.card-padding,.card-padding-lg{padding:var(--space-6)}.hero-header{padding:var(--space-8) var(--space-4)}.btn{padding:var(--space-2) var(--space-4);font-size:var(--text-sm)}.btn-lg{padding:var(--space-3) var(--space-6);font-size:var(--text-base)}.nav-back{font-size:var(--text-base);padding:var(--space-2) var(--space-4)}}@media (max-width: 480px){.page-title{font-size:var(--text-3xl)}.section-title{font-size:var(--text-xl)}.card-padding,.card-padding-lg{padding:var(--space-4)}.hero-header{padding:var(--space-6) var(--space-3)}.theme-toggle{width:48px;height:48px;min-width:48px;min-height:48px}.theme-icon{width:22px;height:22px}}.flex{display:flex}.inline-flex{display:inline-flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.items-baseline{align-items:baseline}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-around{display:flex;align-items:center;justify-content:space-around}.grid{display:grid}.grid-auto-fit{grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.grid-auto-fit-sm{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.grid-auto-fit-lg{grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.grid-auto-fill{grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.grid-auto-fill-sm{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.grid-auto-fill-lg{grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.grid-1{grid-template-columns:repeat(1,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-5{grid-template-columns:repeat(5,1fr)}.grid-6{grid-template-columns:repeat(6,1fr)}.gap-0{gap:var(--space-0)}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-5{gap:var(--space-5)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.gap-10{gap:var(--space-10)}.gap-12{gap:var(--space-12)}.gap-16{gap:var(--space-16)}.m-0{margin:var(--space-0)}.m-1{margin:var(--space-1)}.m-2{margin:var(--space-2)}.m-3{margin:var(--space-3)}.m-4{margin:var(--space-4)}.m-5{margin:var(--space-5)}.m-6{margin:var(--space-6)}.m-8{margin:var(--space-8)}.m-10{margin:var(--space-10)}.m-12{margin:var(--space-12)}.m-16{margin:var(--space-16)}.m-auto{margin:auto}.mt-0{margin-top:var(--space-0)}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-5{margin-top:var(--space-5)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mt-10{margin-top:var(--space-10)}.mt-12{margin-top:var(--space-12)}.mt-16{margin-top:var(--space-16)}.mb-0{margin-bottom:var(--space-0)}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-5{margin-bottom:var(--space-5)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.mb-10{margin-bottom:var(--space-10)}.mb-12{margin-bottom:var(--space-12)}.mb-16{margin-bottom:var(--space-16)}.ml-0{margin-left:var(--space-0)}.ml-1{margin-left:var(--space-1)}.ml-2{margin-left:var(--space-2)}.ml-3{margin-left:var(--space-3)}.ml-4{margin-left:var(--space-4)}.ml-auto{margin-left:auto}.mr-0{margin-right:var(--space-0)}.mr-1{margin-right:var(--space-1)}.mr-2{margin-right:var(--space-2)}.mr-3{margin-right:var(--space-3)}.mr-4{margin-right:var(--space-4)}.mr-auto{margin-right:auto}.mx-0{margin-left:var(--space-0);margin-right:var(--space-0)}.mx-1{margin-left:var(--space-1);margin-right:var(--space-1)}.mx-2{margin-left:var(--space-2);margin-right:var(--space-2)}.mx-3{margin-left:var(--space-3);margin-right:var(--space-3)}.mx-4{margin-left:var(--space-4);margin-right:var(--space-4)}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:var(--space-0);margin-bottom:var(--space-0)}.my-1{margin-top:var(--space-1);margin-bottom:var(--space-1)}.my-2{margin-top:var(--space-2);margin-bottom:var(--space-2)}.my-3{margin-top:var(--space-3);margin-bottom:var(--space-3)}.my-4{margin-top:var(--space-4);margin-bottom:var(--space-4)}.my-6{margin-top:var(--space-6);margin-bottom:var(--space-6)}.my-8{margin-top:var(--space-8);margin-bottom:var(--space-8)}.my-12{margin-top:var(--space-12);margin-bottom:var(--space-12)}.p-0{padding:var(--space-0)}.p-1{padding:var(--space-1)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-5{padding:var(--space-5)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.p-10{padding:var(--space-10)}.p-12{padding:var(--space-12)}.p-16{padding:var(--space-16)}.pt-0{padding-top:var(--space-0)}.pt-1{padding-top:var(--space-1)}.pt-2{padding-top:var(--space-2)}.pt-3{padding-top:var(--space-3)}.pt-4{padding-top:var(--space-4)}.pt-6{padding-top:var(--space-6)}.pt-8{padding-top:var(--space-8)}.pb-0{padding-bottom:var(--space-0)}.pb-1{padding-bottom:var(--space-1)}.pb-2{padding-bottom:var(--space-2)}.pb-3{padding-bottom:var(--space-3)}.pb-4{padding-bottom:var(--space-4)}.pb-6{padding-bottom:var(--space-6)}.pb-8{padding-bottom:var(--space-8)}.pl-0{padding-left:var(--space-0)}.pl-1{padding-left:var(--space-1)}.pl-2{padding-left:var(--space-2)}.pl-3{padding-left:var(--space-3)}.pl-4{padding-left:var(--space-4)}.pr-0{padding-right:var(--space-0)}.pr-1{padding-right:var(--space-1)}.pr-2{padding-right:var(--space-2)}.pr-3{padding-right:var(--space-3)}.pr-4{padding-right:var(--space-4)}.px-0{padding-left:var(--space-0);padding-right:var(--space-0)}.px-1{padding-left:var(--space-1);padding-right:var(--space-1)}.px-2{padding-left:var(--space-2);padding-right:var(--space-2)}.px-3{padding-left:var(--space-3);padding-right:var(--space-3)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.px-6{padding-left:var(--space-6);padding-right:var(--space-6)}.px-8{padding-left:var(--space-8);padding-right:var(--space-8)}.py-0{padding-top:var(--space-0);padding-bottom:var(--space-0)}.py-1{padding-top:var(--space-1);padding-bottom:var(--space-1)}.py-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}.py-3{padding-top:var(--space-3);padding-bottom:var(--space-3)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.py-6{padding-top:var(--space-6);padding-bottom:var(--space-6)}.py-8{padding-top:var(--space-8);padding-bottom:var(--space-8)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.text-4xl{font-size:var(--text-4xl)}.text-5xl{font-size:var(--text-5xl)}.text-6xl{font-size:var(--text-6xl)}.font-light{font-weight:var(--font-light)}.font-normal{font-weight:var(--font-normal)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.font-extrabold{font-weight:var(--font-extrabold)}.text-primary{color:var(--primary-500)}.text-secondary{color:var(--gray-600)}.text-muted{color:var(--gray-500)}.text-white{color:var(--color-white)}.text-black{color:var(--gray-900)}.hidden{display:none}.block{display:block}.inline{display:inline}.inline-block{display:inline-block}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-scroll{overflow:scroll}@media (max-width: 1024px){.grid-auto-fit,.grid-auto-fill{grid-template-columns:1fr}.grid-2,.grid-3,.grid-4,.grid-5,.grid-6{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.grid-auto-fit,.grid-auto-fit-lg,.grid-auto-fill,.grid-auto-fill-sm,.grid-auto-fill-lg,.grid-2,.grid-3,.grid-4,.grid-5,.grid-6{grid-template-columns:1fr}.flex-between{flex-direction:column;align-items:flex-start;gap:var(--space-4)}}.site-header{margin:0;padding:0 var(--space-4);background:var(--color-white);box-shadow:0 2px 8px #0000000d;border-bottom:1px solid var(--gray-200);position:sticky;top:0;z-index:var(--z-sticky)}.site-header h2{margin:0;font-size:var(--text-base);font-weight:var(--font-semibold)}.site-header h2 a,.site-header h2 a.active{text-decoration:none;color:var(--gray-900);transition:var(--transition-all)}.site-header h2 a:hover{color:var(--primary-500)}.site-nav{display:flex;align-items:center;justify-content:space-between;min-height:64px}.site-nav a{padding:var(--space-4) var(--space-2);color:var(--gray-700);border-bottom:3px solid transparent;text-decoration:none;font-weight:var(--font-medium);transition:var(--transition-all);position:relative}.site-nav a:hover{color:var(--primary-500);border-bottom-color:var(--primary-200)}.site-nav a.active{color:var(--primary-700);border-bottom-color:var(--primary-500);font-weight:var(--font-semibold)}.internal-links{display:flex;align-items:center;gap:var(--space-2)}.social-links{display:flex;align-items:center;gap:var(--space-3)}.social-links a{display:flex;align-items:center;color:var(--gray-600);transition:var(--transition-all);padding:var(--space-2);border-radius:var(--radius-lg)}.social-links a:hover{color:var(--primary-500);background:var(--primary-50);transform:translateY(-1px)}.social-links svg{width:20px;height:20px}.site-footer{padding:var(--space-12) var(--space-4) var(--space-16) var(--space-4);background:var(--gradient-bg);color:var(--gray-600);text-align:center;border-top:1px solid var(--gray-200);margin-top:var(--space-16)}.footer-content{max-width:var(--container-lg);margin:0 auto}.footer-social-links{display:flex;justify-content:center;gap:var(--space-4);margin-top:var(--space-4)}.footer-social-links a{display:flex;align-items:center;justify-content:center;width:48px;height:48px;text-decoration:none;color:var(--gray-600);background:var(--color-white);border-radius:var(--radius-full);transition:var(--transition-all);box-shadow:var(--shadow-sm)}.footer-social-links a:hover{color:var(--primary-500);background:var(--primary-50);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.footer-social-links svg{width:24px;height:24px}.header-link{display:inline-block;text-decoration:none;color:inherit;font-weight:inherit;transition:var(--transition-all)}.header-link:hover{color:var(--primary-500)}.header-link.active{font-weight:var(--font-semibold);color:var(--primary-700)}.formatted-date{font-size:var(--text-sm);color:var(--gray-500);font-weight:var(--font-medium)}@media (max-width: 768px){.site-header{padding:0 var(--space-3)}.site-nav{min-height:56px}.site-nav a{padding:var(--space-3) var(--space-1);font-size:var(--text-sm)}.social-links{gap:var(--space-2)}.social-links a{display:none}.social-links .theme-toggle{display:flex;order:-1}.internal-links{gap:var(--space-1)}.site-footer{padding:var(--space-8) var(--space-3) var(--space-12) var(--space-3)}.footer-social-links a{width:40px;height:40px}.footer-social-links svg{width:20px;height:20px}}@media (max-width: 480px){.site-header h2{font-size:var(--text-sm)}.site-nav a{padding:var(--space-2) var(--space-1);font-size:var(--text-xs)}.footer-social-links{gap:var(--space-2)}.footer-social-links a{width:36px;height:36px}.footer-social-links svg{width:18px;height:18px}}.archive-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:var(--space-8);padding-bottom:var(--space-6);border-bottom:2px solid var(--gray-200);position:relative}.archive-header:after{content:"";position:absolute;bottom:-2px;left:0;width:100px;height:2px;background:var(--gradient-primary);border-radius:var(--radius-full)}.archive-title-wrapper{flex:1}.archive-title{font-size:var(--text-4xl);font-weight:var(--font-bold);color:var(--gray-900);margin-bottom:var(--space-2);display:flex;align-items:center;gap:var(--space-3);line-height:var(--leading-tight)}.archive-description{font-size:var(--text-lg);color:var(--gray-600);margin:0;font-weight:var(--font-medium)}.archive-stats{display:flex;align-items:center}.archive-count{background:var(--gradient-primary);color:var(--color-white);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-semibold);white-space:nowrap;box-shadow:var(--shadow-primary);position:relative;overflow:hidden}@keyframes shimmer{0%{left:-100%}to{left:100%}}.tag-symbol{color:var(--primary-500);font-size:var(--text-5xl);font-weight:var(--font-bold);text-shadow:var(--shadow-text)}.tag-title{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent}.month-year{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent;font-size:var(--text-4xl)}.month-name{color:var(--gray-700);font-size:var(--text-3xl);font-weight:var(--font-medium)}.archive-navigation{display:flex;justify-content:center;align-items:center;gap:var(--space-4);margin-bottom:var(--space-8);flex-wrap:wrap}.nav-button{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);background:var(--color-white);color:var(--gray-700);text-decoration:none;border:2px solid var(--gray-300);border-radius:var(--radius-lg);font-weight:var(--font-medium);transition:var(--transition-all);white-space:nowrap;position:relative;overflow:hidden}.nav-button:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:var(--gradient-primary);opacity:0;transition:var(--transition-all)}.nav-button:hover{border-color:var(--primary-500);color:var(--color-white);transform:translateY(-2px);box-shadow:var(--shadow-primary)}.nav-button:hover:before{opacity:1}.nav-button span{position:relative;z-index:1}.nav-home{background:var(--gradient-primary);color:var(--color-white);border-color:transparent;box-shadow:var(--shadow-primary)}.nav-home:before{opacity:1;background:linear-gradient(135deg,var(--primary-600) 0%,var(--secondary-600) 100%)}.nav-home:hover{transform:translateY(-3px);box-shadow:var(--shadow-primary)}.articles-section{margin-bottom:var(--space-12)}.articles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:var(--space-6)}.no-articles{text-align:center;padding:var(--space-12) var(--space-6);background:var(--gradient-light);border-radius:var(--radius-xl);border:1px solid var(--primary-200)}.no-articles-message{font-size:var(--text-lg);color:var(--gray-600);margin-bottom:var(--space-6);font-weight:var(--font-medium)}.no-articles-link{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--primary-500);text-decoration:none;font-weight:var(--font-semibold);transition:var(--transition-all)}.no-articles-link:hover{color:var(--primary-600);transform:translate(-4px)}.bottom-navigation{text-align:center;padding:var(--space-8) 0;border-top:1px solid var(--gray-200)}.back-link{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--primary-500);text-decoration:none;font-weight:var(--font-medium);font-size:var(--text-lg);padding:var(--space-3) var(--space-8);border:2px solid var(--primary-500);border-radius:var(--radius-lg);transition:var(--transition-all);position:relative;overflow:hidden}.back-link:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:var(--gradient-primary);transform:scaleX(0);transform-origin:left;transition:var(--transition-all)}.back-link:hover{color:var(--color-white);transform:translateY(-3px);box-shadow:var(--shadow-primary)}.back-link:hover:before{transform:scaleX(1)}.back-link span{position:relative;z-index:1}.back-link:after{content:"←";position:relative;z-index:1;font-size:var(--text-xl)}.month-navigation{display:flex;justify-content:center;align-items:center;gap:var(--space-3);margin-bottom:var(--space-8);flex-wrap:wrap}.month-nav-button{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-white);color:var(--gray-600);text-decoration:none;border:1px solid var(--gray-300);border-radius:var(--radius-lg);font-weight:var(--font-medium);font-size:var(--text-sm);transition:var(--transition-all);white-space:nowrap}.month-nav-button:hover{border-color:var(--primary-500);color:var(--primary-500);transform:translateY(-1px);box-shadow:var(--shadow-md)}.month-nav-home{background:var(--gradient-primary);color:var(--color-white);border-color:transparent;font-weight:var(--font-semibold)}.month-nav-home:hover{background:linear-gradient(135deg,var(--primary-600) 0%,var(--secondary-600) 100%);color:var(--color-white);transform:translateY(-2px);box-shadow:var(--shadow-primary)}@media (max-width: 1024px){.articles-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-4)}}@media (max-width: 768px){.archive-header{flex-direction:column;align-items:center;gap:var(--space-4);text-align:center}.archive-title-wrapper{width:100%;text-align:center}.archive-stats{justify-content:center}.archive-title{font-size:var(--text-3xl);flex-direction:column;align-items:center;gap:var(--space-2)}.tag-symbol{font-size:var(--text-4xl)}.month-year{font-size:var(--text-3xl)}.month-name{font-size:var(--text-2xl)}.archive-navigation{flex-direction:column;gap:var(--space-2)}.nav-button{width:100%;max-width:280px;justify-content:center;padding:var(--space-2) var(--space-4)}.articles-grid{grid-template-columns:1fr;gap:var(--space-4)}.back-link{font-size:var(--text-base);padding:var(--space-2) var(--space-6)}.month-navigation{flex-direction:column;gap:var(--space-2)}.month-nav-button{width:100%;max-width:240px;justify-content:center}}@media (max-width: 480px){.archive-title{font-size:var(--text-2xl)}.tag-symbol{font-size:var(--text-3xl)}.month-year{font-size:var(--text-2xl)}.month-name{font-size:var(--text-xl)}.archive-description{font-size:var(--text-base)}.archive-count{font-size:var(--text-xs);padding:var(--space-1) var(--space-3)}.no-articles{padding:var(--space-8) var(--space-4)}.articles-grid{gap:var(--space-3)}}.profile-grid{display:grid;gap:var(--space-6)}.profile-item{display:grid;grid-template-columns:120px 1fr;gap:var(--space-4);padding:var(--space-4);background:var(--gray-50);border-radius:var(--radius-lg);transition:var(--transition-all)}.profile-label{font-weight:var(--font-bold);color:var(--gray-900);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.05em}.profile-value{color:var(--gray-600);line-height:var(--leading-relaxed)}.tech-section{margin-bottom:var(--space-12)}.tech-section:last-child{margin-bottom:0}.tech-category{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--primary-500);margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--gradient-light);border-radius:var(--radius-lg);position:relative}.tech-category:after{content:"";position:absolute;right:var(--space-4);top:50%;transform:translateY(-50%);width:8px;height:8px;background:var(--primary-500);border-radius:50%}.tech-item{background:var(--gray-50);padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--gray-200);transition:var(--transition-all);position:relative;overflow:hidden}.tech-item:before{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:var(--gradient-primary);transform:scaleX(0);transition:var(--transition-all)}.tech-item:hover{border-color:var(--primary-300);transform:translateY(-2px);box-shadow:var(--shadow-lg);background:var(--color-white)}.tech-item:hover:before{transform:scaleX(1)}.tech-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.tech-name{font-weight:var(--font-bold);color:var(--gray-900);font-size:var(--text-base)}.tech-stars{color:var(--primary-500);font-size:var(--text-sm)}.tech-note{font-size:var(--text-sm);color:var(--gray-600);font-style:italic}.cert-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--gradient-primary);color:var(--color-white);border-radius:var(--radius-lg);transition:var(--transition-all);position:relative;overflow:hidden}.cert-item:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:var(--gradient-shimmer);transition:var(--transition-slow)}.cert-item:hover{transform:scale(1.02);box-shadow:var(--shadow-primary)}.cert-item:hover:before{left:100%}.cert-icon{font-size:var(--text-xl);filter:drop-shadow(var(--shadow-icon))}.cert-name{font-weight:var(--font-medium);text-shadow:var(--shadow-text)}.interest-category{background:var(--gray-50);padding:var(--space-6);border-radius:var(--radius-xl);border:1px solid var(--gray-200);transition:var(--transition-all);position:relative}.interest-title{font-size:var(--text-lg);font-weight:var(--font-semibold);text-align:center;margin-bottom:var(--space-6);color:var(--gray-900);position:relative}.interest-tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.interest-tag{padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-medium);transition:var(--transition-all);cursor:default;position:relative}.tech-tag{background:var(--gradient-primary);color:var(--color-white);box-shadow:var(--shadow-primary)}.tech-tag:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.hobby-tag{background:var(--gradient-hobby);color:var(--color-white);box-shadow:0 4px 16px #f093fb4d}.hobby-tag:hover{transform:translateY(-2px);box-shadow:0 6px 20px #f093fb66}.contact-links{display:flex;justify-content:center;gap:var(--space-4);flex-wrap:wrap}.contact-link{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);text-decoration:none;border-radius:var(--radius-lg);font-weight:var(--font-medium);transition:var(--transition-all);position:relative;overflow:hidden;z-index:1}.contact-link:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;transition:var(--transition-all);z-index:-1}.contact-link.mastodon{background:var(--brand-mastodon);color:var(--color-white);box-shadow:0 4px 16px #6364ff4d}.contact-link.mastodon:before{background:var(--gradient-mastodon)}.contact-link.github{background:var(--gray-800);color:var(--color-white);box-shadow:0 4px 16px #1f29374d}.contact-link.github:before{background:linear-gradient(45deg,#374151,#1f2937)}.contact-link:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0000004d}.contact-link:hover:before{opacity:1}.contact-icon{font-size:var(--text-lg);filter:drop-shadow(var(--shadow-icon))}@media (max-width: 1024px){.interest-category{padding:var(--space-4)}}@media (max-width: 768px){.profile-item{grid-template-columns:1fr;gap:var(--space-2);text-align:center}.profile-label{font-size:var(--text-xs);border-bottom:1px solid var(--gray-300);padding-bottom:var(--space-1)}.tech-category{font-size:var(--text-lg);padding:var(--space-2) var(--space-3)}.tech-item{padding:var(--space-3)}.contact-links{flex-direction:column;align-items:center}.contact-link{width:100%;max-width:280px;justify-content:center}}@media (max-width: 480px){.tech-category{font-size:var(--text-base)}.interest-category{padding:var(--space-3)}.interest-title{font-size:var(--text-base)}.cert-item{padding:var(--space-3);gap:var(--space-2)}.cert-icon{font-size:var(--text-base)}}.blog-layout{display:grid;grid-template-columns:1fr 300px;gap:var(--space-24);align-items:start}.articles-section{min-height:600px}.sidebar{position:sticky;top:var(--space-20);display:flex;flex-direction:column}.sidebar-title{font-size:1.25rem;font-weight:600;color:var(--gray-800);margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:2px solid var(--primary-500)}.archive-list{list-style:none;padding:0;margin:0}.archive-item{margin-bottom:var(--space-4)}.archive-link{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) 0;text-decoration:none;color:var(--gray-600);border-bottom:1px solid var(--gray-200);transition:color .2s ease}.archive-link:hover{color:var(--primary-500)}.archive-month{font-weight:500}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}.stat-item{border-radius:var(--radius-md);color:#fff}.stat-number{display:block;font-size:1.5rem;font-weight:700}.stat-label{font-size:.875rem;opacity:.9}@media (max-width: 1024px){.blog-layout{grid-template-columns:1fr;gap:var(--space-20)}.sidebar{position:static;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-6)}}@media (max-width: 768px){.sidebar,.stats-grid{grid-template-columns:1fr}}@media (max-width: 640px){.articles-section{margin-top:var(--space-6)}}.prose p{margin-bottom:var(--space-6)}
