.skip-link{position:fixed;top:8px;left:8px;z-index:100;padding:10px 16px;border-radius:10px;background:var(--accent-fill);color:var(--accent-ink);font-weight:700;transform:translateY(calc(-100% - 16px));transition:transform var(--motion-fast) var(--ease-out)}.skip-link:focus-visible{transform:translateY(0)}.site-header{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--border-color);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:color-mix(in srgb,var(--background) 80%,transparent)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;height:64px;gap:24px}.site-header__logo{border:none;background:transparent;font-family:var(--font-mono);font-size:18px;line-height:28px;color:var(--accent);min-width:104px;min-height:44px;padding:8px;margin-left:-8px;display:inline-flex;align-items:center;transition:color var(--motion-fast) var(--ease-out),transform var(--motion-fast) var(--ease-out)}.site-header__logo:hover{color:var(--accent-hover);transform:translateY(-1px)}.site-header__logo-image{width:54px;height:24px;display:block}.site-nav{display:flex;align-items:center;gap:32px}.site-nav__link{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;font-size:.875rem;line-height:1.25rem;padding:0 2px;color:var(--text-secondary);transition:color var(--motion-fast) var(--ease-out)}.site-nav__link:after{content:"";position:absolute;left:2px;right:2px;bottom:3px;height:2px;border-radius:999px;background:var(--accent);transform:scaleX(0);transform-origin:center;transition:transform var(--motion-base) var(--ease-out)}.site-nav__link:hover,.site-nav__link.is-active{color:var(--text-primary)}.site-nav__link.is-active:after{transform:scaleX(1)}.site-controls{display:flex;align-items:center;gap:16px}.lang-switch{display:inline-flex;align-items:center;gap:4px;height:44px;padding:3px;border:1px solid var(--border-color);border-radius:12px;background:var(--surface)}.lang-switch__button{border:none;background:transparent;min-width:44px;height:36px;padding:6px 10px;border-radius:10px;font-size:.875rem;line-height:1.25rem;font-weight:600;color:var(--text-secondary);transition:background var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out),transform var(--motion-fast) var(--ease-out)}.lang-switch__button:active{transform:scale(.96)}.lang-switch__button.is-active{background:var(--accent-fill);color:var(--accent-ink)}.theme-toggle,.mobile-toggle{border:1px solid var(--border-color);background:var(--surface);width:44px;height:44px;padding:10px;border-radius:12px;transition:background var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out),transform var(--motion-fast) var(--ease-out)}.theme-toggle svg,.mobile-toggle svg{color:var(--text-secondary);transition:color var(--motion-fast) var(--ease-out)}.theme-toggle:hover,.mobile-toggle:hover{background:var(--muted)}.theme-toggle:active,.mobile-toggle:active{transform:scale(.95)}.mobile-toggle{display:none}.mobile-nav{display:none;padding:16px 0 24px;border-top:1px solid var(--border-color)}.mobile-nav__link{display:flex;align-items:center;min-height:44px;padding:8px 4px;text-align:left;font-size:1rem;color:var(--text-secondary);border-radius:8px;transition:color var(--motion-fast) var(--ease-out),background var(--motion-fast) var(--ease-out),padding var(--motion-fast) var(--ease-out)}.mobile-nav__link:hover,.mobile-nav__link.is-active{padding-left:12px;background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--text-primary)}.mobile-nav__link.is-active{box-shadow:inset 2px 0 0 var(--accent)}.mobile-nav__list{display:flex;flex-direction:column;gap:4px}.site-header a:focus-visible,.site-header button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}@media(max-width:767px){.site-nav{display:none}.mobile-toggle{display:block}.mobile-nav{display:block;position:absolute;top:100%;left:0;right:0;padding:12px 24px 16px;background:var(--background);box-shadow:var(--shadow-lg);animation:mobile-nav-in var(--motion-base) var(--ease-out) both}}@keyframes mobile-nav-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:640px){.site-header__inner{height:64px;padding:12px 0;gap:8px}.site-controls{gap:4px}.site-header__logo{min-width:96px;padding-inline:4px;margin-left:-4px}.lang-switch__button{min-width:44px;padding-inline:8px}}@media(max-width:360px){.site-header .container{padding-inline:12px}.site-header__logo{min-width:80px}.site-header__logo-image{width:54px;height:24px}.site-controls{gap:2px}}.site-footer{border-top:1px solid var(--border-color);background:var(--surface);padding:32px 0}.site-footer__inner{display:flex;align-items:center;justify-content:space-between;gap:16px}.site-footer__brand{font-family:var(--font-mono);color:var(--text-secondary);font-size:.85rem}.site-footer__links{display:flex;gap:16px}.site-footer__links a{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:color var(--motion-fast) var(--ease-out),transform var(--motion-fast) var(--ease-out)}.site-footer__links svg{color:var(--text-secondary);transition:color var(--motion-fast) var(--ease-out)}.site-footer__links a:hover,.site-footer__links a:hover svg{color:var(--accent)}.site-footer__links a:hover{transform:translateY(-1px)}@media(max-width:640px){.site-footer__inner{flex-direction:column;align-items:flex-start}}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/Inter-400.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/JetBrainsMono-400.woff2) format("woff2")}:root{color-scheme:light;--font-size: 16px;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--background: #f8fafc;--surface: #ffffff;--border-color: #e2e8f0;--text-primary: #0f172a;--text-secondary: #475569;--accent: #0e7490;--accent-hover: #155e75;--accent-fill: #22d3ee;--accent-fill-hover: #06b6d4;--accent-ink: #0b0f14;--error: #b91c1c;--muted: #f1f5f9;--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--motion-fast: .16s;--motion-base: .28s;--motion-slow: .48s;--ease-out: cubic-bezier(.22, 1, .36, 1)}.dark{color-scheme:dark;--background: #0b0f14;--surface: #0f1620;--border-color: #1f2a37;--text-primary: #e5e7eb;--text-secondary: #9ca3af;--accent: #22d3ee;--accent-hover: #67e8f9;--accent-fill: #22d3ee;--accent-fill-hover: #06b6d4;--accent-ink: #0b0f14;--error: #f87171;--muted: #1f2a37;--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1)}*,*:before,*:after{box-sizing:border-box}html{font-size:var(--font-size);scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;min-height:100vh;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5;color:var(--text-primary);background-color:var(--background);background-image:linear-gradient(rgba(34,211,238,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(34,211,238,.03) 1px,transparent 1px);background-size:50px 50px;background-position:-1px -1px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{min-height:100vh}a{color:inherit;text-decoration:none}button{font-family:inherit;color:inherit;cursor:pointer}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.container{width:100%;max-width:100%;margin:0 auto;padding:0 24px}.icon{width:20px;height:20px}.icon--xs{width:16px;height:16px}.icon--md{width:24px;height:24px}.section{padding:64px 0}.section--surface{background:var(--surface)}.section__title{margin:0 0 48px;font-size:2.25rem;line-height:2.5rem;font-weight:700;text-wrap:balance}.motion-ready [data-reveal]{opacity:0;transform:translateY(14px);transition:opacity var(--motion-slow) var(--ease-out),transform var(--motion-slow) var(--ease-out);transition-delay:var(--reveal-delay, 0ms)}.motion-ready [data-reveal].is-visible{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:no-preference){::view-transition-old(root){animation:theme-fade-out var(--motion-base) ease both}::view-transition-new(root){animation:theme-fade-in var(--motion-base) ease both}}@keyframes theme-fade-out{to{opacity:0}}@keyframes theme-fade-in{0%{opacity:0}}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}.section{padding:96px 0}}@media(min-width:1024px){.container{max-width:1024px;padding:0 32px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
