@media (prefers-color-scheme:dark){:root{--bg-primary:oklch(12% .02 275);--bg-secondary:oklch(16% .025 275);--bg-tertiary:oklch(20% .03 275);--text-primary:oklch(94% .01 250);--text-secondary:oklch(70% .02 250);--text-muted:oklch(50% .015 250);--accent:oklch(70% .16 275);--accent-hover:oklch(75% .18 275);--accent-subtle:oklch(25% .06 275);--border:oklch(28% .02 275);--border-strong:oklch(38% .025 275);--shadow-sm:0 1px 3px oklch(0% 0 0/.3);--shadow-md:0 4px 16px oklch(0% 0 0/.4);--shadow-lg:0 12px 40px oklch(0% 0 0/.5);--shadow-accent:0 8px 32px oklch(70% .16 275/.25)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes slideInRight{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}[data-reveal]{opacity:1;transform:none}}.gyro-scene[data-v-0bfe16a1]{z-index:-1;pointer-events:none;width:100vw;height:100vh;position:fixed;top:0;left:0;overflow:hidden}.scroll-progress[data-v-24f24e84]{z-index:100;background:var(--bg-primary);height:2px;transition:opacity var(--duration-normal) var(--ease-out-quint);pointer-events:none;position:fixed;top:0;left:0;right:0}.scroll-progress-bar[data-v-24f24e84]{background:linear-gradient(90deg,var(--accent),var(--accent-hover));transform-origin:0;height:100%;transition:transform 50ms linear}:root{--text-xs:clamp(.75rem, .7rem + .25vw, .875rem);--text-sm:clamp(.875rem, .8rem + .35vw, 1rem);--text-base:clamp(1rem, .9rem + .5vw, 1.125rem);--text-lg:clamp(1.125rem, 1rem + .6vw, 1.375rem);--text-xl:clamp(1.25rem, 1.1rem + .75vw, 1.75rem);--text-2xl:clamp(1.5rem, 1.2rem + 1.5vw, 2.5rem);--text-3xl:clamp(2rem, 1.5rem + 2.5vw, 3.5rem);--text-4xl:clamp(2.5rem, 1.8rem + 3.5vw, 4.5rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--space-24:6rem;--space-32:8rem;--bg-primary:oklch(97% .01 250);--bg-secondary:oklch(94% .015 250);--bg-tertiary:oklch(91% .02 250);--text-primary:oklch(20% .03 260);--text-secondary:oklch(45% .025 260);--text-muted:oklch(60% .02 260);--accent:oklch(55% .18 275);--accent-hover:oklch(50% .22 275);--accent-subtle:oklch(94% .04 275);--border:oklch(88% .015 250);--border-strong:oklch(80% .02 250);--shadow-sm:0 1px 3px oklch(0% 0 0/.06);--shadow-md:0 4px 16px oklch(0% 0 0/.08);--shadow-lg:0 12px 40px oklch(0% 0 0/.12);--shadow-accent:0 8px 32px oklch(55% .18 275/.2);--ease-out-quint:cubic-bezier(.22, 1, .36, 1);--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--duration-fast:.15s;--duration-normal:.3s;--duration-slow:.5s;--container-max:1200px;--container-narrow:800px;--container-content:680px;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--radius-xl:28px}@media (prefers-color-scheme:dark){:root{--bg-primary:oklch(12% .02 275);--bg-secondary:oklch(16% .025 275);--bg-tertiary:oklch(20% .03 275);--text-primary:oklch(94% .01 250);--text-secondary:oklch(70% .02 250);--text-muted:oklch(50% .015 250);--accent:oklch(70% .16 275);--accent-hover:oklch(75% .18 275);--accent-subtle:oklch(25% .06 275);--border:oklch(28% .02 275);--border-strong:oklch(38% .025 275);--shadow-sm:0 1px 3px oklch(0% 0 0/.3);--shadow-md:0 4px 16px oklch(0% 0 0/.4);--shadow-lg:0 12px 40px oklch(0% 0 0/.5);--shadow-accent:0 8px 32px oklch(70% .16 275/.25)}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Outfit,system-ui,-apple-system,sans-serif;font-size:var(--text-base);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.7}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em;font-family:Outfit,system-ui,sans-serif;font-weight:600;line-height:1.2}h1{font-size:var(--text-4xl);font-weight:700}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base);font-weight:600}p{margin-bottom:var(--space-4)}p:last-child{margin-bottom:0}a{color:var(--accent);transition:color var(--duration-fast) var(--ease-out-quint);text-decoration:none}a:hover{color:var(--accent-hover)}.container{width:100%;max-width:var(--container-max);padding-inline:var(--space-6);margin-inline:auto}.container-narrow{max-width:var(--container-narrow)}.container-content{max-width:var(--container-content)}.glass{background:oklch(from var(--bg-secondary) l c h/.7);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border)}.animate-fade-in-up{animation:fadeInUp var(--duration-slow) var(--ease-out-quint) forwards;opacity:0}.animate-fade-in{animation:fadeIn var(--duration-normal) var(--ease-out-expo) forwards}.animate-float{animation:float 4s var(--ease-out-expo) infinite}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--accent-subtle);color:var(--text-primary)}.link-underline{text-decoration:none;position:relative}.link-underline:after{content:"";width:0;height:1px;transition:width var(--duration-normal) var(--ease-out-quint);background:currentColor;position:absolute;bottom:-2px;left:0}.link-underline:hover:after{width:100%}.btn-press{transition:transform var(--duration-fast) var(--ease-out-quint),box-shadow var(--duration-fast) var(--ease-out-quint)}.btn-press:active{transform:scale(.97)}.hover-lift{transition:transform var(--duration-normal) var(--ease-out-quint),box-shadow var(--duration-normal) var(--ease-out-quint),border-color var(--duration-normal) var(--ease-out-quint)}.hover-lift:hover{box-shadow:var(--shadow-md),0 0 20px oklch(55% .18 275/.15);transform:translateY(-2px)}.glow-focus{transition:box-shadow var(--duration-normal) var(--ease-out-quint),border-color var(--duration-normal) var(--ease-out-quint)}.glow-focus:hover{border-color:var(--accent-subtle);box-shadow:0 0 24px oklch(55% .18 275/.2),inset 0 0 12px oklch(55% .18 275/.05)}.interactive-glow{position:relative}.interactive-glow:before{content:"";border-radius:inherit;opacity:0;z-index:-1;pointer-events:none;transition:opacity var(--duration-normal) var(--ease-out-quint);background:linear-gradient(135deg,oklch(55% .18 275/.3),oklch(70% .16 300/.2));position:absolute;inset:-1px}.interactive-glow:hover:before{opacity:1}[data-reveal]{opacity:0;transition:opacity var(--duration-slow) var(--ease-out-quint),transform var(--duration-slow) var(--ease-out-quint);transform:translateY(20px)}[data-reveal].revealed{opacity:1;transform:translateY(0)}[data-reveal=left]{transform:translate(-20px)}[data-reveal=left].revealed{transform:translate(0)}[data-reveal=right]{transform:translate(20px)}[data-reveal=right].revealed{transform:translate(0)}[data-reveal=scale]{transform:scale(.95)}[data-reveal=scale].revealed{transform:scale(1)}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}.delay-600{animation-delay:.6s}.delay-700{animation-delay:.7s}.delay-800{animation-delay:.8s}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}[data-reveal]{opacity:1;transform:none}}.app-wrapper{min-height:100vh;position:relative}::view-transition-new(post-title-){animation-duration:.4s;animation-timing-function:var(--ease-out-quint)}::view-transition-old(post-title-){animation-duration:.4s;animation-timing-function:var(--ease-out-quint)}::view-transition-new(root){animation-duration:.3s;animation-timing-function:var(--ease-out-quint)}::view-transition-old(root){animation-duration:.3s;animation-timing-function:var(--ease-out-quint)}@supports not (view-transition-name:none){.page-enter-active,.page-leave-active{transition:opacity var(--duration-normal) var(--ease-out-quint),transform var(--duration-normal) var(--ease-out-quint)}.page-enter-from{opacity:0;transform:translateY(12px)}.page-leave-to{opacity:0;transform:translateY(-8px)}}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation:none!important}::view-transition-new(*){animation:none!important}::view-transition-old(*){animation:none!important}}
