._cardGhost_1wd3r_12{position:fixed;z-index:9999;pointer-events:none;background-color:var(--color-primary-500);border-radius:50%;width:var(--initial-size);height:var(--initial-size);left:var(--center-x);top:var(--center-y);transform:translate(-50%,-50%);animation:_shrinkToCircle_1wd3r_1 .5s cubic-bezier(.4,0,.2,1) forwards;will-change:width,height}@keyframes _shrinkToCircle_1wd3r_1{0%{width:var(--initial-size);height:var(--initial-size)}15%{width:var(--initial-size);height:var(--initial-size)}to{width:60px;height:60px}}._overlay_1wd3r_58{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;pointer-events:none;--reveal-x: 50vw;--reveal-y: 50vh;background-color:var(--color-primary-500);will-change:clip-path,background-color,opacity}._overlay_1wd3r_58[data-phase=expand]{animation:_expand_1wd3r_1 .7s cubic-bezier(.22,1,.36,1) forwards}@keyframes _expand_1wd3r_1{0%{clip-path:circle(30px at var(--reveal-x) var(--reveal-y))}to{clip-path:circle(150vmax at var(--reveal-x) var(--reveal-y))}}._overlay_1wd3r_58[data-phase=colorTransition]{clip-path:circle(150vmax at var(--reveal-x) var(--reveal-y));animation:_colorTransition_1wd3r_1 .3s var(--ease-out) forwards}@keyframes _colorTransition_1wd3r_1{0%{background-color:var(--color-primary-500)}to{background-color:var(--color-background)}}._overlay_1wd3r_58[data-phase=fadeIn]{clip-path:circle(150vmax at var(--reveal-x) var(--reveal-y));background-color:var(--color-background);animation:_fadeOut_1wd3r_1 .5s var(--ease-out) forwards}@keyframes _fadeOut_1wd3r_1{0%{opacity:1}to{opacity:0}}._srOnly_1wd3r_138{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (prefers-reduced-motion: reduce){._cardGhost_1wd3r_12,._overlay_1wd3r_58{animation:none!important;transition:none!important}}:root{--breakpoint-scale: 1440px;--scale-factor: clamp(1, calc(100vw / var(--breakpoint-scale)), 2);--color-primary-950: #500724;--color-primary-900: #831843;--color-primary-800: #9d174d;--color-primary-700: #be185d;--color-primary-600: #db2777;--color-primary-500: #ec4899;--color-primary-400: #f472b6;--color-primary-300: #f9a8d4;--color-primary-200: #fbcfe8;--color-primary-100: #fce7f3;--color-primary-50: #fdf2f8;--color-secondary-950: #3b0764;--color-secondary-900: #581c87;--color-secondary-800: #6b21a8;--color-secondary-700: #7c3aed;--color-secondary-600: #9333ea;--color-secondary-500: #a855f7;--color-secondary-400: #c084fc;--color-secondary-300: #d8b4fe;--color-secondary-200: #e9d5ff;--color-secondary-100: #f3e8ff;--color-secondary-50: #faf5ff;--color-accent-700: var(--color-primary-700);--color-accent-600: var(--color-primary-600);--color-accent-500: var(--color-primary-500);--color-accent-400: var(--color-primary-400);--color-accent-300: var(--color-primary-300);--color-accent-200: var(--color-primary-200);--color-accent-100: var(--color-primary-100);--color-accent-50: var(--color-primary-50);--color-neutral-950: #030712;--color-neutral-900: #0a0f1a;--color-neutral-800: #111827;--color-neutral-700: #1f2937;--color-neutral-600: #374151;--color-neutral-500: #6b7280;--color-neutral-400: #9ca3af;--color-neutral-300: #d1d5db;--color-neutral-200: #e5e7eb;--color-neutral-100: #f3f4f6;--color-neutral-50: #ffffff;--color-background: var(--color-neutral-950);--color-surface: var(--color-neutral-900);--color-surface-elevated: var(--color-neutral-800);--color-text: var(--color-neutral-100);--color-text-secondary: var(--color-neutral-400);--color-text-muted: var(--color-neutral-500);--color-border: var(--color-neutral-700);--color-border-subtle: var(--color-neutral-800);--project-bg: var(--color-background);--project-bg-elevated: var(--color-surface-elevated);--project-surface: var(--color-surface);--project-surface-hover: var(--color-neutral-800);--project-text: var(--color-text);--project-text-secondary: var(--color-text-secondary);--project-text-muted: var(--color-text-muted);--project-border: var(--color-border);--project-border-subtle: var(--color-border-subtle);--project-accent: var(--color-primary-500);--project-accent-hover: var(--color-primary-400);--color-success-500: #10b981;--color-success-100: #d1fae5;--color-warning-500: #f59e0b;--color-warning-100: #fef3c7;--color-error-500: #ef4444;--color-error-100: #fee2e2;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .2);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .25), 0 2px 4px -2px rgb(0 0 0 / .2);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .3), 0 4px 6px -4px rgb(0 0 0 / .2);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .35), 0 8px 10px -6px rgb(0 0 0 / .2);--shadow-hover: 0 8px 30px rgb(0 0 0 / .5);--font-sans: "rucksack", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", Monaco, "Inconsolata", monospace;--font-size-xs: clamp(.75rem, .65rem + .35vw, 1.125rem);--font-size-sm: clamp(.875rem, .7rem + .5vw, 1.375rem);--font-size-base: clamp(1rem, .8rem + .6vw, 1.625rem);--font-size-lg: clamp(1.125rem, .85rem + .85vw, 2rem);--font-size-xl: clamp(1.25rem, .9rem + 1.1vw, 2.5rem);--font-size-2xl: clamp(1.5rem, 1rem + 1.5vw, 3.5rem);--font-size-3xl: clamp(1.875rem, 1.1rem + 2.2vw, 5rem);--font-size-4xl: clamp(2.25rem, 1.2rem + 3vw, 7rem);--font-size-5xl: clamp(3rem, 1rem + 5.5vw, 10rem);--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.1;--line-height-snug: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--letter-spacing-tight: -.025em;--letter-spacing-normal: 0;--letter-spacing-wide: .025em;--letter-spacing-wider: .05em;--spacing-0: 0;--spacing-1: clamp(.25rem, .2rem + .15vw, .5rem);--spacing-2: clamp(.5rem, .4rem + .3vw, 1rem);--spacing-3: clamp(.75rem, .6rem + .45vw, 1.5rem);--spacing-4: clamp(1rem, .8rem + .6vw, 2rem);--spacing-5: clamp(1.25rem, 1rem + .75vw, 2.5rem);--spacing-6: clamp(1.5rem, 1.2rem + .9vw, 3rem);--spacing-8: clamp(2rem, 1.6rem + 1.2vw, 4rem);--spacing-10: clamp(2.5rem, 2rem + 1.5vw, 5rem);--spacing-12: clamp(3rem, 2.4rem + 1.8vw, 6rem);--spacing-16: clamp(4rem, 3.2rem + 2.4vw, 8rem);--spacing-20: clamp(5rem, 4rem + 3vw, 10rem);--spacing-24: clamp(6rem, 4.8rem + 3.6vw, 12rem);--spacing-32: clamp(8rem, 6.4rem + 4.8vw, 16rem);--section-padding-sm: var(--spacing-16);--section-padding-md: var(--spacing-20);--section-padding-lg: var(--spacing-24);--container-max: clamp(1200px, 90vw, 2400px);--container-padding: clamp(1.5rem, 1.2rem + .9vw, 3rem);--nav-height: calc((var(--spacing-4) * 2) + var(--font-size-base) + 1px + 8px);--sidebar-width: clamp(240px, 18vw, 320px);--sidebar-gap: var(--spacing-8);--sidebar-total-offset: calc(var(--sidebar-width) + var(--sidebar-gap));--radius-none: 0;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--duration-instant: .1s;--duration-fast: .15s;--duration-normal: .2s;--duration-slow: .3s;--duration-slower: .5s;--ease-default: cubic-bezier(.4, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--translate-sm: 4px;--translate-md: 8px;--translate-lg: 16px;--scale-hover: 1.02;--scale-press: .98;--transition-fast: var(--duration-fast) var(--ease-out);--transition-base: var(--duration-normal) var(--ease-default);--color-background-paper: var(--color-surface);--color-text-primary: var(--color-text);--z-base: 1;--z-dropdown: 100;--z-sticky: 200;--z-modal: 1000;--z-tooltip: 1100;--grid-gap-sm: var(--spacing-4);--grid-gap-md: var(--spacing-6);--grid-gap-lg: var(--spacing-8)}.grid-cols-1-2{display:grid;grid-template-columns:1fr;gap:var(--grid-gap-md)}@media (min-width: 640px){.grid-cols-1-2{grid-template-columns:repeat(2,1fr)}}.grid-cols-1-2-3{display:grid;grid-template-columns:1fr;gap:var(--grid-gap-md)}@media (min-width: 640px){.grid-cols-1-2-3{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.grid-cols-1-2-3{grid-template-columns:repeat(3,1fr)}}.grid-cols-1-2-4{display:grid;grid-template-columns:1fr;gap:var(--grid-gap-md)}@media (min-width: 640px){.grid-cols-1-2-4{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.grid-cols-1-2-4{grid-template-columns:repeat(4,1fr)}}[data-theme=light]{--color-background: var(--color-neutral-50);--color-surface: var(--color-neutral-50);--color-surface-elevated: var(--color-neutral-100);--color-text: var(--color-neutral-900);--color-text-secondary: var(--color-neutral-600);--color-text-muted: var(--color-neutral-500);--color-border: var(--color-neutral-200);--color-border-subtle: var(--color-neutral-100);--color-background-paper: var(--color-surface);--color-text-primary: var(--color-text);--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .03);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .05), 0 2px 4px -2px rgb(0 0 0 / .03);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .05), 0 4px 6px -4px rgb(0 0 0 / .03);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .05), 0 8px 10px -6px rgb(0 0 0 / .03);--shadow-hover: 0 8px 30px rgb(0 0 0 / .08)}@media (prefers-color-scheme: light){:root:not([data-theme=dark]){--color-background: var(--color-neutral-50);--color-surface: var(--color-neutral-50);--color-surface-elevated: var(--color-neutral-100);--color-text: var(--color-neutral-900);--color-text-secondary: var(--color-neutral-600);--color-text-muted: var(--color-neutral-500);--color-border: var(--color-neutral-200);--color-border-subtle: var(--color-neutral-100);--color-background-paper: var(--color-surface);--color-text-primary: var(--color-text);--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .03);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .05), 0 2px 4px -2px rgb(0 0 0 / .03);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .05), 0 4px 6px -4px rgb(0 0 0 / .03);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .05), 0 8px 10px -6px rgb(0 0 0 / .03);--shadow-hover: 0 8px 30px rgb(0 0 0 / .08)}}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text);background-color:var(--color-background)}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}a{color:var(--color-accent-500);text-decoration:none;transition:color var(--duration-fast) var(--ease-out)}a:hover{color:var(--color-accent-600)}h1,h2,h3,h4,h5,h6{color:var(--color-text);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight)}h1{font-size:var(--font-size-5xl)}h2{font-size:var(--font-size-4xl)}h3{font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold)}h4{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold)}p{color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.container{width:100%;max-width:var(--container-max);margin-left:auto;margin-right:auto;padding-left:var(--container-padding);padding-right:var(--container-padding)}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-6);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);text-decoration:none;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.button:active{transform:scale(var(--scale-press))}.button.primary{background-color:var(--color-accent-500);color:#fff}.button.primary:hover{background-color:var(--color-accent-600);color:#fff}.button.secondary{background-color:transparent;color:var(--color-text);border:1px solid var(--color-border)}.button.secondary:hover{background-color:var(--color-surface-elevated);color:var(--color-text)}.hero{padding:var(--section-padding-lg) var(--container-padding);min-height:80vh;display:flex;align-items:center}.hero h1{max-width:800px;margin-bottom:var(--spacing-4)}.hero p{font-size:var(--font-size-lg);color:var(--color-text-muted);margin-bottom:var(--spacing-8)}.hero-actions{display:flex;gap:var(--spacing-4);flex-wrap:wrap}.error-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-8);text-align:center}.error-container h1{margin-bottom:var(--spacing-4)}[data-reveal-hidden=true]{visibility:hidden!important}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}::view-transition-group(*){animation-duration:var(--duration-slow, .3s);animation-timing-function:var(--ease-out, cubic-bezier(0, 0, .2, 1))}::view-transition-old(root),::view-transition-new(root){will-change:transform,opacity;overflow:hidden}::view-transition-old(root){animation:crossfade-out var(--duration-slow, .3s) var(--ease-out) forwards}::view-transition-new(root){animation:crossfade-in var(--duration-slow, .3s) var(--ease-out) forwards}@keyframes crossfade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.98)}}@keyframes crossfade-in{0%{opacity:0;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}:root[data-transition=slide-left] ::view-transition-old(root){animation:slide-out-left .5s var(--ease-out) forwards!important}:root[data-transition=slide-left] ::view-transition-new(root){animation:slide-in-from-right .5s var(--ease-out) forwards!important}:root[data-transition=slide-right] ::view-transition-old(root){animation:slide-out-right .5s var(--ease-out) forwards!important}:root[data-transition=slide-right] ::view-transition-new(root){animation:slide-in-from-left .5s var(--ease-out) forwards!important}@keyframes slide-out-left{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-100px)}}@keyframes slide-in-from-right{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}@keyframes slide-out-right{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100px)}}@keyframes slide-in-from-left{0%{opacity:0;transform:translate(-100px)}to{opacity:1;transform:translate(0)}}:root[data-transition=slide-down] ::view-transition-old(root){animation:slide-out-up .5s var(--ease-out) forwards!important}:root[data-transition=slide-down] ::view-transition-new(root){animation:slide-in-from-bottom .5s var(--ease-out) forwards!important}:root[data-transition=slide-up] ::view-transition-old(root){animation:slide-out-down .5s var(--ease-out) forwards!important}:root[data-transition=slide-up] ::view-transition-new(root){animation:slide-in-from-top .5s var(--ease-out) forwards!important}@keyframes slide-out-up{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-100px)}}@keyframes slide-in-from-bottom{0%{opacity:0;transform:translateY(100px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-out-down{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(100px)}}@keyframes slide-in-from-top{0%{opacity:0;transform:translateY(-100px)}to{opacity:1;transform:translateY(0)}}:root[data-reveal-active=true] ::view-transition-group(*),:root[data-reveal-active=true] ::view-transition-old(*),:root[data-reveal-active=true] ::view-transition-new(*){animation:none!important;animation-duration:0ms!important}@media (prefers-reduced-motion: reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation-duration:.01ms!important;animation-delay:0ms!important}}
