:root{--color-primary: #3b82f6;--color-primary-dark: #2563eb;--color-primary-light: #93c5fd;--color-secondary: #64748b;--color-secondary-dark: #475569;--color-secondary-light: #cbd5e1;--color-accent: #f59e0b;--color-accent-dark: #d97706;--color-accent-light: #fbbf24;--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--color-text: #1f2937;--color-text-light: #6b7280;--color-text-muted: #9ca3af;--color-background: #ffffff;--color-background-alt: #f9fafb;--color-background-dark: #f3f4f6;--color-border: #e5e7eb;--color-border-light: #f3f4f6;--color-border-dark: #d1d5db;--font-family-primary: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;--font-family-mono: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace;--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;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--spacing-xs: 0.25rem;--spacing-sm: 0.5rem;--spacing-base: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 2.5rem;--spacing-3xl: 3rem;--spacing-4xl: 4rem;--spacing-5xl: 5rem;--border-radius-sm: 0.25rem;--border-radius-base: 0.375rem;--border-radius-lg: 0.5rem;--border-radius-xl: 0.75rem;--border-radius-2xl: 1rem;--border-radius-full: 50%;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);--shadow-base: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);--transition-fast: 150ms ease-in-out;--transition-base: 250ms ease-in-out;--transition-slow: 350ms ease-in-out;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}@media (prefers-color-scheme: dark){:root{--color-text: #f9fafb;--color-text-light: #d1d5db;--color-text-muted: #9ca3af;--color-background: #111827;--color-background-alt: #1f2937;--color-background-dark: #374151;--color-border: #374151;--color-border-light: #4b5563;--color-border-dark: #6b7280}}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{font-size:100%;scroll-behavior:smooth;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{font-family:var(--font-family-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-text);background-color:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);margin-bottom:var(--spacing-base);color:var(--color-text)}h1{font-size:clamp(var(--font-size-3xl), 4vw, var(--font-size-5xl))}h2{font-size:clamp(var(--font-size-2xl), 3vw, var(--font-size-4xl))}h3{font-size:clamp(var(--font-size-xl), 2.5vw, var(--font-size-3xl))}h4{font-size:clamp(var(--font-size-lg), 2vw, var(--font-size-2xl))}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{margin-bottom:var(--spacing-base);color:var(--color-text-light);line-height:var(--line-height-relaxed)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover,a:focus{color:var(--color-primary-dark);text-decoration:underline}a:focus{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--border-radius-sm)}ul,ol{margin-bottom:var(--spacing-base);padding-left:var(--spacing-xl)}li{margin-bottom:var(--spacing-xs)}img{max-width:100%;height:auto;display:block}input,textarea,select,button{font-family:inherit;font-size:inherit;line-height:inherit}.skip-link{position:absolute;top:-40px;left:6px;background:var(--color-text);color:var(--color-background);padding:var(--spacing-sm) var(--spacing-base);text-decoration:none;border-radius:var(--border-radius-base);z-index:var(--z-tooltip);transition:top var(--transition-fast)}.skip-link:focus{top:6px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--border-radius-sm)}::selection{background-color:var(--color-primary-light);color:var(--color-text)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-background-alt)}::-webkit-scrollbar-thumb{background:var(--color-border-dark);border-radius:var(--border-radius-base)}::-webkit-scrollbar-thumb:hover{background:var(--color-secondary)}@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}.container{width:100%;max-width:1200px;margin-inline:auto;padding-inline:var(--spacing-base)}@media (min-width: 640px){.container{padding-inline:var(--spacing-lg)}}@media (min-width: 1024px){.container{padding-inline:var(--spacing-xl)}}.header{position:sticky;top:0;background-color:var(--color-background);border-bottom:1px solid var(--color-border);backdrop-filter:blur(8px);z-index:var(--z-sticky)}.header__container{display:flex;align-items:center;justify-content:space-between;padding-block:var(--spacing-base);max-width:1200px;margin-inline:auto;padding-inline:var(--spacing-base)}@media (min-width: 640px){.header__container{padding-inline:var(--spacing-lg)}}@media (min-width: 1024px){.header__container{padding-inline:var(--spacing-xl)}}.header__logo-link{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text);text-decoration:none;transition:color var(--transition-fast)}.header__logo-link:hover{color:var(--color-primary);text-decoration:none}.nav__list{display:none;list-style:none;margin:0;padding:0}@media (min-width: 768px){.nav__list{display:flex;gap:var(--spacing-lg)}}.nav__link{color:var(--color-text-light);text-decoration:none;font-weight:var(--font-weight-medium);padding:var(--spacing-sm) var(--spacing-base);border-radius:var(--border-radius-base);transition:all var(--transition-fast);position:relative}.nav__link:hover,.nav__link:focus{color:var(--color-primary);background-color:var(--color-background-alt);text-decoration:none}.nav__link--active{color:var(--color-primary);font-weight:var(--font-weight-semibold)}.nav__link--active::after{content:'';position:absolute;bottom:-2px;left:var(--spacing-base);right:var(--spacing-base);height:2px;background-color:var(--color-primary);border-radius:1px}.nav__toggle{display:flex;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:var(--spacing-sm);transition:transform var(--transition-fast)}@media (min-width: 768px){.nav__toggle{display:none}}.nav__toggle:hover{transform:scale(1.05)}.nav__toggle-bar{width:24px;height:2px;background-color:var(--color-text);border-radius:1px;transition:all var(--transition-fast)}.nav__toggle[aria-expanded="true"] .nav__toggle-bar:nth-child(1){transform:rotate(45deg) translate(5px, 5px)}.nav__toggle[aria-expanded="true"] .nav__toggle-bar:nth-child(2){opacity:0}.nav__toggle[aria-expanded="true"] .nav__toggle-bar:nth-child(3){transform:rotate(-45deg) translate(7px, -6px)}@media (max-width: 767px){.nav{position:absolute;top:100%;left:0;right:0;background-color:var(--color-background);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transform:translateY(-10px);transition:all var(--transition-fast)}.nav--open{opacity:1;visibility:visible;transform:translateY(0)}.nav__list{display:flex;flex-direction:column;padding:var(--spacing-base);gap:var(--spacing-xs)}.nav__link{padding:var(--spacing-base);border-radius:var(--border-radius-base)}}.main{min-height:calc(100vh - 160px);padding-block:var(--spacing-2xl)}.page{display:none;opacity:0;transition:opacity var(--transition-base)}.page--active{display:block;opacity:1}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-3xl);padding-bottom:var(--spacing-lg);border-bottom:2px solid var(--color-border)}.page-header__title{margin-bottom:0}.section__title{text-align:center;margin-bottom:var(--spacing-2xl);position:relative}.section__title::after{content:'';position:absolute;bottom:-var(--spacing-base);left:50%;transform:translateX(-50%);width:60px;height:3px;background:linear-gradient(90deg, var(--color-primary), var(--color-accent));border-radius:var(--border-radius-base)}.hero{margin-bottom:var(--spacing-5xl);padding-block:var(--spacing-3xl)}.hero__content{display:grid;gap:var(--spacing-2xl);align-items:center;text-align:center}@media (min-width: 768px){.hero__content{grid-template-columns:1fr auto;text-align:left;gap:var(--spacing-4xl)}}.hero__title{margin-bottom:var(--spacing-base);background:linear-gradient(135deg, var(--color-primary), var(--color-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero__description{font-size:var(--font-size-lg);color:var(--color-text-light);margin-bottom:0}.hero__image{order:-1}@media (min-width: 768px){.hero__image{order:0}}.hero__avatar{width:120px;height:120px;border-radius:var(--border-radius-full);border:4px solid var(--color-primary-light);box-shadow:var(--shadow-lg);margin-inline:auto}@media (min-width: 768px){.hero__avatar{width:150px;height:150px;margin-inline:0}}.projects__grid{display:grid;gap:var(--spacing-lg);margin-bottom:var(--spacing-4xl)}@media (min-width: 640px){.projects__grid{grid-template-columns:repeat(2, 1fr)}}@media (min-width: 1024px){.projects__grid{grid-template-columns:repeat(3, 1fr)}}.categories__grid{display:grid;gap:var(--spacing-lg)}@media (min-width: 640px){.categories__grid{grid-template-columns:repeat(2, 1fr)}}@media (min-width: 1024px){.categories__grid{grid-template-columns:repeat(3, 1fr)}}.what-i-do{margin-bottom:var(--spacing-5xl)}.what-i-do__content{display:flex;flex-wrap:wrap;gap:var(--spacing-lg);justify-content:center}.what-i-do__item{flex:1;min-width:200px;text-align:center;padding:var(--spacing-lg);background-color:var(--color-background-alt);border-radius:var(--border-radius-lg);border:2px solid transparent;transition:all var(--transition-base)}.what-i-do__item:hover{border-color:var(--color-primary);transform:translateY(-4px);box-shadow:var(--shadow-lg)}.what-i-do__text{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text)}.music{margin-bottom:var(--spacing-4xl)}.music__link{display:block;text-decoration:none;transition:transform var(--transition-base)}.music__link:hover{transform:translateY(-2px);text-decoration:none}.music__card{display:flex;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-xl);background:linear-gradient(135deg, #1DB954, #1ed760);color:white;border-radius:var(--border-radius-xl);box-shadow:var(--shadow-lg);transition:all var(--transition-base);max-width:400px;margin-inline:auto}.music__card:hover{box-shadow:var(--shadow-xl)}.music__icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center}.music__info h3{margin-bottom:var(--spacing-xs);color:white}.music__description{margin-bottom:0;color:rgba(255,255,255,0.9);font-size:var(--font-size-sm)}.footer{background-color:var(--color-background-alt);border-top:1px solid var(--color-border);padding-block:var(--spacing-2xl);margin-top:auto}.footer__content{text-align:center}.footer__text{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-bottom:var(--spacing-xs)}.footer__text:last-child{margin-bottom:0}.blog__posts{display:grid;gap:var(--spacing-xl)}.tags__cloud{display:flex;flex-wrap:wrap;gap:var(--spacing-base);justify-content:center}.network__card{max-width:600px;margin-inline:auto;text-align:center;padding:var(--spacing-3xl);background-color:var(--color-background-alt);border-radius:var(--border-radius-xl);box-shadow:var(--shadow-base)}.network__title{margin-bottom:var(--spacing-lg);color:var(--color-primary)}.network__description{margin-bottom:var(--spacing-xl);font-size:var(--font-size-lg);line-height:var(--line-height-relaxed)}.about__intro{display:grid;gap:var(--spacing-2xl);align-items:start;margin-bottom:var(--spacing-4xl)}@media (min-width: 768px){.about__intro{grid-template-columns:auto 1fr;gap:var(--spacing-3xl)}}.about__avatar{text-align:center}.about__image{width:200px;height:200px;border-radius:var(--border-radius-full);border:4px solid var(--color-primary-light);box-shadow:var(--shadow-lg);margin-inline:auto}.about__name{margin-bottom:var(--spacing-sm)}.about__role{color:var(--color-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-lg)}.about__social-title{margin-bottom:var(--spacing-lg);text-align:center}.social-links{display:flex;gap:var(--spacing-lg);justify-content:center}.social-links__item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-base) var(--spacing-lg);background-color:var(--color-background-alt);border-radius:var(--border-radius-lg);text-decoration:none;color:var(--color-text);transition:all var(--transition-fast);border:2px solid transparent}.social-links__item:hover{transform:translateY(-2px);box-shadow:var(--shadow-base);border-color:var(--color-primary);text-decoration:none}.social-links__item svg{width:20px;height:20px}@media (max-width: 640px){.hero__content{gap:var(--spacing-xl)}.what-i-do__content{flex-direction:column}.what-i-do__item{min-width:auto}.social-links{flex-direction:column;align-items:center}.page-header{flex-direction:column;gap:var(--spacing-base);text-align:center}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-base) var(--spacing-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);text-decoration:none;border:2px solid transparent;border-radius:var(--border-radius-base);cursor:pointer;transition:all var(--transition-fast);text-align:center;white-space:nowrap;background:none;font-family:inherit}.btn:focus{outline:none;box-shadow:0 0 0 3px rgba(59,130,246,0.3)}.btn--primary{background-color:var(--color-primary);color:white;border-color:var(--color-primary)}.btn--primary:hover{background-color:var(--color-primary-dark);border-color:var(--color-primary-dark);text-decoration:none;color:white;transform:translateY(-1px);box-shadow:var(--shadow-base)}.btn--secondary{background-color:transparent;color:var(--color-primary);border-color:var(--color-primary)}.btn--secondary:hover{background-color:var(--color-primary);color:white;text-decoration:none;transform:translateY(-1px);box-shadow:var(--shadow-base)}.btn--outline{background-color:transparent;color:var(--color-text);border-color:var(--color-border-dark)}.btn--outline:hover{background-color:var(--color-text);color:var(--color-background);text-decoration:none;transform:translateY(-1px);box-shadow:var(--shadow-base)}.btn--small{padding:var(--spacing-sm) var(--spacing-base);font-size:var(--font-size-sm)}.btn--large{padding:var(--spacing-lg) var(--spacing-2xl);font-size:var(--font-size-lg)}.card{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;transition:all var(--transition-base)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--color-primary-light)}.card__header{padding:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.card__title{margin-bottom:var(--spacing-sm);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text)}.card__subtitle{color:var(--color-text-light);font-size:var(--font-size-sm);margin-bottom:0}.card__body{padding:var(--spacing-lg)}.card__content{color:var(--color-text-light);line-height:var(--line-height-relaxed)}.card__footer{padding:var(--spacing-lg);border-top:1px solid var(--color-border);background-color:var(--color-background-alt)}.project-card{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;transition:all var(--transition-base);height:100%;display:flex;flex-direction:column}.project-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--color-primary-light)}.project-card__image{height:200px;background-color:var(--color-background-alt);background-size:cover;background-position:center;border-bottom:1px solid var(--color-border)}.project-card__content{padding:var(--spacing-lg);flex-grow:1;display:flex;flex-direction:column}.project-card__title{margin-bottom:var(--spacing-sm);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text)}.project-card__description{color:var(--color-text-light);margin-bottom:var(--spacing-base);flex-grow:1}.project-card__tech{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-bottom:var(--spacing-base)}.project-card__tech-item{background-color:var(--color-primary-light);color:var(--color-primary-dark);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.project-card__links{display:flex;gap:var(--spacing-sm);margin-top:auto}.project-card__link{flex:1;text-align:center;padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--border-radius-base);color:var(--color-text-light);text-decoration:none;font-size:var(--font-size-sm);transition:all var(--transition-fast)}.project-card__link:hover{border-color:var(--color-primary);color:var(--color-primary);text-decoration:none}.blog-post-card{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;transition:all var(--transition-base);height:100%;display:flex;flex-direction:column}.blog-post-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--color-primary)}.blog-post-card__image{height:200px;background-color:var(--color-background-alt);background-size:cover;background-position:center;position:relative;overflow:hidden;border-bottom:1px solid var(--color-border)}.blog-post-card__image-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.7) 100%);opacity:0.6;transition:opacity var(--transition-base)}.blog-post-card:hover .blog-post-card__image-overlay{opacity:0.4}.blog-post-card__category{position:absolute;top:var(--spacing-sm);left:var(--spacing-sm);background-color:var(--color-primary);color:white;padding:2px var(--spacing-sm);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:0.5px;z-index:1;box-shadow:0 1px 3px rgba(0,0,0,0.2)}.blog-post-card__content{padding:var(--spacing-lg);display:flex;flex-direction:column;flex-grow:1}.blog-post-card__meta{display:flex;align-items:center;gap:var(--spacing-base);margin-bottom:var(--spacing-base);font-size:var(--font-size-sm);color:var(--color-text-muted)}.blog-post-card__date::before{content:'📅';margin-right:var(--spacing-xs)}.blog-post-card__read-time::before{content:'⏱️';margin-right:var(--spacing-xs)}.blog-post-card__title{margin-bottom:var(--spacing-base);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text);line-height:var(--line-height-tight);position:relative;padding-left:var(--spacing-base);border-left:3px solid var(--color-primary)}.blog-post-card__title a{color:inherit;text-decoration:none;transition:color var(--transition-fast);display:block}.blog-post-card__title a:hover{color:var(--color-primary);text-decoration:none}.blog-post-card__excerpt{color:var(--color-text-light);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-base);font-size:var(--font-size-sm);flex-grow:1}.blog-post-card__tags{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-bottom:var(--spacing-base)}.blog-post-card__footer{display:flex;justify-content:space-between;align-items:center;border-top:1px dashed var(--color-border);padding-top:var(--spacing-base);margin-top:var(--spacing-base)}.blog-post-card__read-more{color:var(--color-primary);text-decoration:none;font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);transition:all var(--transition-fast);display:inline-flex;align-items:center;gap:var(--spacing-xs)}.blog-post-card__read-more:hover{color:var(--color-primary-dark);transform:translateX(3px)}.blog-post-card__read-more:after{content:"→";font-size:var(--font-size-base);transition:transform var(--transition-fast)}.blog-post-card__read-more:hover:after{transform:translateX(3px)}.category-card{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;transition:all var(--transition-base);text-decoration:none;color:inherit;display:block}.category-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--color-primary-light);text-decoration:none;color:inherit}.category-card__icon{padding:var(--spacing-xl);text-align:center;background:linear-gradient(135deg, var(--color-primary-light), var(--color-accent-light));font-size:var(--font-size-4xl)}.category-card__content{padding:var(--spacing-lg)}.category-card__title{margin-bottom:var(--spacing-sm);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text);text-align:center}.category-card__count{text-align:center;color:var(--color-text-muted);font-size:var(--font-size-sm);margin-bottom:var(--spacing-base)}.category-card__description{color:var(--color-text-light);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);text-align:center;margin-bottom:0}.tag{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--color-background-alt);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--border-radius-base);text-decoration:none;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all var(--transition-fast);cursor:pointer}.tag:hover{background-color:var(--color-primary);color:white;border-color:var(--color-primary);text-decoration:none;transform:translateY(-1px)}.tag--primary{background-color:var(--color-primary-light);color:var(--color-primary-dark);border-color:var(--color-primary-light)}.tag--primary:hover{background-color:var(--color-primary);color:white;border-color:var(--color-primary)}.tag--large{padding:var(--spacing-sm) var(--spacing-base);font-size:var(--font-size-base)}.tag__count{background-color:rgba(255,255,255,0.2);padding:2px var(--spacing-xs);border-radius:var(--border-radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.blog-editor{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-xl)}.blog-editor__header{padding:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.blog-editor__title-input{width:100%;border:none;outline:none;background:transparent;font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text);padding:0;margin-bottom:var(--spacing-base);font-family:inherit}.blog-editor__title-input::placeholder{color:var(--color-text-muted)}.blog-editor__meta{display:flex;gap:var(--spacing-base);flex-wrap:wrap}.blog-editor__meta-item{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-light)}.blog-editor__content{padding:var(--spacing-lg);min-height:400px}.blog-editor__content-input{width:100%;height:100%;min-height:400px;border:none;outline:none;background:transparent;font-size:var(--font-size-base);color:var(--color-text);font-family:inherit;line-height:var(--line-height-relaxed);resize:vertical}.blog-editor__content-input::placeholder{color:var(--color-text-muted)}.blog-editor__toolbar{display:flex;gap:var(--spacing-sm);padding:var(--spacing-base) var(--spacing-lg);border-top:1px solid var(--color-border);background-color:var(--color-background-alt)}.blog-editor__tool{padding:var(--spacing-sm);border:1px solid var(--color-border);background-color:var(--color-background);border-radius:var(--border-radius-base);cursor:pointer;transition:all var(--transition-fast);font-size:var(--font-size-sm)}.blog-editor__tool:hover{background-color:var(--color-primary);color:white;border-color:var(--color-primary)}.spinner{display:inline-block;width:20px;height:20px;border:2px solid var(--color-border);border-radius:50%;border-top-color:var(--color-primary);animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}.spinner--large{width:40px;height:40px;border-width:4px}.alert{padding:var(--spacing-base) var(--spacing-lg);border-radius:var(--border-radius-base);border:1px solid;margin-bottom:var(--spacing-base)}.alert__icon{margin-right:var(--spacing-sm);display:inline-block}.alert--info{background-color:#dbeafe;border-color:#3b82f6;color:#1e40af}.alert--success{background-color:#d1fae5;border-color:#10b981;color:#047857}.alert--warning{background-color:#fef3c7;border-color:#f59e0b;color:#92400e}.alert--error{background-color:#fee2e2;border-color:#ef4444;color:#b91c1c}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,0.5);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);opacity:0;visibility:hidden;transition:all var(--transition-base)}.modal-overlay--open{opacity:1;visibility:visible}.modal{background-color:var(--color-background);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);max-width:90vw;max-height:90vh;overflow:auto;transform:translateY(-20px);transition:transform var(--transition-base)}.modal-overlay--open .modal{transform:translateY(0)}.modal__header{padding:var(--spacing-lg);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between}.modal__title{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold)}.modal__close{background:none;border:none;font-size:var(--font-size-xl);cursor:pointer;color:var(--color-text-muted);transition:color var(--transition-fast)}.modal__close:hover{color:var(--color-text)}.modal__body{padding:var(--spacing-lg)}.modal__footer{padding:var(--spacing-lg);border-top:1px solid var(--color-border);display:flex;gap:var(--spacing-base);justify-content:flex-end}@media (max-width: 640px){.btn{width:100%;justify-content:center}.project-card__links{flex-direction:column}.blog-editor__toolbar{flex-wrap:wrap}.blog-editor__meta{flex-direction:column;gap:var(--spacing-sm)}.modal{max-width:95vw;margin:var(--spacing-base)}.modal__footer{flex-direction:column-reverse}.modal__footer .btn{width:100%}}.project-card__image{margin-bottom:var(--spacing-base);height:200px;overflow:hidden;border-radius:var(--border-radius-base);background:var(--color-background-alt);display:flex;align-items:center;justify-content:center}.project-card__image-img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-base)}.project-card__image:hover .project-card__image-img{transform:scale(1.05)}.blog-filters{background-color:var(--color-background-alt);padding:var(--spacing-base) 0;margin-bottom:var(--spacing-2xl);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:10;margin-top:-40px}.blog-filters__content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-base)}@media (max-width: 768px){.blog-filters__content{flex-direction:column;align-items:stretch}}.blog-filters__search{flex:1;max-width:300px}.blog-filters__search-input{width:100%;padding:var(--spacing-sm) var(--spacing-base);border:1px solid var(--color-border);border-radius:var(--border-radius-base);font-size:var(--font-size-base);font-family:inherit;background-color:white;transition:all var(--transition-base)}.blog-filters__search-input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px rgba(59,130,246,0.3)}.blog-filters__categories{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.blog-filters__category{background:none;border:1px solid var(--color-border);border-radius:var(--border-radius-base);padding:var(--spacing-xs) var(--spacing-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);color:var(--color-text);font-family:inherit}.blog-filters__category:hover{background-color:var(--color-background);border-color:var(--color-primary-light)}.blog-filters__category--active{background-color:var(--color-primary);color:white;border-color:var(--color-primary)}.blog-filters__category--active:hover{background-color:var(--color-primary-dark);color:white}.blog-posts{display:grid;grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));gap:var(--spacing-xl);margin-bottom:var(--spacing-2xl)}@media (max-width: 640px){.blog-posts{grid-template-columns:1fr}}.blog-empty{padding:var(--spacing-2xl) 0;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;border:2px dashed var(--color-border);border-radius:var(--border-radius-lg);background-color:var(--color-background-alt)}.blog-empty__icon{font-size:var(--font-size-4xl);margin-bottom:var(--spacing-base)}.blog-empty__title{font-size:var(--font-size-xl);margin-bottom:var(--spacing-base);color:var(--color-text)}.blog-empty__text{color:var(--color-text-muted);margin:0}.blog-post__hero{height:400px;background-size:cover;background-position:center;position:relative;margin-bottom:var(--spacing-2xl);display:flex;align-items:flex-end;padding-bottom:var(--spacing-2xl);color:white}.blog-post__hero-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.8) 100%)}.blog-post__hero-title{font-size:var(--font-size-4xl);margin-bottom:var(--spacing-base);position:relative;z-index:2;font-weight:var(--font-weight-bold);color:white;text-shadow:0 2px 4px rgba(0,0,0,0.5)}.blog-post__hero-description{font-size:var(--font-size-lg);max-width:800px;position:relative;z-index:2;color:rgba(255,255,255,0.9);text-shadow:0 1px 2px rgba(0,0,0,0.5)}.blog-post__header{margin-bottom:var(--spacing-2xl);border-bottom:1px solid var(--color-border);padding-bottom:var(--spacing-xl)}.breadcrumb{display:flex;align-items:center;font-size:var(--font-size-sm);margin-bottom:var(--spacing-lg);color:var(--color-text-muted)}.breadcrumb a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast);display:inline-flex;align-items:center}.breadcrumb a:hover{color:var(--color-primary-dark);text-decoration:underline}.breadcrumb__icon{margin-right:var(--spacing-xs)}.blog-post__meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.blog-post__meta-left{display:flex;align-items:center;gap:var(--spacing-base);font-size:var(--font-size-sm);color:var(--color-text-muted)}.blog-post__date::before{content:'📅';margin-right:var(--spacing-xs)}.blog-post__read-time::before{content:'⏱️';margin-right:var(--spacing-xs)}.blog-post__share{background:none;border:1px solid var(--color-border);border-radius:var(--border-radius-base);padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm);cursor:pointer;display:inline-flex;align-items:center;gap:var(--spacing-xs);transition:all var(--transition-fast);color:var(--color-text)}.blog-post__share:hover{background-color:var(--color-primary);border-color:var(--color-primary);color:white}.blog-post__share-icon{font-style:normal}.blog-post__title{font-size:var(--font-size-3xl);margin-bottom:var(--spacing-base);color:var(--color-text);line-height:1.2;font-weight:var(--font-weight-bold)}.blog-post__description{font-size:var(--font-size-lg);color:var(--color-text-light);margin-bottom:var(--spacing-lg);max-width:800px;line-height:var(--line-height-relaxed)}.blog-post__taxonomy{display:flex;flex-direction:column;gap:var(--spacing-base);margin-top:var(--spacing-lg)}@media (min-width: 768px){.blog-post__taxonomy{flex-direction:row;justify-content:flex-start;gap:var(--spacing-xl)}}.blog-post__taxonomy-label{font-weight:var(--font-weight-medium);margin-right:var(--spacing-sm);color:var(--color-text-muted);font-size:var(--font-size-sm)}.blog-post__categories,.blog-post__tags{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-xs)}.blog-post__toc{max-width:280px;margin:var(--spacing-xl) auto;border:1px solid var(--color-border);border-radius:var(--border-radius-lg);background-color:var(--color-background-alt)}@media (max-width: 768px){.blog-post__toc{float:none;width:100%;margin-left:0;margin-bottom:var(--spacing-xl)}}.blog-post__toc-header{padding:var(--spacing-base) var(--spacing-lg);border-bottom:1px solid var(--color-border);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);color:var(--color-text)}.blog-post__toc-content{padding:var(--spacing-base) var(--spacing-lg)}.blog-post__toc-list{list-style-type:none;padding:0;margin:0}.blog-post__toc-item{padding:var(--spacing-xs) 0;font-size:var(--font-size-sm)}.blog-post__toc-item--sub{padding-left:var(--spacing-base)}.blog-post__toc-link{text-decoration:none;color:var(--color-text-light);display:block;transition:color var(--transition-fast)}.blog-post__toc-link:hover{color:var(--color-primary);text-decoration:none}.blog-post__content{margin-bottom:var(--spacing-2xl);line-height:var(--line-height-relaxed);font-size:var(--font-size-base)}.blog-post__content h2{margin-top:var(--spacing-2xl);margin-bottom:var(--spacing-base);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--color-border)}.blog-post__content h3{margin-top:var(--spacing-xl);margin-bottom:var(--spacing-base);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text)}.blog-post__content p{margin-bottom:var(--spacing-base)}.blog-post__content img{max-width:100%;height:auto;border-radius:var(--border-radius-base);margin:var(--spacing-lg) 0}.blog-post__content a{color:var(--color-primary);text-decoration:underline;transition:color var(--transition-fast)}.blog-post__content a:hover{color:var(--color-primary-dark)}.blog-post__content blockquote{margin:var(--spacing-lg) 0;padding:var(--spacing-base) var(--spacing-lg);border-left:4px solid var(--color-primary);background-color:var(--color-background-alt);font-style:italic;color:var(--color-text-light)}.blog-post__content pre{margin:var(--spacing-lg) 0;padding:var(--spacing-base);background-color:var(--color-code-bg);border-radius:var(--border-radius-base);overflow-x:auto;font-family:var(--font-family-mono)}.blog-post__content code{font-family:var(--font-family-mono);background-color:var(--color-code-bg);padding:2px 4px;border-radius:var(--border-radius-sm);font-size:0.9em}.blog-post__content ul,.blog-post__content ol{margin:var(--spacing-base) 0 var(--spacing-base) var(--spacing-xl)}.blog-post__content li{margin-bottom:var(--spacing-sm)}.blog-post__author-box{display:flex;gap:var(--spacing-lg);padding:var(--spacing-xl);margin-bottom:var(--spacing-2xl);background-color:var(--color-background-alt);border-radius:var(--border-radius-lg);border:1px solid var(--color-border)}@media (max-width: 640px){.blog-post__author-box{flex-direction:column;align-items:center;text-align:center}}.blog-post__author-avatar{flex-shrink:0}.blog-post__author-avatar img{width:80px;height:80px;border-radius:50%;object-fit:cover;border:2px solid white;box-shadow:var(--shadow-sm)}.blog-post__author-name{margin-top:0;margin-bottom:var(--spacing-sm);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.blog-post__author-bio{margin:0;font-size:var(--font-size-sm);color:var(--color-text-light)}.blog-post__navigation{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--spacing-base);margin-bottom:var(--spacing-2xl);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);padding:var(--spacing-lg) 0}@media (max-width: 768px){.blog-post__navigation{grid-template-columns:1fr;gap:var(--spacing-lg)}}.blog-post__prev,.blog-post__back,.blog-post__next{display:flex;flex-direction:column;align-items:flex-start;text-decoration:none;color:var(--color-text);transition:transform var(--transition-base);padding:var(--spacing-sm);border-radius:var(--border-radius-base)}.blog-post__next{text-align:right;align-items:flex-end}.blog-post__back{text-align:center;align-items:center}.blog-post__prev:hover,.blog-post__next:hover{transform:translateY(-3px);background-color:var(--color-background-alt);text-decoration:none}.blog-post__back:hover{transform:translateY(-3px);background-color:var(--color-primary);color:white;text-decoration:none}.blog-post__nav-label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:0.5px;color:var(--color-text-muted);margin-bottom:var(--spacing-xs)}.blog-post__back:hover .blog-post__nav-label{color:rgba(255,255,255,0.8)}.blog-post__nav-title{font-weight:var(--font-weight-medium);font-size:var(--font-size-sm)}.blog-post__related{margin-bottom:var(--spacing-2xl)}.blog-post__related-title{font-size:var(--font-size-xl);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--color-border)}.blog-post__related-posts{display:grid;grid-template-columns:repeat(3, 1fr);gap:var(--spacing-base)}@media (max-width: 768px){.blog-post__related-posts{grid-template-columns:1fr}}.blog-post__related-post{display:flex;flex-direction:column;text-decoration:none;padding:var(--spacing-base);border:1px solid var(--color-border);border-radius:var(--border-radius-base);transition:all var(--transition-base)}.blog-post__related-post:hover{transform:translateY(-3px);border-color:var(--color-primary);box-shadow:var(--shadow-sm);text-decoration:none}.blog-post__related-post-title{font-weight:var(--font-weight-medium);font-size:var(--font-size-base);color:var(--color-text);margin-bottom:var(--spacing-sm)}.blog-post__related-post-date{font-size:var(--font-size-xs);color:var(--color-text-muted)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{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)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.leading-tight{line-height:var(--line-height-tight)}.leading-normal{line-height:var(--line-height-normal)}.leading-relaxed{line-height:var(--line-height-relaxed)}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-secondary)}.text-accent{color:var(--color-accent)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.text-muted{color:var(--color-text-muted)}.text-light{color:var(--color-text-light)}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-wrap{white-space:normal}.text-nowrap{white-space:nowrap}.m-0{margin:0}.m-xs{margin:var(--spacing-xs)}.m-sm{margin:var(--spacing-sm)}.m-base{margin:var(--spacing-base)}.m-lg{margin:var(--spacing-lg)}.m-xl{margin:var(--spacing-xl)}.m-2xl{margin:var(--spacing-2xl)}.m-3xl{margin:var(--spacing-3xl)}.m-4xl{margin:var(--spacing-4xl)}.m-5xl{margin:var(--spacing-5xl)}.mt-0{margin-top:0}.mt-xs{margin-top:var(--spacing-xs)}.mt-sm{margin-top:var(--spacing-sm)}.mt-base{margin-top:var(--spacing-base)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mt-2xl{margin-top:var(--spacing-2xl)}.mt-3xl{margin-top:var(--spacing-3xl)}.mt-4xl{margin-top:var(--spacing-4xl)}.mt-5xl{margin-top:var(--spacing-5xl)}.mb-0{margin-bottom:0}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-base{margin-bottom:var(--spacing-base)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.mb-2xl{margin-bottom:var(--spacing-2xl)}.mb-3xl{margin-bottom:var(--spacing-3xl)}.mb-4xl{margin-bottom:var(--spacing-4xl)}.mb-5xl{margin-bottom:var(--spacing-5xl)}.ml-0{margin-left:0}.ml-xs{margin-left:var(--spacing-xs)}.ml-sm{margin-left:var(--spacing-sm)}.ml-base{margin-left:var(--spacing-base)}.ml-lg{margin-left:var(--spacing-lg)}.ml-xl{margin-left:var(--spacing-xl)}.ml-2xl{margin-left:var(--spacing-2xl)}.ml-3xl{margin-left:var(--spacing-3xl)}.ml-4xl{margin-left:var(--spacing-4xl)}.ml-5xl{margin-left:var(--spacing-5xl)}.mr-0{margin-right:0}.mr-xs{margin-right:var(--spacing-xs)}.mr-sm{margin-right:var(--spacing-sm)}.mr-base{margin-right:var(--spacing-base)}.mr-lg{margin-right:var(--spacing-lg)}.mr-xl{margin-right:var(--spacing-xl)}.mr-2xl{margin-right:var(--spacing-2xl)}.mr-3xl{margin-right:var(--spacing-3xl)}.mr-4xl{margin-right:var(--spacing-4xl)}.mr-5xl{margin-right:var(--spacing-5xl)}.mx-0{margin-left:0;margin-right:0}.mx-xs{margin-left:var(--spacing-xs);margin-right:var(--spacing-xs)}.mx-sm{margin-left:var(--spacing-sm);margin-right:var(--spacing-sm)}.mx-base{margin-left:var(--spacing-base);margin-right:var(--spacing-base)}.mx-lg{margin-left:var(--spacing-lg);margin-right:var(--spacing-lg)}.mx-xl{margin-left:var(--spacing-xl);margin-right:var(--spacing-xl)}.mx-2xl{margin-left:var(--spacing-2xl);margin-right:var(--spacing-2xl)}.mx-3xl{margin-left:var(--spacing-3xl);margin-right:var(--spacing-3xl)}.mx-4xl{margin-left:var(--spacing-4xl);margin-right:var(--spacing-4xl)}.mx-5xl{margin-left:var(--spacing-5xl);margin-right:var(--spacing-5xl)}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-xs{margin-top:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.my-sm{margin-top:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.my-base{margin-top:var(--spacing-base);margin-bottom:var(--spacing-base)}.my-lg{margin-top:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.my-xl{margin-top:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.my-2xl{margin-top:var(--spacing-2xl);margin-bottom:var(--spacing-2xl)}.my-3xl{margin-top:var(--spacing-3xl);margin-bottom:var(--spacing-3xl)}.my-4xl{margin-top:var(--spacing-4xl);margin-bottom:var(--spacing-4xl)}.my-5xl{margin-top:var(--spacing-5xl);margin-bottom:var(--spacing-5xl)}.p-0{padding:0}.p-xs{padding:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.p-base{padding:var(--spacing-base)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.p-2xl{padding:var(--spacing-2xl)}.p-3xl{padding:var(--spacing-3xl)}.p-4xl{padding:var(--spacing-4xl)}.p-5xl{padding:var(--spacing-5xl)}.pt-0{padding-top:0}.pt-xs{padding-top:var(--spacing-xs)}.pt-sm{padding-top:var(--spacing-sm)}.pt-base{padding-top:var(--spacing-base)}.pt-lg{padding-top:var(--spacing-lg)}.pt-xl{padding-top:var(--spacing-xl)}.pt-2xl{padding-top:var(--spacing-2xl)}.pt-3xl{padding-top:var(--spacing-3xl)}.pt-4xl{padding-top:var(--spacing-4xl)}.pt-5xl{padding-top:var(--spacing-5xl)}.pb-0{padding-bottom:0}.pb-xs{padding-bottom:var(--spacing-xs)}.pb-sm{padding-bottom:var(--spacing-sm)}.pb-base{padding-bottom:var(--spacing-base)}.pb-lg{padding-bottom:var(--spacing-lg)}.pb-xl{padding-bottom:var(--spacing-xl)}.pb-2xl{padding-bottom:var(--spacing-2xl)}.pb-3xl{padding-bottom:var(--spacing-3xl)}.pb-4xl{padding-bottom:var(--spacing-4xl)}.pb-5xl{padding-bottom:var(--spacing-5xl)}.pl-0{padding-left:0}.pl-xs{padding-left:var(--spacing-xs)}.pl-sm{padding-left:var(--spacing-sm)}.pl-base{padding-left:var(--spacing-base)}.pl-lg{padding-left:var(--spacing-lg)}.pl-xl{padding-left:var(--spacing-xl)}.pl-2xl{padding-left:var(--spacing-2xl)}.pl-3xl{padding-left:var(--spacing-3xl)}.pl-4xl{padding-left:var(--spacing-4xl)}.pl-5xl{padding-left:var(--spacing-5xl)}.pr-0{padding-right:0}.pr-xs{padding-right:var(--spacing-xs)}.pr-sm{padding-right:var(--spacing-sm)}.pr-base{padding-right:var(--spacing-base)}.pr-lg{padding-right:var(--spacing-lg)}.pr-xl{padding-right:var(--spacing-xl)}.pr-2xl{padding-right:var(--spacing-2xl)}.pr-3xl{padding-right:var(--spacing-3xl)}.pr-4xl{padding-right:var(--spacing-4xl)}.pr-5xl{padding-right:var(--spacing-5xl)}.px-0{padding-left:0;padding-right:0}.px-xs{padding-left:var(--spacing-xs);padding-right:var(--spacing-xs)}.px-sm{padding-left:var(--spacing-sm);padding-right:var(--spacing-sm)}.px-base{padding-left:var(--spacing-base);padding-right:var(--spacing-base)}.px-lg{padding-left:var(--spacing-lg);padding-right:var(--spacing-lg)}.px-xl{padding-left:var(--spacing-xl);padding-right:var(--spacing-xl)}.px-2xl{padding-left:var(--spacing-2xl);padding-right:var(--spacing-2xl)}.px-3xl{padding-left:var(--spacing-3xl);padding-right:var(--spacing-3xl)}.px-4xl{padding-left:var(--spacing-4xl);padding-right:var(--spacing-4xl)}.px-5xl{padding-left:var(--spacing-5xl);padding-right:var(--spacing-5xl)}.py-0{padding-top:0;padding-bottom:0}.py-xs{padding-top:var(--spacing-xs);padding-bottom:var(--spacing-xs)}.py-sm{padding-top:var(--spacing-sm);padding-bottom:var(--spacing-sm)}.py-base{padding-top:var(--spacing-base);padding-bottom:var(--spacing-base)}.py-lg{padding-top:var(--spacing-lg);padding-bottom:var(--spacing-lg)}.py-xl{padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl)}.py-2xl{padding-top:var(--spacing-2xl);padding-bottom:var(--spacing-2xl)}.py-3xl{padding-top:var(--spacing-3xl);padding-bottom:var(--spacing-3xl)}.py-4xl{padding-top:var(--spacing-4xl);padding-bottom:var(--spacing-4xl)}.py-5xl{padding-top:var(--spacing-5xl);padding-bottom:var(--spacing-5xl)}.flex{display:flex}.inline-flex{display:inline-flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-col-reverse{flex-direction:column-reverse}.flex-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-initial{flex:0 1 auto}.flex-none{flex:none}.flex-grow{flex-grow:1}.flex-grow-0{flex-grow:0}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.gap-0{gap:0}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-base{gap:var(--spacing-base)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}.gap-2xl{gap:var(--spacing-2xl)}.gap-3xl{gap:var(--spacing-3xl)}.gap-4xl{gap:var(--spacing-4xl)}.gap-5xl{gap:var(--spacing-5xl)}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}.grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}.grid-cols-5{grid-template-columns:repeat(5, minmax(0, 1fr))}.grid-cols-6{grid-template-columns:repeat(6, minmax(0, 1fr))}.col-span-1{grid-column:span 1 / span 1}.col-span-2{grid-column:span 2 / span 2}.col-span-3{grid-column:span 3 / span 3}.col-span-4{grid-column:span 4 / span 4}.col-span-5{grid-column:span 5 / span 5}.col-span-6{grid-column:span 6 / span 6}.col-span-full{grid-column:1 / -1}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.hidden{display:none}.visible{visibility:visible}.invisible{visibility:hidden}.opacity-0{opacity:0}.opacity-25{opacity:0.25}.opacity-50{opacity:0.5}.opacity-75{opacity:0.75}.opacity-100{opacity:1}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.top-0{top:0}.top-auto{top:auto}.bottom-0{bottom:0}.bottom-auto{bottom:auto}.left-0{left:0}.left-auto{left:auto}.right-0{right:0}.right-auto{right:auto}.inset-0{top:0;right:0;bottom:0;left:0}.inset-auto{top:auto;right:auto;bottom:auto;left:auto}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-auto{z-index:auto}.w-auto{width:auto}.w-full{width:100%}.w-screen{width:100vw}.w-min{width:min-content}.w-max{width:max-content}.w-fit{width:fit-content}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.h-min{height:min-content}.h-max{height:max-content}.h-fit{height:fit-content}.min-w-0{min-width:0}.min-w-full{min-width:100%}.min-w-min{min-width:min-content}.min-w-max{min-width:max-content}.min-w-fit{min-width:fit-content}.min-h-0{min-height:0}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.max-w-none{max-width:none}.max-w-xs{max-width:20rem}.max-w-sm{max-width:24rem}.max-w-md{max-width:28rem}.max-w-lg{max-width:32rem}.max-w-xl{max-width:36rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-full{max-width:100%}.max-w-screen-sm{max-width:640px}.max-w-screen-md{max-width:768px}.max-w-screen-lg{max-width:1024px}.max-w-screen-xl{max-width:1280px}.max-w-screen-2xl{max-width:1536px}.max-h-full{max-height:100%}.max-h-screen{max-height:100vh}.bg-transparent{background-color:transparent}.bg-primary{background-color:var(--color-primary)}.bg-secondary{background-color:var(--color-secondary)}.bg-accent{background-color:var(--color-accent)}.bg-background{background-color:var(--color-background)}.bg-background-alt{background-color:var(--color-background-alt)}.bg-background-dark{background-color:var(--color-background-dark)}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-4{border-width:4px}.border-8{border-width:8px}.border-t{border-top-width:1px}.border-r{border-right-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-primary{border-color:var(--color-primary)}.border-secondary{border-color:var(--color-secondary)}.border-accent{border-color:var(--color-accent)}.border-border{border-color:var(--color-border)}.border-border-light{border-color:var(--color-border-light)}.border-border-dark{border-color:var(--color-border-dark)}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--border-radius-sm)}.rounded{border-radius:var(--border-radius-base)}.rounded-lg{border-radius:var(--border-radius-lg)}.rounded-xl{border-radius:var(--border-radius-xl)}.rounded-2xl{border-radius:var(--border-radius-2xl)}.rounded-full{border-radius:var(--border-radius-full)}.shadow-none{box-shadow:none}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow{box-shadow:var(--shadow-base)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.cursor-auto{cursor:auto}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.cursor-text{cursor:text}.cursor-move{cursor:move}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.cursor-none{cursor:none}.cursor-context-menu{cursor:context-menu}.cursor-progress{cursor:progress}.cursor-cell{cursor:cell}.cursor-crosshair{cursor:crosshair}.cursor-vertical-text{cursor:vertical-text}.cursor-alias{cursor:alias}.cursor-copy{cursor:copy}.cursor-no-drop{cursor:no-drop}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-x-visible{overflow-x:visible}.overflow-x-scroll{overflow-x:scroll}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.overflow-y-visible{overflow-y:visible}.overflow-y-scroll{overflow-y:scroll}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.object-fill{object-fit:fill}.object-none{object-fit:none}.object-scale-down{object-fit:scale-down}.object-bottom{object-position:bottom}.object-center{object-position:center}.object-left{object-position:left}.object-left-bottom{object-position:left bottom}.object-left-top{object-position:left top}.object-right{object-position:right}.object-right-bottom{object-position:right bottom}.object-right-top{object-position:right top}.object-top{object-position:top}@media (min-width: 640px){.sm\:hidden{display:none}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:grid{display:grid}.sm\:text-left{text-align:left}.sm\:text-center{text-align:center}.sm\:text-right{text-align:right}}@media (min-width: 768px){.md\:hidden{display:none}.md\:block{display:block}.md\:flex{display:flex}.md\:grid{display:grid}.md\:text-left{text-align:left}.md\:text-center{text-align:center}.md\:text-right{text-align:right}.md\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}}@media (min-width: 1024px){.lg\:hidden{display:none}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:grid{display:grid}.lg\:text-left{text-align:left}.lg\:text-center{text-align:center}.lg\:text-right{text-align:right}.lg\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}}@media (min-width: 1280px){.xl\:hidden{display:none}.xl\:block{display:block}.xl\:flex{display:flex}.xl\:grid{display:grid}.xl\:text-left{text-align:left}.xl\:text-center{text-align:center}.xl\:text-right{text-align:right}}@media print{.print\:hidden{display:none}.print\:block{display:block}}
