/* ═══════════════════════════════════════════════════════════
   TRAKVEN — round 3
   alarm (33 themes) · thumb nav (real shots) · analytics gallery ·
   redesigned cross-device sync
   ═══════════════════════════════════════════════════════════ */

/* ── ALARM: fit 33 diverse swatches ── */
.alarm-feature .feature-lead strong{color:#fff;font-weight:700}
.alarm-swatches{gap:9px;max-width:430px}
.alarm-swatch{width:42px;height:42px;border-radius:12px}
@media(max-width:1024px){ .alarm-swatches{justify-content:center;max-width:430px;margin-left:auto;margin-right:auto} }

/* ── "BUILT AROUND YOUR THUMB" with real screenshots ── */
.thumb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.thumb-card{background:var(--surface);border:1px solid var(--line);border-radius:26px;padding:28px 26px 30px;
  box-shadow:var(--shadow-sm);transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s;
  display:flex;flex-direction:column}
.thumb-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:color-mix(in srgb,var(--c) 35%,var(--line))}
.thumb-tag{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-head);font-weight:700;font-size:13px;color:var(--c);margin-bottom:12px}
.thumb-tag ion-icon{font-size:17px}
.thumb-card h3{font-family:var(--font-head);font-size:20px;font-weight:700;letter-spacing:-.4px;line-height:1.18;margin-bottom:10px}
.thumb-card p{font-size:13.5px;color:var(--ink-2);line-height:1.6;margin-bottom:22px}
.thumb-card p em{font-style:normal;color:var(--c);font-weight:600}
.thumb-shot{margin-top:auto;display:flex;justify-content:center;position:relative}
.thumb-shot .shot-device{width:212px}
/* Interactive demo: tap to toggle the real open/closed screenshots */
.thumb-demo{margin-top:auto;display:flex;flex-direction:column;align-items:center;padding-top:14px}
.thumb-demo .shot-device{width:212px;cursor:pointer;transition:transform .3s var(--ease)}
.thumb-demo .shot-device:hover{transform:translateY(-4px)}
.thumb-img{transition:opacity .22s ease}
.thumb-toggle{margin-top:18px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;
  font-size:12.5px;font-weight:800;letter-spacing:.2px;color:#fff;background:var(--c);border:none;
  padding:10px 18px;border-radius:999px;box-shadow:0 10px 22px color-mix(in srgb,var(--c) 42%,transparent);
  position:relative;transition:transform .2s var(--ease),box-shadow .2s}
.thumb-toggle ion-icon{font-size:16px}
.thumb-toggle::after{content:'';position:absolute;inset:0;border-radius:999px;border:2px solid var(--c);
  animation:ttPulse 2s ease-out infinite;pointer-events:none}
.thumb-toggle:hover{transform:translateY(-2px);box-shadow:0 14px 28px color-mix(in srgb,var(--c) 50%,transparent)}
.thumb-demo.is-open .thumb-toggle::after{animation:none;opacity:0}
@keyframes ttPulse{0%{opacity:.6;transform:scale(1)}100%{opacity:0;transform:scale(1.35)}}
@media(prefers-reduced-motion:reduce){.thumb-toggle::after{animation:none;opacity:0}}
.snap-pointer{position:absolute;top:42%;right:6px;display:flex;align-items:center;gap:7px;
  font-size:11px;font-weight:700;color:#7C3AED;background:#fff;border:1px solid #E3D7FA;border-radius:100px;
  padding:5px 11px 5px 9px;box-shadow:var(--shadow-md);white-space:nowrap}
