@charset "UTF-8";@layer reset,tokens,utilities,components,layouts,pages;:root{--color-primary:#2563eb;--color-primary-dark:#1d4ed8;--color-primary-darker:#1e40af;--color-primary-light:#dbeafe;--color-primary-lighter:#eff6ff;--color-primary-focus:rgba(37, 99, 235, 0.15);--color-primary-shadow-weak:rgba(37, 99, 235, 0.2);--color-primary-shadow-strong:rgba(37, 99, 235, 0.3);--color-accent:#3b82f6;--color-accent-light:#60a5fa;--gradient-angle-diagonal:160deg;--glass-bg-opacity:0.08;--glass-border-opacity:0.15}@layer tokens;:root{--sin-30:sin(30deg);--cos-30:cos(30deg);--tan-45:tan(45deg);--sqrt-2:sqrt(2);--pow-2-3:pow(2, 3);--log-10:log(10);--exp-1:exp(1);--round-nearest:4;--round-up:4;--round-down:3;--round-to-zero:3;--round-nearest-even:4;--mod-7-3:mod(7, 3);--rem-7-3:rem(7, 3);--color-white:#fff;--color-black:#000;--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5db;--color-gray-400:#9ca3af;--color-gray-500:#6b7280;--color-gray-600:#4b5563;--color-gray-700:#374151;--color-gray-800:#1f2937;--color-gray-900:#111827;--color-primary-oklch:oklch(55% 0.2 250);--color-accent-oklch:oklch(65% 0.25 240);--color-primary:oklch(from var(--color-primary-oklch) l c h);--color-primary-dark:oklch(from var(--color-primary-oklch) calc(l - 10%) c h);--color-primary-darker:oklch(from var(--color-primary-oklch) calc(l - 15%) c h);--color-primary-light:oklch(from var(--color-primary-oklch) calc(l + 20%) calc(c * 0.3) h);--color-primary-lighter:oklch(from var(--color-primary-oklch) calc(l + 30%) calc(c * 0.2) h);--color-primary-focus:oklch(from var(--color-primary-oklch) l c h / 0.15);--color-primary-shadow-weak:oklch(from var(--color-primary-oklch) l c h / 0.2);--color-primary-shadow-strong:oklch(from var(--color-primary-oklch) l c h / 0.3);--color-accent:oklch(from var(--color-accent-oklch) l c h);--color-accent-light:oklch(from var(--color-accent-oklch) calc(l + 10%) c h);--color-bg-primary:var(--color-gray-50);--color-bg-secondary:var(--color-white);--color-bg-tertiary:var(--color-gray-100);--color-text-primary:var(--color-gray-900);--color-text-secondary:var(--color-gray-700);--color-text-tertiary:var(--color-gray-600);--color-text-muted:var(--color-gray-500);--space-1:0.25rem;--space-2:0.5rem;--space-3:0.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-1-5:0.375rem;--space-2-5:0.625rem;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-size-5xl:3rem;--blog-heading-h1:clamp(2rem, 5vw, 3rem);--blog-heading-h2:clamp(1.5rem, 3.5vw, 2rem);--blog-heading-h3:clamp(1.25rem, 2.5vw, 1.5rem);--blog-body-size:clamp(1rem, 1.5vw, 1.125rem);--blog-meta-size:clamp(0.8125rem, 1.2vw, 0.875rem);--blog-card-title:clamp(1.25rem, 2.5vw, 1.75rem);--line-height-tight:1.25;--line-height-snug:1.375;--line-height-normal:1.5;--line-height-relaxed:1.625;--line-height-loose:1.75;--blog-line-height-heading:1.3;--blog-line-height-body:1.7;--blog-line-height-relaxed:1.8;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--letter-spacing-tight:-0.02em;--letter-spacing-normal:0.025em;--letter-spacing-wide:0.05em;--radius-sm:0.25rem;--radius-base:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-full:9999px;--border-width-thin:1px;--border-width-base:2px;--border-width-thick:3px;--border-width-heavy:4px;--shadow-xs:0 1px 2px 0 rgb(0 0 0 / 0.04);--shadow-sm:0 1px 3px 0 rgb(0 0 0 / 0.08), 0 1px 2px -1px rgb(0 0 0 / 0.06);--shadow-md:0 4px 6px -1px rgb(0 0 0 / 0.08), 0 2px 4px -2px rgb(0 0 0 / 0.06);--shadow-lg:0 10px 15px -3px rgb(0 0 0 / 0.08), 0 4px 6px -4px rgb(0 0 0 / 0.06);--shadow-xl:0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.08);--shadow-2xl:0 25px 50px -12px rgb(0 0 0 / 0.25);--shadow-inner:inset 0 2px 4px 0 rgb(0 0 0 / 0.05);--shadow-focus:0 0 0 3px var(--color-primary-focus);--shadow-badge-large:0 10px 40px var(--color-primary-shadow-strong), 0 4px 16px var(--color-primary-shadow-weak);--transition-fast:150ms cubic-bezier(0.4, 0, 0.2, 1);--transition-base:250ms cubic-bezier(0.4, 0, 0.2, 1);--transition-slow:350ms cubic-bezier(0.4, 0, 0.2, 1);--transition-bounce:400ms cubic-bezier(0.68, -0.55, 0.265, 1.55);--transition-smooth:300ms cubic-bezier(0.16, 1, 0.3, 1);--transition-all:all var(--transition-base);--transition-colors:color var(--transition-base), background-color var(--transition-base), border-color var(--transition-base);--transition-transform:transform var(--transition-smooth);--transition-opacity:opacity var(--transition-base);--scale-hover:1.05;--scale-active:1.1;--translate-hover:-2px;--translate-hover-lg:-4px;--translate-full:-100%;--opacity-10:0.1;--opacity-20:0.2;--opacity-50:0.5;--opacity-70:0.7;--opacity-90:0.9;--overlay-light:var(--color-overlay-light-weak);--overlay-medium:var(--color-overlay-light-20);--overlay-strong:var(--color-overlay-light-30);--overlay-dark:color-mix(in srgb, var(--color-black) 50%, transparent);--container-max-width:1200px;--sidebar-width:20rem;--prose-max-width:65ch;--post-image-height:12rem;--profile-image-size:8rem;--social-link-size:2.5rem;--icon-size-base:1.25rem;--z-base:1;--z-dropdown:10;--z-sticky:20;--z-overlay:30;--z-sidebar:40;--z-modal:50;--z-toast:60;--blur-sm:4px;--blur-md:8px;--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--thumbnail-height-sm:10rem;--thumbnail-height-base:12rem;--thumbnail-height-lg:15rem;--post-card-thumbnail-height:260px;--gradient-angle-default:135deg;--gradient-angle-vertical:180deg;--gradient-angle-horizontal:90deg;--gradient-angle-diagonal:160deg;--duration-instant:100ms;--duration-fast:150ms;--duration-normal:250ms;--duration-slow:350ms;--duration-slower:500ms;--duration-slowest:600ms;--ease-in-out:cubic-bezier(0.4, 0, 0.2, 1);--ease-elastic:cubic-bezier(0.68, -0.55, 0.265, 1.55);--ease-bounce:cubic-bezier(0.34, 1.56, 0.64, 1);--ease-smooth:cubic-bezier(0.16, 1, 0.3, 1);--color-overlay-light-weak:color-mix(in srgb, var(--color-white) 4%, transparent);--color-overlay-light-medium:color-mix(in srgb, var(--color-white) 8%, transparent);--color-overlay-light-strong:color-mix(in srgb, var(--color-white) 12%, transparent);--color-overlay-light-15:color-mix(in srgb, var(--color-white) 15%, transparent);--color-overlay-light-20:color-mix(in srgb, var(--color-white) 20%, transparent);--color-overlay-light-25:color-mix(in srgb, var(--color-white) 25%, transparent);--color-overlay-light-30:color-mix(in srgb, var(--color-white) 30%, transparent);--color-overlay-light-40:color-mix(in srgb, var(--color-white) 40%, transparent);--color-overlay-light-50:color-mix(in srgb, var(--color-white) 50%, transparent);--color-overlay-light-80:color-mix(in srgb, var(--color-white) 80%, transparent);--color-overlay-light-92:color-mix(in srgb, var(--color-white) 92%, transparent);--color-overlay-light-95:color-mix(in srgb, var(--color-white) 95%, transparent);--color-overlay-dark-weak:color-mix(in srgb, var(--color-black) 10%, transparent);--color-overlay-dark-medium:color-mix(in srgb, var(--color-black) 20%, transparent);--color-overlay-dark-strong:color-mix(in srgb, var(--color-black) 30%, transparent);--color-overlay-dark-15:color-mix(in srgb, var(--color-black) 15%, transparent);--color-overlay-dark-25:color-mix(in srgb, var(--color-black) 25%, transparent);--glass-bg-opacity:0.08;--glass-border-opacity:0.15;--glass-blur:8px;--glass-blur-strong:10px;--border-color-base:var(--color-gray-200);--border-color-light:var(--color-gray-100);--border-color-strong:var(--color-gray-300);--min-touch-target:44px;--control-button-min-width:3.5rem;--control-button-min-width-mobile:3rem;--inset-control-padding:var(--space-3);--calc-icon-size:calc(var(--icon-size-base) * var(--scale-hover));--calc-card-padding:calc(var(--space-6) + var(--space-2));--calc-sidebar-offset:calc(var(--sidebar-width) + var(--space-4));--calc-content-max-width:min(var(--container-max-width), 100vw - var(--space-8));--calc-fluid-spacing:clamp(var(--space-4), 5vw, var(--space-8));--calc-fluid-font-size:clamp(var(--font-size-base), 2.5vw, var(--font-size-xl))}@layer reset{*,
  *::before,
  *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0; }
  html {
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%; }
  body {
    font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    line-height: var(--line-height-normal);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    background-color: var(--color-bg-primary);
    color: var(--color-text-primary);
    padding-inline-start: var(--sidebar-width);
    transition: padding-inline-start var(--transition-slow); }
    @media (max-width: 767px) {
      body {
        padding-inline-start: 0; } }
  
  *:focus-visible {
    outline: var(--border-width-base) solid var(--color-primary);
    outline-offset: var(--space-1);
    border-radius: var(--radius-sm); }
  
  button:focus-visible, a:focus-visible {
    box-shadow: var(--shadow-focus); }
  
  button {
    border: none;
    background: none;
    font: inherit;
    color: inherit;
    cursor: pointer; }
  
  .sr-only {
    position: absolute;
    inline-size: 1px;
    block-size: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0; }
  
  .focus\:not-sr-only:focus {
    position: static;
    inline-size: auto;
    block-size: auto;
    padding: var(--space-2) var(--space-4);
    margin: 0;
    overflow: visible;
    clip: auto;
    white-space: normal; } }:root{--link-decoration-thickness:var(--border-width-thin);--link-underline-offset:var(--space-1)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-smooth),text-decoration-color var(--transition-smooth);cursor:pointer}a:hover{color:var(--color-primary-dark)}a:focus-visible{outline:var(--border-width-base)solid var(--color-primary);outline-offset:var(--space-1);border-radius:var(--radius-sm)}.link-plain{text-decoration:none}.link-inherit{color:inherit}.link-muted{color:var(--color-text-secondary)}.link-underline{text-decoration:underline;text-underline-offset:var(--link-underline-offset);text-decoration-thickness:var(--link-decoration-thickness);text-decoration-color:var(--color-primary)}.link-button-like{text-decoration:none;display:inline-flex;align-items:center;gap:var(--space-2)}.link-primary{color:var(--color-primary)}.link-primary:hover{color:var(--color-primary-dark)}.link-secondary{color:var(--color-text-secondary)}.prose{max-inline-size:var(--prose-max-width);font-size:var(--blog-body-size);line-height:var(--blog-line-height-body);color:var(--color-text-secondary)}.prose :is(h1,h2,h3,h4,h5,h6){font-weight:var(--font-weight-bold);color:var(--color-text-primary);letter-spacing:-.01em;margin-bottom:var(--space-4);line-height:var(--blog-line-height-heading);margin-top:var(--space-8);scroll-margin-top:var(--space-16)}.prose h1{font-size:var(--blog-heading-h1);letter-spacing:-.03em;margin-top:0}.prose h2{font-size:var(--blog-heading-h2);letter-spacing:-.02em;padding-bottom:var(--space-2);border-bottom:var(--border-width-base)solid var(--border-color-light)}.prose h3{font-size:var(--blog-heading-h3);letter-spacing:-.015em}.prose h4{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold)}.prose h5{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.prose h6{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--color-text-tertiary)}.prose p{margin-block-end:var(--space-5);line-height:var(--blog-line-height-body);color:var(--color-text-secondary)}.prose p:last-child{margin-block-end:0}.prose p:first-of-type{font-size:var(--font-size-lg);line-height:var(--blog-line-height-relaxed);color:var(--color-text-primary);margin-block-end:var(--space-6)}.prose :is(ul,ol){margin-block-end:var(--space-5);padding-inline-start:var(--space-8)}.prose li{margin-block-end:var(--space-3);line-height:var(--blog-line-height-body);padding-inline-start:var(--space-2)}.prose li::marker{color:var(--color-primary);font-weight:var(--font-weight-semibold)}.prose ul li{list-style-type:disc}.prose ul li ul li{list-style-type:circle}.prose ol{list-style-type:decimal}.prose ol ol{list-style-type:lower-alpha}.prose strong{font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.prose em{font-style:italic;color:var(--color-text-primary)}.prose blockquote{margin:var(--space-6)0;padding:var(--space-5)var(--space-6);border-inline-start:var(--border-width-heavy)solid var(--color-primary);background-color:var(--color-gray-50);border-radius:var(--radius-base);font-style:italic;color:var(--color-text-secondary)}.prose blockquote p{margin-block-end:var(--space-3)}.prose blockquote p:last-child{margin-block-end:0}.prose blockquote cite{display:block;margin-block-start:var(--space-3);font-size:var(--font-size-sm);font-style:normal;color:var(--color-text-tertiary)}.prose blockquote cite::before{content:'— '}.prose code{font-family:sf mono,Monaco,cascadia code,courier new,monospace;font-size:.9em;padding:var(--space-1)var(--space-2);background-color:var(--color-gray-100);border-radius:var(--radius-sm);color:var(--color-primary-dark);font-weight:var(--font-weight-medium)}.prose pre{margin:var(--space-6)0;padding:var(--space-5);background-color:var(--color-gray-900);border-radius:var(--radius-md);overflow-x:auto;line-height:var(--line-height-relaxed)}.prose pre code{background:0 0;padding:0;color:var(--color-gray-50);font-size:var(--font-size-sm)}.prose hr{margin:var(--space-8)0;border:none;border-block-start:var(--border-width-base)solid var(--border-color-base)}.prose img{max-width:100%;height:auto;border-radius:var(--radius-md);margin:var(--space-6)0}.prose figure{margin:var(--space-8)0}.prose figure img{margin:0}.prose figure figcaption{margin-block-start:var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-tertiary);text-align:center;font-style:italic}.prose table{width:100%;margin:var(--space-6)0;border-collapse:collapse;font-size:var(--font-size-sm)}.prose thead{border-block-end:var(--border-width-base)solid var(--border-color-strong)}.prose th{padding:var(--space-3)var(--space-4);text-align:left;font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.prose td{padding:var(--space-3)var(--space-4);border-block-end:var(--border-width-thin)solid var(--border-color-light)}.prose tbody tr:hover{background-color:var(--color-gray-50)}.prose a{color:var(--color-primary);text-decoration:underline;text-underline-offset:var(--space-1);text-decoration-thickness:var(--border-width-thin);text-decoration-color:var(--color-primary-light);transition:all var(--transition-fast);font-weight:var(--font-weight-medium)}.prose a:hover{color:var(--color-primary-dark);text-decoration-color:var(--color-primary-dark);text-decoration-thickness:var(--border-width-base)}.prose .tag-pill,.prose a.tag-pill,.prose .tag-pill.primary,.prose a.tag-pill.primary{text-decoration:none;text-underline-offset:0}.prose-lg{font-size:var(--font-size-lg);line-height:var(--blog-line-height-relaxed)}.prose-lg h1{font-size:calc(var(--blog-heading-h1) * 1.1)}.prose-lg h2{font-size:calc(var(--blog-heading-h2) * 1.1)}.prose-lg h3{font-size:calc(var(--blog-heading-h3) * 1.1)}.prose-sm{font-size:var(--font-size-sm);line-height:var(--blog-line-height-body)}.prose-sm h1{font-size:var(--blog-heading-h2)}.prose-sm h2{font-size:var(--blog-heading-h3)}.prose-sm h3{font-size:var(--font-size-xl)}@media(min-width:1024px){.prose.lg\:prose-xl{font-size:var(--font-size-lg);line-height:var(--blog-line-height-relaxed)}.prose.lg\:prose-xl h1{font-size:calc(var(--blog-heading-h1) * 1.1)}.prose.lg\:prose-xl h2{font-size:calc(var(--blog-heading-h2) * 1.05)}.prose.lg\:prose-xl h3{font-size:calc(var(--blog-heading-h3) * 1.05)}}.max-w-none{max-inline-size:none}@layer components{.card {
    background-color: var(--color-bg-secondary);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    padding: var(--space-6);
    border: var(--border-width-thin) solid var(--border-color-light);
    transition: var(--transition-all); }
    .card:hover {
      transform: translateY(var(--translate-hover));
      box-shadow: var(--shadow-md);
      border-color: var(--border-color-base); }
    @media (min-width: 768px) {
      .card {
        padding: var(--space-8); } }
  
  
  :is(.experience-item, .education-item) {
    border-inline-start: var(--border-width-heavy) solid var(--color-primary);
    padding-inline-start: var(--space-6);
    transition: var(--transition-colors), var(--transition-transform); }
    :is(.experience-item, .education-item):hover {
      border-inline-start-color: var(--color-primary-dark);
      transform: translateX(2px); }
    @media (max-width: 767px) {
      :is(.experience-item, .education-item) {
        border-inline-start-width: var(--border-width-thick);
        padding-inline-start: var(--space-4); } }
  
  
  .project-card {
    background-color: var(--color-bg-secondary);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    padding: var(--space-6);
    border: var(--border-width-thin) solid var(--border-color-base);
    transition: var(--transition-all);
    position: relative;
    overflow: hidden; }
    .project-card:hover {
      transform: translateY(var(--translate-hover));
      box-shadow: var(--shadow-md);
      border-color: var(--color-primary); }
    @media (min-width: 768px) {
      .project-card {
        padding: var(--space-8); } }
    .project-card::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 3px;
      background: linear-gradient(90deg, var(--color-primary), var(--color-accent));
      transform: scaleX(0);
      transition: transform var(--transition-smooth);
      transform-origin: left; }
    .project-card:hover::before {
      transform: scaleX(1); }
  
  
  .skills-category {
    padding-block-end: var(--space-6);
    border-block-end: var(--border-width-thin) solid var(--border-color-light); }
    .skills-category:last-child {
      border-block-end: none;
      padding-block-end: 0; }
  
  .skill-badge {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    padding: var(--space-1) var(--space-3);
    border-radius: var(--radius-full);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-bold);
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: var(--letter-spacing-normal);
    transition: var(--transition-all);
    background: var(--color-primary-light);
    color: var(--color-primary-darker);
    border: var(--border-width-thin) solid var(--color-primary-light);
    padding: var(--space-2) var(--space-4);
    border-radius: var(--radius-md);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-semibold);
    cursor: default;
    box-shadow: var(--shadow-xs);
    list-style: none; }
    .skill-badge:hover {
      transform: translateY(-2px);
      box-shadow: var(--shadow-md); }
    .skill-badge:hover {
      background-color: var(--color-primary);
      border-color: var(--color-primary);
      color: var(--color-white);
      transform: translateY(-2px) scale(1.02);
      box-shadow: var(--shadow-sm); }
  
  
  .tag-pill {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    padding: var(--space-1) var(--space-3);
    border-radius: var(--radius-full);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-bold);
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: var(--letter-spacing-normal);
    transition: var(--transition-all);
    background: var(--color-gray-100);
    color: var(--color-gray-700);
    border: var(--border-width-thin) solid var(--color-gray-300); }
    .tag-pill:hover {
      transform: translateY(-2px);
      box-shadow: var(--shadow-md); }
    .tag-pill:hover {
      background: var(--color-primary-dark);
      color: var(--color-white);
      border-color: var(--color-primary-dark); }
    .tag-pill.gray {
      background-color: var(--color-gray-100);
      color: var(--color-gray-800);
      border-color: var(--color-gray-200); }
    .tag-pill.active {
      box-shadow: 0 0 0 var(--border-width-thick) color-mix(in srgb, var(--color-accent) 10%, transparent); }
  
  
  .container, .cv-container, .blog-container {
    inline-size: 100%;
    max-inline-size: var(--container-max-width);
    margin-inline: auto;
    padding-inline: var(--space-4); }
    @media (min-width: 768px) {
      .container, .cv-container, .blog-container {
        padding-inline: var(--space-6); } }
  
  
  .post-card {
    
    font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    
    background: linear-gradient(var(--gradient-angle-default), var(--color-bg-secondary) 0%, var(--color-gray-50) 100%);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    border: var(--border-width-thin) solid var(--border-color-light);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    height: 100%;
    position: relative;
    padding: 0;
    
    transition: var(--transition-all);
    
     }
    .post-card::after {
      content: '';
      position: absolute;
      inset: 0;
      pointer-events: none;
      border-radius: var(--radius-lg);
      opacity: 0;
      transition: opacity var(--transition-smooth);
      box-shadow: inset 0 0 0 2px var(--color-primary); }
    .post-card:hover::after {
      opacity: 0.3; }
    .post-card .post-image {
      position: relative;
      overflow: hidden;
      background: linear-gradient(135deg, var(--color-gray-100) 0%, var(--color-gray-200) 100%);
      height: var(--post-card-thumbnail-height, 200px); }
      .post-card .post-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1); }
      .post-card .post-image::after {
        content: '';
        position: absolute;
        inset: 0;
        pointer-events: none;
        background: linear-gradient(180deg, transparent 0%, var(--color-overlay-dark-strong) 100%);
        opacity: 0;
        transition: opacity var(--transition-smooth); }
      .post-card .post-image:hover::after {
        opacity: 0.6; }
    .post-card .post-title a {
      color: var(--color-text-primary);
      text-decoration: none;
      transition: var(--transition-colors); }
      .post-card .post-title a:hover {
        color: var(--color-primary); }
    .post-card:hover {
      transform: translateY(-8px);
      box-shadow: var(--shadow-xl);
      border-color: var(--color-primary-light); }
      .post-card:hover .post-image img {
        transform: scale(1.08); }
      .post-card:hover .thumbnail-overlay {
        opacity: 0.6; }
    .post-card .post-content {
      padding: var(--space-6);
      display: flex;
      flex-direction: column;
      flex-grow: 1;
      gap: var(--space-6);
       }
      @media (min-width: 768px) {
        .post-card .post-content {
          padding: var(--space-8); } }
      @media (max-width: 767px) {
        .post-card .post-content {
          padding: var(--space-4); } }
      @media (max-width: 767px) {
        .post-card .post-content {
          
          gap: var(--space-5); } }
    .post-card .post-card-title {
      font-size: var(--blog-card-title);
      line-height: var(--blog-line-height-heading);
      margin: 0; }
  
  .icon {
    inline-size: var(--icon-size-base);
    block-size: var(--icon-size-base);
    flex-shrink: 0;
    display: inline-block;
    vertical-align: middle; }
    .icon-sm {
      inline-size: var(--space-4);
      block-size: var(--space-4); }
    .icon-lg {
      inline-size: var(--space-6);
      block-size: var(--space-6); }
    .icon-xl {
      inline-size: var(--space-8);
      block-size: var(--space-8); }
  
  
  .share-bar {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    align-items: center; }
  .share-button {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-3) var(--space-6);
    border-radius: var(--radius-lg);
    font-weight: var(--font-weight-semibold);
    text-decoration: none;
    cursor: pointer;
    transition: var(--transition-all);
    box-shadow: var(--shadow-xs);
    justify-content: center;
    padding: var(--space-2) var(--space-4);
    border: var(--border-width-thin) solid var(--border-color-base);
    background-color: var(--color-white);
    color: var(--color-text-secondary);
    font-weight: var(--font-weight-medium);
    text-decoration: none; }
    .share-button:active {
      transform: translateY(0); }
    .share-button:hover {
      background-color: var(--color-primary);
      border-color: var(--color-primary);
      color: var(--color-white);
      transform: translateY(-2px);
      box-shadow: var(--shadow-md); }
    .share-button .share-label {
      display: none; }
      @media (min-width: 768px) {
        .share-button .share-label {
          display: inline; } }
  
  
  .pagination {
    margin-top: var(--space-12);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-1); }
    .pagination ul {
      display: flex;
      align-items: center;
      gap: var(--space-1);
      list-style: none;
      padding: 0; }
    .pagination .pagination-btn,
    .pagination .pagination-number {
      display: inline-flex;
      align-items: center;
      gap: var(--space-2);
      padding: var(--space-3) var(--space-6);
      border-radius: var(--radius-lg);
      font-weight: var(--font-weight-semibold);
      text-decoration: none;
      cursor: pointer;
      transition: var(--transition-all);
      box-shadow: var(--shadow-xs);
      justify-content: center;
      padding: var(--space-2) var(--space-4);
      border: var(--border-width-thin) solid var(--border-color-base);
      background-color: var(--color-white);
      color: var(--color-text-secondary);
      font-weight: var(--font-weight-medium);
      min-width: 2.5rem; }
      .pagination .pagination-btn:active,
      .pagination .pagination-number:active {
        transform: translateY(0); }
      .pagination .pagination-btn:hover,
      .pagination .pagination-number:hover {
        background-color: var(--color-primary);
        border-color: var(--color-primary);
        color: var(--color-white);
        transform: translateY(-2px);
        box-shadow: var(--shadow-md); }
    .pagination .pagination-btn svg {
      flex-shrink: 0;
      transition: var(--transition-transform); }
      .pagination .pagination-btn svg:hover {
        transform: scale(var(--scale-active)); }
    .pagination .pagination-number {
      padding: var(--space-2) var(--space-4); }
      .pagination .pagination-number.active {
        background: var(--color-primary);
        color: var(--color-white);
        border-color: var(--color-primary);
        font-weight: var(--font-weight-semibold);
        box-shadow: var(--shadow-sm); }
    .pagination .pagination-ellipsis {
      padding: var(--space-2);
      color: var(--text-muted); }
    .pagination .pagination-info {
      margin-left: var(--space-6);
      font-size: var(--font-size-sm);
      color: var(--text-muted); }
  
  
  :is(.taxonomy-admin, .versions-admin) {
    background: var(--color-bg-secondary);
    border: var(--border-width-thin) solid var(--border-color-base);
    border-radius: var(--radius-lg);
    padding: var(--space-6);
    margin-top: var(--space-6);
    box-shadow: var(--shadow-sm); }
    :is(.taxonomy-admin, .versions-admin) h3 {
      font-size: var(--font-size-lg);
      font-weight: var(--font-weight-semibold);
      margin-bottom: var(--space-4); }
  
  .taxonomy-admin .taxonomy-grid {
    display: grid;
    gap: var(--space-6); }
    @media (min-width: 768px) {
      .taxonomy-admin .taxonomy-grid {
        grid-template-columns: repeat(2, 1fr); } }
  .taxonomy-admin .taxonomy-section h4 {
    font-weight: var(--font-weight-medium);
    margin-bottom: var(--space-3); }
  .taxonomy-admin .taxonomy-section ul {
    font-size: var(--font-size-sm);
    list-style: none;
    padding: 0; }
    .taxonomy-admin .taxonomy-section ul li {
      margin-bottom: var(--space-3); }
      .taxonomy-admin .taxonomy-section ul li a {
        color: var(--color-text-primary);
        text-decoration: none;
        transition: color var(--transition-fast);
        font-weight: var(--font-weight-medium); }
        .taxonomy-admin .taxonomy-section ul li a:hover {
          color: var(--color-primary); }
      .taxonomy-admin .taxonomy-section ul li .post-count {
        color: var(--text-muted); }
      .taxonomy-admin .taxonomy-section ul li .latest-post {
        font-size: var(--font-size-xs);
        color: var(--text-muted);
        margin-top: var(--space-1); }
  
  .versions-admin {
    padding: var(--space-4); }
    .versions-admin h3 {
      font-size: var(--font-size-sm); }
    .versions-admin .versions-list {
      font-size: var(--font-size-sm);
      color: var(--text-secondary); }
      .versions-admin .versions-list .version-item {
        margin-bottom: var(--space-4); }
        .versions-admin .versions-list .version-item h4 {
          font-weight: var(--font-weight-medium);
          margin-bottom: var(--space-1); }
        .versions-admin .versions-list .version-item .file-note {
          font-size: var(--font-size-xs);
          color: var(--text-muted);
          margin-bottom: var(--space-1); }
  
  
  .post-sources {
    margin-top: var(--space-6);
    padding-top: var(--space-4);
    border-top: var(--border-width-thin) solid var(--border-color-base); }
    .post-sources :is(.sources-section, .versions-section) {
      margin-bottom: var(--space-4); }
      .post-sources :is(.sources-section, .versions-section) h3 {
        font-size: var(--font-size-sm);
        font-weight: var(--font-weight-semibold);
        margin-bottom: var(--space-2); }
      .post-sources :is(.sources-section, .versions-section) ul {
        font-size: var(--font-size-sm);
        color: var(--text-secondary); }
        .post-sources :is(.sources-section, .versions-section) ul li {
          margin-bottom: var(--space-2); }
          .post-sources :is(.sources-section, .versions-section) ul li :is(.source-type, .posted-date, .version-note) {
            font-size: var(--font-size-xs);
            color: var(--text-muted); }
          .post-sources :is(.sources-section, .versions-section) ul li strong {
            font-weight: var(--font-weight-medium); }
      .post-sources :is(.sources-section, .versions-section) .sources-list {
        list-style: disc;
        margin-left: var(--space-6); }
  
  
  .post-meta.inline {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--font-size-sm);
    color: var(--color-text-muted);
    flex-wrap: wrap; }
    .post-meta.inline .meta-separator {
      margin: 0 var(--space-1); }
  
  
  .reading-progress {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--color-gray-200);
    z-index: 1000;
    opacity: 0;
    transition: opacity var(--transition-smooth); }
    .reading-progress:has(.reading-progress-bar[style*="width"]) {
      opacity: 1; }
    .reading-progress .reading-progress-bar {
      height: 100%;
      background: linear-gradient(90deg, var(--color-primary), var(--color-accent));
      width: 0%;
      transition: width 0.1s ease-out; } }.blog-container{padding-block:var(--space-8)}@media(max-width:767px){.blog-container{padding-block:var(--space-6)}}.blog-header{margin-block-end:var(--space-12);padding-block-end:var(--space-8);border-block-end:var(--border-width-base)solid var(--border-color-base)}.header-content{max-inline-size:var(--prose-max-width)}.blog-title{font-size:var(--blog-heading-h1);font-weight:var(--font-weight-bold);color:var(--color-text-primary);letter-spacing:-.01em;margin-bottom:var(--space-3);line-height:var(--blog-line-height-heading)}.blog-description{font-size:var(--font-size-lg);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.posts-list .page-header{margin-bottom:var(--space-8)}.posts-list .page-header h1{font-size:var(--blog-heading-h1);font-weight:var(--font-weight-bold);margin-bottom:var(--space-3);line-height:var(--blog-line-height-heading);letter-spacing:-.03em;color:var(--color-text-primary)}.posts-list .page-header .page-description{font-size:var(--blog-body-size);color:var(--color-text-muted);margin-bottom:var(--space-8);line-height:var(--blog-line-height-body);font-weight:var(--font-weight-normal);max-width:70ch}.posts-list .post-categories{margin-bottom:var(--space-2)}.posts-list .post-categories a{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-normal)}.posts-list .post-image{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--color-gray-100) 0%,var(--color-gray-200) 100%);margin-bottom:var(--space-4);border-radius:var(--radius-md);height:var(--post-image-height)}.posts-list .post-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.34,1.56,.64,1)}.posts-list .post-meta{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;font-size:var(--blog-meta-size);color:var(--color-text-tertiary);font-weight:var(--font-weight-medium)}.posts-list .post-meta svg{flex-shrink:0}.posts-list .post-meta a{color:inherit}.posts-list .post-meta a:hover{color:var(--color-primary)}.posts-list .post-summary{margin:var(--space-4)0;color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.posts-list .post-footer{margin-top:var(--space-4);padding-top:var(--space-4);border-top:var(--border-width-thin)solid var(--border-color-base)}.posts-list .post-footer .post-tags{display:flex;gap:var(--space-2);flex-wrap:wrap;flex:1}.posts-list .post-footer .post-tags .more-tags{font-size:var(--font-size-xs);color:var(--color-text-muted)}.posts-list .post-footer .read-more{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:color var(--transition-smooth)}.posts-list .post-footer .footer-content{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.posts-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:var(--space-8);container-type:inline-size;container-name:posts-grid;gap:var(--space-10);margin-block-end:var(--space-12)}@media(min-width:768px){.posts-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.posts-grid{grid-template-columns:repeat(2,1fr)}}@container posts-grid (min-width:48rem){.posts-grid {
    grid-template-columns: repeat(2, 1fr); } }@media(min-width:1024px){.posts-grid{gap:var(--space-12)}}.post-image{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--color-gray-100) 0%,var(--color-gray-200) 100%)}.post-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.34,1.56,.64,1)}.post-image::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 0%,var(--color-overlay-dark-strong) 100%);opacity:0;transition:opacity var(--transition-smooth)}.post-image:hover::after{opacity:.6}.post-content{display:flex;flex-direction:column;height:100%}.post-header{display:flex;flex-direction:column;gap:var(--space-5)}.post-categories{display:flex;flex-wrap:wrap;gap:var(--space-2-5)}.post-categories a{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1)var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-decoration:none;text-transform:uppercase;letter-spacing:var(--letter-spacing-normal);transition:var(--transition-all);background:var(--color-accent);color:var(--color-white);border:var(--border-width-thin)solid var(--color-accent);box-shadow:var(--shadow-xs);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-normal)}.post-categories a:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.post-categories a:hover{background:var(--color-accent-light);border-color:var(--color-accent-light)}.post-title{font-size:var(--blog-card-title);font-weight:var(--font-weight-bold);line-height:var(--blog-line-height-heading);letter-spacing:-.02em;margin:0}.post-title a{color:var(--color-text-primary);text-decoration:none;transition:color var(--transition-fast)}.post-title a:hover{color:var(--color-primary)}.post-meta{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;font-size:var(--blog-meta-size);color:var(--color-text-tertiary);font-weight:var(--font-weight-medium);font-size:var(--blog-meta-size);line-height:var(--line-height-normal);display:flex;flex-wrap:wrap;gap:var(--space-4);margin:0}.post-meta svg{flex-shrink:0}.post-meta a{color:inherit}.post-meta a:hover{color:var(--color-primary)}:is(.post-author,.post-date,.reading-time){display:flex;align-items:center;gap:var(--space-1);display:flex;align-items:center;gap:var(--space-1)}:is(.post-author,.post-date,.reading-time) .icon{flex-shrink:0;width:1em;height:1em}.post-summary{color:var(--color-text-secondary);font-size:var(--font-size-base);line-height:1.75;flex-grow:1;font-weight:var(--font-weight-normal);margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}@media(max-width:767px){.post-summary{font-size:var(--font-size-sm);line-height:var(--blog-line-height-relaxed)}}.post-footer{margin-top:auto;padding-block-start:var(--space-6);border-block-start:var(--border-width-thin)solid var(--border-color-light);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.post-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);flex:1;align-items:center}.post-tags .tag-pill{font-size:var(--font-size-xs);padding:var(--space-1-5)var(--space-3)}.post-tags .more-tags{font-size:var(--font-size-xs);color:var(--color-text-muted);padding:var(--space-1)var(--space-2)}.read-more{white-space:nowrap;flex-shrink:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight);color:var(--color-primary);text-decoration:none;display:inline-flex;align-items:center;gap:var(--space-1-5);transition:all var(--transition-fast)}.read-more .icon{transition:transform var(--transition-fast)}.read-more:hover{color:var(--color-primary-dark);gap:var(--space-2)}.read-more:hover .icon{transform:translateX(2px)}.blog-search{position:relative;margin-block-end:var(--space-8)}.blog-search .search-input-wrapper{position:relative}.blog-search .search-icon{position:absolute;inset-inline-start:var(--space-4);inset-block-start:50%;transform:translateY(-50%);inline-size:var(--icon-size-base);block-size:var(--icon-size-base);color:var(--color-gray-400);pointer-events:none}.blog-search .search-input{width:100%;padding:var(--space-3)var(--space-4);font-size:var(--font-size-base);border:var(--border-width-base)solid var(--color-gray-200);border-radius:var(--radius-lg);transition:all var(--transition-base);background-color:var(--color-white);color:var(--color-text-primary);padding-inline-start:var(--space-12)}.blog-search .search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 var(--border-width-thick)var(--color-primary-focus)}.blog-search .search-results{position:absolute;inset-inline:0;inset-block-start:calc(100% + var(--space-2));background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-block-size:25rem;overflow-y:auto;z-index:var(--z-dropdown);display:none;border:var(--border-width-thin)solid var(--color-gray-100)}.blog-search .search-results.active{display:block}.blog-search .search-result-item{display:block;padding:var(--space-4);border-bottom:var(--border-width-thin)solid var(--color-gray-100);text-decoration:none;color:inherit;transition:background-color var(--transition-base)}.blog-search .search-result-item:hover{background-color:var(--color-gray-50)}.blog-search .search-result-item:last-child{border-bottom:none}.blog-search .search-result-title{font-weight:var(--font-weight-semibold);margin-bottom:var(--space-2);color:var(--color-text-primary)}.blog-search .search-result-summary{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-2)}.blog-search .search-result-meta{font-size:var(--font-size-xs);color:var(--color-text-muted)}.blog-search .search-result-item mark{background-color:var(--color-overlay-light-20);color:var(--color-primary-dark);padding:var(--space-1)var(--space-2);border-radius:var(--radius-sm)}.blog-search .search-no-results{padding:var(--space-6);text-align:center;color:var(--color-text-muted)}.posts-search .search-wrapper{position:relative}.posts-search .search-input{width:100%;padding:var(--space-3)var(--space-4);font-size:var(--font-size-base);border:var(--border-width-base)solid var(--color-gray-200);border-radius:var(--radius-lg);transition:all var(--transition-base);background-color:var(--color-white);color:var(--color-text-primary);padding-inline-start:2.5rem;padding-inline-end:2.5rem;border-color:var(--border-color-strong);box-shadow:var(--shadow-xs)}.posts-search .search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 var(--border-width-thick)var(--color-primary-focus)}.posts-search .search-icon{pointer-events:none;position:absolute;inset-inline-start:var(--space-3);inset-block-start:50%;transform:translateY(-50%)}.posts-search .clear-search{position:absolute;inset-inline-end:var(--space-3);inset-block-start:50%;transform:translateY(-50%);background:0 0;border:none;cursor:pointer;padding:var(--space-1);display:flex;align-items:center;justify-content:center}.posts-sort .sort-select{font-size:var(--font-size-sm);cursor:pointer}.posts-sort .sort-select:focus{outline:none;box-shadow:0 0 0 var(--border-width-thick)var(--color-primary-focus)}.active-filter-badge{animation:slideIn var(--duration-normal)ease-out}.reading-progress-container .reading-progress-bar{background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-accent) 100%);box-shadow:0 2px 4px var(--color-overlay-dark-weak)}.reading-progress-container .reading-time-remaining{animation:fadeInUp var(--duration-slow)ease-out;backdrop-filter:blur(var(--blur-md))}.toc-wrapper{position:relative;max-height:calc(100vh - 4rem);overflow-y:auto;padding:var(--space-6);background:var(--color-bg-secondary);border-radius:var(--radius-md);border:var(--border-width-thin)solid var(--border-color-base);margin-bottom:var(--space-8)}@media(max-width:767px){.toc-wrapper{position:relative;top:0;max-height:none}}.toc-wrapper::-webkit-scrollbar{width:4px}.toc-wrapper::-webkit-scrollbar-track{background:var(--color-gray-100)}.toc-wrapper::-webkit-scrollbar-thumb{background:var(--color-gray-300);border-radius:var(--radius-sm)}.toc-wrapper::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--color-gray-300) 80%,black)}.toc-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);color:var(--color-text-primary);margin-block-end:var(--space-3)}@media(max-width:767px){.toc-title{font-size:var(--font-size-lg)}}.toc-content{font-size:var(--font-size-sm)}.toc-content ul{list-style:none;padding-left:0;margin:0}.toc-content ul ul{padding-left:var(--space-4);margin-top:var(--space-1)}.toc-content li{margin:var(--space-2)0}.toc-content a{color:var(--color-text-muted);text-decoration:none;transition:color var(--transition-base);display:block;padding:var(--space-1)0;color:var(--color-text-secondary)}.toc-content a:hover{color:var(--color-primary)}.related-posts{margin-block-start:var(--space-16);padding-block-start:var(--space-12);border-block-start:var(--border-width-base)solid var(--border-color-base)}.related-posts .related-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text-primary);margin-block-end:var(--space-4);margin-block-end:var(--space-8)}@media(max-width:767px){.related-posts .related-title{font-size:var(--font-size-xl)}}.related-posts .related-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-8)}@media(max-width:767px){.related-posts .related-grid{grid-template-columns:1fr}}.related-posts .related-card{background:var(--color-bg-secondary);border-radius:var(--radius-md);overflow:hidden;border:var(--border-width-thin)solid var(--border-color-base);transition:transform var(--transition-base),box-shadow var(--transition-base)}.related-posts .related-card:hover{transform:translateY(var(--translate-hover-lg));box-shadow:var(--shadow-lg)}.related-posts .related-card:hover .related-image img{transform:scale(var(--scale-hover))}.related-posts .related-card:hover .related-card-title a{color:var(--color-primary)}.related-posts .related-image{aspect-ratio:16/9;overflow:hidden;background:var(--color-gray-100)}.related-posts .related-image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-smooth)}.related-posts .related-image-placeholder{display:flex;align-items:center;justify-content:center;color:var(--color-gray-300);height:100%}.related-posts .related-image-placeholder svg{width:var(--space-16);height:var(--space-16)}.related-posts .related-content{padding:var(--space-6)}.related-posts .related-card-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);color:var(--color-text-primary);margin-block-end:var(--space-2);margin:0 0 var(--space-3)}.related-posts .related-card-title a{color:var(--color-text-primary);text-decoration:none;transition:color var(--transition-fast)}.related-posts .related-card-title a:hover{color:var(--color-primary)}.related-posts .related-meta{display:flex;align-items:center;gap:var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-3)}.related-posts .related-meta time{display:flex;align-items:center}.related-posts .reading-time::before{content:"•";margin-right:var(--space-2)}.related-posts .related-summary{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin:0}.breadcrumb-container{padding:var(--space-4)var(--space-8);background:var(--color-bg-secondary);border-bottom:var(--border-width-thin)solid var(--border-color-base)}.breadcrumb{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.breadcrumb-item{display:flex;align-items:center}.breadcrumb-item+.breadcrumb-item::before{content:"/";padding:0 var(--space-2);color:var(--color-gray-300)}.breadcrumb-item a{color:var(--color-text-muted);text-decoration:none;transition:color var(--transition-base)}.breadcrumb-item a:hover{color:var(--color-primary)}.breadcrumb-item.active{color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.tag-pill{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1)var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-decoration:none;transition:var(--transition-all);border:var(--border-width-thin)solid transparent}.tag-pill.primary{background:var(--color-primary-light);color:var(--color-primary-darker);border-color:var(--color-primary-light)}.tag-pill.primary:hover{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.tag-pill.gray{background:var(--color-gray-100);color:var(--color-gray-700);border-color:var(--color-gray-200)}.tag-pill.gray:hover{background:var(--color-gray-200);color:var(--color-gray-900);border-color:var(--color-gray-300);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.taxonomy-page{min-block-size:100vh;padding-block:var(--space-8);background:linear-gradient(var(--gradient-angle-default),var(--color-bg-primary) 0%,var(--color-white) 50%,var(--color-bg-primary) 100%)}@media(max-width:767px){.taxonomy-page{padding-block:var(--space-6)}}.taxonomy-header{position:relative;padding-block:var(--space-12)var(--space-10);margin-block-end:var(--space-10);overflow:hidden}@media(max-width:767px){.taxonomy-header{padding-block:var(--space-8)var(--space-6);margin-block-end:var(--space-6)}}.taxonomy-header::before{content:'';position:absolute;inset-block-start:0;inset-inline-start:50%;transform:translateX(-50%);inline-size:100%;max-inline-size:1400px;block-size:100%;background:linear-gradient(var(--gradient-angle-default),color-mix(in srgb,var(--color-primary) 3%,transparent) 0%,color-mix(in srgb,var(--color-primary) 8%,transparent) 50%,color-mix(in srgb,var(--color-primary) 3%,transparent) 100%);border-radius:var(--radius-xl);z-index:0}.header-content{position:relative;z-index:2}.breadcrumb{display:flex;align-items:center;gap:var(--space-2);margin-block-end:var(--space-6);font-size:var(--font-size-sm);flex-wrap:wrap}@media(max-width:767px){.breadcrumb{font-size:var(--font-size-xs)}}.breadcrumb-link{color:var(--color-text-muted);text-decoration:none;transition:color var(--transition-base);display:flex;align-items:center;gap:var(--space-1);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.breadcrumb-link:hover{color:var(--color-primary)}.breadcrumb-link .icon{inline-size:var(--space-4);block-size:var(--space-4)}.breadcrumb .separator{inline-size:.875rem;block-size:.875rem;color:var(--color-gray-400)}.breadcrumb .current{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.header-main{text-align:center;max-inline-size:800px;margin-inline:auto}.tag-badge-large,.category-badge-large{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3)var(--space-6);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:var(--color-white);border-radius:var(--radius-full);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);box-shadow:var(--shadow-badge-large);animation:fadeInUp .6s ease-out 0s backwards;margin-block-end:var(--space-4)}@media(max-width:767px){.tag-badge-large,.category-badge-large{font-size:var(--font-size-base);padding:var(--space-2)var(--space-4)}}.tag-badge-large .icon-hash,.tag-badge-large .icon-category,.category-badge-large .icon-hash,.category-badge-large .icon-category{inline-size:var(--space-6);block-size:var(--space-6)}.taxonomy-title{font-size:var(--blog-heading-h1);font-weight:var(--font-weight-bold);line-height:var(--blog-line-height-heading);margin-block-end:var(--space-4);color:var(--color-text-primary);animation:fadeInUp .6s ease-out .1s backwards}@media(max-width:767px){.taxonomy-title{font-size:var(--font-size-3xl)}}.taxonomy-title .highlight{color:var(--color-primary);position:relative}.taxonomy-description{max-inline-size:600px;margin-inline:auto;margin-block-end:var(--space-4);color:var(--color-text-secondary);font-size:var(--font-size-lg);line-height:var(--line-height-relaxed)}.taxonomy-meta{display:flex;align-items:center;justify-content:center;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);animation:fadeInUp .6s ease-out .2s backwards}.taxonomy-meta .icon{inline-size:var(--icon-size-base);block-size:var(--icon-size-base)}.header-decoration{position:absolute;inset-block-start:50%;inset-inline-start:50%;transform:translate(-50%,-50%);inline-size:100%;block-size:100%;pointer-events:none;z-index:1;opacity:.4}.decoration-circle{position:absolute;border-radius:var(--radius-full);background:radial-gradient(circle,var(--color-primary-light) 0%,transparent 70%)}.circle-1{position:absolute;inline-size:300px;block-size:300px;border-radius:var(--radius-full);background:radial-gradient(circle,var(--color-primary-light) 0%,transparent 70%);pointer-events:none;inset-block-start:-100px;inset-inline-end:-50px;animation:float 15s ease-in-out infinite}.circle-2{position:absolute;inline-size:200px;block-size:200px;border-radius:var(--radius-full);background:radial-gradient(circle,var(--color-primary-light) 0%,transparent 70%);pointer-events:none;inset-block-end:-50px;inset-inline-start:-30px;animation:float 20s ease-in-out infinite;animation-direction:reverse}.circle-3{position:absolute;inline-size:150px;block-size:150px;border-radius:var(--radius-full);background:radial-gradient(circle,var(--color-primary-light) 0%,transparent 70%);pointer-events:none;inset-block-start:50%;inset-inline-start:10%;animation:float 12s ease-in-out infinite}.taxonomy-posts{display:grid;grid-template-columns:repeat(1,1fr);gap:var(--space-8);margin-block-end:var(--space-12)}@media(min-width:768px){.taxonomy-posts{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.taxonomy-posts{grid-template-columns:repeat(3,1fr)}}.taxonomy-post-card{animation:fadeInUp .6s ease-out backwards;animation-delay:calc(var(--animation-order,0) * .1s)}.post-card-inner{background:linear-gradient(var(--gradient-angle-default),var(--color-bg-secondary) 0%,var(--color-gray-50) 100%);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:var(--border-width-thin)solid var(--border-color-light);display:flex;flex-direction:column;overflow:hidden;height:100%;position:relative;padding:0;transition:var(--transition-all)}.post-card-inner::after{content:'';position:absolute;inset:0;pointer-events:none;border-radius:var(--radius-lg);opacity:0;transition:opacity var(--transition-smooth);box-shadow:inset 0 0 0 2px var(--color-primary)}.post-card-inner:hover::after{opacity:.3}.post-card-inner .post-thumbnail{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--color-gray-100) 0%,var(--color-gray-200) 100%);height:var(--post-card-thumbnail-height,200px)}.post-card-inner .post-thumbnail img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.34,1.56,.64,1)}.post-card-inner .post-thumbnail::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 0%,var(--color-overlay-dark-strong) 100%);opacity:0;transition:opacity var(--transition-smooth)}.post-card-inner .post-thumbnail:hover::after{opacity:.6}.post-card-inner .post-card-title a{color:var(--color-text-primary);text-decoration:none;transition:var(--transition-colors)}.post-card-inner .post-card-title a:hover{color:var(--color-primary)}.post-card-inner:hover{transform:translateY(-8px);box-shadow:var(--shadow-xl);border-color:var(--color-primary-light)}.post-card-inner:hover .post-thumbnail img{transform:scale(1.08)}.post-card-inner:hover .thumbnail-overlay{opacity:.6}.post-card-content{padding:var(--space-6);display:flex;flex-direction:column;flex-grow:1}.post-categories-inline{display:flex;gap:var(--space-2);margin-block-end:var(--space-3);flex-wrap:wrap}.category-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1)var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-decoration:none;text-transform:uppercase;letter-spacing:var(--letter-spacing-normal);transition:var(--transition-all);background:var(--color-gray-100);color:var(--color-gray-700);border:var(--border-width-thin)solid var(--color-gray-300)}.category-badge:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.category-badge:hover{background:var(--color-primary-dark);color:var(--color-white);border-color:var(--color-primary-dark)}.category-badge .icon-xs{inline-size:.875rem;block-size:.875rem}.post-tags-inline{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-block-end:var(--space-4)}.tag-mini{font-size:var(--font-size-xs);color:var(--color-text-tertiary);text-decoration:none;padding:var(--space-1)var(--space-2);background:var(--color-gray-50);border-radius:var(--radius-sm);transition:all var(--transition-smooth);font-weight:var(--font-weight-medium)}.tag-mini:hover{background:var(--color-gray-200);color:var(--color-text-primary)}.post-card-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);color:var(--color-text-primary);margin-block-end:var(--space-2);font-size:var(--font-size-xl)}.post-card-meta{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;font-size:var(--blog-meta-size);color:var(--color-text-tertiary);font-weight:var(--font-weight-medium);margin-block-end:var(--space-4);font-size:var(--font-size-sm)}.post-card-meta svg{flex-shrink:0}.post-card-meta a{color:inherit}.post-card-meta a:hover{color:var(--color-primary)}.meta-item{display:flex;align-items:center;gap:var(--space-1)}.meta-separator{color:var(--color-gray-400)}.icon-xs{inline-size:.875rem;block-size:.875rem}.post-card-summary{color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin-block-end:var(--space-4);flex-grow:1}.read-more-link{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-primary);font-weight:var(--font-weight-semibold);text-decoration:none;margin-block-start:auto;transition:gap var(--transition-smooth)}.read-more-link:hover{gap:var(--space-3)}.read-more-link:hover .icon-arrow{transform:translateX(4px)}.read-more-link .icon-arrow{inline-size:var(--icon-size-base);block-size:var(--icon-size-base);transition:transform var(--transition-smooth)}.related-tags-section{background:var(--color-bg-secondary);border-radius:var(--radius-xl);padding:var(--space-8);box-shadow:var(--shadow-md);border:var(--border-width-thin)solid var(--color-gray-100)}@media(max-width:767px){.related-tags-section{padding:var(--space-6)}}.section-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text-primary);margin-block-end:var(--space-4);display:flex;align-items:center;gap:var(--space-2);margin-block-end:var(--space-6)}@media(max-width:767px){.section-title{font-size:var(--font-size-xl)}}.section-title .icon{inline-size:1.5rem;block-size:1.5rem;color:var(--color-primary);flex-shrink:0}.section-title .icon{inline-size:1.75rem;block-size:1.75rem}.related-tags-cloud{display:flex;flex-wrap:wrap;gap:var(--space-3)}.related-tag{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3)var(--space-4);background:var(--color-bg-primary);border:var(--border-width-base)solid var(--border-color-base);border-radius:var(--radius-full);text-decoration:none;transition:all var(--transition-bounce);font-weight:var(--font-weight-medium)}.related-tag:hover{background:var(--color-primary);border-color:var(--color-primary);transform:translateY(-4px);box-shadow:0 8px 20px color-mix(in srgb,var(--color-primary) 30%,transparent)}.related-tag:hover .tag-name{color:var(--color-white)}.related-tag:hover .tag-count{background:var(--color-primary-dark);color:var(--color-white)}.tag-name{color:var(--color-text-primary);transition:color var(--transition-smooth)}.tag-count{display:inline-flex;align-items:center;justify-content:center;min-inline-size:1.75rem;block-size:1.75rem;padding-inline:var(--space-2);background:var(--color-white);color:var(--color-primary);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);transition:all var(--transition-smooth)}.taxonomy-pagination{margin-block-start:var(--space-10);margin-block-end:var(--space-8)}.sidebar{position:fixed;inset-block-start:0;inset-inline-start:0;inline-size:var(--sidebar-width);block-size:100vh;z-index:var(--z-sidebar);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 50%,color-mix(in srgb,var(--color-primary-dark) 80%,black) 100%);backdrop-filter:none;box-shadow:2px 0 12px rgba(0,0,0,.15);transition:transform var(--transition-slow),box-shadow var(--transition-smooth),background var(--transition-smooth);transform:translateX(0);overflow-y:auto;overflow-x:hidden}@media(max-width:767px){.sidebar{transform:translateX(-100%)}}body.sidebar-open .sidebar{transform:translateX(0)}.sidebar-close{position:absolute;inset-block-start:var(--space-4);inset-inline-end:var(--space-4);z-index:var(--z-dropdown);padding:var(--space-2);color:var(--color-white);background:0 0;border:none;border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-smooth);display:flex;align-items:center;justify-content:center;display:none}@media(max-width:767px){.sidebar-close{display:flex}}.sidebar-close:hover{background-color:rgba(255,255,255,.15)}.sidebar-close .icon{inline-size:var(--space-6);block-size:var(--space-6);pointer-events:none}.sidebar-overlay{position:fixed;inset:0;background-color:rgba(0,0,0,.5);z-index:var(--z-overlay);opacity:0;visibility:hidden;transition:opacity var(--transition-slow),visibility var(--transition-slow);pointer-events:none;display:none}@media(max-width:767px){.sidebar-overlay{display:block}}@media(max-width:767px){body.sidebar-open .sidebar-overlay{opacity:1;visibility:visible;pointer-events:auto}}.sidebar-toggle{position:fixed;inset-block-start:var(--space-4);inset-inline-start:var(--space-4);z-index:var(--z-toast);padding:var(--space-3);background-color:var(--color-primary);color:var(--color-white);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);cursor:pointer;transition:all var(--transition-smooth);display:none}@media(max-width:767px){.sidebar-toggle{display:flex}}.sidebar-toggle:hover{background-color:var(--color-primary-dark);transform:scale(var(--scale-hover))}.sidebar-toggle .icon{inline-size:var(--space-6);block-size:var(--space-6);display:block}.sidebar-toggle .icon-close{display:none}body.sidebar-open .sidebar-toggle .icon-menu{display:none}body.sidebar-open .sidebar-toggle .icon-close{display:block}.sidebar-profile{padding:var(--space-8)var(--space-6);color:var(--color-white);text-align:center;position:relative;margin:var(--space-4);background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-lg);box-shadow:0 8px 32px rgba(0,0,0,.2);transition:all var(--transition-smooth)}.sidebar-profile:hover{background:var(--color-overlay-light-strong);box-shadow:0 12px 40px var(--color-overlay-dark-15)}.profile-image-wrapper{margin-block-end:var(--space-6);position:relative;display:inline-block}.profile-image-wrapper::before{content:'';position:absolute;inset:-8px;background:linear-gradient(var(--gradient-angle-default),var(--color-overlay-light-40),var(--color-overlay-light-medium));border-radius:var(--radius-full);z-index:-1;opacity:0;transition:opacity var(--transition-smooth)}.profile-image-wrapper:hover::before{opacity:1}.profile-image{inline-size:var(--profile-image-size);block-size:var(--profile-image-size);border-radius:var(--radius-full);margin-inline:auto;border:4px solid color-mix(in srgb,var(--color-white) 95%,transparent);box-shadow:0 8px 16px var(--color-overlay-dark-medium),0 4px 8px color-mix(in srgb,var(--color-black) 15%,transparent),0 0 0 8px color-mix(in srgb,var(--color-white) 10%,transparent);object-fit:cover;transition:all var(--duration-slower)var(--ease-bounce);display:block}.profile-image:hover{transform:scale(1.08)rotate(2deg);box-shadow:0 12px 28px var(--color-overlay-dark-strong),0 6px 12px var(--color-overlay-dark-medium),0 0 0 12px color-mix(in srgb,var(--color-white) 15%,transparent);border-color:var(--color-white)}.profile-name{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin-block-end:var(--space-3);letter-spacing:-.02em;text-shadow:0 2px 4px var(--color-overlay-dark-weak)}.profile-tagline{font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);color:var(--color-overlay-light-92);font-weight:var(--font-weight-medium);text-shadow:0 1px 2px var(--color-overlay-dark-weak)}.sidebar-section{margin:var(--space-3)var(--space-4);padding:var(--space-5);color:var(--color-white);background:rgba(255,255,255,8%);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-lg);transform:translateX(0)}.sidebar-section:hover{background:rgba(255,255,255,.12)}.sidebar-section.sidebar-flex{flex:1}.sidebar-section.sidebar-footer{padding:var(--space-4);margin-bottom:var(--space-6);background:var(--color-overlay-light-medium)}.sidebar-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-white);letter-spacing:-.01em;margin-bottom:var(--space-4);display:flex;align-items:center;gap:var(--space-2);text-shadow:0 1px 2px var(--color-overlay-dark-weak)}.sidebar-title .icon{opacity:.9}.contact-list{display:flex;flex-direction:column;gap:var(--space-2)}.contact-item{display:flex;align-items:center;gap:var(--space-3);font-size:var(--font-size-sm);padding:var(--space-2)var(--space-3);background:var(--color-overlay-light-weak);border-radius:var(--radius-md);border:var(--border-width-thin)solid var(--color-overlay-light-medium);color:var(--color-overlay-light-95);font-weight:var(--font-weight-medium);transition:var(--transition-all);text-decoration:none;border-color:transparent}.contact-item:hover{background:var(--color-overlay-light-medium);border-color:var(--color-overlay-light-15)}.contact-item:hover{color:var(--color-white);background:var(--color-overlay-light-strong);border-color:var(--color-overlay-light-20);box-shadow:0 4px 12px var(--color-overlay-dark-weak)}.contact-item:hover .icon{color:var(--color-white);transform:scale(1.1)}.contact-item:active{transform:translateX(0)}.contact-item .icon{inline-size:var(--icon-size-base);block-size:var(--icon-size-base);flex-shrink:0;color:var(--color-overlay-light-80);transition:all var(--transition-smooth)}.contact-item .contact-text{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.social-links{display:flex;gap:var(--space-3);justify-content:center}.social-link{inline-size:3rem;block-size:3rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:var(--color-overlay-light-medium);color:var(--color-white);transition:all var(--transition-bounce);border:var(--border-width-base)solid var(--color-overlay-light-15);backdrop-filter:blur(var(--blur-md));position:relative;overflow:hidden}.social-link::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle,var(--color-overlay-light-30),transparent 70%);opacity:0;transition:opacity var(--transition-smooth)}.social-link:hover{background-color:var(--color-white);color:var(--color-primary);transform:translateY(-6px)scale(1.1)rotate(5deg);box-shadow:0 12px 24px var(--color-overlay-dark-25),0 0 0 4px var(--color-overlay-light-20);border-color:var(--color-white)}.social-link:hover::before{opacity:1}.social-link:active{transform:translateY(-3px)scale(1.05)rotate(2deg)}.social-link .icon{inline-size:1.35rem;block-size:1.35rem;position:relative;z-index:1}:is(.language-list,.interest-list){display:flex;flex-direction:column;gap:var(--space-2)}.language-item{font-size:var(--font-size-sm);padding:var(--space-2)var(--space-3);background:var(--color-overlay-light-weak);border-radius:var(--radius-md);border:var(--border-width-thin)solid var(--color-overlay-light-medium);color:var(--color-overlay-light-95);font-weight:var(--font-weight-medium);transition:var(--transition-all);display:flex;justify-content:space-between;align-items:center}.language-item:hover{background:var(--color-overlay-light-medium);border-color:var(--color-overlay-light-15)}.language-item:hover{background:rgba(255,255,255,.12)}.language-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-overlay-light-95)}.interest-item{font-size:var(--font-size-sm);padding:var(--space-2)var(--space-3);background:var(--color-overlay-light-weak);border-radius:var(--radius-md);border:var(--border-width-thin)solid var(--color-overlay-light-medium);color:var(--color-overlay-light-95);font-weight:var(--font-weight-medium);transition:var(--transition-all);background:var(--color-overlay-light-medium);border-color:var(--color-overlay-light-strong);text-align:center}.interest-item:hover{background:var(--color-overlay-light-medium);border-color:var(--color-overlay-light-15)}.interest-item:hover{background:var(--color-overlay-light-strong);border-color:var(--color-overlay-light-25);box-shadow:0 4px 8px var(--color-overlay-dark-weak);color:var(--color-white)}.language-level{font-size:var(--font-size-xs);padding:var(--space-1)var(--space-2);background:var(--color-overlay-light-15);border-radius:var(--radius-sm);color:var(--color-overlay-light-95);font-weight:var(--font-weight-semibold)}.language-switcher{display:flex;flex-direction:column;gap:var(--space-2)}.language-link{font-size:var(--font-size-sm);padding:var(--space-2)var(--space-3);background:var(--color-overlay-light-weak);border-radius:var(--radius-md);border:var(--border-width-thin)solid var(--color-overlay-light-medium);color:var(--color-overlay-light-95);font-weight:var(--font-weight-medium);transition:var(--transition-all);padding:var(--space-3)var(--space-4);color:var(--color-overlay-light-92);text-decoration:none;display:block;text-align:center}.language-link:hover{background:var(--color-overlay-light-medium);border-color:var(--color-overlay-light-15)}.language-link:hover{color:var(--color-white);background:var(--color-overlay-light-15);border-color:var(--color-overlay-light-25);box-shadow:0 4px 12px var(--color-overlay-dark-15)}.language-link:active{transform:translateY(0)}.btn-download{display:block;inline-size:100%;padding:var(--space-4)var(--space-6);background:linear-gradient(135deg,var(--color-white) 0%,var(--color-white) 100%);color:var(--color-primary);text-align:center;font-weight:var(--font-weight-bold);font-size:var(--font-size-base);border-radius:var(--radius-lg);border:var(--border-width-base)solid var(--color-white);text-decoration:none;transition:all var(--transition-bounce);box-shadow:0 6px 20px var(--color-overlay-dark-medium),0 0 0 0 var(--overlay-medium);backdrop-filter:blur(10px);position:relative;overflow:hidden;letter-spacing:.02em}.btn-download::before{content:'';position:absolute;top:50%;left:50%;width:0;height:0;border-radius:var(--radius-full);background:var(--overlay-medium);transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn-download:hover{background:0 0;color:var(--color-white);transform:translateY(-4px)scale(1.02);box-shadow:0 12px 28px var(--color-overlay-dark-strong),0 0 0 4px var(--overlay-medium);border-color:var(--color-white)}.btn-download:hover::before{width:300px;height:300px}.btn-download:active{transform:translateY(-2px)scale(1)}.blog-sidebar{}.blog-sidebar .search-container{position:relative}.blog-sidebar .search-input-wrapper{position:relative;margin-bottom:var(--space-2)}.blog-sidebar .search-icon{position:absolute;left:var(--space-4);top:50%;transform:translateY(-50%);width:var(--icon-size-base);height:var(--icon-size-base);color:var(--color-overlay-light-strong);pointer-events:none;transition:var(--transition-all);z-index:2}.blog-sidebar .search-input{width:100%;padding:var(--space-3)var(--space-4)var(--space-3)var(--space-12);border:var(--border-width-base)solid var(--color-overlay-light-15);border-radius:var(--radius-lg);background:var(--color-overlay-light-medium);color:var(--color-white);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:var(--transition-all);backdrop-filter:blur(var(--blur-md));box-shadow:var(--shadow-sm)}.blog-sidebar .search-input::placeholder{color:var(--color-overlay-light-medium);font-weight:var(--font-weight-normal)}.blog-sidebar .search-input:focus{outline:none;border-color:var(--color-overlay-light-strong);background-color:var(--color-overlay-light-weak);box-shadow:0 0 0 4px var(--color-overlay-light-weak),0 8px 24px var(--color-overlay-dark-weak)}.blog-sidebar .search-input:focus+.search-icon{color:var(--color-white);transform:translateY(-50%)scale(1.1)}.blog-sidebar .search-results{position:absolute;top:calc(100% + var(--space-3));left:0;right:0;background:linear-gradient(var(--gradient-angle-default),var(--color-white) 0%,var(--color-gray-50) 100%);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-height:400px;overflow-y:auto;z-index:var(--z-dropdown);display:none;border:var(--border-width-thin)solid var(--color-overlay-dark-weak);backdrop-filter:blur(var(--blur-md));animation:slideDown var(--duration-normal)var(--ease-smooth)}.blog-sidebar .search-results.active{display:block}.blog-sidebar .search-result-item{display:block;padding:var(--space-4);border-bottom:var(--border-width-thin)solid var(--color-overlay-dark-weak);text-decoration:none;color:inherit;transition:all var(--transition-smooth);position:relative}.blog-sidebar .search-result-item::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--color-primary);transform:scaleY(0);transition:transform var(--transition-smooth)}.blog-sidebar .search-result-item:hover{background:linear-gradient(90deg,var(--color-primary-focus) 0%,transparent 100%);padding-left:var(--space-5)}.blog-sidebar .search-result-item:hover::before{transform:scaleY(1)}.blog-sidebar .search-result-item:last-child{border-bottom:none}.blog-sidebar .search-result-title{font-weight:var(--font-weight-bold);margin-bottom:var(--space-1-5);color:var(--color-gray-900);font-size:var(--font-size-sm);line-height:var(--line-height-tight)}.blog-sidebar .search-result-summary{font-size:var(--font-size-xs);color:var(--color-gray-600);margin-bottom:var(--space-1-5);line-height:var(--line-height-normal)}.blog-sidebar .search-result-meta{font-size:var(--font-size-xs);color:var(--color-gray-500);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.blog-sidebar .search-no-results{padding:var(--space-8)var(--space-6);text-align:center;color:var(--color-gray-500);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.blog-sidebar .category-link{position:relative;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3)var(--space-4);color:var(--color-white);background:var(--color-overlay-light-medium);backdrop-filter:blur(5px);border-radius:var(--radius-lg);border:var(--border-width-thin)solid var(--color-overlay-dark-weak);transition:var(--transition-all);position:relative;margin-bottom:var(--space-1-5);color:var(--color-white)}.blog-sidebar .category-link svg{flex-shrink:0;width:1.25em;height:1.25em;color:var(--color-primary)}.blog-sidebar .category-link.active{color:var(--color-white);background:linear-gradient(90deg,var(--color-overlay-light-medium) 0%,var(--color-overlay-light-strong) 100%);border-color:var(--color-overlay-light-strong);font-weight:var(--font-weight-bold);box-shadow:var(--shadow-lg)}.blog-sidebar .category-link::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--color-white);transform:scaleY(0);transition:transform var(--transition-smooth);transform-origin:top}.blog-sidebar .category-link:hover::before,.blog-sidebar .category-link.active::before{transform:scaleY(1)}.blog-sidebar .count{color:var(--color-overlay-light-80);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);background:var(--color-overlay-light-weak);padding:var(--space-1)var(--space-2);border-radius:var(--radius-full);min-width:1.75rem;text-align:center}.blog-sidebar .tag-cloud{display:flex;flex-wrap:wrap;gap:var(--space-2)}.blog-sidebar .tag-link{position:relative;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3)var(--space-4);color:var(--color-white);background:var(--color-overlay-light-medium);backdrop-filter:blur(5px);border-radius:var(--radius-lg);border:var(--border-width-thin)solid var(--color-overlay-dark-weak);transition:var(--transition-all);display:inline-flex;padding:var(--space-2)var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-xs);color:var(--color-white)}.blog-sidebar .tag-link svg{flex-shrink:0;width:1.25em;height:1.25em;color:var(--color-primary)}.blog-sidebar .tag-link.active{color:var(--color-white);background:linear-gradient(90deg,var(--color-overlay-light-medium) 0%,var(--color-overlay-light-strong) 100%);border-color:var(--color-overlay-light-strong);font-weight:var(--font-weight-bold);box-shadow:var(--shadow-lg)}.blog-sidebar .tag-link:hover{background:rgba(255,255,255,.15);color:var(--color-white)}.blog-sidebar .view-all-link{position:relative;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3)var(--space-4);color:var(--color-white);background:var(--color-overlay-light-medium);backdrop-filter:blur(5px);border-radius:var(--radius-lg);border:var(--border-width-thin)solid var(--color-overlay-dark-weak);transition:var(--transition-all);display:inline-flex;margin-top:var(--space-3);padding:var(--space-2)var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.blog-sidebar .view-all-link svg{flex-shrink:0;width:1.25em;height:1.25em;color:var(--color-primary)}.blog-sidebar .view-all-link.active{color:var(--color-white);background:linear-gradient(90deg,var(--color-overlay-light-medium) 0%,var(--color-overlay-light-strong) 100%);border-color:var(--color-overlay-light-strong);font-weight:var(--font-weight-bold);box-shadow:var(--shadow-lg)}.blog-sidebar .recent-posts{display:flex;flex-direction:column;gap:var(--space-2-5)}.blog-sidebar .recent-post-link{position:relative;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3)var(--space-4);color:var(--color-white);background:var(--color-overlay-light-medium);backdrop-filter:blur(5px);border-radius:var(--radius-lg);border:var(--border-width-thin)solid var(--color-overlay-dark-weak);transition:var(--transition-all);position:relative;display:block;padding:var(--space-3)var(--space-4)}.blog-sidebar .recent-post-link svg{flex-shrink:0;width:1.25em;height:1.25em;color:var(--color-primary)}.blog-sidebar .recent-post-link.active{color:var(--color-white);background:linear-gradient(90deg,var(--color-overlay-light-medium) 0%,var(--color-overlay-light-strong) 100%);border-color:var(--color-overlay-light-strong);font-weight:var(--font-weight-bold);box-shadow:var(--shadow-lg)}.blog-sidebar .recent-post-link::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--color-white) 0%,var(--color-overlay-light-strong) 100%);transform:scaleY(0);transition:transform var(--transition-smooth);transform-origin:top}.blog-sidebar .recent-post-link:hover::before,.blog-sidebar .recent-post-link.active::before{transform:scaleY(1)}.blog-sidebar .recent-post-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-1-5);line-height:var(--line-height-normal);color:inherit}.blog-sidebar .recent-post-date{font-size:var(--font-size-xs);color:var(--color-overlay-light-92);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.blog-sidebar .btn-back-home{display:block;width:100%;padding:var(--space-4)var(--space-6);color:var(--color-white);text-align:center;font-weight:var(--font-weight-bold);font-size:var(--font-size-base);text-decoration:none;box-shadow:var(--shadow-md);position:relative;overflow:hidden;background:var(--color-overlay-light-medium);backdrop-filter:blur(var(--blur-md));border-radius:var(--radius-lg);border:var(--border-width-base)solid var(--color-overlay-light-strong);transition:var(--transition-all)}.blog-sidebar .btn-back-home:hover{background:var(--color-overlay-light-strong);border-color:var(--color-white);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.blog-sidebar .btn-back-home:active{transform:translateY(0)}.blog-sidebar .btn-back-home::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,var(--color-overlay-light-medium),transparent);transition:left .5s}.blog-sidebar .btn-back-home:hover::before{left:100%}.blog-sidebar .btn-back-home .icon{transition:var(--transition-transform)}.blog-sidebar .btn-back-home:hover .icon{transform:translateX(-3px)}.floating-controls{position:fixed;inset-block-start:var(--space-4);inset-inline-end:var(--space-4);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-3)}@media(max-width:767px){.floating-controls{inset-block-start:var(--space-3);inset-inline-end:var(--space-3);gap:var(--space-2)}}.floating-control{position:relative}.control-button{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3)var(--space-4);background:linear-gradient(var(--gradient-angle-default),var(--color-white) 0%,var(--color-gray-50) 100%);color:var(--color-text-primary);border:var(--border-width-base)solid var(--border-color-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm),0 0 0 var(--border-width-thin)color-mix(in srgb,var(--color-white) 50%,transparent)inset;cursor:pointer;transition:all var(--transition-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-decoration:none;min-width:var(--control-button-min-width);backdrop-filter:blur(var(--glass-blur-strong))}.control-button:hover{background:linear-gradient(var(--gradient-angle-default),var(--color-primary-light) 0%,var(--color-white) 100%);border-color:var(--color-primary);box-shadow:var(--shadow-lg),0 0 0 3px var(--color-primary-light);transform:translateY(var(--translate-hover))scale(1.02)}.control-button:hover .icon{color:var(--color-primary);transform:scale(1.1)}.control-button:active{transform:translateY(0)scale(.98)}.control-button[aria-expanded=true]{background:linear-gradient(var(--gradient-angle-default),var(--color-primary) 0%,var(--color-primary-dark) 100%);color:var(--color-white);border-color:var(--color-primary-dark);box-shadow:0 10px 15px -3px color-mix(in srgb,var(--color-primary) 40%,transparent),0 4px 6px -2px color-mix(in srgb,var(--color-primary) 20%,transparent),0 0 0 var(--border-width-thin)color-mix(in srgb,var(--color-white) 20%,transparent)inset}.control-button[aria-expanded=true] .icon{color:var(--color-white)}.control-button[aria-expanded=true] .control-label{color:var(--color-white)}.control-button .icon{inline-size:var(--space-5);block-size:var(--space-5);flex-shrink:0;color:var(--color-gray-600);transition:all var(--transition-fast)}.control-button .control-label{font-weight:var(--font-weight-bold);letter-spacing:.05em;min-width:2ch;text-align:center}@media(max-width:767px){.control-button .control-label{display:none}}.page-toggle .control-button{background:linear-gradient(var(--gradient-angle-default),var(--color-primary) 0%,var(--color-primary-dark) 100%);color:var(--color-white);border-color:var(--color-primary-dark);box-shadow:0 4px 6px -1px color-mix(in srgb,var(--color-primary) 30%,transparent),0 2px 4px -1px color-mix(in srgb,var(--color-primary) 20%,transparent),0 0 0 var(--border-width-thin)color-mix(in srgb,var(--color-white) 20%,transparent)inset}.page-toggle .control-button .icon{color:var(--color-white)}.page-toggle .control-button .control-label{color:var(--color-white)}.page-toggle .control-button:hover{background:linear-gradient(135deg,var(--color-primary-dark) 0%,var(--color-primary) 100%);border-color:var(--color-primary-dark);box-shadow:0 10px 15px -3px rgba(37,99,235,.4),0 4px 6px -2px rgba(37,99,235,.3),0 0 0 3px rgba(37,99,235,.2);transform:translateY(-2px)scale(1.05)}.page-toggle .control-button:hover .icon{color:var(--color-white);transform:scale(1.15)}.control-dropdown{position:absolute;inset-block-start:calc(100% + var(--space-2));inset-inline-end:0;min-inline-size:12rem;background-color:var(--color-white);border:var(--border-width-base)solid var(--border-color-base);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl),0 0 0 var(--border-width-thin)color-mix(in srgb,var(--color-white) 50%,transparent)inset;opacity:0;visibility:hidden;transform:translateY(-10px)scale(.95);transition:opacity var(--transition-base),visibility var(--transition-base),transform var(--transition-base);pointer-events:none;overflow:hidden;backdrop-filter:blur(var(--glass-blur-strong))}.control-dropdown.active{opacity:1;visibility:visible;transform:translateY(0)scale(1);pointer-events:auto}.dropdown-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3)var(--space-4);color:var(--color-text-primary);text-decoration:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border:none;background:0 0;width:100%;text-align:left;cursor:pointer;transition:all var(--transition-fast);position:relative}.dropdown-item::before{content:'';position:absolute;inset-inline-start:0;inset-block-start:0;inset-block-end:0;width:3px;background:var(--color-primary);transform:scaleY(0);transition:transform var(--transition-fast)}.dropdown-item:hover{background:linear-gradient(90deg,var(--color-primary-light) 0%,transparent 100%);color:var(--color-primary);padding-inline-start:calc(var(--space-4) + var(--space-1))}.dropdown-item:hover::before{transform:scaleY(1)}.dropdown-item:not(:last-child){border-block-end:var(--border-width-thin)solid var(--color-gray-100)}.dropdown-item .item-icon{font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);color:var(--color-gray-600);letter-spacing:.1em;min-width:2.5ch;text-align:center;transition:all var(--transition-fast)}.dropdown-item .item-label{flex:1;transition:transform var(--transition-fast)}.dropdown-item:hover .item-icon{color:var(--color-primary);transform:scale(1.1)}.dropdown-item:hover .item-label{transform:translateX(2px)}.theme-selector .theme-color{inline-size:var(--space-5);block-size:var(--space-5);border-radius:var(--radius-full);flex-shrink:0;border:var(--border-width-base)solid var(--color-white);box-shadow:0 0 0 var(--border-width-base)var(--border-color-strong),0 2px 4px var(--color-overlay-dark-weak);transition:all var(--transition-fast)}.theme-selector .dropdown-item:hover .theme-color{box-shadow:0 0 0 2px var(--color-white),0 0 0 4px var(--color-primary),0 4px 6px rgba(0,0,0,.15);transform:scale(1.2)}@keyframes pulse-glow{0%,100%{box-shadow:0 4px 6px -1px rgba(37,99,235,.3),0 2px 4px -1px rgba(37,99,235,.2),0 0 0 1px rgba(255,255,255,.2)inset}50%{box-shadow:0 4px 6px -1px rgba(37,99,235,.4),0 2px 4px -1px rgba(37,99,235,.3),0 0 0 1px rgba(255,255,255,.3)inset,0 0 20px rgba(37,99,235,.3)}}.page-toggle .control-button{animation:pulse-glow 3s ease-in-out infinite}@media(max-width:767px){.floating-controls{gap:var(--space-2)}.control-button{padding:var(--space-2)var(--space-3);min-width:var(--control-button-min-width-mobile)}.control-dropdown{min-inline-size:10rem;inset-inline-end:0}}.cv-header{background:linear-gradient(var(--gradient-angle-default),var(--color-primary) 0%,var(--color-primary-dark) 100%);color:var(--color-white);padding-block:var(--space-12);margin-block-end:var(--space-8);border-radius:0 0 var(--radius-lg)var(--radius-lg)}@media(max-width:767px){.cv-header{padding-block:var(--space-8);margin-block-end:var(--space-6)}}.cv-header h1{font-size:var(--font-size-5xl);font-weight:var(--font-weight-bold);margin-block-end:var(--space-2);line-height:var(--line-height-tight)}@media(max-width:767px){.cv-header h1{font-size:var(--font-size-4xl)}}.cv-header .cv-subtitle{font-size:var(--font-size-xl);font-weight:var(--font-weight-normal);color:color-mix(in srgb,var(--color-white) 95%,transparent);margin-block-end:var(--space-4);line-height:var(--line-height-normal)}@media(max-width:767px){.cv-header .cv-subtitle{font-size:var(--font-size-lg)}}.cv-header .cv-contact{display:flex;flex-wrap:wrap;gap:var(--space-4);font-size:var(--font-size-sm);color:color-mix(in srgb,var(--color-white) 90%,transparent)}.cv-header .cv-contact a{color:color-mix(in srgb,var(--color-white) 90%,transparent);text-decoration:none;transition:color var(--transition-fast)}.cv-header .cv-contact a:hover{color:var(--color-white)}.cv-hero{position:relative;background:linear-gradient(var(--gradient-angle-default),color-mix(in srgb,var(--color-primary) 34%,white) 0%,color-mix(in srgb,var(--color-primary-dark) 34%,white) 100%);color:var(--color-gray-900);padding:var(--space-16)var(--space-8)var(--space-12);margin-block-start:var(--space-8);margin-inline:0;margin-block-end:var(--space-12);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl),0 0 0 var(--border-width-thin)var(--color-overlay-dark-weak)inset;overflow:hidden;transition:background var(--transition-base)}.cv-hero::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at top right,var(--color-overlay-light-40) 0%,transparent 50%),radial-gradient(circle at bottom left,var(--color-overlay-light-20) 0%,transparent 50%)}.cv-hero::after{content:'';position:absolute;inset-block-end:0;inset-inline-start:0;inset-inline-end:0;block-size:4px;background:linear-gradient(90deg,color-mix(in srgb,var(--color-primary) 60%,white) 0%,color-mix(in srgb,var(--color-primary) 40%,white) 50%,color-mix(in srgb,var(--color-primary) 60%,white) 100%);opacity:.8;pointer-events:none}@media(max-width:767px){.cv-hero{padding:var(--space-8)var(--space-4);margin-inline:calc(var(--space-4) * -1);margin-block-end:var(--space-8);border-radius:var(--radius-lg)}}.cv-hero__content{position:relative;z-index:1;max-inline-size:1100px}.cv-hero__badge{display:inline-block;padding:var(--space-2)var(--space-5);background:var(--color-overlay-light-50);backdrop-filter:blur(var(--glass-blur-strong));border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-gray-700);text-transform:uppercase;letter-spacing:.1em;margin-block-end:var(--space-5);border:var(--border-width-thin)solid var(--color-overlay-dark-weak)}@media(max-width:767px){.cv-hero__badge{font-size:var(--font-size-xs);margin-block-end:var(--space-4)}}.cv-hero__headline{font-size:var(--font-size-5xl);font-weight:var(--font-weight-bold);color:var(--color-gray-900);margin-block-end:var(--space-8);line-height:var(--line-height-tight);letter-spacing:-.03em}@media(max-width:767px){.cv-hero__headline{font-size:var(--font-size-3xl);margin-block-end:var(--space-6)}}.cv-hero__highlights{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-block-end:var(--space-8)}@media(max-width:767px){.cv-hero__highlights{gap:var(--space-2);margin-block-end:var(--space-6)}}.cv-hero__highlight{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3)var(--space-5);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-gray-800);box-shadow:var(--shadow-xs);background:var(--color-overlay-light-50);backdrop-filter:blur(5px);border-radius:var(--radius-lg);border:var(--border-width-thin)solid var(--color-overlay-dark-weak);transition:var(--transition-all)}.cv-hero__highlight:hover{background:color-mix(in srgb,var(--color-white) 70%,transparent);transform:translateY(var(--translate-hover));box-shadow:var(--shadow-sm)}@media(max-width:767px){.cv-hero__highlight{padding:var(--space-2)var(--space-3);font-size:var(--font-size-sm)}}.cv-hero__icon{inline-size:var(--space-5);block-size:var(--space-5);flex-shrink:0}@media(max-width:767px){.cv-hero__icon{inline-size:var(--space-4);block-size:var(--space-4)}}.cv-hero__description{font-size:var(--font-size-lg);line-height:var(--line-height-relaxed);color:var(--color-gray-700);max-inline-size:900px}.cv-hero__description p{margin-block-end:var(--space-4);font-weight:var(--font-weight-normal);color:var(--color-white)}.cv-hero__description p:first-child{font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);color:var(--color-white);margin-block-end:var(--space-5)}.cv-hero__description p:last-child{margin-block-end:0}.cv-hero__description strong{color:var(--color-white);font-weight:var(--font-weight-bold)}.cv-hero__description *{color:inherit!important}@media(max-width:767px){.cv-hero__description{font-size:var(--font-size-base)}.cv-hero__description p:first-child{font-size:var(--font-size-lg)}}.cv-section{margin-block-end:var(--space-10)}@media(max-width:767px){.cv-section{margin-block-end:var(--space-8)}}.cv-section h2{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);letter-spacing:-.01em;margin-bottom:var(--space-6);border-bottom:var(--border-width-heavy)solid var(--color-primary);padding-bottom:var(--space-3)}@media(max-width:767px){.cv-section h2{font-size:var(--font-size-2xl);padding-bottom:var(--space-2);margin-bottom:var(--space-4)}}.cv-card{background-color:var(--color-bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-6);border:var(--border-width-thin)solid var(--border-color-light);margin-block-end:var(--space-6);position:relative;overflow:hidden}@media(min-width:768px){.cv-card{padding:var(--space-8)}}.cv-card::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,var(--color-overlay-light-medium),transparent);transition:left .5s}.cv-card:hover::before{left:100%}.cv-card h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-block-end:var(--space-3)}.cv-card h4{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);margin-block:var(--space-4)var(--space-3)}.cv-card .cv-company{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-primary)}.cv-card .cv-date{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);white-space:nowrap}.cv-card .cv-summary{color:var(--color-text-secondary);font-style:italic;margin-block:var(--space-3);line-height:var(--line-height-relaxed)}.cv-card ul{list-style:disc;padding-inline-start:var(--space-6);margin-block:var(--space-4)var(--space-3)}.cv-card ul li{color:var(--color-text-secondary);margin-block-end:var(--space-3);line-height:var(--line-height-relaxed)}.cv-card ul li::marker{color:var(--color-primary)}.cv-card p{color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin-block-end:var(--space-3)}.cv-card p:last-child{margin-block-end:0}.cv-card strong{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.cv-grid{display:grid;gap:var(--space-6)}@media(min-width:768px){.cv-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.cv-grid.cv-grid-3{grid-template-columns:repeat(3,1fr)}}@media(min-width:768px){.cv-grid .cv-grid-full{grid-column:1/-1}}.cv-competency{background-color:linear-gradient(var(--gradient-angle-default),var(--color-white) 0%,var(--color-gray-50) 100%);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-6);border:var(--border-width-thin)solid var(--border-color-base)}@media(min-width:768px){.cv-competency{padding:var(--space-8)}}.cv-competency:hover{background:var(--color-white)}.cv-competency h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-primary-dark);margin-block-end:var(--space-3);display:flex;align-items:center;gap:var(--space-2)}.cv-competency h3 i{color:var(--color-primary)}.cv-competency p{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.cv-skills-grid{display:grid;gap:var(--space-4)}@media(min-width:768px){.cv-skills-grid{grid-template-columns:repeat(2,1fr)}}.cv-skills-grid .cv-skill-category h3{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-block-end:var(--space-2)}.cv-skills-grid .cv-skill-category p{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-normal)}.cv-download-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3)var(--space-6);border-radius:var(--radius-lg);font-weight:var(--font-weight-semibold);text-decoration:none;cursor:pointer;transition:var(--transition-all);box-shadow:var(--shadow-xs);background:linear-gradient(var(--gradient-angle-default),var(--color-primary) 0%,var(--color-primary-dark) 100%);color:var(--color-white);border:var(--border-width-base)solid var(--color-primary-dark);position:fixed;inset-block-end:var(--space-6);inset-inline-end:var(--space-6);z-index:var(--z-sticky);border-radius:var(--radius-full);box-shadow:var(--shadow-lg);text-decoration:none;border:none}.cv-download-btn:active{transform:translateY(0)}.cv-download-btn:hover{background:var(--color-primary-dark);transform:translateY(calc(var(--translate-hover) * 2));box-shadow:var(--shadow-lg)}.cv-download-btn:hover{box-shadow:var(--shadow-xl)}@media(max-width:767px){.cv-download-btn{padding:var(--space-2)var(--space-4);inset-block-end:var(--space-4);inset-inline-end:var(--space-4)}}.cv-footer{background-color:var(--color-gray-800);color:var(--color-gray-300);padding-block:var(--space-6);text-align:center}.cv-footer p{font-size:var(--font-size-sm)}.cv-footer .cv-footer-links{margin-block-start:var(--space-3);display:flex;justify-content:center;gap:var(--space-6);flex-wrap:wrap}.cv-footer .cv-footer-links a{color:var(--color-gray-300);text-decoration:none;transition:color var(--transition-smooth)}.cv-footer .cv-footer-links a:hover{color:var(--color-white)}@layer utilities{.container-inline {
    container-type: inline-size;
    container-name: inline-container; }
  .container-block {
    container-type: block-size;
    container-name: block-container; }
  
  .subgrid {
    grid-template-columns: subgrid;
    grid-template-rows: subgrid; }
  .subgrid-cols {
    grid-template-columns: subgrid; }
  .subgrid-rows {
    grid-template-rows: subgrid; }
  
  
  .flex {
    display: flex; }
  .inline-flex {
    display: inline-flex; }
  .inline-block {
    display: inline-block; }
  .grid {
    display: grid; }
  .hidden {
    display: none; }
  .block {
    display: block; }
  .flex-col {
    flex-direction: column; }
  .flex-wrap {
    flex-wrap: wrap; }
  .flex-1 {
    flex: 1 1 0%; }
  .items-center {
    align-items: center; }
  .items-start {
    align-items: flex-start; }
  .justify-between {
    justify-content: space-between; }
  .justify-center {
    justify-content: center; }
  
  
  .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-7 {
    gap: var(--space-7); }
  .gap-8 {
    gap: var(--space-8); }
  .gap-9 {
    gap: var(--space-9); }
  .gap-10 {
    gap: var(--space-10); }
  .gap-11 {
    gap: var(--space-11); }
  .gap-12 {
    gap: var(--space-12); }
  
  .space-y-2:has(> *) > * + * {
    margin-block-start: var(--space-2); }
  .space-y-3:has(> *) > * + * {
    margin-block-start: var(--space-3); }
  .space-y-4:has(> *) > * + * {
    margin-block-start: var(--space-4); }
  .space-y-5:has(> *) > * + * {
    margin-block-start: var(--space-5); }
  .space-y-6:has(> *) > * + * {
    margin-block-start: var(--space-6); }
  .space-y-7:has(> *) > * + * {
    margin-block-start: var(--space-7); }
  .space-y-8:has(> *) > * + * {
    margin-block-start: var(--space-8); }
  
  
  .w-full {
    inline-size: 100%; }
  .h-full {
    block-size: 100%; }
  .min-h-screen {
    min-block-size: 100vh; }
  
  .mb-1 {
    margin-block-end: var(--space-1); }
  .mb-2 {
    margin-block-end: var(--space-2); }
  .mb-3 {
    margin-block-end: var(--space-3); }
  .mb-4 {
    margin-block-end: var(--space-4); }
  .mb-5 {
    margin-block-end: var(--space-5); }
  .mb-6 {
    margin-block-end: var(--space-6); }
  .mb-7 {
    margin-block-end: var(--space-7); }
  .mb-8 {
    margin-block-end: var(--space-8); }
  .mb-9 {
    margin-block-end: var(--space-9); }
  .mb-10 {
    margin-block-end: var(--space-10); }
  .mb-11 {
    margin-block-end: var(--space-11); }
  .mb-12 {
    margin-block-end: var(--space-12); }
  .mt-1 {
    margin-block-start: var(--space-1); }
  .mt-2 {
    margin-block-start: var(--space-2); }
  .mt-3 {
    margin-block-start: var(--space-3); }
  .mt-4 {
    margin-block-start: var(--space-4); }
  .mt-5 {
    margin-block-start: var(--space-5); }
  .mt-6 {
    margin-block-start: var(--space-6); }
  .mt-7 {
    margin-block-start: var(--space-7); }
  .mt-8 {
    margin-block-start: var(--space-8); }
  .mt-9 {
    margin-block-start: var(--space-9); }
  .mt-10 {
    margin-block-start: var(--space-10); }
  .mt-11 {
    margin-block-start: var(--space-11); }
  .mt-12 {
    margin-block-start: var(--space-12); }
  .mx-1 {
    margin-inline: var(--space-1); }
  .mx-2 {
    margin-inline: var(--space-2); }
  .mx-3 {
    margin-inline: var(--space-3); }
  .mx-4 {
    margin-inline: var(--space-4); }
  .mx-5 {
    margin-inline: var(--space-5); }
  .mx-6 {
    margin-inline: var(--space-6); }
  .mx-7 {
    margin-inline: var(--space-7); }
  .mx-8 {
    margin-inline: var(--space-8); }
  .mx-9 {
    margin-inline: var(--space-9); }
  .mx-10 {
    margin-inline: var(--space-10); }
  .mx-11 {
    margin-inline: var(--space-11); }
  .mx-12 {
    margin-inline: var(--space-12); }
  .pb-1 {
    padding-block-end: var(--space-1); }
  .pb-2 {
    padding-block-end: var(--space-2); }
  .pb-3 {
    padding-block-end: var(--space-3); }
  .pb-4 {
    padding-block-end: var(--space-4); }
  .pb-5 {
    padding-block-end: var(--space-5); }
  .pb-6 {
    padding-block-end: var(--space-6); }
  .pb-7 {
    padding-block-end: var(--space-7); }
  .pb-8 {
    padding-block-end: var(--space-8); }
  .pb-9 {
    padding-block-end: var(--space-9); }
  .pb-10 {
    padding-block-end: var(--space-10); }
  .pb-11 {
    padding-block-end: var(--space-11); }
  .pb-12 {
    padding-block-end: var(--space-12); }
  .pt-1 {
    padding-block-start: var(--space-1); }
  .pt-2 {
    padding-block-start: var(--space-2); }
  .pt-3 {
    padding-block-start: var(--space-3); }
  .pt-4 {
    padding-block-start: var(--space-4); }
  .pt-5 {
    padding-block-start: var(--space-5); }
  .pt-6 {
    padding-block-start: var(--space-6); }
  .pt-7 {
    padding-block-start: var(--space-7); }
  .pt-8 {
    padding-block-start: var(--space-8); }
  .pt-9 {
    padding-block-start: var(--space-9); }
  .pt-10 {
    padding-block-start: var(--space-10); }
  .pt-11 {
    padding-block-start: var(--space-11); }
  .pt-12 {
    padding-block-start: var(--space-12); }
  .px-1 {
    padding-inline: var(--space-1); }
  .px-2 {
    padding-inline: var(--space-2); }
  .px-3 {
    padding-inline: var(--space-3); }
  .px-4 {
    padding-inline: var(--space-4); }
  .px-5 {
    padding-inline: var(--space-5); }
  .px-6 {
    padding-inline: var(--space-6); }
  .px-7 {
    padding-inline: var(--space-7); }
  .px-8 {
    padding-inline: var(--space-8); }
  .px-9 {
    padding-inline: var(--space-9); }
  .px-10 {
    padding-inline: var(--space-10); }
  .px-11 {
    padding-inline: var(--space-11); }
  .px-12 {
    padding-inline: var(--space-12); }
  
  .p-4 {
    padding: var(--space-4); }
  .p-6 {
    padding: var(--space-6); }
  .px-3 {
    padding-inline: var(--space-3); }
  .px-4 {
    padding-inline: var(--space-4); }
  .px-6 {
    padding-inline: var(--space-6); }
  .py-1 {
    padding-block: var(--space-1); }
  .py-2 {
    padding-block: var(--space-2); }
  .py-3 {
    padding-block: var(--space-3); }
  .py-8 {
    padding-block: var(--space-8); }
  
  .m-0 {
    margin: 0; }
  .mt-0 {
    margin-block-start: 0; }
  .mt-4 {
    margin-block-start: var(--space-4); }
  .mb-2 {
    margin-block-end: var(--space-2); }
  .mb-6 {
    margin-block-end: var(--space-6); }
  .mb-12 {
    margin-block-end: var(--space-12); }
  
  
  .flex {
    display: flex; }
  .flex-wrap {
    flex-wrap: wrap; }
  .items-center {
    align-items: center; }
  .justify-between {
    justify-content: space-between; }
  
  .gap-2 {
    gap: var(--space-2); }
  .gap-3 {
    gap: var(--space-3); }
  .gap-4 {
    gap: var(--space-4); }
  .gap-6 {
    gap: var(--space-6); }
  .gap-8 {
    gap: var(--space-8); }
  
  .space-y-6 > * + * {
    margin-block-start: var(--space-6); }
  .space-y-8 > * + * {
    margin-block-start: var(--space-8); }
  
  
  .font-sans {
    font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
  .font-bold {
    font-weight: var(--font-weight-bold); }
  .font-semibold {
    font-weight: var(--font-weight-semibold); }
  .font-medium {
    font-weight: var(--font-weight-medium); }
  
  .text-xs {
    font-size: var(--font-size-xs); }
  .text-sm {
    font-size: var(--font-size-sm); }
  .text-md {
    font-size: var(--font-size-base); }
  .text-lg {
    font-size: var(--font-size-lg); }
  .text-xl {
    font-size: var(--font-size-xl); }
  .text-2xl {
    font-size: var(--font-size-2xl); }
  .text-3xl {
    font-size: var(--font-size-3xl); }
  .text-4xl {
    font-size: var(--font-size-4xl); }
  .text-5xl {
    font-size: var(--font-size-5xl); }
  .uppercase {
    text-transform: uppercase; }
  .tracking-wider {
    letter-spacing: var(--letter-spacing-wide); }
  .leading-relaxed {
    line-height: var(--line-height-relaxed); }
  .leading-tight {
    line-height: var(--line-height-tight); }
  .text-center {
    text-align: center; }
  .antialiased {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }
  .whitespace-nowrap {
    white-space: nowrap; }
  
  
  .relative {
    position: relative; }
  .absolute {
    position: absolute; }
  .fixed {
    position: fixed; }
  .inset-0 {
    inset: 0; }
  
  
  .overflow-hidden {
    overflow: hidden; }
  
  .object-cover {
    object-fit: cover; }
  
  .rounded-full {
    border-radius: var(--radius-full); }
  .rounded-lg {
    border-radius: var(--radius-md); }
  
  .border {
    border: var(--border-width-thin) solid var(--border-color-base); }
  .border-t {
    border-top: var(--border-width-thin) solid var(--border-color-base); }
  .border-gray-200 {
    border-color: var(--color-gray-200); }
  
  
  .text-gray-900 {
    color: var(--color-gray-900); }
  .text-gray-800 {
    color: var(--color-gray-800); }
  .text-gray-700 {
    color: var(--color-gray-700); }
  .text-gray-600 {
    color: var(--color-gray-600); }
  .text-gray-500 {
    color: var(--color-gray-500); }
  .text-white {
    color: var(--color-white); }
  .text-primary {
    color: var(--color-primary); }
  .text-primary-dark {
    color: var(--color-primary-dark); }
  .text-primary-600 {
    color: var(--color-primary); }
  .text-primary-700 {
    color: var(--color-primary-dark); }
  .bg-gray-50 {
    background-color: var(--color-gray-50); }
  .bg-primary {
    background-color: var(--color-primary); }
  .bg-primary-light {
    background-color: var(--color-primary-light); }
  
  .bg-theme-blue {
    background-color: #2563eb; }
  .bg-theme-berry {
    background-color: #ec4899; }
  .bg-theme-green {
    background-color: #22c55e; }
  .bg-theme-turquoise {
    background-color: #14b8a6; }
  
  
  .w-10 {
    inline-size: 2.5rem; }
  .h-10 {
    block-size: 2.5rem; }
  
  .max-w-4xl {
    max-inline-size: 56rem; }
  .max-w-none {
    max-inline-size: none; }
  
  
  .z-50 {
    z-index: var(--z-toast); }
  
  .hover\:text-primary:hover {
    color: var(--color-primary); }
  .hover\:text-primary-dark:hover {
    color: var(--color-primary-dark); }
  .hover\:text-primary-700:hover {
    color: var(--color-primary-dark); }
  .hover\:shadow-md:hover {
    box-shadow: var(--shadow-md); }
  
  .transition-shadow {
    transition: box-shadow var(--transition-base); }
  .duration-300 {
    transition-duration: 300ms; }
  
  
  .delay-1 {
    animation-delay: calc(var(--duration-instant) * 1); }
  .delay-2 {
    animation-delay: calc(var(--duration-instant) * 2); }
  .delay-3 {
    animation-delay: calc(var(--duration-instant) * 3); }
  .delay-4 {
    animation-delay: calc(var(--duration-instant) * 4); }
  
  .list-disc {
    list-style-type: disc; }
  .list-inside {
    list-style-position: inside; }
  
  
  .shadow-md {
    box-shadow: var(--shadow-md); }
  .shadow-lg {
    box-shadow: var(--shadow-lg); }
  
  .transition-all {
    transition: all var(--transition-base); }
  .transition-colors {
    transition: color var(--transition-base), background-color var(--transition-base), border-color var(--transition-base); }
  .transition-transform {
    transition: transform var(--transition-smooth); }
  .transition-opacity {
    transition: opacity var(--transition-base); }
  
  .animate-fade-in {
    animation: fadeIn 0.5s ease-in; }
  
  
  .scroll-snap-x {
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth; }
  .scroll-snap-y {
    scroll-snap-type: y mandatory;
    scroll-behavior: smooth; }
  .scroll-snap-center {
    scroll-snap-align: center; }
  .scroll-snap-start {
    scroll-snap-align: start; }
  
  .view-transition {
    view-transition-name: var(--view-transition-name, none); }
  
  .anchor-positioning {
    position: absolute;
    position-anchor: --anchor; }
  
  
  @keyframes fadeIn {
    from {
      opacity: 0;
      transform: translateY(calc(var(--space-2) * 5)); }
    to {
      opacity: 1;
      transform: translateY(0); } }
  @keyframes slideIn {
    from {
      opacity: 0;
      transform: translateY(var(--translate-hover-lg)); }
    to {
      opacity: 1;
      transform: translateY(0); } }
  @keyframes fadeInUp {
    from {
      opacity: 0;
      transform: translateY(30px); }
    to {
      opacity: 1;
      transform: translateY(0); } }
  @keyframes float {
    0%, 100% {
      transform: translateY(0) translateX(0); }
    50% {
      transform: translateY(-30px) translateX(20px); } }
  @keyframes subtleFloat {
    0%, 100% {
      transform: translate(0, 0) rotate(0deg); }
    33% {
      transform: translate(30px, -30px) rotate(5deg); }
    66% {
      transform: translate(-20px, 20px) rotate(-5deg); } }
  
  
  @media (min-width: 768px) {
    .md\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .md\:gap-6 {
      gap: var(--space-6); }
    .md\:text-5xl {
      font-size: var(--font-size-5xl); } }
  @media (min-width: 1024px) {
    .lg\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .lg\:flex-row {
      flex-direction: row; } } }@media print{.sidebar,.sidebar-overlay,.sidebar-toggle,.btn-download,.no-print{display:none!important}#main-content{margin-inline-start:0!important;padding-block-start:0!important;z-index:1!important}body{background-color:var(--color-white);padding-block-start:0!important}main{padding-block:var(--space-2)}header{padding-block:var(--space-3)}section{margin-block-end:var(--space-2);break-inside:avoid}.card{margin-block-end:var(--space-2);padding:var(--space-3);box-shadow:none;border:1px solid var(--color-gray-200)}.experience-item,.education-item,.project-card{break-inside:avoid;margin-block-end:var(--space-2);padding:var(--space-3)}h1{font-size:2.25rem;margin-block-end:var(--space-1)}h2{margin-block-end:var(--space-2);padding-block-end:var(--space-1);font-size:1.25rem;border-block-end-width:2px}h3{font-size:1rem;margin-block-end:var(--space-1)}h4{font-size:.9rem;margin-block:var(--space-2)var(--space-1)}p{margin-block-end:var(--space-1);font-size:.8rem;line-height:1.4}ul{margin-block-end:var(--space-1)}li{margin-block-end:.1rem;font-size:.8rem;line-height:1.4}.space-y-2>*+*{margin-block-start:var(--space-1)}.space-y-4>*+*{margin-block-start:var(--space-2)}.space-y-8>*+*{margin-block-start:var(--space-3)}.grid{gap:var(--space-2)}.floating-controls{display:none!important}.cv-download-btn,.cv-download-btn.no-print{display:none!important}.cv-header{background:var(--color-primary)!important;print-color-adjust:exact;-webkit-print-color-adjust:exact;border-radius:0;padding-block:var(--space-3)!important;margin-block-end:var(--space-2)!important}.cv-header h1{font-size:1.75rem!important;margin-block-end:var(--space-1)!important}.cv-header .cv-subtitle{font-size:.9rem!important;margin-block-end:var(--space-2)!important}.cv-header .cv-contact{font-size:.75rem!important;gap:var(--space-2)!important}.cv-section{margin-block-end:var(--space-4)!important;break-inside:avoid}.cv-section h2{font-size:1.15rem!important;margin-block-end:var(--space-2)!important;padding-block-end:var(--space-1)!important;border-block-end-width:2px!important}.cv-card{margin-block-end:var(--space-3)!important;padding:var(--space-3)!important;box-shadow:none!important;border:1px solid var(--color-gray-200);break-inside:avoid}.cv-card h3{font-size:.95rem!important;margin-block-end:var(--space-1)!important}.cv-card h4{font-size:.9rem!important;margin-block:var(--space-2)var(--space-1)!important}.cv-card .cv-company{font-size:.85rem!important}.cv-card .cv-date{font-size:.75rem!important}.cv-card .cv-summary{margin-block:var(--space-2)!important;font-size:.8rem!important;line-height:1.35!important}.cv-card p{font-size:.8rem!important;line-height:1.35!important;margin-block-end:var(--space-1)!important}.cv-card ul{margin-block:var(--space-2)!important}.cv-card ul li{font-size:.8rem!important;line-height:1.35!important;margin-block-end:.1rem!important}.cv-grid{gap:var(--space-2)!important}.cv-competency{padding:var(--space-3)!important;box-shadow:none!important}.cv-competency h3{font-size:.9rem!important;margin-block-end:var(--space-1)!important}.cv-competency p{font-size:.8rem!important;line-height:1.35!important}.cv-skills-grid{gap:var(--space-2)!important}.cv-skills-grid .cv-skill-category h3{font-size:.85rem!important;margin-block-end:var(--space-1)!important}.cv-skills-grid .cv-skill-category p{font-size:.75rem!important;line-height:1.3!important}p,li{orphans:3;widows:3}@page{margin:1.2cm;size:A4}.page-break{break-before:page}.avoid-break{break-inside:avoid}}