/* AI Tools Vault 1.2 - "calm premium" store.
   A quiet, light, image-first page with ONE brand accent; promotions (sale bar, announcements, sale stickers,
   countdowns, the Deals badge) are the only saturated, moving things on it.
   Everything is scoped under #aitv-root, plus html.aitv-html / body.aitv-standalone for the standalone document. */

/* ---------- standalone document ---------- */
html.aitv-html { margin: 0 !important; padding: 0; background: #f5f7fb; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: 96px; }
body.aitv-standalone { margin: 0 !important; padding: 0 !important; min-height: 100vh; background: #f5f7fb; overflow-x: hidden; }
html.aitv-html[data-aitv-theme="navy"], html.aitv-html[data-aitv-theme="navy"] body.aitv-standalone { background: #0b1430; }
html.aitv-html[data-aitv-theme="slate"], html.aitv-html[data-aitv-theme="slate"] body.aitv-standalone { background: #e4e7ec; }
html.aitv-html[data-aitv-theme="dark"], html.aitv-html[data-aitv-theme="dark"] body.aitv-standalone { background: #0c0d10; }

/* ---------- 1.3 themes: light (default, airy blue-tinted), navy, slate (cool gray), dark ---------- */
#aitv-root {
  --bg: #f5f7fb; --bg-2: #e9eef6; --surface: #fff; --soft: #f7f9fc; --glass: rgba(255,255,255,.86);
  --ink: #0f172a; --ink-2: #334155; --muted: #5b6b82; --faint: #93a1b5;
  --line: #e3e8f0; --line-2: #d2dae6;
  --inv: #0f172a; --inv-2: #1e293b; --on-inv: #fff;
  --accent: #ff5a1f; --accent-d: #e5480f; --accent-soft: #fff1ea; --accent-line: #ffd2bd;
  --brand: #3b6cf6; --brand-soft: #eaf0ff;
  --sale: #e0282e; --sale-soft: #fdecec; --sale-line: #f6c9c7; --sale-ink: #8f1b1f;
  --ok: #0d8a6e; --ok-soft: #e3f5ee; --ok-line: #bfe6d9; --ok-ink: #075543;
  --warn-soft: #fff7df; --warn-line: #f1dfa6; --gold: #b98a00;
  --text: var(--ink); --border: var(--line);
  --shc: 15,23,42; --glow-a: rgba(59,108,246,.13); --glow-b: rgba(255,90,31,.09);
  /* legacy names still used by a few rules */
  --night: #0f172a; --paper: #fff; --yellow: #ffd60a; --orange: #ff5a1f; --red: #e0282e; --teal: #19d3b0;
  --r: 18px; --r-md: 14px; --r-sm: 10px;
  --sh-1: 0 1px 2px rgba(var(--shc),.05), 0 2px 10px rgba(var(--shc),.04);
  --sh-2: 0 2px 6px rgba(var(--shc),.05), 0 16px 40px rgba(var(--shc),.10);
  --sh-3: 0 30px 80px rgba(var(--shc),.22), 0 6px 18px rgba(var(--shc),.10);
  --ease: cubic-bezier(.2,.8,.2,1);
  --gut: 24px; --max: 1280px; --bar: 68px;
  position: relative; display: flex; flex-direction: column; min-height: 100vh; isolation: isolate;
  margin: 0; padding: 0; border: 0; overflow-x: clip;
  font-family: 'Poppins', system-ui, -apple-system, 'Segoe UI', sans-serif; font-size: 15px; line-height: 1.6; color: var(--ink); text-align: left;
  letter-spacing: normal; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  background: var(--bg);
}
#aitv-root *, #aitv-root *::before, #aitv-root *::after { box-sizing: border-box; }
#aitv-root h1, #aitv-root h2, #aitv-root h3, #aitv-root h4, #aitv-root p, #aitv-root ul, #aitv-root ol, #aitv-root li, #aitv-root figure, #aitv-root pre {
  margin: 0; padding: 0; font-family: inherit; color: inherit; letter-spacing: normal; text-transform: none; border: 0; background: none;
}
#aitv-root button, #aitv-root input, #aitv-root textarea, #aitv-root select { font-family: inherit; margin: 0; }
#aitv-root a { text-decoration: none; color: inherit; }
#aitv-root img, #aitv-root svg { max-width: 100%; }
#aitv-root ::selection { background: rgba(255,90,31,.25); color: var(--ink); }
#aitv-root .aitv-noscript { padding: 40px 24px; font-weight: 600; color: var(--ink); text-align: center; }
#aitv-root [hidden] { display: none !important; }
#aitv-root .av-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

#aitv-root a:focus-visible, #aitv-root button:focus-visible, #aitv-root input:focus-visible, #aitv-root summary:focus-visible,
#aitv-root textarea:focus-visible, #aitv-root select:focus-visible, #aitv-root [tabindex]:focus-visible {
  outline: 2px solid var(--accent); outline-offset: 3px;
}

/* ---------- background: a faint warm glow + the slow drifting giant words (barely there) ---------- */
#aitv-root .av-bg {
  position: absolute; inset: 0; pointer-events: none; z-index: -1; overflow: hidden;
  background:
    radial-gradient(1000px 520px at 88% -8%, rgba(255,90,31,.07), transparent 62%),
    radial-gradient(800px 500px at -10% 10%, rgba(255,190,120,.08), transparent 60%),
    var(--bg);
}
body.aitv-standalone #aitv-root .av-bg { position: fixed; }
#aitv-root .av-bg span {
  position: absolute; font-weight: 800; font-size: 190px; line-height: 1; white-space: nowrap; letter-spacing: -.04em;
  color: transparent; -webkit-text-stroke: 1px rgba(var(--shc),.035); animation: av-drift 40s linear infinite; will-change: transform;
}
#aitv-root .av-bg span:nth-child(1) { top: 8%; left: -20%; }
#aitv-root .av-bg span:nth-child(2) { top: 46%; left: -60%; animation-duration: 55s; animation-direction: reverse; }
#aitv-root .av-bg span:nth-child(3) { top: 78%; left: -30%; animation-duration: 48s; }
@keyframes av-drift { from { transform: translateX(0); } to { transform: translateX(40%); } }

/* ---------- layout ---------- */
#aitv-root .av-c { width: 100%; max-width: var(--max); margin: 0 auto; padding-left: var(--gut); padding-right: var(--gut); }
#aitv-root .av-main { flex: 1 0 auto; position: relative; z-index: 1; }
#aitv-root .av-section { padding-top: 8px; padding-bottom: 88px; }

/* ---------- entrance animations (unchanged motion) ---------- */
#aitv-root .av-slam { opacity: 0; animation: av-slam .7s cubic-bezier(.2,1.4,.4,1) forwards; }
#aitv-root .av-slide-l { opacity: 0; animation: av-sl .7s cubic-bezier(.2,.9,.3,1.1) forwards; }
#aitv-root .av-slide-r { opacity: 0; animation: av-sr .7s cubic-bezier(.2,.9,.3,1.1) forwards; }
#aitv-root .av-zoom { opacity: 0; animation: av-zoom .6s cubic-bezier(.2,1.3,.4,1) forwards; }
#aitv-root .av-rise { opacity: 0; animation: av-rise .5s cubic-bezier(.2,.9,.3,1) forwards; }
@keyframes av-slam { 0% { opacity: 0; transform: scale(2.2) rotate(-6deg); } 60% { opacity: 1; } 100% { opacity: 1; transform: none; } }
@keyframes av-sl { from { opacity: 0; transform: translateX(-120px) skewX(8deg); } to { opacity: 1; transform: none; } }
@keyframes av-sr { from { opacity: 0; transform: translateX(120px) skewX(-8deg); } to { opacity: 1; transform: none; } }
@keyframes av-zoom { from { opacity: 0; transform: scale(.5); } to { opacity: 1; transform: none; } }
@keyframes av-rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
#aitv-root .d1 { animation-delay: .1s; } #aitv-root .d2 { animation-delay: .25s; } #aitv-root .d3 { animation-delay: .4s; }
#aitv-root .d4 { animation-delay: .55s; } #aitv-root .d5 { animation-delay: .7s; }
@keyframes av-spin { to { transform: rotate(360deg); } }
@keyframes av-wobble { 0%,100% { transform: rotate(-8deg) scale(1); } 50% { transform: rotate(8deg) scale(1.06); } }
@keyframes av-shake { 20%,60% { transform: translateX(-7px); } 40%,80% { transform: translateX(7px); } }
@keyframes av-pulse { 0%,100% { transform: scale(1); } 50% { transform: scale(1.05); } }

/* ---------- buttons ---------- */
#aitv-root .av-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid var(--line-2); border-radius: 12px;
  cursor: pointer; padding: 10px 18px; font-size: 14.5px; font-weight: 600; letter-spacing: -.005em; line-height: 1.2;
  color: var(--ink); background: var(--surface); text-align: center; min-height: 44px; white-space: nowrap; text-decoration: none;
  box-shadow: 0 1px 2px rgba(var(--shc),.06);
  transition: transform .18s var(--ease), box-shadow .18s var(--ease), background-color .15s, color .15s, border-color .15s;
}
#aitv-root .av-btn:hover { transform: translateY(-1px); box-shadow: 0 6px 18px rgba(var(--shc),.12); border-color: var(--line-2); color: var(--ink); }
#aitv-root .av-btn:active { transform: translateY(1px) scale(.98); box-shadow: 0 1px 2px rgba(var(--shc),.08); }
#aitv-root .av-btn[disabled], #aitv-root .av-btn.is-busy { opacity: .55; cursor: not-allowed; transform: none; box-shadow: none; pointer-events: none; }
#aitv-root .av-orange { background: var(--accent); border-color: var(--accent); color: #fff; box-shadow: 0 1px 2px rgba(229,72,15,.3), 0 6px 16px rgba(255,90,31,.22); }
#aitv-root .av-orange:hover { background: var(--accent-d); border-color: var(--accent-d); color: #fff; box-shadow: 0 10px 24px rgba(255,90,31,.32); }
#aitv-root .av-yellow, #aitv-root .av-ink { background: var(--inv); border-color: var(--inv); color: var(--on-inv); }
#aitv-root .av-yellow:hover, #aitv-root .av-ink:hover { background: var(--inv-2); border-color: var(--inv-2); color: var(--on-inv); }
#aitv-root .av-teal { background: var(--ok); border-color: var(--ok); color: #fff; }
#aitv-root .av-teal:hover { background: #0a7259; border-color: #0a7259; color: #fff; }
#aitv-root .av-black, #aitv-root .av-quiet { background: var(--surface); color: var(--ink); border-color: var(--line-2); }
#aitv-root .av-quiet { box-shadow: none; }
#aitv-root .av-quiet:hover { background: var(--soft); box-shadow: none; }
#aitv-root .av-ghost { background: transparent; color: var(--ink-2); border-color: var(--line-2); box-shadow: none; }
#aitv-root .av-ghost:hover { background: var(--surface); color: var(--ink); }
#aitv-root .av-block { width: 100%; }
#aitv-root .av-big { font-size: 16px; padding: 14px 24px; min-height: 52px; border-radius: 14px; }
#aitv-root .av-small { padding: 7px 13px; font-size: 13.5px; min-height: 38px; border-radius: 10px; }
#aitv-root .av-spin { display: inline-block; width: 16px; height: 16px; border: 2.5px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: av-spin .7s linear infinite; }
#aitv-root .av-link { background: none; border: 0; color: var(--ink); font-weight: 600; text-decoration: underline; text-decoration-color: var(--line-2); text-underline-offset: 3px; cursor: pointer; padding: 4px 0; font-size: 14px; }
#aitv-root .av-link:hover { color: var(--accent-d); text-decoration-color: currentColor; }

/* ---------- sticky head: top bar + first promotion bar ---------- */
#aitv-root .av-head { position: sticky; top: 0; z-index: 60; }
#aitv-root.aitv-embedded .av-head { position: relative; }
#aitv-root.aitv-embedded { min-height: 0; }
#aitv-root .av-topbar {
  position: relative; background: var(--glass); border-bottom: 1px solid var(--line);
  -webkit-backdrop-filter: saturate(1.4) blur(14px); backdrop-filter: saturate(1.4) blur(14px);
}
#aitv-root .av-tb { display: flex; align-items: center; gap: 22px; min-height: var(--bar); }
#aitv-root .av-logo { display: inline-flex; align-items: center; gap: 10px; flex-shrink: 0; color: var(--ink); }
#aitv-root .av-mark {
  width: 36px; height: 36px; display: grid; place-items: center; background: var(--ink); color: var(--accent); border-radius: 10px;
  font-size: 16px; transition: transform .35s cubic-bezier(.2,1.5,.4,1);
}
#aitv-root .av-logo:hover .av-mark { transform: rotate(-8deg) scale(1.06); }
#aitv-root .av-word { font-weight: 700; font-size: 19px; letter-spacing: -.02em; line-height: 1; white-space: nowrap; }
#aitv-root .av-word b { font-weight: 800; color: var(--accent); margin-right: 2px; }
#aitv-root .av-nav { position: relative; display: flex; align-items: center; gap: 4px; isolation: isolate; padding: 4px; background: var(--bg-2); border-radius: 999px; }
#aitv-root .av-tab {
  position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 7px; min-height: 36px; padding: 6px 14px; cursor: pointer;
  background: transparent; color: var(--ink-2); border: 0; border-radius: 999px; font-weight: 600; font-size: 14px; -webkit-tap-highlight-color: transparent;
  white-space: nowrap; transition: transform .14s cubic-bezier(.2,1.4,.4,1), background-color .15s, color .2s;
}
#aitv-root .av-tab i { font-size: 13px; opacity: .75; transition: transform .25s cubic-bezier(.2,1.6,.4,1); }
@media (hover: hover) {
  #aitv-root .av-tab:hover { color: var(--ink); background: rgba(255,255,255,.7); }
  #aitv-root .av-tab:hover i { transform: rotate(-10deg) scale(1.12); }
}
#aitv-root .av-tab:active { transform: scale(.96); transition-duration: .05s; }
/* the active tab is painted by the sliding highlight below it */
#aitv-root .av-tab[aria-current="page"], #aitv-root .av-tab[aria-current="page"]:hover { background: transparent; color: var(--ink); }
#aitv-root .av-tab[aria-current="page"] i { opacity: 1; }
#aitv-root .av-tab-ind {
  position: absolute; left: 0; top: 0; z-index: 0; width: 0; height: 0; opacity: 0; pointer-events: none;
  background: var(--surface); border-radius: 999px; box-shadow: 0 1px 2px rgba(var(--shc),.08), 0 4px 12px rgba(var(--shc),.08);
  transition: transform .52s cubic-bezier(.3,1.3,.45,1), width .52s cubic-bezier(.3,1.3,.45,1), height .3s, opacity .2s;
}
#aitv-root .av-tab-ind.no-anim { transition: none !important; }
#aitv-root .av-tab-ind.is-moving { animation: av-squash .52s cubic-bezier(.3,1.2,.4,1); }
@keyframes av-squash { 0% { scale: 1 1; } 35% { scale: 1.08 .86; } 65% { scale: .97 1.04; } 100% { scale: 1 1; } }
#aitv-root .av-count { display: inline-block; background: var(--surface); color: var(--ink-2); border: 1px solid var(--line-2); border-radius: 999px; font-size: 11.5px; line-height: 1.5; padding: 0 7px; font-weight: 700; }
#aitv-root .av-tab[aria-current="page"] .av-count { background: var(--bg-2); border-color: transparent; }
#aitv-root .av-count.bump { animation: av-bump .8s cubic-bezier(.2,1.5,.4,1) 2; }
@keyframes av-bump {
  0% { transform: none; } 22% { transform: translateY(-8px) scale(1.35); background: var(--accent); color: #fff; }
  45% { transform: translateY(0) scale(.92); } 65% { transform: translateY(-3px) scale(1.1); } 100% { transform: none; }
}
/* Deals tab: the one loud thing in the nav */
#aitv-root .av-tab.is-deals { color: var(--sale); }
#aitv-root .av-tab.is-deals i { opacity: 1; }
#aitv-root .av-dcount {
  position: relative; display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px;
  background: var(--sale); color: #fff; font-size: 11.5px; font-weight: 700; line-height: 1; animation: av-dpop .6s cubic-bezier(.2,1.6,.4,1) .3s both;
}
#aitv-root .av-dcount::after { content: ''; position: absolute; inset: 0; border-radius: inherit; animation: av-dring 1.9s ease-out 1s infinite; }
@keyframes av-dpop { 0% { transform: scale(0); } 70% { transform: scale(1.25); } 100% { transform: scale(1); } }
@keyframes av-dring { 0% { box-shadow: 0 0 0 0 rgba(224,40,46,.55); } 75% { box-shadow: 0 0 0 9px rgba(224,40,46,0); } 100% { box-shadow: 0 0 0 0 rgba(224,40,46,0); } }
#aitv-root .av-tab.is-new::before {
  content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; animation: av-glow 1.9s ease-out infinite;
}
@keyframes av-glow {
  0% { box-shadow: 0 0 0 0 rgba(255,90,31,.5); }
  70% { box-shadow: 0 0 0 9px rgba(255,90,31,0); }
  100% { box-shadow: 0 0 0 0 rgba(255,90,31,0); }
}
#aitv-root .av-new {
  position: absolute; top: -7px; right: -4px; z-index: 2; background: var(--accent); color: #fff; border-radius: 999px;
  font-size: 9.5px; font-weight: 700; line-height: 1.5; letter-spacing: .3px; padding: 0 6px; animation: av-newpop 1.9s ease-in-out infinite;
}
@keyframes av-newpop { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.12); } }
#aitv-root .av-tb-r { margin-left: auto; display: flex; align-items: center; gap: 10px; min-width: 0; }
#aitv-root .av-adminpill {
  display: inline-flex; align-items: center; gap: 7px; background: var(--accent-soft); color: var(--accent-d); border-radius: 999px;
  padding: 5px 11px; font-size: 12px; font-weight: 600; white-space: nowrap;
}
#aitv-root .av-ap-short { display: none; }
#aitv-root .av-chip {
  display: inline-flex; align-items: center; gap: 8px; min-width: 0; max-width: 220px; padding: 3px 12px 3px 3px; border-radius: 999px;
  border: 1px solid var(--line); background: var(--surface); color: var(--ink); font-weight: 600; font-size: 13.5px;
}
#aitv-root .av-ava { flex-shrink: 0; width: 30px; height: 30px; display: grid; place-items: center; background: var(--accent-soft); color: var(--accent-d); border-radius: 50%; font-weight: 700; font-size: 13.5px; }
#aitv-root .av-chip-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }

/* ---------- hero ---------- */
#aitv-root .av-hero { padding: 64px 0 18px; }
#aitv-root .av-hero-in { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 40px; align-items: center; }
#aitv-root .av-kicker {
  display: inline-flex; align-items: center; gap: 8px; background: var(--surface); color: var(--ink-2); border: 1px solid var(--line);
  border-radius: 999px; padding: 6px 14px; font-weight: 600; font-size: 13px; margin-bottom: 18px; line-height: 1.3; box-shadow: var(--sh-1);
}
#aitv-root .av-kicker i { color: var(--accent); }
#aitv-root .av-kicker.av-slide-l { animation-name: av-sl; }
#aitv-root .av-hero h1, #aitv-root .av-phead h1 {
  font-size: clamp(34px, 4.4vw, 60px); font-weight: 700; line-height: 1.05; letter-spacing: -.035em; color: var(--ink); max-width: 15ch;
}
#aitv-root .av-phead h1 { max-width: none; font-size: clamp(30px, 3.6vw, 46px); }
#aitv-root .av-out { color: var(--faint); }
#aitv-root .av-fire { color: var(--accent); }
#aitv-root .av-hero p { max-width: 640px; margin: 18px 0 0; color: var(--muted); font-size: 17px; line-height: 1.65; }
#aitv-root .av-hero p b { color: var(--ink); font-weight: 600; }
#aitv-root .av-cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
#aitv-root .av-hero-btn { font-size: 16px; padding: 14px 24px; min-height: 52px; border-radius: 14px; }
#aitv-root .av-hero-btn i { animation: av-wobble 2.6s ease-in-out infinite; }
#aitv-root .av-cta .av-black { min-height: 52px; padding: 14px 22px; border-radius: 14px; }
#aitv-root .av-stats { list-style: none; display: flex; flex-wrap: wrap; gap: 10px 28px; margin-top: 30px; color: var(--muted); font-size: 13.5px; font-weight: 500; }
#aitv-root .av-stats li { display: flex; align-items: baseline; gap: 7px; }
#aitv-root .av-stats b { color: var(--ink); font-size: 18px; font-weight: 700; letter-spacing: -.02em; }
#aitv-root .av-badge {
  flex-shrink: 0; width: 150px; height: 150px; border-radius: 50%; background: var(--surface); border: 1px solid var(--line);
  box-shadow: var(--sh-2); display: grid; place-items: center; position: relative; margin-right: 12px;
}
#aitv-root .av-badge svg { position: absolute; inset: 0; width: 100%; height: 100%; animation: av-spin 18s linear infinite; }
#aitv-root .av-badge svg text { font: 600 13.5px 'Poppins', sans-serif; fill: var(--muted); letter-spacing: 3px; text-transform: uppercase; }
#aitv-root .av-badge .av-core {
  width: 72px; height: 72px; border-radius: 50%; background: var(--accent-soft); display: grid; place-items: center;
  font-size: 28px; color: var(--accent); animation: av-wobble 3.2s ease-in-out infinite;
}

/* page head (Deals / My Tools / Claim) */
#aitv-root .av-phead { padding: 52px 0 28px; }
#aitv-root .av-phead p { max-width: 720px; margin-top: 12px; color: var(--muted); font-size: 16.5px; }
#aitv-root .av-phead p b { color: var(--sale); font-weight: 700; font-variant-numeric: tabular-nums; }

/* ---------- ticker: a quiet moving line ---------- */
#aitv-root .av-tickwrap { overflow: hidden; padding: 26px 0 40px; }
#aitv-root .av-ticker { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); overflow: hidden; white-space: nowrap;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
#aitv-root .av-ticker-track { display: inline-flex; animation: av-tick 40s linear infinite; will-change: transform; }
#aitv-root .av-ticker-track span { font-weight: 500; font-size: 14px; color: var(--muted); padding: 12px 0 12px 26px; display: inline-flex; align-items: center; gap: 26px; }
#aitv-root .av-ticker-track span i { color: var(--line-2); font-size: 5px; }
@keyframes av-tick { to { transform: translateX(-50%); } }

/* ---------- section labels ---------- */
#aitv-root .av-shead { margin: 12px 0 20px; scroll-margin-top: 140px; }
#aitv-root .av-label { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; font-size: 26px; font-weight: 700; letter-spacing: -.025em; line-height: 1.2; margin-bottom: 6px; color: var(--ink); }
#aitv-root .av-label .av-num { background: var(--bg-2); color: var(--muted); border-radius: 999px; font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; padding: 4px 11px; }
#aitv-root .av-label .av-num-sale { background: var(--sale); color: #fff; }
#aitv-root .av-sub { color: var(--muted); font-size: 15px; max-width: 680px; }

/* ---------- toolbar: search + count + chips ---------- */
#aitv-root .av-toolbar { display: flex; align-items: center; gap: 18px; margin-bottom: 14px; }
#aitv-root .av-search { position: relative; flex: 0 1 480px; min-width: 0; }
#aitv-root .av-search i { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); color: var(--faint); pointer-events: none; font-size: 15px; }
#aitv-root .av-search .av-input { padding-left: 44px; border-radius: 999px; box-shadow: var(--sh-1); }
#aitv-root .av-meta { margin-left: auto; font-size: 14px; color: var(--muted); font-weight: 500; white-space: nowrap; }
#aitv-root .av-meta b { color: var(--ink); font-weight: 700; }
#aitv-root .av-chips {
  display: flex; gap: 8px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity;
  padding: 4px 2px 12px; margin: 0 0 20px; scrollbar-width: thin; scrollbar-color: var(--line-2) transparent;
  -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 40px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 40px), transparent);
}
#aitv-root .av-chips::-webkit-scrollbar { height: 5px; }
#aitv-root .av-chips::-webkit-scrollbar-thumb { background: var(--line-2); border-radius: 9px; }
#aitv-root .av-chipf {
  flex-shrink: 0; scroll-snap-align: start; display: inline-flex; align-items: center; gap: 7px; cursor: pointer; min-height: 38px;
  padding: 6px 14px; background: var(--surface); color: var(--ink-2); border: 1px solid var(--line); border-radius: 999px;
  font-weight: 500; font-size: 13.5px; white-space: nowrap; transition: background-color .15s, color .15s, border-color .15s, transform .15s;
}
#aitv-root .av-chipf span { font-size: 12px; font-weight: 600; color: var(--faint); }
#aitv-root .av-chipf:hover { border-color: var(--line-2); color: var(--ink); }
#aitv-root .av-chipf:active { transform: scale(.97); }
#aitv-root .av-chipf[aria-pressed="true"] { background: var(--inv); color: var(--on-inv); border-color: var(--inv); }
#aitv-root .av-chipf[aria-pressed="true"] span { color: rgba(255,255,255,.65); }
#aitv-root .av-chipf.is-salechip { background: var(--sale-soft); color: var(--sale); border-color: var(--sale-line); font-weight: 600; }
#aitv-root .av-chipf.is-salechip span { color: var(--sale); opacity: .8; }
#aitv-root .av-chipf.is-salechip i { animation: av-flick 1.6s ease-in-out infinite; }
#aitv-root .av-chipf.is-salechip[aria-pressed="true"] { background: var(--sale); color: #fff; border-color: var(--sale); }
#aitv-root .av-chipf.is-salechip[aria-pressed="true"] span { color: #fff; }
@keyframes av-flick { 0%,100% { transform: scale(1) rotate(0); } 50% { transform: scale(1.18) rotate(-6deg); } }

/* ---------- inputs ---------- */
#aitv-root .av-input {
  width: 100%; border: 1px solid var(--line-2); background: var(--surface); color: var(--ink); padding: 12px 14px; font-size: 16px; font-weight: 400; border-radius: 12px;
  box-shadow: none; min-height: 48px; transition: box-shadow .15s, border-color .15s; -webkit-appearance: none; appearance: none; line-height: 1.4;
}
#aitv-root .av-input::placeholder { color: var(--faint); }
#aitv-root .av-input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 4px rgba(255,90,31,.14); }
#aitv-root .av-input.is-bad { border-color: var(--sale); animation: av-shake .4s; }

/* ---------- tool grid ---------- */
#aitv-root .av-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 22px; }
@media (min-width: 600px) { #aitv-root .av-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 24px; } }
@media (min-width: 960px) { #aitv-root .av-grid { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 28px; } }
#aitv-root .av-card {
  position: relative; background: var(--surface); color: var(--ink); border: 1px solid var(--line); border-radius: var(--r); box-shadow: var(--sh-1);
  padding: 16px; display: flex; flex-direction: column; min-width: 0; overflow: hidden;
  transition: transform .28s var(--ease), box-shadow .28s var(--ease), border-color .2s; content-visibility: auto; contain-intrinsic-size: auto 268px;
}
#aitv-root .av-card.av-rise { opacity: 1; animation-fill-mode: backwards; } /* let :hover transforms win after the entrance */
#aitv-root .av-card:hover { transform: translateY(-4px); box-shadow: var(--sh-2); border-color: var(--line-2); }
#aitv-root .av-card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; margin-bottom: 14px; }
#aitv-root .av-card .av-emo {
  position: relative; flex-shrink: 0; width: 56px; height: 56px; background: var(--soft); border: 1px solid var(--line); border-radius: 14px;
  display: grid; place-items: center; font-size: 28px; line-height: 1; transition: transform .3s cubic-bezier(.2,1.5,.4,1);
}
#aitv-root .av-card:hover .av-emo { transform: rotate(-8deg) scale(1.08); }
#aitv-root .av-card.is-locked .av-emo::after, #aitv-root .av-card.is-locked .av-strip-emo::after {
  content: '\f023'; font-family: 'Font Awesome 6 Free'; font-weight: 900; position: absolute; right: -6px; bottom: -6px; width: 20px; height: 20px;
  background: var(--inv); color: var(--on-inv); border: 2px solid var(--surface); border-radius: 50%; font-size: 8.5px; display: grid; place-items: center;
}
#aitv-root .av-card .av-cat {
  min-width: 0; max-width: calc(100% - 72px); font-size: 12px; line-height: 1.5; font-weight: 500; color: var(--muted);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
#aitv-root .av-card h3 {
  font-size: 17px; font-weight: 600; letter-spacing: -.015em; line-height: 1.3; color: var(--ink); margin-bottom: 6px;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere;
}
#aitv-root .av-card p {
  font-size: 14px; line-height: 1.55; color: var(--muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  min-height: 3.1em; margin-bottom: auto;
}
#aitv-root .av-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line); }
#aitv-root .av-fbtns { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
#aitv-root .av-price { font-size: 21px; font-weight: 700; line-height: 1; color: var(--ink); letter-spacing: -.02em; min-width: 0; }
#aitv-root .av-price small { font-size: 12px; font-weight: 500; color: var(--faint); display: block; margin-top: 5px; letter-spacing: 0; }
#aitv-root .av-owned {
  display: inline-flex; align-items: center; gap: 6px; font-weight: 600; font-size: 13px; color: var(--ok); background: var(--ok-soft); border-radius: 999px; padding: 4px 10px;
}
/* card cover (tools with samples) */
#aitv-root .av-card.has-cover { contain-intrinsic-size: auto 720px; }
#aitv-root .av-cover {
  position: relative; margin: -16px -16px 0; aspect-ratio: 4 / 5; overflow: hidden;
  background: linear-gradient(100deg, var(--bg-2) 30%, var(--soft) 50%, var(--bg-2) 70%) 0 0 / 250% 100%; animation: av-sk 1.25s linear infinite;
}
#aitv-root .av-cover:has(img.is-loaded) { animation: none; background: var(--bg-2); }
@keyframes av-sk { from { background-position: 100% 0; } to { background-position: -150% 0; } }
#aitv-root .av-cover-hit { position: absolute; inset: 0; display: block; width: 100%; height: 100%; padding: 0; margin: 0; border: 0; background: none; cursor: zoom-in; overflow: hidden; }
#aitv-root .av-cover-hit:focus-visible { outline-offset: -4px; }
/* carousel: stacked slides, the .is-on one is shown (crossfade + slow settle zoom) */
/* (1.3: slide styles live in the "card carousel" block at the end of the file) */
#aitv-root .av-cover.is-error img { display: none; }
/* info strip under the image (nothing sits on top of the samples) */
#aitv-root .av-strip { display: flex; align-items: center; gap: 9px; margin: 0 -16px 12px; padding: 10px 16px; min-width: 0; border-bottom: 1px solid var(--line); }
#aitv-root .av-strip-emo {
  position: relative; flex-shrink: 0; width: 32px; height: 32px; display: grid; place-items: center; font-size: 17px; line-height: 1;
  background: var(--soft); border: 1px solid var(--line); border-radius: 9px;
}
#aitv-root .av-strip .av-cat { max-width: none; flex: 0 1 auto; }
#aitv-root .av-cv-nav { margin-left: auto; display: flex; align-items: center; gap: 4px; flex-shrink: 0; }
#aitv-root .av-cv-all, #aitv-root .av-cv-ask {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 30px; padding: 0 10px; background: none; border: 1px solid var(--line); border-radius: 999px;
  color: var(--ink-2); cursor: pointer; font: inherit; font-size: 12.5px; font-weight: 600; line-height: 1; transition: background-color .15s, color .15s, border-color .15s;
}
#aitv-root .av-cv-ask { width: 30px; padding: 0; font-size: 11.5px; }
#aitv-root .av-top-tags .av-cv-ask { margin-left: 2px; }
#aitv-root .av-cv-all:hover, #aitv-root .av-cv-ask:hover, #aitv-root .av-cv-all:focus-visible, #aitv-root .av-cv-ask:focus-visible { background: var(--inv); color: var(--on-inv); border-color: var(--inv); }
#aitv-root .av-cv-dots { display: flex; gap: 0; }
#aitv-root .av-cv-dot { width: 16px; height: 28px; padding: 0; border: 0; background: none; cursor: pointer; display: grid; place-items: center; }
#aitv-root .av-cv-dot::before { content: ''; width: 6px; height: 6px; border-radius: 9px; background: var(--line-2); transition: background-color .25s, width .3s var(--ease); }
#aitv-root .av-cv-dot:hover::before { background: var(--faint); }
#aitv-root .av-cv-dot[aria-current="true"]::before { background: var(--ink); width: 12px; }
#aitv-root .av-card.is-hl { animation: av-hl 1.4s ease-in-out 3; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(255,90,31,.25), var(--sh-2); }
@keyframes av-hl { 50% { transform: scale(1.02); } }
#aitv-root .av-more { display: flex; justify-content: center; margin: 44px 0 0; }
#aitv-root .av-more-n { background: var(--bg-2); color: var(--muted); border-radius: 999px; padding: 1px 8px; font-size: 12.5px; margin-left: 4px; }

/* sale card: a slowly travelling accent border (promotions are the only thing that moves) */
@property --av-a { syntax: '<angle>'; inherits: false; initial-value: 0deg; }
#aitv-root .av-card.is-sale { border-color: transparent; }
#aitv-root .av-card.is-sale::before {
  content: ''; position: absolute; inset: 0; z-index: 3; pointer-events: none; border-radius: inherit; padding: 2px;
  background: conic-gradient(from var(--av-a), #ff5a1f, #ffb08a 25%, #e0282e 50%, #ffb08a 75%, #ff5a1f);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
  animation: av-bspin 5s linear infinite;
}
@keyframes av-bspin { to { --av-a: 360deg; } }

/* skeleton */
#aitv-root .av-skel { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); min-height: 250px; position: relative; overflow: hidden; }
#aitv-root .av-skel::after { content: ''; position: absolute; inset: 0; background: linear-gradient(100deg, transparent 20%, color-mix(in srgb, var(--bg-2) 90%, transparent) 50%, transparent 80%); transform: translateX(-100%); animation: av-shimmer 1.3s infinite; }
@keyframes av-shimmer { to { transform: translateX(100%); } }
#aitv-root .av-skel-line { height: 16px; margin: 22px 18px 0; background: var(--bg-2); border-radius: 6px; }
#aitv-root .av-skel-line.s { width: 55%; height: 12px; margin-top: 12px; }
#aitv-root .av-skel-sq { width: 56px; height: 56px; margin: 18px 18px 0; background: var(--bg-2); border-radius: 14px; }

/* empty state */
#aitv-root .av-empty { text-align: center; border: 1px dashed var(--line-2); border-radius: var(--r); background: color-mix(in srgb, var(--surface) 55%, transparent); padding: 52px 24px; max-width: 680px; margin: 16px auto 0; }
#aitv-root .av-empty .av-eico { font-size: 48px; line-height: 1; margin-bottom: 14px; display: inline-block; animation: av-wobble 3.2s ease-in-out infinite; }
#aitv-root .av-empty h3 { font-size: 22px; font-weight: 700; letter-spacing: -.02em; margin-bottom: 8px; }
#aitv-root .av-empty p { color: var(--muted); margin: 0 auto 22px; max-width: 470px; }
#aitv-root .av-row { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* ---------- messages ---------- */
#aitv-root .av-msg { border: 1px solid var(--warn-line); background: var(--warn-soft); border-radius: 12px; padding: 11px 14px; font-weight: 500; font-size: 14px; margin-bottom: 16px; color: var(--ink); }
#aitv-root .av-msg.err { background: var(--sale-soft); border-color: var(--sale-line); color: var(--sale-ink); }
#aitv-root .av-lockmsg { max-width: 1080px; margin: 0 auto 22px; }

/* ---------- welcome-back slide-in ---------- */
#aitv-root .av-welcome {
  display: flex; align-items: center; gap: 18px; flex-wrap: wrap; background: var(--ok-soft); color: var(--ink); border: 1px solid var(--ok-line); border-radius: var(--r);
  padding: 20px 64px 20px 22px; margin: 0 0 34px; position: relative; overflow: hidden;
}
#aitv-root .av-welcome .av-wicon { font-size: 36px; line-height: 1; animation: av-wobble 2.6s ease-in-out infinite; }
#aitv-root .av-welcome h3 { font-size: 19px; font-weight: 700; line-height: 1.2; }
#aitv-root .av-welcome p { font-size: 14.5px; color: var(--ink-2); }
#aitv-root .av-welcome .av-wtxt { flex: 1 1 280px; }
#aitv-root .av-welcome .av-x { position: absolute; top: 12px; right: 12px; width: 34px; height: 34px; border-radius: 50%; background: rgba(255,255,255,.7); color: var(--ink); border: 0; cursor: pointer; font-size: 15px; transition: transform .2s, background-color .15s; }
#aitv-root .av-welcome .av-x:hover { background: var(--surface); transform: rotate(90deg); }

/* ---------- all-access card ---------- */
#aitv-root .av-aa {
  position: relative; overflow: hidden; margin: 0 0 64px; border-radius: 24px; color: #fff;
  background: radial-gradient(700px 320px at 100% 0%, rgba(255,90,31,.35), transparent 60%), radial-gradient(500px 300px at 0% 100%, rgba(255,160,90,.12), transparent 60%), #1a1714;
  padding: 36px 40px; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 36px; align-items: center; box-shadow: var(--sh-2);
}
#aitv-root .av-aa::before { content: ''; position: absolute; inset: -50%; background: repeating-linear-gradient(45deg, rgba(255,255,255,.025) 0 18px, transparent 18px 36px); animation: av-stripes 3s linear infinite; will-change: transform; }
@keyframes av-stripes { to { transform: translate(51px, 0); } }
#aitv-root .av-aa > * { position: relative; min-width: 0; }
#aitv-root .av-aa .av-tag { display: inline-flex; align-items: center; gap: 6px; background: rgba(255,90,31,.16); color: #ffb08a; font-weight: 600; font-size: 12.5px; border-radius: 999px; padding: 5px 12px; margin-bottom: 14px; }
#aitv-root .av-aa h2 { font-size: clamp(26px, 3.2vw, 40px); font-weight: 700; line-height: 1.1; letter-spacing: -.03em; color: #fff; }
#aitv-root .av-aa h2 .av-strike { color: var(--accent); }
#aitv-root .av-aa p { margin: 12px 0 20px; font-size: 15.5px; max-width: 600px; color: rgba(255,255,255,.72); }
#aitv-root .av-cd { display: flex; gap: 10px; flex-wrap: wrap; }
#aitv-root .av-cd div { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.1); border-radius: 12px; min-width: 70px; padding: 8px 10px; text-align: center; }
#aitv-root .av-cd b { display: block; font-size: 26px; font-weight: 700; line-height: 1.1; font-variant-numeric: tabular-nums; color: #fff; }
#aitv-root .av-cd small { font-size: 10.5px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; color: rgba(255,255,255,.55); }
#aitv-root .av-aa-buy { text-align: center; padding: 0 8px; }
#aitv-root .av-aa-price { font-size: clamp(52px, 6.4vw, 80px); font-weight: 700; line-height: .95; margin-bottom: 8px; color: #fff; letter-spacing: -.04em; }
#aitv-root .av-aa-note { font-size: 13px; font-weight: 500; margin-bottom: 18px; color: rgba(255,255,255,.6); }
#aitv-root .av-aa .av-btn { background: var(--accent); border-color: var(--accent); color: #fff; animation: av-pulse 2.4s ease-in-out infinite; }
#aitv-root .av-aa .av-btn:hover { animation: none; background: var(--accent-d); }
#aitv-root .av-aa.have { background: radial-gradient(600px 300px at 100% 0%, rgba(25,211,176,.25), transparent 60%), #10231e; grid-template-columns: minmax(0,1fr); }
#aitv-root .av-aa.have .av-tag { background: rgba(25,211,176,.16); color: #7de8d2; }
#aitv-root .av-aa.have h2 { font-size: clamp(22px, 2.6vw, 32px); }
#aitv-root .av-aa.have p { margin-bottom: 0; }
#aitv-root .av-aa-was { display: flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 4px; }
#aitv-root .av-aa-was s { font-size: 24px; font-weight: 600; color: rgba(255,255,255,.5); text-decoration-thickness: 2px; }
#aitv-root .av-aa .av-off { background: var(--sale); color: #fff; font-size: 13.5px; padding: 3px 9px; }
#aitv-root .av-aa-ends { margin: -8px 0 16px; font-size: 13px; font-weight: 600; color: #ffb08a; font-variant-numeric: tabular-nums; }
#aitv-root .av-aa.is-sale { box-shadow: 0 0 0 1px rgba(255,90,31,.45), var(--sh-2); }

#aitv-root .av-lockbar { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; background: var(--accent-soft); color: var(--ink); border: 1px solid var(--accent-line); border-radius: var(--r); padding: 16px 20px; margin-bottom: 34px; }
#aitv-root .av-lockbar > i { font-size: 18px; color: var(--accent-d); }
#aitv-root .av-lockbar b { font-size: 16px; font-weight: 600; margin-right: auto; }

/* ---------- sign in: centered split panel ---------- */
#aitv-root .av-signin { padding: 56px 0 88px; }
#aitv-root .av-split {
  max-width: 1080px; margin: 0 auto; display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,1fr);
  border: 1px solid var(--line); border-radius: 26px; box-shadow: var(--sh-2); background: var(--surface); overflow: hidden;
}
#aitv-root .av-split-l { position: relative; overflow: hidden; padding: 48px 44px 44px; background: radial-gradient(600px 360px at 0% 0%, rgba(255,90,31,.10), transparent 60%), var(--soft); border-right: 1px solid var(--line); }
#aitv-root .av-split-l h1 { font-size: clamp(30px, 3.2vw, 42px); font-weight: 700; line-height: 1.08; letter-spacing: -.03em; }
#aitv-root .av-pitch { margin: 14px 0 26px; color: var(--muted); font-size: 16px; max-width: 460px; }
#aitv-root .av-split-r { padding: 40px; background: var(--surface); display: flex; flex-direction: column; justify-content: center; gap: 16px; }
#aitv-root .av-back { align-self: center; color: var(--muted); font-size: 14px; display: inline-flex; gap: 8px; align-items: center; text-decoration: none; }
#aitv-root .av-back:hover { color: var(--ink); }
#aitv-root .av-card-paper { background: var(--surface); color: var(--ink); position: relative; }
#aitv-root .av-card-paper h2 { font-size: 24px; font-weight: 700; letter-spacing: -.02em; line-height: 1.2; margin-bottom: 6px; }
#aitv-root .av-card-paper .av-hint { color: var(--muted); font-size: 14.5px; margin-bottom: 22px; }
#aitv-root .av-field { display: block; margin-bottom: 16px; }
#aitv-root .av-field > span { display: block; font-weight: 600; font-size: 13.5px; margin-bottom: 6px; color: var(--ink-2); }
#aitv-root .av-check { position: relative; display: flex; gap: 12px; align-items: center; margin: 4px 0 20px; cursor: pointer; font-size: 14px; font-weight: 500; color: var(--ink-2); }
#aitv-root .av-check input { position: absolute; opacity: 0; width: 1px; height: 1px; }
#aitv-root .av-check .av-box { flex-shrink: 0; width: 22px; height: 22px; border: 1.5px solid var(--line-2); border-radius: 7px; background: var(--surface); display: grid; place-items: center; color: transparent; font-size: 12px; transition: background-color .15s, border-color .15s, transform .2s cubic-bezier(.2,1.6,.4,1); }
#aitv-root .av-check input:checked + .av-box { background: var(--accent); border-color: var(--accent); color: #fff; transform: scale(1.06); }
#aitv-root .av-check input:focus-visible + .av-box { outline: 2px solid var(--accent); outline-offset: 3px; }
#aitv-root .av-fine { font-size: 12.5px; color: var(--muted); margin-top: 14px; }
#aitv-root .av-fine a { color: var(--ink); font-weight: 600; text-decoration: underline; }
#aitv-root .av-code { display: flex; gap: 10px; margin: 16px 0 22px; }
#aitv-root .av-code input {
  flex: 1 1 0; min-width: 0; max-width: 60px; height: 62px; text-align: center; font-size: 26px; font-weight: 700; border: 1px solid var(--line-2);
  background: var(--surface); color: var(--ink); border-radius: 12px; padding: 0; -webkit-appearance: none; appearance: none; transition: box-shadow .15s, border-color .15s, transform .15s;
}
#aitv-root .av-code input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 4px rgba(255,90,31,.14); transform: translateY(-2px); }
#aitv-root .av-code input.filled { background: var(--accent-soft); border-color: var(--accent-line); }
#aitv-root .av-code.shake { animation: av-shake .4s; }
#aitv-root .av-resend { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 16px; }
#aitv-root .av-link[disabled] { opacity: .6; cursor: default; text-decoration: none; }
#aitv-root .av-sticker {
  background: var(--surface); color: var(--ink); border: 1px solid var(--line); border-radius: var(--r); box-shadow: var(--sh-1); padding: 20px 22px 20px 26px; position: relative; overflow: hidden;
  animation: av-nudge 6s ease-in-out 2s infinite;
}
#aitv-root .av-sticker::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--accent); }
#aitv-root .av-sticker h3 { font-size: 20px; font-weight: 700; letter-spacing: -.02em; line-height: 1.2; margin: 0 0 8px; }
#aitv-root .av-sticker h3 em { font-style: normal; color: var(--accent); }
#aitv-root .av-sticker p { font-size: 14.5px; line-height: 1.55; color: var(--ink-2); }
#aitv-root .av-sticker p u { text-decoration-thickness: 2px; text-decoration-color: rgba(255,90,31,.5); text-underline-offset: 2px; }
@keyframes av-nudge { 0%, 88%, 100% { transform: none; } 91% { transform: translateY(-3px) rotate(.4deg); } 94% { transform: translateY(0) rotate(-.4deg); } }
#aitv-root .av-perks { list-style: none; margin-top: 28px; display: grid; gap: 12px; }
#aitv-root .av-perks li { display: flex; gap: 12px; align-items: center; font-weight: 500; font-size: 15px; color: var(--ink-2); }
#aitv-root .av-perks li i { flex-shrink: 0; width: 34px; height: 34px; background: var(--surface); color: var(--accent); border: 1px solid var(--line); border-radius: 10px; display: grid; place-items: center; font-size: 13px; }

/* ---------- claim ---------- */
#aitv-root .av-claim { max-width: 920px; }
#aitv-root .av-panel { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); box-shadow: var(--sh-1); padding: 28px; }
#aitv-root .av-panel .av-field { margin-bottom: 8px; }
#aitv-root .av-textarea { min-height: 220px; resize: vertical; line-height: 1.6; font-size: 14.5px; font-family: ui-monospace, 'SFMono-Regular', Consolas, monospace; }
#aitv-root .av-panel-foot { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-top: 20px; }
#aitv-root .av-panel-foot .av-fine { margin: 0; flex: 1 1 260px; }
#aitv-root .av-results { list-style: none; margin: 18px 0 0; padding: 0; display: grid; gap: 10px; }
#aitv-root .av-res { display: flex; gap: 14px; align-items: center; background: var(--surface); border: 1px solid var(--line); border-radius: 14px; padding: 12px 16px; opacity: 0; animation: av-sl .55s cubic-bezier(.2,1,.3,1.1) forwards; min-width: 0; }
#aitv-root .av-res .av-ri { width: 40px; height: 40px; flex-shrink: 0; display: grid; place-items: center; border-radius: 12px; font-size: 18px; background: var(--soft); }
#aitv-root .av-res.ok .av-ri { background: var(--ok-soft); }
#aitv-root .av-res.already .av-ri { background: var(--warn-soft); }
#aitv-root .av-res.bad .av-ri { background: var(--sale-soft); }
#aitv-root .av-res .av-rt { min-width: 0; flex: 1; }
#aitv-root .av-res strong { display: block; font-size: 14.5px; font-weight: 600; line-height: 1.3; }
#aitv-root .av-res span { display: block; font-size: 12.5px; color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#aitv-root .av-sum { margin-top: 30px; display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }
#aitv-root .av-sum b { font-size: 18px; font-weight: 700; margin-right: auto; }

/* ---------- modal ---------- */
#aitv-root .av-overlay {
  position: fixed; inset: 0; z-index: 99990; display: flex; align-items: center; justify-content: center; padding: 20px;
  background: rgba(var(--shc),.42); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  opacity: 0; pointer-events: none; visibility: hidden; transition: opacity .25s, visibility 0s .25s;
}
#aitv-root .av-overlay.open { opacity: 1; pointer-events: auto; visibility: visible; transition: opacity .25s; }
#aitv-root .av-modal {
  position: relative; background: var(--surface); color: var(--ink); border-radius: 24px; box-shadow: var(--sh-3); width: min(540px, 100%); max-height: calc(100vh - 40px); max-height: calc(100dvh - 40px);
  display: flex; flex-direction: column; overflow: hidden; transform: translateY(60px) scale(.92); opacity: 0; transition: transform .5s cubic-bezier(.2,1.25,.4,1), opacity .3s;
}
#aitv-root .av-modal.is-wide { width: min(780px, 100%); }
#aitv-root .av-modal.is-ask { width: min(600px, 100%); }
#aitv-root .av-overlay.open .av-modal { transform: none; opacity: 1; }
#aitv-root .av-mhead { padding: 24px 72px 18px 28px; position: relative; flex-shrink: 0; border-bottom: 1px solid var(--line); }
#aitv-root .av-mhead h3 { font-size: 22px; font-weight: 700; line-height: 1.2; letter-spacing: -.02em; }
#aitv-root .av-mhead h3 span { color: var(--accent); }
#aitv-root .av-mhead p { color: var(--muted); font-size: 14px; margin-top: 4px; }
#aitv-root .av-mx { position: absolute; top: 18px; right: 18px; width: 40px; height: 40px; border-radius: 50%; background: var(--bg-2); color: var(--ink); border: 0; font-size: 17px; cursor: pointer; transition: transform .25s, background-color .15s; display: grid; place-items: center; }
#aitv-root .av-mx:hover { transform: rotate(90deg); background: var(--line); }
#aitv-root .av-mbody { padding: 22px 28px 26px; overflow-y: auto; overscroll-behavior: contain; }
#aitv-root .av-sumbox { background: var(--soft); border: 1px solid var(--line); border-radius: 16px; margin-bottom: 20px; overflow: hidden; }
#aitv-root .av-sumrow { display: flex; align-items: center; gap: 14px; padding: 16px; }
#aitv-root .av-sumrow .av-emo { width: 50px; height: 50px; flex-shrink: 0; background: var(--surface); border: 1px solid var(--line); border-radius: 13px; display: grid; place-items: center; font-size: 25px; }
#aitv-root .av-sumname { min-width: 0; }
#aitv-root .av-sumrow strong { display: block; font-size: 15.5px; font-weight: 600; line-height: 1.25; }
#aitv-root .av-sumrow span { font-size: 13px; color: var(--muted); }
#aitv-root .av-sumrow .av-amt { margin-left: auto; font-weight: 700; font-size: 20px; white-space: nowrap; }
#aitv-root .av-sumtot { display: flex; justify-content: space-between; align-items: center; padding: 12px 16px; border-top: 1px solid var(--line); background: var(--surface); font-weight: 600; }
#aitv-root .av-sumtot b { font-size: 22px; font-weight: 700; letter-spacing: -.02em; }
#aitv-root .av-trust { list-style: none; display: grid; gap: 8px; margin-bottom: 18px; font-size: 14px; color: var(--ink-2); }
#aitv-root .av-trust li { display: flex; gap: 10px; align-items: center; }
#aitv-root .av-trust i { color: var(--ok); width: 16px; text-align: center; flex-shrink: 0; }
#aitv-root .av-trust a { color: var(--ink); font-weight: 600; text-decoration: underline; }
#aitv-root .av-trust .av-link { padding: 0; font-size: 14px; text-align: left; white-space: normal; }
/* checkout consent gate */
#aitv-root .av-consent { align-items: flex-start; margin: 0 0 14px; padding: 14px; border: 1px solid var(--line-2); border-radius: 14px; background: var(--soft); font-size: 13.5px; line-height: 1.5; color: var(--ink); transition: border-color .2s, background-color .2s; }
#aitv-root .av-consent .av-box { margin-top: 1px; }
#aitv-root .av-consent a { font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
#aitv-root .av-consent:has(input:checked) { border-color: var(--ok-line); background: var(--ok-soft); }
#aitv-root .av-consent:has(input:checked) .av-box { background: var(--ok); border-color: var(--ok); }
#aitv-root .av-consent.is-bad { border-color: var(--sale); background: var(--sale-soft); animation: av-shake .4s; }
#aitv-root .av-pp { min-height: 112px; position: relative; transition: opacity .25s, filter .25s; }
#aitv-root .av-pp.is-locked { opacity: .55; filter: grayscale(1); cursor: not-allowed; }
#aitv-root .av-pp.is-locked > * { pointer-events: none; }
#aitv-root .av-pp .av-msg { margin-bottom: 0; }
#aitv-root .av-pp-load, #aitv-root .av-pp-wait { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 112px; padding: 12px; text-align: center; font-weight: 500; font-size: 14px; color: var(--muted); border: 1px dashed var(--line-2); border-radius: 14px; }
#aitv-root .av-pp-load .av-spin { color: var(--accent); width: 20px; height: 20px; }
#aitv-root .av-privacy { display: flex; gap: 8px; align-items: flex-start; font-size: 12px; color: var(--faint); margin-top: 12px; }
#aitv-root .av-privacy i { margin-top: 3px; }
#aitv-root .av-done { text-align: center; padding: 14px 6px 6px; }
#aitv-root .av-done .av-check-big { width: 88px; height: 88px; margin: 0 auto 16px; border-radius: 50%; background: var(--ok); box-shadow: 0 0 0 10px var(--ok-soft); display: grid; place-items: center; font-size: 38px; color: #fff; animation: av-slam .7s cubic-bezier(.2,1.4,.4,1) both; }
#aitv-root .av-done h3 { font-size: 26px; font-weight: 700; letter-spacing: -.02em; line-height: 1.15; margin-bottom: 8px; }
#aitv-root .av-done p { color: var(--muted); font-size: 15px; margin-bottom: 22px; }

/* ---------- tool details modal ---------- */
#aitv-root .av-dt-head { display: flex; align-items: center; gap: 14px; }
#aitv-root .av-dt-emo { flex-shrink: 0; width: 52px; height: 52px; display: grid; place-items: center; font-size: 26px; background: var(--soft); border: 1px solid var(--line); border-radius: 14px; }
#aitv-root .av-dt-ttl { min-width: 0; }
#aitv-root .av-dt-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
#aitv-root .av-dt-chip { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 500; color: var(--muted); background: var(--bg-2); border-radius: 999px; padding: 3px 10px; }
#aitv-root .av-dt-chip.is-out { background: var(--accent-soft); color: var(--accent-d); font-weight: 600; }
#aitv-root .av-dt > * + * { margin-top: 22px; }
#aitv-root .av-dt-strip { display: flex; gap: 10px; overflow-x: auto; margin: 0 -28px; padding: 2px 28px 8px; scroll-padding: 0 28px; scroll-snap-type: x proximity; scrollbar-width: thin; scrollbar-color: var(--line-2) transparent; }
#aitv-root .av-dt-th { flex: 0 0 auto; width: 112px; aspect-ratio: 4 / 5; padding: 0; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; background: var(--bg-2); cursor: zoom-in; scroll-snap-align: start; transition: transform .25s var(--ease), box-shadow .25s; }
#aitv-root .av-dt-th img { width: 100%; height: 100%; object-fit: cover; display: block; }
#aitv-root .av-dt-th:hover { transform: translateY(-3px); box-shadow: var(--sh-2); }
#aitv-root .av-dt-sec h4 { font-size: 12.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--faint); margin-bottom: 10px; }
#aitv-root .av-dt-p { font-size: 15px; color: var(--ink-2); line-height: 1.65; white-space: pre-line; overflow-wrap: anywhere; }
#aitv-root .av-dt-list { list-style: none; display: grid; gap: 8px; }
#aitv-root .av-dt-list li { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; color: var(--ink-2); }
#aitv-root .av-dt-list i { flex-shrink: 0; width: 20px; height: 20px; margin-top: 2px; display: grid; place-items: center; border-radius: 50%; background: var(--ok-soft); color: var(--ok); font-size: 10px; }
#aitv-root .av-dt-steps { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; }
#aitv-root .av-dt-steps li { display: flex; flex-direction: column; gap: 8px; padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: var(--soft); font-size: 14px; font-weight: 500; color: var(--ink-2); line-height: 1.4; }
#aitv-root .av-dt-steps b { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; background: var(--inv); color: var(--on-inv); font-size: 12.5px; font-weight: 700; }
#aitv-root .av-dt-req { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; background: var(--warn-soft); border: 1px solid var(--warn-line); border-radius: 12px; font-size: 14px; }
#aitv-root .av-dt-req i { margin-top: 4px; color: var(--gold); }
#aitv-root .av-faq { border-top: 1px solid var(--line); }
#aitv-root .av-faq details { border-bottom: 1px solid var(--line); }
#aitv-root .av-faq summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 2px; cursor: pointer; font-size: 15px; font-weight: 600; color: var(--ink); border-radius: 6px; }
#aitv-root .av-faq summary::-webkit-details-marker { display: none; }
#aitv-root .av-faq summary i { flex-shrink: 0; font-size: 12px; color: var(--faint); transition: transform .3s var(--ease); }
#aitv-root .av-faq details[open] summary i { transform: rotate(180deg); }
#aitv-root .av-faq details p { padding: 0 2px 14px; font-size: 14.5px; color: var(--muted); line-height: 1.6; white-space: pre-line; animation: av-rise .35s var(--ease); }
#aitv-root .av-askcta {
  display: flex; align-items: center; gap: 12px; width: 100%; margin-top: 16px; padding: 14px 16px; border: 1px solid var(--line-2); border-radius: 14px; background: var(--surface);
  color: var(--ink); font: inherit; font-size: 14.5px; text-align: left; cursor: pointer; transition: border-color .15s, box-shadow .2s, transform .2s var(--ease);
}
#aitv-root .av-askcta > i:first-child { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 10px; background: var(--accent-soft); color: var(--accent-d); font-size: 16px; flex-shrink: 0; }
#aitv-root .av-askcta span { flex: 1; min-width: 0; color: var(--muted); }
#aitv-root .av-askcta b { color: var(--ink); font-weight: 600; margin-right: 4px; }
#aitv-root .av-askcta > i:last-child { color: var(--faint); transition: transform .2s; }
#aitv-root .av-askcta:hover { border-color: var(--ink); box-shadow: var(--sh-1); }
#aitv-root .av-askcta:hover > i:last-child { transform: translateX(3px); color: var(--ink); }
#aitv-root .av-dt-foot { flex-shrink: 0; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 28px; border-top: 1px solid var(--line); background: var(--glass); }

/* ---------- ask modal ---------- */
#aitv-root .av-ask > * + * { margin-top: 16px; }
#aitv-root .av-askchips { display: flex; flex-wrap: wrap; gap: 8px; }
#aitv-root .av-askchip {
  padding: 8px 13px; border: 1px solid var(--line-2); border-radius: 999px; background: var(--surface); color: var(--ink-2); font: inherit; font-size: 13.5px; font-weight: 500;
  line-height: 1.35; text-align: left; cursor: pointer; transition: background-color .15s, border-color .15s, color .15s, transform .15s;
}
#aitv-root .av-askchip:hover { border-color: var(--ink); color: var(--ink); }
#aitv-root .av-askchip:active { transform: scale(.97); }
#aitv-root .av-askchip[aria-pressed="true"] { background: var(--accent-soft); border-color: var(--accent); color: var(--accent-d); }
#aitv-root .av-ask .av-field { margin: 0; }
#aitv-root .av-askta { min-height: 88px; resize: vertical; font-size: 15px; }
#aitv-root .av-askprev { display: grid; gap: 8px; }
#aitv-root .av-askprev small, #aitv-root .av-sw-h small { font-size: 12.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--faint); }
#aitv-root .av-askbody { max-height: 170px; overflow: auto; padding: 12px 14px; background: var(--soft); border: 1px dashed var(--line-2); border-radius: 12px; font-size: 13.5px; line-height: 1.55; color: var(--ink-2); white-space: pre-wrap; overflow-wrap: anywhere; font-family: inherit; }
#aitv-root .av-askcopy.is-done { background: var(--ok); border-color: var(--ok); }
#aitv-root .av-askok { margin: 0; min-height: 0; font-size: 13.5px; line-height: 1.45; color: var(--ok); display: flex; gap: 7px; align-items: flex-start; opacity: 0; max-height: 0; overflow: hidden; transition: opacity .2s, max-height .25s; }
#aitv-root .av-askok.show { opacity: 1; max-height: 80px; }
#aitv-root .av-askok.is-err { color: var(--sale); }
#aitv-root .av-sendwith { display: grid; gap: 10px; padding-top: 4px; }
#aitv-root .av-sw-h { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; flex-wrap: wrap; font-size: 13px; color: var(--muted); }
#aitv-root .av-sw-h b { color: var(--ink); font-weight: 600; }
#aitv-root .av-sendrow { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1.3fr; gap: 8px; }
#aitv-root .av-mailbtn { min-height: 46px; padding: 9px 10px; font-size: 14px; }

/* ---------- samples gallery (full-screen lightbox; stays dark so the art pops) ---------- */
#aitv-root .av-gal {
  position: fixed; inset: 0; z-index: 99995; display: flex; opacity: 0; visibility: hidden; pointer-events: none;
  background: rgba(16,14,12,.94); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
  transition: opacity .28s, visibility 0s .28s;
}
#aitv-root .av-gal.open { opacity: 1; visibility: visible; pointer-events: auto; transition: opacity .28s; }
#aitv-root .av-gal-box {
  position: relative; display: flex; flex-direction: column; width: 100%; max-width: 1440px; height: 100%; min-height: 0; margin: 0 auto;
  padding: 18px 24px 16px; gap: 14px; transform: scale(.97); transition: transform .45s cubic-bezier(.2,1.2,.4,1);
}
#aitv-root .av-gal.open .av-gal-box { transform: none; }
#aitv-root .av-gal-head { display: flex; align-items: center; gap: 16px; flex-shrink: 0; }
#aitv-root .av-gal-ttl { display: flex; align-items: center; gap: 14px; min-width: 0; flex: 1 1 auto; }
#aitv-root .av-gal-emo { flex-shrink: 0; width: 46px; height: 46px; display: grid; place-items: center; font-size: 23px; line-height: 1; background: rgba(255,255,255,.08); border-radius: 13px; }
#aitv-root .av-gal-tt { min-width: 0; }
#aitv-root .av-gal-tt small { display: flex; align-items: center; gap: 6px; color: rgba(255,255,255,.55); font-size: 12px; font-weight: 500; }
#aitv-root .av-gal-tt h3 { font-size: clamp(17px, 1.9vw, 24px); font-weight: 600; line-height: 1.15; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; letter-spacing: -.02em; }
#aitv-root .av-gal-count { flex-shrink: 0; background: rgba(255,255,255,.08); color: rgba(255,255,255,.7); border-radius: 999px; padding: 6px 13px; font-weight: 500; font-size: 13.5px; font-variant-numeric: tabular-nums; }
#aitv-root .av-gal-count b { color: #fff; font-weight: 700; }
#aitv-root .av-gal-x { flex-shrink: 0; width: 46px; height: 46px; border-radius: 50%; background: rgba(255,255,255,.1); color: #fff; border: 0; font-size: 19px; cursor: pointer; transition: transform .25s cubic-bezier(.2,1.4,.4,1), background-color .15s; }
#aitv-root .av-gal-x:hover { transform: rotate(90deg); background: rgba(255,255,255,.2); }
#aitv-root .av-gal-stage { position: relative; flex: 1 1 auto; min-height: 0; overflow: hidden; touch-action: pan-y pinch-zoom; -webkit-user-select: none; user-select: none; }
#aitv-root .av-gal-view { position: absolute; inset: 0; }
#aitv-root .av-gal-slide { position: absolute; inset: 0; margin: 0; padding: 8px 84px 20px; display: flex; align-items: center; justify-content: center; will-change: transform; }
#aitv-root .av-gal-slide::before {
  content: ''; position: absolute; top: 8px; bottom: 20px; left: 50%; width: min(56%, 560px); transform: translateX(-50%); border-radius: 16px;
  background: linear-gradient(100deg, #24211e 30%, #34302b 50%, #24211e 70%) 0 0 / 250% 100%; animation: av-sk 1.25s linear infinite;
}
#aitv-root .av-gal-slide.is-loaded::before, #aitv-root .av-gal-slide.is-error::before { display: none; }
#aitv-root .av-gal-slide img {
  position: relative; display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; background: #fff;
  border-radius: 14px; box-shadow: 0 30px 80px rgba(0,0,0,.5); opacity: 0; transition: opacity .3s, transform .35s cubic-bezier(.2,1,.3,1), box-shadow .3s;
  -webkit-user-drag: none; user-select: none;
}
#aitv-root .av-gal-slide.is-loaded img { opacity: 1; }
@media (pointer: fine) { #aitv-root .av-gal-slide img { cursor: zoom-in; } }
#aitv-root .av-gal-slide.is-zoomed img { transform: scale(2.2); cursor: zoom-out; box-shadow: none; }
#aitv-root .av-gal-nav {
  position: absolute; top: 50%; z-index: 3; width: 54px; height: 54px; margin-top: -27px; display: grid; place-items: center; cursor: pointer;
  background: rgba(255,255,255,.92); color: var(--ink); border: 0; border-radius: 50%; box-shadow: 0 8px 24px rgba(0,0,0,.3); font-size: 19px;
  transition: transform .18s cubic-bezier(.2,1.4,.4,1), background-color .15s;
}
#aitv-root .av-gal-nav.prev { left: 10px; }
#aitv-root .av-gal-nav.next { right: 10px; }
#aitv-root .av-gal-nav:hover { transform: scale(1.08); background: #fff; }
#aitv-root .av-gal-nav:active { transform: scale(.94); }
#aitv-root .av-gal-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px 20px; flex-wrap: wrap; flex-shrink: 0; }
#aitv-root .av-gal-cap { min-width: 0; flex: 1 1 260px; }
#aitv-root .av-gal-cap b { display: block; font-size: 17px; font-weight: 600; line-height: 1.25; color: #fff; }
#aitv-root .av-gal-cap span { display: block; color: rgba(255,255,255,.55); font-size: 13.5px; margin-top: 2px; }
#aitv-root .av-gal-act { flex-shrink: 0; }
#aitv-root .av-gal-thumbs { display: flex; gap: 8px; justify-content: center; flex-shrink: 0; overflow-x: auto; padding: 4px 6px 8px; scrollbar-width: thin; scrollbar-color: rgba(255,255,255,.3) transparent; }
#aitv-root .av-gal-th {
  flex: 0 0 auto; width: 60px; height: 60px; padding: 0; overflow: hidden; cursor: pointer; opacity: .5; display: grid; place-items: center; border-radius: 10px;
  background: rgba(255,255,255,.08); color: rgba(255,255,255,.6); border: 2px solid transparent; font-weight: 600; font-size: 16px;
  transition: transform .18s cubic-bezier(.2,1.4,.4,1), opacity .18s, border-color .18s;
}
#aitv-root .av-gal-th img { width: 100%; height: 100%; object-fit: cover; display: block; }
#aitv-root .av-gal-th:hover { opacity: .9; transform: translateY(-2px); }
#aitv-root .av-gal-th.is-cur { opacity: 1; border-color: #fff; transform: translateY(-3px); }

/* ---------- footer ---------- */
#aitv-root .av-footer { position: relative; z-index: 1; flex-shrink: 0; background: var(--surface); border-top: 1px solid var(--line); color: var(--muted); font-size: 14px; }
#aitv-root .av-footer-in { display: flex; align-items: center; justify-content: space-between; gap: 14px 28px; flex-wrap: wrap; min-height: 76px; padding-top: 20px; padding-bottom: 14px; }
#aitv-root .av-fl { display: flex; flex-wrap: wrap; gap: 10px 24px; align-items: center; }
#aitv-root .av-footer a, #aitv-root .av-flink { color: var(--ink-2); font-weight: 500; display: inline-flex; align-items: center; gap: 8px; }
#aitv-root .av-flink { background: none; border: 0; padding: 0; font: inherit; font-size: 14px; cursor: pointer; }
#aitv-root .av-footer a i, #aitv-root .av-flink i { color: var(--faint); }
#aitv-root .av-footer a:hover, #aitv-root .av-flink:hover { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
#aitv-root .av-made { font-weight: 500; }
#aitv-root .av-heart { color: var(--sale); display: inline-block; animation: av-beat 1.6s ease-in-out infinite; }
@keyframes av-beat { 0%,60%,100% { transform: scale(1); } 20% { transform: scale(1.25); } 40% { transform: scale(1.05); } }
#aitv-root .av-fnote { padding-bottom: 10px; text-align: center; color: var(--muted); font-size: 13.5px; white-space: pre-line; overflow-wrap: anywhere; }
#aitv-root .av-fpriv { padding-bottom: 22px; text-align: center; color: var(--faint); font-size: 12px; }

/* ---------- toast + confetti ---------- */
#aitv-root .av-toast {
  position: fixed; bottom: 24px; left: 50%; z-index: 99999; pointer-events: none; background: var(--inv); color: var(--on-inv); border-radius: 14px; box-shadow: var(--sh-3);
  padding: 12px 18px; font-size: 14.5px; font-weight: 500; display: flex; gap: 10px; align-items: center; max-width: calc(100% - 32px); width: max-content;
  transform: translate(-50%, 140px); opacity: 0; transition: transform .45s cubic-bezier(.2,1.3,.4,1), opacity .25s;
}
#aitv-root .av-toast.show { transform: translate(-50%, 0); opacity: 1; }
#aitv-root .av-toast.err { background: #a81d22; }
#aitv-root .av-toast.ok { background: #0b6f58; }
#aitv-root .av-shard { position: fixed; z-index: 99998; pointer-events: none; border-radius: 2px; left: 0; top: 0; will-change: transform, opacity; }

/* =====================================================================
   flags, prices, bundles, giveaways, coupon, bell, social, maintenance
   ===================================================================== */

/* ---------- card flags (strip) ---------- */
#aitv-root .av-flags { display: inline-flex; align-items: center; gap: 5px; flex-shrink: 0; }
#aitv-root .av-flag {
  display: inline-flex; align-items: center; justify-content: center; height: 22px; min-width: 22px; padding: 0 8px; border-radius: 999px;
  font-size: 11px; font-weight: 600; line-height: 1; letter-spacing: .02em; white-space: nowrap;
}
#aitv-root .av-flag.is-feat { width: 22px; padding: 0; background: var(--warn-soft); color: var(--gold); font-size: 10px; }
#aitv-root .av-flag.is-badge { max-width: 96px; overflow: hidden; text-overflow: ellipsis; display: inline-block; line-height: 22px; background: var(--inv); color: var(--on-inv); }
#aitv-root .av-flag.is-new { background: var(--ok-soft); color: var(--ok); animation: av-flagpop 2.6s ease-in-out infinite; }
@keyframes av-flagpop { 0%, 70%, 100% { transform: scale(1); } 80% { transform: scale(1.14); } 90% { transform: scale(1.03); } }
#aitv-root .av-strip .av-cat { min-width: 0; }
#aitv-root .av-strip.is-busy-strip .av-cat { display: none; }
#aitv-root .av-top-tags { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 6px; min-width: 0; }
#aitv-root .av-top-tags .av-cat { max-width: 100%; }

/* ---------- sale + free prices (card foot, never on the image) ---------- */
#aitv-root .av-price.is-sale { display: flex; flex-direction: column; min-width: 0; }
#aitv-root .av-pl { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 8px; }
#aitv-root .av-pnow { font-size: 21px; font-weight: 700; line-height: 1; color: var(--sale); letter-spacing: -.02em; }
#aitv-root .av-was { font-size: 14px; font-weight: 500; color: var(--faint); text-decoration: line-through; text-decoration-thickness: 1.5px; }
#aitv-root .av-off {
  display: inline-block; background: var(--sale); color: #fff; border-radius: 6px; padding: 3px 6px;
  font-size: 11.5px; font-weight: 700; line-height: 1.1; letter-spacing: .01em; white-space: nowrap;
}
#aitv-root .av-card:hover .av-off { animation: av-wig .5s cubic-bezier(.2,1.4,.4,1); }
@keyframes av-wig { 0% { transform: rotate(0) scale(1); } 40% { transform: rotate(-6deg) scale(1.15); } 100% { transform: rotate(0) scale(1); } }
#aitv-root .av-price small.av-ends { color: var(--sale); display: flex; align-items: center; gap: 5px; font-weight: 600; }
#aitv-root .av-live { font-variant-numeric: tabular-nums; }
#aitv-root .av-price.is-free { color: var(--ok); }
#aitv-root .av-card.is-free .av-strip-emo::after, #aitv-root .av-card.is-free .av-emo::after { content: '\f06b'; background: var(--ok); color: #fff; }

/* =====================================================================
   ATTENTION LAYER — the only loud things on the page
   --pb = banner background, --pf = banner text (both whitelisted #rrggbb)
   ===================================================================== */
#aitv-root .av-bars { position: relative; z-index: 2; }
#aitv-root .av-bars:empty { display: none; }
#aitv-root .av-promo { --pb: #ff5a1f; --pf: #fff; position: relative; overflow: hidden; isolation: isolate; background: var(--pb); color: var(--pf); }
#aitv-root .av-promo.at-bar { animation: av-bar-in .4s cubic-bezier(.2,1,.3,1) both; box-shadow: 0 6px 18px -10px rgba(var(--shc),.35); }
@keyframes av-bar-in { from { opacity: 0; transform: translateY(-100%); } to { opacity: 1; transform: none; } }
#aitv-root .av-ann-in { position: relative; z-index: 2; display: flex; align-items: center; flex-wrap: wrap; gap: 8px 14px; min-height: 52px; padding-top: 8px; padding-bottom: 8px; }
#aitv-root .av-ann-in:has(.av-ann-x) { padding-right: calc(var(--gut) + 40px); }
#aitv-root .av-ann-ico { flex-shrink: 0; width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; background: color-mix(in srgb, currentColor 16%, transparent); font-size: 14px; line-height: 1; }
#aitv-root .av-pemo { font-size: 17px; line-height: 1; }
#aitv-root .av-ann-msg { flex: 1 1 260px; min-width: 0; font-size: 15px; font-weight: 600; line-height: 1.35; overflow-wrap: anywhere; letter-spacing: -.005em; }
#aitv-root .av-sb-msg { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 10px; font-size: 16px; }
#aitv-root .av-sb-msg b { font-weight: 800; letter-spacing: -.015em; }
#aitv-root .av-sb-pct { display: inline-block; background: var(--pf); color: var(--pb); border-radius: 999px; padding: 2px 10px; font-weight: 800; font-size: 14px; white-space: nowrap; }
#aitv-root .av-ann-cd { display: inline-flex; align-items: center; gap: 6px; padding: 5px 11px; border-radius: 999px; background: color-mix(in srgb, #000 16%, transparent); font-size: 13px; font-weight: 600; white-space: nowrap; font-variant-numeric: tabular-nums; }
#aitv-root .av-ann-cd b { font-weight: 800; }
#aitv-root .av-pcta {
  display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px; min-height: 38px; border: 0; border-radius: 999px; cursor: pointer;
  background: var(--pf); color: var(--pb); font: inherit; font-size: 14px; font-weight: 700; white-space: nowrap; text-decoration: none;
  box-shadow: 0 4px 14px rgba(0,0,0,.18); transition: transform .18s var(--ease), box-shadow .18s;
}
#aitv-root .av-pcta:hover { transform: translateY(-1px) scale(1.03); box-shadow: 0 8px 22px rgba(0,0,0,.25); color: var(--pb); }
#aitv-root .av-pcta i { transition: transform .2s; }
#aitv-root .av-pcta:hover i { transform: translateX(3px); }
#aitv-root .av-ann-x {
  position: absolute; top: 50%; right: var(--gut); width: 32px; height: 32px; margin-top: -16px; display: grid; place-items: center; padding: 0; border-radius: 50%;
  background: transparent; color: inherit; border: 0; cursor: pointer; font-size: 15px; opacity: .8; transition: transform .2s, background-color .15s, opacity .15s;
}
#aitv-root .av-ann-x:hover { transform: rotate(90deg); background: color-mix(in srgb, currentColor 16%, transparent); opacity: 1; }

/* designs */
#aitv-root .av-promo.d-gradient { background: linear-gradient(100deg, color-mix(in srgb, var(--pb) 72%, #000) 0%, var(--pb) 50%, color-mix(in srgb, var(--pb) 70%, #fff) 100%); }
#aitv-root .av-salebar.d-gradient { background: linear-gradient(100deg, #d4142f 0%, var(--pb) 48%, #ff9d1f 100%); }
#aitv-root .av-promo.d-glass {
  background: linear-gradient(100deg, color-mix(in srgb, var(--pb) 26%, rgba(255,255,255,.75)), color-mix(in srgb, var(--pb) 12%, rgba(255,255,255,.8)));
  -webkit-backdrop-filter: blur(14px) saturate(1.6); backdrop-filter: blur(14px) saturate(1.6); color: color-mix(in srgb, var(--pb) 35%, #1a1714);
  border-top: 1px solid color-mix(in srgb, var(--pb) 40%, transparent); border-bottom: 1px solid color-mix(in srgb, var(--pb) 45%, transparent);
}
#aitv-root .av-promo.d-glass .av-pcta, #aitv-root .av-promo.d-glass .av-sb-pct { background: var(--pb); color: var(--pf); }
#aitv-root .av-promo.d-glass .av-ann-ico { background: var(--pb); color: var(--pf); }
#aitv-root .av-promo.d-neon {
  background: radial-gradient(600px 80px at 50% 0%, color-mix(in srgb, var(--pb) 22%, transparent), transparent 70%), #12101a; color: #fff;
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--pb) 70%, transparent), inset 0 -1px 0 color-mix(in srgb, var(--pb) 70%, transparent);
}
#aitv-root .av-promo.d-neon .av-ann-msg, #aitv-root .av-promo.d-neon .av-ann-ico { color: color-mix(in srgb, var(--pb) 55%, #fff); text-shadow: 0 0 10px var(--pb), 0 0 22px color-mix(in srgb, var(--pb) 60%, transparent); }
#aitv-root .av-promo.d-neon .av-ann-ico { background: transparent; box-shadow: 0 0 0 1.5px var(--pb), 0 0 14px var(--pb); }
#aitv-root .av-promo.d-neon .av-pcta { background: transparent; color: #fff; box-shadow: 0 0 0 1.5px var(--pb), 0 0 16px color-mix(in srgb, var(--pb) 70%, transparent); }
#aitv-root .av-promo.d-neon .av-sb-pct { background: var(--pb); color: #fff; text-shadow: none; box-shadow: 0 0 14px var(--pb); }
#aitv-root .av-promo.d-ribbon { background: var(--pb); }
#aitv-root .av-promo.d-ribbon.at-bar { clip-path: polygon(0 0, 100% 0, calc(100% - 16px) 50%, 100% 100%, 0 100%, 16px 50%); }
#aitv-root .av-promo.d-ribbon::after { content: ''; position: absolute; inset: 5px 24px; z-index: 1; border-top: 1px dashed color-mix(in srgb, var(--pf) 45%, transparent); border-bottom: 1px dashed color-mix(in srgb, var(--pf) 45%, transparent); pointer-events: none; }
#aitv-root .av-promo.d-ribbon.at-float::after, #aitv-root .av-promo.d-ribbon.at-pop::after { inset: 8px; border: 1px dashed color-mix(in srgb, var(--pf) 45%, transparent); border-radius: 14px; }
#aitv-root .av-promo.d-spotlight {
  background: radial-gradient(260px 120px at var(--sx, 20%) 50%, color-mix(in srgb, var(--pb) 85%, #fff), transparent 70%), color-mix(in srgb, var(--pb) 22%, #120f0c);
  background-repeat: no-repeat; animation: av-bar-in .55s cubic-bezier(.2,1,.3,1) both, av-spot 7s ease-in-out infinite alternate;
}
/* dark-based design: text is always light so it stays readable whatever colours were picked */
#aitv-root .av-promo.d-spotlight { color: #fff; }
#aitv-root .av-promo.d-spotlight .av-pcta, #aitv-root .av-promo.d-spotlight .av-sb-pct { background: #fff; color: color-mix(in srgb, var(--pb) 70%, #000); }
#aitv-root .av-promo.d-spotlight:not(.at-bar) { animation: av-spot 7s ease-in-out infinite alternate; }
@property --sx { syntax: '<percentage>'; inherits: false; initial-value: 20%; }
@keyframes av-spot { from { --sx: 8%; } to { --sx: 92%; } }

/* animations */
#aitv-root .av-promo.a-slide.at-bar { animation: av-sl .7s cubic-bezier(.2,.9,.3,1.1) both; }
#aitv-root .av-promo.a-pulse .av-pcta, #aitv-root .av-promo.a-pulse .av-ann-ico { animation: av-pulse 1.8s ease-in-out infinite; }
#aitv-root .av-promo.a-shimmer::before {
  content: ''; position: absolute; top: 0; bottom: 0; left: -40%; width: 40%; z-index: 1; pointer-events: none;
  background: linear-gradient(100deg, transparent, rgba(255,255,255,.38), transparent); transform: skewX(-20deg); animation: av-sheen 3.6s ease-in-out 1s infinite;
}
@keyframes av-sheen { 0% { left: -40%; } 45%, 100% { left: 130%; } }
#aitv-root .av-promo.a-bounce .av-ann-ico { animation: av-bnc 1.6s cubic-bezier(.3,1.6,.5,1) infinite; }
@keyframes av-bnc { 0%, 55%, 100% { transform: translateY(0); } 25% { transform: translateY(-7px) rotate(-8deg); } 40% { transform: translateY(0) scale(1.05, .92); } }
#aitv-root .av-promo.a-glow { animation-name: av-bar-in, av-pglow; animation-duration: .55s, 2.2s; animation-iteration-count: 1, infinite; animation-timing-function: cubic-bezier(.2,1,.3,1), ease-in-out; animation-fill-mode: both, none; }
#aitv-root .av-promo.a-glow:not(.at-bar) { animation: av-pglow 2.2s ease-in-out infinite; }
@keyframes av-pglow { 0%, 100% { box-shadow: inset 0 0 0 0 rgba(255,255,255,0), 0 0 0 0 color-mix(in srgb, var(--pb) 0%, transparent); } 50% { box-shadow: inset 0 0 28px rgba(255,255,255,.28), 0 0 26px 2px color-mix(in srgb, var(--pb) 55%, transparent); } }
#aitv-root .av-promo.a-marquee .av-ann-msg { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
#aitv-root .av-mq { display: inline-flex; white-space: nowrap; animation: av-mq 16s linear infinite; }
#aitv-root .av-mq > span { display: inline-flex; align-items: center; gap: 10px; padding-right: 64px; }
@keyframes av-mq { to { transform: translateX(-50%); } }

/* decorations */
#aitv-root .av-promo.k-stripes::after { content: ''; position: absolute; inset: -50%; z-index: 0; pointer-events: none; background: repeating-linear-gradient(45deg, rgba(255,255,255,.10) 0 14px, transparent 14px 28px); animation: av-stripes 3s linear infinite; }
#aitv-root .av-pdeco { position: absolute; inset: 0; z-index: 1; pointer-events: none; overflow: hidden; }
#aitv-root .av-pdeco i { position: absolute; bottom: -24px; font-style: normal; font-size: 13px; line-height: 1; opacity: 0; color: var(--pf); animation: av-rise-up 5.5s linear infinite; }
#aitv-root .av-pdeco i:nth-child(3n) { font-size: 10px; animation-duration: 6.5s; }
#aitv-root .av-pdeco i:nth-child(4n) { font-size: 16px; animation-duration: 4.8s; }
@keyframes av-rise-up { 0% { transform: translateY(0) rotate(0); opacity: 0; } 15% { opacity: .75; } 80% { opacity: .5; } 100% { transform: translateY(-120px) rotate(40deg); opacity: 0; } }
#aitv-root .k-sparkles .av-pdeco i { animation-name: av-twinkle; bottom: auto; top: calc(10% + (var(--i, 0) * 1%)); }
#aitv-root .k-sparkles .av-pdeco i:nth-child(odd) { top: 18%; } #aitv-root .k-sparkles .av-pdeco i:nth-child(even) { top: 58%; }
@keyframes av-twinkle { 0%, 100% { opacity: 0; transform: scale(.4) rotate(0); } 50% { opacity: .9; transform: scale(1.1) rotate(90deg); } }
#aitv-root .k-confetti .av-pdeco i { bottom: auto; top: -14px; width: 6px; height: 10px; border-radius: 2px; background: #ffd60a; animation-name: av-fall; opacity: 1; }
#aitv-root .k-confetti .av-pdeco i:nth-child(3n+1) { background: #fff; }
#aitv-root .k-confetti .av-pdeco i:nth-child(3n+2) { background: #19d3b0; }
#aitv-root .k-confetti .av-pdeco i:nth-child(4n) { background: #ff7eb6; width: 5px; height: 7px; }
@keyframes av-fall { 0% { transform: translateY(0) rotate(0); opacity: 0; } 10% { opacity: .95; } 100% { transform: translateY(150px) rotate(320deg); opacity: 0; } }
#aitv-root .k-fire .av-pdeco i { font-size: 15px; animation-name: av-flame; }
@keyframes av-flame { 0% { transform: translateY(0) scale(.6); opacity: 0; } 20% { opacity: .9; } 100% { transform: translateY(-90px) scale(1.1) rotate(-10deg); opacity: 0; } }
#aitv-root .k-hearts .av-pdeco i { color: color-mix(in srgb, var(--pf) 70%, #ff4f9a); }
#aitv-root .k-stars .av-pdeco i { color: color-mix(in srgb, var(--pf) 60%, #ffd60a); }

/* floating card (bottom-right; bottom sheet on phones) */
#aitv-root .av-floatwrap { position: fixed; right: 22px; bottom: 22px; z-index: 99970; width: 360px; max-width: calc(100vw - 24px); }
#aitv-root .av-floatwrap:empty { display: none; }
#aitv-root .av-promo.at-float { border-radius: 20px; box-shadow: var(--sh-3); animation: av-float-in .65s cubic-bezier(.2,1.25,.4,1) both; }
#aitv-root .av-promo.at-float.a-glow { animation: av-float-in .65s cubic-bezier(.2,1.25,.4,1) both, av-pglow 2.2s ease-in-out .7s infinite; }
#aitv-root .av-promo.at-float.d-spotlight { animation: av-float-in .65s cubic-bezier(.2,1.25,.4,1) both, av-spot 7s ease-in-out infinite alternate; }
@keyframes av-float-in { from { opacity: 0; transform: translateX(110%) scale(.9); } to { opacity: 1; transform: none; } }
#aitv-root .av-float-in { position: relative; z-index: 2; display: grid; grid-template-columns: auto minmax(0,1fr); gap: 12px 14px; align-items: start; padding: 18px 48px 18px 18px; }
#aitv-root .av-float-in .av-ann-ico { width: 42px; height: 42px; font-size: 18px; }
#aitv-root .av-float-in .av-pemo { font-size: 22px; }
#aitv-root .av-float-txt { display: grid; gap: 8px; justify-items: start; min-width: 0; }
#aitv-root .av-float-in .av-ann-msg { flex: none; font-size: 15.5px; }
#aitv-root .av-float-in .av-pcta { grid-column: 1 / -1; justify-content: center; min-height: 44px; margin-left: 0; }
#aitv-root .at-float .av-ann-x { top: 12px; margin-top: 0; right: 12px; z-index: 3; }

/* pop-up (inside the shared modal) */
#aitv-root .av-modal.is-promo { width: min(440px, 100%); background: transparent; box-shadow: none; overflow: visible; }
#aitv-root .av-promo.at-pop { border-radius: 26px; box-shadow: var(--sh-3); text-align: center; }
#aitv-root .av-pop-in { position: relative; z-index: 2; display: grid; justify-items: center; gap: 12px; padding: 40px 30px 26px; }
#aitv-root .av-pop-in .av-ann-ico { width: 64px; height: 64px; font-size: 26px; }
#aitv-root .av-pop-in .av-pemo { font-size: 32px; }
#aitv-root .av-pop-t { font-size: 28px; font-weight: 800; line-height: 1.12; letter-spacing: -.03em; overflow-wrap: anywhere; }
#aitv-root .av-pop-t.is-long { font-size: 19px; font-weight: 700; line-height: 1.35; letter-spacing: -.01em; }
#aitv-root .av-pop-big { font-size: 76px; font-weight: 800; line-height: .9; letter-spacing: -.05em; }
#aitv-root .av-pop-big small { font-size: 22px; font-weight: 700; letter-spacing: 0; margin-left: 6px; }
#aitv-root .av-pop-sub { font-size: 15px; opacity: .85; }
#aitv-root .av-pop-act { display: grid; gap: 6px; width: 100%; margin-top: 8px; }
#aitv-root .av-pop-act .av-pcta { justify-content: center; min-height: 52px; font-size: 16px; }
#aitv-root .av-pop-no { background: none; border: 0; color: inherit; opacity: .8; font: inherit; font-size: 14px; font-weight: 500; padding: 8px; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
#aitv-root .av-pop-no:hover { opacity: 1; }
#aitv-root .av-pop-x { z-index: 3; top: 14px; right: 14px; background: color-mix(in srgb, currentColor 16%, transparent); color: inherit; }
#aitv-root .av-pop-x:hover { background: color-mix(in srgb, currentColor 26%, transparent); }

/* ---------- deals page ---------- */
#aitv-root .av-deals > .av-shead:first-child { margin-top: 0; }
#aitv-root #av-dgrid { margin-bottom: 64px; }
#aitv-root .av-deals .av-aa { margin-bottom: 0; }

/* ---------- bundles ---------- */
#aitv-root .av-bundles { display: grid; grid-template-columns: minmax(0,1fr); gap: 24px; margin-bottom: 64px; }
@media (min-width: 1100px) {
  #aitv-root .av-bundles { grid-template-columns: repeat(2, minmax(0,1fr)); }
  #aitv-root .av-bundles.is-one { grid-template-columns: minmax(0, 860px); }
}
#aitv-root .av-bundle {
  position: relative; display: grid; grid-template-columns: minmax(0, 42%) minmax(0, 1fr); min-width: 0; overflow: hidden;
  background: var(--surface); border: 1px solid var(--line); border-radius: 22px; box-shadow: var(--sh-1); transition: transform .28s var(--ease), box-shadow .28s var(--ease);
}
#aitv-root .av-bundle.av-rise { opacity: 1; animation-fill-mode: backwards; }
#aitv-root .av-bundle:hover { transform: translateY(-4px); box-shadow: var(--sh-2); }
#aitv-root .av-bmosaic { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 2px; min-height: 280px; background: var(--line); overflow: hidden; }
#aitv-root .av-bmosaic.n1 { grid-template-columns: 1fr; grid-template-rows: 1fr; }
#aitv-root .av-bmosaic.n2 { grid-template-rows: 1fr; }
#aitv-root .av-bmosaic.n3 .av-bm-t:first-child { grid-row: span 2; }
#aitv-root .av-bm-t { position: relative; overflow: hidden; background: var(--bg-2); min-height: 0; }
#aitv-root .av-bm-t img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center 20%; transition: transform .7s cubic-bezier(.2,.9,.3,1); }
#aitv-root .av-bundle:hover .av-bm-t img { transform: scale(1.06); }
#aitv-root .av-bm-emo { position: absolute; inset: 0; display: grid; place-items: center; font-size: 40px; line-height: 1; background: color-mix(in srgb, #ffc94d 22%, var(--surface)); }
#aitv-root .av-bm-t:nth-child(2) .av-bm-emo { background: color-mix(in srgb, #19d3b0 18%, var(--surface)); }
#aitv-root .av-bm-t:nth-child(3) .av-bm-emo { background: color-mix(in srgb, #ff5a1f 15%, var(--surface)); }
#aitv-root .av-bm-t:nth-child(4) .av-bm-emo { background: color-mix(in srgb, #ff4f9a 15%, var(--surface)); }
#aitv-root .av-binfo { display: flex; flex-direction: column; min-width: 0; padding: 24px; }
#aitv-root .av-bkick { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
#aitv-root .av-bemo { width: 40px; height: 40px; flex-shrink: 0; display: grid; place-items: center; font-size: 21px; line-height: 1; background: var(--soft); border: 1px solid var(--line); border-radius: 12px; transition: transform .3s cubic-bezier(.2,1.5,.4,1); }
#aitv-root .av-bundle:hover .av-bemo { transform: rotate(-8deg) scale(1.08); }
#aitv-root .av-btag { font-size: 12.5px; font-weight: 500; color: var(--muted); margin-right: auto; }
#aitv-root .av-bchip { display: inline-flex; align-items: center; gap: 5px; padding: 4px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; white-space: nowrap; }
#aitv-root .av-bchip.is-time { background: var(--sale-soft); color: var(--sale); font-variant-numeric: tabular-nums; }
#aitv-root .av-bchip.is-left { background: var(--sale); color: #fff; }
#aitv-root .av-bchip.is-sold { background: var(--bg-2); color: var(--muted); }
#aitv-root .av-bundle h3 { font-size: 21px; font-weight: 700; line-height: 1.2; letter-spacing: -.02em; overflow-wrap: anywhere; }
#aitv-root .av-bdesc { margin-top: 6px; font-size: 14.5px; line-height: 1.55; color: var(--muted); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
#aitv-root .av-bstack { display: flex; align-items: center; margin: 16px 0 0; padding-left: 4px; }
#aitv-root .av-bs-t, #aitv-root .av-bs-more {
  position: relative; flex-shrink: 0; width: 38px; height: 38px; margin-left: -8px; display: grid; place-items: center; font-size: 18px; line-height: 1;
  background: var(--soft); border: 2px solid var(--surface); border-radius: 11px; box-shadow: 0 0 0 1px var(--line); transition: transform .25s cubic-bezier(.2,1.5,.4,1);
}
#aitv-root .av-bs-t:first-child { margin-left: 0; }
#aitv-root .av-bundle:hover .av-bs-t { transform: translateY(-3px); }
#aitv-root .av-bs-t.is-owned { background: var(--ok-soft); }
#aitv-root .av-bs-t i { position: absolute; right: -6px; bottom: -6px; width: 16px; height: 16px; display: grid; place-items: center; background: var(--ok); color: #fff; border: 2px solid var(--surface); border-radius: 50%; font-size: 7.5px; }
#aitv-root .av-bs-more { background: var(--inv); color: var(--on-inv); font-size: 12.5px; font-weight: 600; }
#aitv-root .av-bown { margin-top: 10px; display: flex; align-items: center; gap: 7px; font-size: 13.5px; font-weight: 500; color: var(--ok); }
#aitv-root .av-bfoot { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-top: auto; padding-top: 16px; border-top: 1px solid var(--line); }
#aitv-root .av-binfo > .av-bstack + .av-bfoot, #aitv-root .av-binfo > .av-bown + .av-bfoot { margin-top: 18px; }
#aitv-root .av-bprice { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 10px; }
#aitv-root .av-bprice .av-pnow { font-size: 28px; color: var(--ink); letter-spacing: -.03em; }
#aitv-root .av-bprice .av-was { font-size: 15px; }
#aitv-root .av-bprice .av-off { font-size: 12px; padding: 3px 8px; background: var(--ok-soft); color: var(--ok); }
#aitv-root .av-bundle.is-sold .av-bmosaic { filter: grayscale(1) brightness(.92); }
#aitv-root .av-bundle.is-sold:hover { transform: none; }
#aitv-root .av-bundle.is-sold .av-binfo > *:not(.av-bfoot) { opacity: .7; }
#aitv-root .av-bundle.is-owned { border-color: var(--ok-line); }

/* ---------- giveaways (quiet ticket cards) ---------- */
#aitv-root .av-gws { display: grid; grid-template-columns: minmax(0,1fr); gap: 22px; margin-bottom: 64px; }
#aitv-root #av-gws:empty { display: none; }
@media (min-width: 1100px) {
  #aitv-root .av-gws { grid-template-columns: repeat(2, minmax(0,1fr)); }
  #aitv-root .av-gws:has(> .av-gw:only-child) { grid-template-columns: minmax(0, 980px); }
  #aitv-root .av-gws:not(:has(> .av-gw:only-child)) .av-gw { grid-template-columns: auto minmax(0,1fr); align-items: start; }
  #aitv-root .av-gws:not(:has(> .av-gw:only-child)) .av-gw-act { grid-column: 1 / -1; justify-content: flex-end; padding: 16px 0 0; border-left: 0; border-top: 1px dashed var(--line-2); }
  #aitv-root .av-gws:not(:has(> .av-gw:only-child)) .av-gw::before,
  #aitv-root .av-gws:not(:has(> .av-gw:only-child)) .av-gw::after { top: auto; bottom: 66px; margin-top: 0; }
  #aitv-root .av-gws:not(:has(> .av-gw:only-child)) .av-gw-state.is-ended { max-width: none; }
}
#aitv-root .av-gw {
  position: relative; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 20px; min-width: 0;
  background: var(--surface); border: 1px solid var(--line); border-radius: 22px; box-shadow: var(--sh-1); padding: 22px 26px; transition: transform .28s var(--ease), box-shadow .28s var(--ease);
}
#aitv-root .av-gw.av-rise { opacity: 1; animation-fill-mode: backwards; }
#aitv-root .av-gw::before, #aitv-root .av-gw::after {
  content: ''; position: absolute; top: 50%; width: 22px; height: 22px; margin-top: -11px; border-radius: 50%; background: var(--bg); border: 1px solid var(--line); pointer-events: none;
}
#aitv-root .av-gw::before { left: -12px; clip-path: inset(0 0 0 50%); }
#aitv-root .av-gw::after { right: -12px; clip-path: inset(0 50% 0 0); }
#aitv-root .av-gw:hover { transform: translateY(-3px); box-shadow: var(--sh-2); }
#aitv-root .av-gw-ico { width: 68px; height: 68px; display: grid; place-items: center; font-size: 34px; line-height: 1; background: color-mix(in srgb, #ffc94d 22%, var(--surface)); border-radius: 18px; animation: av-wobble 3.4s ease-in-out infinite; }
#aitv-root .av-gw-body { min-width: 0; }
#aitv-root .av-gw-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
#aitv-root .av-gw-type { display: inline-flex; align-items: center; gap: 6px; background: var(--inv); color: var(--on-inv); border-radius: 999px; padding: 3px 10px; font-size: 12px; font-weight: 600; }
#aitv-root .av-gw-chip { display: inline-flex; align-items: center; gap: 5px; background: var(--bg-2); color: var(--ink-2); border-radius: 999px; padding: 3px 10px; font-size: 12px; font-weight: 500; white-space: nowrap; font-variant-numeric: tabular-nums; }
#aitv-root .av-gw-chip.is-ended { background: var(--bg-2); color: var(--muted); }
#aitv-root .av-gw-chip.is-n { background: transparent; color: var(--muted); padding-left: 2px; }
#aitv-root .av-gw h3 { font-size: 20px; font-weight: 700; line-height: 1.25; letter-spacing: -.02em; overflow-wrap: anywhere; }
#aitv-root .av-gw-body > p { margin-top: 4px; font-size: 14.5px; line-height: 1.55; color: var(--muted); }
#aitv-root .av-gw-body > p.av-gw-free, #aitv-root .av-gw-free { display: flex; align-items: center; gap: 7px; margin-top: 10px; font-size: 13px; font-weight: 600; color: var(--ok); }
#aitv-root .av-modal .av-gw-free { margin: 0 0 14px; }
#aitv-root .av-gw-prize { display: inline-flex; align-items: center; gap: 7px; margin-top: 10px; background: var(--accent-soft); color: var(--ink-2); border-radius: 10px; padding: 6px 11px; font-size: 13.5px; font-weight: 500; max-width: 100%; }
#aitv-root .av-gw-prize i { color: var(--accent); }
#aitv-root .av-gw-prize b { color: var(--ink); font-weight: 600; overflow-wrap: anywhere; }
#aitv-root .av-gw-win { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-top: 10px; font-size: 13.5px; font-weight: 500; }
#aitv-root .av-gw-win > i { color: var(--gold); font-size: 15px; }
#aitv-root .av-gw-win b { background: var(--bg-2); border-radius: 999px; padding: 2px 10px; font-weight: 600; }
#aitv-root .av-gw-act { align-self: stretch; display: flex; align-items: center; justify-content: center; padding-left: 22px; border-left: 1px dashed var(--line-2); min-width: 0; }
#aitv-root .av-gw-act .av-btn { white-space: nowrap; }
#aitv-root .av-gw-state { display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px; border-radius: 12px; font-weight: 600; font-size: 14px; text-align: center; line-height: 1.3; }
#aitv-root .av-gw-state small { font-size: 12px; font-weight: 500; opacity: .75; }
#aitv-root .av-gw-state.is-in { background: var(--ok-soft); color: var(--ok); }
#aitv-root .av-gw-state.is-won { background: var(--accent); color: #fff; }
#aitv-root .av-gw-state.is-ended { border: 1px dashed var(--line-2); color: var(--muted); font-size: 13px; max-width: 200px; }
#aitv-root .av-gw.is-ended { background: var(--soft); }
#aitv-root .av-gw.is-ended .av-gw-ico { animation: none; background: var(--bg-2); }
#aitv-root .av-gw.is-won { border-color: var(--accent-line); }
#aitv-root .av-gw.just-in .av-gw-state { animation: av-slam .6s cubic-bezier(.2,1.4,.4,1) both; }
/* contest modal */
#aitv-root .av-q { background: var(--soft); border: 1px solid var(--line); border-left: 3px solid var(--accent); border-radius: 12px; padding: 14px 16px; margin-bottom: 16px; }
#aitv-root .av-q small { display: block; color: var(--faint); font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; margin-bottom: 4px; }
#aitv-root .av-q p { font-size: 16px; font-weight: 600; line-height: 1.45; white-space: pre-line; overflow-wrap: anywhere; }
#aitv-root .av-gw-prize-m { margin: 0 0 12px; }
#aitv-root .av-gw-ta { min-height: 130px; resize: vertical; font-size: 15px; }
#aitv-root .av-gw-mfoot { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
#aitv-root .av-gw-mfoot small { font-size: 12.5px; color: var(--faint); font-variant-numeric: tabular-nums; }

/* ---------- unlock modal: sale rows, bundle list, coupon ---------- */
#aitv-root .av-amt s { margin-right: 8px; font-size: 14px; font-weight: 500; color: var(--faint); }
#aitv-root .av-sumsale { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 16px; border-top: 1px solid var(--line); font-size: 13.5px; font-weight: 600; color: var(--sale); }
#aitv-root .av-sumsale span { display: inline-flex; align-items: center; gap: 7px; min-width: 0; }
#aitv-root .av-sumsale.is-code { color: var(--ok); }
#aitv-root .av-blist { list-style: none; max-height: 172px; overflow-y: auto; padding: 6px 16px 8px; border-top: 1px solid var(--line); display: grid; gap: 1px; scrollbar-width: thin; }
#aitv-root .av-blist li { display: flex; align-items: center; gap: 10px; padding: 4px 0; font-size: 14px; min-width: 0; }
#aitv-root .av-blist li > span { width: 26px; text-align: center; flex-shrink: 0; }
#aitv-root .av-blist b { flex: 1; min-width: 0; font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#aitv-root .av-blist em { font-style: normal; font-size: 12px; font-weight: 600; color: var(--ok); white-space: nowrap; }
#aitv-root .av-blist li.is-owned b { color: var(--muted); }
#aitv-root .av-coupon { margin: -4px 0 18px; }
#aitv-root .av-coupon:empty { display: none; }
#aitv-root .av-modal .av-codelink { display: inline-flex; align-items: center; gap: 8px; color: var(--ink-2); font-size: 14px; }
#aitv-root .av-codeform { display: flex; gap: 10px; }
#aitv-root .av-codeform .av-input { flex: 1 1 auto; min-width: 0; min-height: 44px; padding: 9px 12px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; }
#aitv-root .av-codeform .av-input::placeholder { text-transform: none; letter-spacing: 0; font-weight: 400; }
#aitv-root .av-codeform .av-btn { min-height: 44px; flex-shrink: 0; }
#aitv-root #av-codeerr .av-msg { margin: 10px 0 0; }
#aitv-root .av-codeok { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 10px; background: var(--ok-soft); color: var(--ok-ink); border: 1px solid var(--ok-line); border-radius: 12px; padding: 9px 12px; font-size: 14px; font-weight: 500; }
#aitv-root .av-codeok b { font-weight: 700; letter-spacing: .5px; }
#aitv-root .av-codeok em { font-style: normal; background: var(--ok); color: #fff; border-radius: 6px; padding: 0 6px; font-weight: 600; margin-left: 4px; }
#aitv-root .av-modal .av-codeok .av-link { margin-left: auto; color: var(--ok-ink); font-size: 13px; }

/* ---------- notification bell + panel ---------- */
#aitv-root .av-bell {
  position: relative; flex-shrink: 0; width: 40px; height: 40px; display: grid; place-items: center; padding: 0; cursor: pointer; border-radius: 50%;
  background: var(--surface); color: var(--ink-2); border: 1px solid var(--line); font-size: 16px; transition: background-color .15s, color .15s, border-color .15s, transform .15s;
}
#aitv-root .av-bell:hover, #aitv-root .av-bell[aria-expanded="true"] { background: var(--bg-2); color: var(--ink); }
#aitv-root .av-bell.has-new i { transform-origin: 50% 10%; animation: av-ring 2.8s ease-in-out infinite; }
@keyframes av-ring { 0%, 62%, 100% { transform: rotate(0); } 66% { transform: rotate(18deg); } 72% { transform: rotate(-16deg); } 78% { transform: rotate(10deg); } 84% { transform: rotate(-6deg); } 90% { transform: rotate(0); } }
#aitv-root .av-bell-dot { position: absolute; top: 4px; right: 4px; width: 10px; height: 10px; border-radius: 50%; background: var(--accent); border: 2px solid var(--surface); animation: av-dot 1.8s ease-out infinite; }
@keyframes av-dot { 0% { box-shadow: 0 0 0 0 rgba(255,90,31,.6); } 70% { box-shadow: 0 0 0 8px rgba(255,90,31,0); } 100% { box-shadow: 0 0 0 0 rgba(255,90,31,0); } }
#aitv-root .av-bellp {
  position: fixed; z-index: 99980; width: 380px; max-width: calc(100vw - 24px); max-height: min(72vh, 580px); overflow-y: auto; overscroll-behavior: contain;
  background: var(--surface); color: var(--ink); border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--sh-3);
  opacity: 0; transform: translateY(-10px) scale(.97); transform-origin: top right; transition: opacity .2s, transform .35s cubic-bezier(.2,1.3,.4,1);
}
#aitv-root .av-bellp.open { opacity: 1; transform: none; }
#aitv-root .av-bp-head { position: sticky; top: 0; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 12px 12px 18px; background: var(--glass); border-bottom: 1px solid var(--line); }
#aitv-root .av-bp-head b { font-size: 15px; font-weight: 700; display: inline-flex; align-items: center; gap: 9px; }
#aitv-root .av-bp-head b i { color: var(--accent); }
#aitv-root .av-bp-x { width: 32px; height: 32px; padding: 0; display: grid; place-items: center; background: var(--bg-2); color: var(--ink); border: 0; border-radius: 50%; cursor: pointer; font-size: 14px; transition: transform .25s; }
#aitv-root .av-bp-x:hover { transform: rotate(90deg); }
#aitv-root .av-bp-push { display: flex; align-items: center; gap: 12px; padding: 14px 18px; background: var(--soft); border-bottom: 1px solid var(--line); }
#aitv-root .av-bp-pico { flex-shrink: 0; width: 36px; height: 36px; display: grid; place-items: center; background: var(--accent-soft); color: var(--accent); border-radius: 10px; font-size: 15px; }
#aitv-root .av-bp-ptxt { flex: 1 1 auto; min-width: 0; }
#aitv-root .av-bp-ptxt b { display: block; font-size: 14px; font-weight: 600; line-height: 1.3; }
#aitv-root .av-bp-ptxt span { display: block; font-size: 12.5px; line-height: 1.4; color: var(--muted); margin-top: 2px; }
#aitv-root .av-switch { position: relative; flex-shrink: 0; width: 48px; height: 28px; padding: 0; cursor: pointer; background: var(--line-2); border: 0; border-radius: 999px; transition: background-color .2s; }
#aitv-root .av-switch span { position: absolute; top: 3px; left: 3px; width: 22px; height: 22px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.2); transition: transform .35s cubic-bezier(.2,1.5,.4,1); }
#aitv-root .av-switch[aria-checked="true"] { background: var(--ok); }
#aitv-root .av-switch[aria-checked="true"] span { transform: translateX(20px); }
#aitv-root .av-switch.is-busy { opacity: .6; pointer-events: none; }
#aitv-root .av-switch.is-busy span { animation: av-pulse .8s ease-in-out infinite; }
#aitv-root .av-bp-ios { display: flex; gap: 12px; padding: 14px 18px; background: var(--soft); border-bottom: 1px solid var(--line); }
#aitv-root .av-bp-ios > i { font-size: 22px; flex-shrink: 0; }
#aitv-root .av-bp-ios p { font-size: 13px; line-height: 1.5; color: var(--ink-2); }
#aitv-root .av-bp-ios b { font-weight: 600; }
#aitv-root .av-inbox { list-style: none; }
#aitv-root .av-ib { border-bottom: 1px solid var(--line); opacity: 0; animation: av-rise .4s cubic-bezier(.2,.9,.3,1) forwards; }
#aitv-root .av-ib:last-child { border-bottom: 0; }
#aitv-root .av-ib > a, #aitv-root .av-ib > div { display: flex; align-items: flex-start; gap: 11px; padding: 13px 18px; color: var(--ink); transition: background-color .15s; }
#aitv-root .av-ib > a:hover { background: var(--soft); }
#aitv-root .av-ib-dot { flex-shrink: 0; width: 8px; height: 8px; margin-top: 7px; border-radius: 50%; background: var(--line); }
#aitv-root .av-ib.is-unread .av-ib-dot { background: var(--accent); }
#aitv-root .av-ib-t { flex: 1 1 auto; min-width: 0; }
#aitv-root .av-ib-t b { display: block; font-size: 14px; font-weight: 600; line-height: 1.35; overflow-wrap: anywhere; }
#aitv-root .av-ib-b { display: block; margin-top: 2px; font-size: 13px; line-height: 1.45; color: var(--muted); overflow-wrap: anywhere; }
#aitv-root .av-ib-t small { display: block; margin-top: 5px; font-size: 12px; color: var(--faint); }
#aitv-root .av-ib-t em { font-style: normal; color: var(--accent-d); font-weight: 600; }
#aitv-root .av-ib-go { margin-top: 5px; font-size: 12px; color: var(--faint); transition: transform .2s; }
#aitv-root .av-ib > a:hover .av-ib-go { transform: translateX(3px); color: var(--ink); }
#aitv-root .av-bp-empty { padding: 28px 22px; text-align: center; }
#aitv-root .av-bp-empty span { font-size: 32px; line-height: 1; display: inline-block; animation: av-wobble 3.2s ease-in-out infinite; }
#aitv-root .av-bp-empty p { margin-top: 8px; font-size: 13.5px; color: var(--muted); }

/* ---------- footer socials ---------- */
#aitv-root .av-socials { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
#aitv-root .av-footer a.av-soc {
  width: 38px; height: 38px; display: grid; place-items: center; gap: 0; background: var(--surface); color: var(--ink-2); border: 1px solid var(--line); border-radius: 50%;
  font-size: 15px; transition: transform .2s cubic-bezier(.2,1.4,.4,1), background-color .15s, color .15s, border-color .15s;
}
#aitv-root .av-footer a.av-soc i { color: inherit; }
#aitv-root .av-footer a.av-soc:hover { background: var(--inv); color: var(--on-inv); border-color: var(--inv); transform: translateY(-2px) rotate(-6deg); text-decoration: none; }

/* ---------- maintenance ---------- */
#aitv-root .av-maint { display: flex; justify-content: center; padding-top: 72px; padding-bottom: 96px; }
#aitv-root .av-maint-card { width: 100%; max-width: 640px; text-align: center; background: var(--surface); border: 1px solid var(--line); border-radius: 26px; box-shadow: var(--sh-2); padding: 46px 34px 40px; }
#aitv-root .av-maint-ico { width: 84px; height: 84px; margin: 0 auto 22px; display: grid; place-items: center; background: var(--accent-soft); color: var(--accent); border-radius: 24px; font-size: 34px; animation: av-wobble 3s ease-in-out infinite; }
#aitv-root .av-maint-card .av-kicker { box-shadow: none; }
#aitv-root .av-maint-card h1 { margin: 4px 0 12px; font-size: clamp(30px, 4.6vw, 48px); font-weight: 700; line-height: 1.08; letter-spacing: -.03em; }
#aitv-root .av-maint-msg { max-width: 480px; margin: 0 auto 24px; color: var(--muted); font-size: 16.5px; white-space: pre-line; overflow-wrap: anywhere; }
#aitv-root .av-maint-bar { max-width: 320px; height: 6px; margin: 0 auto 28px; background: var(--bg-2); border-radius: 9px; overflow: hidden; }
#aitv-root .av-maint-bar span { display: block; width: 40%; height: 100%; border-radius: 9px; background: linear-gradient(90deg, #ffb08a, var(--accent)); animation: av-load 1.6s ease-in-out infinite alternate; }
@keyframes av-load { from { transform: translateX(-100%); } to { transform: translateX(250%); } }

/* ---------- responsive ---------- */
@media (max-width: 1180px) {
  #aitv-root .av-ap-long { display: none; }
  #aitv-root .av-ap-short { display: inline; }
}
@media (max-width: 980px) {
  #aitv-root .av-badge { display: none; }
  #aitv-root .av-hero-in { grid-template-columns: minmax(0,1fr); }
  #aitv-root .av-aa { grid-template-columns: minmax(0,1fr); padding: 28px; gap: 22px; }
  #aitv-root .av-aa-buy { text-align: left; padding: 0; display: flex; align-items: center; flex-wrap: wrap; gap: 8px 20px; }
  #aitv-root .av-aa-price, #aitv-root .av-aa-note { margin-bottom: 0; }
  #aitv-root .av-aa-buy .av-btn { flex-basis: 100%; }
  #aitv-root .av-aa-was { justify-content: flex-start; }
  #aitv-root .av-split { grid-template-columns: minmax(0,1fr); max-width: 620px; }
  #aitv-root .av-split-l { border-right: 0; border-bottom: 1px solid var(--line); padding: 34px 32px; }
  #aitv-root .av-split-r { padding: 32px; }
  #aitv-root .av-chip-name { max-width: 120px; }
}
@media (max-width: 860px) {
  /* top bar: logo + account on row 1, tabs full-width on row 2 */
  #aitv-root .av-tb { flex-wrap: wrap; gap: 0 10px; min-height: 0; padding-top: 10px; padding-bottom: 10px; }
  #aitv-root .av-nav { order: 3; flex: 1 1 100%; margin-top: 10px; gap: 2px; }
  #aitv-root .av-tab { flex: 1 1 0; justify-content: center; padding: 6px 6px; font-size: 13.5px; min-height: 36px; min-width: 0; }
  #aitv-root .av-hide-sm { display: none; }
  #aitv-root .av-ghost.av-small { padding: 7px 11px; }
  html.aitv-html { scroll-padding-top: 170px; }
  #aitv-root .av-shead { scroll-margin-top: 176px; }
}
@media (max-width: 640px) {
  #aitv-root { --gut: 16px; font-size: 14.5px; }
  #aitv-root .av-bg span { font-size: 110px; }
  #aitv-root .av-mark { width: 32px; height: 32px; font-size: 14px; border-radius: 9px; }
  #aitv-root .av-word { font-size: 17px; }
  #aitv-root .av-tb-r { gap: 8px; }
  #aitv-root .av-chip { padding: 3px; max-width: none; }
  #aitv-root .av-chip-name { display: none; }
  #aitv-root .av-ava { width: 28px; height: 28px; }
  #aitv-root .av-adminpill { padding: 4px 8px; font-size: 11px; }
  #aitv-root .av-tab i { display: none; }
  #aitv-root .av-tab { gap: 5px; }
  #aitv-root .av-hero { padding: 36px 0 6px; }
  #aitv-root .av-phead { padding: 34px 0 18px; }
  #aitv-root .av-hero h1 { font-size: 36px; letter-spacing: -.03em; }
  #aitv-root .av-phead h1 { font-size: 30px; }
  #aitv-root .av-hero p { font-size: 15.5px; margin-top: 14px; }
  #aitv-root .av-kicker { margin-bottom: 14px; font-size: 12.5px; }
  #aitv-root .av-cta { gap: 10px; }
  #aitv-root .av-cta .av-btn { width: 100%; }
  #aitv-root .av-hero-btn { font-size: 16px; min-height: 52px; }
  #aitv-root .av-stats { gap: 6px 18px; font-size: 12.5px; margin-top: 24px; }
  #aitv-root .av-stats b { font-size: 16px; }
  #aitv-root .av-tickwrap { padding: 18px 0 26px; }
  #aitv-root .av-ticker-track span { font-size: 13px; padding: 10px 0 10px 20px; gap: 20px; }
  #aitv-root .av-section { padding-bottom: 56px; }
  #aitv-root .av-label { font-size: 22px; gap: 10px; }
  #aitv-root .av-toolbar { flex-wrap: wrap; gap: 10px; }
  #aitv-root .av-search { flex: 1 1 100%; }
  #aitv-root .av-meta { margin-left: 0; }
  #aitv-root .av-chips { margin-left: calc(var(--gut) * -1); margin-right: calc(var(--gut) * -1); padding-left: var(--gut); padding-right: var(--gut); scroll-padding-left: var(--gut); }
  #aitv-root .av-grid { gap: 18px; }
  #aitv-root .av-card h3 { font-size: 16.5px; }
  #aitv-root .av-aa { padding: 24px 20px; margin-bottom: 44px; border-radius: 20px; }
  #aitv-root .av-aa p { font-size: 14.5px; }
  #aitv-root .av-cd { gap: 8px; }
  #aitv-root .av-cd div { min-width: 0; flex: 1 1 0; padding: 6px 4px; }
  #aitv-root .av-cd b { font-size: 21px; }
  #aitv-root .av-aa-price { font-size: 50px; }
  #aitv-root .av-aa-was { justify-content: flex-start; flex-basis: 100%; }
  #aitv-root .av-aa-ends { margin: 0; flex-basis: 100%; }
  #aitv-root .av-lockbar .av-btn, #aitv-root .av-welcome .av-btn { width: 100%; }
  #aitv-root .av-welcome { padding: 18px 54px 18px 18px; }
  #aitv-root .av-signin { padding: 24px 0 52px; }
  #aitv-root .av-split { border-radius: 20px; }
  #aitv-root .av-split-l { padding: 26px 20px; }
  #aitv-root .av-split-l .av-pitch, #aitv-root .av-split-l .av-perks { display: none; }
  #aitv-root .av-split-l h1 { margin-bottom: 18px; }
  #aitv-root .av-split-r { padding: 24px 20px; }
  #aitv-root .av-sticker { padding: 16px 16px 16px 20px; animation: none; }
  #aitv-root .av-sticker h3 { font-size: 18px; }
  #aitv-root .av-code { gap: 6px; }
  #aitv-root .av-code input { height: 54px; font-size: 22px; }
  #aitv-root .av-panel { padding: 18px 16px; }
  #aitv-root .av-panel-foot .av-btn { width: 100%; }
  /* modals become bottom sheets */
  #aitv-root .av-overlay { padding: 0; align-items: flex-end; }
  #aitv-root .av-modal { width: 100% !important; max-height: 92vh; max-height: 92dvh; border-radius: 22px 22px 0 0; transform: translateY(100%); }
  #aitv-root .av-modal.is-promo { padding: 0 12px 12px; }
  #aitv-root .av-modal.is-promo .av-promo.at-pop { border-radius: 24px; }
  #aitv-root .av-mhead { padding: 18px 62px 14px 18px; }
  #aitv-root .av-mhead h3 { font-size: 19px; }
  #aitv-root .av-mx { top: 13px; right: 13px; width: 38px; height: 38px; }
  #aitv-root .av-mbody { padding: 16px 18px 22px; }
  #aitv-root .av-dt-strip { margin: 0 -18px; padding: 2px 18px 8px; scroll-padding: 0 18px; }
  #aitv-root .av-dt-th { width: 96px; }
  #aitv-root .av-dt-steps { grid-template-columns: minmax(0,1fr); }
  #aitv-root .av-dt-steps li { flex-direction: row; align-items: center; padding: 10px 12px; }
  #aitv-root .av-dt-steps b { flex-shrink: 0; }
  #aitv-root .av-dt-foot { padding: 12px 18px calc(12px + env(safe-area-inset-bottom)); }
  #aitv-root .av-dt-foot .av-btn { padding: 10px 14px; }
  #aitv-root .av-sendrow { grid-template-columns: 1fr 1fr; }
  #aitv-root .av-sendrow .is-gmail { grid-column: 1 / -1; }
  #aitv-root .av-pop-in { padding: 34px 22px 20px; }
  #aitv-root .av-pop-big { font-size: 64px; }
  #aitv-root .av-footer-in { flex-direction: column; justify-content: center; text-align: center; }
  #aitv-root .av-fl { justify-content: center; }
  #aitv-root .av-toast { bottom: 14px; font-size: 14px; }
  #aitv-root .av-cv-all span { display: none; }
  #aitv-root .av-cv-all { width: 30px; padding: 0; }
  #aitv-root .av-gal-box { padding: 12px 12px 10px; gap: 10px; }
  #aitv-root .av-gal-head { gap: 10px; }
  #aitv-root .av-gal-emo { width: 38px; height: 38px; font-size: 19px; }
  #aitv-root .av-gal-tt h3 { font-size: 16px; }
  #aitv-root .av-gal-tt small { font-size: 11px; }
  #aitv-root .av-gal-count { padding: 4px 9px; font-size: 12.5px; }
  #aitv-root .av-gal-x { width: 40px; height: 40px; font-size: 17px; }
  #aitv-root .av-gal-slide { padding: 4px 4px 12px; }
  #aitv-root .av-gal-nav { width: 42px; height: 42px; margin-top: -21px; font-size: 16px; }
  #aitv-root .av-gal-nav.prev { left: 4px; }
  #aitv-root .av-gal-nav.next { right: 4px; }
  #aitv-root .av-gal-cap b { font-size: 15px; }
  #aitv-root .av-gal-cap span { font-size: 12.5px; }
  #aitv-root .av-gal-act, #aitv-root .av-gal-act .av-btn { width: 100%; }
  #aitv-root .av-gal-act .av-big { font-size: 15.5px; min-height: 50px; padding: 12px 16px; }
  #aitv-root .av-gal-th { width: 52px; height: 52px; font-size: 14px; }
  #aitv-root .av-new { top: -8px; right: -2px; }
  #aitv-root .av-bell { width: 36px; height: 36px; font-size: 15px; }
  #aitv-root .av-bellp { transform-origin: top center; }
  /* promo bars: compact, one or two tidy rows */
  #aitv-root .av-ann-in { gap: 6px 10px; min-height: 0; padding-top: 9px; padding-bottom: 9px; }
  #aitv-root .av-ann-in:has(.av-ann-x) { padding-right: calc(var(--gut) + 30px); }
  #aitv-root .av-ann-x { top: 8px; margin-top: 0; right: 6px; }
  #aitv-root .av-ann-ico { width: 26px; height: 26px; font-size: 12px; }
  #aitv-root .av-pemo { font-size: 14px; }
  #aitv-root .av-ann-msg { flex: 1 1 150px; font-size: 14px; line-height: 1.3; }
  #aitv-root .av-sb-msg { font-size: 15px; gap: 2px 8px; }
  #aitv-root .av-sb-pct { font-size: 12.5px; padding: 1px 8px; }
  #aitv-root .av-sb-cdl { display: none; }
  #aitv-root .av-ann-cd { padding: 4px 9px; font-size: 12px; }
  #aitv-root .av-pcta { padding: 6px 12px; min-height: 34px; font-size: 13px; margin-left: auto; }
  #aitv-root .av-promo.d-ribbon.at-bar { clip-path: polygon(0 0, 100% 0, calc(100% - 9px) 50%, 100% 100%, 0 100%, 9px 50%); }
  #aitv-root .av-floatwrap { left: 10px; right: 10px; bottom: 10px; width: auto; max-width: none; }
  #aitv-root .av-promo.at-float { border-radius: 20px; animation-name: av-sheet-in; }
  #aitv-root .av-promo.at-float.a-glow { animation-name: av-sheet-in, av-pglow; }
  #aitv-root .av-promo.at-float.d-spotlight { animation-name: av-sheet-in, av-spot; }
  #aitv-root .av-flag.is-badge { max-width: 70px; }
  #aitv-root .av-pnow { font-size: 20px; }
  #aitv-root .av-bundles, #aitv-root .av-gws { gap: 18px; margin-bottom: 48px; }
  #aitv-root .av-bundle { grid-template-columns: minmax(0,1fr); border-radius: 20px; }
  #aitv-root .av-bmosaic { min-height: 0; aspect-ratio: 16 / 10; }
  #aitv-root .av-binfo { padding: 18px 16px 16px; }
  #aitv-root .av-bundle h3 { font-size: 19px; }
  #aitv-root .av-bprice .av-pnow { font-size: 26px; }
  #aitv-root .av-bfoot .av-btn { flex: 1 1 100%; }
  #aitv-root .av-gw { grid-template-columns: auto minmax(0,1fr); gap: 14px; padding: 18px 16px; align-items: start; border-radius: 20px; }
  #aitv-root .av-gw::before, #aitv-root .av-gw::after { top: auto; bottom: 62px; margin-top: 0; }
  #aitv-root .av-gw-ico { width: 52px; height: 52px; font-size: 26px; border-radius: 14px; }
  #aitv-root .av-gw h3 { font-size: 17.5px; }
  #aitv-root .av-gw-act { grid-column: 1 / -1; padding: 14px 0 0; border-left: 0; border-top: 1px dashed var(--line-2); }
  #aitv-root .av-gw-act .av-btn, #aitv-root .av-gw-state { width: 100%; justify-content: center; max-width: none; }
  #aitv-root .av-maint { padding-top: 34px; padding-bottom: 56px; }
  #aitv-root .av-maint-card { padding: 30px 18px 28px; border-radius: 22px; }
  #aitv-root .av-maint .av-row .av-btn { width: 100%; }
  #aitv-root .av-gw-mfoot .av-btn { width: 100%; }
}
@media (max-width: 380px) {
  #aitv-root .av-foot { flex-wrap: wrap; }
  #aitv-root .av-fbtns { margin-left: auto; }
}
@keyframes av-sheet-in { from { opacity: 0; transform: translateY(120%); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  #aitv-root *, #aitv-root *::before, #aitv-root *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; animation-delay: 0s !important; transition-duration: .01ms !important; }
  #aitv-root .av-slam, #aitv-root .av-slide-l, #aitv-root .av-slide-r, #aitv-root .av-zoom, #aitv-root .av-rise, #aitv-root .av-res { opacity: 1; }
  #aitv-root .av-tab.is-new::before { animation: none; box-shadow: 0 0 0 2px rgba(255,90,31,.45); }
  #aitv-root .av-new, #aitv-root .av-dcount, #aitv-root .av-dcount::after { animation: none; }
  #aitv-root .av-count.bump, #aitv-root .av-tab-ind.is-moving { animation: none; }
  #aitv-root .av-cover, #aitv-root .av-gal-slide::before { animation: none; }
  #aitv-root .av-tab:hover, #aitv-root .av-card:hover .av-cover img.is-on.is-loaded, #aitv-root .av-cover img { transform: none; }
  #aitv-root .av-ib, #aitv-root .av-bundle, #aitv-root .av-gw { opacity: 1; }
  #aitv-root .av-bell.has-new i, #aitv-root .av-flag.is-new, #aitv-root .av-maint-bar span { animation: none; }
  /* promotions stay loud through colour alone: no sheen, particles, marquee or travelling borders */
  #aitv-root .av-promo, #aitv-root .av-promo::before, #aitv-root .av-promo::after, #aitv-root .av-promo * { animation: none !important; }
  #aitv-root .av-promo.a-shimmer::before, #aitv-root .av-pdeco { display: none; }
  #aitv-root .av-mq > span + span { display: none; }
  #aitv-root .av-promo.a-marquee .av-ann-msg { -webkit-mask-image: none; mask-image: none; }
  #aitv-root .av-mq { white-space: normal; }
  #aitv-root .av-card.is-sale::before { animation: none; }
}

/* =====================================================================
   1.3 "FULL STORE" — themes, header, hero, deals zone, showcase, catalog
   controls, category navigation, cards S/M/L, 11 carousel animations,
   big gallery, footer, customize gadget. Appended last: wins the cascade.
   ===================================================================== */

/* ---------- themes ---------- */
#aitv-root[data-theme="navy"] {
  --bg: #0b1430; --bg-2: #121e42; --surface: #15224b; --soft: #192956; --glass: rgba(12,22,52,.86);
  --ink: #eef2ff; --ink-2: #c9d3f1; --muted: #97a5cc; --faint: #6e7ea8;
  --line: #233366; --line-2: #2f417b;
  --inv: #eef2ff; --inv-2: #ffffff; --on-inv: #0b1430;
  --accent-soft: rgba(255,90,31,.16); --accent-line: rgba(255,90,31,.42); --accent-d: #ff7a45;
  --brand: #7aa2ff; --brand-soft: rgba(122,162,255,.14);
  --sale: #ff4d5e; --sale-soft: rgba(255,77,94,.15); --sale-line: rgba(255,77,94,.4); --sale-ink: #ffb3bb;
  --ok: #34d3a6; --ok-soft: rgba(52,211,166,.14); --ok-line: rgba(52,211,166,.4); --ok-ink: #a7f3d9;
  --warn-soft: rgba(250,204,21,.12); --warn-line: rgba(250,204,21,.35); --gold: #facc15;
  --shc: 2,6,23; --glow-a: rgba(91,130,255,.22); --glow-b: rgba(255,90,31,.10);
  color-scheme: dark;
}
#aitv-root[data-theme="slate"] {
  --bg: #e4e7ec; --bg-2: #d7dce3; --surface: #f4f5f7; --soft: #eceff3; --glass: rgba(240,242,245,.88);
  --ink: #1b2330; --ink-2: #384352; --muted: #5a6575; --faint: #8a94a3;
  --line: #d0d6de; --line-2: #bcc4cf;
  --inv: #1b2330; --inv-2: #0e141d; --on-inv: #fff;
  --brand: #4b6584; --brand-soft: #dde4ec;
  --shc: 27,35,48; --glow-a: rgba(75,101,132,.14); --glow-b: rgba(255,90,31,.08);
}
#aitv-root[data-theme="dark"] {
  --bg: #0c0d10; --bg-2: #15171c; --surface: #17191f; --soft: #1d2027; --glass: rgba(14,15,19,.86);
  --ink: #f3f4f7; --ink-2: #c9cdd5; --muted: #8e95a2; --faint: #636a77;
  --line: #262a32; --line-2: #333842;
  --inv: #f3f4f7; --inv-2: #ffffff; --on-inv: #0c0d10;
  --accent-soft: rgba(255,90,31,.15); --accent-line: rgba(255,90,31,.4); --accent-d: #ff7a45;
  --brand: #8ea8ff; --brand-soft: rgba(142,168,255,.12);
  --sale: #ff4d5e; --sale-soft: rgba(255,77,94,.14); --sale-line: rgba(255,77,94,.38); --sale-ink: #ffb3bb;
  --ok: #34d3a6; --ok-soft: rgba(52,211,166,.13); --ok-line: rgba(52,211,166,.38); --ok-ink: #a7f3d9;
  --warn-soft: rgba(250,204,21,.1); --warn-line: rgba(250,204,21,.32); --gold: #facc15;
  --shc: 0,0,0; --glow-a: rgba(120,140,255,.10); --glow-b: rgba(255,90,31,.08);
  color-scheme: dark;
}
#aitv-root { transition: background-color .4s ease, color .3s ease; --foot-bg: #0d1426; --foot-ink: #e8ecf5; --foot-muted: #8d99b3; --foot-line: rgba(255,255,255,.09); }
#aitv-root[data-theme="dark"] { --foot-bg: #08090b; }
#aitv-root[data-theme="navy"] { --foot-bg: #070e24; }
#aitv-root[data-theme="slate"] { --foot-bg: #1b2330; }
#aitv-root .av-card, #aitv-root .av-ctrl, #aitv-root .av-topbar, #aitv-root .av-catnav, #aitv-root .av-gw, #aitv-root .av-bundle, #aitv-root .av-btn, #aitv-root .av-chipf {
  transition: background-color .35s ease, border-color .35s ease, color .25s ease, transform .28s var(--ease), box-shadow .28s var(--ease);
}

/* calm, airy background: two soft glows, nothing that moves */
#aitv-root .av-bg {
  background:
    radial-gradient(900px 480px at 92% -6%, var(--glow-a), transparent 64%),
    radial-gradient(760px 460px at -8% 4%, var(--glow-b), transparent 60%),
    var(--bg);
}
#aitv-root .av-bg span { display: none; }

/* ---------- banners ABOVE the header ---------- */
#aitv-root .av-bars-top { position: relative; z-index: 61; }
#aitv-root .av-bars-top .av-promo.at-bar + .av-promo.at-bar { border-top: 1px solid rgba(255,255,255,.18); }

/* ---------- header: one clean row ---------- */
#aitv-root .av-topbar { position: sticky; top: 0; z-index: 60; background: var(--glass); border-bottom: 1px solid var(--line); }
#aitv-root.aitv-embedded .av-topbar { position: relative; }
#aitv-root .av-tb { gap: 18px; min-height: 64px; }
#aitv-root .av-mark { background: linear-gradient(135deg, #ff7a3d, #ff3d1f); color: #fff; box-shadow: 0 4px 12px rgba(255,90,31,.32); }
#aitv-root .av-word b { color: var(--accent); }
#aitv-root .av-nav { background: var(--bg-2); padding: 4px; }
#aitv-root .av-tab { font-size: 13.5px; min-height: 34px; padding: 6px 13px; }
#aitv-root .av-tab-ind { background: var(--surface); }
#aitv-root .av-tb-r { gap: 6px; }
#aitv-root .av-hico {
  position: relative; flex-shrink: 0; width: 40px; height: 40px; display: grid; place-items: center; padding: 0; cursor: pointer; border-radius: 12px;
  background: transparent; color: var(--ink-2); border: 1px solid transparent; font-size: 16px; -webkit-tap-highlight-color: transparent;
  transition: background-color .15s, color .15s, border-color .15s, transform .18s cubic-bezier(.2,1.4,.4,1);
}
#aitv-root .av-hico:hover { background: var(--bg-2); color: var(--ink); }
#aitv-root .av-hico:active { transform: scale(.92); }
#aitv-root .av-bell { border-radius: 12px; background: transparent; border-color: transparent; }
#aitv-root .av-bell:hover, #aitv-root .av-bell[aria-expanded="true"] { background: var(--bg-2); }
#aitv-root .av-hbadge {
  position: absolute; top: 1px; right: 0; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; display: grid; place-items: center;
  background: var(--inv); color: var(--on-inv); border: 2px solid var(--surface); font-size: 10.5px; font-weight: 700; line-height: 1; pointer-events: none;
  animation: av-dpop .5s cubic-bezier(.2,1.6,.4,1) both;
}
#aitv-root .av-hbadge.is-cart { background: var(--accent); color: #fff; }
#aitv-root .av-hbadge.is-empty, #aitv-root .av-hbadge:empty { display: none; }
#aitv-root .av-hdr-cart.bump { animation: av-cartbump .7s cubic-bezier(.2,1.5,.4,1); }
#aitv-root .av-hdr-cart.bump .av-hbadge { animation: av-bump .8s cubic-bezier(.2,1.5,.4,1); }
@keyframes av-cartbump { 0% { transform: none; } 25% { transform: translateY(-6px) rotate(-10deg) scale(1.12); } 50% { transform: translateY(0) rotate(6deg); } 75% { transform: rotate(-3deg); } 100% { transform: none; } }
#aitv-root .av-chip { padding: 3px 10px 3px 3px; background: transparent; border-color: var(--line); }
#aitv-root .av-ava { background: linear-gradient(135deg, var(--accent-soft), var(--brand-soft)); color: var(--accent-d); }
#aitv-root .av-signbtn { margin-left: 4px; }
/* header search: see "1.5.1 header search" at the end of this file */

/* ---------- hero: compact, one idea ---------- */
#aitv-root .av-hero { padding: 26px 0 12px; }
#aitv-root .av-hero-in { grid-template-columns: minmax(0,1fr) auto; gap: 32px; }
#aitv-root .av-kicker { background: var(--surface); border-color: var(--line); color: var(--ink-2); padding: 5px 13px 5px 11px; font-size: 12.5px; margin-bottom: 14px; }
#aitv-root .av-kdot { width: 8px; height: 8px; border-radius: 50%; background: #22c55e; box-shadow: 0 0 0 0 rgba(34,197,94,.5); animation: av-live 2.2s ease-out infinite; }
@keyframes av-live { 0% { box-shadow: 0 0 0 0 rgba(34,197,94,.5); } 70% { box-shadow: 0 0 0 8px rgba(34,197,94,0); } 100% { box-shadow: 0 0 0 0 rgba(34,197,94,0); } }
#aitv-root .av-hero h1 { font-size: clamp(30px, 3.5vw, 48px); max-width: none; letter-spacing: -.035em; line-height: 1.08; }
#aitv-root .av-hero p { font-size: 16.5px; max-width: 580px; margin-top: 12px; line-height: 1.6; }
#aitv-root .av-cta { margin-top: 20px; gap: 10px; }
#aitv-root .av-hero-btn, #aitv-root .av-cta .av-black { min-height: 48px; padding: 12px 20px; font-size: 15px; border-radius: 13px; }
#aitv-root .av-hero-btn i { animation: none; }
#aitv-root .av-cta-price { background: rgba(255,255,255,.22); border-radius: 8px; padding: 2px 8px; font-weight: 700; }
#aitv-root .av-trust-row { list-style: none; display: flex; flex-wrap: wrap; gap: 6px 20px; margin-top: 18px; font-size: 13px; color: var(--muted); font-weight: 500; }
#aitv-root .av-trust-row li { display: inline-flex; align-items: center; gap: 7px; }
#aitv-root .av-trust-row i { color: var(--ok); font-size: 12px; }
#aitv-root .av-hero-art { position: relative; width: 360px; height: 236px; margin-right: 14px; }
#aitv-root .av-fan {
  position: absolute; top: 14px; width: 148px; height: 196px; padding: 0; border: 4px solid var(--surface); border-radius: 18px; overflow: hidden; cursor: zoom-in;
  background: var(--bg-2); box-shadow: 0 18px 40px rgba(var(--shc),.20), 0 2px 6px rgba(var(--shc),.10); transition: transform .5s cubic-bezier(.2,1.3,.4,1), box-shadow .3s;
}
#aitv-root .av-fan img { width: 100%; height: 100%; object-fit: cover; object-position: center 15%; display: block; }
#aitv-root .av-fan.f0 { left: 8px; transform: rotate(-9deg) translateY(10px); z-index: 1; }
#aitv-root .av-fan.f1 { left: 106px; top: 0; transform: rotate(0deg); z-index: 3; width: 156px; height: 206px; }
#aitv-root .av-fan.f2 { left: 206px; transform: rotate(9deg) translateY(10px); z-index: 2; }
#aitv-root .av-hero-art:hover .av-fan.f0 { transform: rotate(-13deg) translate(-16px, 6px); }
#aitv-root .av-hero-art:hover .av-fan.f2 { transform: rotate(13deg) translate(16px, 6px); }
#aitv-root .av-fan:hover { box-shadow: 0 24px 50px rgba(var(--shc),.28); z-index: 4; }
#aitv-root .av-hero-art .av-fan.f1:hover { transform: translateY(-6px) scale(1.03); }
#aitv-root .av-fan-cap { position: absolute; left: 6px; right: 6px; bottom: 6px; display: flex; gap: 5px; align-items: center; padding: 5px 8px; border-radius: 10px;
  background: var(--glass); color: var(--ink); font-size: 10.5px; font-weight: 600; line-height: 1.2; text-align: left; opacity: 0; transform: translateY(6px); transition: opacity .25s, transform .3s; }
#aitv-root .av-fan:hover .av-fan-cap, #aitv-root .av-fan:focus-visible .av-fan-cap { opacity: 1; transform: none; }
#aitv-root .av-hero-glow { position: absolute; inset: 20px 10px -10px; z-index: 0; border-radius: 50%; background: radial-gradient(closest-side, rgba(255,90,31,.22), transparent); filter: blur(10px); }
#aitv-root .av-fan { animation: av-fanfloat 7s ease-in-out infinite; }
#aitv-root .av-fan.f1 { animation-delay: -2.3s; } #aitv-root .av-fan.f2 { animation-delay: -4.6s; }
@keyframes av-fanfloat { 0%, 100% { translate: 0 0; } 50% { translate: 0 -6px; } }

/* ---------- section heads ---------- */
#aitv-root .av-shead { margin: 4px 0 16px; scroll-margin-top: calc(var(--hdr, 64px) + 16px); }
#aitv-root .av-label { font-size: 24px; }
#aitv-root .av-label .av-num { background: var(--brand-soft); color: var(--brand); }
#aitv-root .av-section { padding-bottom: 56px; }
#aitv-root .av-pre:not(:empty) { margin-bottom: 26px; }
#aitv-root .av-pre .av-aa { margin-bottom: 0; }
#aitv-root .av-gw-sec { padding-bottom: 40px; }
#aitv-root .av-gw-sec:has(#av-gws:empty) { display: none; }

/* ---------- deals zone ---------- */
#aitv-root .av-dz-sec { padding-top: 6px; padding-bottom: 34px; }
#aitv-root .av-dz-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
#aitv-root .av-dz-head h2 { display: flex; align-items: center; gap: 10px; font-size: 19px; font-weight: 700; letter-spacing: -.02em; }
#aitv-root .av-dz-spark { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 10px; background: linear-gradient(135deg, #ff7a3d, #f43f5e); color: #fff; font-size: 13px; box-shadow: 0 6px 14px rgba(244,63,94,.32); }
#aitv-root .av-dz-spark i { animation: av-flick 1.8s ease-in-out infinite; }
#aitv-root .av-dz-all { text-decoration: none; display: inline-flex; gap: 6px; align-items: center; color: var(--ink-2); font-size: 14px; }
#aitv-root .av-dz-all i { transition: transform .2s; }
#aitv-root .av-dz-all:hover i { transform: translateX(3px); }
#aitv-root .av-dz { display: grid; gap: 14px; grid-template-columns: minmax(0,1fr); }
#aitv-root .av-dz.n2 { grid-template-columns: minmax(0,1.25fr) minmax(0,1fr); }
#aitv-root .av-dz.n3 { grid-template-columns: minmax(0,1.35fr) minmax(0,1fr) minmax(0,1fr); }
#aitv-root .av-dz.n4 { grid-template-columns: minmax(0,1.45fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr); }


#aitv-root .av-dz-t {
  position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: stretch; gap: 14px; min-width: 0; min-height: 138px; padding: 16px 16px 16px 18px;
  border: 0; border-radius: 20px; cursor: pointer; text-align: left; color: #fff; font: inherit; opacity: 1;
  background: linear-gradient(135deg, #ff5a1f, #ff2e63); box-shadow: 0 10px 28px -12px rgba(var(--shc),.45);
  transition: transform .3s var(--ease), box-shadow .3s var(--ease);
}
#aitv-root .av-dz-t.av-rise { animation-fill-mode: backwards; }
#aitv-root .av-dz-t:hover { transform: translateY(-3px); box-shadow: 0 18px 40px -14px rgba(var(--shc),.55); }
#aitv-root .av-dz-t:active { transform: translateY(0) scale(.99); }
#aitv-root .av-dz-t.k-deal_of_day { background: radial-gradient(120% 140% at 100% 0%, #ffb347 0%, transparent 46%), linear-gradient(135deg, #ff5a1f 0%, #ff2e63 100%); }
#aitv-root .av-dz-t.k-flash { background: radial-gradient(120% 140% at 100% 0%, #fde047 0%, transparent 42%), linear-gradient(135deg, #e11d48 0%, #f97316 100%); }
#aitv-root .av-dz-t.k-sale { background: radial-gradient(120% 140% at 100% 0%, #f0abfc 0%, transparent 44%), linear-gradient(135deg, #6d28d9 0%, #db2777 100%); }
#aitv-root .av-dz-t.k-bundle { background: radial-gradient(120% 140% at 100% 0%, #67e8f9 0%, transparent 44%), linear-gradient(135deg, #0284c7 0%, #4f46e5 100%); }
#aitv-root .av-dz-t.k-all_access { background: radial-gradient(120% 140% at 100% 0%, rgba(251,191,36,.45) 0%, transparent 45%), linear-gradient(135deg, #111827 0%, #312e81 100%); box-shadow: inset 0 0 0 1px rgba(251,191,36,.45), 0 10px 28px -12px rgba(var(--shc),.5); }
#aitv-root .av-dz-t.k-all_access .av-dz-lbl { background: linear-gradient(90deg, #fbbf24, #f59e0b); color: #1f1300; }
#aitv-root .av-dz-t.k-all_access .av-dz-pct { background: #fbbf24; color: #1f1300; }
#aitv-root .av-dz-fx { position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(110deg, transparent 30%, rgba(255,255,255,.22) 45%, transparent 60%) -150% 0 / 250% 100% no-repeat; animation: av-dzsheen 6s ease-in-out infinite; }
#aitv-root .av-dz-t:nth-child(2) .av-dz-fx { animation-delay: 1.5s; } #aitv-root .av-dz-t:nth-child(3) .av-dz-fx { animation-delay: 3s; } #aitv-root .av-dz-t:nth-child(4) .av-dz-fx { animation-delay: 4.5s; }
@keyframes av-dzsheen { 0%, 60% { background-position: -150% 0; } 100% { background-position: 150% 0; } }
#aitv-root .av-dz-t::after { content: ''; position: absolute; right: -40px; bottom: -60px; z-index: -1; width: 180px; height: 180px; border-radius: 50%; background: rgba(255,255,255,.08); }
#aitv-root .av-dz-body { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; min-width: 0; flex: 1 1 auto; }
#aitv-root .av-dz-lbl { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 999px; background: rgba(255,255,255,.2); color: #fff; font-size: 11.5px; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
#aitv-root .av-dz-ttl { font-size: 17px; font-weight: 700; line-height: 1.22; letter-spacing: -.015em; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; }
#aitv-root .av-dz-sub { font-size: 12.5px; opacity: .85; font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
#aitv-root .av-dz-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 8px; margin-top: auto; }
#aitv-root .av-dz-price b { font-size: 24px; font-weight: 800; letter-spacing: -.03em; line-height: 1; }
#aitv-root .av-dz-price s { font-size: 14px; opacity: .7; }
#aitv-root .av-dz-pct { align-self: center; background: #fff; color: #e11d48; border-radius: 7px; padding: 2px 7px; font-size: 12px; font-weight: 800; }
#aitv-root .av-dz-row { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 12px; width: 100%; }
#aitv-root .av-dz-cd { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600; background: rgba(0,0,0,.18); border-radius: 999px; padding: 3px 9px; font-variant-numeric: tabular-nums; white-space: nowrap; }
#aitv-root .av-dz-go { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; white-space: nowrap; }
#aitv-root .av-dz-go i { transition: transform .25s; }
#aitv-root .av-dz-t:hover .av-dz-go i { transform: translateX(4px); }
#aitv-root .av-dz-img { position: relative; flex: 0 0 30%; max-width: 132px; align-self: stretch; border-radius: 14px; overflow: hidden; background: rgba(255,255,255,.15); box-shadow: 0 10px 24px rgba(0,0,0,.25); transform: rotate(3deg); transition: transform .4s cubic-bezier(.2,1.3,.4,1); }
#aitv-root .av-dz-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 15%; }
#aitv-root .av-dz-img.is-ico { display: grid; place-items: center; font-size: 30px; background: linear-gradient(135deg, rgba(255,255,255,.28), rgba(255,255,255,.08)); box-shadow: inset 0 0 0 1px rgba(255,255,255,.25); align-self: center; aspect-ratio: 1 / 1; height: auto; max-height: none; width: 100%; }
#aitv-root .av-dz-img.is-ico .av-dz-emo { font-size: 46px; line-height: 1; filter: drop-shadow(0 6px 10px rgba(0,0,0,.22)); }
#aitv-root .av-dz.n4 .av-dz-t:not(.is-lead) .av-dz-img.is-ico, #aitv-root .av-dz.n3 .av-dz-t:not(.is-lead) .av-dz-img.is-ico { height: auto; }
#aitv-root .av-dz.n4 .av-dz-t:not(.is-lead) .av-dz-img.is-ico .av-dz-emo, #aitv-root .av-dz.n3 .av-dz-t:not(.is-lead) .av-dz-img.is-ico .av-dz-emo { font-size: 32px; }
#aitv-root .k-all_access .av-dz-img.is-ico { background: linear-gradient(135deg, #fde68a, #f59e0b); color: #3b2300; box-shadow: 0 10px 24px rgba(245,158,11,.35); }
#aitv-root .av-dz-t:hover .av-dz-img { transform: rotate(0deg) scale(1.04); }
#aitv-root .av-dz-t.is-lead { padding: 18px 18px 18px 20px; }
#aitv-root .av-dz-t.is-lead .av-dz-ttl { font-size: 21px; }
#aitv-root .av-dz-t.is-lead .av-dz-price b { font-size: 30px; }
#aitv-root .av-dz-t.is-lead .av-dz-img { flex-basis: 36%; max-width: 150px; }
#aitv-root .av-dz.n1 .av-dz-t { min-height: 180px; }
#aitv-root .av-dz.n1 .av-dz-img { max-width: 160px; }
#aitv-root .av-dz.n4 .av-dz-t:not(.is-lead) .av-dz-img, #aitv-root .av-dz.n3 .av-dz-t:not(.is-lead) .av-dz-img { flex-basis: 28%; max-width: 78px; align-self: flex-start; height: 104px; }
#aitv-root .av-dz.n4 .av-dz-t:not(.is-lead) .av-dz-sub { display: none; }
#aitv-root .av-dz.n4 .av-dz-t:not(.is-lead) .av-dz-ttl { font-size: 15.5px; }
#aitv-root .av-dz.n4 .av-dz-t:not(.is-lead) .av-dz-price b { font-size: 22px; }
#aitv-root .av-dz.n4 .av-dz-t:not(.is-lead) { padding: 14px 14px 14px 16px; gap: 10px; }
#aitv-root .av-dz-t { min-height: 196px; }

/* ---------- showcase: one click to ChatGPT ---------- */
#aitv-root .av-show-sec { padding-bottom: 40px; }
#aitv-root .av-show {
  position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.25fr); gap: 34px; align-items: center; padding: 30px 32px;
  border-radius: 24px; border: 1px solid var(--line); background:
    radial-gradient(600px 300px at 100% 0%, var(--glow-a), transparent 60%), radial-gradient(500px 300px at 0% 100%, var(--glow-b), transparent 60%), var(--surface);
  box-shadow: var(--sh-1);
}
#aitv-root .av-show-k { display: inline-flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--accent-d); }
#aitv-root .av-show h2 { margin-top: 10px; font-size: clamp(22px, 2.3vw, 30px); font-weight: 700; line-height: 1.15; letter-spacing: -.03em; }
#aitv-root .av-show-copy > p { margin-top: 10px; color: var(--muted); font-size: 15px; line-height: 1.6; }
#aitv-root .av-show-steps { list-style: none; display: grid; gap: 8px; margin-top: 16px; }
#aitv-root .av-show-steps li { display: flex; align-items: center; gap: 10px; font-size: 14.5px; font-weight: 500; color: var(--ink-2); }
#aitv-root .av-show-steps b { width: 26px; height: 26px; flex-shrink: 0; display: grid; place-items: center; border-radius: 9px; background: var(--inv); color: var(--on-inv); font-size: 12px; }
#aitv-root .av-show-steps em { font-style: normal; font-weight: 700; color: var(--accent-d); }
#aitv-root kbd { font-family: inherit; font-size: .92em; font-weight: 700; padding: 1px 7px; border-radius: 6px; border: 1px solid var(--line-2); border-bottom-width: 3px; background: var(--surface); color: var(--ink); }
#aitv-root .av-show-hide { margin-top: 14px; font-size: 13px; color: var(--muted); }
#aitv-root .av-show.is-min { display: flex; align-items: center; gap: 14px; padding: 14px 18px; }
#aitv-root .av-show.is-min p { flex: 1 1 auto; font-size: 14.5px; color: var(--ink-2); }
#aitv-root .av-show-mini-ico { width: 36px; height: 36px; flex-shrink: 0; display: grid; place-items: center; border-radius: 11px; background: var(--accent-soft); color: var(--accent); }
/* the demo: tool window -> ChatGPT window, a 10 s loop */
#aitv-root .av-show-demo { position: relative; display: grid; grid-template-columns: minmax(0, .82fr) 44px minmax(0, 1.18fr); align-items: center; min-height: 250px; color: #0f172a; --sd: 10s; }
#aitv-root .av-sd-tool, #aitv-root .av-sd-gpt { position: relative; background: #fff; border-radius: 16px; box-shadow: 0 18px 44px -14px rgba(15,23,42,.35), 0 0 0 1px rgba(15,23,42,.08); overflow: hidden; }
#aitv-root .av-sd-bar { display: flex; align-items: center; gap: 5px; padding: 9px 11px; background: #f1f4f9; border-bottom: 1px solid #e5e9f0; font-size: 11px; font-weight: 600; color: #475569; white-space: nowrap; overflow: hidden; }
#aitv-root .av-sd-bar > i { width: 8px; height: 8px; border-radius: 50%; background: #f87171; flex-shrink: 0; }
#aitv-root .av-sd-bar > i:nth-child(2) { background: #fbbf24; } #aitv-root .av-sd-bar > i:nth-child(3) { background: #34d399; margin-right: 6px; }
#aitv-root .av-sd-url { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 5px; background: #fff; border-radius: 7px; padding: 3px 8px; font-weight: 500; color: #334155; }
#aitv-root .av-sd-url i { font-size: 9px; color: #16a34a; }
#aitv-root .av-sd-body { padding: 12px 13px 14px; display: grid; gap: 7px; }
#aitv-root .av-sd-body small { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: #94a3b8; }
#aitv-root .av-sd-opts { display: flex; flex-wrap: wrap; gap: 5px; }
#aitv-root .av-sd-opts span { padding: 4px 9px; border-radius: 999px; border: 1px solid #e2e8f0; font-size: 11px; font-weight: 600; color: #475569; background: #fff; }
#aitv-root .av-sd-opts .o1 { animation: av-sd-opt var(--sd) infinite .6s; } #aitv-root .av-sd-opts .o2 { animation: av-sd-opt var(--sd) infinite 1.3s; } #aitv-root .av-sd-opts .o3 { animation: av-sd-opt var(--sd) infinite 2s; }
@keyframes av-sd-opt { 0%, 2% { background: #fff; color: #475569; border-color: #e2e8f0; } 5%, 72% { background: #fff1ea; color: #e5480f; border-color: #ffb08a; } 80%, 100% { background: #fff; color: #475569; border-color: #e2e8f0; } }
#aitv-root .av-sd-btn { margin-top: 4px; display: inline-flex; justify-content: center; align-items: center; gap: 6px; padding: 9px 10px; border-radius: 10px; background: #10a37f; color: #fff; font-size: 11.5px; font-weight: 700; animation: av-sd-btn var(--sd) infinite; }
@keyframes av-sd-btn { 0%, 27% { transform: none; box-shadow: 0 0 0 0 rgba(16,163,127,0); } 29% { transform: scale(.94); filter: brightness(.9); } 32% { transform: none; box-shadow: 0 0 0 8px rgba(16,163,127,.25); } 40%, 100% { box-shadow: 0 0 0 0 rgba(16,163,127,0); } }
#aitv-root .av-sd-cursor { position: absolute; z-index: 3; left: 80%; top: 30%; font-size: 17px; color: #0f172a; filter: drop-shadow(0 2px 3px rgba(0,0,0,.3)); animation: av-sd-cur var(--sd) infinite; }
@keyframes av-sd-cur {
  0% { left: 85%; top: 25%; opacity: 0; } 4% { opacity: 1; } 8% { left: 22%; top: 44%; } 15% { left: 70%; top: 44%; } 22% { left: 40%; top: 65%; }
  28% { left: 52%; top: 84%; transform: none; } 29.5% { transform: scale(.8); } 31% { transform: none; } 38% { left: 52%; top: 84%; opacity: 1; } 42%, 100% { left: 60%; top: 95%; opacity: 0; }
}
#aitv-root .av-sd-link { height: 2px; margin: 0 6px; background: repeating-linear-gradient(90deg, var(--accent) 0 6px, transparent 6px 11px); background-size: 22px 2px; opacity: .3; position: relative; animation: av-sd-link var(--sd) infinite; }
#aitv-root .av-sd-link span { position: absolute; right: -4px; top: -4px; border: 5px solid transparent; border-left: 7px solid var(--accent); }
@keyframes av-sd-link { 0%, 30% { opacity: .25; background-position: 0 0; } 32%, 42% { opacity: 1; background-position: 44px 0; } 50%, 100% { opacity: .25; background-position: 88px 0; } }
#aitv-root .av-sd-gpt { animation: av-sd-win var(--sd) infinite; }
@keyframes av-sd-win { 0%, 31% { opacity: .55; transform: translateY(6px) scale(.97); } 36%, 94% { opacity: 1; transform: none; } 100% { opacity: .55; transform: translateY(6px) scale(.97); } }
#aitv-root .av-sd-gbody { position: relative; padding: 16px 14px 46px; display: grid; gap: 10px; background: #fff; }
#aitv-root .av-sd-hi { text-align: center; font-size: 15px; font-weight: 600; color: #0f172a; }
#aitv-root .av-sd-box { position: relative; display: flex; align-items: flex-end; gap: 8px; min-height: 64px; padding: 10px 10px 10px 13px; border-radius: 16px; background: #f4f4f5; border: 1px solid #e4e4e7; }
#aitv-root .av-sd-type { flex: 1; font-size: 11.5px; line-height: 1.5; color: #18181b; border-radius: 4px; animation: av-sd-type var(--sd) infinite; }
@keyframes av-sd-type { 0%, 36% { opacity: 0; background: rgba(59,130,246,0); } 38% { opacity: 1; background: rgba(59,130,246,.25); } 50%, 92% { opacity: 1; background: rgba(59,130,246,0); } 97%, 100% { opacity: 0; } }
#aitv-root .av-sd-send { width: 26px; height: 26px; flex-shrink: 0; display: grid; place-items: center; border-radius: 50%; background: #d4d4d8; color: #fff; font-size: 11px; animation: av-sd-send var(--sd) infinite; }
@keyframes av-sd-send { 0%, 37% { background: #d4d4d8; } 39%, 86% { background: #18181b; } 87% { transform: scale(.85); } 89%, 94% { transform: none; background: #18181b; } 100% { background: #d4d4d8; } }
#aitv-root .av-sd-paste { position: absolute; left: 50%; top: 50px; display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border-radius: 999px; background: #0f172a; color: #fff; font-size: 10.5px; font-weight: 600; white-space: nowrap; transform: translateX(-50%); animation: av-sd-paste var(--sd) infinite; }
@keyframes av-sd-paste { 0%, 37% { opacity: 0; transform: translate(-50%, 6px) scale(.9); } 40%, 54% { opacity: 1; transform: translate(-50%, 0); } 58%, 100% { opacity: 0; transform: translate(-50%, -6px); } }
#aitv-root .av-sd-key { position: absolute; right: 14px; bottom: 10px; display: flex; align-items: center; gap: 8px; animation: av-sd-keyin var(--sd) infinite; }
#aitv-root .av-sd-key small { font-size: 10.5px; font-weight: 600; color: #64748b; }
#aitv-root .av-sd-key kbd { display: inline-block; padding: 5px 11px; border-radius: 9px; border: 1px solid #fdba74; border-bottom-width: 4px; background: #fff7ed; color: #c2410c; font-size: 12px; animation: av-sd-key var(--sd) infinite; }
@keyframes av-sd-keyin { 0%, 52% { opacity: 0; transform: translateY(6px); } 56%, 94% { opacity: 1; transform: none; } 100% { opacity: 0; } }
@keyframes av-sd-key { 0%, 58% { box-shadow: 0 0 0 0 rgba(255,90,31,0); } 66% { box-shadow: 0 0 0 7px rgba(255,90,31,.28), 0 0 22px rgba(255,90,31,.55); } 74% { box-shadow: 0 0 0 0 rgba(255,90,31,0); } 80% { box-shadow: 0 0 0 7px rgba(255,90,31,.28), 0 0 22px rgba(255,90,31,.55); } 85% { transform: none; border-bottom-width: 4px; } 87% { transform: translateY(3px); border-bottom-width: 1px; } 90%, 100% { transform: none; border-bottom-width: 4px; box-shadow: none; } }
/* paused off-screen; reduced motion shows the finished frame */
#aitv-root .av-show-demo *, #aitv-root .av-show-demo { animation-play-state: paused; }
#aitv-root .av-show.is-play .av-show-demo *, #aitv-root .av-show.is-play .av-show-demo { animation-play-state: running; }

/* ---------- catalog controls ---------- */
#aitv-root .av-ctrl {
  display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 10px; margin-bottom: 18px;
  background: var(--surface); border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--sh-1);
}
#aitv-root .av-ctrl .av-search { flex: 1 1 240px; max-width: 360px; }
#aitv-root .av-ctrl .av-search .av-input { min-height: 42px; border-radius: 12px; box-shadow: none; background: var(--bg-2); border-color: transparent; font-size: 15px; padding-top: 8px; padding-bottom: 8px; }
#aitv-root .av-ctrl .av-search .av-input:focus { background: var(--surface); border-color: var(--accent); }
#aitv-root .av-ctrl-r { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-left: auto; }
#aitv-root .av-ctrl .av-meta { order: 5; margin-left: 4px; font-size: 13px; }
#aitv-root .av-ctrl > .av-meta { margin-left: 0; padding: 0 6px; }
#aitv-root .av-sel { position: relative; display: inline-flex; align-items: center; }
#aitv-root .av-sel > i:first-child { position: absolute; left: 12px; color: var(--muted); font-size: 13px; pointer-events: none; }
#aitv-root .av-sel .av-sel-chev { position: absolute; right: 11px; font-size: 10px; color: var(--faint); pointer-events: none; }
#aitv-root .av-sel select {
  height: 40px; padding: 0 32px 0 34px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); color: var(--ink);
  font: inherit; font-size: 13.5px; font-weight: 500; cursor: pointer; -webkit-appearance: none; appearance: none; transition: border-color .15s, box-shadow .15s;
}
#aitv-root .av-sel select:hover { border-color: var(--line-2); }
#aitv-root .av-sel select:focus-visible { outline: none; border-color: var(--accent); box-shadow: 0 0 0 4px rgba(255,90,31,.14); }
#aitv-root .av-perrow select { padding-left: 12px; }
#aitv-root .av-sel option { background: var(--surface); color: var(--ink); }
#aitv-root .av-seg { display: inline-flex; padding: 3px; gap: 2px; border-radius: 12px; background: var(--bg-2); }
#aitv-root .av-seg button {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-width: 34px; height: 34px; padding: 0 10px; border: 0; border-radius: 9px;
  background: transparent; color: var(--muted); font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; transition: background-color .2s, color .2s, box-shadow .2s, transform .15s;
}
#aitv-root .av-seg button:hover { color: var(--ink); }
#aitv-root .av-seg button:active { transform: scale(.94); }
#aitv-root .av-seg button[aria-pressed="true"] { background: var(--surface); color: var(--ink); box-shadow: 0 1px 2px rgba(var(--shc),.1), 0 3px 8px rgba(var(--shc),.08); }
#aitv-root .av-ctl-btn {
  display: inline-flex; align-items: center; gap: 8px; height: 42px; padding: 0 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface);
  color: var(--ink); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; max-width: 100%; transition: border-color .15s, background-color .15s;
}
#aitv-root .av-ctl-btn:hover { border-color: var(--line-2); }
#aitv-root .av-ctl-btn > i:first-child { color: var(--accent); }
#aitv-root .av-cn-cur { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 210px; }
#aitv-root .av-cn-mob { display: none; }

/* ---------- category navigation: left / right / top / dropdown ---------- */
#aitv-root .av-catalog { display: grid; grid-template-columns: minmax(0,1fr); gap: 26px; align-items: start; }
#aitv-root .av-catalog.has-side.nav-left { grid-template-columns: 228px minmax(0,1fr); }
#aitv-root .av-catalog.has-side.nav-right { grid-template-columns: minmax(0,1fr) 228px; }
#aitv-root .av-cat-main { min-width: 0; }
#aitv-root .av-catnav.is-side {
  position: sticky; top: calc(var(--hdr, 64px) + 16px); max-height: calc(100vh - var(--hdr, 64px) - 32px); overflow-y: auto; overscroll-behavior: contain;
  padding: 10px; background: var(--surface); border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--sh-1); scrollbar-width: none;
  animation: av-sl .5s cubic-bezier(.2,.9,.3,1.1) both;
}
#aitv-root .nav-right .av-catnav.is-side { animation-name: av-sr; }
#aitv-root .av-catnav.is-side::-webkit-scrollbar { display: none; }
#aitv-root .av-cn-h { display: flex; align-items: center; gap: 8px; padding: 6px 10px 10px; font-size: 12px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--faint); }
#aitv-root .av-cn-list { display: grid; gap: 2px; }
#aitv-root .av-chipf {
  display: inline-flex; align-items: center; gap: 7px; min-height: 38px; padding: 6px 14px; border-radius: 999px; border: 1px solid var(--line);
  background: var(--surface); color: var(--ink-2); font-size: 13.5px; font-weight: 500; cursor: pointer; white-space: nowrap; flex-shrink: 0;
}
#aitv-root .av-chipf span.av-cn { flex-shrink: 0; font-size: 11.5px; font-weight: 600; color: var(--faint); background: var(--bg-2); border-radius: 999px; padding: 1px 7px; line-height: 1.5; }
#aitv-root .av-chipf > i { font-size: 12px; color: var(--faint); }
#aitv-root .av-cemo { font-size: 14px; line-height: 1; }
#aitv-root .av-chipf span.av-cl { color: inherit; font-size: inherit; font-weight: inherit; }
#aitv-root .av-cn-list > *, #aitv-root .av-sheet-list > *, #aitv-root .av-cn-pop > * { min-width: 0; }
#aitv-root .av-footer .av-mark i { color: #fff; }
#aitv-root .av-chipf:hover { border-color: var(--line-2); color: var(--ink); transform: translateY(-1px); }
#aitv-root .av-chipf[aria-pressed="true"] { background: var(--inv); border-color: var(--inv); color: var(--on-inv); box-shadow: 0 6px 16px -6px rgba(var(--shc),.45); }
#aitv-root .av-chipf[aria-pressed="true"] span.av-cn { background: rgba(127,127,127,.22); color: inherit; }
#aitv-root .av-chipf[aria-pressed="true"] > i { color: inherit; }
#aitv-root .av-chipf.is-salechip { color: var(--sale); background: var(--sale-soft); border-color: var(--sale-line); }
#aitv-root .av-chipf.is-salechip > i { color: var(--sale); animation: av-flick 1.6s ease-in-out infinite; }
#aitv-root .av-chipf.is-salechip[aria-pressed="true"] { background: var(--sale); border-color: var(--sale); color: #fff; }
#aitv-root .av-chipf.is-salechip[aria-pressed="true"] > i { color: #fff; }
#aitv-root .av-chipf.is-favchip > i { color: #f43f5e; }
/* list rows (side / dropdown / sheet) */
#aitv-root .av-chipf.is-row { width: 100%; justify-content: flex-start; border-color: transparent; background: transparent; border-radius: 11px; padding: 8px 10px; min-height: 40px; font-size: 14px; white-space: normal; text-align: left; }
#aitv-root .av-chipf.is-row .av-cl { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#aitv-root .av-chipf.is-row > i, #aitv-root .av-chipf.is-row .av-cemo { width: 22px; text-align: center; flex-shrink: 0; }
#aitv-root .av-chipf.is-row:hover { background: var(--bg-2); transform: none; }
#aitv-root .av-chipf.is-row[aria-pressed="true"] { background: var(--accent-soft); color: var(--accent-d); box-shadow: inset 3px 0 0 var(--accent); font-weight: 600; }
#aitv-root .av-chipf.is-row[aria-pressed="true"] span.av-cn { background: var(--surface); color: var(--accent-d); }
#aitv-root .av-chipf.is-row.is-salechip { background: transparent; }
#aitv-root .av-chipf.is-row.is-salechip[aria-pressed="true"] { background: var(--sale-soft); color: var(--sale); box-shadow: inset 3px 0 0 var(--sale); }
/* top pill bar: arrows + fade edges, no scrollbar */
#aitv-root .av-catnav.is-top { position: relative; margin: -4px 0 18px; animation: av-rise .45s cubic-bezier(.2,.9,.3,1) both; }
#aitv-root .av-cn-track.av-chips {
  display: flex; gap: 8px; margin: 0; padding: 4px 2px 6px; overflow-x: auto; scroll-snap-type: none; scrollbar-width: none; -ms-overflow-style: none; overscroll-behavior-x: contain;
  -webkit-mask-image: none; mask-image: none;
}
#aitv-root .av-cn-track::-webkit-scrollbar { display: none; height: 0; }
#aitv-root .av-catnav.is-top.can-next .av-cn-track { -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 70px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 70px), transparent); }
#aitv-root .av-catnav.is-top.can-prev .av-cn-track { -webkit-mask-image: linear-gradient(90deg, transparent, #000 70px); mask-image: linear-gradient(90deg, transparent, #000 70px); }
#aitv-root .av-catnav.is-top.can-prev.can-next .av-cn-track { -webkit-mask-image: linear-gradient(90deg, transparent, #000 70px, #000 calc(100% - 70px), transparent); mask-image: linear-gradient(90deg, transparent, #000 70px, #000 calc(100% - 70px), transparent); }
#aitv-root .av-cn-arrow {
  position: absolute; top: 50%; z-index: 2; width: 36px; height: 36px; margin-top: -19px; display: grid; place-items: center; padding: 0; border-radius: 50%; cursor: pointer;
  border: 1px solid var(--line); background: var(--surface); color: var(--ink); box-shadow: 0 6px 16px -4px rgba(var(--shc),.25); font-size: 12px;
  opacity: 0; pointer-events: none; transform: scale(.7); transition: opacity .2s, transform .25s cubic-bezier(.2,1.4,.4,1), background-color .15s;
}
#aitv-root .av-cn-arrow.is-prev { left: -6px; } #aitv-root .av-cn-arrow.is-next { right: -6px; }
#aitv-root .can-prev .av-cn-arrow.is-prev, #aitv-root .can-next .av-cn-arrow.is-next { opacity: 1; pointer-events: auto; transform: none; }
#aitv-root .av-cn-arrow:hover { background: var(--inv); color: var(--on-inv); border-color: var(--inv); }
/* dropdown menu */
#aitv-root .av-cn-dd { position: relative; }
#aitv-root .av-cn-chev { font-size: 11px; color: var(--faint); transition: transform .3s; }
#aitv-root .av-cn-dd.open .av-cn-chev { transform: rotate(180deg); }
#aitv-root .av-cn-pop {
  position: absolute; top: calc(100% + 8px); left: 0; z-index: 40; width: 300px; max-width: calc(100vw - 32px); max-height: min(60vh, 460px); overflow-y: auto; overscroll-behavior: contain;
  display: grid; gap: 2px; padding: 8px; background: var(--surface); border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--sh-3); scrollbar-width: thin;
  transform-origin: top left; animation: av-pop .3s cubic-bezier(.2,1.3,.4,1) both;
}
@keyframes av-pop { from { opacity: 0; transform: translateY(-6px) scale(.96); } to { opacity: 1; transform: none; } }
/* phone bottom sheet */
#aitv-root .av-sheet { position: fixed; inset: 0; z-index: 99985; visibility: hidden; pointer-events: none; }
#aitv-root .av-sheet.open { visibility: visible; pointer-events: auto; }
#aitv-root .av-sheet-back { position: absolute; inset: 0; background: rgba(var(--shc),.42); opacity: 0; transition: opacity .3s; -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
#aitv-root .av-sheet.open .av-sheet-back { opacity: 1; }
#aitv-root .av-sheet-panel {
  position: absolute; left: 0; right: 0; bottom: 0; max-height: 80vh; max-height: 80dvh; display: flex; flex-direction: column; background: var(--surface); color: var(--ink);
  border-radius: 24px 24px 0 0; box-shadow: var(--sh-3); padding: 8px 14px calc(14px + env(safe-area-inset-bottom)); transform: translateY(105%); transition: transform .5s cubic-bezier(.2,1.15,.35,1);
}
#aitv-root .av-sheet.open .av-sheet-panel { transform: none; }
#aitv-root .av-sheet-grab { display: block; width: 42px; height: 5px; margin: 2px auto 8px; border-radius: 9px; background: var(--line-2); }
#aitv-root .av-sheet-head { display: flex; align-items: center; justify-content: space-between; padding: 4px 4px 10px; }
#aitv-root .av-sheet-head h3 { font-size: 18px; font-weight: 700; }
#aitv-root .av-sheet-head .av-mx { position: static; }
#aitv-root .av-sheet-list { overflow-y: auto; display: grid; gap: 2px; overscroll-behavior: contain; }

/* ---------- grid: columns from size + per-row (JS sets --cols from the real width) ---------- */
#aitv-root .av-gridhold { --cols: 3; }
#aitv-root .av-grid { grid-template-columns: repeat(var(--cols, 3), minmax(0,1fr)); gap: 20px; }
#aitv-root[data-size="s"] .av-grid { gap: 14px; }
#aitv-root[data-size="l"] .av-grid { gap: 26px; }
#aitv-root #av-dgrid { --cols: 3; }
/* groups */
#aitv-root .av-group { margin-bottom: 34px; animation: av-rise .45s cubic-bezier(.2,.9,.3,1) both; }
#aitv-root .av-group-h { display: flex; align-items: center; gap: 12px; width: 100%; padding: 4px 0 14px; margin: 0; border: 0; background: none; color: var(--ink); font: inherit; cursor: pointer; text-align: left; }
#aitv-root .av-group-emo { width: 38px; height: 38px; flex-shrink: 0; display: grid; place-items: center; font-size: 19px; border-radius: 12px; background: var(--surface); border: 1px solid var(--line); box-shadow: var(--sh-1); }
#aitv-root .av-group-t { font-size: 20px; font-weight: 700; letter-spacing: -.02em; }
#aitv-root .av-group-n { font-size: 12.5px; font-weight: 600; color: var(--muted); background: var(--bg-2); border-radius: 999px; padding: 2px 9px; }
#aitv-root .av-group-chev { margin-left: auto; width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; color: var(--muted); transition: transform .35s var(--ease), background-color .15s; }
#aitv-root .av-group-h:hover .av-group-chev { background: var(--bg-2); color: var(--ink); }
#aitv-root .av-group.is-closed .av-group-chev { transform: rotate(-90deg); }
#aitv-root .av-group.is-closed { margin-bottom: 12px; padding-bottom: 10px; border-bottom: 1px solid var(--line); }
#aitv-root .av-group-more { display: flex; justify-content: center; margin-top: 16px; }

/* ---------- cards: S / M / L, always fully visible on screen ---------- */
#aitv-root { --cp: 14px; --ar: 4 / 5; --info: 250px; }
#aitv-root[data-size="s"] { --cp: 10px; --ar: 1 / 1; --info: 214px; }
#aitv-root[data-size="l"] { --cp: 16px; --ar: 4 / 5; --info: 236px; }
#aitv-root .av-card { padding: var(--cp); border-radius: 18px; container-type: inline-size; content-visibility: visible; }
#aitv-root .av-card:hover { transform: translateY(-5px); box-shadow: 0 2px 6px rgba(var(--shc),.05), 0 22px 44px -16px rgba(var(--shc),.28); border-color: var(--line-2); }
#aitv-root .av-cover {
  margin: calc(var(--cp) * -1) calc(var(--cp) * -1) 0; aspect-ratio: var(--ar);
  max-height: calc(100vh - var(--hdr, 64px) - 32px - var(--info)); max-height: calc(100svh - var(--hdr, 64px) - 32px - var(--info)); min-height: 120px;
}
#aitv-root .av-cv-n { position: absolute; right: 10px; bottom: 10px; z-index: 2; display: inline-flex; align-items: center; gap: 5px; padding: 3px 8px; border-radius: 999px; background: rgba(15,23,42,.62); color: #fff; font-size: 11px; font-weight: 600; pointer-events: none; -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); opacity: 0; transform: translateY(4px); transition: opacity .25s, transform .3s; }
#aitv-root .av-card:hover .av-cv-n { opacity: 1; transform: none; }
#aitv-root .av-strip { margin: 0 calc(var(--cp) * -1) 10px; padding: 8px var(--cp); gap: 8px; }
#aitv-root .av-strip-emo { width: 28px; height: 28px; font-size: 15px; border-radius: 8px; }
#aitv-root .av-cv-all, #aitv-root .av-cv-ask { height: 28px; }
#aitv-root .av-cv-ask { width: 28px; }
#aitv-root .av-ct { display: flex; align-items: flex-start; gap: 6px; }
#aitv-root .av-ct h3 { flex: 1 1 auto; min-width: 0; font-size: 16px; margin-bottom: 4px; }
#aitv-root .av-keep { display: flex; flex-shrink: 0; gap: 0; margin: -5px -6px 0 0; }
#aitv-root .av-ic {
  position: relative; width: 32px; height: 32px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 10px; background: transparent; cursor: pointer;
  color: var(--faint); font-size: 15px; transition: color .15s, background-color .15s, transform .2s cubic-bezier(.2,1.5,.4,1);
}
#aitv-root .av-ic:hover { background: var(--bg-2); color: var(--ink); }
#aitv-root .av-ic:active { transform: scale(.85); }
#aitv-root .av-ic .fa-solid { display: none; }
#aitv-root .av-ic[aria-pressed="true"] .fa-regular { display: none; }
#aitv-root .av-ic[aria-pressed="true"] .fa-solid { display: inline-block; animation: av-heart .45s cubic-bezier(.2,1.6,.4,1); }
#aitv-root .av-wish[aria-pressed="true"] { color: var(--brand); }
#aitv-root .av-fav[aria-pressed="true"] { color: #f43f5e; }
@keyframes av-heart { 0% { transform: scale(.4); } 60% { transform: scale(1.3); } 100% { transform: scale(1); } }
#aitv-root .av-card p { font-size: 13.5px; min-height: 3em; }
#aitv-root .av-foot { margin-top: 12px; padding-top: 12px; gap: 8px; }
#aitv-root .av-fbtns { gap: 6px; }
#aitv-root .av-price { font-size: 19px; }
#aitv-root .av-pnow { font-size: 19px; }
#aitv-root .av-dtl > i { display: none; }
#aitv-root .av-cartadd { width: 38px; padding: 0; color: var(--ink-2); }
#aitv-root .av-cartadd:hover { color: var(--accent-d); border-color: var(--accent-line); background: var(--accent-soft); }
#aitv-root .av-cartadd .av-bl { display: none; }
#aitv-root .av-dt-foot .av-cartadd { width: auto; padding: 0 14px; }
#aitv-root .av-dt-foot .av-cartadd .av-bl { display: inline; }
#aitv-root .av-dt-foot .av-ic { width: 40px; height: 40px; border: 1px solid var(--line); font-size: 16px; }
#aitv-root[data-size="s"] .av-card h3 { font-size: 14px; -webkit-line-clamp: 2; }
#aitv-root[data-size="s"] .av-card p { -webkit-line-clamp: 1; min-height: 0; font-size: 12.5px; }
#aitv-root[data-size="s"] .av-price, #aitv-root[data-size="s"] .av-pnow { font-size: 16px; }
#aitv-root[data-size="s"] .av-price small { display: none; }
#aitv-root[data-size="s"] .av-foot { margin-top: 8px; padding-top: 8px; }
#aitv-root[data-size="s"] .av-btn.av-small { min-height: 34px; padding: 6px 10px; font-size: 12.5px; }
#aitv-root[data-size="s"] .av-cartadd { width: 34px; padding: 0; }
#aitv-root[data-size="s"] .av-strip { margin-bottom: 8px; padding-top: 6px; padding-bottom: 6px; }
#aitv-root[data-size="l"] .av-card h3 { font-size: 18px; }
#aitv-root[data-size="l"] .av-card p { font-size: 14.5px; }
#aitv-root[data-size="l"] .av-price, #aitv-root[data-size="l"] .av-pnow { font-size: 22px; }
@container (max-width: 380px) {
  #aitv-root .av-foot { flex-wrap: wrap; row-gap: 10px; }
  #aitv-root .av-foot > .av-price, #aitv-root .av-foot > .av-owned { flex: 1 1 100%; }
  #aitv-root .av-foot > .av-owned { flex: 0 0 auto; }
  #aitv-root .av-price.is-sale { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 4px 10px; }
  #aitv-root .av-price.is-sale small { margin-top: 0; }
  #aitv-root .av-price:not(.is-sale) { display: flex; align-items: baseline; gap: 8px; }
  #aitv-root .av-price:not(.is-sale) small { margin-top: 0; display: inline; }
  #aitv-root .av-fbtns { flex: 1 1 100%; }
  #aitv-root .av-fbtns [data-act="unlock"], #aitv-root .av-fbtns [data-act="free-get"], #aitv-root .av-fbtns a.av-btn { flex: 1 1 auto; }
  #aitv-root .av-card.is-owned .av-foot { flex-wrap: nowrap; }
  #aitv-root .av-card.is-owned .av-fbtns { flex: 0 0 auto; }
}
@container (max-width: 250px) {
  #aitv-root .av-dtl { width: 34px; padding: 0; }
  #aitv-root .av-dtl > i { display: inline-block; }
  #aitv-root .av-dtl .av-bl { display: none; }
  #aitv-root .av-strip .av-cat, #aitv-root .av-strip .av-flags, #aitv-root .av-cv-dots { display: none; }
  #aitv-root .av-cv-all span { display: none; }
  #aitv-root .av-cv-all { width: 28px; padding: 0; }
}
@container (max-width: 180px) {
  #aitv-root .av-fbtns .av-bl { display: none; }
  #aitv-root .av-keep { margin-right: -4px; }
  #aitv-root .av-ic { width: 28px; height: 28px; font-size: 13.5px; }
}
/* tools without samples: a calm emoji tile the same shape as a cover */
#aitv-root .av-card:not(.has-cover) .av-card-top {
  position: relative; display: grid; place-items: center; margin: calc(var(--cp) * -1) calc(var(--cp) * -1) 12px; aspect-ratio: var(--ar);
  max-height: calc(100vh - var(--hdr, 64px) - 32px - var(--info)); min-height: 120px;
  background: radial-gradient(circle at 30% 20%, var(--accent-soft), transparent 60%), radial-gradient(circle at 80% 90%, var(--brand-soft), transparent 60%), var(--soft);
  border-bottom: 1px solid var(--line);
}
#aitv-root .av-card:not(.has-cover) .av-card-top { justify-content: center; align-content: center; }
#aitv-root .av-card:not(.has-cover) .av-card-top .av-emo { margin: auto; width: 96px; height: 96px; font-size: 52px; border-radius: 28px; background: var(--surface); box-shadow: var(--sh-2); }
#aitv-root .av-card:not(.has-cover) .av-top-tags { position: absolute; top: 10px; left: 10px; right: 10px; justify-content: space-between; }
/* ---------- card carousel: 11 animations ---------- */
#aitv-root .av-cover-hit, #aitv-root .av-mini { perspective: 1100px; }
#aitv-root .av-cvi {
  position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center 20%; display: block;
  background: center 20% / cover no-repeat; opacity: 0; transform: scale(1.04);
  transition: opacity var(--cv-t, .8s) ease, transform 4s cubic-bezier(.2,.8,.3,1); will-change: opacity, transform;
}
#aitv-root .av-cvi.is-on.is-loaded { opacity: 1; transform: none; }
#aitv-root .av-cvi.is-off { opacity: 0; }
#aitv-root [data-cv="fade"] .av-card:hover .av-cvi.is-on.is-loaded { transform: scale(1.05); transition: opacity var(--cv-t, .8s) ease, transform .7s cubic-bezier(.2,.9,.3,1); }
/* slide left / right / up */
#aitv-root [data-cv="slide-left"] .av-cvi, #aitv-root [data-cv="slide-right"] .av-cvi, #aitv-root [data-cv="slide-up"] .av-cvi { opacity: 1; transition: none; transform: translateX(100%); }
#aitv-root [data-cv="slide-right"] .av-cvi { transform: translateX(-100%); }
#aitv-root [data-cv="slide-up"] .av-cvi { transform: translateY(100%); }
#aitv-root [data-cv="slide-left"] .av-cvi.is-on, #aitv-root [data-cv="slide-right"] .av-cvi.is-on, #aitv-root [data-cv="slide-up"] .av-cvi.is-on { transform: none; transition: transform var(--cv-t) cubic-bezier(.7,0,.25,1); }
#aitv-root [data-cv="slide-left"] .av-cvi.is-off { transform: translateX(-100%); transition: transform var(--cv-t) cubic-bezier(.7,0,.25,1); }
#aitv-root [data-cv="slide-right"] .av-cvi.is-off { transform: translateX(100%); transition: transform var(--cv-t) cubic-bezier(.7,0,.25,1); }
#aitv-root [data-cv="slide-up"] .av-cvi.is-off { transform: translateY(-100%); transition: transform var(--cv-t) cubic-bezier(.7,0,.25,1); }
/* 3D cube */
#aitv-root [data-cv="cube"] .av-cvi { opacity: 1; transition: none; transform-origin: 0% 50%; transform: translateX(100%) rotateY(90deg); -webkit-backface-visibility: hidden; backface-visibility: hidden; }
#aitv-root [data-cv="cube"] .av-cvi.is-on { transform: none; transform-origin: 0% 50%; transition: transform var(--cv-t) cubic-bezier(.6,.05,.3,1), filter var(--cv-t); }
#aitv-root [data-cv="cube"] .av-cvi.is-off { transform-origin: 100% 50%; transform: translateX(-100%) rotateY(-90deg); filter: brightness(.6); transition: transform var(--cv-t) cubic-bezier(.6,.05,.3,1), filter var(--cv-t); }
/* flip */
#aitv-root [data-cv="flip"] .av-cvi { opacity: 1; transition: none; transform: rotateY(180deg); -webkit-backface-visibility: hidden; backface-visibility: hidden; }
#aitv-root [data-cv="flip"] .av-cvi.is-on { transform: rotateY(0deg); transition: transform var(--cv-t) cubic-bezier(.4,.1,.2,1); }
#aitv-root [data-cv="flip"] .av-cvi.is-off { transform: rotateY(-180deg); transition: transform var(--cv-t) cubic-bezier(.4,.1,.2,1); }
/* zoom in / out */
#aitv-root [data-cv="zoom-in"] .av-cvi { transform: scale(.7); transition: none; }
#aitv-root [data-cv="zoom-in"] .av-cvi.is-on { transform: none; transition: opacity var(--cv-t) ease, transform var(--cv-t) cubic-bezier(.2,1.1,.3,1); }
#aitv-root [data-cv="zoom-in"] .av-cvi.is-off { opacity: 0; transform: scale(1.3); transition: opacity var(--cv-t) ease, transform var(--cv-t) ease; }
#aitv-root [data-cv="zoom-out"] .av-cvi { transform: scale(1.4); transition: none; }
#aitv-root [data-cv="zoom-out"] .av-cvi.is-on { transform: none; transition: opacity var(--cv-t) ease, transform var(--cv-t) cubic-bezier(.2,1,.3,1); }
#aitv-root [data-cv="zoom-out"] .av-cvi.is-off { opacity: 0; transform: scale(.75); transition: opacity var(--cv-t) ease, transform var(--cv-t) ease; }
/* Ken Burns */
#aitv-root [data-cv="kenburns"] .av-cvi { transform: scale(1.02); transition: opacity var(--cv-t) ease; }
#aitv-root [data-cv="kenburns"] .av-cvi.is-on.is-loaded { animation: av-kb var(--cv-every, 3.4s) linear both; }
#aitv-root [data-cv="kenburns"] .av-cvi.is-off { opacity: 0; transform: scale(1.15) translate(-2%, -3%); }
@keyframes av-kb { from { transform: scale(1.02) translate(0, 0); } to { transform: scale(1.15) translate(-2%, -3%); } }
/* shake */
#aitv-root [data-cv="shake"] .av-cvi { transform: none; transition: opacity calc(var(--cv-t) * .5) ease; }
#aitv-root [data-cv="shake"] .av-cvi.is-on.is-loaded { animation: av-cvshake .7s cubic-bezier(.36,.07,.19,.97) both; }
@keyframes av-cvshake { 0% { transform: scale(1.04); } 15% { transform: translateX(-5%) rotate(-2.5deg) scale(1.06); } 30% { transform: translateX(5%) rotate(2.5deg) scale(1.06); } 45% { transform: translateX(-3%) rotate(-1.5deg) scale(1.04); } 60% { transform: translateX(3%) rotate(1.5deg); } 80% { transform: translateX(-1%) rotate(-.5deg); } 100% { transform: none; } }
/* none */
#aitv-root [data-cv="none"] .av-cvi { transition: none !important; animation: none !important; transform: none; }
/* gadget mini previews reuse the same rules */
#aitv-root .av-mini { position: relative; display: block; overflow: hidden; width: 100%; aspect-ratio: 16 / 11; border-radius: 10px; margin: 0; background: linear-gradient(135deg, #c7d2fe, #fbcfe8); --cv-t: 520ms; --cv-every: 1.5s; }
#aitv-root .av-mini .av-cvi:not([style]) { background-image: linear-gradient(135deg, #fb923c, #f43f5e); }
#aitv-root .av-mini .av-cvi:not([style]) + .av-cvi:not([style]) { background-image: linear-gradient(135deg, #38bdf8, #6366f1); }

/* ---------- gallery: BIG (fills the screen, max 96vw x 88vh) ---------- */
#aitv-root .av-gal { background: rgba(6,8,14,.95); }
#aitv-root .av-gal-box { max-width: none; padding: 0; gap: 0; }
#aitv-root .av-gal-head { position: absolute; top: 0; left: 0; right: 0; z-index: 5; padding: 12px 16px 26px; background: linear-gradient(rgba(6,8,14,.75), transparent); pointer-events: none; }
#aitv-root .av-gal-head > * { pointer-events: auto; }
#aitv-root .av-gal-stage { position: absolute; top: 0; left: 0; right: 0; bottom: 84px; }
#aitv-root .av-gal-slide { padding: 6vh 2vw 0; align-items: center; }
#aitv-root .av-gal-slide::before { top: 6vh; bottom: 0; width: min(60vw, 66vh); }
#aitv-root .av-gal-slide img { max-width: 96vw; max-height: min(88vh, 100%); border-radius: 12px; box-shadow: 0 30px 90px rgba(0,0,0,.6); }
#aitv-root .av-gal-nav { width: 52px; height: 52px; background: rgba(255,255,255,.14); color: #fff; box-shadow: none; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); border: 1px solid rgba(255,255,255,.18); }
#aitv-root .av-gal-nav:hover { background: rgba(255,255,255,.95); color: #0f172a; }
#aitv-root .av-gal-nav.prev { left: 18px; } #aitv-root .av-gal-nav.next { right: 18px; }
#aitv-root .av-gal-foot { position: absolute; left: 0; right: 0; bottom: 0; z-index: 4; height: 84px; padding: 0 20px; flex-wrap: nowrap; gap: 16px; }
#aitv-root .av-gal-cap { flex: 0 1 300px; }
#aitv-root .av-gal-thumbs { position: absolute; z-index: 5; left: 50%; bottom: 14px; transform: translateX(-50%); max-width: min(46vw, 640px); padding: 4px; justify-content: flex-start; scrollbar-width: none; }
#aitv-root .av-gal-thumbs::-webkit-scrollbar { display: none; }
#aitv-root .av-gal-th { width: 48px; height: 56px; }

/* ---------- footer: real-store footer (always dark, every theme) ---------- */
#aitv-root .av-footer { background: var(--foot-bg); color: var(--foot-muted); border-top: 0; margin-top: 0; }
#aitv-root .av-footer::before { content: ''; display: block; height: 3px; background: linear-gradient(90deg, #ff5a1f, #f43f5e 35%, #7c3aed 70%, #3b6cf6); opacity: .9; }
#aitv-root .av-ftop { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 2fr); gap: 48px; padding-top: 52px; padding-bottom: 38px; }
#aitv-root .av-ftop.is-min { display: flex; gap: 20px; padding-top: 28px; padding-bottom: 16px; }
#aitv-root .av-fbrand { display: grid; gap: 14px; align-content: start; justify-items: start; }
#aitv-root .av-footer .av-logo { color: #fff; }
#aitv-root .av-footer .av-word { color: #fff; }
#aitv-root .av-fabout { font-size: 14px; line-height: 1.65; color: var(--foot-muted); max-width: 380px; }
#aitv-root .av-fcontact { display: flex; flex-wrap: wrap; gap: 8px 18px; }
#aitv-root .av-footer a, #aitv-root .av-footer .av-flink { color: var(--foot-ink); font-weight: 500; }
#aitv-root .av-footer .av-fask, #aitv-root .av-footer .av-fmail { font-size: 14px; color: var(--foot-ink); opacity: .9; }
#aitv-root .av-footer a i, #aitv-root .av-footer .av-flink i { color: var(--accent); }
#aitv-root .av-fcols { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 28px; }
#aitv-root .av-fcol h4 { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #fff; margin-bottom: 14px; }
#aitv-root .av-fcol ul { list-style: none; display: grid; gap: 10px; }
#aitv-root .av-fcol a, #aitv-root .av-fcol .av-flink { font-size: 14px; color: var(--foot-muted); font-weight: 400; transition: color .15s, transform .2s; display: inline-flex; }
#aitv-root .av-fcol a:hover, #aitv-root .av-fcol .av-flink:hover { color: #fff; text-decoration: none; transform: translateX(3px); }
#aitv-root .av-fext { font-size: 9px; margin-left: 4px; opacity: .6; }
#aitv-root .av-footer .av-socials { justify-content: flex-start; }
#aitv-root .av-footer a.av-soc { background: rgba(255,255,255,.06); color: var(--foot-ink); border-color: var(--foot-line); }
#aitv-root .av-footer a.av-soc:hover { background: #fff; color: #0f172a; border-color: #fff; }
#aitv-root .av-fnote { color: var(--foot-muted); padding-bottom: 18px; }
#aitv-root .av-fbar { border-top: 1px solid var(--foot-line); }
#aitv-root .av-fbar-in { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px 24px; padding-top: 18px; padding-bottom: 10px; font-size: 13px; }
#aitv-root .av-fcopy { color: var(--foot-muted); }
#aitv-root .av-paybadges { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
#aitv-root .av-pb { display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 28px; min-width: 44px; padding: 0 9px; border-radius: 7px; background: #fff; color: #1a1f36; font-size: 19px; font-weight: 700; line-height: 1; }
#aitv-root .av-pb.is-pp { font-size: 12.5px; color: #003087; }
#aitv-root .av-pb.is-pp i { color: #009cde; font-size: 14px; }
#aitv-root .av-pb .fa-cc-visa { color: #1a1f71; } #aitv-root .av-pb .fa-cc-mastercard { color: #eb001b; } #aitv-root .av-pb .fa-cc-amex { color: #2e77bc; }
#aitv-root .av-pb.av-pb-secure { background: transparent; border: 1px solid var(--foot-line); color: var(--foot-muted); font-size: 12px; font-weight: 600; }
#aitv-root .av-pb.av-pb-secure i { color: #34d399; font-size: 11px; }
#aitv-root .av-made { color: var(--foot-muted); font-size: 12.5px; }
#aitv-root .av-fpriv { color: rgba(255,255,255,.35); padding-bottom: 22px; text-align: left; font-size: 11.5px; }

/* ---------- customize gadget ---------- */
/* (1.4: the widget button styles live in the 1.4 block at the end of this file) */
#aitv-root .av-gd { position: fixed; inset: 0; z-index: 99975; visibility: hidden; pointer-events: none; }
#aitv-root .av-gd.open { visibility: visible; pointer-events: auto; }
#aitv-root .av-gd-back { position: absolute; inset: 0; background: rgba(var(--shc),.12); opacity: 0; transition: opacity .35s; }
@media (max-width: 760px) { #aitv-root .av-gd-back { background: rgba(var(--shc),.3); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); } }
#aitv-root .av-gd.open .av-gd-back { opacity: 1; }
#aitv-root .av-gd-panel {
  position: absolute; top: 0; bottom: 0; left: 0; width: min(400px, 92vw); display: flex; flex-direction: column; background: var(--surface); color: var(--ink);
  border-radius: 0 26px 26px 0; box-shadow: 30px 0 80px -20px rgba(var(--shc),.45); transform: translateX(-104%); transition: transform .6s cubic-bezier(.2,1.12,.32,1);
}
#aitv-root .av-gd.open .av-gd-panel { transform: none; }
#aitv-root .av-gd-head { position: relative; display: flex; align-items: center; gap: 12px; padding: 20px 64px 16px 20px; border-bottom: 1px solid var(--line); }
#aitv-root .av-gd-head h3 { font-size: 18px; font-weight: 700; letter-spacing: -.02em; }
#aitv-root .av-gd-head p { font-size: 12.5px; color: var(--muted); }
#aitv-root .av-gd-head .av-mx { top: 18px; right: 16px; }
#aitv-root .av-gd-ico { width: 42px; height: 42px; flex-shrink: 0; display: grid; place-items: center; border-radius: 13px; color: #fff; font-size: 17px; background: conic-gradient(from 210deg, #ff5a1f, #f43f5e, #7c3aed, #3b6cf6, #10b981, #ff5a1f); }
#aitv-root .av-gd-body { flex: 1 1 auto; overflow-y: auto; overscroll-behavior: contain; padding: 6px 20px 20px; scrollbar-width: thin; scrollbar-color: var(--line-2) transparent; }
#aitv-root .av-gd-sec { padding: 16px 0 6px; border-bottom: 1px dashed var(--line); opacity: 0; transform: translateX(-24px); }
#aitv-root .av-gd.open .av-gd-sec { animation: av-gdsec .55s cubic-bezier(.2,1.1,.3,1) forwards; animation-delay: calc(.12s + var(--i, 0) * 60ms); }
@keyframes av-gdsec { to { opacity: 1; transform: none; } }
#aitv-root .av-gd-sec:last-child { border-bottom: 0; }
#aitv-root .av-gd-sec h4 { display: flex; align-items: center; gap: 8px; font-size: 12.5px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--muted); margin-bottom: 12px; }
#aitv-root .av-gd-sec h4 i { color: var(--accent); }
#aitv-root .av-gd-themes { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 8px; }
#aitv-root .av-gd-anims { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 8px; }
#aitv-root .av-gd-places { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 8px; margin-bottom: 12px; }
#aitv-root .av-gtile {
  display: grid; justify-items: center; gap: 6px; padding: 8px 6px; border: 1.5px solid var(--line); border-radius: 14px; background: var(--soft); color: var(--ink-2);
  font: inherit; font-size: 12px; font-weight: 600; cursor: pointer; text-align: center; transition: border-color .2s, background-color .2s, transform .2s cubic-bezier(.2,1.4,.4,1), box-shadow .2s;
}
#aitv-root .av-gtile:hover { border-color: var(--line-2); transform: translateY(-2px); }
#aitv-root .av-gtile[aria-pressed="true"] { border-color: var(--accent); background: var(--accent-soft); color: var(--accent-d); box-shadow: 0 6px 16px -8px rgba(255,90,31,.6); }
#aitv-root .av-gtile.is-anim { padding: 6px; }
#aitv-root .av-gt-l { font-size: 11.5px; line-height: 1.2; }
#aitv-root .av-sw { width: 42px; height: 42px; border-radius: 50%; overflow: hidden; display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; box-shadow: inset 0 0 0 1px rgba(0,0,0,.1), 0 3px 8px rgba(var(--shc),.15); transform: rotate(-30deg); }
#aitv-root .av-sw i:first-child { grid-row: span 2; }
#aitv-root .sw-light i:nth-child(1) { background: #f5f7fb; } #aitv-root .sw-light i:nth-child(2) { background: #fff; } #aitv-root .sw-light i:nth-child(3) { background: #ff5a1f; }
#aitv-root .sw-navy i:nth-child(1) { background: #0b1430; } #aitv-root .sw-navy i:nth-child(2) { background: #233a7a; } #aitv-root .sw-navy i:nth-child(3) { background: #ff5a1f; }
#aitv-root .sw-slate i:nth-child(1) { background: #c9cfd8; } #aitv-root .sw-slate i:nth-child(2) { background: #f4f5f7; } #aitv-root .sw-slate i:nth-child(3) { background: #1b2330; }
#aitv-root .sw-dark i:nth-child(1) { background: #0c0d10; } #aitv-root .sw-dark i:nth-child(2) { background: #23262e; } #aitv-root .sw-dark i:nth-child(3) { background: #ff5a1f; }
#aitv-root .av-gtile.is-theme[aria-pressed="true"] .av-sw { box-shadow: 0 0 0 2px var(--surface), 0 0 0 4px var(--accent); }
#aitv-root .av-pl-ico { position: relative; width: 46px; height: 32px; border-radius: 7px; border: 1.5px solid currentColor; opacity: .85; }
#aitv-root .av-pl-ico i { position: absolute; background: currentColor; border-radius: 2px; opacity: .35; }
#aitv-root .av-pl-ico i:first-child { opacity: 1; }
#aitv-root .av-pl-ico.is-l i:first-child { left: 3px; top: 3px; bottom: 3px; width: 9px; }
#aitv-root .av-pl-ico.is-r i:first-child { right: 3px; top: 3px; bottom: 3px; width: 9px; }
#aitv-root .av-pl-ico.is-t i:first-child { left: 3px; right: 3px; top: 3px; height: 5px; border-radius: 9px; }
#aitv-root .av-pl-ico.is-d i:first-child { left: 3px; top: 3px; width: 18px; height: 6px; }
#aitv-root .av-pl-ico i:nth-child(2) { width: 9px; height: 9px; bottom: 4px; left: 15px; }
#aitv-root .av-pl-ico i:nth-child(3) { width: 9px; height: 9px; bottom: 4px; left: 26px; }
#aitv-root .av-pl-ico.is-r i:nth-child(2) { left: 4px; } #aitv-root .av-pl-ico.is-r i:nth-child(3) { left: 15px; }
#aitv-root .av-pl-ico.is-t i:nth-child(2), #aitv-root .av-pl-ico.is-d i:nth-child(2) { left: 6px; } #aitv-root .av-pl-ico.is-t i:nth-child(3), #aitv-root .av-pl-ico.is-d i:nth-child(3) { left: 18px; }
#aitv-root .av-pl-ico i:nth-child(4) { width: 9px; height: 9px; bottom: 4px; right: 4px; }
#aitv-root .av-pl-ico.is-l i:nth-child(4) { right: 4px; } #aitv-root .av-pl-ico.is-r i:nth-child(4) { right: auto; left: 26px; }
#aitv-root .av-gd-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
#aitv-root .av-gd-row.is-col { flex-direction: column; align-items: stretch; margin-top: 12px; }
#aitv-root .av-gd-lbl { font-size: 13.5px; font-weight: 600; color: var(--ink-2); display: grid; }
#aitv-root .av-gd-lbl small { font-size: 12px; font-weight: 400; color: var(--muted); }
#aitv-root .av-gd-seg { display: inline-flex; padding: 3px; gap: 2px; border-radius: 12px; background: var(--bg-2); }
#aitv-root .av-gd-seg.is-4, #aitv-root .av-gd-seg.is-6 { display: grid; grid-template-columns: repeat(4, 1fr); }
#aitv-root .av-gd-seg.is-6 { grid-template-columns: repeat(6, 1fr); }
#aitv-root .av-gd-seg button { min-height: 32px; padding: 0 10px; border: 0; border-radius: 9px; background: transparent; color: var(--muted); font: inherit; font-size: 12.5px; font-weight: 600; cursor: pointer; transition: background-color .2s, color .2s, box-shadow .2s; }
#aitv-root .av-gd-seg button:hover { color: var(--ink); }
#aitv-root .av-gd-seg button[aria-pressed="true"] { background: var(--surface); color: var(--accent-d); box-shadow: 0 1px 2px rgba(var(--shc),.1), 0 3px 8px rgba(var(--shc),.08); }
#aitv-root .av-gd-speed { display: grid; gap: 10px; }
#aitv-root .av-gd-speed .av-gd-seg { display: grid; grid-template-columns: repeat(3, 1fr); }
#aitv-root .av-gd-range { display: grid; gap: 4px; font-size: 12.5px; color: var(--muted); }
#aitv-root .av-gd-range b { color: var(--ink); font-variant-numeric: tabular-nums; }
#aitv-root .av-gd-range input { width: 100%; accent-color: var(--accent); }
#aitv-root .av-gd-note { font-size: 12px; color: var(--muted); margin: -2px 0 8px; }
#aitv-root .av-gd-foot { padding: 14px 20px calc(16px + env(safe-area-inset-bottom)); border-top: 1px solid var(--line); }

/* ---------- ask intro, bundle buttons, misc ---------- */
#aitv-root .av-ask-intro { display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px; border-radius: 14px; background: var(--brand-soft); color: var(--ink-2); font-size: 14px; line-height: 1.55; }
#aitv-root .av-ask-intro b { color: var(--ink); }
#aitv-root .av-ask-ico { width: 32px; height: 32px; flex-shrink: 0; display: grid; place-items: center; border-radius: 10px; background: var(--surface); color: var(--brand); }
#aitv-root .av-bfoot .av-fbtns { display: inline-flex; gap: 8px; }
#aitv-root .av-bfoot .av-cartadd { width: 46px; min-height: 44px; }
#aitv-root .av-xview { min-height: 50vh; }
#aitv-root .av-modal { background: var(--surface); }
#aitv-root .av-overlay { background: rgba(var(--shc),.45); }
#aitv-root .av-aa { background: radial-gradient(700px 320px at 100% 0%, rgba(255,90,31,.35), transparent 60%), radial-gradient(500px 300px at 0% 100%, rgba(59,108,246,.22), transparent 60%), #0f172a; }
#aitv-root[data-theme="dark"] .av-aa, #aitv-root[data-theme="navy"] .av-aa { box-shadow: inset 0 0 0 1px rgba(255,255,255,.08), var(--sh-2); }
#aitv-root .av-bellp { background: var(--surface); }
#aitv-root .av-toast { background: var(--inv); color: var(--on-inv); }
#aitv-root .av-toast.err { background: #b4232a; color: #fff; }
#aitv-root .av-toast.ok { background: #0b6f58; color: #fff; }
#aitv-root[data-theme="dark"] .av-gal-slide img, #aitv-root[data-theme="navy"] .av-gal-slide img { background: #fff; }

/* ---------- banners: the visitor's override (gadget) + speed ---------- */
#aitv-root .av-promo.a-shimmer::before { animation-duration: calc(3.6s * var(--bspd, 1)); }
#aitv-root .av-mq { animation-duration: calc(16s * var(--bspd, 1)); }
#aitv-root .av-pdeco i { animation-duration: calc(5.5s * var(--bspd, 1)); }
#aitv-root .av-promo.a-pulse .av-pcta, #aitv-root .av-promo.a-pulse .av-ann-ico { animation-duration: calc(1.8s * var(--bspd, 1)); }
#aitv-root .av-promo.a-bounce .av-ann-ico { animation-duration: calc(1.6s * var(--bspd, 1)); }
#aitv-root .av-promo.a-glow { animation-duration: .55s, calc(2.2s * var(--bspd, 1)); }
#aitv-root .av-promo.k-stripes::after { animation-duration: calc(3s * var(--bspd, 1)); }
#aitv-root[data-banim="calm"] .av-pdeco, #aitv-root[data-banim="off"] .av-pdeco { display: none; }
#aitv-root[data-banim="calm"] .av-promo .av-pcta, #aitv-root[data-banim="calm"] .av-promo .av-ann-ico, #aitv-root[data-banim="calm"] .av-promo.k-stripes::after { animation: none; }
#aitv-root[data-banim="calm"] .av-promo.a-glow, #aitv-root[data-banim="calm"] .av-promo.d-spotlight { animation: av-bar-in .5s cubic-bezier(.2,1,.3,1) both; }
#aitv-root[data-banim="calm"] .av-promo.a-shimmer::before { animation-duration: calc(8s * var(--bspd, 1)); opacity: .6; }
#aitv-root[data-banim="lively"] .av-promo .av-pcta { animation: av-pulse calc(1.6s * var(--bspd, 1)) ease-in-out infinite; }
#aitv-root[data-banim="lively"] .av-promo:not(.a-shimmer)::before {
  content: ''; position: absolute; top: 0; bottom: 0; left: -40%; width: 40%; z-index: 1; pointer-events: none;
  background: linear-gradient(100deg, transparent, rgba(255,255,255,.38), transparent); transform: skewX(-20deg); animation: av-sheen calc(3s * var(--bspd, 1)) ease-in-out .6s infinite;
}
#aitv-root[data-banim="lively"] .av-promo .av-ann-ico { animation: av-bnc calc(1.6s * var(--bspd, 1)) cubic-bezier(.3,1.6,.5,1) infinite; }
#aitv-root[data-banim="off"] .av-promo, #aitv-root[data-banim="off"] .av-promo::before, #aitv-root[data-banim="off"] .av-promo::after, #aitv-root[data-banim="off"] .av-promo * { animation: none !important; }
#aitv-root[data-banim="off"] .av-promo.a-shimmer::before { display: none; }
#aitv-root[data-banim="off"] .av-mq > span + span { display: none; }
#aitv-root[data-banim="off"] .av-mq { white-space: normal; }
#aitv-root[data-banim="off"] .av-promo.a-marquee .av-ann-msg { -webkit-mask-image: none; mask-image: none; }

/* ---------- responsive ---------- */
@media (max-width: 1180px) {
  #aitv-root .av-hero-art { width: 300px; height: 210px; }
  #aitv-root .av-fan { width: 124px; height: 166px; }
  #aitv-root .av-fan.f1 { left: 88px; width: 132px; height: 176px; }
  #aitv-root .av-fan.f2 { left: 172px; }
  #aitv-root .av-chip-name { display: none; }
  #aitv-root .av-chip { padding: 3px; }
  #aitv-root .av-dz.n4, #aitv-root .av-dz.n3 { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  #aitv-root .av-dz.n3 .is-lead { grid-column: 1 / -1; } /* 3 deals on 2 columns: the lead spans, no orphan tile */
}
@media (max-width: 980px) {
  #aitv-root .av-hero-art { display: none; }
  #aitv-root .av-show { grid-template-columns: minmax(0,1fr); gap: 22px; padding: 24px; }
  #aitv-root .av-catalog.has-side.nav-left, #aitv-root .av-catalog.has-side.nav-right { grid-template-columns: 200px minmax(0,1fr); }
  #aitv-root .av-catalog.has-side.nav-right { grid-template-columns: minmax(0,1fr) 200px; }
  #aitv-root .av-ftop { grid-template-columns: minmax(0,1fr); gap: 34px; }
}
@media (max-width: 860px) {
  #aitv-root .av-tab { padding: 6px 6px; }
  #aitv-root .av-dz.n3, #aitv-root .av-dz.n4 { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  #aitv-root .av-dz.n3 .is-lead { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  /* phones + small tablets: one Categories button opens a bottom sheet */
  #aitv-root .av-cn-mob { display: inline-flex; flex: 1 1 auto; min-width: 0; }
  #aitv-root .av-catnav, #aitv-root .av-cn-dd { display: none !important; }
  #aitv-root .av-catalog.has-side.nav-left, #aitv-root .av-catalog.has-side.nav-right { grid-template-columns: minmax(0,1fr); }
  #aitv-root .av-ctrl { gap: 8px; padding: 8px; border-radius: 16px; }
  #aitv-root .av-ctrl .av-search { flex: 1 1 100%; max-width: none; }
  #aitv-root .av-ctrl-r { margin-left: 0; flex-wrap: nowrap; }
  #aitv-root .av-perrow { display: none; }
  #aitv-root .av-sl { display: none; }
  #aitv-root .av-sel select { width: 46px; padding: 0; color: transparent; font-size: 16px; }
  #aitv-root .av-sel select option { color: var(--ink); }
  #aitv-root .av-sel > i:first-child { left: 50%; transform: translateX(-50%); color: var(--ink-2); }
  #aitv-root .av-sel .av-sel-chev { display: none; }
  #aitv-root .av-ctrl > .av-meta { display: none; }
  #aitv-root .av-ctrl-r .av-seg:has([data-k="group"]) { display: none; }
  /* deals: a swipeable row */
  #aitv-root .av-dz, #aitv-root .av-dz.n2, #aitv-root .av-dz.n3, #aitv-root .av-dz.n4 {
    display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin: 0 calc(var(--gut) * -1); padding: 4px var(--gut) 14px; scroll-padding: 0 var(--gut);
  }
  #aitv-root .av-dz::-webkit-scrollbar { display: none; }
  #aitv-root .av-dz-t, #aitv-root .av-dz-t.is-lead { flex: 0 0 86%; min-height: 168px; scroll-snap-align: start; padding: 16px; }
  #aitv-root .av-dz.n1 .av-dz-t { flex-basis: 100%; }
  #aitv-root .av-dz-t.is-lead .av-dz-ttl { font-size: 19px; }
  #aitv-root .av-dz-t.is-lead .av-dz-price b { font-size: 26px; }
  #aitv-root .av-dz-t .av-dz-img, #aitv-root .av-dz-t.is-lead .av-dz-img { flex-basis: 32%; max-width: 104px; }
  #aitv-root .av-show-demo { grid-template-columns: minmax(0,1fr); gap: 10px; min-height: 0; }
  #aitv-root .av-sd-link { display: none; }
  #aitv-root .av-sd-tool { max-width: 280px; }
}
@media (max-width: 640px) {
  #aitv-root .av-tb { gap: 0 6px; }
  #aitv-root .av-tb-r { gap: 2px; }
  #aitv-root .av-hico, #aitv-root .av-bell { width: 36px; height: 36px; font-size: 15px; }
  #aitv-root .av-signbtn span { display: none; }
  #aitv-root .av-signbtn { padding: 7px 11px; }
  #aitv-root .av-hero { padding: 22px 0 10px; }
  #aitv-root .av-hero h1 { font-size: 29px; }
  #aitv-root .av-hero p { font-size: 15px; }
  #aitv-root .av-kicker { font-size: 12px; margin-bottom: 10px; }
  #aitv-root .av-cta .av-btn { width: 100%; }
  #aitv-root .av-trust-row { gap: 4px 14px; font-size: 12px; margin-top: 14px; }
  #aitv-root .av-dz-sec { padding-bottom: 22px; }
  #aitv-root .av-show { padding: 20px 16px; border-radius: 20px; }
  #aitv-root .av-show.is-min { flex-wrap: wrap; }
  #aitv-root .av-grid { gap: 14px; }
  #aitv-root .av-fcols { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 24px 16px; }
  #aitv-root .av-ftop { padding-top: 38px; padding-bottom: 28px; }
  #aitv-root .av-fbar-in { flex-direction: column; align-items: flex-start; }
  #aitv-root .av-footer-in { text-align: left; }
  #aitv-root .av-gd-panel { border-radius: 0 22px 22px 0; }
  #aitv-root .av-gd-themes { grid-template-columns: repeat(4, minmax(0,1fr)); }
  #aitv-root .av-gal-stage { bottom: 150px; }
  #aitv-root .av-gal-slide { padding: 64px 4px 0; }
  #aitv-root .av-gal-slide img { max-height: 100%; }
  #aitv-root .av-gal-foot { height: auto; bottom: 0; padding: 66px 12px 12px; flex-wrap: wrap; }
  #aitv-root .av-gal-thumbs { bottom: 84px; max-width: calc(100vw - 24px); }
  #aitv-root .av-gal-cap { display: none; }
}
@media (max-width: 400px) {
  #aitv-root .av-word { font-size: 16px; }
  #aitv-root .av-mark { width: 30px; height: 30px; }
  #aitv-root .av-logo { gap: 7px; }
}

/* ---------- reduced motion: the visitor's switch (same as the OS setting) ---------- */
#aitv-root.av-rm *, #aitv-root.av-rm *::before, #aitv-root.av-rm *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; animation-delay: 0s !important; transition-duration: .01ms !important; }
#aitv-root.av-rm .av-slam, #aitv-root.av-rm .av-slide-l, #aitv-root.av-rm .av-slide-r, #aitv-root.av-rm .av-zoom, #aitv-root.av-rm .av-rise, #aitv-root.av-rm .av-res, #aitv-root.av-rm .av-ib, #aitv-root.av-rm .av-gd-sec { opacity: 1; transform: none; }
#aitv-root.av-rm .av-promo, #aitv-root.av-rm .av-promo::before, #aitv-root.av-rm .av-promo::after, #aitv-root.av-rm .av-promo * { animation: none !important; }
#aitv-root.av-rm .av-promo.a-shimmer::before, #aitv-root.av-rm .av-pdeco { display: none; }
#aitv-root.av-rm .av-mq > span + span { display: none; }
#aitv-root.av-rm .av-mq { white-space: normal; }
#aitv-root.av-rm .av-card.is-sale::before, #aitv-root.av-rm .av-fan, #aitv-root.av-rm .av-dz-fx { animation: none !important; }
#aitv-root.av-rm .av-show-demo *, #aitv-root.av-rm .av-show-demo { animation: none !important; }
#aitv-root.av-rm .av-sd-opts .o1, #aitv-root.av-rm .av-sd-opts .o2, #aitv-root.av-rm .av-sd-opts .o3 { background: #fff1ea; color: #e5480f; border-color: #ffb08a; }
#aitv-root.av-rm .av-sd-cursor { display: none; }
#aitv-root.av-rm .av-sd-key, #aitv-root.av-rm .av-sd-type { opacity: 1; }
#aitv-root.av-rm .av-sd-paste { opacity: 1; transform: translateX(-50%); }
@media (prefers-reduced-motion: reduce) {
  #aitv-root .av-show-demo *, #aitv-root .av-show-demo, #aitv-root .av-fan, #aitv-root .av-dz-fx, #aitv-root .av-gd-sec { animation: none !important; }
  #aitv-root .av-sd-opts .o1, #aitv-root .av-sd-opts .o2, #aitv-root .av-sd-opts .o3 { background: #fff1ea; color: #e5480f; border-color: #ffb08a; }
  #aitv-root .av-sd-cursor { display: none; }
  #aitv-root .av-sd-key, #aitv-root .av-sd-type { opacity: 1; }
  #aitv-root .av-sd-paste { opacity: 1; transform: translateX(-50%); }
  #aitv-root .av-gd-sec { opacity: 1; transform: none; }
  #aitv-root .av-gd-fab { animation: none; }
}

/* ---------- 1.3.0 integration: Help menu (pages marked "show in menu") ---------- */
#aitv-root .av-helpm { position: relative; display: flex; align-items: center; }
#aitv-root .av-helpm-b { width: auto; min-width: 40px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; white-space: nowrap; padding: 0 10px; font: inherit; font-size: 14px; font-weight: 600; color: var(--ink-2); }
#aitv-root .av-helpm-l { display: none; }
@media (min-width: 1200px) { #aitv-root .av-helpm-l { display: inline; } }
#aitv-root .av-helpm.is-open .av-helpm-b { background: var(--accent-soft); color: var(--accent-d); }
#aitv-root .av-helpm-p {
  position: absolute; top: calc(100% + 10px); right: 0; z-index: 60; min-width: 230px; padding: 8px; border-radius: 16px;
  background: var(--surface); border: 1px solid var(--line); box-shadow: var(--sh-2); display: grid; gap: 2px;
  transform-origin: top right; animation: av-helpin .26s cubic-bezier(.2,1.2,.4,1);
}
#aitv-root .av-helpm-p[hidden] { display: none; }
#aitv-root .av-helpm-p a { display: flex; align-items: center; gap: 11px; padding: 10px 12px; border-radius: 11px; color: var(--ink); text-decoration: none; font-size: 14px; font-weight: 500; }
#aitv-root .av-helpm-p a i { width: 18px; text-align: center; color: var(--accent); }
#aitv-root .av-helpm-p a:hover, #aitv-root .av-helpm-p a:focus-visible { background: var(--soft); outline: none; }
@keyframes av-helpin { from { opacity: 0; transform: translateY(-6px) scale(.96); } to { opacity: 1; transform: none; } }
@media (max-width: 600px) { #aitv-root .av-helpm-p { position: fixed; top: 64px; left: 16px; right: 16px; min-width: 0; } }
#aitv-root.av-rm .av-helpm-p { animation: none; }

/* 1.3.0 integration: "glass" banners turn into dark glass on the Navy and Dark looks (no pale strip on a dark page) */
#aitv-root[data-theme="navy"] .av-promo.d-glass, #aitv-root[data-theme="dark"] .av-promo.d-glass {
  background: linear-gradient(100deg, color-mix(in srgb, var(--pb) 30%, rgba(10,14,28,.78)), color-mix(in srgb, var(--pb) 14%, rgba(10,14,28,.82)));
  color: color-mix(in srgb, var(--pb) 22%, #fff);
}

/* 1.3.0 integration: on small phones the Deals count becomes a dot so the tabs never collide */
@media (max-width: 420px) {
  #aitv-root .av-tab .av-dcount { font-size: 0; min-width: 0; width: 9px; height: 9px; padding: 0; border-radius: 50%; margin-left: 3px; }
}
/* 1.3.1: secret preview link — "Preview mode" pill (only in the owner's preview browser while maintenance is on). */
#aitv-root .av-preview-pill {
  /* owner-only note: above the floating items and the pop-up backdrop (always closable), below the gallery and toasts */
  position: fixed; left: 50%; bottom: 14px; z-index: 99991; transform: translateX(-50%);
  display: flex; align-items: center; gap: 9px; max-width: calc(100% - 32px); width: max-content;
  padding: 7px 8px 7px 14px; border-radius: 999px; background: var(--inv); color: var(--on-inv);
  border: 2px solid var(--accent); box-shadow: 0 8px 24px rgba(0,0,0,.22);
  font-size: 13px; font-weight: 500; line-height: 1.3; animation: avPreviewIn .45s cubic-bezier(.2,1.3,.4,1) both;
}
#aitv-root .av-preview-pill > i { color: var(--accent); }
#aitv-root .av-preview-pill b { font-weight: 800; }
#aitv-root .av-preview-x {
  flex: none; width: 26px; height: 26px; border-radius: 50%; border: 0; cursor: pointer;
  background: rgba(127,127,127,.22); color: inherit; display: inline-flex; align-items: center; justify-content: center; font-size: 13px;
}
#aitv-root .av-preview-x:hover, #aitv-root .av-preview-x:focus-visible { background: var(--accent); color: #fff; outline: none; }
#aitv-root .av-preview-pill.av-out { opacity: 0; transform: translate(-50%, 30px); transition: opacity .25s, transform .25s; }
@keyframes avPreviewIn { from { opacity: 0; transform: translate(-50%, 40px); } to { opacity: 1; transform: translateX(-50%); } }
@media (max-width: 520px) { #aitv-root .av-preview-pill { font-size: 12px; bottom: 10px; } }
@media (prefers-reduced-motion: reduce) { #aitv-root .av-preview-pill { animation: none; } }

/* =====================================================================
   1.4 "STORE POLISH" — framing, floating badges + magnifier, card effects,
   text size, VIP hero, compact deals, Freebies / Bundles tabs, bundle window,
   How-it-works window, colourful side menu, groups accordion, phone bar,
   widget tab, rocket, giveaway pill, shop promo. Appended last: wins the cascade.
   ===================================================================== */

/* ---------- sample framing (owner's focal point + zoom): no transform, so every carousel animation still works ---------- */
#aitv-root img.av-fr[style] {
  position: absolute; right: auto; bottom: auto; max-width: none; max-height: none; object-fit: cover;
  left: calc(var(--fx, 50) * (1 - var(--fz, 1)) * 1%); top: calc(var(--fy, 50) * (1 - var(--fz, 1)) * 1%);
  width: calc(var(--fz, 1) * 100%); height: calc(var(--fz, 1) * 100%);
  object-position: calc(var(--fx, 50) * 1%) calc(var(--fy, 50) * 1%);
}
#aitv-root .av-dt-th, #aitv-root .av-gal-th, #aitv-root .av-fan { position: relative; }
#aitv-root .av-fan { position: absolute; }

/* ---------- text size: zoom on text blocks only (5 steps, 90%–125%), the grid / layout never breaks ---------- */
#aitv-root .av-card .av-ct, #aitv-root .av-card > p, #aitv-root .av-card .av-foot, #aitv-root .av-card .av-strip,
#aitv-root .av-hero-txt, #aitv-root .av-shead, #aitv-root .av-cn-list, #aitv-root .av-sheet-list, #aitv-root .av-mbody,
#aitv-root .av-dz-body, #aitv-root .av-group-tt, #aitv-root .av-vh-txt, #aitv-root .av-gw-body, #aitv-root .av-binfo, #aitv-root .av-show-copy,
#aitv-root .av-fcols, #aitv-root .av-fabout, #aitv-root .av-xview { zoom: var(--ts, 1); }

/* ---------- card: badges float in the top-left corner of the image, with a periodic shine ---------- */
#aitv-root .av-bdgs { position: absolute; top: 10px; left: 10px; z-index: 3; display: flex; flex-wrap: wrap; gap: 5px; max-width: calc(100% - 20px); pointer-events: none; }
#aitv-root .av-bdg {
  position: relative; overflow: hidden; display: inline-flex; align-items: center; gap: 5px; height: 24px; padding: 0 9px; border-radius: 8px;
  font-size: 10.5px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; line-height: 1; white-space: nowrap; color: #fff;
  background: rgba(15,23,42,.74); -webkit-backdrop-filter: blur(6px) saturate(1.4); backdrop-filter: blur(6px) saturate(1.4);
  box-shadow: 0 4px 12px -4px rgba(0,0,0,.35), inset 0 0 0 1px rgba(255,255,255,.16); max-width: 130px; text-overflow: ellipsis;
}
#aitv-root .av-bdg i { font-size: 10px; }
#aitv-root .av-bdg.is-hot { background: linear-gradient(135deg, #ff7a18, #f4363e); }
#aitv-root .av-bdg.is-best { background: linear-gradient(135deg, #fde047, #f59e0b); color: #3b2300; }
#aitv-root .av-bdg.is-new { background: linear-gradient(135deg, #22d3a6, #0ea5a4); }
#aitv-root .av-bdg.is-sale { background: linear-gradient(135deg, #f43f5e, #be123c); }
#aitv-root .av-bdg.is-free { background: linear-gradient(135deg, #34d399, #059669); }
#aitv-root .av-bdg.is-feat { width: 24px; padding: 0; justify-content: center; border-radius: 50%; background: linear-gradient(135deg, #fde68a, #f59e0b); color: #7c4a03; }
#aitv-root .av-bdg::after {
  content: ''; position: absolute; top: -20%; bottom: -20%; left: -60%; width: 45%; transform: skewX(-20deg); pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.7), transparent); animation: av-bdgshine 5.2s ease-in-out infinite;
  animation-delay: calc(1.2s + var(--bd, 0) * .9s);
}
#aitv-root .av-bdg + .av-bdg::after { animation-delay: calc(1.5s + var(--bd, 0) * .9s); }
@keyframes av-bdgshine { 0%, 72% { left: -60%; } 92%, 100% { left: 130%; } }
#aitv-root .av-card:not(.has-cover) .av-card-top .av-bdgs { top: 10px; left: 10px; }
#aitv-root .av-card:not(.has-cover) .av-top-tags { justify-content: flex-end; left: auto; }
#aitv-root .av-top-cat { position: absolute; left: 10px; bottom: 10px; max-width: calc(100% - 20px); padding: 3px 10px; border-radius: 999px; background: var(--glass); color: var(--ink-2); font-size: 11.5px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* ---------- card: see-through magnifier centred on the image (stronger on hover) -> the big gallery ---------- */
#aitv-root .av-mag {
  position: absolute; left: 50%; top: 50%; z-index: 2; width: 58px; height: 58px; margin: -29px 0 0 -29px; display: grid; place-items: center; border-radius: 50%; pointer-events: none;
  color: #fff; font-size: 21px; background: rgba(255,255,255,.2); border: 1.5px solid rgba(255,255,255,.55);
  -webkit-backdrop-filter: blur(5px) saturate(1.3); backdrop-filter: blur(5px) saturate(1.3);
  box-shadow: 0 10px 30px -10px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.45); text-shadow: 0 1px 6px rgba(0,0,0,.35);
  opacity: .5; transform: scale(.9); transition: opacity .3s, transform .45s cubic-bezier(.2,1.5,.4,1), background-color .3s;
}
#aitv-root .av-cover-hit:hover .av-mag, #aitv-root .av-cover-hit:focus-visible .av-mag, #aitv-root .av-card:hover .av-mag, #aitv-root .av-bmini:hover .av-mag {
  opacity: 1; transform: scale(1); background: rgba(255,255,255,.34);
}
#aitv-root .av-cover-hit:active .av-mag { transform: scale(.9); }
#aitv-root[data-size="s"] .av-mag { width: 46px; height: 46px; margin: -23px 0 0 -23px; font-size: 17px; }
#aitv-root[data-mag="off"] .av-mag { display: none; }
@media (hover: none) { #aitv-root .av-mag { opacity: .72; } }

/* ---------- card effects (customer's choice): glow outline, animated gradient border, glass sheen, soft lift ---------- */
#aitv-root[data-cfx="glow"] .av-card { border-color: color-mix(in srgb, var(--cc, var(--accent)) 38%, var(--line)); box-shadow: 0 0 0 1px color-mix(in srgb, var(--cc, var(--accent)) 22%, transparent), 0 8px 26px -12px color-mix(in srgb, var(--cc, var(--accent)) 55%, transparent); animation: av-fxglow 4.5s ease-in-out infinite; }
#aitv-root[data-cfx="glow"] .av-card:hover { box-shadow: 0 0 0 2px color-mix(in srgb, var(--cc, var(--accent)) 55%, transparent), 0 18px 44px -14px color-mix(in srgb, var(--cc, var(--accent)) 70%, transparent); }
@keyframes av-fxglow { 50% { box-shadow: 0 0 0 1px color-mix(in srgb, var(--cc, var(--accent)) 40%, transparent), 0 10px 34px -10px color-mix(in srgb, var(--cc, var(--accent)) 70%, transparent); } }
#aitv-root[data-cfx="gradient"] .av-card { border-color: transparent; }
#aitv-root[data-cfx="gradient"] .av-card::after {
  content: ''; position: absolute; inset: 0; z-index: 4; pointer-events: none; border-radius: inherit; padding: 2px;
  background: conic-gradient(from var(--av-a), #ff5a1f, #f43f5e, #8b5cf6, #3b82f6, #10b981, #f59e0b, #ff5a1f);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0); animation: av-bspin 6s linear infinite; opacity: .9;
}
#aitv-root[data-cfx="gradient"] .av-card.is-sale::after { display: none; }
#aitv-root[data-cfx="glass"] .av-card { background: color-mix(in srgb, var(--surface) 72%, transparent); -webkit-backdrop-filter: blur(14px) saturate(1.5); backdrop-filter: blur(14px) saturate(1.5); border-color: color-mix(in srgb, var(--ink) 10%, transparent); box-shadow: inset 0 1px 0 rgba(255,255,255,.35), var(--sh-1); }
#aitv-root[data-cfx="glass"] .av-cover::after {
  content: ''; position: absolute; inset: 0; z-index: 2; pointer-events: none;
  background: linear-gradient(115deg, transparent 35%, rgba(255,255,255,.42) 48%, rgba(255,255,255,.08) 52%, transparent 62%) -160% 0 / 260% 100% no-repeat;
  animation: av-fxsheen 6.5s ease-in-out infinite;
}
#aitv-root[data-cfx="glass"] .av-card:nth-child(3n+2) .av-cover::after { animation-delay: 1.3s; }
#aitv-root[data-cfx="glass"] .av-card:nth-child(3n) .av-cover::after { animation-delay: 2.6s; }
@keyframes av-fxsheen { 0%, 55% { background-position: -160% 0; } 100% { background-position: 160% 0; } }
#aitv-root[data-cfx="lift"] .av-card { border-color: transparent; box-shadow: 0 1px 2px rgba(var(--shc),.06), 0 14px 34px -18px rgba(var(--shc),.38); }
#aitv-root[data-cfx="lift"] .av-card:hover { transform: translateY(-9px) scale(1.012); box-shadow: 0 4px 10px rgba(var(--shc),.06), 0 34px 60px -24px rgba(var(--shc),.5); }

/* ---------- hero: kicker row + giveaway chip, VIP All-Access CTA, How it works, small links, fan of 3–5 covers ---------- */
#aitv-root .av-kick-row { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 10px; margin-bottom: 14px; }
#aitv-root .av-kick-row .av-kicker { margin-bottom: 0; }
#aitv-root .av-gwchip {
  display: inline-flex; align-items: center; gap: 8px; max-width: 100%; min-height: 34px; padding: 4px 6px 4px 6px; border-radius: 999px; cursor: pointer; font: inherit; font-size: 12.5px;
  color: var(--ink); background: linear-gradient(var(--surface), var(--surface)) padding-box, linear-gradient(120deg, #f59e0b, #f43f5e, #8b5cf6) border-box; border: 1.5px solid transparent;
  box-shadow: 0 6px 18px -10px rgba(244,63,94,.6); transition: transform .25s cubic-bezier(.2,1.4,.4,1), box-shadow .25s;
}
#aitv-root .av-gwchip:hover { transform: translateY(-2px); box-shadow: 0 12px 26px -10px rgba(244,63,94,.7); }
#aitv-root .av-gwc-ico { width: 24px; height: 24px; display: grid; place-items: center; font-size: 15px; animation: av-gift 2.6s ease-in-out infinite; }
@keyframes av-gift { 0%, 70%, 100% { transform: none; } 76% { transform: translateY(-3px) rotate(-12deg); } 84% { transform: rotate(10deg); } 92% { transform: rotate(-4deg); } }
#aitv-root .av-gwc-t { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 300px; }
#aitv-root .av-gwc-t b { font-weight: 700; color: #db2777; margin-right: 2px; }
#aitv-root .av-gwc-go { flex-shrink: 0; display: inline-flex; align-items: center; gap: 5px; padding: 4px 10px; border-radius: 999px; background: linear-gradient(120deg, #f43f5e, #f59e0b); color: #fff; font-weight: 700; font-size: 12px; }
#aitv-root .av-cta { align-items: stretch; }
#aitv-root .av-vip {
  position: relative; isolation: isolate; overflow: hidden; display: inline-flex; align-items: center; gap: 12px; min-height: 60px; padding: 9px 10px 9px 9px; border: 0; border-radius: 18px; cursor: pointer;
  font: inherit; color: #fff; text-align: left; white-space: nowrap;
  background: linear-gradient(120deg, #6d28d9 0%, #c026d3 38%, #f43f5e 70%, #f97316 100%); background-size: 160% 100%;
  box-shadow: 0 16px 34px -14px rgba(192,38,211,.75), 0 2px 6px rgba(109,40,217,.25), inset 0 1px 0 rgba(255,255,255,.28);
  transition: transform .3s cubic-bezier(.2,1.4,.4,1), box-shadow .3s, background-position .6s; animation: av-vipglow 3.2s ease-in-out infinite;
}
#aitv-root .av-vip:hover { transform: translateY(-3px) scale(1.015); background-position: 100% 0; box-shadow: 0 24px 44px -16px rgba(192,38,211,.85), 0 4px 10px rgba(109,40,217,.3); }
#aitv-root .av-vip:active { transform: translateY(0) scale(.985); }
@keyframes av-vipglow { 50% { box-shadow: 0 18px 40px -12px rgba(244,63,94,.8), 0 2px 6px rgba(109,40,217,.25), inset 0 1px 0 rgba(255,255,255,.28); } }
#aitv-root .av-vip-shine { position: absolute; top: 0; bottom: 0; left: -40%; width: 34%; z-index: -1; transform: skewX(-20deg); background: linear-gradient(90deg, transparent, rgba(255,255,255,.45), transparent); animation: av-sheen 3.4s ease-in-out 1.2s infinite; }
#aitv-root .av-vip-crown { flex-shrink: 0; width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; background: rgba(255,255,255,.18); box-shadow: inset 0 0 0 1px rgba(255,255,255,.3); font-size: 18px; color: #fde047; filter: drop-shadow(0 2px 4px rgba(0,0,0,.25)); }
#aitv-root .av-vip-crown i { animation: av-crown 2.8s ease-in-out infinite; }
@keyframes av-crown { 0%, 100% { transform: rotate(-8deg); } 50% { transform: rotate(8deg) translateY(-2px) scale(1.08); } }
#aitv-root .av-vip-t { display: grid; gap: 1px; min-width: 0; }
#aitv-root .av-vip-t b { font-size: 17px; font-weight: 800; letter-spacing: -.01em; line-height: 1.15; }
#aitv-root .av-vip-t small { font-size: 12px; font-weight: 500; opacity: .88; }
#aitv-root .av-vip-p { margin-left: 6px; display: inline-flex; align-items: baseline; gap: 6px; padding: 8px 12px; border-radius: 12px; background: #fff; color: #7c2d12; box-shadow: 0 6px 14px -6px rgba(0,0,0,.35); }
#aitv-root .av-vip-p b { font-size: 18px; font-weight: 800; letter-spacing: -.02em; color: #c2410c; }
#aitv-root .av-vip-p s { font-size: 12.5px; font-weight: 600; color: #9a3412; opacity: .6; }
#aitv-root .av-hiw-btn { min-height: 60px !important; padding: 0 20px !important; border-radius: 18px !important; font-size: 15px; gap: 10px; }
#aitv-root .av-hiw-ico { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: var(--inv); color: var(--on-inv); font-size: 11px; padding-left: 2px; }
#aitv-root .av-orange .av-hiw-ico { background: rgba(255,255,255,.22); color: #fff; }
#aitv-root .av-hlinks { display: flex; flex-wrap: wrap; gap: 4px 18px; margin-top: 12px; }
#aitv-root .av-hlink { display: inline-flex; align-items: center; gap: 7px; padding: 4px 0; background: none; border: 0; cursor: pointer; font: inherit; font-size: 13.5px; font-weight: 600; color: var(--ink-2); }
#aitv-root .av-hlink i { color: var(--accent); font-size: 12px; transition: transform .25s; }
#aitv-root .av-hlink:hover { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
#aitv-root .av-hlink:hover i { transform: translateY(2px); }
#aitv-root .av-trust-row { margin-top: 14px; }
/* fan: centred card on top, the others fan out (3, 4 or 5 covers) */
#aitv-root .av-hero-art[class] { width: 440px; height: 252px; margin-right: 0; --sp: 66px; }
#aitv-root .av-hero-art.n3 { --sp: 100px; } #aitv-root .av-hero-art.n4 { --sp: 82px; }
#aitv-root .av-hero-art[class] .av-fan[style] {
  left: calc(50% - 72px + var(--d) * var(--sp)); top: calc(18px + var(--ad) * var(--ad) * 5px); width: 144px; height: 192px;
  transform: rotate(calc(var(--d) * 7deg)); transform-origin: 50% 110%;
}
#aitv-root .av-hero-art[class] .av-fan.is-mid[style] { left: calc(50% - 78px); top: 4px; width: 156px; height: 208px; }
#aitv-root .av-hero-art[class]:hover .av-fan[style] { transform: rotate(calc(var(--d) * 10deg)) translateX(calc(var(--d) * 12px)); }
#aitv-root .av-hero-art[class] .av-fan[style]:hover { transform: rotate(calc(var(--d) * 4deg)) translateY(-10px) scale(1.05); z-index: 20 !important; }
#aitv-root .av-fan { animation-delay: calc(var(--d, 0) * -1.4s); }

/* ---------- compact deal tiles: natural size, side by side, wrap (a single deal never stretches) ---------- */
#aitv-root .av-dz, #aitv-root .av-dz.n1, #aitv-root .av-dz.n2, #aitv-root .av-dz.n3, #aitv-root .av-dz.n4 { display: flex; flex-wrap: wrap; gap: 14px; grid-template-columns: none; }
#aitv-root .av-dz-t, #aitv-root .av-dz.n1 .av-dz-t, #aitv-root .av-dz.n4 .av-dz-t:not(.is-lead) {
  flex: 1 1 280px; min-width: 262px; max-width: 380px; min-height: 0; padding: 14px 16px 14px 14px; gap: 14px; align-items: center;
}
#aitv-root .av-dz-t .av-dz-img, #aitv-root .av-dz.n1 .av-dz-img, #aitv-root .av-dz.n4 .av-dz-t:not(.is-lead) .av-dz-img, #aitv-root .av-dz.n3 .av-dz-t:not(.is-lead) .av-dz-img {
  flex: 0 0 92px; max-width: 92px; width: 92px; height: 124px; align-self: center;
}
#aitv-root .av-dz.av-dz .av-dz-t .av-dz-img.is-ico.is-ico { width: 92px; height: 92px; flex-basis: 92px; aspect-ratio: auto; }
@media (max-width: 640px) { #aitv-root .av-dz.av-dz .av-dz-t .av-dz-img.is-ico.is-ico { width: 80px; height: 80px; flex-basis: 80px; } }
#aitv-root .av-dz-ttl, #aitv-root .av-dz.n4 .av-dz-t:not(.is-lead) .av-dz-ttl { font-size: 16px; }
#aitv-root .av-dz-price b, #aitv-root .av-dz.n4 .av-dz-t:not(.is-lead) .av-dz-price b { font-size: 23px; }
#aitv-root .av-dz.n4 .av-dz-t:not(.is-lead) .av-dz-sub { display: block; }
#aitv-root .av-dz-body { gap: 5px; align-self: stretch; justify-content: center; }
#aitv-root .av-dz-price { margin-top: 2px; }
#aitv-root .av-dz-t::after { width: 140px; height: 140px; right: -40px; bottom: -70px; }
#aitv-root .av-dz-sec.is-inpage { padding: 0 0 26px; }
#aitv-root .av-dz-t.is-first .av-dz-lbl::after { content: ''; width: 6px; height: 6px; border-radius: 50%; background: #fff; margin-left: 2px; animation: av-live 2s ease-out infinite; }

/* ---------- showcase: obvious Hide demo control, 4 simple steps ---------- */
#aitv-root .av-show { padding-top: 62px; }
#aitv-root .av-show-x {
  position: absolute; top: 14px; right: 14px; z-index: 3; display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 14px; border-radius: 999px; cursor: pointer;
  border: 1px solid var(--line-2); background: var(--surface); color: var(--ink); font: inherit; font-size: 13.5px; font-weight: 600; box-shadow: var(--sh-1);
  transition: background-color .15s, border-color .15s, transform .2s cubic-bezier(.2,1.4,.4,1);
}
#aitv-root .av-show-x:hover { background: var(--inv); color: var(--on-inv); border-color: var(--inv); transform: translateY(-1px); }
#aitv-root .av-show-x i { font-size: 11px; }
#aitv-root .av-show-steps li { align-items: flex-start; }
#aitv-root .av-show-steps li span { padding-top: 2px; line-height: 1.45; }
#aitv-root .av-show-btn { min-height: 44px; border-radius: 12px; background: var(--inv); color: var(--on-inv); border-color: var(--inv); flex-shrink: 0; }
#aitv-root .av-show-btn:hover { background: var(--inv-2); color: var(--on-inv); }
#aitv-root .av-show.is-min { padding-top: 14px; }

/* ---------- top tabs: Freebies + Bundles ---------- */
#aitv-root .av-tab.is-free i { color: #10b981; opacity: 1; }
#aitv-root .av-tab.is-bund i { color: #6366f1; opacity: 1; }
#aitv-root[data-theme="navy"] .av-tab.is-bund i, #aitv-root[data-theme="dark"] .av-tab.is-bund i { color: #a5b4fc; }

/* ---------- view headers (Deals / Freebies / Bundles) ---------- */
#aitv-root .av-vhead { padding: 26px 0 18px; }
#aitv-root .av-vhead.k-deals { --vk: #f43f5e; --vk2: #f97316; } #aitv-root .av-vhead.k-free { --vk: #10b981; --vk2: #06b6d4; } #aitv-root .av-vhead.k-bund { --vk: #6366f1; --vk2: #8b5cf6; }
#aitv-root .av-vhead.k-mine { --vk: #0ea5e9; --vk2: #10b981; } #aitv-root .av-vhead.k-claim { --vk: #ff5a1f; --vk2: #f59e0b; }
#aitv-root .av-vh-card {
  position: relative; overflow: hidden; isolation: isolate; display: flex; align-items: center; gap: 22px; padding: 26px 30px; border-radius: 26px;
  background: radial-gradient(520px 220px at 100% 0%, color-mix(in srgb, var(--vk) 20%, transparent), transparent 70%), radial-gradient(420px 220px at 0% 100%, color-mix(in srgb, var(--vk2) 14%, transparent), transparent 70%), var(--surface);
  border: 1px solid color-mix(in srgb, var(--vk) 22%, var(--line)); box-shadow: var(--sh-1);
}
#aitv-root .av-vh-fx { position: absolute; right: -60px; top: -80px; z-index: -1; width: 260px; height: 260px; border-radius: 50%; border: 40px solid color-mix(in srgb, var(--vk) 9%, transparent); animation: av-vhspin 30s linear infinite; }
@keyframes av-vhspin { to { transform: rotate(360deg) translateX(10px); } }
#aitv-root .av-vh-ico { flex-shrink: 0; width: 70px; height: 70px; display: grid; place-items: center; border-radius: 22px; font-size: 28px; color: #fff; background: linear-gradient(135deg, var(--vk), var(--vk2)); box-shadow: 0 14px 30px -12px color-mix(in srgb, var(--vk) 80%, transparent); }
#aitv-root .av-vh-ico i { animation: av-wobble 3.4s ease-in-out infinite; }
#aitv-root .av-vh-txt { min-width: 0; }
#aitv-root .av-vh-txt h1 { font-size: clamp(26px, 3vw, 38px); font-weight: 700; letter-spacing: -.03em; line-height: 1.1; }
#aitv-root .av-vh-txt h1 .av-fire { color: var(--vk); }
#aitv-root .av-vh-txt p { margin-top: 6px; color: var(--muted); font-size: 15.5px; max-width: 640px; }
#aitv-root .av-vh-chips { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
#aitv-root .av-vh-chips li { display: inline-flex; align-items: center; gap: 7px; padding: 5px 12px; border-radius: 999px; background: color-mix(in srgb, var(--vk) 10%, var(--surface)); color: var(--ink-2); font-size: 13px; font-weight: 600; font-variant-numeric: tabular-nums; }
#aitv-root .av-vh-chips i { color: var(--vk); }
#aitv-root .av-vh-chips b { color: var(--vk); }

/* ---------- bundles: the card opens the bundle window ---------- */
#aitv-root .av-bundle[data-bid] { cursor: pointer; }
#aitv-root button.av-bmosaic { position: relative; width: 100%; padding: 0; margin: 0; border: 0; cursor: zoom-in; font: inherit; color: inherit; text-align: left; }
#aitv-root .av-bm-peek {
  position: absolute; left: 50%; bottom: 14px; z-index: 2; transform: translate(-50%, 6px); display: inline-flex; align-items: center; gap: 7px; padding: 7px 14px; border-radius: 999px;
  background: rgba(15,23,42,.72); color: #fff; font-size: 13px; font-weight: 600; white-space: nowrap; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  opacity: .9; transition: opacity .25s, transform .35s cubic-bezier(.2,1.4,.4,1);
}
#aitv-root .av-bundle:hover .av-bm-peek, #aitv-root .av-bmosaic:focus-visible .av-bm-peek { opacity: 1; transform: translate(-50%, 0); }
#aitv-root .av-btitle { padding: 0; margin: 0; border: 0; background: none; cursor: pointer; font: inherit; color: inherit; text-align: left; letter-spacing: inherit; }
#aitv-root .av-btitle:hover { color: var(--accent-d); }

/* ---------- bundle window: every tool inside as a mini card, green INCLUDED label ---------- */
#aitv-root .av-modal.is-bundlew { width: min(1000px, 100%); }
#aitv-root .av-overlay.open .av-modal.is-bundlew { animation: av-bwin .6s cubic-bezier(.2,1.2,.35,1) both; }
@keyframes av-bwin { from { opacity: 0; transform: scale(.62); } 60% { opacity: 1; } to { opacity: 1; transform: none; } }
#aitv-root .av-bw-head { display: flex; align-items: center; gap: 14px; }
#aitv-root .av-bw-emo { flex-shrink: 0; width: 52px; height: 52px; display: grid; place-items: center; font-size: 26px; border-radius: 15px; background: linear-gradient(135deg, #e0e7ff, #fae8ff); }
#aitv-root[data-theme="navy"] .av-bw-emo, #aitv-root[data-theme="dark"] .av-bw-emo { background: var(--soft); }
#aitv-root .av-bw-ttl { min-width: 0; }
#aitv-root .av-bw-ttl p { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
#aitv-root .av-bw { background: var(--soft); }
#aitv-root .av-bminis { list-style: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 14px; }
#aitv-root .av-bmini {
  position: relative; display: flex; flex-direction: column; min-width: 0; overflow: hidden; background: var(--surface); border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--sh-1);
  opacity: 0; animation: av-rise .5s cubic-bezier(.2,.9,.3,1) forwards; animation-delay: calc(.12s + var(--i, 0) * 55ms); transition: transform .28s var(--ease), box-shadow .28s;
}
#aitv-root .av-bmini:hover { transform: translateY(-4px); box-shadow: var(--sh-2); }
#aitv-root .av-bmini .av-cover.av-bmini-cv, #aitv-root .av-bmini-cv { position: relative; margin: 0; aspect-ratio: 4 / 3; max-height: none; min-height: 0; overflow: hidden; background: var(--bg-2); }
#aitv-root .av-bmini-cv.is-emo { display: grid; place-items: center; font-size: 46px; background: radial-gradient(circle at 30% 20%, color-mix(in srgb, var(--cc) 22%, transparent), transparent 60%), var(--soft); }
#aitv-root .av-bmini .av-mag { width: 44px; height: 44px; margin: -22px 0 0 -22px; font-size: 16px; }
#aitv-root .av-bmini-b { display: flex; flex-direction: column; gap: 4px; padding: 12px 14px 12px; flex: 1 1 auto; min-width: 0; }
#aitv-root .av-bmini-cat { align-self: flex-start; max-width: 100%; padding: 2px 9px; border-radius: 999px; font-size: 11px; font-weight: 700; color: var(--cc); background: color-mix(in srgb, var(--cc) 13%, var(--surface)); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#aitv-root .av-bmini h4 { font-size: 15px; font-weight: 700; line-height: 1.3; letter-spacing: -.01em; overflow-wrap: anywhere; }
#aitv-root .av-bmini p { font-size: 13px; line-height: 1.5; color: var(--muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
#aitv-root .av-bmini-f { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 8px; }
#aitv-root .av-incl { display: inline-flex; align-items: center; gap: 6px; padding: 5px 11px; border-radius: 9px; background: #16a34a; color: #fff; font-size: 11.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; box-shadow: 0 6px 14px -8px rgba(22,163,74,.9); }
#aitv-root .av-incl i { font-size: 10px; }
#aitv-root .av-incl.is-own { background: var(--ok-soft); color: var(--ok); box-shadow: none; }
#aitv-root .av-bmini-d { font-size: 13px; padding: 2px 0; }
#aitv-root .av-bw-foot { flex-shrink: 0; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px 18px; padding: 14px 28px; border-top: 1px solid var(--line); background: var(--glass); }
#aitv-root .av-bw-price { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 12px; min-width: 0; }
#aitv-root .av-bw-now { font-size: 28px; font-weight: 800; letter-spacing: -.03em; line-height: 1; }
#aitv-root .av-bw-price s { color: var(--faint); font-size: 15px; font-weight: 500; }
#aitv-root .av-bw-save { padding: 4px 10px; border-radius: 999px; background: var(--ok-soft); color: var(--ok); font-size: 12.5px; font-weight: 700; }
#aitv-root .av-bw-cd { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 999px; background: var(--sale-soft); color: var(--sale); font-size: 12.5px; font-weight: 600; font-variant-numeric: tabular-nums; }
#aitv-root .av-bw-own { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: var(--ok); }
#aitv-root .av-bw-foot .av-cartadd { width: auto; padding: 0 16px; min-height: 52px; border-radius: 14px; }
#aitv-root .av-bw-foot .av-cartadd .av-bl { display: inline; }

/* ---------- How it works window ---------- */
#aitv-root .av-modal.is-hiw { width: min(720px, 100%); }
#aitv-root .av-overlay.open .av-modal.is-hiw { animation: av-bwin .6s cubic-bezier(.2,1.2,.35,1) both; }
#aitv-root .av-hiw-head { display: flex; align-items: center; gap: 14px; }
#aitv-root .av-hiw-badge { flex-shrink: 0; width: 50px; height: 50px; display: grid; place-items: center; border-radius: 15px; color: #fff; font-size: 20px; background: conic-gradient(from 210deg, #ff5a1f, #f43f5e, #7c3aed, #3b6cf6, #10b981, #ff5a1f); box-shadow: 0 10px 24px -10px rgba(124,58,237,.6); }
#aitv-root .av-hiw-list { list-style: none; position: relative; display: grid; gap: 12px; }
#aitv-root .av-hiw-list::before { content: ''; position: absolute; left: 25px; top: 26px; bottom: 26px; width: 2px; border-radius: 2px; background: linear-gradient(var(--accent), #8b5cf6, #10b981); opacity: .35; }
#aitv-root .av-hiw-step {
  position: relative; display: grid; grid-template-columns: 52px minmax(0,1fr); gap: 4px 14px; align-items: start; padding: 12px 14px 12px 0;
  opacity: 0; animation: av-hiwin .55s cubic-bezier(.2,1,.3,1) forwards; animation-delay: calc(.15s + var(--i, 0) * 90ms);
}
@keyframes av-hiwin { from { opacity: 0; transform: translateX(-22px); } to { opacity: 1; transform: none; } }
#aitv-root .av-hiw-n { position: absolute; left: 34px; top: 4px; z-index: 2; min-width: 20px; height: 20px; padding: 0 5px; display: grid; place-items: center; border-radius: 999px; background: var(--inv); color: var(--on-inv); font-size: 11px; font-weight: 800; border: 2px solid var(--surface); }
#aitv-root .av-hiw-ic { position: relative; z-index: 1; width: 52px; height: 52px; display: grid; place-items: center; border-radius: 16px; background: var(--surface); border: 1px solid var(--line); box-shadow: var(--sh-1); color: var(--accent); font-size: 20px; }
#aitv-root .av-hiw-emo { font-size: 24px; line-height: 1; }
#aitv-root .av-hiw-txt h4 { font-size: 16px; font-weight: 700; letter-spacing: -.01em; line-height: 1.3; padding-top: 4px; }
#aitv-root .av-hiw-txt p { margin-top: 3px; font-size: 14px; line-height: 1.6; color: var(--muted); }
#aitv-root .av-hiw-step.is-magic { padding: 14px 16px 16px 0; border-radius: 18px; background: linear-gradient(120deg, color-mix(in srgb, #10a37f 10%, transparent), color-mix(in srgb, var(--accent) 9%, transparent)); box-shadow: inset 0 0 0 1px color-mix(in srgb, #10a37f 28%, transparent); }
#aitv-root .av-hiw-step.is-magic .av-hiw-ic { background: #10a37f; color: #fff; border-color: #10a37f; }
#aitv-root .av-hiw-demo { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 10px; font-size: 12px; }
#aitv-root .av-hd-btn { display: inline-flex; align-items: center; gap: 6px; padding: 6px 11px; border-radius: 9px; background: #10a37f; color: #fff; font-weight: 700; animation: av-hdbtn 3.6s ease-in-out infinite; }
@keyframes av-hdbtn { 0%, 18% { transform: none; box-shadow: none; } 22% { transform: scale(.93); } 28% { transform: none; box-shadow: 0 0 0 6px rgba(16,163,127,.22); } 40%, 100% { box-shadow: none; } }
#aitv-root .av-hd-arr { color: var(--faint); font-size: 11px; }
#aitv-root .av-hd-box { position: relative; display: inline-flex; padding: 6px 10px; border-radius: 10px; background: var(--surface); border: 1px solid var(--line-2); color: var(--ink-2); min-width: 150px; }
#aitv-root .av-hd-txt { animation: av-hdtxt 3.6s ease-in-out infinite; }
@keyframes av-hdtxt { 0%, 30% { opacity: 0; background: transparent; } 36% { opacity: 1; background: rgba(59,130,246,.22); } 52%, 100% { opacity: 1; background: transparent; } }
#aitv-root .av-hd-key { padding: 4px 9px; border-radius: 8px; border: 1px solid #fdba74; border-bottom-width: 3px; background: #fff7ed; color: #c2410c; font-size: 12px; animation: av-hdkey 3.6s ease-in-out infinite; }
@keyframes av-hdkey { 0%, 58% { transform: none; box-shadow: none; } 66% { box-shadow: 0 0 0 5px rgba(255,90,31,.25); } 74% { transform: translateY(2px); border-bottom-width: 1px; } 82%, 100% { transform: none; border-bottom-width: 3px; box-shadow: none; } }
#aitv-root .av-hiw-foot { flex-shrink: 0; display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 10px; padding: 14px 28px; border-top: 1px solid var(--line); background: var(--glass); }
#aitv-root .av-hiw-foot .av-vip { min-height: 52px; }
#aitv-root .av-hiw-foot .av-vip-crown { width: 36px; height: 36px; }
#aitv-root .av-hiw-foot .av-btn { min-height: 52px; }

/* ---------- Help menu: guided tour item ---------- */
#aitv-root .av-helpm-hiw { display: flex; align-items: center; gap: 11px; width: 100%; padding: 10px 12px; margin-bottom: 4px; border: 0; border-radius: 11px; cursor: pointer; font: inherit; color: var(--ink); text-align: left; background: linear-gradient(120deg, var(--accent-soft), var(--brand-soft)); }
#aitv-root .av-helpm-hiw i { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 9px; color: #fff; font-size: 12px; background: conic-gradient(from 210deg, #ff5a1f, #f43f5e, #7c3aed, #3b6cf6, #10b981, #ff5a1f); }
#aitv-root .av-helpm-hiw span { display: grid; line-height: 1.25; }
#aitv-root .av-helpm-hiw b { font-size: 14px; font-weight: 700; }
#aitv-root .av-helpm-hiw small { font-size: 12px; color: var(--muted); }
#aitv-root .av-helpm-hiw:hover, #aitv-root .av-helpm-hiw:focus-visible { filter: brightness(.97); outline: none; box-shadow: inset 0 0 0 1px var(--accent-line); }

/* ---------- category navigation: colourful, animated, full names ---------- */
@media (min-width: 981px) {
  #aitv-root .av-catalog.has-side.nav-left { grid-template-columns: 256px minmax(0,1fr); }
  #aitv-root .av-catalog.has-side.nav-right { grid-template-columns: minmax(0,1fr) 256px; }
}
#aitv-root .av-catnav.is-side { padding: 12px 10px; border-radius: 22px; }
#aitv-root .av-cn-h { gap: 10px; padding: 4px 8px 12px; font-size: 12px; color: var(--muted); }
#aitv-root .av-cn-hi { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 9px; color: #fff; font-size: 12px; background: conic-gradient(from 210deg, #ff5a1f, #f43f5e, #7c3aed, #3b6cf6, #10b981, #ff5a1f); }
#aitv-root .av-cn-list { position: relative; gap: 3px; }
#aitv-root .av-cn-ind {
  position: absolute; left: 0; right: 0; top: 0; z-index: 0; height: 0; opacity: 0; pointer-events: none; border-radius: 13px;
  background: color-mix(in srgb, var(--cc, var(--accent)) 14%, var(--surface)); box-shadow: inset 3px 0 0 var(--cc, var(--accent)), 0 6px 16px -10px color-mix(in srgb, var(--cc, var(--accent)) 70%, transparent);
  transition: transform .5s cubic-bezier(.3,1.25,.45,1), height .3s, opacity .2s, background-color .35s, box-shadow .35s;
}
#aitv-root .av-cn-ind.no-anim { transition: none !important; }
#aitv-root .av-chipf .av-cic { flex-shrink: 0; display: inline-grid; place-items: center; font-size: 12px; color: var(--cc, var(--faint)); }
#aitv-root .av-chipf .av-cic:empty { display: none; }
#aitv-root .av-chipf .av-cic .av-cemo { font-size: 14px; }
#aitv-root .av-chipf.is-row { position: relative; z-index: 1; gap: 10px; padding: 7px 8px; min-height: 44px; border-radius: 13px; align-items: center; }
#aitv-root .av-chipf.is-row .av-cic {
  width: 30px; height: 30px; border-radius: 10px; font-size: 13px; background: color-mix(in srgb, var(--cc) 15%, var(--surface)); color: var(--cc);
  transition: transform .35s cubic-bezier(.2,1.6,.4,1), background-color .25s, color .25s;
}
#aitv-root .av-chipf.is-row .av-cl { white-space: normal; overflow: hidden; text-overflow: clip; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow-wrap: anywhere; }
#aitv-root .av-chipf.is-row span.av-cn { margin-left: auto; background: color-mix(in srgb, var(--cc) 10%, var(--bg-2)); color: var(--muted); }
#aitv-root .av-chipf.is-row:hover { background: color-mix(in srgb, var(--cc) 7%, transparent); color: var(--ink); }
#aitv-root .av-chipf.is-row:hover .av-cic { transform: rotate(-10deg) scale(1.1); }
#aitv-root .av-chipf.is-row[aria-pressed="true"] { background: color-mix(in srgb, var(--cc) 14%, var(--surface)); color: var(--ink); box-shadow: inset 3px 0 0 var(--cc); font-weight: 600; }
#aitv-root .av-cn-list .av-chipf.is-row[aria-pressed="true"] { background: transparent; box-shadow: none; }
#aitv-root .av-chipf.is-row[aria-pressed="true"] .av-cic { background: var(--cc); color: #fff; transform: scale(1.04); }
#aitv-root .av-chipf.is-row[aria-pressed="true"] span.av-cn { background: var(--cc); color: #fff; }
#aitv-root .av-chipf.is-row.is-salechip, #aitv-root .av-chipf.is-row.is-salechip[aria-pressed="true"] { color: var(--ink); }
#aitv-root .av-chipf.is-row.is-salechip:not([aria-pressed="true"]) .av-cl { color: var(--sale); font-weight: 600; }
/* top pill bar: coloured icon, the active pill takes the category colour */
#aitv-root .av-chipf:not(.is-row) .av-cic { width: 18px; }
#aitv-root .av-chipf:not(.is-row)[aria-pressed="true"] { background: var(--cc); border-color: var(--cc); color: #fff; box-shadow: 0 8px 18px -8px var(--cc); }
#aitv-root .av-chipf:not(.is-row)[aria-pressed="true"] .av-cic { color: #fff; }
#aitv-root .av-chipf:not(.is-row)[aria-pressed="true"][data-cat=""] { background: var(--inv); border-color: var(--inv); color: var(--on-inv); }
#aitv-root .av-chipf:not(.is-row)[aria-pressed="true"][data-cat=""] .av-cic { color: inherit; }

/* ---------- "Groups": accordion (all collapsed; one opens at a time) ---------- */
#aitv-root .av-groups { display: grid; gap: 12px; }
#aitv-root .av-group { margin: 0; padding: 0; border: 1px solid var(--line); border-radius: 20px; background: var(--surface); box-shadow: var(--sh-1); overflow: hidden; transition: box-shadow .3s, border-color .3s; }
#aitv-root .av-group.is-closed { border-bottom: 1px solid var(--line); margin: 0; padding: 0; }
#aitv-root .av-group:hover { border-color: color-mix(in srgb, var(--cc) 35%, var(--line)); }
#aitv-root .av-group.is-open { border-color: color-mix(in srgb, var(--cc) 45%, var(--line)); box-shadow: 0 18px 44px -26px color-mix(in srgb, var(--cc) 70%, transparent), var(--sh-1); }
#aitv-root .av-group-hh { margin: 0; font: inherit; }
#aitv-root .av-group-h { display: flex; align-items: center; gap: 14px; width: 100%; padding: 12px 14px 12px 12px; min-height: 68px; }
#aitv-root .av-group-h:focus-visible { outline-offset: -3px; border-radius: 20px; }
#aitv-root .av-group-emo { width: 46px; height: 46px; border-radius: 14px; border: 0; box-shadow: none; font-size: 18px; color: var(--cc); background: color-mix(in srgb, var(--cc) 15%, var(--surface)); transition: transform .35s cubic-bezier(.2,1.6,.4,1), background-color .3s, color .3s; }
#aitv-root .av-group-h:hover .av-group-emo { transform: rotate(-8deg) scale(1.06); }
#aitv-root .av-group.is-open .av-group-emo { background: var(--cc); color: #fff; }
#aitv-root .av-group-tt { display: grid; min-width: 0; flex: 1 1 auto; }
#aitv-root .av-group-t { font-size: 17px; font-weight: 700; letter-spacing: -.015em; line-height: 1.25; overflow-wrap: anywhere; }
#aitv-root .av-group-sub { font-size: 12.5px; color: var(--muted); font-weight: 500; }
#aitv-root .av-gths { display: flex; flex-shrink: 0; padding-right: 6px; }
#aitv-root .av-gth { position: relative; width: 36px; height: 46px; margin-left: -12px; overflow: hidden; border-radius: 9px; border: 2px solid var(--surface); background: var(--bg-2); box-shadow: 0 4px 10px -4px rgba(var(--shc),.35); transform: rotate(calc((var(--k) - 1) * 7deg)); transition: transform .4s cubic-bezier(.2,1.4,.4,1); }
#aitv-root .av-gth:first-child { margin-left: 0; }
#aitv-root .av-gth img { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; display: block; }
#aitv-root .av-group-h:hover .av-gth { transform: rotate(calc((var(--k) - 1) * 12deg)) translateY(-2px); }
#aitv-root .av-group-n { flex-shrink: 0; background: color-mix(in srgb, var(--cc) 12%, var(--bg-2)); color: var(--ink-2); }
#aitv-root .av-group-chev { flex-shrink: 0; margin-left: 0; background: var(--bg-2); transition: transform .45s cubic-bezier(.3,1.3,.45,1), background-color .2s, color .2s; }
#aitv-root .av-group.is-open .av-group-chev { transform: rotate(180deg); background: var(--cc); color: #fff; }
#aitv-root .av-group-b { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .5s cubic-bezier(.3,.9,.3,1); }
#aitv-root .av-group.is-open .av-group-b { grid-template-rows: 1fr; }
#aitv-root .av-group-bi { min-height: 0; overflow: hidden; }
#aitv-root .av-group-bi > .av-grid { padding: 6px 14px 16px; }
#aitv-root .av-group-bi > .av-group-more { margin: 0 0 18px; }
#aitv-root .av-group.is-open .av-group-h { border-bottom: 1px dashed color-mix(in srgb, var(--cc) 30%, var(--line)); }

/* ---------- phone bottom bar (<= 640px): sort, all/groups, size, filter, count ---------- */
#aitv-root .av-pbar { display: none; }
#aitv-root { --pbo: 0px; }

/* ---------- widget tab (customize): half-visible on the chosen edge, gentle pulse, expands on hover ---------- */
#aitv-root .av-gd-fab {
  position: fixed; z-index: 99960; display: block; padding: 0; margin: 0; border: 0; background: none; cursor: pointer; font: inherit; color: #fff;
  top: 50%; left: 0; transform: translateY(-50%); -webkit-tap-highlight-color: transparent;
  animation: av-tabin .7s cubic-bezier(.2,1.3,.4,1) .9s both;
}
#aitv-root .av-gd-tab {
  position: relative; display: grid; place-items: center end; width: 48px; height: 62px; padding-right: 5px; border-radius: 0 18px 18px 0; font-size: 15px;
  background: conic-gradient(from 210deg at 70% 50%, #ff5a1f, #f43f5e, #7c3aed, #3b6cf6, #10b981, #ff5a1f);
  box-shadow: 0 10px 26px -8px rgba(124,58,237,.6), inset 0 0 0 1px rgba(255,255,255,.25);
  transform: translateX(-25px); transition: transform .45s cubic-bezier(.2,1.4,.4,1), box-shadow .3s, padding .35s, font-size .35s;
}
#aitv-root .av-gd-tab::before { content: ''; position: absolute; inset: 3px 3px 3px 0; border-radius: 0 15px 15px 0; background: rgba(15,23,42,.26); z-index: 0; }
#aitv-root .av-gd-tab i { position: relative; z-index: 1; filter: drop-shadow(0 1px 2px rgba(0,0,0,.3)); transition: transform .6s cubic-bezier(.2,1.4,.4,1); }
#aitv-root .av-gd-ring { position: absolute; inset: 0; border-radius: inherit; pointer-events: none; animation: av-tabpulse 6s ease-out 2.4s infinite; }
@keyframes av-tabpulse { 0%, 70% { box-shadow: 0 0 0 0 rgba(124,58,237,.55); } 85% { box-shadow: 0 0 0 12px rgba(124,58,237,0); } 100% { box-shadow: 0 0 0 0 rgba(124,58,237,0); } }
#aitv-root .av-gd-tip {
  position: absolute; top: 50%; left: 56px; display: grid; gap: 2px; width: 236px; padding: 12px 14px; border-radius: 16px; text-align: left; pointer-events: none;
  background: var(--surface); color: var(--ink); border: 1px solid var(--line); box-shadow: var(--sh-3);
  opacity: 0; transform: translate(-10px, -50%) scale(.96); transform-origin: left center; transition: opacity .25s, transform .4s cubic-bezier(.2,1.3,.4,1);
}
#aitv-root .av-gd-tip b { font-size: 14.5px; font-weight: 700; letter-spacing: -.01em; }
#aitv-root .av-gd-tip small { font-size: 12.5px; line-height: 1.45; color: var(--muted); }
#aitv-root .av-gd-tip em { display: block; margin-top: 4px; font-style: normal; font-weight: 700; color: var(--accent-d); }
@media (hover: hover) {
  #aitv-root .av-gd-fab:hover .av-gd-tab, #aitv-root .av-gd-fab:focus-visible .av-gd-tab { transform: none; padding-right: 14px; font-size: 18px; box-shadow: 0 14px 32px -8px rgba(124,58,237,.7); }
  #aitv-root .av-gd-fab:hover .av-gd-tab i { transform: rotate(-25deg) scale(1.12); }
  #aitv-root .av-gd-fab:hover .av-gd-tip, #aitv-root .av-gd-fab:focus-visible .av-gd-tip { opacity: 1; transform: translate(0, -50%); }
}
#aitv-root .av-gd-fab:focus-visible { outline: none; }
#aitv-root .av-gd-fab:focus-visible .av-gd-tab { outline: 2px solid var(--accent); outline-offset: 3px; }
@keyframes av-tabin { from { opacity: 0; translate: -60px 0; } to { opacity: 1; translate: 0 0; } }
/* placements */
#aitv-root .av-gd-fab[data-place="bottom-left"] { top: auto; bottom: 96px; transform: none; }
#aitv-root .av-gd-fab[data-place="center-right"], #aitv-root .av-gd-fab[data-place="bottom-right"] { left: auto; right: 0; }
#aitv-root .av-gd-fab[data-place="bottom-right"] { top: auto; bottom: 92px; transform: none; }
#aitv-root .av-gd-fab[data-place$="right"] .av-gd-tab { padding: 0 0 0 5px; place-items: center start; border-radius: 18px 0 0 18px; transform: translateX(25px); }
#aitv-root .av-gd-fab[data-place$="right"]:hover .av-gd-tab { padding: 0 0 0 14px; }
#aitv-root .av-gd-fab[data-place$="right"] .av-gd-tab::before { inset: 3px 0 3px 3px; border-radius: 15px 0 0 15px; }
#aitv-root .av-gd-fab[data-place$="right"] .av-gd-tip { left: auto; right: 56px; transform: translate(10px, -50%) scale(.96); transform-origin: right center; }
#aitv-root .av-gd-fab[data-place$="right"] { animation-name: av-tabin-r; }
@keyframes av-tabin-r { from { opacity: 0; translate: 60px 0; } to { opacity: 1; translate: 0 0; } }
@media (hover: hover) { #aitv-root .av-gd-fab[data-place$="right"]:hover .av-gd-tip, #aitv-root .av-gd-fab[data-place$="right"]:focus-visible .av-gd-tip { transform: translate(0, -50%); } }
#aitv-root.gd-on .av-gd-fab { opacity: 0; pointer-events: none; transition: opacity .2s; }
/* drawer from the right side when the widget sits on the right */
#aitv-root .av-gd[data-side="right"] .av-gd-panel { left: auto; right: 0; border-radius: 26px 0 0 26px; transform: translateX(104%); box-shadow: -30px 0 80px -20px rgba(var(--shc),.45); }
#aitv-root .av-gd[data-side="right"].open .av-gd-panel { transform: none; }
#aitv-root .av-gd[data-side="right"] .av-gd-sec { transform: translateX(24px); }
#aitv-root .av-gd.open[data-side="right"] .av-gd-sec { animation-name: av-gdsec; }

/* ---------- widget drawer: premium restyle + new sections ---------- */
#aitv-root .av-gd-panel { width: min(420px, 94vw); background: var(--surface); }
#aitv-root .av-gd-head { padding: 22px 64px 18px 22px; background: radial-gradient(420px 160px at 0% 0%, var(--glow-a), transparent 70%), radial-gradient(360px 160px at 100% 0%, var(--glow-b), transparent 70%), var(--surface); }
#aitv-root .av-gd-ico { width: 46px; height: 46px; border-radius: 15px; box-shadow: 0 10px 22px -10px rgba(124,58,237,.7); }
#aitv-root .av-gd-body { padding: 4px 18px 22px; }
#aitv-root .av-gd-sec { padding: 14px 14px 12px; margin-top: 12px; border: 1px solid var(--line); border-radius: 18px; background: var(--soft); }
#aitv-root .av-gd-sec:last-child { border-bottom: 1px solid var(--line); }
#aitv-root .av-gd-sec h4 { gap: 10px; margin-bottom: 12px; font-size: 12.5px; letter-spacing: .06em; color: var(--ink-2); }
#aitv-root .av-gd-sec h4 > span:last-child { display: grid; }
#aitv-root .av-gd-sec h4 small { font-size: 11.5px; font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--muted); }
#aitv-root .av-gd-hi { flex-shrink: 0; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 9px; background: var(--surface); box-shadow: var(--sh-1); }
#aitv-root .av-gd-sec h4 .av-gd-hi i { color: var(--accent); font-size: 12px; }
#aitv-root .av-gd-seg { background: var(--bg-2); }
#aitv-root .av-gd-seg.is-5 { display: grid; grid-template-columns: repeat(5, 1fr); width: 100%; }
#aitv-root .av-gd-seg.is-3 { display: grid; grid-template-columns: repeat(3, 1fr); }
#aitv-root .av-gd-seg.is-ts button { display: grid; justify-items: center; gap: 0; min-height: 50px; padding: 4px 2px; }
#aitv-root .av-ts-a { font-weight: 800; line-height: 1.1; }
#aitv-root .av-gd-seg.is-ts small { font-size: 10px; font-weight: 600; opacity: .8; }
#aitv-root .av-gd-note { display: flex; gap: 7px; align-items: center; margin: 2px 0 0; }
#aitv-root .av-gd-note i { color: var(--ok); }
#aitv-root .av-gtile { background: var(--surface); }
#aitv-root .av-gd-fx { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 7px; }
#aitv-root .av-gtile.is-fx { padding: 7px 4px 6px; gap: 5px; }
#aitv-root .av-fxp { position: relative; display: grid; place-items: center; width: 100%; height: 52px; border-radius: 10px; background: var(--bg-2); overflow: hidden; }
#aitv-root .av-fxp-c { position: relative; width: 34px; height: 42px; padding: 3px; display: grid; gap: 3px; grid-template-rows: 1fr auto auto; border-radius: 7px; background: var(--surface); border: 1px solid var(--line); }
#aitv-root .av-fxp-c i { border-radius: 4px; background: linear-gradient(135deg, #fb923c, #f43f5e); }
#aitv-root .av-fxp-c b { height: 3px; border-radius: 2px; background: var(--line-2); }
#aitv-root .av-fxp-c b + b { width: 60%; }
#aitv-root .fx-glow .av-fxp-c { border-color: #f97316; box-shadow: 0 0 0 1px rgba(249,115,22,.35), 0 0 12px rgba(249,115,22,.6); animation: av-fxglow2 2.6s ease-in-out infinite; }
@keyframes av-fxglow2 { 50% { box-shadow: 0 0 0 2px rgba(249,115,22,.45), 0 0 18px rgba(249,115,22,.8); } }
#aitv-root .fx-gradient .av-fxp-c { border-color: transparent; }
#aitv-root .fx-gradient .av-fxp-c::after { content: ''; position: absolute; inset: -1px; border-radius: inherit; padding: 2px; background: conic-gradient(from var(--av-a), #ff5a1f, #8b5cf6, #3b82f6, #10b981, #ff5a1f); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0); animation: av-bspin 3s linear infinite; }
#aitv-root .fx-glass .av-fxp-c { overflow: hidden; background: color-mix(in srgb, var(--surface) 70%, transparent); }
#aitv-root .fx-glass .av-fxp-c::after { content: ''; position: absolute; inset: 0; background: linear-gradient(115deg, transparent 35%, rgba(255,255,255,.8) 48%, transparent 60%) -160% 0 / 260% 100% no-repeat; animation: av-fxsheen 2.6s ease-in-out infinite; }
#aitv-root .fx-lift .av-fxp-c { transform: translateY(-4px); box-shadow: 0 10px 14px -6px rgba(var(--shc),.45); border-color: transparent; }
#aitv-root .av-gd-wp { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 7px; }
#aitv-root .av-gtile.is-wp { padding: 8px 4px 7px; font-size: 11px; line-height: 1.2; }
#aitv-root .av-wp-ico { position: relative; width: 44px; height: 30px; border-radius: 6px; border: 1.5px solid currentColor; opacity: .85; }
#aitv-root .av-wp-ico i { position: absolute; width: 7px; height: 11px; background: currentColor; }
#aitv-root .wp-center-left i { left: -1px; top: 50%; margin-top: -6px; border-radius: 0 4px 4px 0; }
#aitv-root .wp-bottom-left i { left: -1px; bottom: 3px; border-radius: 0 4px 4px 0; }
#aitv-root .wp-bottom-right i { right: -1px; bottom: 3px; border-radius: 4px 0 0 4px; }
#aitv-root .wp-center-right i { right: -1px; top: 50%; margin-top: -6px; border-radius: 4px 0 0 4px; }
#aitv-root .av-gd-rk .av-gd-seg button { font-size: 15px; min-height: 38px; }
#aitv-root .av-gd-row + .av-gd-row { margin-top: 6px; }
#aitv-root .av-gd-row .av-gd-seg { flex-shrink: 0; }

/* ---------- rocket (bottom-right) ---------- */
#aitv-root .av-rocket {
  position: fixed; right: 20px; bottom: 20px; z-index: 99958; width: 52px; height: 52px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 50%; cursor: pointer;
  color: #fff; font-size: 19px; background: linear-gradient(145deg, #ff7a3d, #f43f5e 55%, #c026d3); box-shadow: 0 14px 30px -10px rgba(244,63,94,.7), inset 0 1px 0 rgba(255,255,255,.35);
  transition: transform .35s cubic-bezier(.2,1.4,.4,1), opacity .3s, box-shadow .3s, bottom .35s cubic-bezier(.2,.9,.3,1); animation: av-rkin .6s cubic-bezier(.2,1.3,.4,1) 1.1s both;
}
#aitv-root .av-rocket[hidden] { display: none; }
#aitv-root .av-rocket:hover { transform: translateY(-3px) scale(1.06); box-shadow: 0 20px 36px -12px rgba(244,63,94,.8); }
#aitv-root .av-rocket:active { transform: scale(.94); }
#aitv-root .av-rocket.is-off { opacity: 0; pointer-events: none; transform: scale(.5); }
#aitv-root .av-rocket i { position: relative; z-index: 1; transition: transform .6s cubic-bezier(.3,1.4,.4,1); filter: drop-shadow(0 2px 3px rgba(0,0,0,.25)); }
#aitv-root .av-rocket.ic-rocket i, #aitv-root .av-rocket.ic-plane i { transform: rotate(-45deg); }
#aitv-root .av-rocket.ic-plane i { transform: rotate(-45deg) translateX(-1px); }
#aitv-root .av-rocket.is-down i { transform: rotate(180deg); }
#aitv-root .av-rocket.ic-rocket.is-down i, #aitv-root .av-rocket.ic-plane.is-down i { transform: rotate(135deg); }
#aitv-root .av-rocket.ic-star.is-down i { transform: rotate(180deg) scale(.86); }
#aitv-root .av-rocket.ic-star::after { content: ''; position: absolute; left: 50%; bottom: 6px; margin-left: -4px; border: 4px solid transparent; border-bottom: 5px solid rgba(255,255,255,.9); border-top: 0; transition: transform .5s; }
#aitv-root .av-rocket.ic-star.is-down::after { transform: translateY(-36px) rotate(180deg); }
#aitv-root .av-rk-trail { position: absolute; left: 50%; top: 50%; width: 10px; height: 0; margin-left: -5px; border-radius: 0 0 8px 8px; background: linear-gradient(#fde047, rgba(249,115,22,0)); opacity: 0; }
#aitv-root .av-rocket.is-launch i { animation: av-rklaunch .9s cubic-bezier(.5,0,.3,1); }
#aitv-root .av-rocket.is-launch .av-rk-trail { animation: av-rktrail .9s ease-out; }
#aitv-root .av-rocket.is-dive i { animation: av-rkdive .9s cubic-bezier(.5,0,.3,1); }
@keyframes av-rklaunch { 0% { translate: 0 0; } 18% { translate: 0 4px; } 55% { translate: 0 -46px; opacity: 0; } 56% { translate: 0 30px; opacity: 0; } 100% { translate: 0 0; opacity: 1; } }
@keyframes av-rkdive { 0% { translate: 0 0; } 18% { translate: 0 -4px; } 55% { translate: 0 46px; opacity: 0; } 56% { translate: 0 -30px; opacity: 0; } 100% { translate: 0 0; opacity: 1; } }
@keyframes av-rktrail { 0% { height: 0; opacity: 0; } 30% { height: 26px; opacity: 1; } 60% { height: 34px; opacity: 0; } 100% { opacity: 0; } }
@keyframes av-rkin { from { opacity: 0; transform: translateY(40px) scale(.6); } to { opacity: 1; transform: none; } }

/* ---------- giveaway pill: slides out from under the header while scrolling up ---------- */
#aitv-root .av-gwpill-wrap { position: fixed; left: 50%; top: calc(var(--hdr, 64px) + 10px); z-index: 59; max-width: calc(100vw - 24px); transform: translate(-50%, -24px); opacity: 0; pointer-events: none; transition: transform .45s cubic-bezier(.2,1.3,.4,1), opacity .25s; }
#aitv-root.aitv-embedded .av-gwpill-wrap { display: none; }
#aitv-root .av-gwpill-wrap:empty { display: none; }
#aitv-root .av-gwpill-wrap.is-on { opacity: 1; transform: translate(-50%, 0); pointer-events: auto; }
#aitv-root .av-gwpill {
  display: flex; align-items: center; gap: 4px; padding: 4px; border-radius: 999px; color: var(--on-inv); background: var(--inv);
  box-shadow: 0 14px 34px -12px rgba(var(--shc),.55), 0 0 0 1.5px rgba(245,158,11,.55);
}
#aitv-root .av-gwp-go { display: flex; align-items: center; gap: 9px; min-width: 0; min-height: 36px; padding: 0 6px 0 4px; border: 0; background: none; color: inherit; cursor: pointer; font: inherit; font-size: 13.5px; text-align: left; }
#aitv-root .av-gwp-ico { flex-shrink: 0; width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: rgba(245,158,11,.22); font-size: 15px; animation: av-gift 2.6s ease-in-out infinite; }
#aitv-root .av-gwp-t { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#aitv-root .av-gwp-t b { color: #fbbf24; font-weight: 700; }
#aitv-root[data-theme="navy"] .av-gwp-t b, #aitv-root[data-theme="dark"] .av-gwp-t b { color: #b45309; }
#aitv-root .av-gwp-cta { flex-shrink: 0; display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; background: linear-gradient(120deg, #f43f5e, #f59e0b); color: #fff; font-weight: 700; font-size: 12.5px; }
#aitv-root .av-gwp-x { flex-shrink: 0; width: 30px; height: 30px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 50%; cursor: pointer; background: rgba(127,127,127,.22); color: inherit; font-size: 12px; }
#aitv-root .av-gwp-x:hover { background: rgba(127,127,127,.38); }
#aitv-root .av-gw.is-spot { animation: av-gwspot 2.4s cubic-bezier(.2,.9,.3,1); border-color: #f59e0b; }
@keyframes av-gwspot { 0% { box-shadow: 0 0 0 0 rgba(245,158,11,.6), var(--sh-1); transform: scale(1); } 20% { transform: scale(1.015); } 40% { box-shadow: 0 0 0 14px rgba(245,158,11,0), var(--sh-2); } 60% { box-shadow: 0 0 0 0 rgba(245,158,11,.5), var(--sh-2); } 100% { box-shadow: 0 0 0 14px rgba(245,158,11,0), var(--sh-1); transform: none; } }

/* ---------- Premium Tools Shop: footer block + one slim card after the grid ---------- */
#aitv-root .av-shop-foot { padding-top: 44px; }
#aitv-root .av-shop-card {
  position: relative; isolation: isolate; overflow: hidden; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 26px; padding: 26px 30px; border-radius: 26px; color: #fff;
  background: radial-gradient(520px 220px at 0% 0%, rgba(244,114,182,.38), transparent 65%), radial-gradient(520px 260px at 100% 100%, rgba(45,212,191,.32), transparent 65%), linear-gradient(120deg, #1e1b4b, #4c1d95 55%, #831843);
  box-shadow: 0 30px 60px -30px rgba(0,0,0,.7), inset 0 0 0 1px rgba(255,255,255,.1);
}
#aitv-root .av-shop-fx { position: absolute; inset: -40%; z-index: -1; background: repeating-linear-gradient(45deg, rgba(255,255,255,.035) 0 18px, transparent 18px 36px); animation: av-stripes 4s linear infinite; }
#aitv-root .av-shop-art { position: relative; width: 104px; height: 92px; }
#aitv-root .av-shop-art i { position: absolute; display: grid; place-items: center; width: 50px; height: 50px; border-radius: 15px; font-size: 21px; color: #fff; box-shadow: 0 12px 24px -10px rgba(0,0,0,.6); animation: av-fanfloat 5s ease-in-out infinite; }
#aitv-root .av-shop-art i:nth-child(1) { left: 0; top: 18px; background: linear-gradient(135deg, #f97316, #f43f5e); transform: rotate(-10deg); }
#aitv-root .av-shop-art i:nth-child(2) { left: 30px; top: 0; z-index: 2; background: linear-gradient(135deg, #a78bfa, #6d28d9); animation-delay: -1.6s; }
#aitv-root .av-shop-art i:nth-child(3) { left: 56px; top: 34px; background: linear-gradient(135deg, #2dd4bf, #0284c7); transform: rotate(10deg); animation-delay: -3.2s; }
#aitv-root .av-shop-img { width: 120px; height: 120px; border-radius: 20px; overflow: hidden; box-shadow: 0 16px 30px -14px rgba(0,0,0,.7); transform: rotate(-4deg); }
#aitv-root .av-shop-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
#aitv-root .av-shop-k { display: inline-flex; align-items: center; gap: 7px; padding: 4px 11px; border-radius: 999px; background: rgba(255,255,255,.14); font-size: 11.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #fde68a; }
#aitv-root .av-shop-txt h3 { margin-top: 10px; font-size: clamp(20px, 2.2vw, 27px); font-weight: 800; letter-spacing: -.025em; line-height: 1.15; color: #fff; }
#aitv-root .av-shop-txt p { margin-top: 6px; font-size: 14.5px; line-height: 1.6; color: rgba(255,255,255,.78); max-width: 560px; }
#aitv-root .av-footer a.av-shop-btn, #aitv-root .av-shop-btn {
  display: inline-flex; align-items: center; gap: 10px; min-height: 52px; padding: 0 22px; border-radius: 15px; white-space: nowrap; font-size: 15px; font-weight: 700;
  background: #fff; color: #4c1d95; box-shadow: 0 14px 28px -12px rgba(0,0,0,.6); transition: transform .25s cubic-bezier(.2,1.4,.4,1), box-shadow .25s;
}
#aitv-root .av-footer a.av-shop-btn i { color: #db2777; transition: transform .25s; }
#aitv-root .av-footer a.av-shop-btn:hover { transform: translateY(-2px); text-decoration: none; color: #4c1d95; box-shadow: 0 20px 36px -14px rgba(0,0,0,.7); }
#aitv-root .av-footer a.av-shop-btn:hover i { transform: translateX(4px); }
#aitv-root .av-shop-slim-sec { padding-bottom: 34px; }
#aitv-root .av-shop-slim {
  display: flex; align-items: center; gap: 14px; padding: 12px 14px 12px 12px; border-radius: 18px; color: var(--ink);
  background: linear-gradient(var(--surface), var(--surface)) padding-box, linear-gradient(120deg, #a78bfa, #f472b6, #2dd4bf) border-box; border: 1.5px solid transparent;
  box-shadow: var(--sh-1); transition: transform .28s var(--ease), box-shadow .28s;
}
#aitv-root .av-shop-slim:hover { transform: translateY(-2px); box-shadow: var(--sh-2); color: var(--ink); }
#aitv-root .av-shs-ico { flex-shrink: 0; width: 44px; height: 44px; display: grid; place-items: center; overflow: hidden; border-radius: 13px; color: #fff; font-size: 18px; background: linear-gradient(135deg, #8b5cf6, #db2777); }
#aitv-root .av-shs-ico img { width: 100%; height: 100%; object-fit: cover; }
#aitv-root .av-shs-txt { display: grid; min-width: 0; flex: 1 1 auto; }
#aitv-root .av-shs-txt b { font-size: 15px; font-weight: 700; letter-spacing: -.01em; }
#aitv-root .av-shs-txt span { font-size: 13px; color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#aitv-root .av-shs-go { flex-shrink: 0; display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border-radius: 12px; background: var(--inv); color: var(--on-inv); font-size: 13.5px; font-weight: 700; }
#aitv-root .av-shs-go i { font-size: 11px; }
#aitv-root .av-fvip { color: #fbbf24 !important; }

/* ---------- floating layout plan (desktop): widget tab = left/right edge, rocket = bottom-right,
   promo card above the rocket, preview pill + toasts = bottom centre, giveaway pill = under the header ---------- */
#aitv-root .av-floatwrap { right: 20px; bottom: 86px; }
#aitv-root[data-wplace="bottom-right"] .av-floatwrap { bottom: 162px; }
#aitv-root[data-wplace="center-right"] .av-floatwrap { right: 54px; }

/* ---------- header with 6 tabs: tighter, then two rows ---------- */
@media (max-width: 1240px) {
  #aitv-root .av-tab i { display: none; }
  #aitv-root .av-tab { padding: 6px 11px; }
}
@media (max-width: 1100px) {
  #aitv-root .av-tb { flex-wrap: wrap; gap: 0 10px; min-height: 0; padding-top: 10px; padding-bottom: 10px; }
  #aitv-root .av-nav { order: 3; flex: 1 1 100%; margin-top: 10px; gap: 2px; }
  #aitv-root .av-tab { flex: 1 1 0; justify-content: center; padding: 6px 6px; min-width: 0; }
}
@media (max-width: 1180px) {
  #aitv-root .av-hero-art[class] { zoom: .84; }
}
@media (min-width: 761px) and (max-width: 980px) {
  #aitv-root .av-catalog.has-side.nav-left { grid-template-columns: 214px minmax(0,1fr); }
  #aitv-root .av-catalog.has-side.nav-right { grid-template-columns: minmax(0,1fr) 214px; }
}
@media (max-width: 980px) {
  #aitv-root .av-chipf.is-row { gap: 8px; }
  #aitv-root .av-chipf.is-row .av-cic { width: 26px; height: 26px; font-size: 12px; }
  #aitv-root .av-shop-card { grid-template-columns: minmax(0,1fr) auto; }
  #aitv-root .av-shop-art, #aitv-root .av-shop-img { display: none; }
}
@media (max-width: 760px) {
  #aitv-root .av-dz, #aitv-root .av-dz.n1, #aitv-root .av-dz.n2, #aitv-root .av-dz.n3, #aitv-root .av-dz.n4 { flex-wrap: nowrap; }
  #aitv-root .av-dz-t, #aitv-root .av-dz.n1 .av-dz-t, #aitv-root .av-dz.n4 .av-dz-t:not(.is-lead) { flex: 0 0 min(84%, 340px); min-width: 0; max-width: none; }
  #aitv-root .av-dz.n1 .av-dz-t { flex-basis: min(100%, 380px); }
  #aitv-root .av-vh-card { padding: 20px; gap: 16px; border-radius: 22px; }
  #aitv-root .av-vh-ico { width: 54px; height: 54px; font-size: 22px; border-radius: 17px; }
  #aitv-root .av-bminis { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 10px; }
  #aitv-root .av-gths { display: none; }
}
@media (max-width: 640px) {
  /* header tabs: one swipeable row */
  #aitv-root .av-nav { overflow-x: auto; scrollbar-width: none; -ms-overflow-style: none; justify-content: flex-start; -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 26px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 26px), transparent); }
  #aitv-root .av-nav::-webkit-scrollbar { display: none; }
  #aitv-root .av-tab { flex: 0 0 auto; padding: 6px 12px; }
  /* hero */
  #aitv-root .av-cta { display: grid; grid-template-columns: minmax(0,1fr); }
  #aitv-root .av-vip { width: 100%; min-height: 58px; }
  #aitv-root .av-vip-t b { font-size: 16px; }
  #aitv-root .av-vip-p { margin-left: auto; }
  #aitv-root .av-hiw-btn { min-height: 50px !important; }
  #aitv-root .av-gwc-t { max-width: 46vw; }
  /* deals */
  #aitv-root .av-dz-t .av-dz-img, #aitv-root .av-dz.n1 .av-dz-img { flex-basis: 80px; width: 80px; height: 108px; }
  /* showcase */
  #aitv-root .av-show { padding-top: 64px; }
  #aitv-root .av-show-x { top: 12px; right: 12px; }
  /* view heads */
  #aitv-root .av-vhead { padding: 16px 0 10px; }
  #aitv-root .av-vh-card { flex-direction: column; align-items: flex-start; padding: 18px; }
  #aitv-root .av-vh-txt p { font-size: 14.5px; }
  /* bundle + how-it-works windows (bottom sheets) */
  #aitv-root .av-bw-foot, #aitv-root .av-hiw-foot { padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); }
  #aitv-root .av-bw-foot .av-fbtns { width: 100%; }
  #aitv-root .av-bw-foot .av-fbtns .av-btn { flex: 1 1 auto; }
  #aitv-root .av-bw-now { font-size: 24px; }
  #aitv-root .av-bminis { grid-template-columns: repeat(2, minmax(0,1fr)); }
  #aitv-root .av-bmini-b { padding: 10px; }
  #aitv-root .av-bmini h4 { font-size: 14px; }
  #aitv-root .av-bmini p { display: none; }
  #aitv-root .av-bmini-f { flex-wrap: wrap; }
  #aitv-root .av-hiw-foot > * { flex: 1 1 100%; justify-content: center; }
  #aitv-root .av-hiw-step { grid-template-columns: 44px minmax(0,1fr); }
  #aitv-root .av-hiw-ic { width: 44px; height: 44px; font-size: 17px; border-radius: 14px; }
  #aitv-root .av-hiw-list::before { left: 21px; }
  #aitv-root .av-hiw-n { left: 28px; }
  #aitv-root .av-hiw-demo { font-size: 11px; }
  /* groups */
  #aitv-root .av-group-h { padding: 10px; gap: 10px; min-height: 60px; }
  #aitv-root .av-group-emo { width: 40px; height: 40px; font-size: 16px; }
  #aitv-root .av-group-t { font-size: 15.5px; }
  #aitv-root .av-group-n { display: none; }
  #aitv-root .av-group-bi > .av-grid { padding: 4px 10px 12px; }
  /* shop promo */
  #aitv-root .av-shop-card { grid-template-columns: minmax(0,1fr); gap: 16px; padding: 22px 20px; border-radius: 22px; }
  #aitv-root .av-shop-btn { justify-content: center; }
  #aitv-root .av-shs-txt span { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
  #aitv-root .av-shs-go { padding: 9px 11px; }
  #aitv-root .av-shs-go { font-size: 0; gap: 0; } #aitv-root .av-shs-go i { font-size: 13px; }

  /* the phone bottom bar */
  #aitv-root .av-pbar {
    display: block; position: fixed; left: 10px; right: 10px; bottom: calc(10px + env(safe-area-inset-bottom)); z-index: 99950;
    border-radius: 20px; background: var(--glass); border: 1px solid var(--line); box-shadow: 0 16px 40px -14px rgba(var(--shc),.45);
    -webkit-backdrop-filter: saturate(1.5) blur(16px); backdrop-filter: saturate(1.5) blur(16px);
    transform: translateY(calc(100% + 24px)); transition: transform .4s cubic-bezier(.2,1,.3,1);
  }
  #aitv-root .av-pbar[hidden] { display: none; }
  #aitv-root.pbar-on .av-pbar { transform: none; }
  #aitv-root.pbar-on { --pbo: calc(72px + env(safe-area-inset-bottom)); }
  #aitv-root .av-pbar-in { display: flex; align-items: stretch; gap: 2px; padding: 5px; }
  #aitv-root .av-pb-btn {
    position: relative; flex: 1 1 0; min-width: 0; min-height: 50px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px;
    padding: 4px 2px; border: 0; border-radius: 14px; background: transparent; color: var(--ink-2); cursor: pointer; font: inherit; font-size: 11px; font-weight: 600; -webkit-tap-highlight-color: transparent;
  }
  #aitv-root .av-pb-btn:active { background: var(--bg-2); transform: scale(.96); }
  #aitv-root .av-pb-btn[aria-pressed="true"] { color: var(--accent-d); }
  #aitv-root .av-pb-ic { position: relative; font-size: 16px; line-height: 1; }
  #aitv-root .av-pb-l { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  #aitv-root .av-pb-dot { position: absolute; top: -3px; right: -7px; width: 8px; height: 8px; border-radius: 50%; background: var(--accent); border: 2px solid var(--surface); }
  #aitv-root .av-pb-sel select { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; font-size: 16px; -webkit-appearance: none; appearance: none; }
  #aitv-root .av-pb-count { flex: 0 0 auto; min-width: 56px; display: grid; place-content: center; text-align: center; padding: 0 8px; border-radius: 14px; background: var(--bg-2); line-height: 1.1; }
  #aitv-root .av-pb-count b { font-size: 16px; font-weight: 800; color: var(--ink); }
  #aitv-root .av-pb-count small { font-size: 10.5px; color: var(--muted); font-weight: 600; }
  /* the in-page bar keeps only search (everything else is in the bottom bar); the last row is never covered */
  #aitv-root.has-pbar .av-ctrl .av-ctrl-r, #aitv-root.has-pbar .av-ctrl .av-cn-mob { display: none; }
  #aitv-root.has-pbar .av-ctrl { padding: 6px; }
  #aitv-root.has-pbar .av-catwrap { padding-bottom: 78px; }

  /* floating layout plan (phones): bar at the bottom; widget (left) + rocket (right) ride above it;
     promo card, preview pill and toasts sit above those; giveaway pill under the header */
  #aitv-root .av-gd-fab, #aitv-root .av-gd-fab[data-place] { top: auto; right: auto; left: 12px; bottom: calc(14px + var(--pbo, 0px)); transform: none; transition: bottom .35s cubic-bezier(.2,.9,.3,1), opacity .2s; animation-name: av-rkin; }
  #aitv-root .av-gd-fab .av-gd-tab, #aitv-root .av-gd-fab[data-place] .av-gd-tab { width: 48px; height: 48px; padding: 0; place-items: center; border-radius: 50%; transform: none; font-size: 18px; box-shadow: 0 10px 24px -8px rgba(124,58,237,.6), 0 0 0 3px var(--surface); }
  #aitv-root .av-gd-fab .av-gd-tab::before, #aitv-root .av-gd-fab[data-place] .av-gd-tab::before { inset: 3px; border-radius: 50%; }
  #aitv-root .av-gd-fab .av-gd-tip { display: none; }
  #aitv-root .av-gd, #aitv-root .av-gd[data-side] { --x: 0; }
  #aitv-root .av-gd[data-side="right"] .av-gd-panel { left: 0; right: auto; border-radius: 0 22px 22px 0; transform: translateX(-104%); }
  #aitv-root .av-gd[data-side="right"].open .av-gd-panel { transform: none; }
  #aitv-root .av-rocket { right: 12px; bottom: calc(14px + var(--pbo, 0px)); width: 48px; height: 48px; font-size: 17px; }
  #aitv-root .av-floatwrap, #aitv-root[data-wplace] .av-floatwrap { left: 10px; right: 10px; bottom: calc(74px + var(--pbo, 0px)); transition: bottom .35s; }
  #aitv-root .av-preview-pill { bottom: calc(74px + var(--pbo, 0px)); }
  #aitv-root .av-toast { bottom: calc(74px + var(--pbo, 0px)); }
  /* the owner's preview pill keeps its spot; the promo card and toasts stack above it */
  #aitv-root.has-ppill .av-floatwrap, #aitv-root.has-ppill[data-wplace] .av-floatwrap, #aitv-root.has-ppill .av-toast { bottom: calc(134px + var(--pbo, 0px)); }
  #aitv-root .av-gwpill-wrap { top: calc(var(--hdr, 64px) + 8px); width: calc(100vw - 20px); }
  #aitv-root .av-gwpill { width: 100%; }
  #aitv-root .av-gwp-go { flex: 1 1 auto; }
  #aitv-root .av-gwp-t { flex: 1 1 auto; font-size: 13px; }
}
@media (max-width: 400px) {
  #aitv-root .av-vip-t small { display: none; }
  #aitv-root .av-vip { gap: 10px; }
  #aitv-root .av-vip-crown { width: 38px; height: 38px; }
  #aitv-root .av-gwp-cta { padding: 6px 9px; }
}

/* ---------- reduced motion (OS setting or the visitor's switch): every 1.4 animation goes still ---------- */
#aitv-root.av-rm .av-bdg::after, #aitv-root.av-rm .av-vip, #aitv-root.av-rm .av-vip-shine, #aitv-root.av-rm .av-vip-crown i, #aitv-root.av-rm .av-gd-ring,
#aitv-root.av-rm .av-gwc-ico, #aitv-root.av-rm .av-gwp-ico, #aitv-root.av-rm .av-shop-fx, #aitv-root.av-rm .av-shop-art i, #aitv-root.av-rm .av-vh-fx, #aitv-root.av-rm .av-vh-ico i,
#aitv-root.av-rm .av-hd-btn, #aitv-root.av-rm .av-hd-txt, #aitv-root.av-rm .av-hd-key, #aitv-root.av-rm[data-cfx] .av-card, #aitv-root.av-rm[data-cfx] .av-card::after,
#aitv-root.av-rm[data-cfx] .av-cover::after, #aitv-root.av-rm .av-fxp *, #aitv-root.av-rm .av-fxp *::after, #aitv-root.av-rm .av-rocket i, #aitv-root.av-rm .av-rk-trail { animation: none !important; }
#aitv-root.av-rm .av-vip-shine, #aitv-root.av-rm[data-cfx="glass"] .av-cover::after { display: none; }
#aitv-root.av-rm .av-hiw-step, #aitv-root.av-rm .av-bmini { opacity: 1; animation: none; }
#aitv-root.av-rm .av-group-b { transition: none; }
@media (prefers-reduced-motion: reduce) {
  #aitv-root .av-bdg::after, #aitv-root .av-vip, #aitv-root .av-vip-shine, #aitv-root .av-vip-crown i, #aitv-root .av-gd-ring, #aitv-root .av-gwc-ico, #aitv-root .av-gwp-ico,
  #aitv-root .av-shop-fx, #aitv-root .av-shop-art i, #aitv-root .av-vh-fx, #aitv-root .av-vh-ico i, #aitv-root .av-hd-btn, #aitv-root .av-hd-txt, #aitv-root .av-hd-key,
  #aitv-root[data-cfx] .av-card, #aitv-root[data-cfx] .av-card::after, #aitv-root[data-cfx] .av-cover::after, #aitv-root .av-fxp *, #aitv-root .av-fxp *::after,
  #aitv-root .av-rocket, #aitv-root .av-rocket i, #aitv-root .av-rk-trail, #aitv-root .av-gd-fab, #aitv-root .av-fan { animation: none !important; }
  #aitv-root .av-vip-shine, #aitv-root[data-cfx="glass"] .av-cover::after { display: none; }
  #aitv-root .av-hiw-step, #aitv-root .av-bmini { opacity: 1; animation: none; }
  #aitv-root .av-group-b { transition: none; }
}
/* phones: a whole card fits between the header and the bottom bar */
@media (max-width: 640px) {
  #aitv-root.has-pbar .av-cover, #aitv-root.has-pbar .av-card:not(.has-cover) .av-card-top { max-height: calc(100svh - var(--hdr, 64px) - 32px - var(--info) - 76px); }
}
/* 4 deals where 4 do not fit in one row: a tidy 2 x 2 instead of 3 + 1 */
@media (min-width: 761px) and (max-width: 1180px) {
  #aitv-root .av-dz.n4 .av-dz-t, #aitv-root .av-dz.n4 .av-dz-t:not(.is-lead) { flex: 0 1 calc(50% - 7px); max-width: 380px; }
}
/* free tools that are already open (signed in): no lock / gift chip on the emoji */
#aitv-root .av-card.is-free:not(.is-locked) .av-emo::after, #aitv-root .av-card.is-free:not(.is-locked) .av-strip-emo::after { content: none; display: none; }

/* =====================================================================================================
   1.5.1 — one real search field in the header + one spacing rhythm for the whole page
   ===================================================================================================== */

/* ---------- spacing scale (every section gap and hero gap comes from these) ---------- */
#aitv-root {
  --s1: 4px; --s2: 8px; --s3: 12px; --s4: 16px; --s5: 20px; --s6: 24px; --s7: 32px; --s8: 40px;
  --top: clamp(28px, 1.6vw + 16px, 40px);   /* header (or banner) -> first block */
  --sec: clamp(40px, 2.4vw + 22px, 56px);   /* between two page sections */
  --hgap: 18px;                              /* inside the hero: CTA row <-> small links <-> trust badges */
}
@media (max-width: 640px) { #aitv-root { --top: 22px; --sec: 36px; --hgap: 16px; } }

/* ---------- header search: always visible, icon inside, "/" hint, clear button ---------- */
#aitv-root .av-tb { gap: 16px; }
#aitv-root .av-nav { flex-shrink: 0; }
#aitv-root .av-hsearch {
  position: relative; display: block; flex: 1 1 360px; min-width: 220px; max-width: 460px; height: 42px; margin-left: auto;
}
#aitv-root .av-hsearch + .av-tb-r { margin-left: 0; flex-shrink: 0; }
#aitv-root .av-hs-in {
  display: block; width: 100%; height: 100%; min-width: 0; margin: 0; padding: 0 46px 0 42px;
  border: 1.5px solid var(--line-2); border-radius: 999px; background: var(--surface); color: var(--ink);
  font: inherit; font-size: 14.5px; font-weight: 500; line-height: normal; letter-spacing: 0; outline: none; text-overflow: ellipsis;
  box-shadow: 0 1px 2px rgba(var(--shc),.05); -webkit-appearance: none; appearance: none;
  transition: border-color .2s, box-shadow .25s, background-color .2s;
}
#aitv-root .av-hs-in::-webkit-search-cancel-button, #aitv-root .av-hs-in::-webkit-search-decoration { -webkit-appearance: none; appearance: none; display: none; }
#aitv-root .av-hs-in::placeholder { color: var(--muted); opacity: 1; font-weight: 500; }
#aitv-root .av-hs-in:hover { border-color: var(--faint); }
#aitv-root .av-hs-in:focus { border-color: var(--accent); box-shadow: 0 0 0 4px rgba(255,90,31,.16), 0 8px 22px -12px rgba(var(--shc),.35); }
#aitv-root .av-hs-btn {
  position: absolute; left: 5px; top: 50%; z-index: 1; width: 34px; height: 34px; padding: 0; transform: translateY(-50%);
  display: grid; place-items: center; border: 0; border-radius: 50%; background: transparent; color: var(--muted); font-size: 15px; cursor: pointer; transition: color .2s;
}
#aitv-root .av-hs-btn:hover, #aitv-root .av-hsearch:focus-within .av-hs-btn { color: var(--accent); }
#aitv-root .av-hs-kbd {
  position: absolute; right: 12px; top: 50%; transform: translateY(-50%); display: none; place-items: center; min-width: 22px; height: 22px; padding: 0 6px;
  border: 1px solid var(--line-2); border-bottom-width: 2px; border-radius: 6px; background: var(--bg-2); color: var(--muted);
  font: 700 12px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; pointer-events: none;
}
@media (hover: hover) and (pointer: fine) { #aitv-root .av-hs-in:placeholder-shown:not(:focus) ~ .av-hs-kbd { display: grid; } }
#aitv-root .av-hs-x {
  position: absolute; right: 5px; top: 50%; width: 32px; height: 32px; padding: 0; transform: translateY(-50%);
  display: grid; place-items: center; border: 0; border-radius: 50%; background: var(--bg-2); color: var(--ink-2); font-size: 13px; cursor: pointer;
  transition: background-color .15s, color .15s;
}
#aitv-root .av-hs-x:hover { background: var(--inv); color: var(--on-inv); }
#aitv-root .av-hs-in:placeholder-shown ~ .av-hs-x { display: none; }

/* not enough room for one row: step 1 (JS adds .is-tight) */
#aitv-root .av-tb.is-tight .av-tab i { display: none; }
#aitv-root .av-tb.is-tight .av-tab { padding: 6px 11px; }
#aitv-root .av-tb.is-tight .av-chip-name, #aitv-root .av-tb.is-tight .av-rf-hdr-l { display: none; }
#aitv-root .av-tb.is-tight .av-chip { padding: 3px; }
/* step 2 (.is-wrap) and every screen <= 1100px: logo + search + icons, the tabs on a second row */
#aitv-root .av-tb.is-wrap { flex-wrap: wrap; gap: 0 14px; min-height: 0; padding-top: 10px; padding-bottom: 10px; }
#aitv-root .av-tb.is-wrap .av-nav { order: 3; flex: 1 1 100%; margin-top: 10px; gap: 2px; }
#aitv-root .av-tb.is-wrap .av-tab { flex: 1 1 0; justify-content: center; padding: 6px 6px; min-width: 0; }
#aitv-root .av-tb.is-wrap .av-hsearch { max-width: 560px; }
@media (max-width: 1100px) {
  #aitv-root .av-tb { gap: 0 14px; }
  #aitv-root .av-hsearch { flex: 1 1 260px; min-width: 0; max-width: 560px; }
}
/* phones and small tablets: the search gets its own full-width row right under the logo row */
@media (max-width: 768px) {
  #aitv-root .av-tb { flex-wrap: wrap; gap: 0 10px; min-height: 0; padding-top: 10px; padding-bottom: 10px; }
  #aitv-root .av-tb-r, #aitv-root .av-hsearch + .av-tb-r { order: 1; margin-left: auto; }
  #aitv-root .av-hsearch { order: 2; flex: 1 1 100%; max-width: none; min-width: 0; height: 44px; margin: 10px 0 0; }
  #aitv-root .av-hs-in { font-size: 16px; } /* 16px: phones do not zoom into the field */
  #aitv-root .av-nav { order: 3; flex: 1 1 100%; margin-top: 10px; }
  html.aitv-html { scroll-padding-top: 200px; }
}

/* ---------- results line in the grid bar (replaces the old second search box) ---------- */
#aitv-root .av-qinfo { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 0 8px; font-size: 14px; color: var(--muted); }
#aitv-root .av-qinfo:empty { display: none; }
#aitv-root .av-qi-t { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#aitv-root .av-qinfo b { color: var(--ink); font-weight: 700; }
#aitv-root .av-qinfo q { color: var(--ink); font-weight: 600; quotes: '\201C' '\201D'; }
#aitv-root .av-qi-x {
  flex-shrink: 0; display: inline-flex; align-items: center; gap: 6px; min-height: 30px; padding: 0 12px; border: 0; border-radius: 999px; cursor: pointer;
  background: var(--accent-soft); color: var(--accent-d); font: inherit; font-size: 12.5px; font-weight: 700; transition: background-color .15s, color .15s;
}
#aitv-root .av-qi-x:hover { background: var(--accent); color: #fff; }
#aitv-root .av-noq h3 q { quotes: '\201C' '\201D'; color: var(--accent-d); }
#aitv-root .av-noq .av-row { justify-content: center; gap: 10px; flex-wrap: wrap; }
@media (max-width: 640px) {
  #aitv-root.has-pbar .av-ctrl { padding: 2px 0; background: transparent; border-color: transparent; box-shadow: none; }
  #aitv-root.has-pbar .av-qinfo { padding: 0 2px; }
}

/* ---------- page rhythm: header -> hero -> deals -> showcase -> store (title, bar, menu + grid) -> shop -> giveaways -> footer ---------- */
#aitv-root .av-hero { padding: var(--top) 0 var(--sec); }
#aitv-root .av-kick-row { margin-bottom: var(--s4); }
#aitv-root .av-hero p { margin-top: 14px; }
#aitv-root .av-cta { margin-top: var(--s6); }
#aitv-root .av-hlinks { margin-top: calc(var(--hgap) - 4px); gap: 4px 20px; }   /* links carry 4px padding */
#aitv-root .av-trust-row, #aitv-root .av-hlinks + .av-trust-row { margin-top: calc(var(--hgap) - 4px); }
#aitv-root .av-cta + .av-trust-row { margin-top: var(--hgap); }
#aitv-root .av-dz-sec { padding-top: 0; padding-bottom: var(--sec); }
#aitv-root .av-dz-head { margin-bottom: var(--s4); }
#aitv-root .av-show-sec { padding-top: 0; padding-bottom: var(--sec); }
#aitv-root .av-section { padding-top: 0; padding-bottom: var(--sec); }
#aitv-root .av-pre:not(:empty) { margin-bottom: var(--s7); }
#aitv-root .av-shead { margin: 0 0 var(--s5); }
#aitv-root .av-ctrl { margin-bottom: var(--s5); }
#aitv-root .av-catalog { gap: var(--s6); }
#aitv-root .av-more { margin-top: var(--s8); }
#aitv-root .av-shop-slim-sec { padding-top: 0; padding-bottom: var(--sec); }
#aitv-root .av-gw-sec { padding-top: 0; padding-bottom: var(--sec); }
#aitv-root .av-shop-foot { padding-top: var(--s8); }
/* the first block under the header always gets the same top space (hero hidden, other views) */
#aitv-root .av-main > .av-dz-sec:first-child, #aitv-root .av-main > .av-show-sec:first-child, #aitv-root .av-main > .av-section:first-child { padding-top: var(--top); }

/* ---------- 1.5.1 menu pages (pages ticked "Menu"): visible links, a labelled Help menu, phone tab row ---------- */
#aitv-root .av-gw-sec .av-gws { margin-bottom: 0; }
#aitv-root .av-helpm-l { display: inline; }
#aitv-root .av-helpm-b { gap: 7px; padding: 0 12px; border: 1px solid var(--line); background: var(--surface); }
#aitv-root .av-helpm-b:hover { border-color: var(--line-2); }
#aitv-root .av-helpm-chev { font-size: 10px; opacity: .7; transition: transform .25s cubic-bezier(.2,1.4,.4,1); }
#aitv-root .av-helpm.is-open .av-helpm-chev { transform: rotate(180deg); }
#aitv-root .av-helpm.is-open .av-helpm-b { border-color: var(--accent-line); }
#aitv-root .av-tab-pg, #aitv-root .av-nav-sep { display: none; }
#aitv-root .av-subnav { display: none; }
@media (min-width: 1280px) {
  #aitv-root .av-subnav { display: block; border-top: 1px solid var(--line); }
  #aitv-root .av-tb.has-sub .av-helpm { display: none; }
}
#aitv-root .av-sn-in { display: flex; align-items: center; gap: 2px; min-height: 42px; overflow: hidden; }
#aitv-root .av-sn-a {
  display: inline-flex; align-items: center; gap: 8px; flex-shrink: 0; padding: 6px 13px; border: 0; border-radius: 999px; background: none; cursor: pointer;
  font: inherit; font-size: 13.5px; font-weight: 600; color: var(--ink-2); white-space: nowrap; text-decoration: none; transition: background-color .15s, color .15s;
}
#aitv-root .av-sn-a:first-child { margin-left: -13px; }
#aitv-root .av-sn-a i { color: var(--accent); font-size: 12.5px; transition: transform .25s cubic-bezier(.2,1.6,.4,1); }
#aitv-root .av-sn-a:hover { background: var(--bg-2); color: var(--ink); text-decoration: none; }
#aitv-root .av-sn-a:hover i { transform: rotate(-10deg) scale(1.12); }
#aitv-root .av-sn-a[aria-current="page"] { background: var(--accent-soft); color: var(--accent-d); }
/* phones and small tablets: the pages ride at the end of the swipeable tab row; no Help button in the crowded top row */
@media (max-width: 768px) {
  #aitv-root .av-helpm { display: none; }
  #aitv-root .av-nav.has-pg { overflow-x: auto; scrollbar-width: none; -ms-overflow-style: none; justify-content: flex-start;
    -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 26px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 26px), transparent); }
  #aitv-root .av-nav.has-pg::-webkit-scrollbar { display: none; }
  #aitv-root .av-nav.has-pg .av-tab { flex: 0 0 auto; padding: 6px 12px; }
  #aitv-root .av-tab-pg { display: inline-flex; text-decoration: none; }
  #aitv-root .av-tab-pg i { display: inline-block !important; color: var(--accent); }
  #aitv-root .av-tab-pg[aria-current="page"] { background: var(--surface); color: var(--ink); }
  #aitv-root .av-nav-sep { display: block; flex: 0 0 1px; align-self: stretch; margin: 6px 6px; background: var(--line-2); }
  #aitv-root.has-pbar .av-catwrap { padding-bottom: calc(78px - var(--sec)); }
}

/* ================= 1.8.0 Easy sign-in (Google, password, email link, account page) ================= */
#aitv-root button.av-chip { cursor: pointer; font-family: inherit; line-height: 1.2; transition: border-color .15s, box-shadow .15s; }
#aitv-root button.av-chip:hover { border-color: var(--line-2); box-shadow: var(--sh-1); }
#aitv-root button.av-chip:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
#aitv-root .av-authc { max-width: 440px; margin: 0 auto; width: 100%; }
#aitv-root .av-authc h2 { margin-top: 2px; }
/* Google button: Google branding (white, 1px grey border, full-colour G, "Continue with Google"). */
#aitv-root .av-gbtn { display: flex; align-items: center; justify-content: center; gap: 12px; width: 100%; min-height: 52px; padding: 0 18px; border-radius: 12px; background: #fff; color: #1f1f1f; border: 1px solid #747775; font-family: 'Roboto', 'Poppins', system-ui, sans-serif; font-weight: 600; font-size: 15.5px; letter-spacing: .1px; text-decoration: none; box-shadow: 0 1px 2px rgba(60,64,67,.12); transition: background-color .15s, box-shadow .2s, transform .15s; }
#aitv-root .av-gbtn:hover { background: #f8faff; box-shadow: 0 2px 8px rgba(60,64,67,.18); transform: translateY(-1px); color: #1f1f1f; }
#aitv-root .av-gbtn:focus-visible { outline: 3px solid #4285f4; outline-offset: 2px; }
#aitv-root .av-gbtn.is-busy { opacity: .75; pointer-events: none; }
#aitv-root .av-gico { width: 20px; height: 20px; flex-shrink: 0; }
#aitv-root .av-or { display: flex; align-items: center; gap: 12px; margin: 18px 0; color: var(--muted); font-size: 12.5px; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; }
#aitv-root .av-or::before, #aitv-root .av-or::after { content: ''; flex: 1; height: 1px; background: var(--line); }
/* Sign in / Create account segmented tabs with a sliding indicator. */
#aitv-root .av-atabs { position: relative; display: grid; grid-template-columns: 1fr 1fr; padding: 4px; margin-bottom: 22px; background: var(--soft); border: 1px solid var(--line); border-radius: 14px; }
#aitv-root .av-atab { position: relative; z-index: 1; min-height: 42px; border: 0; background: none; border-radius: 10px; font: inherit; font-weight: 600; font-size: 14.5px; color: var(--muted); cursor: pointer; transition: color .2s; }
#aitv-root .av-atab[aria-selected="true"] { color: var(--ink); }
#aitv-root .av-atab:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
#aitv-root .av-atab-ind { position: absolute; top: 4px; bottom: 4px; left: 4px; width: calc(50% - 4px); border-radius: 10px; background: var(--surface); box-shadow: var(--sh-1); transition: transform .3s var(--ease); }
#aitv-root .av-atabs[data-on="signup"] .av-atab-ind { transform: translateX(100%); }
/* Floating labels. */
#aitv-root .av-ffl { position: relative; margin-bottom: 14px; }
#aitv-root .av-ffl .av-input { height: 56px; padding: 22px 14px 6px; font-size: 16px; }
#aitv-root .av-ffl.has-eye .av-input { padding-right: 52px; }
#aitv-root .av-ffl label { position: absolute; left: 15px; top: 17px; font-size: 15.5px; color: var(--muted); pointer-events: none; transform-origin: 0 0; transition: transform .18s var(--ease), color .18s; white-space: nowrap; max-width: calc(100% - 60px); overflow: hidden; text-overflow: ellipsis; }
#aitv-root .av-ffl .av-input:focus + label, #aitv-root .av-ffl .av-input:not(:placeholder-shown) + label, #aitv-root .av-ffl .av-input:-webkit-autofill + label { transform: translateY(-10px) scale(.78); color: var(--ink-2); }
#aitv-root .av-ffl .av-input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 4px rgba(255,90,31,.14); }
#aitv-root .av-ffl .av-input:focus + label { color: var(--accent-d); }
#aitv-root .av-ffl .av-input.is-bad + label { color: var(--sale); }
#aitv-root .av-ferr { margin: 6px 2px 0; min-height: 0; font-size: 13px; font-weight: 500; color: var(--sale); }
#aitv-root .av-ferr:empty { display: none; }
#aitv-root .av-pweye { position: absolute; right: 6px; top: 6px; width: 44px; height: 44px; display: grid; place-items: center; border: 0; background: none; color: var(--muted); border-radius: 10px; cursor: pointer; font-size: 16px; }
#aitv-root .av-pweye:hover { color: var(--ink); background: var(--soft); }
#aitv-root .av-pweye:focus-visible { outline: 2px solid var(--accent); }
/* Password strength. */
#aitv-root .av-meter { display: grid; grid-template-columns: repeat(4, 1fr); gap: 5px; margin: 9px 2px 0; }
#aitv-root .av-meter i { display: block; width: auto; height: 4px; padding: 0; margin: 0; border-radius: 4px; background: var(--line); transition: background-color .25s; }
#aitv-root .av-meter[data-s="1"] i:nth-child(-n+1) { background: var(--sale); }
#aitv-root .av-meter[data-s="2"] i:nth-child(-n+2) { background: #f59e0b; }
#aitv-root .av-meter[data-s="3"] i:nth-child(-n+3) { background: #22c55e; }
#aitv-root .av-meter[data-s="4"] i { background: var(--ok); }
#aitv-root .av-meter-t { display: block; padding: 0; text-indent: 0; text-align: left; margin: 5px 2px 0; font-size: 12.5px; color: var(--muted); }
#aitv-root .av-meter-t[data-s="1"] { color: var(--sale); }
#aitv-root .av-pwrow { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin: 2px 0 14px; }
#aitv-root .av-pwrow .av-check, #aitv-root .av-remember { margin: 0; }
#aitv-root .av-remember { margin: 0 0 16px; }
#aitv-root .av-linkalt { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; margin-top: 18px; text-decoration: none; color: var(--ink-2); font-size: 14px; min-height: 44px; border-top: 1px solid var(--line); padding-top: 16px; border-radius: 0; }
#aitv-root .av-linkalt:hover { color: var(--accent-d); }
#aitv-root .av-linkalt i, #aitv-root .av-authback i { color: var(--accent); }
#aitv-root .av-authback { display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; }
#aitv-root .av-mailico { width: 56px; height: 56px; border-radius: 16px; display: grid; place-items: center; background: var(--accent-soft); color: var(--accent); font-size: 24px; margin-bottom: 14px; animation: av-zoom .5s cubic-bezier(.2,1.3,.4,1) both; }
#aitv-root .av-spamtip { display: flex; gap: 10px; align-items: flex-start; font-size: 13.5px; }
#aitv-root .av-msg.ok { background: var(--ok-soft); border-color: var(--ok-line); color: var(--ok-ink); }
#aitv-root .av-msg a { color: inherit; font-weight: 700; text-decoration: underline; }
#aitv-root .av-altauth { display: flex; flex-wrap: wrap; gap: 6px 18px; justify-content: center; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line); }
#aitv-root .av-shake1 { animation: av-shake .4s; }
/* Success state. */
#aitv-root .av-btn.is-ok { background: var(--ok); border-color: var(--ok); color: #fff; }
#aitv-root .av-okpop { animation: av-zoom .45s cubic-bezier(.2,1.5,.4,1) both; }
#aitv-root .av-authc.is-done { animation: av-done .5s var(--ease) both; }
@keyframes av-done { 50% { transform: scale(1.015); } 100% { transform: none; } }
/* Confirm-your-email bar. */
#aitv-root .av-cfbar-w { padding-top: 16px; }
#aitv-root .av-cfbar { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; padding: 14px 18px; border-radius: var(--r-md); background: var(--warn-soft); border: 1px solid var(--warn-line); color: var(--ink); }
#aitv-root .av-cfbar > i { font-size: 22px; color: var(--accent); }
#aitv-root .av-cfbar-t { flex: 1 1 260px; display: grid; gap: 2px; font-size: 14px; }
#aitv-root .av-cfbar-t span { color: var(--ink-2); }
/* My account. */
#aitv-root .av-acct { padding-top: 36px; padding-bottom: 72px; }
#aitv-root .av-acct-h { font-size: clamp(28px, 3vw, 38px); font-weight: 700; letter-spacing: -.03em; margin: 6px 0 22px; }
#aitv-root .av-acct-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr)); gap: 20px; align-items: start; }
#aitv-root .av-acct-c { border: 1px solid var(--line); border-radius: var(--r); padding: 26px; box-shadow: var(--sh-1); }
#aitv-root .av-acct-c h2 { font-size: 19px; display: flex; gap: 10px; align-items: center; }
#aitv-root .av-acct-c h2 i { color: var(--accent); }
#aitv-root .av-acct-dl { display: grid; grid-template-columns: auto 1fr; gap: 8px 18px; margin: 14px 0 20px; font-size: 14.5px; }
#aitv-root .av-acct-dl dt { color: var(--muted); }
#aitv-root .av-acct-dl dd { margin: 0; word-break: break-word; }
#aitv-root .av-acct-sub { font-size: 14px; font-weight: 700; margin: 0 0 10px; }
#aitv-root .av-acct-ways { list-style: none; display: grid; gap: 8px; margin: 0 0 6px; padding: 0; }
#aitv-root .av-acct-ways li { display: flex; align-items: center; gap: 10px; font-size: 14.5px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--soft); }
#aitv-root .av-acct-ways li > i, #aitv-root .av-acct-ways .av-gico { width: 18px; color: var(--accent); text-align: center; }
#aitv-root .av-acct-ways li > span { margin-left: auto; }
#aitv-root .av-pill-ok, #aitv-root .av-pill-off, #aitv-root .av-pill-warn { display: inline-flex; align-items: center; gap: 5px; padding: 2px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; white-space: nowrap; }
#aitv-root .av-pill-ok { background: var(--ok-soft); color: var(--ok-ink); }
#aitv-root .av-pill-off { background: var(--surface); color: var(--muted); border: 1px solid var(--line); }
#aitv-root .av-pill-warn { background: var(--warn-soft); color: var(--ink); border: 1px solid var(--warn-line); }
#aitv-root .av-acct-c .av-btn[data-act="logout"] { margin-top: 10px; }
/* Phones: the sign-in card is a bottom sheet. */
@media (max-width: 640px) {
  #aitv-root .av-signin { padding-bottom: 0; }
  #aitv-root .av-split { border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
  #aitv-root .av-split-r { padding: 0; background: transparent; }
  #aitv-root .av-authsheet { position: relative; margin-top: -14px; padding: 26px 18px 28px; background: var(--surface); border-radius: 22px 22px 0 0; box-shadow: 0 -10px 30px rgba(var(--shc),.10); animation: av-authsheet .45s var(--ease) both; }
  #aitv-root .av-authsheet::before { content: ''; display: block; width: 44px; height: 5px; border-radius: 5px; background: var(--line-2); margin: -12px auto 18px; }
  #aitv-root .av-split-r > .av-back { margin: 0 18px 22px; }
  #aitv-root .av-gbtn { min-height: 54px; }
  #aitv-root .av-acct-c { padding: 20px 16px; }
}
@keyframes av-authsheet { from { transform: translateY(40px); opacity: 0; } to { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  #aitv-root .av-authsheet, #aitv-root .av-mailico, #aitv-root .av-okpop, #aitv-root .av-authc.is-done, #aitv-root .av-shake1 { animation: none; }
  #aitv-root .av-atab-ind, #aitv-root .av-ffl label { transition: none; }
}
#aitv-root.av-rm .av-authsheet, #aitv-root.av-rm .av-mailico, #aitv-root.av-rm .av-okpop, #aitv-root.av-rm .av-authc.is-done { animation: none; }
/* ================= 1.8.1 Strict sign-up: smart tab + helpers ================= */
#aitv-root .av-wb { display: flex; align-items: center; gap: 12px; margin: 0 0 16px; padding: 12px 14px; border-radius: 14px; background: var(--accent-soft); border: 1px solid var(--accent-line); color: var(--ink); font-size: 14px; line-height: 1.45; animation: av-wbin .4s var(--ease) both; }
#aitv-root .av-wb-ico { flex-shrink: 0; width: 36px; height: 36px; border-radius: 11px; display: grid; place-items: center; background: var(--surface); border: 1px solid var(--line); color: var(--accent); font-size: 15px; }
#aitv-root .av-wb-ico .av-gico { width: 18px; height: 18px; }
#aitv-root .av-wb-t { min-width: 0; }
#aitv-root .av-wb-e { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 10px; margin-top: 2px; color: var(--ink-2); font-size: 13px; word-break: break-all; }
#aitv-root .av-wb-e .av-link { font-size: 13px; font-weight: 700; padding: 0; min-height: 0; }
#aitv-root .av-gbtn { position: relative; }
#aitv-root .av-gbtn-last { position: absolute; top: -9px; right: 12px; padding: 1px 9px; border-radius: 999px; background: var(--accent); color: #fff; font-style: normal; font-family: 'Poppins', system-ui, sans-serif; font-size: 11px; font-weight: 700; letter-spacing: .02em; box-shadow: 0 2px 6px rgba(var(--shc),.18); }
#aitv-root .av-consentbox { margin: 0 0 14px; }
#aitv-root .av-fsug, #aitv-root .av-caps { margin: 6px 2px 0; font-size: 13px; font-weight: 500; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
#aitv-root .av-fsug:empty, #aitv-root .av-caps:empty { display: none; }
#aitv-root .av-fsug { color: var(--ink-2); }
#aitv-root .av-fsug i { color: var(--accent); }
#aitv-root .av-fixmail { padding: 0; min-height: 0; font-size: 13px; font-weight: 700; text-decoration: underline; color: var(--accent-d); word-break: break-all; }
#aitv-root .av-caps { color: var(--ink-2); font-weight: 600; } #aitv-root .av-caps i { color: var(--gold); }
#aitv-root .av-switch { margin: 14px 0 0; text-align: center; font-size: 14px; color: var(--muted); }
#aitv-root .av-switch .av-link, #aitv-root .av-errlink { padding: 0; min-height: 0; font-weight: 700; color: var(--accent-d); text-decoration: underline; }
#aitv-root .av-msg .av-errlink { color: inherit; }
#aitv-root .av-terms { margin-top: 8px; }
#aitv-root .av-cf-tip { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--ink-2); }
#aitv-root .av-cf-tip i { color: var(--accent); }
#aitv-root .av-cf-act { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; font-size: 13px; color: var(--ink-2); }
#aitv-root .av-cf-resend, #aitv-root #av-cf-resend { min-width: 120px; }
#aitv-root #av-cf-resend:disabled { opacity: .7; cursor: default; }
@keyframes av-wbin { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
@media (max-width: 640px) {
  #aitv-root .av-wb { padding: 10px 12px; }
  #aitv-root .av-cf-act { width: 100%; justify-content: space-between; }
}
@media (prefers-reduced-motion: reduce) { #aitv-root .av-wb { animation: none; } }
#aitv-root.av-rm .av-wb { animation: none; }
/* 1.8.1 "Remember me" nudge for returning browsers that did not tick it last time. */
#aitv-root .av-remember.av-nudge { position: relative; border-radius: 10px; padding: 4px 8px 4px 4px; margin: -4px 0 -4px -4px; box-shadow: 0 0 0 2px var(--accent-line); animation: av-rmpulse 1.1s var(--ease) 3; }
#aitv-root .av-rm-tip { order: 3; flex: 1 0 100%; display: flex; align-items: flex-start; gap: 7px; margin: 2px 0 0; padding: 8px 11px; border-radius: 10px; background: var(--accent-soft); border: 1px solid var(--accent-line); color: var(--ink); font-size: 13px; line-height: 1.4; animation: av-wbin .35s var(--ease) both; }
#aitv-root .av-rm-tip i { color: var(--accent); margin-top: 2px; }
#aitv-root .av-rm-tip.is-ok { background: var(--ok-soft); border-color: var(--ok-line); }
#aitv-root .av-rm-tip.is-ok i { color: var(--ok); }
@keyframes av-rmpulse { 0% { box-shadow: 0 0 0 2px var(--accent-line), 0 0 0 0 rgba(255,90,31,.45); } 70% { box-shadow: 0 0 0 2px var(--accent-line), 0 0 0 10px rgba(255,90,31,0); } 100% { box-shadow: 0 0 0 2px var(--accent-line), 0 0 0 0 rgba(255,90,31,0); } }
@media (prefers-reduced-motion: reduce) { #aitv-root .av-remember.av-nudge, #aitv-root .av-rm-tip { animation: none; } }
#aitv-root.av-rm .av-remember.av-nudge, #aitv-root.av-rm .av-rm-tip { animation: none; }