:root{--primary-50: #eff6ff;--primary-100: #dbeafe;--primary-200: #bfdbfe;--primary-300: #93c5fd;--primary-400: #60a5fa;--primary-500: #3b82f6;--primary-600: #2563eb;--primary-700: #1d4ed8;--primary-800: #1e40af;--primary-900: #1e3a8a;--secondary-50: #faf5ff;--secondary-100: #f3e8ff;--secondary-200: #e9d5ff;--secondary-300: #d8b4fe;--secondary-400: #c084fc;--secondary-500: #a855f7;--secondary-600: #9333ea;--secondary-700: #7c3aed;--secondary-800: #6b21a8;--secondary-900: #581c87;--accent-orange: #ff6b35;--accent-green: #10b981;--accent-yellow: #f59e0b;--accent-red: #ef4444;--accent-teal: #14b8a6;--accent-purple: #9b59b6;--neutral-50: #fafafa;--neutral-100: #f5f5f5;--neutral-200: #e5e5e5;--neutral-300: #d4d4d4;--neutral-400: #a3a3a3;--neutral-500: #737373;--neutral-600: #525252;--neutral-700: #404040;--neutral-800: #262626;--neutral-900: #171717;--success: var(--accent-green);--warning: var(--accent-yellow);--error: var(--accent-red);--info: var(--primary-500);--font-primary: 'Inter', 'Noto Sans JP', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', 'Yu Gothic UI', 'Meiryo UI', sans-serif;--font-heading: 'Inter', 'Noto Sans JP', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', 'Yu Gothic UI', 'Meiryo UI', sans-serif;--font-mono: 'JetBrains Mono', 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, 'Courier New', monospace;--text-xs: 0.75rem;--text-sm: 0.875rem;--text-md: 0.9375rem;--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;--spacing-0: 0;--spacing-px: 1px;--spacing-0-5: 0.125rem;--spacing-1: 0.25rem;--spacing-1-5: 0.375rem;--spacing-2: 0.5rem;--spacing-2-5: 0.625rem;--spacing-3: 0.75rem;--spacing-3-5: 0.875rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-7: 1.75rem;--spacing-8: 2rem;--spacing-9: 2.25rem;--spacing-10: 2.5rem;--spacing-11: 2.75rem;--spacing-12: 3rem;--spacing-14: 3.5rem;--spacing-16: 4rem;--spacing-20: 5rem;--spacing-24: 6rem;--spacing-28: 7rem;--spacing-32: 8rem;--radius-none: 0;--radius-sm: 0.125rem;--radius-base: 0.25rem;--radius-md: 0.375rem;--radius-lg: 0.5rem;--radius-xl: 0.75rem;--radius-2xl: 1rem;--radius-3xl: 1.5rem;--radius-full: 9999px;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, 0.05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);--shadow-base: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);--shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);--shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);--shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);--z-auto: auto;--z-0: 0;--z-10: 10;--z-20: 20;--z-30: 30;--z-40: 40;--z-50: 50;--z-dropdown: 1000;--z-modal: 1050;--z-notification: 1100;--z-tooltip: 1200;--container-xs: 475px;--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1280px;--container-2xl: 1536px;--duration-75: 75ms;--duration-100: 100ms;--duration-150: 150ms;--duration-200: 200ms;--duration-300: 300ms;--duration-500: 500ms;--duration-700: 700ms;--duration-1000: 1000ms;--ease-linear: linear;--ease-in: cubic-bezier(0.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, 0.2, 1);--ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);--ease-bounce: cubic-bezier(0.68, -0.55, 0.265, 1.55);--bg-primary: #ffffff;--bg-secondary: #ffffff;--bg-tertiary: #fafafa;--text-primary: var(--neutral-900);--text-secondary: var(--neutral-700);--text-tertiary: var(--neutral-500);--border-primary: var(--neutral-200);--border-secondary: var(--neutral-300);--bg-color-card: #ffffff;--border-radius-xl: var(--radius-xl);--border-radius-round: var(--radius-full);--transition-base: all var(--duration-300) var(--ease-out);--card-shadow-base: var(--shadow-sm);--text-color-light: #ffffff;--text-color-muted: var(--neutral-600);--font-family-heading: var(--font-heading);--primary-color: var(--primary-600);--primary-color-rgb: 37, 99, 235;--secondary-color: var(--secondary-500);--bg-gradient: linear-gradient(135deg, var(--primary-500), var(--primary-600))}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{line-height:var(--leading-normal);font-family:var(--font-primary);font-feature-settings:"kern" 1, "liga" 1;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{background-color:var(--bg-primary);color:var(--text-primary);font-size:var(--text-base);line-height:var(--leading-normal);min-height:100vh;display:flex;flex-direction:column;transition:background-color var(--duration-300) var(--ease-out),color var(--duration-300) var(--ease-out)}*:focus{outline:2px solid var(--primary-500);outline-offset:2px}*:focus:not(:focus-visible){outline:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-semibold);line-height:var(--leading-tight);color:var(--text-primary);margin-bottom:var(--spacing-4);letter-spacing:-0.025em;font-feature-settings:"kern" 1, "liga" 1}h1{font-size:var(--text-4xl);font-weight:var(--font-extrabold);line-height:var(--leading-none);letter-spacing:-0.05em}@media (min-width: 768px){h1{font-size:var(--text-5xl);letter-spacing:-0.075em}}h2{font-size:var(--text-3xl)}@media (min-width: 768px){h2{font-size:var(--text-4xl)}}h3{font-size:var(--text-2xl)}@media (min-width: 768px){h3{font-size:var(--text-3xl)}}h4{font-size:var(--text-xl)}@media (min-width: 768px){h4{font-size:var(--text-2xl)}}h5{font-size:var(--text-lg)}@media (min-width: 768px){h5{font-size:var(--text-xl)}}h6{font-size:var(--text-base)}@media (min-width: 768px){h6{font-size:var(--text-lg)}}p{margin-bottom:var(--spacing-4);line-height:var(--leading-relaxed);color:var(--text-secondary);font-feature-settings:"kern" 1, "liga" 1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--primary-600);text-decoration:none;transition:color var(--duration-200) var(--ease-out)}a:hover{color:var(--primary-700);text-decoration:underline}a:focus{outline:2px solid var(--primary-500);outline-offset:2px;border-radius:var(--radius-base)}strong,b{font-weight:var(--font-semibold)}em,i{font-style:italic}small{font-size:var(--text-sm);color:var(--text-tertiary)}code{font-family:var(--font-mono);font-size:0.85em;background-color:var(--neutral-100);padding:var(--spacing-0-5) var(--spacing-1-5);border-radius:var(--radius-sm);color:var(--neutral-800);border:1px solid var(--border-primary);word-break:break-all;white-space:pre-wrap;line-height:1.4}pre{font-family:var(--font-mono);background-color:var(--neutral-100);padding:var(--spacing-4);border-radius:var(--radius-lg);overflow-x:auto;margin-bottom:var(--spacing-4);border:1px solid var(--border-primary)}pre code{background:none;padding:0}.container{width:100%;margin-left:auto;margin-right:auto;padding-left:var(--spacing-4);padding-right:var(--spacing-4);box-sizing:border-box}@media (min-width: 640px){.container{max-width:var(--container-sm);padding-left:var(--spacing-6);padding-right:var(--spacing-6)}}@media (min-width: 768px){.container{max-width:var(--container-md);padding-left:var(--spacing-8);padding-right:var(--spacing-8)}}@media (min-width: 1024px){.container{max-width:var(--container-lg);padding-left:var(--spacing-6);padding-right:var(--spacing-6)}}@media (min-width: 1280px){.container{max-width:var(--container-xl);padding-left:var(--spacing-8);padding-right:var(--spacing-8)}}@media (min-width: 1536px){.container{max-width:var(--container-2xl)}}.grid{display:grid;gap:var(--spacing-6)}.grid.grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}.grid.grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.grid.grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.grid.grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}.grid.grid-cols-6{grid-template-columns:repeat(6, minmax(0, 1fr))}.grid.grid-cols-12{grid-template-columns:repeat(12, minmax(0, 1fr))}@media (min-width: 640px){.grid.sm\\:grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}.grid.sm\\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.grid.sm\\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.grid.sm\\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}}@media (min-width: 768px){.grid.md\\:grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}.grid.md\\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.grid.md\\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.grid.md\\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}}@media (min-width: 1024px){.grid.lg\\:grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}.grid.lg\\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.grid.lg\\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.grid.lg\\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}}.flex{display:flex}.flex.flex-col{flex-direction:column}.flex.flex-wrap{flex-wrap:wrap}.flex.items-center{align-items:center}.flex.items-start{align-items:flex-start}.flex.items-end{align-items:flex-end}.flex.justify-center{justify-content:center}.flex.justify-between{justify-content:space-between}.flex.justify-around{justify-content:space-around}.flex.justify-start{justify-content:flex-start}.flex.justify-end{justify-content:flex-end}.flex.gap-1{gap:var(--spacing-1)}.flex.gap-2{gap:var(--spacing-2)}.flex.gap-3{gap:var(--spacing-3)}.flex.gap-4{gap:var(--spacing-4)}.flex.gap-6{gap:var(--spacing-6)}.flex.gap-8{gap:var(--spacing-8)}.site-header{background:linear-gradient(135deg, var(--primary-500), var(--primary-600), var(--primary-700));border-bottom:1px solid rgba(255,255,255,0.1);box-shadow:var(--shadow-lg);position:sticky;top:0;z-index:var(--z-40);transition:all var(--duration-300) var(--ease-out);backdrop-filter:blur(10px)}.site-header::after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg, rgba(59,130,246,0.9) 0%, rgba(37,99,235,0.95) 50%, #1d4ed8 100%);z-index:-1}.site-header .header-content{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-2) 0;position:relative;z-index:1}@media (min-width: 768px){.site-header .header-content{padding:var(--spacing-3) 0}}.site-header .site-logo{display:inline-flex;align-items:center;gap:var(--spacing-2);font-family:'M PLUS 1p', 'M PLUS Rounded 1c', 'Noto Sans JP', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', 'Yu Gothic UI', 'Meiryo UI', sans-serif;font-size:clamp(1.3rem, 3vw, 1.9rem);font-weight:var(--font-extrabold);color:#ffffff;text-decoration:none;transition:all var(--duration-200) var(--ease-out);text-shadow:0 2px 8px rgba(0,0,0,0.3);letter-spacing:0.02em;line-height:1.1}@media (min-width: 768px){.site-header .site-logo{letter-spacing:0.04em}}.site-header .site-logo:hover{color:#ffffff;text-decoration:none;transform:translateY(-1px);text-shadow:0 4px 14px rgba(0,0,0,0.45)}.site-header .site-logo .site-logo__image{width:44px;height:44px;border-radius:9999px;object-fit:contain;background:transparent;box-shadow:none;border:none}@media (min-width: 768px){.site-header .site-logo .site-logo__image{width:52px;height:52px;transform:scale(1.12)}}.site-header .site-logo .site-logo__texts{display:flex;flex-direction:column;align-items:flex-start}.site-header .site-logo .site-logo__text{display:block;font-size:0.96em;letter-spacing:0.04em;color:#ffffff;text-shadow:0 3px 10px rgba(15,23,42,0.65);text-transform:none}.site-header .site-logo .site-logo__subtitle{display:inline-flex;align-items:center;gap:var(--spacing-1);margin-top:var(--spacing-1);font-size:clamp(0.48rem, 0.9vw, 0.64rem);letter-spacing:0.06em;text-transform:none;color:rgba(241,245,249,0.96);text-shadow:0 2px 6px rgba(15,23,42,0.7);position:relative;padding-left:0}.site-header .site-logo .site-logo__subtitle::before{content:"-";display:inline-block;margin-right:var(--spacing-1);opacity:0.7}.site-header .site-logo .text-sm{color:rgba(255,255,255,0.85);font-weight:var(--font-medium);font-size:0.65em;letter-spacing:0.05em;text-transform:uppercase}.site-header .site-logo .text-secondary{color:rgba(255,255,255,0.75);font-weight:var(--font-normal)}.site-header .header-nav{display:none}@media (min-width: 768px){.site-header .header-nav{display:flex;gap:var(--spacing-8)}}.site-header .header-nav a{font-weight:var(--font-medium);color:rgba(255,255,255,0.9);transition:all var(--duration-200) var(--ease-out);text-shadow:0 1px 2px rgba(0,0,0,0.1)}.site-header .header-nav a:hover{color:#ffffff;text-decoration:none;transform:translateY(-1px);text-shadow:0 2px 4px rgba(0,0,0,0.2)}.main-content{flex:1;padding:var(--spacing-8) 0}@media (min-width: 768px){.main-content{padding:var(--spacing-16) 0}}.main-content.blog-detail{padding:var(--spacing-4) 0}@media (min-width: 768px){.main-content.blog-detail{padding:var(--spacing-8) 0}}.site-footer{background:var(--bg-secondary);border-top:1px solid var(--border-primary);padding:var(--spacing-12) 0 var(--spacing-8);margin-top:auto}.site-footer .footer-content{text-align:center}@media (min-width: 768px){.site-footer .footer-content{display:flex;justify-content:space-between;align-items:center;text-align:left}}.site-footer .footer-text{color:var(--text-tertiary);font-size:var(--text-sm);margin-bottom:var(--spacing-4)}@media (min-width: 768px){.site-footer .footer-text{margin-bottom:0}}.site-footer .footer-links{display:flex;gap:var(--spacing-6);justify-content:center;align-items:center}@media (min-width: 768px){.site-footer .footer-links{justify-content:flex-end}}.site-footer .footer-links a{color:var(--text-tertiary);font-size:var(--text-sm);font-weight:var(--font-medium);transition:color var(--duration-200) var(--ease-out)}.site-footer .footer-links a:hover{color:var(--primary-600);text-decoration:none}.site-footer .footer-links .footer-separator{color:var(--text-tertiary);opacity:0.5;font-size:var(--text-sm)}.blog-layout{display:grid;gap:var(--spacing-4);grid-template-columns:1fr;grid-template-areas:"main" "sidebar";width:100%;max-width:100%;box-sizing:border-box;margin:0;padding:0 var(--spacing-4)}@media (min-width: 640px){.blog-layout{gap:var(--spacing-6);padding:0 var(--spacing-6)}}@media (min-width: 768px){.blog-layout{grid-template-columns:2fr 1fr;grid-template-areas:"main sidebar";gap:var(--spacing-8);padding:0 var(--spacing-8);max-width:var(--container-xl);margin:0 auto}}@media (min-width: 1024px){.blog-layout{gap:var(--spacing-10);padding:0 var(--spacing-6)}}@media (min-width: 1280px){.blog-layout{gap:var(--spacing-12);padding:0 var(--spacing-8)}}.blog-main{grid-area:main;min-width:0}.blog-main *{max-width:100%;box-sizing:border-box}.blog-main img,.blog-main video,.blog-main iframe{max-width:100%;height:auto}.blog-main pre,.blog-main code{overflow-x:auto;max-width:100%}.blog-main .table-container{width:100%;overflow-x:auto;margin:var(--spacing-4) 0;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.blog-main .table-container::-webkit-scrollbar{height:8px}.blog-main .table-container::-webkit-scrollbar-track{background:var(--neutral-100);border-radius:var(--radius-base)}.blog-main .table-container::-webkit-scrollbar-thumb{background:var(--neutral-400);border-radius:var(--radius-base)}.blog-main .table-container::-webkit-scrollbar-thumb:hover{background:var(--neutral-500)}.blog-sidebar{grid-area:sidebar;min-width:0}.blog-sidebar *{max-width:100%;box-sizing:border-box}.blog-sidebar .card{border-radius:var(--radius-xl);margin-bottom:var(--spacing-6)}.blog-sidebar .card:last-child{margin-bottom:0}.blog-sidebar .space-y-6>*+*{margin-top:var(--spacing-6)}.blog-articles-grid{display:grid;gap:var(--spacing-4);grid-template-columns:repeat(1, minmax(0, 1fr))}@media (min-width: 640px){.blog-articles-grid{gap:var(--spacing-6)}}@media (min-width: 768px){.blog-articles-grid{grid-template-columns:repeat(2, minmax(0, 1fr));gap:var(--spacing-8)}}.profile-introduction .profile-image{transition:transform var(--duration-300) var(--ease-out)}.profile-introduction .profile-image:hover{transform:scale(1.05)}.profile-introduction .profile-description{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--spacing-4);margin:var(--spacing-4) 0;border:1px solid var(--border-primary)}.profile-introduction .profile-btn{transition:all var(--duration-200) var(--ease-out)}.profile-introduction .profile-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.prose{width:100%;max-width:100%;overflow-wrap:break-word;word-wrap:break-word}.prose.max-w-none{max-width:100%}.prose *{max-width:100%;box-sizing:border-box}.prose img,.prose video,.prose iframe,.prose object,.prose embed{max-width:100%;height:auto;display:block;margin:var(--spacing-4) auto}.prose pre{overflow-x:auto;max-width:100%;white-space:pre;background-color:var(--neutral-100);padding:var(--spacing-4);border-radius:var(--radius-lg);border:1px solid var(--border-primary);margin:var(--spacing-4) 0;font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.prose pre::-webkit-scrollbar{height:8px}.prose pre::-webkit-scrollbar-track{background:var(--neutral-200);border-radius:var(--radius-base)}.prose pre::-webkit-scrollbar-thumb{background:var(--neutral-400);border-radius:var(--radius-base)}.prose pre::-webkit-scrollbar-thumb:hover{background:var(--neutral-500)}.prose pre code{background:none;padding:0;border:none;border-radius:0;font-size:inherit;white-space:pre;word-break:normal}.prose code:not(pre code){background-color:var(--neutral-100);padding:var(--spacing-0-5) var(--spacing-1-5);border-radius:var(--radius-sm);border:1px solid var(--border-primary);font-family:var(--font-mono);font-size:0.85em;color:var(--neutral-800);display:inline;word-break:break-all;white-space:pre-wrap;vertical-align:baseline;line-height:1.4}.prose table{width:100%;max-width:100%;margin:var(--spacing-6) 0;border-collapse:collapse;border-spacing:0;background-color:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}@media (max-width: 767px){.prose table{font-size:var(--text-sm)}}.prose table th{background-color:var(--neutral-50);color:var(--text-primary);font-weight:var(--font-semibold);text-align:left;padding:var(--spacing-3) var(--spacing-4);border-bottom:2px solid var(--border-secondary);border-right:1px solid var(--border-primary);font-size:var(--text-sm);letter-spacing:0.025em}.prose table th:last-child{border-right:none}@media (min-width: 768px){.prose table th{padding:var(--spacing-4) var(--spacing-5);font-size:var(--text-base)}}.prose table td{padding:var(--spacing-3) var(--spacing-4);border-bottom:1px solid var(--border-primary);border-right:1px solid var(--border-primary);color:var(--text-secondary);vertical-align:top;word-wrap:break-word;hyphens:auto}.prose table td:last-child{border-right:none}@media (min-width: 768px){.prose table td{padding:var(--spacing-4) var(--spacing-5)}}.prose table tbody tr{transition:background-color var(--duration-200) var(--ease-out)}.prose table tbody tr:nth-child(even){background-color:var(--neutral-50)}.prose table tbody tr:hover{background-color:var(--primary-50)}.prose table tbody tr:last-child td{border-bottom:none}.prose table th:empty::after,.prose table td:empty::after{content:'\00a0'}.prose .table-wrapper{width:100%;overflow-x:auto;margin:var(--spacing-4) 0;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.prose .table-wrapper::-webkit-scrollbar{height:8px}.prose .table-wrapper::-webkit-scrollbar-track{background:var(--neutral-100);border-radius:var(--radius-base)}.prose .table-wrapper::-webkit-scrollbar-thumb{background:var(--neutral-400);border-radius:var(--radius-base)}.prose .table-wrapper::-webkit-scrollbar-thumb:hover{background:var(--neutral-500)}.prose .table-wrapper table{margin:0;box-shadow:none;border-radius:0}.prose blockquote{margin:var(--spacing-4) 0;padding:var(--spacing-4);max-width:100%}.prose ul,.prose ol{padding-left:var(--spacing-6);max-width:100%}.prose ul li,.prose ol li{margin-bottom:var(--spacing-2);word-wrap:break-word}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{word-wrap:break-word;hyphens:auto;line-height:var(--leading-relaxed);padding-bottom:var(--spacing-2);border-bottom:2px solid var(--border-primary);width:100%}.prose .article-h1{font-size:var(--text-2xl);margin-top:var(--spacing-8);margin-bottom:var(--spacing-4);border-bottom-color:var(--primary-200);border-bottom-width:3px}@media (min-width: 768px){.prose .article-h1{font-size:var(--text-3xl)}}.prose .article-h2{font-size:var(--text-xl);margin-top:var(--spacing-6);margin-bottom:var(--spacing-3);border-bottom-color:var(--primary-100)}@media (min-width: 768px){.prose .article-h2{font-size:var(--text-2xl)}}.prose .article-h3{font-size:var(--text-lg);margin-top:var(--spacing-5);margin-bottom:var(--spacing-3);border-bottom-color:var(--neutral-200)}@media (min-width: 768px){.prose .article-h3{font-size:var(--text-xl)}}.prose .article-h4{font-size:var(--text-base);margin-top:var(--spacing-4);margin-bottom:var(--spacing-2);border-bottom-width:1px}@media (min-width: 768px){.prose .article-h4{font-size:var(--text-lg)}}.prose .article-h5{font-size:var(--text-base);margin-top:var(--spacing-4);margin-bottom:var(--spacing-2);border-bottom-width:1px;border-bottom-style:dotted}.prose .article-h6{font-size:var(--text-sm);margin-top:var(--spacing-3);margin-bottom:var(--spacing-2);border-bottom-width:1px;border-bottom-style:dotted}@media (min-width: 768px){.prose .article-h6{font-size:var(--text-base)}}.prose h1{font-size:var(--text-2xl);margin-top:var(--spacing-8);margin-bottom:var(--spacing-4);border-bottom-color:var(--primary-200);border-bottom-width:3px}@media (min-width: 768px){.prose h1{font-size:var(--text-3xl)}}.prose h2{font-size:var(--text-xl);margin-top:var(--spacing-6);margin-bottom:var(--spacing-4);padding-bottom:var(--spacing-3);border-bottom-color:var(--primary-300);border-bottom-width:4px}@media (min-width: 768px){.prose h2{font-size:var(--text-2xl)}}.prose h3{font-size:var(--text-lg);margin-top:var(--spacing-5);margin-bottom:var(--spacing-3);border-bottom-color:var(--neutral-200)}@media (min-width: 768px){.prose h3{font-size:var(--text-xl)}}.prose h4{font-size:var(--text-base);margin-top:var(--spacing-4);margin-bottom:var(--spacing-2);border-bottom-width:1px}@media (min-width: 768px){.prose h4{font-size:var(--text-lg)}}.prose h5{font-size:var(--text-base);margin-top:var(--spacing-4);margin-bottom:var(--spacing-2);border-bottom-width:1px;border-bottom-style:dotted}.prose h6{font-size:var(--text-sm);margin-top:var(--spacing-3);margin-bottom:var(--spacing-2);border-bottom-width:1px;border-bottom-style:dotted}@media (min-width: 768px){.prose h6{font-size:var(--text-base)}}.prose p{word-wrap:break-word;hyphens:auto}.prose h1 .heading-anchor::before,.prose h2 .heading-anchor::before,.prose h3 .heading-anchor::before,.prose h4 .heading-anchor::before,.prose h5 .heading-anchor::before,.prose h6 .heading-anchor::before{display:none}.loading-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(255,255,255,0.9);display:none;align-items:center;justify-content:center;z-index:9999;backdrop-filter:blur(2px)}.loading-overlay.loading-active{display:flex !important}.loading-content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-4);text-align:center}.loading-content p{font-size:var(--text-lg);font-weight:var(--font-medium);color:var(--text-primary);margin:0}.loading-spinner{width:48px;height:48px;border:4px solid var(--neutral-200);border-top:4px solid var(--primary-500);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.breadcrumbs{background:linear-gradient(135deg, var(--neutral-50), var(--neutral-100));border-radius:var(--radius-lg);padding:var(--spacing-4) var(--spacing-6);margin:var(--spacing-4) 0 var(--spacing-8) 0;border:1px solid var(--border-primary);box-shadow:var(--shadow-xs)}@media (max-width: 767px){.breadcrumbs{padding:var(--spacing-3) var(--spacing-4);margin:var(--spacing-3) 0 var(--spacing-6) 0}}.breadcrumb-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-2);font-size:var(--text-sm)}@media (min-width: 768px){.breadcrumb-list{font-size:var(--text-base)}}.breadcrumb-item{display:flex;align-items:center}.breadcrumb-item:not(:last-child)::after{content:'';display:inline-block;width:0;height:0;border-left:6px solid var(--neutral-400);border-top:4px solid transparent;border-bottom:4px solid transparent;margin-left:var(--spacing-3);opacity:0.7}@media (max-width: 767px){.breadcrumb-item:not(:last-child)::after{border-left-width:5px;border-top-width:3px;border-bottom-width:3px;margin-left:var(--spacing-2)}}.breadcrumb-item.active .breadcrumb-text{color:var(--text-primary);font-weight:var(--font-semibold)}.breadcrumb-item.active .breadcrumb-text i{color:var(--primary-600)}.breadcrumb-link{display:flex;align-items:center;gap:var(--spacing-2);color:var(--primary-600);text-decoration:none;padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-md);transition:all var(--duration-200) var(--ease-out);font-weight:var(--font-medium)}.breadcrumb-link:hover{background:var(--primary-50);color:var(--primary-700);text-decoration:none;transform:translateY(-1px);box-shadow:0 2px 4px rgba(59,130,246,0.1)}.breadcrumb-link:focus{outline:2px solid var(--primary-500);outline-offset:2px}.breadcrumb-link i{font-size:0.875em;color:var(--primary-500);transition:color var(--duration-200) var(--ease-out)}.breadcrumb-link span{line-height:1.2}@media (max-width: 767px){.breadcrumb-link{gap:var(--spacing-1-5);padding:var(--spacing-0-5) var(--spacing-1-5);font-size:var(--text-xs)}.breadcrumb-link i{font-size:0.75em}}.breadcrumb-text{display:flex;align-items:center;gap:var(--spacing-2);color:var(--text-secondary);font-weight:var(--font-medium);padding:var(--spacing-1) var(--spacing-2)}.breadcrumb-text i{font-size:0.875em;color:var(--neutral-500)}.breadcrumb-text span{line-height:1.2}@media (max-width: 767px){.breadcrumb-text{gap:var(--spacing-1-5);padding:var(--spacing-0-5) var(--spacing-1-5);font-size:var(--text-xs)}.breadcrumb-text i{font-size:0.75em}}.blog-article-card{display:block;text-decoration:none;background:var(--bg-primary);border-radius:var(--radius-2xl);border:1px solid var(--border-primary);overflow:hidden;transition:all var(--duration-300) var(--ease-out);box-shadow:0 4px 20px rgba(0,0,0,0.08);position:relative}.blog-article-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(59,130,246,0.15);border-color:var(--primary-200);text-decoration:none}.blog-article-card:hover .blog-article-title{color:var(--primary-600)}.blog-article-card:hover .blog-article-meta-date{color:var(--primary-500)}.blog-article-card:hover .blog-article-read-more{transform:translateX(4px);color:var(--primary-600)}.blog-article-card:focus{outline:none;box-shadow:0 0 0 3px rgba(59,130,246,0.3)}.blog-article-card .blog-article-content{padding:var(--spacing-8)}@media (max-width: 768px){.blog-article-card .blog-article-content{padding:var(--spacing-6)}}.blog-article-card .blog-article-title{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary);line-height:var(--leading-tight);margin-bottom:var(--spacing-4);transition:color var(--duration-200) var(--ease-out);word-wrap:break-word;word-break:break-word;hyphens:auto}@media (min-width: 768px){.blog-article-card .blog-article-title{font-size:var(--text-2xl)}}.blog-article-card .blog-article-excerpt{color:var(--text-secondary);font-size:var(--text-md);line-height:var(--leading-relaxed);margin-bottom:var(--spacing-4)}.blog-article-card .blog-article-meta{display:flex;align-items:center;justify-content:space-between;padding-top:var(--spacing-2);border-top:1px solid var(--border-primary)}.blog-article-card .blog-article-meta-date{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--text-sm);color:var(--text-tertiary);font-weight:var(--font-medium);transition:color var(--duration-200) var(--ease-out)}.blog-article-card .blog-article-meta-date i{color:var(--primary-400)}.blog-article-card .blog-article-read-more{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--text-sm);color:var(--primary-500);font-weight:var(--font-medium);transition:all var(--duration-200) var(--ease-out)}.blog-article-card .blog-article-read-more i{transition:transform var(--duration-200) var(--ease-out)}.blog-article-detail{background:var(--bg-primary);border-radius:var(--radius-2xl);box-shadow:0 4px 20px rgba(0,0,0,0.08);border:1px solid var(--border-primary);overflow:hidden}.blog-article-detail .blog-article-header{padding:var(--spacing-10) var(--spacing-8) var(--spacing-8);background:linear-gradient(135deg, var(--primary-50), var(--neutral-50));border-bottom:1px solid var(--border-primary)}@media (max-width: 768px){.blog-article-detail .blog-article-header{padding:var(--spacing-8) var(--spacing-6) var(--spacing-6)}}.blog-article-detail .blog-article-header .blog-article-tags{margin-bottom:var(--spacing-6)}.blog-article-detail .blog-article-header .blog-article-title{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--text-primary);line-height:var(--leading-tight);margin-bottom:var(--spacing-6)}@media (max-width: 768px){.blog-article-detail .blog-article-header .blog-article-title{font-size:var(--text-2xl);margin-bottom:var(--spacing-4)}}.blog-article-detail .blog-article-header .blog-article-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-4);color:var(--text-secondary);font-size:var(--text-sm)}.blog-article-detail .blog-article-header .blog-article-meta .meta-item{display:flex;align-items:center;gap:var(--spacing-2)}.blog-article-detail .blog-article-header .blog-article-meta .meta-item i{color:var(--primary-500)}.blog-article-detail .blog-article-body{padding:var(--spacing-8)}@media (max-width: 768px){.blog-article-detail .blog-article-body{padding:var(--spacing-6)}}.blog-sidebar-section{background:var(--bg-primary);border-radius:var(--radius-xl);border:1px solid var(--border-primary);overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,0.06);margin-bottom:var(--spacing-6);transition:all var(--duration-300) var(--ease-out)}.blog-sidebar-section .sidebar-header{padding:var(--spacing-6);background:linear-gradient(135deg, var(--primary-50), var(--neutral-50));border-bottom:1px solid var(--border-primary)}.blog-sidebar-section .sidebar-header .sidebar-title{display:flex;align-items:center;gap:var(--spacing-3);font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.blog-sidebar-section .sidebar-header .sidebar-title i{color:var(--primary-500);font-size:var(--text-base)}.blog-sidebar-section .sidebar-content{padding:var(--spacing-6)}.blog-search-form .search-input-group{display:flex;background:var(--bg-tertiary);border:1px solid var(--border-secondary);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--duration-200) var(--ease-out)}.blog-search-form .search-input-group:focus-within{border-color:var(--primary-500);box-shadow:0 0 0 3px rgba(59,130,246,0.1)}.blog-search-form .search-input-group .search-input{flex:1;padding:var(--spacing-3) var(--spacing-4);border:none;background:transparent;font-size:var(--text-base);color:var(--text-primary)}.blog-search-form .search-input-group .search-input::placeholder{color:var(--text-tertiary)}.blog-search-form .search-input-group .search-input:focus{outline:none}.blog-search-form .search-input-group .search-button{padding:var(--spacing-3) var(--spacing-4);background:var(--primary-500);color:white;border:none;cursor:pointer;transition:background-color var(--duration-200) var(--ease-out)}.blog-search-form .search-input-group .search-button:hover{background:var(--primary-600)}.blog-search-form .search-input-group .search-button:focus{outline:none;background:var(--primary-600)}.blog-category-tags{display:flex;flex-direction:column;gap:var(--spacing-2)}.blog-category-tags .category-tag{display:inline-flex;align-items:center;padding:var(--spacing-2) var(--spacing-4);background:var(--neutral-100);color:var(--text-secondary);font-weight:var(--font-medium);border-radius:var(--radius-full);text-decoration:none;border:1px solid var(--border-primary);transition:all var(--duration-200) var(--ease-out)}.blog-category-tags .category-tag:hover{background:var(--primary-100);color:var(--primary-700);border-color:var(--primary-200);text-decoration:none;transform:translateY(-1px)}.blog-profile{text-align:center}.blog-profile .profile-avatar{width:80px;height:80px;border-radius:50%;border:4px solid var(--primary-100);box-shadow:0 4px 16px rgba(59,130,246,0.2);margin:0 auto var(--spacing-4);transition:all var(--duration-300) var(--ease-out)}.blog-profile .profile-avatar:hover{transform:scale(1.05);box-shadow:0 8px 24px rgba(59,130,246,0.3)}.blog-profile .profile-name{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--primary-600);margin-bottom:var(--spacing-3)}.blog-profile .profile-description{background:var(--primary-50);padding:var(--spacing-4);border-radius:var(--radius-lg);border:1px solid var(--primary-100);margin-bottom:var(--spacing-4)}.blog-profile .profile-description p{font-size:var(--text-sm);line-height:var(--leading-relaxed);color:var(--text-secondary);margin:0}.blog-profile .profile-link{display:inline-flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-6);background:linear-gradient(135deg, var(--primary-500), var(--primary-600));color:white;font-size:var(--text-sm);font-weight:var(--font-medium);text-decoration:none;border-radius:var(--radius-lg);transition:all var(--duration-200) var(--ease-out)}.blog-profile .profile-link:hover{background:linear-gradient(135deg, var(--primary-600), var(--primary-700));transform:translateY(-2px);box-shadow:0 8px 16px rgba(59,130,246,0.3);text-decoration:none;color:white}.blog-back-link{display:inline-flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-4) var(--spacing-8);background:linear-gradient(135deg, var(--primary-500), var(--primary-600));color:white;font-size:var(--text-base);font-weight:var(--font-semibold);text-decoration:none;border-radius:var(--radius-xl);border:none;box-shadow:0 4px 12px rgba(59,130,246,0.3);transition:all var(--duration-200) var(--ease-out)}.blog-back-link:hover{background:linear-gradient(135deg, var(--primary-600), var(--primary-700));transform:translateY(-3px);box-shadow:0 8px 20px rgba(59,130,246,0.4);text-decoration:none;color:white}.blog-back-link i{font-size:var(--text-lg);transition:transform var(--duration-200) var(--ease-out)}.blog-back-link:hover i{transform:translateX(-4px)}.article-navigation{margin-top:var(--spacing-12);margin-bottom:var(--spacing-10)}.blog-share-section{background:var(--bg-primary);border-radius:var(--radius-xl);border:1px solid var(--border-primary);padding:var(--spacing-6);margin-top:var(--spacing-8);box-shadow:0 2px 12px rgba(0,0,0,0.06)}.blog-share-section .share-title{display:flex;align-items:center;gap:var(--spacing-3);font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--spacing-4)}.blog-share-section .share-title i{color:var(--primary-500)}.blog-share-section .share-buttons{display:flex;gap:var(--spacing-3);flex-wrap:wrap}.blog-share-section .share-buttons .share-button{display:inline-flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2-5) var(--spacing-4);font-size:var(--text-sm);font-weight:var(--font-medium);text-decoration:none;border-radius:var(--radius-lg);border:1px solid transparent;transition:all var(--duration-200) var(--ease-out);cursor:pointer}.blog-share-section .share-buttons .share-button:hover{text-decoration:none;transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,0.15)}.blog-share-section .share-buttons .share-button.share-twitter{background:#000000;color:white}.blog-share-section .share-buttons .share-button.share-twitter:hover{background:#1a1a1a;box-shadow:0 4px 12px rgba(0,0,0,0.4);color:white}.blog-share-section .share-buttons .share-button.share-facebook{background:#1877f2;color:white}.blog-share-section .share-buttons .share-button.share-facebook:hover{background:#166fe5;box-shadow:0 4px 12px rgba(24,119,242,0.4);color:white}.blog-share-section .share-buttons .share-button.share-copy{background:#10b981;color:white}.blog-share-section .share-buttons .share-button.share-copy:hover{background:#059669;box-shadow:0 4px 12px rgba(16,185,129,0.4);color:white}.blog-no-results{text-align:center;padding:var(--spacing-16) var(--spacing-8);background:var(--bg-primary);border-radius:var(--radius-2xl);border:1px solid var(--border-primary);box-shadow:0 4px 20px rgba(0,0,0,0.08)}.blog-no-results .no-results-icon{width:120px;height:120px;margin:0 auto var(--spacing-6);opacity:0.8}@media (max-width: 768px){.blog-no-results .no-results-icon{width:80px;height:80px}}.blog-no-results .no-results-title{font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--spacing-3)}@media (max-width: 768px){.blog-no-results .no-results-title{font-size:var(--text-xl)}}.blog-no-results .no-results-description{color:var(--text-secondary);font-size:var(--text-base);line-height:var(--leading-relaxed);margin:0}.blog-search-alert{background:linear-gradient(135deg, var(--primary-50), var(--primary-100));border:1px solid var(--primary-200);border-radius:var(--radius-xl);padding:var(--spacing-6);margin-bottom:var(--spacing-8);box-shadow:0 2px 12px rgba(59,130,246,0.1)}.blog-search-alert .alert-content{display:flex;align-items:center;gap:var(--spacing-3)}.blog-search-alert .alert-content .alert-icon{color:var(--primary-600);font-size:var(--text-xl);flex-shrink:0}.blog-search-alert .alert-content .alert-text .alert-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--primary-800);margin-bottom:var(--spacing-1)}.blog-search-alert .alert-content .alert-text .alert-description{color:var(--primary-700);font-size:var(--text-sm);margin:0}@media (max-width: 768px){.blog-article-card .blog-article-content{padding:var(--spacing-5)}.blog-article-card .blog-article-title{font-size:var(--text-lg);min-height:3rem}.blog-article-card .blog-article-excerpt{font-size:var(--text-sm)}.blog-article-card .blog-article-meta{flex-direction:column;align-items:flex-start;gap:var(--spacing-3)}.blog-sidebar-section{margin-bottom:var(--spacing-4)}.blog-sidebar-section .sidebar-header{padding:var(--spacing-4)}.blog-sidebar-section .sidebar-content{padding:var(--spacing-4)}.blog-category-tags .category-tag{font-size:var(--text-xs);padding:var(--spacing-1-5) var(--spacing-3)}}.article-agenda{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);padding:var(--spacing-6);margin-bottom:var(--spacing-8);box-shadow:0 2px 12px rgba(0,0,0,0.06)}.article-agenda .agenda-header{display:flex;align-items:center;gap:var(--spacing-3);margin-bottom:var(--spacing-4)}.article-agenda .agenda-header .agenda-image{width:24px;height:24px;flex-shrink:0}.article-agenda .agenda-header strong{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary)}.article-agenda .agenda-list{list-style:none;padding:0;margin:0}.article-agenda .agenda-list li{padding:var(--spacing-2) 0;border-bottom:1px solid var(--border-primary);color:var(--text-secondary);font-size:var(--text-base);line-height:var(--leading-relaxed);position:relative;padding-left:var(--spacing-6)}.article-agenda .agenda-list li:last-child{border-bottom:none}.article-agenda .agenda-list li:before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:4px;background:var(--primary-500);border-radius:50%}.article-agenda .agenda-list li:hover{color:var(--primary-600);background:var(--primary-50);border-radius:var(--radius-base);cursor:pointer;transition:all var(--duration-200) var(--ease-out)}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.7}}.blog-article-card{animation:fadeInUp 0.6s ease-out}.blog-article-card:nth-child(2){animation-delay:0.1s}.blog-article-card:nth-child(3){animation-delay:0.2s}.blog-article-card:nth-child(4){animation-delay:0.3s}.blog-article-card:nth-child(5){animation-delay:0.4s}.blog-article-card:nth-child(6){animation-delay:0.5s}.blog-sidebar-section{animation:fadeInUp 0.6s ease-out}.blog-sidebar-section:nth-child(2){animation-delay:0.2s}.blog-sidebar-section:nth-child(3){animation-delay:0.4s}.blog-sidebar-section:nth-child(4){animation-delay:0.6s}.blog-loading .skeleton-card{background:linear-gradient(90deg, var(--neutral-100) 25%, var(--neutral-50) 50%, var(--neutral-100) 75%);background-size:200% 100%;animation:shimmer 2s infinite;border-radius:var(--radius-xl);height:200px;margin-bottom:var(--spacing-6)}@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
