:root{--color-patrick-blue-start: #0066CC;--color-patrick-blue-end: #004499;--gradient-primary: linear-gradient(135deg, var(--color-patrick-blue-start), var(--color-patrick-blue-end));--gradient-hover: linear-gradient(135deg, #0077DD, #0055AA);--color-primary: var(--color-patrick-blue-start);--color-primary-dark: var(--color-patrick-blue-end);--color-text-primary: #1a202c;--color-text-secondary: #718096;--color-text-tertiary: #a0aec0;--color-bg-primary: #ffffff;--color-bg-secondary: #f7fafc;--color-bg-tertiary: #edf2f7;--color-border: #e2e8f0;--color-border-light: #f0f4f8;--font-size-xs: clamp(.75rem, .7rem + .25vw, .875rem);--font-size-sm: clamp(.875rem, .8rem + .375vw, 1rem);--font-size-base: clamp(1rem, .95rem + .25vw, 1.125rem);--font-size-lg: clamp(1.125rem, 1.05rem + .375vw, 1.25rem);--font-size-xl: clamp(1.25rem, 1.15rem + .5vw, 1.5rem);--font-size-2xl: clamp(1.5rem, 1.35rem + .75vw, 1.875rem);--font-size-3xl: clamp(1.875rem, 1.65rem + 1.125vw, 2.25rem);--font-size-4xl: clamp(2.25rem, 1.9rem + 1.75vw, 3rem);--font-size-5xl: clamp(3rem, 2.25rem + 3.75vw, 4rem);--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--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;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-32: 8rem;--radius-sm: .125rem;--radius-base: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-full: 9999px;--shadow-xs: 0 0 0 1px rgba(0, 0, 0, .05);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-base: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--transition-fast: .15s ease-in-out;--transition-base: .2s ease-in-out;--transition-slow: .3s ease-in-out;--transition-colors: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out;--transition-transform: transform .2s ease-in-out;--transition-opacity: opacity .2s ease-in-out;--transition-all: all .2s ease-in-out;--focus-ring: 0 0 0 3px rgba(var(--color-patrick-blue-start), .2);--focus-ring-offset: 2px;--hover-opacity: .8;--hover-scale: 1.05;--hover-lift: 0 4px 12px rgba(0, 0, 0, .15);--ease-out-cubic: cubic-bezier(.33, 1, .68, 1);--ease-in-out-cubic: cubic-bezier(.65, 0, .35, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--z-base: 0;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px}.container{width:100%;margin-inline:auto;padding-inline:var(--space-4);max-width:1280px}.container-sm{max-width:640px}.container-md{max-width:768px}.container-lg{max-width:1024px}.container-xl{max-width:1280px}.section{padding-block:var(--space-16)}.section-sm{padding-block:var(--space-8)}.section-lg{padding-block:var(--space-24)}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.hidden{display:none}.flex{display:flex}.inline-flex{display:inline-flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-none{flex:none}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.gap-0{gap:0}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-5{gap:var(--space-5)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.gap-10{gap:var(--space-10)}.gap-12{gap:var(--space-12)}.gap-16{gap:var(--space-16)}.grid{display:grid;gap:var(--space-4)}.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-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.m-auto{margin:auto}.mx-auto{margin-inline:auto}.my-auto{margin-block:auto}.p-0{padding:0}.p-1{padding:var(--space-1)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.px-0{padding-inline:0}.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-6{padding-inline:var(--space-6)}.px-8{padding-inline:var(--space-8)}.py-0{padding-block:0}.py-1{padding-block:var(--space-1)}.py-2{padding-block:var(--space-2)}.py-3{padding-block:var(--space-3)}.py-4{padding-block:var(--space-4)}.py-6{padding-block:var(--space-6)}.py-8{padding-block:var(--space-8)}.m-0{margin:0}.m-1{margin:var(--space-1)}.m-2{margin:var(--space-2)}.m-3{margin:var(--space-3)}.m-4{margin:var(--space-4)}.m-6{margin:var(--space-6)}.m-8{margin:var(--space-8)}.mx-0{margin-inline:0}.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-6{margin-inline:var(--space-6)}.mx-8{margin-inline:var(--space-8)}.my-0{margin-block:0}.my-1{margin-block:var(--space-1)}.my-2{margin-block:var(--space-2)}.my-3{margin-block:var(--space-3)}.my-4{margin-block:var(--space-4)}.my-6{margin-block:var(--space-6)}.my-8{margin-block:var(--space-8)}.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-snug{line-height:var(--line-height-snug)}.leading-normal{line-height:var(--line-height-normal)}.leading-relaxed{line-height:var(--line-height-relaxed)}.leading-loose{line-height:var(--line-height-loose)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.bg-primary{background-color:var(--color-bg-primary)}.bg-secondary{background-color:var(--color-bg-secondary)}.bg-tertiary{background-color:var(--color-bg-tertiary)}.bg-gradient{background:var(--gradient-primary)}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-color{border-color:var(--color-border)}.border-light{border-color:var(--color-border-light)}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded{border-radius:var(--radius-base)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:var(--radius-full)}.shadow-none{box-shadow:none}.shadow-xs{box-shadow:var(--shadow-xs)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow{box-shadow:var(--shadow-base)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.shadow-2xl{box-shadow:var(--shadow-2xl)}.transition-none{transition:none}.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-opacity{transition:opacity var(--transition-base)}.transition-transform{transition:transform var(--transition-base)}.transition-shadow{transition:box-shadow var(--transition-base)}@media (min-width: 640px){.sm\:container{max-width:640px}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:block{display:block}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 768px){.md\:container{max-width:768px}.md\:flex{display:flex}.md\:hidden{display:none}.md\:block{display:block}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width: 1024px){.lg\:container{max-width:1024px}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:block{display:block}.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\:container{max-width:1280px}.xl\:flex{display:flex}.xl\:hidden{display:none}.xl\:block{display:block}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}.component{position:relative;backface-visibility:hidden;transform-style:preserve-3d}.interactive{cursor:pointer;transition:var(--transition-all);transition-timing-function:var(--ease-out-cubic);will-change:transform,opacity,box-shadow}.interactive:hover{will-change:transform,opacity,box-shadow}.focus-ring{outline:none;position:relative}.focus-ring:focus-visible:after{content:"";position:absolute;inset:-2px;border-radius:inherit;box-shadow:var(--focus-ring);pointer-events:none}.surface-primary{background-color:var(--color-bg-primary);border:1px solid var(--color-border);box-shadow:var(--shadow-base)}.surface-elevated{background-color:var(--color-bg-primary);border:1px solid var(--color-border-light);box-shadow:var(--shadow-lg)}.surface-interactive{background-color:var(--color-bg-primary);border:1px solid var(--color-border);box-shadow:var(--shadow-base);transition:var(--transition-all);transition-timing-function:var(--ease-out-cubic)}.surface-interactive:hover{border-color:var(--color-border-light);box-shadow:var(--shadow-xl);transform:translateY(-2px)}.text-display{font-size:var(--font-size-5xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:-.025em}.text-headline{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:-.02em}.text-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug)}.text-body{font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-relaxed)}.text-caption{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);color:var(--color-text-secondary)}.text-overline{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary)}.container-fluid{width:100%;max-width:100vw;margin:0 auto;padding:0 var(--space-4)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-4)}.container-narrow{width:100%;max-width:768px;margin:0 auto;padding:0 var(--space-4)}.container-wide{width:100%;max-width:1440px;margin:0 auto;padding:0 var(--space-4)}.grid{display:grid;gap:var(--space-6)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-auto{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-responsive{grid-template-columns:1fr}@media (min-width: 768px){.grid-responsive{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.grid-responsive{grid-template-columns:repeat(3,1fr)}}.space-y-1>*+*{margin-top:var(--space-1)}.space-y-2>*+*{margin-top:var(--space-2)}.space-y-4>*+*{margin-top:var(--space-4)}.space-y-6>*+*{margin-top:var(--space-6)}.space-y-8>*+*{margin-top:var(--space-8)}.animate-fade-in{animation:fadeIn .5s ease-out forwards}.animate-slide-up{animation:slideUp .6s var(--ease-out-cubic) forwards}.animate-scale-in{animation:scaleIn .4s var(--ease-out-cubic) forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.status-success{color:#22c55e;background-color:#22c55e1a;border:1px solid rgba(34,197,94,.2)}.status-warning{color:#f59e0b;background-color:#f59e0b1a;border:1px solid rgba(245,158,11,.2)}.status-error{color:#ef4444;background-color:#ef44441a;border:1px solid rgba(239,68,68,.2)}.status-info{color:var(--color-primary);background-color:#0066cc1a;border:1px solid rgba(0,102,204,.2)}.skeleton{background:linear-gradient(90deg,var(--color-bg-secondary) 25%,var(--color-bg-tertiary) 50%,var(--color-bg-secondary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.loading-overlay{position:absolute;inset:0;background-color:#fffc;backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center}.border-gradient{position:relative;background:var(--color-bg-primary);border-radius:var(--radius-lg)}.border-gradient:before{content:"";position:absolute;inset:0;padding:1px;background:var(--gradient-primary);border-radius:inherit;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:xor;-webkit-mask-composite:xor}.scroll-smooth{scroll-behavior:smooth}.scroll-snap-container{scroll-snap-type:x mandatory;overflow-x:auto;display:flex;gap:var(--space-4)}.scroll-snap-item{scroll-snap-align:start;flex-shrink:0}.gpu-accelerated{transform:translateZ(0);will-change:transform}.contain-layout{contain:layout}.contain-paint{contain:paint}.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-trap{position:relative}.focus-trap:focus{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.hidden-mobile{display:none}.hidden-desktop{display:block}@media (min-width: 768px){.hidden-mobile{display:block}.hidden-desktop{display:none}}@media (prefers-reduced-motion: reduce){.animate-fade-in,.animate-slide-up,.animate-scale-in,.skeleton{animation:none}.interactive:hover,.surface-interactive:hover{transform:none}}@media (prefers-contrast: high){.surface-primary,.surface-elevated,.surface-interactive{border-width:2px}.focus-ring:focus-visible:after{box-shadow:0 0 0 3px var(--color-primary)}}@media (prefers-color-scheme: dark){.loading-overlay{background-color:#000c}.skeleton{background:linear-gradient(90deg,#1a202c 25%,#2d3748,#1a202c 75%);background-size:200% 100%}}html{font-family:system-ui,-apple-system,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:16px;color-scheme:light;scroll-behavior:smooth}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;margin:0;padding:0;text-align:left;background:var(--color-bg-primary);word-wrap:break-word;overflow-wrap:break-word;color:var(--color-text-primary);font-size:var(--font-size-base);line-height:var(--line-height-normal);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{margin:0 0 .75rem;color:var(--color-text-primary);line-height:var(--line-height-tight);font-weight:var(--font-weight-semibold)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{margin-bottom:1.25rem;color:var(--color-text-primary);line-height:var(--line-height-relaxed)}strong,b{font-weight:var(--font-weight-bold)}textarea,input,select{font-size:16px;font-family:inherit;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);transition:border-color var(--transition-fast)}textarea:focus,input:focus,select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #0066cc1a}table{width:100%;border-collapse:collapse;margin:var(--space-6) 0}th,td{padding:var(--space-3);text-align:left;border-bottom:1px solid var(--color-border)}th{font-weight:var(--font-weight-semibold);color:var(--color-text-primary);background:var(--color-bg-secondary)}img{max-width:100%;height:auto;border-radius:var(--radius-md)}code{padding:.25rem .5rem;background-color:var(--color-bg-secondary);border-radius:var(--radius-sm);color:var(--color-primary);font-size:.875em;font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,Courier New,monospace}pre{padding:var(--space-6);border-radius:var(--radius-md);background-color:var(--color-bg-tertiary);overflow-x:auto;margin:var(--space-6) 0;border:1px solid var(--color-border)}pre>code{all:unset;color:inherit}blockquote{border-left:4px solid var(--color-primary);padding:var(--space-6);margin:var(--space-6) 0;background:var(--color-bg-secondary);border-radius:var(--radius-md);font-style:italic;color:var(--color-text-secondary)}blockquote p:last-child{margin-bottom:0}ul,ol{margin:var(--space-4) 0;padding-left:var(--space-6)}li{margin-bottom:var(--space-2);line-height:var(--line-height-relaxed)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-dark);text-decoration:underline}hr{border:none;border-top:1px solid var(--color-border);margin:var(--space-8) 0}*:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}*,*:before,*:after{transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast)}@media (max-width: 768px){html{font-size:14px}}@media print{*{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}pre,blockquote{border:1px solid #999;page-break-inside:avoid}h1,h2,h3{page-break-after:avoid}}.sr-only{border:0;padding:0;margin:0;position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);clip-path:inset(50%);white-space:nowrap}.social-link[data-astro-cid-sz7xmlte]:hover{transform:translateY(-2px)}.navigation[data-astro-cid-jhityggu]{position:fixed;top:0;left:0;right:0;background:#fffffffa;backdrop-filter:blur(10px);z-index:100;border-bottom:1px solid #f0f0f0}.nav-link[data-astro-cid-jhityggu]{padding:.5rem 0;position:relative}.text-gray-900[data-astro-cid-jhityggu]{color:var(--color-text-primary)}.text-gray-600[data-astro-cid-jhityggu]{color:#666}.hover\:text-gray-900[data-astro-cid-jhityggu]:hover{color:var(--color-text-primary)}.text-primary[data-astro-cid-jhityggu]{color:#4299e1}.border-primary[data-astro-cid-jhityggu]{border-color:#4299e1}@media (max-width: 768px){.nav-desktop[data-astro-cid-jhityggu]{gap:2rem}.nav-link[data-astro-cid-jhityggu]{font-size:.9rem}}
