:root {
  --bg: #08080d;
  --bg-soft: #0d0d14;
  --surface: #111119;
  --surface-2: #15151f;
  --surface-3: #1a1a26;
  --text: #ffffff;
  --text-soft: #d9d9e3;
  --muted: #9292a3;
  --muted-2: #6f6f7f;
  --pink: #ff66aa;
  --pink-strong: #ff4f9a;
  --pink-soft: #ff8fc7;
  --violet: #8b7cff;
  --cyan: #68d7ff;
  --success: #74e29a;
  --border: rgba(255,255,255,.085);
  --border-strong: rgba(255,255,255,.14);
  --radius-sm: 8px;
  --radius: 12px;
  --radius-lg: 18px;
  --shadow-sm: 0 12px 35px rgba(0,0,0,.24);
  --shadow-lg: 0 28px 90px rgba(0,0,0,.45);
  --pink-shadow: 0 16px 44px rgba(255,79,154,.18);
  --container: 1200px;
  --header-h: 72px;
  --section-y: clamp(5.5rem, 8vw, 9rem);
  --ease: cubic-bezier(.2,.72,.2,1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.6;
  overflow-x: clip;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.menu-open { overflow: hidden; }
::selection { background: rgba(255,102,170,.32); color: #fff; }
button, input, select { font: inherit; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button { color: inherit; }
svg { display: block; width: 1.1em; height: 1.1em; }

.skip-link {
  position: fixed; left: 12px; top: 10px; z-index: 1000; padding: .65rem 1rem;
  border-radius: var(--radius-sm); background: #fff; color: #000; transform: translateY(-140%);
  transition: transform .2s ease;
}
.skip-link:focus { transform: translateY(0); }
:focus-visible { outline: 2px solid var(--pink-soft); outline-offset: 3px; }

.site-noise {
  position: fixed; inset: 0; pointer-events: none; z-index: 100;
  opacity: .027;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E");
}
.cursor-glow {
  position: fixed; z-index: -1; width: 480px; aspect-ratio: 1; border-radius: 50%; pointer-events: none;
  left: var(--mx, 70%); top: var(--my, 18%); transform: translate(-50%,-50%);
  background: radial-gradient(circle, rgba(255,79,154,.08), rgba(255,79,154,0) 68%);
  filter: blur(10px);
}
.svg-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.container { width: min(var(--container), calc(100% - 48px)); margin-inline: auto; }
.section { position: relative; padding-block: var(--section-y); }

.site-header {
  position: fixed; z-index: 90; top: 0; left: 0; right: 0;
  border-bottom: 1px solid transparent;
  background: rgba(8,8,13,.22);
  backdrop-filter: blur(12px) saturate(120%);
  transition: background .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.site-header.scrolled {
  background: rgba(8,8,13,.82);
  border-color: var(--border);
  box-shadow: 0 10px 35px rgba(0,0,0,.18);
}
.nav-shell {
  width: min(1280px, calc(100% - 32px)); margin: 0 auto; min-height: var(--header-h);
  display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1.5rem;
  transition: min-height .25s ease;
}
.site-header.scrolled .nav-shell { min-height: 62px; }
.brand { display: inline-flex; align-items: center; gap: .65rem; width: max-content; }
.brand-mark { position: relative; width: 30px; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; box-shadow: inset 0 0 0 5px rgba(255,102,170,.08); }
.brand-mark::before, .brand-mark::after { content: ""; position: absolute; border-radius: 50%; }
.brand-mark::before { inset: 5px; border: 1px solid var(--pink); opacity: .9; }
.brand-mark::after { width: 5px; height: 5px; top: 5px; right: 1px; background: var(--pink-soft); box-shadow: 0 0 12px var(--pink); }
.brand-mark span { position: absolute; width: 3px; height: 3px; border-radius: 50%; background: white; left: 50%; top: 50%; transform: translate(-50%,-50%); }
.brand-name { font-size: 1rem; font-weight: 800; letter-spacing: -.04em; }
.brand-name strong { color: var(--pink); font-weight: 800; }
.nav-links { display: flex; align-items: center; gap: .25rem; padding: 4px; border: 1px solid rgba(255,255,255,.06); border-radius: 10px; background: rgba(255,255,255,.02); }
.nav-links a { color: var(--muted); font-size: .86rem; font-weight: 600; padding: .55rem .75rem; border-radius: 7px; transition: color .18s ease, background .18s ease; }
.nav-links a:hover { color: white; background: rgba(255,255,255,.05); }
.nav-actions { display: flex; justify-content: flex-end; align-items: center; gap: .5rem; }
.lang-select { position: relative; display: flex; align-items: center; min-height: 38px; border: 1px solid var(--border); border-radius: 9px; background: rgba(255,255,255,.025); overflow: hidden; color: var(--text-soft); }
.lang-select select { appearance: none; border: 0; outline: 0; color: inherit; background: transparent; padding: .45rem 1.85rem .45rem 1.65rem; font-size: .78rem; font-weight: 800; cursor: pointer; }
.lang-select option { color: #111; }
.lang-select svg { position: absolute; right: .55rem; width: .8rem; pointer-events: none; color: var(--muted); }
.lang-dot { position: absolute; left: .55rem; width: 5px; height: 5px; border-radius: 50%; background: var(--pink); box-shadow: 0 0 9px var(--pink); pointer-events: none; }
.icon-button, .button { display: inline-flex; align-items: center; justify-content: center; gap: .55rem; border: 1px solid transparent; border-radius: 10px; white-space: nowrap; font-weight: 750; letter-spacing: -.015em; cursor: pointer; transition: transform .18s var(--ease), box-shadow .18s ease, border-color .18s ease, background .18s ease, color .18s ease; }
.icon-button { min-height: 38px; padding: .5rem .75rem; border-color: var(--border); background: rgba(255,255,255,.025); color: var(--text-soft); font-size: .82rem; }
.icon-button:hover { transform: translateY(-1px); border-color: var(--border-strong); color: #fff; }
.button { min-height: 40px; padding: .65rem 1rem; font-size: .88rem; }
.button-lg { min-height: 50px; padding: .8rem 1.15rem; font-size: .96rem; }
.button-primary { background: linear-gradient(180deg, #ff75b5 0%, #ff579f 100%); color: #17050d; border-color: rgba(255,255,255,.28); box-shadow: 0 8px 24px rgba(255,79,154,.12), inset 0 1px 0 rgba(255,255,255,.25); }
.button-primary:hover { transform: translateY(-2px); box-shadow: 0 13px 34px rgba(255,79,154,.25), inset 0 1px 0 rgba(255,255,255,.28); }
.button-primary:active, .button-secondary:active { transform: translateY(0) scale(.99); }
.button-secondary { background: rgba(255,255,255,.035); color: #fff; border-color: var(--border-strong); box-shadow: inset 0 1px 0 rgba(255,255,255,.03); }
.button-secondary:hover { transform: translateY(-1px); border-color: rgba(255,255,255,.22); background: rgba(255,255,255,.055); }
.button-arrow { transition: transform .18s ease; }
.button:hover .button-arrow, .text-link:hover svg { transform: translateX(2px); }
.mobile-menu-button { display: none; width: 42px; height: 40px; border-radius: 9px; border: 1px solid var(--border); background: rgba(255,255,255,.025); align-items: center; justify-content: center; flex-direction: column; gap: 6px; }
.mobile-menu-button span { width: 17px; height: 1px; background: #fff; transition: transform .2s ease; }
.mobile-menu-button[aria-expanded="true"] span:first-child { transform: translateY(3.5px) rotate(45deg); }
.mobile-menu-button[aria-expanded="true"] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
.mobile-menu { border-top: 1px solid var(--border); padding: 1rem 20px 1.25rem; background: rgba(8,8,13,.96); }
.mobile-menu a:not(.button) { display: block; padding: .75rem .2rem; color: var(--text-soft); border-bottom: 1px solid rgba(255,255,255,.05); font-weight: 650; }
.mobile-menu .button { width: 100%; margin-top: .9rem; }

.hero { min-height: min(920px, 100svh); padding-top: calc(var(--header-h) + 6rem); padding-bottom: 5rem; display: flex; align-items: center; overflow: hidden; }
.hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(255,102,170,.28), rgba(255,255,255,.08), transparent); }
.hero-bg { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
.hero-bg::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 77% 43%, rgba(255,79,154,.09), transparent 30%), radial-gradient(circle at 7% 22%, rgba(104,215,255,.035), transparent 22%); }
.grid-plane { position: absolute; inset: 0; opacity: .16; background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px); background-size: 54px 54px; mask-image: linear-gradient(to bottom, black, transparent 78%); transform: perspective(600px) rotateX(65deg) scale(1.45) translateY(16%); transform-origin: 50% 60%; }
.beat-line { position: absolute; height: 1px; width: 260px; background: linear-gradient(90deg, transparent, rgba(255,102,170,.32), transparent); }
.beat-line::before, .beat-line::after { content:""; position:absolute; top:50%; width:5px; height:5px; border-radius:50%; background:var(--pink); transform:translateY(-50%); box-shadow:0 0 12px rgba(255,102,170,.5); }
.beat-line::before { left: 32%; } .beat-line::after { left: 68%; }
.beat-line-a { top: 22%; left: 4%; transform: rotate(-12deg); opacity: .5; }
.beat-line-b { bottom: 22%; right: 4%; transform: rotate(9deg); opacity: .35; }
.hit-circle { position: absolute; border-radius: 50%; border: 1px solid rgba(255,255,255,.08); display: grid; place-items: center; color: rgba(255,255,255,.12); font-weight: 800; }
.hit-circle::before { content: ""; position: absolute; inset: 6px; border: 1px solid rgba(255,102,170,.11); border-radius: inherit; }
.hit-circle-a { width: 90px; height: 90px; right: 2%; top: 17%; }
.hit-circle-b { width: 54px; height: 54px; left: 3%; bottom: 24%; }
.hit-circle-c { width: 120px; height: 120px; right: 34%; bottom: -42px; }
.particle { position: absolute; width: 3px; height: 3px; border-radius: 50%; background: rgba(255,255,255,.5); box-shadow: 0 0 12px rgba(255,255,255,.3); }
.particle-a { top: 31%; left: 38%; }.particle-b { top: 18%; right: 29%; }.particle-c { bottom: 18%; left: 43%; }
.hero-layout { display: grid; grid-template-columns: minmax(0, .9fr) minmax(520px, 1.12fr); align-items: center; gap: clamp(3rem, 6vw, 7rem); position: relative; z-index: 2; }
.eyebrow { display: inline-flex; align-items: center; gap: .55rem; color: var(--muted); font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.eyebrow > span:first-child:not(.eyebrow-pulse) { color: var(--pink); font-variant-numeric: tabular-nums; }
.eyebrow-pulse { width: 7px; height: 7px; border-radius: 50%; background: var(--pink); box-shadow: 0 0 0 4px rgba(255,102,170,.11), 0 0 15px rgba(255,102,170,.45); }
h1, h2, h3, p { margin-top: 0; }
h1 { margin: 1.35rem 0 1.4rem; max-width: 720px; font-size: clamp(3.2rem, 5.5vw, 5.9rem); line-height: .97; letter-spacing: -.055em; font-weight: 820; }
h1 span, h2 span { color: var(--pink); }
.hero-lead { max-width: 620px; color: var(--text-soft); font-size: clamp(1rem, 1.35vw, 1.14rem); line-height: 1.72; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 2rem; }
.hero-proof { display: flex; flex-wrap: wrap; gap: .75rem 1.15rem; margin-top: 1.35rem; color: var(--muted); font-size: .8rem; font-weight: 650; }
.hero-proof > span { display: inline-flex; align-items: center; gap: .38rem; }
.hero-proof svg { color: var(--pink-soft); width: .9rem; height: .9rem; }
.hero-showcase { position: relative; transform-style: preserve-3d; will-change: transform; }
.showcase-aura { position: absolute; inset: 9% 8% -8%; background: radial-gradient(circle at 50% 50%, rgba(255,79,154,.24), rgba(139,124,255,.07) 38%, transparent 70%); filter: blur(40px); z-index: -2; }
.ghost-window { position: absolute; border: 1px solid rgba(255,255,255,.08); background: rgba(20,20,30,.5); border-radius: 14px; box-shadow: var(--shadow-sm); }
.ghost-window-top { width: 68%; height: 46%; top: -7%; right: -4%; transform: translateZ(-30px) rotate(2deg); opacity: .42; }
.ghost-window-bottom { width: 58%; height: 44%; bottom: -8%; left: -6%; transform: translateZ(-25px) rotate(-3deg); opacity: .32; }
.app-window { position: relative; border: 1px solid rgba(255,255,255,.14); border-radius: 13px; background: #0b0b10; overflow: hidden; box-shadow: 0 38px 90px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.02), 0 0 80px rgba(255,79,154,.08); transform: perspective(1400px) rotateY(-4deg) rotateX(1.5deg); }
.window-bar { min-height: 42px; padding: 0 13px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(255,255,255,.08); background: linear-gradient(180deg, #171720, #111119); color: #d6d6df; font-size: .75rem; }
.window-brand { display: flex; align-items: center; gap: .5rem; font-weight: 800; letter-spacing: -.02em; }
.tiny-logo { width: 12px; height: 12px; border-radius: 50%; border: 2px solid var(--pink); box-shadow: inset 0 0 0 2px rgba(255,102,170,.18); }
.window-actions { display: flex; gap: 8px; }.window-actions span { width: 8px; height: 8px; border-radius: 50%; border: 1px solid rgba(255,255,255,.22); }
.screenshot-button { display: block; border: 0; padding: 0; width: 100%; background: #0b0b10; cursor: zoom-in; }
.screenshot-button img { width: 100%; height: auto; }
.window-status { display: flex; justify-content: space-between; align-items: center; min-height: 36px; padding: 0 12px; color: var(--muted); font-size: .66rem; border-top: 1px solid rgba(255,255,255,.06); background: #0f0f16; }
.window-status > span { display: inline-flex; align-items: center; gap: .42rem; }
.status-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--success); box-shadow: 0 0 9px rgba(116,226,154,.45); }
.bpm-chip { color: var(--pink-soft); font-variant-numeric: tabular-nums; }
.floating-meta { position: absolute; z-index: 5; display: flex; align-items: center; gap: .5rem; padding: .6rem .7rem; border: 1px solid rgba(255,255,255,.12); border-radius: 9px; background: rgba(13,13,20,.9); backdrop-filter: blur(10px); box-shadow: var(--shadow-sm); }
.floating-meta span { font-size: .72rem; font-weight: 800; }.floating-meta small { color: var(--muted); font-size: .62rem; }
.meta-stars { left: -24px; bottom: 18%; color: #ffd16b; }.meta-mode { right: -15px; top: 18%; color: var(--pink-soft); }

.capability-strip { position: relative; z-index: 3; margin-top: -1px; border-bottom: 1px solid var(--border); background: linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.008)); }
.capability-row { min-height: 78px; display: flex; align-items: center; justify-content: center; gap: clamp(1rem, 3vw, 2.2rem); }
.capability-row div { display: inline-flex; align-items: center; gap: .5rem; color: var(--text-soft); font-size: .83rem; font-weight: 750; }
.capability-row svg { color: var(--pink-soft); }.capability-row i { width: 22px; height: 1px; background: linear-gradient(90deg, rgba(255,255,255,.05), rgba(255,255,255,.18), rgba(255,255,255,.05)); }

.section-heading { margin-bottom: 3.2rem; }
.section-heading-grid { display: grid; grid-template-columns: 1.35fr .65fr; gap: 3rem; align-items: end; margin-top: .9rem; }
h2 { margin-bottom: 0; font-size: clamp(2.6rem, 4.6vw, 4.7rem); line-height: .98; letter-spacing: -.05em; font-weight: 800; }
.section-heading-grid p, .demo-copy > p { color: var(--muted); max-width: 540px; margin-bottom: .2rem; }
.features-section { background: linear-gradient(180deg, #08080d 0%, #0a0a10 46%, #08080d 100%); }
.bento-grid { display: grid; grid-template-columns: repeat(12, 1fr); grid-auto-rows: minmax(125px, auto); gap: 14px; }
.feature-card { position: relative; overflow: hidden; padding: 1.35rem; border: 1px solid var(--border); border-radius: var(--radius); background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.018)); box-shadow: inset 0 1px 0 rgba(255,255,255,.018); transition: transform .25s var(--ease), border-color .25s ease, background .25s ease; }
.feature-card::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(120deg, transparent 55%, rgba(255,102,170,.025)); opacity: 0; transition: opacity .25s ease; }
.feature-card:hover { transform: translateY(-2px); border-color: rgba(255,255,255,.14); background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.022)); }.feature-card:hover::after { opacity: 1; }
.feature-card-head { display: flex; align-items: center; justify-content: space-between; }
.feature-index { color: var(--muted-2); font-size: .68rem; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
.feature-icon { width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid var(--border); border-radius: 8px; color: var(--pink-soft); background: rgba(255,255,255,.03); }
.feature-icon svg { width: .95rem; }
.feature-copy { position: relative; z-index: 1; }.feature-copy h3, .feature-download-copy h3 { margin: 1.2rem 0 .5rem; font-size: 1.22rem; letter-spacing: -.03em; }.feature-copy p, .feature-download-copy p { color: var(--muted); font-size: .88rem; line-height: 1.6; margin-bottom: 0; }
.feature-search { grid-column: span 7; grid-row: span 3; min-height: 410px; }.feature-filters { grid-column: span 5; grid-row: span 3; }.feature-modes { grid-column: span 12; min-height: 260px; display: grid; grid-template-columns: .75fr 1.25fr; gap: 2rem; align-items: center; }.feature-details { grid-column: span 4; min-height: 270px; }.feature-theme { grid-column: span 3; min-height: 270px; }.feature-download { grid-column: span 5; min-height: 270px; display: grid; grid-template-columns: .9fr 1.1fr; gap: 1.2rem; align-items: center; }.feature-language { grid-column: span 12; min-height: 150px; display: flex; align-items: center; justify-content: space-between; padding-inline: 2rem; }
.mini-search-ui { margin-top: 1.5rem; padding: 12px; border: 1px solid rgba(255,255,255,.08); border-radius: 10px; background: #0a0a10; box-shadow: var(--shadow-sm); }
.mini-search-input { height: 42px; display: flex; align-items: center; gap: .55rem; padding: 0 .75rem; border: 1px solid rgba(255,255,255,.09); border-radius: 8px; background: #12121a; color: var(--text-soft); font-size: .8rem; }.mini-search-input svg { color: var(--muted); }.mini-search-input kbd { margin-left: auto; color: var(--muted); border: 1px solid rgba(255,255,255,.12); border-radius: 5px; padding: 0 .35rem; font-size: .66rem; }
.mini-results { margin-top: 8px; display: grid; gap: 7px; }.mini-result { display: grid; grid-template-columns: 42px 1fr auto; gap: .65rem; align-items: center; padding: .5rem; border-radius: 7px; background: rgba(255,255,255,.03); }.mini-cover { width: 42px; height: 34px; border-radius: 5px; }.cover-a { background: linear-gradient(135deg, #fd80bf, #6b5cdd 48%, #151522 49%); }.cover-b { background: linear-gradient(135deg, #68d7ff, #8b7cff 50%, #ff66aa); }.mini-result p { margin: 0; min-width: 0; }.mini-result strong, .mini-result small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.mini-result strong { font-size: .72rem; }.mini-result small { color: var(--muted); font-size: .64rem; margin-top: .1rem; }.ranked-tag,.loved-tag { font-size: .6rem; font-weight: 800; padding: .25rem .42rem; border-radius: 5px; }.ranked-tag { color: #8aeeaa; background: rgba(116,226,154,.1); }.loved-tag { color: var(--pink-soft); background: rgba(255,102,170,.1); }
.difficulty-ui { margin-top: 1.7rem; padding: 1rem; border: 1px solid rgba(255,255,255,.07); border-radius: 10px; background: rgba(0,0,0,.17); }.difficulty-readout { display: flex; justify-content: space-between; color: var(--text-soft); font-size: .75rem; font-weight: 750; }.range-line { position: relative; height: 5px; margin: 1.15rem 4px 1.25rem; border-radius: 9px; background: rgba(255,255,255,.08); }.range-fill { position: absolute; left: 18%; right: 22%; inset-block: 0; background: linear-gradient(90deg, var(--pink), var(--pink-soft)); border-radius: inherit; }.range-knob { position:absolute; top:50%; width:13px; height:13px; border-radius:50%; background:#fff; border:3px solid var(--pink); transform:translate(-50%,-50%); box-shadow:0 0 0 4px rgba(255,102,170,.08); }.range-knob.left { left:18%; }.range-knob.right { left:78%; }.status-tags { display:flex; flex-wrap:wrap; gap:.4rem; }.status-tags span { padding:.3rem .45rem; border-radius:5px; background:rgba(255,255,255,.035); color:var(--muted); font-size:.64rem; font-weight:750; }.status-tags .active { color:#fff; background:rgba(255,102,170,.13); border:1px solid rgba(255,102,170,.18); }
.feature-kicker { color: var(--pink-soft); font-size: .68rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }.feature-modes .feature-copy h3, .feature-language h3 { font-size: clamp(1.45rem,2vw,2rem); margin-top:.5rem; }.mode-switcher { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }.mode-card { min-height:125px; padding:.8rem; border:1px solid var(--border); border-radius:9px; background:#101018; text-align:left; cursor:default; }.mode-card.active { border-color:rgba(255,102,170,.28); background:linear-gradient(180deg, rgba(255,102,170,.1), rgba(255,255,255,.02)); }.mode-orb { width:34px; height:34px; border-radius:50%; display:grid; place-items:center; margin-bottom:1rem; border:1px solid rgba(255,255,255,.12); color:var(--pink-soft); background:rgba(255,102,170,.06); font-size:.68rem; font-weight:850; }.mode-card > span:nth-child(2) { display:block; font-size:.82rem; font-weight:800; }.mode-card small { color:var(--muted); font-size:.64rem; }
.meta-table { display:grid; grid-template-columns:repeat(2,1fr); gap:7px; margin-top:1.2rem; }.meta-table div { padding:.6rem .65rem; border:1px solid rgba(255,255,255,.06); border-radius:7px; background:rgba(255,255,255,.025); display:flex; justify-content:space-between; }.meta-table span { color:var(--muted); font-size:.64rem; }.meta-table strong { font-size:.72rem; color:var(--text-soft); }
.theme-demo { margin-top:1.4rem; }.swatches { display:flex; gap:.45rem; }.swatch { width:32px; height:32px; border-radius:7px; border:1px solid rgba(255,255,255,.12); }.s1{background:#ff66aa}.s2{background:#8b7cff}.s3{background:#68d7ff}.s4{background:#d7ff74}.theme-slider { height:7px; border-radius:9px; background:rgba(255,255,255,.07); margin-top:1rem; position:relative; }.theme-slider span { position:absolute; left:0; width:64%; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--pink),var(--violet)); }
.feature-download-copy .feature-icon { margin-bottom:.8rem; }.download-ui { padding:1rem; border:1px solid rgba(255,255,255,.07); background:rgba(0,0,0,.16); border-radius:9px; }.download-file { display:grid; grid-template-columns:40px 1fr auto; gap:.6rem; align-items:center; }.file-icon { width:38px; height:38px; border-radius:7px; display:grid; place-items:center; color:var(--pink-soft); background:rgba(255,102,170,.08); border:1px solid rgba(255,102,170,.14); font-size:.63rem; font-weight:850; }.download-file p { margin:0; min-width:0; }.download-file strong,.download-file small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.download-file strong{font-size:.7rem}.download-file small{color:var(--muted);font-size:.62rem}.download-check{color:var(--success);font-weight:900}.progress-track{height:4px;border-radius:9px;background:rgba(255,255,255,.06);margin:1rem 0 .45rem;overflow:hidden}.progress-track span{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--pink),var(--pink-soft));}.download-caption{display:flex;justify-content:space-between;color:var(--muted);font-size:.6rem}.download-caption span:last-child{color:var(--pink-soft)}
.language-stack { display:flex; }.language-stack span { width:58px; aspect-ratio:1; margin-left:-10px; display:grid; place-items:center; border-radius:50%; border:1px solid rgba(255,255,255,.13); background:#111119; box-shadow:0 8px 24px rgba(0,0,0,.2); font-size:.75rem; font-weight:850; }.language-stack span:nth-child(2){color:var(--cyan)}.language-stack span:nth-child(3){color:#ffd46a}.language-stack span:nth-child(4){color:var(--pink-soft)}

.demo-section { padding-top: calc(var(--section-y) * .8); }
.demo-shell { border: 1px solid var(--border); border-radius: var(--radius-lg); background: linear-gradient(180deg, rgba(255,255,255,.032), rgba(255,255,255,.012)); box-shadow: var(--shadow-lg); overflow: hidden; }
.demo-copy { display:grid; grid-template-columns:1fr .8fr; gap:2rem; align-items:end; padding:2.2rem 2.2rem 1.8rem; border-bottom:1px solid var(--border); }.demo-copy .eyebrow { grid-column:1/-1; }.demo-copy h2 { font-size:clamp(2.2rem,4vw,4rem); }.demo-copy > p { margin:0; }
.demo-toolbar { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.2rem; border-bottom:1px solid var(--border); background:#0c0c12; }.demo-search { flex:1; max-width:540px; display:flex; align-items:center; gap:.55rem; height:44px; padding:0 .8rem; border:1px solid rgba(255,255,255,.09); border-radius:8px; background:#12121a; }.demo-search svg { color:var(--muted); }.demo-search input { width:100%; border:0; outline:0; background:transparent; color:#fff; }.demo-search input::placeholder { color:var(--muted-2); }.demo-search kbd { border:1px solid rgba(255,255,255,.1); border-radius:4px; color:var(--muted); padding:.1rem .38rem; font-size:.66rem; }.demo-filter-row{display:flex;gap:.35rem}.demo-filter{border:1px solid var(--border);border-radius:7px;background:transparent;color:var(--muted);padding:.5rem .65rem;font-size:.72rem;font-weight:750;cursor:pointer;transition:.18s ease}.demo-filter:hover,.demo-filter.active{color:#fff;border-color:rgba(255,102,170,.25);background:rgba(255,102,170,.08)}
.beatmap-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border); }.beatmap-card { position:relative; min-width:0; background:#0d0d14; transition:background .18s ease; }.beatmap-card:hover { background:#111119; }.beatmap-art { aspect-ratio:16/7; position:relative; overflow:hidden; background:var(--art); }.beatmap-art::before { content:"";position:absolute;inset:-30%;background:radial-gradient(circle at 25% 25%,rgba(255,255,255,.25),transparent 25%),linear-gradient(135deg,transparent 30%,rgba(0,0,0,.4));transform:rotate(-8deg)}.beatmap-art::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(13,13,20,.75),transparent 55%)}.beatmap-art-title{position:absolute;z-index:1;left:.9rem;bottom:.7rem;right:.9rem;display:flex;justify-content:space-between;align-items:end;gap:.7rem}.beatmap-art-title span{font-size:.62rem;font-weight:850;padding:.28rem .4rem;border-radius:5px;background:rgba(13,13,20,.7);backdrop-filter:blur(6px)}.beatmap-art-title strong{font-size:.72rem;color:#fff}.beatmap-body{padding:1rem}.beatmap-title-row{display:flex;justify-content:space-between;gap:.8rem;align-items:start}.beatmap-title-row h3{font-size:.9rem;margin:0;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.star-badge{color:#ffd16b;font-size:.7rem;font-weight:850;white-space:nowrap}.beatmap-sub{margin:.2rem 0 .8rem;color:var(--muted);font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.beatmap-meta{display:flex;align-items:center;gap:.55rem;color:var(--muted);font-size:.64rem}.beatmap-meta i{width:3px;height:3px;border-radius:50%;background:var(--muted-2)}.beatmap-footer{margin-top:.85rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.06);display:flex;justify-content:space-between;align-items:center}.map-status{font-size:.61rem;font-weight:800;padding:.25rem .42rem;border-radius:5px}.map-status.ranked{color:#89e8a9;background:rgba(116,226,154,.08)}.map-status.loved{color:var(--pink-soft);background:rgba(255,102,170,.09)}.map-status.qualified{color:var(--cyan);background:rgba(104,215,255,.08)}.mini-download{width:29px;height:29px;border-radius:7px;border:1px solid var(--border);display:grid;place-items:center;color:var(--text-soft);background:rgba(255,255,255,.02)}.mini-download svg{width:.8rem}.demo-empty{padding:2rem;text-align:center;color:var(--muted)}

.screenshots-section { overflow:hidden; }.screens-stage { position:relative; min-height:720px; margin-top:1rem; }.screen-shot { position:absolute; padding:0; text-align:left; border:1px solid var(--border-strong); border-radius:12px; overflow:hidden; background:#0d0d14; box-shadow:var(--shadow-lg); cursor:zoom-in; transition:transform .25s var(--ease),border-color .25s ease; }.screen-shot:hover{border-color:rgba(255,102,170,.24)}.screen-shot-main{width:min(82%,960px);left:0;top:0;transform:rotate(-1.2deg)}.screen-shot-main:hover{transform:rotate(-.4deg) translateY(-3px)}.screen-shot-detail{width:min(46%,520px);right:0;bottom:0;transform:rotate(1.6deg)}.screen-shot-detail:hover{transform:rotate(.6deg) translateY(-3px)}.screen-label{height:42px;padding:0 .8rem;display:flex;align-items:center;gap:.7rem;border-bottom:1px solid var(--border);background:#111119;color:var(--text-soft);font-size:.72rem;font-weight:750}.screen-label b{color:var(--pink);font-family:ui-monospace,monospace;font-size:.64rem}.screen-label svg{margin-left:auto;color:var(--muted)}.screen-shot img{width:100%;height:auto}

.download-section { padding-top: calc(var(--section-y) * .65); }.download-panel { position:relative; overflow:hidden; min-height:420px; padding:clamp(2rem,5vw,4rem); display:grid;grid-template-columns:1.2fr .8fr;gap:3rem;align-items:center;border:1px solid rgba(255,102,170,.16);border-radius:var(--radius-lg);background:radial-gradient(circle at 78% 45%,rgba(255,102,170,.10),transparent 28%),linear-gradient(135deg,#111119,#0c0c12 58%);box-shadow:0 30px 90px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.03)}.download-panel::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--pink),transparent);opacity:.45}.download-panel h2{margin:1rem 0 1rem}.download-panel-copy>p{max-width:600px;color:var(--muted)}.download-panel-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem 1rem;margin-top:1.5rem}.text-link{display:inline-flex;align-items:center;gap:.35rem;color:var(--text-soft);font-size:.82rem;font-weight:700}.text-link svg{transition:transform .18s ease;color:var(--pink-soft)}.download-facts{display:grid;gap:8px;position:relative;z-index:2}.download-facts>div{display:flex;align-items:center;gap:.85rem;padding:1rem;border:1px solid var(--border);border-radius:9px;background:rgba(8,8,13,.55);backdrop-filter:blur(8px)}.download-facts svg{width:1.15rem;color:var(--pink-soft)}.download-facts strong,.download-facts small{display:block}.download-facts strong{font-size:.82rem}.download-facts small{color:var(--muted);font-size:.68rem;margin-top:.1rem}.download-rings{position:absolute;right:-100px;top:-90px;width:420px;height:420px;opacity:.18}.download-rings span{position:absolute;border-radius:50%;border:1px solid var(--pink)}.download-rings span:nth-child(1){inset:0}.download-rings span:nth-child(2){inset:55px}.download-rings span:nth-child(3){inset:110px}

.install-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(2.5rem,6vw,6rem);align-items:start}.install-intro h2{font-size:clamp(2.4rem,4vw,4rem);margin:1rem 0 2rem}.install-steps{display:grid;gap:0}.install-steps>div{display:grid;grid-template-columns:46px 1fr;gap:1rem;padding:1rem 0;border-top:1px solid var(--border)}.install-steps>div:last-child{border-bottom:1px solid var(--border)}.install-steps>div>span{color:var(--pink);font-size:.7rem;font-family:ui-monospace,monospace;font-weight:800}.install-steps p{margin:0}.install-steps strong,.install-steps small{display:block}.install-steps strong{font-size:.88rem}.install-steps small{color:var(--muted);font-size:.72rem;margin-top:.2rem;line-height:1.5}.terminal-card{border:1px solid var(--border-strong);border-radius:12px;background:#0b0b10;overflow:hidden;box-shadow:var(--shadow-lg)}.terminal-tabs{display:flex;gap:2px;padding:.45rem;border-bottom:1px solid var(--border);background:#111119}.terminal-tabs button{border:0;border-radius:7px;background:transparent;color:var(--muted);padding:.55rem .75rem;font-size:.72rem;font-weight:750;cursor:pointer}.terminal-tabs button[aria-selected="true"]{background:rgba(255,255,255,.055);color:#fff}.terminal-body{min-height:280px}.terminal-header{height:42px;display:flex;align-items:center;justify-content:space-between;padding:0 1rem;border-bottom:1px solid rgba(255,255,255,.06);color:var(--muted);font-family:ui-monospace,monospace;font-size:.66rem}.terminal-header>span:first-child{display:flex;gap:6px}.terminal-header i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.14)}.terminal-copy{padding:2rem}.terminal-copy p{color:var(--text-soft);max-width:550px}.terminal-link{display:inline-flex;align-items:center;gap:.4rem;color:var(--pink-soft);font-size:.82rem;font-weight:800}.code-block{position:relative;padding:1.8rem}.code-block code{display:block;color:#d8d8e2;font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:.76rem;line-height:1.85;white-space:pre-wrap;word-break:break-word}.copy-button{position:absolute;top:1rem;right:1rem;display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--border);border-radius:7px;background:#14141c;color:var(--muted);padding:.45rem .6rem;font-size:.64rem;font-weight:750;cursor:pointer}.copy-button:hover{color:#fff;border-color:var(--border-strong)}.copy-button svg{width:.75rem}.terminal-hint{color:var(--muted);font-size:.68rem;padding:0 1.8rem 1.5rem;margin:0}.terminal-footer{height:42px;padding:0 1rem;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border);background:#101017;color:var(--muted);font-size:.64rem}.terminal-footer a{color:var(--text-soft)}

.site-footer{border-top:1px solid var(--border);padding:2.2rem 0 3rem;background:#07070b}.footer-grid{display:flex;align-items:end;justify-content:space-between;gap:2rem}.footer-brand{margin-bottom:.7rem}.footer-grid p{margin:0;color:var(--muted);font-size:.75rem}.footer-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.8rem 1.15rem}.footer-links a{color:var(--muted);font-size:.72rem;transition:color .18s ease}.footer-links a:hover{color:#fff}

.lightbox{width:min(1180px,calc(100% - 32px));max-height:90svh;padding:0;border:1px solid var(--border-strong);border-radius:12px;background:#0a0a10;box-shadow:0 50px 120px rgba(0,0,0,.7);overflow:hidden}.lightbox::backdrop{background:rgba(2,2,5,.78);backdrop-filter:blur(12px)}.lightbox img{max-height:86svh;width:100%;object-fit:contain;background:#050507}.lightbox-close{position:absolute;z-index:2;top:10px;right:10px;width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:rgba(8,8,13,.8);color:#fff;cursor:pointer;backdrop-filter:blur(8px)}

.reveal{opacity:0;transform:translateY(16px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.reveal.is-visible{opacity:1;transform:none}

/* --------------------------------------------------------------------------
   Premium motion / visual pass — punchier rhythm-game energy, still restrained
   -------------------------------------------------------------------------- */
.scroll-progress{position:fixed;z-index:120;left:0;right:0;top:0;height:2px;pointer-events:none;background:rgba(255,255,255,.025)}
.scroll-progress span{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left center;background:linear-gradient(90deg,var(--pink-strong),var(--pink-soft),var(--cyan));box-shadow:0 0 16px rgba(255,79,154,.45);will-change:transform}
.cursor-reticle{position:fixed;z-index:130;left:0;top:0;width:24px;height:24px;margin:-12px 0 0 -12px;border:1px solid rgba(255,255,255,.24);border-radius:50%;pointer-events:none;mix-blend-mode:screen;transition:width .18s var(--ease),height .18s var(--ease),margin .18s var(--ease),border-color .18s ease,opacity .2s ease;will-change:transform}
.cursor-reticle::before,.cursor-reticle::after{content:"";position:absolute;background:rgba(255,143,199,.5)}
.cursor-reticle::before{width:6px;height:1px;left:50%;top:50%;transform:translate(-50%,-50%)}
.cursor-reticle::after{width:1px;height:6px;left:50%;top:50%;transform:translate(-50%,-50%)}
.cursor-reticle span{position:absolute;width:3px;height:3px;border-radius:50%;background:var(--pink);top:3px;right:1px;box-shadow:0 0 10px var(--pink)}
.cursor-reticle.is-hot{width:38px;height:38px;margin:-19px 0 0 -19px;border-color:rgba(255,102,170,.5)}

.nav-links a{position:relative}
.nav-links a::after{content:"";position:absolute;left:50%;bottom:3px;width:3px;height:3px;border-radius:50%;background:var(--pink);box-shadow:0 0 8px var(--pink);opacity:0;transform:translateX(-50%) scale(.2);transition:opacity .18s ease,transform .18s var(--ease)}
.nav-links a.is-current{color:#fff;background:rgba(255,255,255,.045)}
.nav-links a.is-current::after{opacity:1;transform:translateX(-50%) scale(1)}
.brand-mark::after{animation:brand-orbit 4.5s linear infinite;transform-origin:-10px 10px}
@keyframes brand-orbit{to{transform:rotate(360deg)}}

.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0 49.9%,rgba(255,255,255,.018) 50%,transparent 50.1%),linear-gradient(0deg,transparent 0 49.9%,rgba(255,255,255,.014) 50%,transparent 50.1%);background-size:180px 180px;mask-image:radial-gradient(circle at 72% 42%,#000,transparent 55%);opacity:.55}
.hero-wave{position:absolute;right:3%;top:10%;height:84px;width:340px;display:flex;align-items:center;justify-content:flex-end;gap:5px;opacity:.18;transform:rotate(-5deg)}
.hero-wave i{width:2px;height:16%;background:linear-gradient(to top,transparent,var(--pink-soft),#fff);border-radius:4px;transform-origin:center;animation:wave-beat 1.2s ease-in-out infinite alternate}
.hero-wave i:nth-child(3n){height:60%;animation-delay:-.7s}.hero-wave i:nth-child(4n){height:90%;animation-delay:-.25s}.hero-wave i:nth-child(5n){height:38%;animation-delay:-.5s}.hero-wave i:nth-child(7n){height:74%;animation-delay:-.9s}
@keyframes wave-beat{from{transform:scaleY(.35);opacity:.4}to{transform:scaleY(1);opacity:1}}
.hero-cross{position:absolute;color:rgba(255,255,255,.14);font:600 18px/1 ui-monospace,monospace;animation:cross-drift 7s ease-in-out infinite}
.hero-cross-a{left:15%;top:19%}.hero-cross-b{right:17%;bottom:14%;animation-delay:-3s;color:rgba(255,102,170,.22)}
@keyframes cross-drift{50%{transform:translate3d(8px,-9px,0) rotate(90deg);opacity:.45}}
.hit-circle-a{animation:hit-breathe 3.5s ease-in-out infinite}.hit-circle-b{animation:hit-breathe 4.5s ease-in-out infinite -1.2s}.hit-circle-c{animation:hit-breathe 5.2s ease-in-out infinite -2.4s}
@keyframes hit-breathe{50%{transform:scale(1.08);border-color:rgba(255,102,170,.16);box-shadow:0 0 0 10px rgba(255,102,170,.018)}}

.hero-commandline{width:max-content;max-width:100%;display:flex;align-items:center;gap:.58rem;margin-top:1.15rem;padding:.42rem .58rem .42rem .45rem;border:1px solid rgba(255,255,255,.075);border-radius:8px;background:rgba(255,255,255,.022);color:var(--muted);font:650 .68rem/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.015em}
.command-icon{width:23px;height:23px;display:grid;place-items:center;border-radius:6px;background:rgba(255,102,170,.09);color:var(--pink-soft)}
.command-icon svg{width:13px;height:13px}.command-eq{display:flex;align-items:center;gap:2px;height:18px;margin-left:.2rem}
.command-eq i{display:block;width:2px;height:5px;border-radius:2px;background:var(--pink-soft);animation:microeq .7s ease-in-out infinite alternate}.command-eq i:nth-child(2){height:12px;animation-delay:-.4s}.command-eq i:nth-child(3){height:8px;animation-delay:-.2s}.command-eq i:nth-child(4){height:15px;animation-delay:-.55s}.command-eq i:nth-child(5){height:6px;animation-delay:-.1s}
@keyframes microeq{to{transform:scaleY(.35);opacity:.45}}

.hero-showcase{isolation:isolate}.rhythm-orbit{position:absolute;border-radius:50%;border:1px dashed rgba(255,102,170,.13);z-index:-1;pointer-events:none}
.rhythm-orbit::before{content:"";position:absolute;inset:12px;border:1px solid rgba(255,255,255,.05);border-radius:inherit}.rhythm-orbit span{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--pink-soft);box-shadow:0 0 18px rgba(255,102,170,.8);left:50%;top:-4px}
.rhythm-orbit-a{width:520px;height:520px;right:-160px;top:-140px;animation:orbit-spin 18s linear infinite}.rhythm-orbit-b{width:290px;height:290px;left:-100px;bottom:-120px;border-color:rgba(104,215,255,.09);animation:orbit-spin 14s linear infinite reverse}
@keyframes orbit-spin{to{transform:rotate(360deg)}}
.showcase-eq{position:absolute;z-index:-1;left:-42px;right:4%;bottom:-36px;height:95px;display:flex;gap:6px;align-items:flex-end;opacity:.12;filter:blur(.2px)}
.showcase-eq i{flex:1;max-width:10px;min-width:3px;height:15%;border-radius:4px 4px 0 0;background:linear-gradient(to top,var(--pink-strong),var(--pink-soft));animation:showcase-eq 1.4s var(--ease) infinite alternate}
.showcase-eq i:nth-child(2n){height:55%;animation-delay:-.3s}.showcase-eq i:nth-child(3n){height:85%;animation-delay:-.7s}.showcase-eq i:nth-child(5n){height:38%;animation-delay:-1s}
@keyframes showcase-eq{to{height:88%;opacity:.8}}
.app-window-main{isolation:isolate}.app-scanline{position:absolute;z-index:5;left:0;right:0;top:42px;height:1px;pointer-events:none;background:linear-gradient(90deg,transparent 8%,rgba(255,255,255,.1),var(--pink-soft),rgba(255,255,255,.1),transparent 92%);box-shadow:0 0 18px rgba(255,102,170,.38);animation:app-scan 5.2s linear infinite;opacity:.7}
@keyframes app-scan{0%{transform:translateY(0);opacity:0}8%{opacity:.75}88%{opacity:.5}100%{transform:translateY(520px);opacity:0}}
.app-corner{position:absolute;z-index:6;width:14px;height:14px;pointer-events:none;opacity:.55}.app-corner::before,.app-corner::after{content:"";position:absolute;background:var(--pink-soft)}.app-corner::before{width:100%;height:1px}.app-corner::after{width:1px;height:100%}.app-corner-tl{left:8px;top:50px}.app-corner-tr{right:8px;top:50px;transform:rotate(90deg)}.app-corner-bl{left:8px;bottom:44px;transform:rotate(-90deg)}.app-corner-br{right:8px;bottom:44px;transform:rotate(180deg)}
.floating-action-chip{position:absolute;z-index:6;left:9%;top:-28px;display:flex;align-items:center;gap:.5rem;padding:.48rem .65rem;border:1px solid rgba(255,102,170,.18);border-radius:8px;background:rgba(13,13,20,.92);box-shadow:var(--shadow-sm);color:var(--pink-soft);font:800 .58rem/1 ui-monospace,monospace;letter-spacing:.08em}.floating-action-chip svg{width:12px;height:12px}
.meta-stars,.meta-mode{animation:float-meta 4s ease-in-out infinite}.meta-mode{animation-delay:-2s}@keyframes float-meta{50%{transform:translateY(-7px)}}

.capability-strip{overflow:hidden;background:#0a0a10}.capability-marquee{width:100%;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.capability-track{display:flex;width:max-content;animation:capability-run 28s linear infinite}.capability-marquee:hover .capability-track{animation-play-state:paused}.capability-set{min-height:76px;display:flex;align-items:center;gap:1.65rem;padding-right:1.65rem}.capability-set>div{display:flex;align-items:center;gap:.55rem;color:var(--text-soft);font-size:.78rem;font-weight:800;letter-spacing:.01em;text-transform:uppercase;white-space:nowrap}.capability-set svg{width:15px;height:15px;color:var(--pink-soft)}.capability-set>i{width:24px;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent)}
@keyframes capability-run{to{transform:translateX(-50%)}}

.spotlight{--spot-x:50%;--spot-y:50%}.spotlight::before{content:"";position:absolute;z-index:0;inset:0;pointer-events:none;background:radial-gradient(240px circle at var(--spot-x) var(--spot-y),rgba(255,102,170,.075),transparent 70%);opacity:0;transition:opacity .25s ease}.spotlight:hover::before{opacity:1}.spotlight>*{position:relative;z-index:1}
.feature-card.tilt-card{transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transform-style:preserve-3d}.feature-card.tilt-card:hover{transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-3px)}
.feature-icon{transition:transform .25s var(--ease),color .25s ease,background .25s ease}.feature-card:hover .feature-icon{transform:translateY(-2px) rotate(-3deg);color:#fff;background:rgba(255,102,170,.11);border-color:rgba(255,102,170,.2)}
.feature-card:hover .feature-icon svg{filter:drop-shadow(0 0 8px rgba(255,102,170,.35))}.mode-card{position:relative;overflow:hidden;transition:transform .22s var(--ease),border-color .22s ease,background .22s ease}.mode-card::after{content:"";position:absolute;inset:auto 0 0;height:2px;background:linear-gradient(90deg,transparent,var(--pink),transparent);transform:scaleX(0);transition:transform .25s var(--ease)}.mode-card.active{transform:translateY(-2px)}.mode-card.active::after{transform:scaleX(1)}.mode-orb svg{width:15px;height:15px}
.range-fill{background-size:200% 100%;animation:range-shimmer 2.8s linear infinite}@keyframes range-shimmer{to{background-position:-200% 0}}.progress-track span{position:relative;overflow:hidden}.progress-track span::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);transform:translateX(-120%);animation:download-shine 2.2s ease-in-out infinite}@keyframes download-shine{70%,100%{transform:translateX(120%)}}

.workflow-section{overflow:hidden;background:radial-gradient(circle at 65% 45%,rgba(255,79,154,.055),transparent 32%),linear-gradient(180deg,#08080d,#0a0a10 52%,#08080d)}
.workflow-section::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent)}
.flow-console{position:relative;overflow:hidden;border:1px solid var(--border-strong);border-radius:14px;background:linear-gradient(180deg,#111119,#0a0a10);box-shadow:0 35px 100px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.025);transform:perspective(1200px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transform-style:preserve-3d}.flow-console::after{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--pink),transparent);opacity:.45}.flow-console-bar{min-height:52px;padding:0 1rem;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;border-bottom:1px solid var(--border);background:#12121a;color:var(--muted);font:700 .65rem/1 ui-monospace,monospace}.flow-console-brand{display:flex;align-items:center;gap:.55rem}.flow-live{width:6px;height:6px;border-radius:50%;background:var(--success);box-shadow:0 0 0 4px rgba(116,226,154,.07),0 0 12px rgba(116,226,154,.4);animation:live-pulse 1.6s ease-in-out infinite}@keyframes live-pulse{50%{box-shadow:0 0 0 8px rgba(116,226,154,0),0 0 18px rgba(116,226,154,.55)}}.flow-shortcut{justify-self:end;color:var(--muted-2)}.flow-beats{height:22px;display:flex;align-items:center;gap:3px}.flow-beats i{width:2px;height:5px;background:var(--pink);border-radius:2px;animation:microeq .75s ease-in-out infinite alternate}.flow-beats i:nth-child(2n){height:15px;animation-delay:-.3s}.flow-beats i:nth-child(3n){height:9px;animation-delay:-.55s}
.flow-lane{position:relative;z-index:2;display:grid;grid-template-columns:72px minmax(190px,.55fr) minmax(300px,1fr);gap:1.5rem;align-items:center;min-height:142px;padding:1.3rem 1.45rem;border-bottom:1px solid rgba(255,255,255,.065)}.flow-lane:last-of-type{border-bottom:0}.flow-step{height:46px;display:flex;align-items:center;gap:.55rem;color:var(--pink-soft);font:800 .65rem/1 ui-monospace,monospace}.flow-step svg{width:17px;height:17px}.flow-step span{color:var(--muted-2)}.flow-copy strong,.flow-copy small{display:block}.flow-copy strong{font-size:1.05rem;letter-spacing:-.025em}.flow-copy small{margin-top:.3rem;color:var(--muted);font-size:.72rem}.flow-visual{min-height:58px;border:1px solid rgba(255,255,255,.075);border-radius:9px;background:rgba(4,4,7,.38);box-shadow:inset 0 1px 0 rgba(255,255,255,.02)}
.flow-search{display:flex;align-items:center;gap:.65rem;padding:0 .9rem;color:var(--text-soft);font:700 .78rem/1 ui-monospace,monospace}.flow-search>svg{color:var(--muted);width:15px}.flow-typed{color:#fff}.type-caret{width:1px;height:17px;background:var(--pink);animation:caret-blink .8s steps(1) infinite}@keyframes caret-blink{50%{opacity:0}}.flow-search kbd{margin-left:auto;padding:.2rem .38rem;border:1px solid var(--border);border-radius:5px;color:var(--muted);font-size:.62rem;background:#111119}
.flow-filters{display:flex;align-items:center;gap:.5rem;padding:.7rem}.flow-chip{padding:.4rem .55rem;border-radius:6px;color:var(--muted);background:rgba(255,255,255,.035);font-size:.66rem;font-weight:800}.flow-chip.active{color:#fff;background:rgba(255,102,170,.12);border:1px solid rgba(255,102,170,.18)}.flow-stars{margin-left:auto;display:flex;align-items:center;gap:.55rem;color:var(--text-soft);font-size:.67rem;font-weight:750}.flow-stars i{position:relative;width:120px;height:4px;border-radius:8px;background:rgba(255,255,255,.07);overflow:hidden}.flow-stars b{position:absolute;left:12%;right:18%;top:0;bottom:0;background:linear-gradient(90deg,var(--pink),var(--pink-soft));border-radius:inherit;animation:star-flow 2.6s ease-in-out infinite alternate}@keyframes star-flow{to{left:20%;right:7%}}
.flow-download{display:flex;align-items:center;justify-content:center;gap:1rem;padding:.65rem}.flow-file{display:flex;align-items:center;gap:.55rem;min-width:150px;padding:.58rem .7rem;border:1px solid rgba(255,255,255,.07);border-radius:7px;background:#111119;color:var(--text-soft);font-size:.68rem}.flow-file svg{color:var(--pink-soft)}.flow-arrow{color:var(--muted);animation:file-arrow 1.4s ease-in-out infinite}.flow-target{width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(255,102,170,.24);border-radius:50%;color:var(--pink-soft);box-shadow:inset 0 0 0 5px rgba(255,102,170,.04);animation:target-pop 1.8s ease-in-out infinite}@keyframes file-arrow{50%{transform:translateX(5px);color:var(--pink-soft)}}@keyframes target-pop{50%{box-shadow:0 0 0 9px rgba(255,102,170,0),inset 0 0 0 5px rgba(255,102,170,.08)}}.flow-tracer{position:absolute;z-index:1;left:35px;top:84px;bottom:70px;width:1px;background:linear-gradient(to bottom,transparent,var(--pink),rgba(104,215,255,.35),transparent);opacity:.3}.flow-tracer::after{content:"";position:absolute;left:-2px;width:5px;height:22%;border-radius:6px;background:linear-gradient(to bottom,transparent,#fff,var(--pink),transparent);box-shadow:0 0 14px rgba(255,102,170,.5);animation:tracer-run 3.3s linear infinite}@keyframes tracer-run{from{top:-20%}to{top:110%}}
.speed-tags{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:10px}.speed-tags>span{display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;column-gap:.75rem;align-items:center;padding:.8rem .9rem;border:1px solid var(--border);border-radius:9px;background:rgba(255,255,255,.018)}.speed-tags svg{grid-row:1/3;width:18px;height:18px;color:var(--pink-soft)}.speed-tags b{font-size:.74rem}.speed-tags small{color:var(--muted);font-size:.62rem}

.screens-stage{isolation:isolate}.screens-stage::before{content:"";position:absolute;inset:8% 4% 7% 12%;z-index:-2;border-radius:50%;background:radial-gradient(circle,rgba(255,79,154,.12),rgba(139,124,255,.035) 36%,transparent 68%);filter:blur(35px)}.screens-radar{position:absolute;z-index:-1;width:520px;height:520px;right:-110px;top:70px;border:1px solid rgba(255,102,170,.10);border-radius:50%;animation:orbit-spin 26s linear infinite}.screens-radar i{position:absolute;border:1px solid rgba(255,255,255,.045);border-radius:50%}.screens-radar i:nth-child(1){inset:55px}.screens-radar i:nth-child(2){inset:110px}.screens-radar i:nth-child(3){inset:165px}.screens-radar span{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--pink);left:50%;top:-4px;box-shadow:0 0 14px var(--pink)}.screens-sidecopy{position:absolute;left:-34px;top:42%;display:flex;gap:.7rem;transform:rotate(-90deg);transform-origin:left top;color:var(--muted-2);font:800 .58rem/1 ui-monospace,monospace;letter-spacing:.13em}.screens-sidecopy b{color:var(--pink-soft)}
.screen-shot.spotlight::before{z-index:3}.screen-shot-main.tilt-card{transform:perspective(1200px) rotateZ(-1.2deg) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}.screen-shot-main.tilt-card:hover{transform:perspective(1200px) rotateZ(-.4deg) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-4px)}.screen-shot-detail.tilt-card{transform:perspective(1200px) rotateZ(1.6deg) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}.screen-shot-detail.tilt-card:hover{transform:perspective(1200px) rotateZ(.6deg) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-4px)}.screen-label b{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:rgba(255,102,170,.08);border:1px solid rgba(255,102,170,.14)}

.download-panel[data-tilt]{transform:perspective(1200px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transform-style:preserve-3d}.download-panel .download-panel-copy,.download-panel .download-facts{transform:translateZ(12px)}.download-rings{animation:ring-drift 16s linear infinite}.download-rings span:nth-child(2){animation:orbit-spin 12s linear infinite reverse}.download-rings span:nth-child(3){border-style:dashed;animation:orbit-spin 8s linear infinite}.download-ring-dot{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--pink-soft);top:50%;left:0;box-shadow:0 0 16px var(--pink)}@keyframes ring-drift{to{transform:rotate(360deg)}}.download-spark{position:absolute;color:rgba(255,255,255,.16);font:500 24px/1 ui-monospace,monospace;animation:cross-drift 6s ease-in-out infinite}.download-spark-a{left:54%;top:19%}.download-spark-b{right:6%;bottom:12%;animation-delay:-2.6s;color:rgba(255,102,170,.28)}
.button-primary svg:first-child{transition:transform .2s var(--ease)}.button-primary:hover svg:first-child{transform:translateY(2px)}

.site-footer{position:relative;overflow:hidden}.footer-wave{position:absolute;right:4%;top:10px;height:34px;display:flex;align-items:center;gap:3px;opacity:.13}.footer-wave i{width:2px;height:25%;background:var(--pink-soft);animation:microeq .8s ease-in-out infinite alternate}.footer-wave i:nth-child(3n){height:80%;animation-delay:-.5s}.footer-wave i:nth-child(4n){height:50%;animation-delay:-.2s}

@media (max-width:1080px){
  .rhythm-orbit-a{right:-60px}.flow-lane{grid-template-columns:62px minmax(170px,.48fr) 1fr}.screens-sidecopy{display:none}
}
@media (max-width:820px){
  .cursor-reticle{display:none}.hero-wave{right:-100px;opacity:.1}.floating-action-chip{display:none}.rhythm-orbit-a{width:400px;height:400px;right:-100px}.capability-marquee{mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}.flow-console{transform:none!important}.flow-console-bar{grid-template-columns:1fr auto}.flow-beats{display:none}.flow-lane{grid-template-columns:52px 1fr;gap:.8rem 1rem}.flow-visual{grid-column:2}.speed-tags{grid-template-columns:repeat(2,1fr)}.screens-radar{width:380px;height:380px;right:-140px}.download-panel[data-tilt]{transform:none!important}.download-panel .download-panel-copy,.download-panel .download-facts{transform:none}
}
@media (max-width:560px){
  .hero-commandline{width:100%;font-size:.6rem}.command-eq{margin-left:auto}.hero-wave{display:none}.hero-cross{display:none}.rhythm-orbit{display:none}.showcase-eq{display:none}.app-scanline{animation-duration:6.5s}.capability-set{min-height:64px;gap:1rem;padding-right:1rem}.capability-set>div{font-size:.68rem}.capability-track{animation-duration:23s}.feature-card.tilt-card{transform:none!important}.flow-console-bar{padding:.8rem;min-height:0;display:flex;justify-content:space-between}.flow-shortcut{display:none}.flow-lane{grid-template-columns:40px 1fr;min-height:0;padding:1rem;gap:.7rem}.flow-step{height:auto}.flow-step span{display:none}.flow-copy strong{font-size:.92rem}.flow-visual{min-width:0}.flow-filters{flex-wrap:wrap}.flow-stars{width:100%;margin-left:0}.flow-stars i{flex:1;min-width:70px}.flow-download{justify-content:flex-start;gap:.6rem}.flow-file{min-width:0;flex:1}.speed-tags{grid-template-columns:1fr 1fr}.speed-tags>span{grid-template-columns:28px 1fr;padding:.7rem}.screen-shot-main.tilt-card{transform:none!important}.screen-shot-detail.tilt-card{transform:rotate(1.2deg)!important}.screens-radar{opacity:.45}.download-spark{display:none}
}


@media (max-width: 1080px) {
  .nav-shell { grid-template-columns: 1fr auto; }.nav-links { display:none }.nav-actions{grid-column:2}.hero { padding-top:calc(var(--header-h) + 4rem); }.hero-layout{grid-template-columns:1fr;gap:4rem}.hero-copy{max-width:800px}.hero-showcase{max-width:900px;margin-inline:auto}.feature-search{grid-column:span 7}.feature-filters{grid-column:span 5}.feature-details{grid-column:span 6}.feature-theme{grid-column:span 6}.feature-download{grid-column:span 12}.screens-stage{min-height:630px}.install-layout{grid-template-columns:1fr}.install-intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:2rem}.install-intro .eyebrow{grid-column:1/-1}.install-intro h2{margin:0}.terminal-card{max-width:900px;width:100%;margin-inline:auto}
}

@media (max-width: 820px) {
  :root { --header-h: 66px; --section-y: 5.5rem; }
  .container{width:min(var(--container),calc(100% - 32px))}.nav-shell{width:calc(100% - 24px)}.github-action,.nav-download{display:none}.mobile-menu-button{display:flex}.site-header.scrolled .nav-shell{min-height:58px}.hero{min-height:auto;padding-top:calc(var(--header-h) + 4.5rem)}.hero-layout{gap:3.2rem}h1{font-size:clamp(3rem,10vw,5.4rem)}.hero-lead{max-width:680px}.app-window{transform:none}.floating-meta{display:none}.ghost-window{opacity:.22}.capability-row{justify-content:flex-start;overflow-x:auto;padding-block:.85rem;scrollbar-width:none}.capability-row::-webkit-scrollbar{display:none}.capability-row div{flex:0 0 auto}.section-heading-grid,.demo-copy{grid-template-columns:1fr;gap:1rem}.bento-grid{grid-template-columns:repeat(2,1fr)}.feature-search,.feature-filters,.feature-details,.feature-theme,.feature-download,.feature-language,.feature-modes{grid-column:span 1}.feature-search,.feature-filters{min-height:380px}.feature-modes{grid-column:1/-1;grid-template-columns:1fr}.mode-switcher{grid-template-columns:repeat(2,1fr)}.feature-download{grid-column:1/-1}.feature-language{grid-column:1/-1}.demo-toolbar{align-items:stretch;flex-direction:column}.demo-search{max-width:none}.demo-filter-row{overflow-x:auto;padding-bottom:.2rem}.demo-filter{flex:0 0 auto}.beatmap-grid{grid-template-columns:repeat(2,1fr)}.screens-stage{min-height:680px}.screen-shot-main{width:92%}.screen-shot-detail{width:58%}.download-panel{grid-template-columns:1fr}.download-facts{grid-template-columns:repeat(3,1fr)}.download-facts>div{align-items:flex-start;flex-direction:column}.install-intro{display:block}.install-intro h2{margin:1rem 0 2rem}.footer-grid{align-items:flex-start;flex-direction:column}.footer-links{justify-content:flex-start}
}

@media (max-width: 560px) {
  .container{width:calc(100% - 24px)}.lang-select{min-height:38px}.lang-select select{padding-right:1.65rem}.hero{padding-top:calc(var(--header-h) + 3.4rem);padding-bottom:3.8rem}.eyebrow{font-size:.66rem}.hero-actions{display:grid;grid-template-columns:1fr}.hero-actions .button{width:100%}.hero-proof{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.hero-showcase{width:calc(100% + 10px);margin-left:-5px}.window-bar{min-height:36px}.window-status{display:none}.capability-row{gap:.8rem}.capability-row i{width:12px}.section-heading{margin-bottom:2rem}h2{font-size:clamp(2.25rem,12vw,3.4rem)}.bento-grid{display:block}.feature-card{margin-bottom:10px}.feature-search,.feature-filters,.feature-modes,.feature-details,.feature-theme,.feature-download,.feature-language{min-height:0}.feature-search{min-height:390px}.feature-download{display:block}.download-ui{margin-top:1.4rem}.feature-language{display:flex}.language-stack span{width:44px}.mode-switcher{grid-template-columns:1fr 1fr}.mode-card{min-height:105px}.demo-shell{border-radius:12px}.demo-copy{padding:1.4rem}.demo-toolbar{padding:.8rem}.beatmap-grid{grid-template-columns:1fr}.screens-stage{min-height:520px}.screen-shot-main{width:100%;position:relative;transform:none}.screen-shot-main:hover{transform:translateY(-2px)}.screen-shot-detail{width:72%;right:-2%;bottom:4%;}.screen-label{height:36px}.download-panel{padding:1.5rem;min-height:0}.download-panel-actions{display:grid;grid-template-columns:1fr}.download-panel-actions .button{width:100%}.download-panel-actions .text-link{padding:.25rem 0}.download-facts{grid-template-columns:1fr}.download-facts>div{flex-direction:row;align-items:center}.terminal-tabs{overflow-x:auto}.terminal-tabs button{flex:0 0 auto}.terminal-body{min-height:250px}.code-block{padding:1.2rem}.code-block code{font-size:.68rem;padding-top:2rem}.terminal-footer{height:auto;padding:.75rem;flex-direction:column;align-items:flex-start;gap:.3rem}.footer-links{display:grid;grid-template-columns:1fr 1fr;width:100%}
}


/* --------------------------------------------------------------------------
   Desktop refinement — stronger motion + corrected download panel alignment
   Mobile/tablet rules below 820px intentionally remain unchanged.
   -------------------------------------------------------------------------- */
@media (min-width: 821px) {
  /* Make the desktop cursor lighting actually visible above the page canvas. */
  .cursor-glow {
    z-index: 0;
    width: 640px;
    opacity: .82;
    background: radial-gradient(circle, rgba(255,79,154,.105), rgba(139,124,255,.035) 34%, rgba(255,79,154,0) 69%);
    filter: blur(14px);
  }
  main, .site-footer { position: relative; z-index: 1; }

  /* Product showcase should feel alive on desktop even before the user hovers. */
  .hero-showcase {
    transition: transform .12s linear;
    transform-origin: 50% 48%;
  }
  .showcase-aura {
    animation: desktop-aura-pulse 5.8s ease-in-out infinite;
    will-change: transform, opacity, filter;
  }
  .app-window-main {
    animation: desktop-app-float 6.4s ease-in-out infinite;
    will-change: transform, box-shadow;
  }
  .ghost-window-top { animation: ghost-drift-top 8.4s ease-in-out infinite; }
  .ghost-window-bottom { animation: ghost-drift-bottom 9.6s ease-in-out infinite -2.1s; }
  .rhythm-orbit-a { opacity: .82; }
  .rhythm-orbit-b { opacity: .72; }
  .showcase-eq { opacity: .18; }
  .app-scanline { animation-duration: 4.35s; }

  /* A little more rhythm in the real-screenshot showcase, without moving the UI itself around. */
  .screens-stage::before { animation: screens-aura-breathe 6.8s ease-in-out infinite; }
  .screens-radar { opacity: .78; }
  .screens-radar span { animation: radar-dot-pulse 1.7s ease-in-out infinite; }

  /* Fix: keep the download frame visually level and balance both columns. */
  .download-panel {
    min-height: 460px;
    grid-template-columns: minmax(0, 1.12fr) minmax(280px, .88fr);
    gap: clamp(2.6rem, 5vw, 5rem);
    align-items: stretch;
    padding: clamp(2.75rem, 4.4vw, 4.35rem);
  }
  .download-panel[data-tilt] {
    transform: none;
    transform-style: flat;
  }
  .download-panel .download-panel-copy,
  .download-panel .download-facts {
    transform: none;
  }
  .download-panel-copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-right: clamp(.25rem, 1.5vw, 1.5rem);
  }
  .download-panel-copy > p { max-width: 570px; }
  .download-panel h2 {
    max-width: 720px;
    text-wrap: balance;
  }
  .download-facts {
    width: min(100%, 390px);
    justify-self: end;
    align-self: center;
    align-content: center;
    gap: 10px;
  }
  .download-facts > div {
    min-height: 82px;
    padding: 1rem 1.15rem;
    border-left: 2px solid transparent;
    background: linear-gradient(90deg, rgba(255,102,170,.022), rgba(8,8,13,.68));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.02);
    transition: transform .22s var(--ease), border-color .22s ease, background .22s ease, box-shadow .22s ease;
  }
  .download-facts > div:hover {
    transform: translateX(-5px);
    border-left-color: rgba(255,102,170,.65);
    border-color: rgba(255,102,170,.19);
    background: linear-gradient(90deg, rgba(255,102,170,.075), rgba(8,8,13,.76));
    box-shadow: 0 12px 34px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.035);
  }
  .download-facts svg {
    width: 1.3rem;
    height: 1.3rem;
    flex: 0 0 auto;
    filter: drop-shadow(0 0 8px rgba(255,102,170,.14));
  }
  .download-rings {
    width: 470px;
    height: 470px;
    right: -76px;
    top: 50%;
    margin-top: -235px;
    opacity: .24;
  }
  .download-ring-dot { animation: download-dot-pulse 1.9s ease-in-out infinite; }
  .download-spark-a { left: 57%; top: 16%; }
  .download-spark-b { right: 5%; bottom: 11%; }
}

@media (min-width: 1180px) {
  .hero-layout { gap: clamp(4rem, 6vw, 7rem); }
  .hero-showcase { margin-right: -12px; }
  .app-window { box-shadow: 0 46px 110px rgba(0,0,0,.58), 0 0 0 1px rgba(255,255,255,.025), 0 0 105px rgba(255,79,154,.11); }
  .capability-track { animation-duration: 23s; }
}

@keyframes desktop-aura-pulse {
  0%,100% { transform: scale(.97); opacity: .78; filter: blur(42px); }
  50% { transform: scale(1.055); opacity: 1; filter: blur(34px); }
}
@keyframes desktop-app-float {
  0%,100% {
    transform: perspective(1400px) rotateY(-4deg) rotateX(1.5deg) translate3d(0,0,0);
    box-shadow: 0 38px 90px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.02), 0 0 80px rgba(255,79,154,.08);
  }
  50% {
    transform: perspective(1400px) rotateY(-3.2deg) rotateX(1deg) translate3d(0,-8px,0);
    box-shadow: 0 48px 105px rgba(0,0,0,.6), 0 0 0 1px rgba(255,255,255,.03), 0 0 105px rgba(255,79,154,.12);
  }
}
@keyframes ghost-drift-top {
  0%,100% { transform: translate3d(0,0,-30px) rotate(2deg); opacity: .34; }
  50% { transform: translate3d(8px,-9px,-30px) rotate(2.6deg); opacity: .5; }
}
@keyframes ghost-drift-bottom {
  0%,100% { transform: translate3d(0,0,-25px) rotate(-3deg); opacity: .28; }
  50% { transform: translate3d(-9px,8px,-25px) rotate(-3.7deg); opacity: .4; }
}
@keyframes screens-aura-breathe {
  0%,100% { opacity: .72; transform: scale(.96); }
  50% { opacity: 1; transform: scale(1.045); }
}
@keyframes radar-dot-pulse {
  50% { transform: scale(1.65); box-shadow: 0 0 0 8px rgba(255,102,170,0), 0 0 24px var(--pink); }
}
@keyframes download-dot-pulse {
  50% { transform: scale(1.55); box-shadow: 0 0 0 8px rgba(255,102,170,0), 0 0 22px var(--pink); }
}

@media (hover: none), (pointer: coarse) { .cursor-glow { display:none; } .hero-showcase { transform:none !important; } }
@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; }
  .reveal { opacity:1; transform:none; }
  .cursor-glow { display:none; }
  .hero-showcase { transform:none !important; }
}