.snap-ring{width:12px;height:12px;border-radius:50%;border:2px solid #7C3AED;position:relative}
.snap-ring::after{content:'';position:absolute;inset:-5px;border-radius:50%;border:2px solid rgba(124,58,237,.4);animation:snapPing 1.6s ease-out infinite}
@keyframes snapPing{0%{transform:scale(.6);opacity:.8}100%{transform:scale(1.4);opacity:0}}
.thumb-note{text-align:center;font-size:14px;color:var(--ink-3);margin-top:30px}
@media(max-width:1024px){ .thumb-grid{grid-template-columns:1fr;max-width:440px;margin:0 auto} }

/* ── ANALYTICS GALLERY (interactive tabs) ── */
.analytics-feature{padding:90px 0;background:linear-gradient(180deg,var(--bg),#E9F7F0 55%,var(--bg))}
.an-stage{display:grid;grid-template-columns:minmax(280px,340px) 1fr;gap:56px;align-items:center;justify-items:center}
.an-phone-col .shot-device{width:300px}
#anImg{transition:opacity .35s var(--ease)}
.an-panel{width:100%;max-width:520px}
.an-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px}
.an-tab{display:inline-flex;align-items:center;gap:8px;padding:11px 16px;border-radius:14px;cursor:pointer;
  background:var(--surface);border:1.5px solid var(--line-2);font-family:var(--font-head);font-weight:600;font-size:13.5px;
  color:var(--ink-2);transition:transform .25s var(--ease),border-color .25s,box-shadow .25s,color .25s}
.an-tab ion-icon{font-size:17px;color:var(--c)}
.an-tab:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.an-tab.active{border-color:var(--c);background:color-mix(in srgb,var(--c) 9%,#fff);color:color-mix(in srgb,var(--c) 75%,#000)}
.an-detail h3{font-family:var(--font-head);font-size:clamp(22px,2.6vw,28px);font-weight:800;letter-spacing:-.5px;margin-bottom:12px}
.an-detail p{font-size:15px;color:var(--ink-2);line-height:1.65;margin-bottom:24px}
.an-stats{display:flex;gap:28px}
.an-stat .an-v{font-family:var(--font-head);font-size:30px;font-weight:800;letter-spacing:-1px;color:var(--green)}
.an-stat .an-l{font-size:11px;color:var(--ink-3);font-weight:600;text-transform:uppercase;letter-spacing:.5px}
@media(max-width:1024px){ .an-stage{grid-template-columns:1fr;gap:34px} .an-tabs{justify-content:center} .an-detail{text-align:center} .an-stats{justify-content:center} }

/* ── CROSS-DEVICE SYNC (animated illustration, no screenshots) ── */
.sync-stage{position:relative;display:grid;grid-template-columns:1fr 1.25fr 1fr;align-items:center;justify-items:center;
  gap:10px;max-width:880px;margin:64px auto 60px;min-height:300px}
/* drawn device */
.sync-mini{position:relative;width:158px;height:280px;border-radius:30px;background:var(--surface);
  border:1px solid var(--line-2);box-shadow:0 26px 50px rgba(30,50,90,.16),inset 0 0 0 5px color-mix(in srgb,var(--ink) 4%,transparent);
  padding:26px 14px 16px;display:flex;flex-direction:column;gap:10px}
.sync-mini-b{width:150px;height:264px}
.sm-notch{position:absolute;top:11px;left:50%;transform:translateX(-50%);width:46px;height:6px;border-radius:6px;background:color-mix(in srgb,var(--ink) 12%,transparent)}
.sm-rows{display:flex;flex-direction:column;gap:10px;margin-top:6px}
.sm-row{display:flex;align-items:center;gap:8px;height:30px;border-radius:10px;background:var(--bg);border:1px solid var(--line);padding:0 10px}
.sm-row i{width:8px;height:8px;border-radius:50%;flex:none}
.sm-row::after{content:'';height:7px;border-radius:4px;background:color-mix(in srgb,var(--ink) 12%,transparent);flex:1}
.sm-row.in{opacity:0;animation:smIn 5.5s var(--ease) infinite;animation-delay:var(--d,0s)}
@keyframes smIn{0%,6%{opacity:0;transform:translateX(12px)}16%,86%{opacity:1;transform:none}100%{opacity:1}}
.sm-tag{position:absolute;bottom:-13px;left:50%;transform:translateX(-50%);white-space:nowrap;
  display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:800;padding:5px 11px;border-radius:999px;box-shadow:var(--shadow-md)}
.sm-tag ion-icon{font-size:13px}
.sm-tag.primary{background:#fff;color:#7C3AED;border:1px solid #E0D4FA}
.sm-tag.synced{background:#fff;color:#059669;border:1px solid #B6EFD6}
/* cloud */
.sync-air{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;height:240px}
.sync-cloud2{position:relative;width:120px;height:120px;display:flex;align-items:center;justify-content:center}
.cloud-core{width:88px;height:88px;border-radius:30px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:44px;z-index:3;
  background:linear-gradient(140deg,#5CC8FF,#0EA5E9 55%,#0284C7);
  animation:cloudBob 3.4s ease-in-out infinite,cloudFlash 1.5s ease-in-out infinite}
.cloud-core ion-icon{animation:cloudIcon 1.5s ease-in-out infinite}
@keyframes cloudBob{0%,100%{transform:translateY(-4px)}50%{transform:translateY(4px)}}
@keyframes cloudFlash{
  0%,38%,100%{box-shadow:0 20px 48px rgba(14,165,233,.5),inset 0 1px 2px rgba(255,255,255,.5)}
  54%{box-shadow:0 22px 64px rgba(14,165,233,.9),0 0 0 7px rgba(56,189,248,.22),0 0 30px 6px rgba(124,58,237,.35),inset 0 1px 2px rgba(255,255,255,.65)}}
@keyframes cloudIcon{0%,40%,100%{transform:scale(1)}54%{transform:scale(1.18)}}
.cring{position:absolute;border-radius:50%;border:1.5px solid rgba(14,165,233,.4);animation:syncPulse 2.6s ease-in-out infinite}
.cring{width:120px;height:120px}.cring2{width:164px;height:164px;animation-delay:.6s;border-color:rgba(56,189,248,.26)}
.cring3{width:208px;height:208px;animation-delay:1.2s;border-color:rgba(124,58,237,.16)}
@keyframes syncPulse{0%,100%{opacity:.22;transform:scale(.92)}50%{opacity:.85;transform:scale(1.04)}}
.sync-status{margin-top:18px;display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:700;color:#059669;
  background:#fff;border:1px solid #B6EFD6;border-radius:100px;padding:6px 14px;box-shadow:var(--shadow-md)}
.ss-dot{width:7px;height:7px;border-radius:50%;background:#10B981;box-shadow:0 0 0 0 rgba(16,185,129,.6);animation:ping 1.8s infinite}
/* data chips jumping phone → cloud → tablet (spawned by JS, each unique) */
.fly-layer{position:absolute;inset:0;pointer-events:none;z-index:5}
.fly-chip{position:absolute;top:52%;left:var(--x0,24%);white-space:nowrap;
  display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:800;color:color-mix(in srgb,var(--c) 80%,#000);
  background:#fff;border:1px solid color-mix(in srgb,var(--c) 30%,var(--line-2));border-radius:999px;padding:6px 12px;
  box-shadow:0 10px 24px color-mix(in srgb,var(--c) 26%,transparent);opacity:0;
  animation:flyDyn var(--dur,4.4s) cubic-bezier(.55,0,.4,1) forwards}
.fly-chip.rev{animation-name:flyDynRev}
.fly-chip ion-icon{font-size:14px;color:var(--c)}
@keyframes flyDyn{
  0%{left:var(--x0,22%);top:52%;opacity:0;transform:translate(-50%,-50%) scale(.55)}
  12%{opacity:1;transform:translate(-50%,-50%) scale(1)}
  47%{left:50%;top:var(--peak,24%);opacity:1;transform:translate(-50%,-50%) scale(1.06)}
  55%{left:50%;top:var(--peak,24%);opacity:.92;transform:translate(-50%,-50%) scale(1.02)}
  90%{opacity:1}
  100%{left:var(--x1,78%);top:52%;opacity:0;transform:translate(-50%,-50%) scale(.55)}
}
@keyframes flyDynRev{
  0%{left:var(--x1,78%);top:52%;opacity:0;transform:translate(-50%,-50%) scale(.55)}
  12%{opacity:1;transform:translate(-50%,-50%) scale(1)}
  47%{left:50%;top:var(--peak,24%);opacity:1;transform:translate(-50%,-50%) scale(1.06)}
  55%{left:50%;top:var(--peak,24%);opacity:.92;transform:translate(-50%,-50%) scale(1.02)}
  90%{opacity:1}
  100%{left:var(--x0,22%);top:52%;opacity:0;transform:translate(-50%,-50%) scale(.55)}
}
@media(prefers-reduced-motion:reduce){.fly-chip,.cloud-core,.cring,.sm-row.in{animation:none}.fly-layer{display:none}}

@media(max-width:860px){
  .sync-stage{grid-template-columns:1fr;gap:44px;max-width:240px;min-height:0}
  .fly-chip{display:none}
  .thumb-shot .shot-device{width:230px}
}
