@font-face{font-family:IBM Plex Sans;src:url(/fonts/ibm-plex-sans-var.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/ibm-plex-mono-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/ibm-plex-mono-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/ibm-plex-mono-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}:root{--color-ink-950: #0B0D12;--color-ink-900: #15181F;--color-ink-800: #23272F;--color-ink-700: #3A3F49;--color-ink-500: #6B7280;--color-ink-300: #C9CDD4;--color-ink-200: #E3E5EA;--color-ink-100: #F1F2F5;--color-ink-50: #FAFAF9;--spacing-xs: 8px;--spacing-sm: 12px;--spacing-md: 16px;--spacing-lg: 20px;--spacing-xl: 24px;--spacing-2xl: 32px;--spacing-3xl: 40px;--spacing-4xl: 48px;--spacing-5xl: 64px;--spacing-6xl: 80px;--spacing-7xl: 96px;--font-family: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--font-size-h1: 44px;--font-size-h2: 32px;--font-size-h3: 24px;--font-size-h4: 20px;--font-size-body: 16px;--font-size-small: 14px;--font-size-label: 12px;--font-weight-bold: 700;--font-weight-semibold: 600;--font-weight-medium: 500;--font-weight-regular: 400;--letter-spacing-tight: -.02em;--letter-spacing-label: .08em;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--shadow-sm: 0 1px 2px rgba(11, 13, 18, .06);--shadow-md: 0 4px 12px rgba(11, 13, 18, .08);--shadow-lg: 0 12px 32px rgba(11, 13, 18, .14);--transition-fast: .2s ease-in-out;--transition-normal: .3s ease-in-out;--border-width: .5px;--border-width-thick: 1.5px}[data-theme=light],:root{--bg-primary: var(--color-ink-50);--bg-secondary: var(--color-ink-100);--bg-tertiary: var(--color-ink-200);--text-primary: var(--color-ink-950);--text-secondary: #4B5160;--border-color: rgba(11, 13, 18, .1);--card-bg: #FFFFFF;--color-accent: var(--color-ink-950);--color-on-accent: #FFFFFF;--color-accent-hover: var(--color-ink-800);--shadow-color: rgba(11, 13, 18, .06);color-scheme:light}[data-theme=dark]{--bg-primary: var(--color-ink-950);--bg-secondary: var(--color-ink-900);--bg-tertiary: var(--color-ink-800);--text-primary: #F4F5F7;--text-secondary: #A6ACB8;--border-color: rgba(255, 255, 255, .1);--card-bg: var(--color-ink-900);--color-accent: #F4F5F7;--color-on-accent: var(--color-ink-950);--color-accent-hover: #D9DCE2;--shadow-color: rgba(0, 0, 0, .35);color-scheme:dark}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);font-size:var(--font-size-body);font-weight:var(--font-weight-regular);color:var(--text-primary);background-color:var(--bg-primary);line-height:1.6;transition:background-color var(--transition-normal),color var(--transition-normal)}h1,h2,h3,h4{font-weight:var(--font-weight-bold);line-height:1.15;letter-spacing:var(--letter-spacing-tight);color:var(--text-primary);margin-bottom:var(--spacing-md)}h1{font-size:var(--font-size-h1)}h2{font-size:var(--font-size-h2)}h3{font-size:var(--font-size-h3);font-weight:var(--font-weight-semibold)}h4{font-size:var(--font-size-h4);font-weight:var(--font-weight-medium)}p{margin-bottom:var(--spacing-md);color:var(--text-secondary)}a{color:var(--text-primary);text-decoration:none;transition:opacity var(--transition-fast)}a:hover{opacity:.8}img{max-width:100%;display:block}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg)}@media(min-width:768px){.container{padding:0 var(--spacing-2xl)}}@media(min-width:1024px){.container{padding:0 var(--spacing-3xl)}}.section{padding:var(--spacing-5xl) 0}@media(min-width:768px){.section{padding:var(--spacing-6xl) 0}}.eyebrow{font-family:var(--font-family-mono);font-size:var(--font-size-label);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-label);text-transform:uppercase;color:var(--text-secondary)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}*:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}button:focus-visible,a:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;background-color:var(--bg-primary);border-bottom:var(--border-width) solid var(--border-color);transition:background-color var(--transition-normal),box-shadow var(--transition-normal)}.navbar-scrolled{box-shadow:var(--shadow-sm);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}[data-theme=light] .navbar-scrolled{background-color:#fafaf9eb}[data-theme=dark] .navbar-scrolled{background-color:#0b0d12e6}.navbar-container{max-width:1200px;margin:0 auto;padding:var(--spacing-sm) var(--spacing-lg);min-height:64px;display:flex;align-items:center;justify-content:space-between}@media(min-width:1024px){.navbar-container{padding:var(--spacing-sm) var(--spacing-3xl)}}.navbar-logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--text-primary)}.navbar-logo:hover{opacity:1}.navbar-mark{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:var(--color-accent);color:var(--color-on-accent);font-family:var(--font-family-mono);font-size:13px;font-weight:var(--font-weight-semibold);letter-spacing:.04em}.navbar-wordmark{font-size:var(--font-size-h4);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight)}.navbar-toggle{display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-primary);cursor:pointer;padding:var(--spacing-sm);border-radius:var(--radius-sm);transition:background-color var(--transition-fast)}.navbar-toggle:hover{background-color:var(--bg-secondary)}@media(min-width:768px){.navbar-toggle{display:none}}.navbar-menu{display:flex;align-items:center;gap:var(--spacing-xl)}@media(max-width:767px){.navbar-menu{position:fixed;top:64px;left:0;right:0;background-color:var(--bg-primary);border-bottom:var(--border-width) solid var(--border-color);flex-direction:column;align-items:stretch;padding:var(--spacing-lg);transform:translateY(-100%);opacity:0;visibility:hidden;transition:transform var(--transition-normal),opacity var(--transition-normal),visibility var(--transition-normal);box-shadow:var(--shadow-lg)}.navbar-menu-open{transform:translateY(0);opacity:1;visibility:visible}}.navbar-links{display:flex;list-style:none;gap:var(--spacing-lg);align-items:center}@media(max-width:767px){.navbar-links{flex-direction:column;align-items:stretch;gap:var(--spacing-md)}}.navbar-link{font-size:var(--font-size-body);color:var(--text-secondary);text-decoration:none;transition:color var(--transition-fast);padding:var(--spacing-sm) 0;position:relative}.navbar-link:hover{color:var(--text-primary);opacity:1}.navbar-link:after{content:"";position:absolute;bottom:4px;left:0;width:0;height:1.5px;background-color:var(--text-primary);transition:width var(--transition-fast)}.navbar-link:hover:after{width:100%}.navbar-controls{display:flex;align-items:center;gap:var(--spacing-sm)}.navbar-language-toggle,.navbar-theme-toggle{display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border:var(--border-width) solid var(--border-color);color:var(--text-primary);cursor:pointer;border-radius:var(--radius-sm);transition:background-color var(--transition-fast),transform var(--transition-fast);height:40px}.navbar-language-toggle{padding:0 var(--spacing-md);min-width:44px;font-family:var(--font-family-mono);font-weight:var(--font-weight-medium);font-size:var(--font-size-small)}.navbar-theme-toggle{width:40px}.navbar-language-toggle:hover,.navbar-theme-toggle:hover{background-color:var(--bg-tertiary)}@media(max-width:767px){.navbar-controls{flex-direction:row;width:100%;margin-top:var(--spacing-md)}.navbar-language-toggle,.navbar-theme-toggle{flex:1}}.footer{background-color:var(--bg-secondary);border-top:var(--border-width) solid var(--border-color);padding:var(--spacing-5xl) 0 var(--spacing-xl)}.footer-content{display:grid;grid-template-columns:1fr;gap:var(--spacing-3xl);margin-bottom:var(--spacing-4xl)}@media(min-width:768px){.footer-content{grid-template-columns:2fr 1fr 1fr;gap:var(--spacing-4xl)}}.footer-section{display:flex;flex-direction:column}.footer-title{font-size:var(--font-size-h4);margin-bottom:var(--spacing-sm)}.footer-heading{font-family:var(--font-family-mono);font-size:var(--font-size-label);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-label);text-transform:uppercase;color:var(--text-secondary);margin-bottom:var(--spacing-md)}.footer-description{font-size:var(--font-size-small);color:var(--text-secondary);line-height:1.6;margin:0}.footer-links-grid{display:flex;flex-direction:column;gap:4px}.footer-link-item{font-size:var(--font-size-small);color:var(--text-secondary);text-decoration:none;transition:color var(--transition-fast);align-self:flex-start}.footer-link-item:hover{color:var(--text-primary);opacity:1}.footer-email{font-family:var(--font-family-mono)}.footer-bottom{padding-top:var(--spacing-xl);border-top:var(--border-width) solid var(--border-color)}.footer-copyright{font-size:var(--font-size-small);color:var(--text-secondary);margin:0}.hero{padding:var(--spacing-5xl) 0 var(--spacing-4xl);border-bottom:var(--border-width) solid var(--border-color);background:radial-gradient(1200px 500px at 85% -10%,var(--bg-tertiary) 0%,transparent 60%),var(--bg-primary)}@media(min-width:1024px){.hero{padding:var(--spacing-7xl) 0 var(--spacing-6xl)}}.hero-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-4xl);align-items:center}@media(min-width:1024px){.hero-grid{grid-template-columns:1.15fr 1fr;gap:var(--spacing-6xl)}}.hero-eyebrow{margin-bottom:var(--spacing-lg)}.hero-title{font-size:clamp(34px,5.2vw,56px);line-height:1.08;max-width:14ch;margin-bottom:var(--spacing-xl)}.hero-subtitle{font-size:18px;line-height:1.6;max-width:56ch;margin-bottom:var(--spacing-2xl)}.hero-actions{display:flex;gap:var(--spacing-md);flex-wrap:wrap;margin-bottom:var(--spacing-3xl)}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:var(--radius-sm);font-weight:var(--font-weight-medium);font-size:var(--font-size-body);border:var(--border-width-thick) solid transparent;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast);cursor:pointer}.btn:hover{opacity:1;transform:translateY(-1px)}.btn-primary{background:var(--color-accent);color:var(--color-on-accent)}.btn-primary:hover{background:var(--color-accent-hover)}.btn-secondary{background:transparent;color:var(--text-primary);border-color:var(--border-color)}.btn-secondary:hover{border-color:var(--text-primary)}.hero-stats{display:grid;grid-template-columns:repeat(2,auto);gap:var(--spacing-3xl);justify-content:start}.hero-stat dt{font-family:var(--font-family-mono);font-size:var(--font-size-label);letter-spacing:var(--letter-spacing-label);text-transform:uppercase;color:var(--text-secondary);margin-bottom:4px}.hero-stat dd{font-family:var(--font-family-mono);font-size:var(--font-size-h4);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.hero-stat .hero-stat-note{font-size:var(--font-size-label);font-weight:var(--font-weight-regular);color:var(--text-secondary);margin-top:2px}.hero-visual{display:flex;justify-content:center}.hero-icon-cluster{--tile: 84px;--gap: 18px;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--gap);width:calc(4 * var(--tile) + 3 * var(--gap) + 2 * 24px);padding:24px;border-radius:var(--radius-lg);background:var(--card-bg);border:var(--border-width) solid var(--border-color);box-shadow:var(--shadow-lg)}@media(max-width:420px){.hero-icon-cluster{--tile: 64px;--gap: 12px;padding:16px;width:calc(4 * var(--tile) + 3 * var(--gap) + 2 * 16px)}.hero-icon img{width:56px;height:56px}}.hero-icon{display:inline-flex;align-items:center;justify-content:center;width:var(--tile);height:var(--tile);flex:0 0 var(--tile);border-radius:20px;background:var(--bg-secondary);border:var(--border-width) solid var(--border-color);animation:hero-float 6s ease-in-out infinite;animation-delay:calc(var(--i) * -.7s)}.hero-icon img{border-radius:16px;box-shadow:0 6px 18px color-mix(in srgb,var(--accent) 35%,transparent)}@keyframes hero-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.apps-header{max-width:62ch;margin-bottom:var(--spacing-3xl)}.apps-header .eyebrow{margin-bottom:var(--spacing-sm)}.apps-description{font-size:17px;margin:0}.apps-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-lg)}@media(min-width:640px){.apps-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.apps-grid{grid-template-columns:repeat(3,1fr);gap:var(--spacing-xl)}}.app-card{position:relative;display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-xl);border-radius:var(--radius-md);background:var(--card-bg);border:var(--border-width) solid var(--border-color);box-shadow:var(--shadow-sm);transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast);overflow:hidden;transition-delay:calc(var(--index) * .06s)}.app-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--accent),var(--accent-alt));opacity:.9}.app-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:color-mix(in srgb,var(--accent) 45%,var(--border-color))}.app-card-head{display:flex;align-items:center;gap:var(--spacing-md)}.app-card-icon{width:64px;height:64px;border-radius:14px;flex-shrink:0;box-shadow:0 4px 12px color-mix(in srgb,var(--accent) 30%,transparent)}.app-card-meta{min-width:0}.app-card-category{margin-bottom:4px}.app-card-name{font-size:var(--font-size-h4);margin:0}.app-card-tagline{margin:0;color:var(--text-secondary);line-height:1.55;flex-grow:1}.app-card-platform{margin:0;font-family:var(--font-family-mono);font-size:var(--font-size-label);letter-spacing:.02em;color:var(--text-secondary)}.app-card-actions{display:grid;grid-template-columns:1fr;gap:var(--spacing-md);padding-top:var(--spacing-md);border-top:var(--border-width) solid var(--border-color)}.app-card-actions-dual{grid-template-columns:1fr 1fr}.app-card-edition{display:flex;flex-direction:column;gap:8px;min-width:0}.app-card-edition-label{font-family:var(--font-family-mono);font-size:var(--font-size-label);letter-spacing:var(--letter-spacing-label);text-transform:uppercase;color:var(--text-secondary);margin-bottom:2px}.app-card-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:9px 12px;border-radius:var(--radius-sm);border:var(--border-width-thick) solid var(--border-color);background:transparent;color:var(--text-primary);font-size:var(--font-size-small);font-weight:var(--font-weight-medium);line-height:1.2;white-space:nowrap;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.app-card-btn:hover{opacity:1;border-color:var(--text-primary);transform:translateY(-1px)}.app-card-btn-primary{background:var(--color-accent);color:var(--color-on-accent);border-color:var(--color-accent)}.app-card-btn-primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.app-card-btn-primary svg{transition:transform var(--transition-fast)}.app-card-btn-primary:hover svg{transform:translate(3px)}.app-card-btn-soon{border-style:dashed;color:var(--text-secondary);font-family:var(--font-family-mono);font-size:var(--font-size-label);letter-spacing:.02em;cursor:default}.app-card-btn-soon:hover{border-color:var(--border-color);transform:none}@media(max-width:380px){.app-card-actions-dual{grid-template-columns:1fr}}.about{background:var(--bg-secondary);border-top:var(--border-width) solid var(--border-color);border-bottom:var(--border-width) solid var(--border-color)}.about-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-2xl)}@media(min-width:900px){.about-grid{grid-template-columns:1fr 1fr;gap:var(--spacing-6xl);align-items:start}}.about .eyebrow{margin-bottom:var(--spacing-sm)}.about-title{font-size:clamp(26px,3.2vw,36px);max-width:22ch;margin:0}.about-text p{font-size:17px;line-height:1.65}.about-text p:last-child{margin-bottom:0}.contact-card{max-width:720px;margin:0 auto;text-align:center;padding:var(--spacing-4xl) var(--spacing-xl);border-radius:var(--radius-lg);background:var(--card-bg);border:var(--border-width) solid var(--border-color);box-shadow:var(--shadow-sm)}.contact-card .eyebrow{margin-bottom:var(--spacing-sm)}.contact-title{margin-bottom:var(--spacing-md)}.contact-text{max-width:52ch;margin:0 auto var(--spacing-2xl)}.contact-actions{display:flex;justify-content:center;gap:var(--spacing-md);flex-wrap:wrap;margin-bottom:var(--spacing-lg)}.contact-email{font-family:var(--font-family-mono);font-size:var(--font-size-small);color:var(--text-secondary);margin:0}.page-container{min-height:calc(100vh - 200px);padding:var(--spacing-4xl) var(--spacing-md);background-color:var(--bg-primary)}.page-content{max-width:760px;margin:0 auto}.page-title{font-size:var(--font-size-h1);margin-bottom:var(--spacing-3xl)}.page-section{margin-bottom:var(--spacing-2xl)}.page-heading{font-size:var(--font-size-h4);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs)}.page-text{font-size:var(--font-size-body);color:var(--text-secondary);line-height:1.65;margin:0}.page-link{color:var(--text-primary);text-decoration:underline;text-underline-offset:3px;font-family:var(--font-family-mono);font-size:var(--font-size-small)}@media(min-width:768px){.page-container{padding:var(--spacing-5xl) var(--spacing-2xl)}}.App{min-height:100vh;background-color:var(--bg-primary);color:var(--text-primary);transition:background-color var(--transition-normal),color var(--transition-normal)}main{padding-top:64px}.fade-in{opacity:0;transform:translateY(24px);transition:opacity .6s ease-out,transform .6s ease-out}.fade-in-visible{opacity:1;transform:translateY(0)}.skip-link{position:absolute;top:-40px;left:0;background:var(--color-accent);color:var(--color-on-accent);padding:8px;text-decoration:none;z-index:100}.skip-link:focus{top:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0ms!important;scroll-behavior:auto!important}}
