/* Shared product-page design system (scoped under #tt). Reference page: ai-recommendations.html */
/* neutralize global heading/paragraph rules from style.css & custom.css inside this page */
#tt :where(h1,h2,h3,h4,h5,h6){color:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit;margin:0}
#tt :where(p){color:inherit;font-size:inherit;line-height:inherit;margin:0}
#tt :where(ul){margin:0}
#tt .tt-hero-grid>*,#tt .tt-split>*,#tt .tt-type>*,#tt .tt-fw>*,#tt .tt-faq-grid>*,#tt .tt-app>*,#tt .tt-steps>*,#tt .tt-why-grid>*,#tt .tt-related>*,#tt .tt-bento>*,#tt .tt-cmp-row>*,#tt .tt-fw-tabs>*,#tt .tt-fw-panel>*{min-width:0}
/* ═══════════ TrueTrace product page — scoped with tt- prefix ═══════════ */
:root{
  --tt-ink:#071a0e; --tt-ink-2:#0d2818; --tt-ink-3:#12301f; --tt-mint:#4ade80;
  --tt-violet:#7c3aed; --tt-violet-2:#6d28d9; --tt-violet-soft:#ede9fe; --tt-lilac:#c4b5fd;
  --tt-green:#16a34a; --tt-green-soft:#dcfce7; --tt-amber:#d97706; --tt-amber-soft:#fef3c7; --tt-red:#dc2626;
  --tt-text:#0f172a; --tt-muted:#475569; --tt-faint:#94a3b8; --tt-line:rgba(15,23,42,.08); --tt-bg-soft:#f7f7fb;
  --tt-radius:20px; --tt-shadow:0 1px 2px rgba(15,23,42,.04),0 12px 32px -8px rgba(15,23,42,.10);
  --tt-shadow-lg:0 2px 4px rgba(15,23,42,.04),0 40px 80px -20px rgba(15,23,42,.25);
}
#tt{font-family:'Inter',system-ui,-apple-system,sans-serif;color:var(--tt-text);-webkit-font-smoothing:antialiased}
#tt *{box-sizing:border-box}
#tt .tt-wrap{max-width:1200px;margin:0 auto;padding:0 24px}
#tt .tt-serif{font-family:inherit;font-style:normal;font-weight:inherit;letter-spacing:inherit}
#tt .tt-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--tt-violet-2)}
#tt .tt-eyebrow::before{content:"";width:18px;height:2px;border-radius:2px;background:currentColor;opacity:.6}
#tt .tt-h2{font-size:clamp(1.9rem,3.8vw,2.9rem);line-height:1.08;font-weight:600;letter-spacing:-.025em;margin:14px 0 16px}
#tt .tt-lead{font-size:1.075rem;line-height:1.7;color:var(--tt-muted);max-width:640px}
#tt .tt-center{text-align:center}#tt .tt-center .tt-lead{margin-left:auto;margin-right:auto}
#tt .tt-section{padding:112px 0}
#tt .tt-btn{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:.98rem;padding:14px 24px;border-radius:12px;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;white-space:nowrap}
#tt .tt-btn:hover{transform:translateY(-1px)}
#tt .tt-btn--primary{background:#16a34a;color:#fff;box-shadow:0 10px 30px -8px rgba(22,163,74,.55)}
#tt .tt-btn--primary:hover{background:#15803d;box-shadow:0 16px 40px -8px rgba(22,163,74,.7)}
#tt .tt-btn--ghost{color:#e2e8f0;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04)}
#tt .tt-btn--ghost:hover{background:rgba(255,255,255,.08)}
#tt .tt-btn--dark{background:var(--tt-ink);color:#fff}
#tt .tt-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ── HERO ── */
#tt .tt-hero{position:relative;background:var(--tt-ink);color:#fff;padding:150px 0 0;overflow:hidden;isolation:isolate}
#tt .tt-hero::before{content:"";position:absolute;inset:0;z-index:-1;
  background:
    radial-gradient(60% 50% at 78% 18%,rgba(74,222,128,.14),transparent 70%),
    radial-gradient(40% 40% at 10% 30%,rgba(22,163,74,.12),transparent 70%),
    radial-gradient(50% 40% at 50% 100%,rgba(13,40,24,.9),transparent 70%)}
#tt .tt-hero::after{content:"";position:absolute;inset:0;z-index:-1;opacity:.35;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:56px 56px;mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000 30%,transparent 80%);-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 30%,#000 30%,transparent 80%)}
#tt .tt-hero-grid{display:grid;grid-template-columns:1.02fr 1fr;gap:56px;align-items:center}
#tt .tt-pill{display:inline-flex;align-items:center;gap:10px;padding:6px 14px 6px 6px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);font-size:.82rem;color:#cbd5e1;margin-bottom:26px}
#tt .tt-pill b{background:rgba(74,222,128,.14);border:1px solid rgba(74,222,128,.3);color:#4ade80;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border-radius:999px}
#tt .tt-hero h1{font-size:clamp(2.6rem,5.6vw,4.4rem) !important;line-height:1.02;font-weight:600;letter-spacing:-.025em;margin:0 0 22px;color:#fff !important}
#tt .tt-hero h1 .tt-serif{color:#4ade80;padding-right:.08em}
#tt .tt-hero-sub{font-size:1.14rem;line-height:1.7;color:#aab2c5;max-width:540px;margin:0 0 34px}
#tt .tt-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:34px}
#tt .tt-hero-proof{display:flex;flex-wrap:wrap;gap:22px;color:#94a3b8;font-size:.86rem}
#tt .tt-hero-proof span{display:inline-flex;align-items:center;gap:8px}
#tt .tt-hero-proof svg{width:16px;height:16px;fill:none;stroke:#86efac;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}

/* product window */
#tt .tt-stage{position:relative;perspective:1600px}
#tt .tt-window{position:relative;background:#fff;color:var(--tt-text);border-radius:18px;box-shadow:0 0 0 1px rgba(255,255,255,.1),0 50px 100px -30px rgba(0,0,0,.7),0 30px 60px -30px rgba(74,222,128,.18);overflow:hidden;transform:rotateY(-6deg) rotateX(3deg);transform-origin:left center;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
#tt .tt-stage:hover .tt-window{transform:rotateY(0) rotateX(0)}
#tt .tt-chrome{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f8fafc;border-bottom:1px solid var(--tt-line)}
#tt .tt-dots{display:flex;gap:6px}#tt .tt-dots i{width:10px;height:10px;border-radius:50%;background:#e2e8f0}
#tt .tt-dots i:nth-child(1){background:#fca5a5}#tt .tt-dots i:nth-child(2){background:#fcd34d}#tt .tt-dots i:nth-child(3){background:#86efac}
#tt .tt-url{flex:1;display:flex;align-items:center;gap:8px;font-size:.76rem;color:var(--tt-muted);background:#fff;border:1px solid var(--tt-line);border-radius:8px;padding:6px 10px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#tt .tt-url svg{width:12px;height:12px;flex-shrink:0;fill:none;stroke:#16a34a;stroke-width:2.2}
#tt .tt-tag{font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 8px;border-radius:6px;background:var(--tt-violet-soft);color:var(--tt-violet-2);white-space:nowrap}
#tt .tt-tag--muted{background:#f1f5f9;color:#64748b}
#tt .tt-app{padding:20px;display:grid;grid-template-columns:auto 1fr;gap:18px}
#tt .tt-tabsbar{grid-column:1/-1;display:flex;gap:4px;border-bottom:1px solid var(--tt-line);margin:-4px 0 2px;overflow:hidden}
#tt .tt-tabsbar span{font-size:.72rem;font-weight:600;color:var(--tt-faint);padding:6px 10px 10px;white-space:nowrap}
#tt .tt-tabsbar span.on{color:var(--tt-violet-2);box-shadow:inset 0 -2px 0 var(--tt-violet-2)}
#tt .tt-ring{--v:78;width:128px;height:128px;border-radius:50%;display:grid;place-items:center;position:relative;
  background:conic-gradient(from -90deg,#8b5cf6 0,#6366f1 calc(var(--v)*1%),#eef2ff calc(var(--v)*1%) 100%)}
#tt .tt-ring::before{content:"";position:absolute;inset:11px;border-radius:50%;background:#fff}
#tt .tt-ring-in{position:relative;text-align:center}
#tt .tt-ring-in b{display:block;font-size:2.1rem;font-weight:800;letter-spacing:-.04em;line-height:1}
#tt .tt-ring-in small{font-size:.66rem;color:var(--tt-faint);font-weight:600;letter-spacing:.06em;text-transform:uppercase}
#tt .tt-scorecol{display:flex;flex-direction:column;align-items:center;gap:10px}
#tt .tt-grade{font-size:.72rem;font-weight:700;color:var(--tt-green);background:var(--tt-green-soft);padding:4px 10px;border-radius:999px}
#tt .tt-pillars{display:flex;flex-direction:column;gap:11px;justify-content:center}
#tt .tt-prow{display:grid;grid-template-columns:86px 1fr 32px;align-items:center;gap:10px;font-size:.78rem}
#tt .tt-prow span{color:var(--tt-muted);font-weight:500}#tt .tt-prow b{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}
#tt .tt-bar{height:7px;border-radius:99px;background:#f1f5f9;overflow:hidden}
#tt .tt-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#8b5cf6,#6366f1);width:0;transition:width 1.4s cubic-bezier(.2,.8,.2,1)}
#tt .tt-bar i.amber{background:linear-gradient(90deg,#f59e0b,#fbbf24)}
#tt .tt-bar i.green{background:linear-gradient(90deg,#16a34a,#4ade80)}
#tt .tt-in .tt-bar i{width:var(--w)}
#tt .tt-matrix{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
#tt .tt-eng{border:1px solid var(--tt-line);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:6px}
#tt .tt-eng-h{display:flex;align-items:center;gap:6px;font-size:.7rem;font-weight:600;color:var(--tt-muted)}
#tt .tt-eng-h img{width:14px;height:14px}
#tt .tt-eng b{font-size:1.15rem;font-weight:800;letter-spacing:-.03em}
#tt .tt-eng .tt-bar{height:4px}
#tt .tt-consensus{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:var(--tt-bg-soft);font-size:.74rem;color:var(--tt-muted)}
#tt .tt-consensus b{color:var(--tt-text)}
#tt .tt-float{position:absolute;background:#fff;color:var(--tt-text);border-radius:14px;padding:12px 14px;box-shadow:0 20px 40px -12px rgba(0,0,0,.45),0 0 0 1px rgba(15,23,42,.06);display:flex;gap:10px;align-items:center;font-size:.8rem;animation:tt-bob 6s ease-in-out infinite}
#tt .tt-float small{display:block;color:var(--tt-faint);font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em}
#tt .tt-float b{font-weight:700}
#tt .tt-float .ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex-shrink:0}
#tt .tt-float .ic svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#tt .tt-float--a{left:-34px;bottom:52px}
#tt .tt-float--b{right:-18px;top:-22px;animation-delay:-3s}
@keyframes tt-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
#tt .tt-caption{margin-top:14px;text-align:right;font-size:.72rem;color:#64748b}

/* engines strip */
#tt .tt-engines{margin-top:88px;border-top:1px solid rgba(255,255,255,.08);padding:30px 0 34px}
#tt .tt-engines-in{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
#tt .tt-engines p{margin:0;color:#94a3b8;font-size:.86rem}
#tt .tt-engine-list{display:flex;flex-wrap:wrap;gap:12px}
#tt .tt-chip{display:inline-flex;align-items:center;gap:9px;padding:9px 16px 9px 10px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:#e2e8f0;font-size:.88rem;font-weight:600}
#tt .tt-chip i{width:26px;height:26px;border-radius:50%;background:#fff;display:grid;place-items:center}
#tt .tt-chip img{width:15px;height:15px}
#tt .tt-chip .g{width:15px;height:15px;border-radius:50%;background:conic-gradient(#ea4335 0 25%,#fbbc05 0 50%,#34a853 0 75%,#4285f4 0)}

/* ── WHY ── */
#tt .tt-why{background:#fff}
#tt .tt-why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:56px}
#tt .tt-card{background:#fff;border:1px solid var(--tt-line);border-radius:var(--tt-radius);padding:30px;box-shadow:var(--tt-shadow);transition:transform .3s ease,box-shadow .3s ease}
#tt .tt-card:hover{transform:translateY(-4px);box-shadow:var(--tt-shadow-lg)}
#tt .tt-ico{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;margin-bottom:22px;background:linear-gradient(135deg,#f5f3ff,#ede9fe);color:var(--tt-violet-2);box-shadow:inset 0 0 0 1px rgba(124,58,237,.15)}
#tt .tt-ico svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#tt .tt-card h3{font-size:1.15rem;font-weight:700;letter-spacing:-.02em;margin:0 0 10px}
#tt .tt-card p{font-size:.95rem;line-height:1.65;color:var(--tt-muted);margin:0}
/* bento cards (Why section) */
#tt .tt-bx{position:relative;display:flex;flex-direction:column;background:#f4f4f5;border:1px solid rgba(15,23,42,.05);border-radius:24px;overflow:hidden;min-height:470px;box-shadow:inset 0 1px 0 #fff}
#tt .tt-bx-copy{padding:30px 30px 0}
#tt .tt-bx-copy h3{font-size:1.3rem;font-weight:600;letter-spacing:-.025em;line-height:1.25;margin:0 0 10px}
#tt .tt-bx-copy p{font-size:.94rem;line-height:1.55;color:#52525b}
#tt .tt-bx-art{position:relative;flex:1;min-height:270px;margin-top:18px}
#tt .tt-bx-cursor{position:absolute;width:30px;height:30px;fill:#0a0a0a;stroke:#fff;stroke-width:1.4;stroke-linejoin:round;filter:drop-shadow(0 4px 6px rgba(0,0,0,.25));z-index:5;pointer-events:none}
#tt .tt-bx-cursor.sm{width:22px;height:22px;fill:#fff;stroke:#71717a}
/* 1 */
#tt .tt-bx-win{position:absolute;left:14%;right:-2px;top:16px;bottom:-2px;background:#fff;border-radius:14px 0 0 0;box-shadow:0 20px 40px -18px rgba(0,0,0,.18),0 0 0 1px rgba(0,0,0,.04)}
#tt .tt-bx-win-bar{display:flex;gap:5px;padding:12px 14px}
#tt .tt-bx-win-bar i{width:7px;height:7px;border-radius:50%;background:#e4e4e7}
#tt .tt-bx-win-body{padding:4px 18px 18px 22px}
#tt .tt-bx-vague{font-size:.82rem;color:#a1a1aa;text-decoration:line-through;margin:30px 0 14px;font-style:italic}
#tt .tt-bx-rows{display:flex;flex-direction:column;gap:7px}
#tt .tt-bx-rows div{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:#27272a;padding:7px 10px;border-radius:9px;background:#fafafa;border:1px solid #f0f0f1}
#tt .tt-bx-rows b{font-weight:700;font-variant-numeric:tabular-nums}
#tt .tt-bx-rows b.lo{color:#dc2626}
#tt .tt-bx-prog{height:5px;border-radius:9px;background:#e4e4e7;margin:16px 0 10px;overflow:hidden}
#tt .tt-bx-prog i{display:block;width:72%;height:100%;background:#16a34a;border-radius:9px}
#tt .tt-bx-label{font-size:.7rem;color:#52525b}
#tt .tt-bx-ticks{display:flex;gap:14px;margin-top:8px;font:600 .72rem Inter,sans-serif;color:#3f3f46;font-variant-emoji:text}
#tt .tt-bx-toast{position:absolute;right:10%;top:0;display:flex;align-items:center;gap:10px;background:#fff;border-radius:12px;padding:10px 14px 10px 10px;box-shadow:0 14px 30px -10px rgba(0,0,0,.25),0 0 0 1px rgba(0,0,0,.05);z-index:3}
#tt .tt-bx-toast .ic{width:32px;height:32px;border-radius:8px;background:#16a34a;display:grid;place-items:center;flex-shrink:0}
#tt .tt-bx-toast svg{width:15px;height:15px;fill:none;stroke:#fff;stroke-width:2}
#tt .tt-bx-toast b{display:block;font-size:.84rem;font-weight:600}
#tt .tt-bx-toast small{font-size:.7rem;color:#71717a}
#tt .tt-bx-badge{position:absolute;left:7%;top:48%;width:52px;height:52px;border-radius:14px;background:linear-gradient(160deg,#22c55e,#15803d);display:grid;place-items:center;transform:rotate(-12deg);box-shadow:0 14px 24px -8px rgba(22,163,74,.55);z-index:4}
#tt .tt-bx-badge svg{width:24px;height:24px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
/* 2 */
#tt .tt-bx-code{position:absolute;inset:0 18px;font:500 .78rem/1.9 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.9em;color:#d4d4d8;word-break:break-all;overflow:hidden;mask-image:radial-gradient(ellipse 60% 60% at 50% 50%,#000 30%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 60% 60% at 50% 50%,#000 30%,transparent 75%)}
#tt .tt-bx-orbit{position:absolute;left:50%;top:50%;width:150px;height:150px;transform:translate(-50%,-50%);border-radius:50%;border:1px solid #e4e4e7}
#tt .tt-bx-orbit .dot{position:absolute;width:8px;height:8px;border-radius:50%;background:#fff;border:1.5px solid #16a34a;transform:translate(-50%,-50%)}
#tt .tt-bx-core{position:absolute;inset:14px;border-radius:50%;background:linear-gradient(180deg,#fff,#f4f4f5);box-shadow:0 18px 36px -12px rgba(0,0,0,.22),0 0 0 1px rgba(0,0,0,.05);display:grid;place-items:center}
#tt .tt-bx-core>div{width:78px;height:78px;border-radius:50%;border:1px solid #e4e4e7;display:grid;place-items:center;background:#fff}
#tt .tt-bx-core svg{width:40px;height:40px;fill:#16a34a;stroke:#16a34a;stroke-width:1;stroke-linejoin:round}
#tt .tt-bx-logo{position:absolute;width:54px;height:54px;border-radius:50%;background:#fff;display:grid;place-items:center;transform:translate(-50%,-50%);box-shadow:0 12px 24px -8px rgba(0,0,0,.2),0 0 0 1px rgba(0,0,0,.04)}
#tt .tt-bx-logo img{width:24px;height:24px}
#tt .tt-bx-logo.sm{width:42px;height:42px}
#tt .tt-bx-logo.sm img{width:19px;height:19px}
/* 3 */
#tt .tt-bx-ghost{position:absolute;left:12%;right:12%;text-align:center;font-size:.86rem;color:#a1a1aa;padding:14px 12px;margin:14px 0;border-radius:14px;background:rgba(255,255,255,.55);box-shadow:0 1px 2px rgba(0,0,0,.03)}
#tt .tt-bx-ghost s{text-decoration-thickness:1.5px}
#tt .tt-bx-x{position:absolute;width:44px;height:44px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:1rem;color:#16a34a;box-shadow:0 10px 20px -8px rgba(0,0,0,.25);transform:translate(-50%,-50%);z-index:3}
#tt .tt-bx-x.sm{width:30px;height:30px;font-size:.75rem}
#tt .tt-bx-fix{position:absolute;left:7%;right:7%;top:52%;transform:translateY(-50%);background:#fff;border-radius:16px;padding:16px;box-shadow:0 30px 50px -20px rgba(0,0,0,.3),0 0 0 1px rgba(0,0,0,.05);z-index:2}
#tt .tt-bx-fix-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
#tt .tt-bx-chip{display:inline-flex;align-items:center;gap:7px;font-size:.76rem;font-weight:600;padding:6px 10px;border-radius:9px;border:1px solid #e4e4e7}
#tt .tt-bx-chip svg{width:14px;height:14px;border-radius:50%;background:#16a34a;fill:none;stroke:#fff;stroke-width:3;padding:2px}
#tt .tt-bx-gain{font-size:1.6rem;font-weight:600;letter-spacing:-.03em}
#tt .tt-bx-gain small{font-size:.72rem;color:#71717a;font-weight:500}
#tt .tt-bx-fix-title{font-size:.9rem;font-weight:600;margin:12px 0 12px;color:#27272a}
#tt .tt-bx-btn{background:#16a34a;color:#fff;box-shadow:0 8px 20px -8px rgba(22,163,74,.6);text-align:center;font-size:.9rem;font-weight:500;padding:12px;border-radius:10px}

/* ── FRAMEWORK ── */
#tt .tt-framework{background:var(--tt-bg-soft);position:relative;overflow:hidden}
#tt .tt-fw{position:relative;margin-top:56px;background:#fff;border:1px solid #e4e4e7;border-radius:20px;box-shadow:0 1px 2px rgba(0,0,0,.03),0 24px 60px -30px rgba(0,0,0,.18)}
#tt .tt-fw::before,#tt .tt-fw::after{content:"+";position:absolute;font:300 20px/1 'Geist Mono',ui-monospace,monospace;color:#a1a1aa;pointer-events:none}
#tt .tt-fw::before{left:-7px;top:-11px}#tt .tt-fw::after{right:-7px;bottom:-11px}
#tt .tt-fw-tabs{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #e4e4e7;background:#fafafa;border-radius:20px 20px 0 0;overflow:hidden}
#tt .tt-fw-tab{all:unset;box-sizing:border-box;position:relative;cursor:pointer;display:grid;grid-template-columns:1fr auto;grid-template-areas:"n em" "t t";row-gap:18px;padding:22px 24px 24px;border-right:1px solid #e4e4e7;transition:background .25s}
#tt .tt-fw-tab:last-child{border-right:0}
#tt .tt-fw-tab:hover{background:#f4f4f5}
#tt .tt-fw-tab:focus-visible{outline:2px solid #16a34a;outline-offset:-2px}
#tt .tt-fw-tab[aria-selected="true"]{background:#fff}
#tt .tt-fw-tab[aria-selected="true"]::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:#fff}
#tt .tt-fw-tab::before{content:"";position:absolute;left:0;top:0;height:2px;width:0;background:#16a34a}
#tt .tt-fw-tab[aria-selected="true"]::before{width:100%}
#tt .tt-fw.is-auto.tt-in .tt-fw-tab[aria-selected="true"]::before{width:0;animation:tt-fill 7s linear forwards}
#tt .tt-fw.is-auto:hover .tt-fw-tab[aria-selected="true"]::before{animation-play-state:paused}
@keyframes tt-fill{to{width:100%}}
#tt .tt-fw-tab .n{grid-area:n;font:500 .78rem/1 'Geist Mono',ui-monospace,monospace;color:#a1a1aa;letter-spacing:.02em}
#tt .tt-fw-tab[aria-selected="true"] .n{color:#16a34a}
#tt .tt-fw-tab em{grid-area:em;font:500 .7rem/1 'Geist Mono',ui-monospace,monospace;font-style:normal;color:#a1a1aa;text-transform:uppercase;letter-spacing:.04em}
#tt .tt-fw-tab>span:not(.n){grid-area:t}
#tt .tt-fw-tab h4{margin:0;font-size:1.05rem;font-weight:600;letter-spacing:-.02em;color:#71717a;transition:color .2s}
#tt .tt-fw-tab p{margin:4px 0 0;font-size:.84rem;line-height:1.45;color:#a1a1aa}
#tt .tt-fw-tab:hover h4,#tt .tt-fw-tab[aria-selected="true"] h4{color:#0f172a}
#tt .tt-fw-tab[aria-selected="true"] p{color:#71717a}
#tt .tt-fw-panel{display:grid;grid-template-columns:340px 1fr;animation:tt-panel .45s cubic-bezier(.2,.8,.2,1)}
@keyframes tt-panel{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
#tt .tt-fw-panel[hidden]{display:none}
#tt .tt-fw-head{display:flex;flex-direction:column;justify-content:space-between;gap:32px;padding:36px;border-right:1px solid #e4e4e7;background:linear-gradient(180deg,#fff,#fafafa)}
#tt .tt-fw-head h3{margin:0 0 10px;font-size:1.6rem;font-weight:600;letter-spacing:-.03em}
#tt .tt-fw-head p{margin:0;color:#52525b;font-size:.94rem;line-height:1.65}
#tt .tt-fw-score{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 6px;padding-top:24px;border-top:1px dashed #e4e4e7}
#tt .tt-fw-score b{font-size:3.2rem;font-weight:600;letter-spacing:-.05em;line-height:1;color:#0f172a}
#tt .tt-fw-score span{font:500 1rem 'Geist Mono',ui-monospace,monospace;color:#a1a1aa}
#tt .tt-fw-score small{flex-basis:100%;font:500 .68rem 'Geist Mono',ui-monospace,monospace;color:#a1a1aa;text-transform:uppercase;letter-spacing:.06em}
#tt .tt-factors{list-style:none;margin:0;padding:8px 0;display:flex;flex-direction:column}
#tt .tt-factor{display:grid;grid-template-columns:28px 1fr 180px 48px;gap:18px;align-items:center;padding:18px 36px 18px 28px;border-bottom:1px solid #f4f4f5;counter-increment:fx;transition:background .2s}
#tt .tt-factors{counter-reset:fx}
#tt .tt-factor::before{content:counter(fx,decimal-leading-zero);font:500 .72rem 'Geist Mono',ui-monospace,monospace;color:#a1a1aa}
#tt .tt-factor:last-child{border-bottom:0}
#tt .tt-factor:hover{background:#fafafa}
#tt .tt-factor h5{margin:0;font-size:.95rem;font-weight:600;letter-spacing:-.01em}
#tt .tt-factor p{margin:3px 0 0;font-size:.82rem;color:#71717a}
#tt .tt-factor b{text-align:right;font:500 .92rem 'Geist Mono',ui-monospace,monospace;color:#0f172a}
#tt .tt-fw .tt-bar{height:4px;background:#f4f4f5}
#tt .tt-fw .tt-bar i{background:#16a34a}
#tt .tt-fw .tt-bar i.amber{background:#f59e0b}
#tt .tt-fw-note{display:flex;gap:10px;align-items:center;margin:0;padding:16px 28px;border-top:1px solid #e4e4e7;background:#fafafa;border-radius:0 0 20px 20px;color:#52525b;font-size:.86rem;line-height:1.5}
#tt .tt-fw-note b{color:#0f172a}
#tt .tt-fw-note svg{width:16px;height:16px;flex-shrink:0;fill:none;stroke:#16a34a;stroke-width:2}

/* ── MODES (comparison frame) ── */
#tt .mono{font-family:'Geist Mono',ui-monospace,monospace}
#tt .tt-cmp{position:relative;margin-top:56px;background:#fff;border:1px solid #e4e4e7;border-radius:20px;box-shadow:0 1px 2px rgba(0,0,0,.03),0 24px 60px -30px rgba(0,0,0,.18)}
#tt .tt-cmp::before,#tt .tt-cmp::after{content:"+";position:absolute;font:300 20px/1 'Geist Mono',ui-monospace,monospace;color:#a1a1aa}
#tt .tt-cmp::before{left:-7px;top:-11px}#tt .tt-cmp::after{right:-7px;bottom:-11px}
#tt .tt-cmp-row{display:grid;grid-template-columns:1.05fr 1fr 1fr;border-bottom:1px solid #f0f0f1}
#tt .tt-cmp-row:last-child{border-bottom:0}
#tt .tt-cmp-l,#tt .tt-cmp-c{padding:16px 28px;display:flex;align-items:center;gap:10px}
#tt .tt-cmp-l{flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;font-size:.9rem;font-weight:500;color:#27272a}
#tt .tt-cmp-l small{font-size:.78rem;font-weight:400;color:#a1a1aa}
#tt .tt-cmp-c{border-left:1px solid #f0f0f1;font-size:.88rem;color:#3f3f46}
#tt .tt-cmp-c.hy{background:#f7fdf9;border-left-color:#dcfce7}
#tt .tt-cmp-c .y{width:18px;height:18px;fill:none;stroke:#16a34a;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
#tt .tt-cmp-c .no{color:#d4d4d8;font-weight:600}
#tt .tt-cmp-c .mono{font-size:.82rem;color:#27272a}
#tt .tt-cmp-c .mono.g{color:#16a34a}
#tt .tt-cmp-head .tt-cmp-l{justify-content:flex-start;padding-top:28px}
#tt .tt-cmp-head .tt-cmp-l .mono{font-size:.76rem;color:#a1a1aa}
#tt .tt-cmp-head .tt-cmp-c{flex-direction:column;align-items:stretch;gap:0;padding:26px 28px 24px}
#tt .tt-cmp-head .tt-cmp-c.hy{position:relative}
#tt .tt-cmp-head .tt-cmp-c.hy::before{content:"";position:absolute;left:-1px;right:0;top:-1px;height:2px;background:#16a34a}
#tt .tt-cmp-head .tt-cmp-c:last-child{border-top-right-radius:20px}
#tt .tt-cmp-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
#tt .tt-cmp-meta .mono{font-size:.7rem;letter-spacing:.06em;color:#a1a1aa}
#tt .tt-cmp-badge{font:500 .66rem 'Geist Mono',ui-monospace,monospace;text-transform:uppercase;letter-spacing:.05em;padding:4px 8px;border-radius:6px;border:1px solid #e4e4e7;color:#52525b;background:#fff}
#tt .tt-cmp-badge.g{border-color:#bbf7d0;background:#f0fdf4;color:#16a34a}
#tt .tt-cmp-head h3{display:flex;align-items:center;gap:10px;margin:0 0 6px;font-size:1.5rem;font-weight:600;letter-spacing:-.03em;color:#0f172a}
#tt .tt-cmp-head h3 svg{width:22px;height:22px;fill:none;stroke:#16a34a;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#tt .tt-cmp-head p{margin:0 0 18px;font-size:.88rem;color:#71717a}
#tt .tt-cmp-time{display:flex;align-items:baseline;gap:8px;margin-bottom:14px}
#tt .tt-cmp-time b{font-size:2.2rem;font-weight:600;letter-spacing:-.04em;line-height:1;color:#0f172a}
#tt .tt-cmp-time .mono{font-size:.74rem;color:#a1a1aa}
#tt .tt-scan{height:6px;border-radius:9px;background:#f0f0f1;overflow:hidden}
#tt .tt-scan i{display:block;height:100%;width:0;border-radius:9px;background:#16a34a}
#tt .tt-in .tt-scan.q i{animation:tt-scan-q 3.6s cubic-bezier(.4,0,.2,1) infinite}
#tt .tt-in .tt-scan.h i{animation:tt-scan-h 3.6s cubic-bezier(.4,0,.2,1) infinite}
@keyframes tt-scan-q{0%{width:0}25%{width:100%}90%{width:100%;opacity:1}100%{width:100%;opacity:0}}
@keyframes tt-scan-h{0%{width:0}25%{width:45%}60%{width:100%}90%{width:100%;opacity:1}100%{width:100%;opacity:0}}
#tt .tt-scan-log{display:flex;flex-direction:column;gap:4px;margin-top:10px;min-height:38px;font-size:.72rem;color:#52525b}
#tt .tt-scan-log .gpt{display:inline-flex;align-items:center;gap:6px;color:#16a34a}
#tt .tt-scan-log .gpt img{width:12px;height:12px}
#tt .tt-in .tt-scan-log .gpt{animation:tt-gpt 3.6s steps(1) infinite}
@keyframes tt-gpt{0%{opacity:0}60%{opacity:1}100%{opacity:1}}
#tt .tt-conf{flex:1;max-width:120px;height:5px;border-radius:9px;background:#f0f0f1;overflow:hidden}
#tt .tt-conf i{display:block;height:100%;width:0;background:#16a34a;border-radius:9px;transition:width 1.2s cubic-bezier(.2,.8,.2,1) .2s}
#tt .tt-in .tt-conf i{width:var(--w)}
#tt .tt-cmp-foot .tt-cmp-l .mono{font-size:.74rem;color:#a1a1aa;text-transform:uppercase;letter-spacing:.06em}
#tt .tt-cmp-foot .tt-cmp-c{flex-direction:column;align-items:flex-start;gap:14px;padding:22px 28px 26px}
#tt .tt-cmp-foot .tt-cmp-c:last-child{border-bottom-right-radius:20px}
#tt .tt-cmp-foot p{margin:0;font-size:.86rem;color:#52525b;line-height:1.55}
#tt .tt-cmp-btn{display:inline-flex;font-size:.86rem;font-weight:600;padding:10px 16px;border-radius:10px;border:1px solid #e4e4e7;background:#fff;color:#0f172a;text-decoration:none;transition:background .2s}
#tt .tt-cmp-btn:hover{background:#f4f4f5}
#tt .tt-cmp-btn.g{background:#16a34a;border-color:#16a34a;color:#fff;box-shadow:0 8px 20px -8px rgba(22,163,74,.6)}
#tt .tt-cmp-btn.g:hover{background:#15803d}

/* ── SPLIT FEATURE ── */
#tt .tt-split{display:grid;grid-template-columns:1fr 1.1fr;gap:72px;align-items:center}
#tt .tt-split--rev .tt-split-copy{order:2}
#tt .tt-points{list-style:none;padding:0;margin:30px 0 0;display:flex;flex-direction:column;gap:18px}
#tt .tt-points li{display:grid;grid-template-columns:40px 1fr;gap:14px}
#tt .tt-points .tt-ico{width:40px;height:40px;border-radius:12px;margin:0}
#tt .tt-points .tt-ico svg{width:19px;height:19px}
#tt .tt-points h4{margin:0 0 3px;font-size:1rem;font-weight:700}
#tt .tt-points p{margin:0;font-size:.9rem;line-height:1.6;color:var(--tt-muted)}
#tt .tt-visual{position:relative;border-radius:28px;padding:36px 36px 76px;background:linear-gradient(135deg,#f5f3ff 0%,#eef2ff 50%,#f0fdf4 100%);border:1px solid var(--tt-line);overflow:hidden}
#tt .tt-visual::before{content:"";position:absolute;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(139,92,246,.25),transparent 70%);top:-120px;right:-80px}
#tt .tt-panel{position:relative;background:#fff;border-radius:18px;box-shadow:var(--tt-shadow-lg);border:1px solid var(--tt-line);padding:22px}
#tt .tt-panel-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
#tt .tt-panel-h h4{margin:0;font-size:.95rem;font-weight:700}
#tt .tt-mtable{width:100%;border-collapse:collapse;font-size:.82rem}
#tt .tt-mtable th{text-align:left;font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tt-faint);padding:0 8px 10px}
#tt .tt-mtable td{padding:11px 8px;border-top:1px solid var(--tt-line);font-variant-numeric:tabular-nums}
#tt .tt-mtable td:first-child{display:flex;align-items:center;gap:9px;font-weight:600}
#tt .tt-mtable td:first-child i{width:26px;height:26px;border-radius:8px;border:1px solid var(--tt-line);display:grid;place-items:center}
#tt .tt-mtable img{width:14px;height:14px}
#tt .tt-heat{display:inline-block;min-width:40px;text-align:center;padding:4px 8px;border-radius:7px;font-weight:700;font-size:.78rem}
#tt .h-hi{background:#dcfce7;color:#166534}#tt .h-md{background:#fef3c7;color:#92400e}#tt .h-lo{background:#fee2e2;color:#991b1b}
#tt .tt-panel-foot{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-top:16px}
#tt .tt-kpi{border-radius:12px;background:var(--tt-bg-soft);padding:12px}
#tt .tt-kpi small{display:block;font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--tt-faint)}
#tt .tt-kpi b{font-size:1.2rem;font-weight:800;letter-spacing:-.03em}
#tt .tt-kpi b.g{color:var(--tt-green)}
#tt .tt-sticker{position:absolute;right:22px;bottom:18px;background:var(--tt-ink);color:#fff;border-radius:12px;padding:10px 14px;font-size:.78rem;box-shadow:0 18px 30px -10px rgba(7,26,14,.5);display:flex;gap:8px;align-items:center}
#tt .tt-sticker svg{width:14px;height:14px;fill:none;stroke:#4ade80;stroke-width:2.2}

/* ── ANALYSIS TYPES ── */
#tt .tt-types{background:var(--tt-ink);color:#fff;position:relative;overflow:hidden}
#tt .tt-types::before{content:"";position:absolute;inset:0;background:radial-gradient(50% 50% at 0% 0%,rgba(74,222,128,.1),transparent 70%),radial-gradient(40% 40% at 100% 100%,rgba(22,163,74,.08),transparent 70%)}
#tt .tt-types .tt-wrap{position:relative}
#tt .tt-types .tt-eyebrow{color:#4ade80}#tt .tt-types .tt-lead{color:#94a3b8}
#tt .tt-seg{display:inline-flex;gap:4px;padding:5px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);margin:40px auto 0}
#tt .tt-seg button{all:unset;cursor:pointer;padding:10px 18px;border-radius:10px;font-size:.9rem;font-weight:600;color:#94a3b8;transition:all .2s}
#tt .tt-seg button:focus-visible{outline:2px solid #4ade80}
#tt .tt-seg button[aria-selected="true"]{background:#fff;color:var(--tt-ink)}
#tt .tt-type{display:grid;grid-template-columns:1fr 1.15fr;gap:56px;align-items:center;margin-top:48px}
#tt .tt-type[hidden]{display:none}
#tt .tt-type h3{font-size:1.8rem;font-weight:600;letter-spacing:-.025em;margin:0 0 14px}
#tt .tt-type>div>p{color:#aab2c5;line-height:1.7;margin:0 0 24px}
#tt .tt-list{list-style:none;padding:0;margin:0 0 28px;display:flex;flex-direction:column;gap:12px}
#tt .tt-list li{display:flex;gap:12px;font-size:.94rem;line-height:1.5;color:var(--tt-muted)}
#tt .tt-list svg{width:18px;height:18px;flex-shrink:0;margin-top:2px;fill:none;stroke:var(--tt-green);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
#tt .tt-type .tt-list li{color:#cbd5e1}#tt .tt-type .tt-list svg{stroke:#86efac}
#tt .tt-type .tt-panel{color:var(--tt-text)}
#tt .tt-input{display:flex;align-items:center;gap:10px;border:1px solid var(--tt-line);border-radius:12px;padding:11px 14px;font-size:.85rem;color:var(--tt-muted);margin-bottom:10px;background:#fcfcfe}
#tt .tt-input svg{width:15px;height:15px;fill:none;stroke:var(--tt-faint);stroke-width:2;flex-shrink:0}
#tt .tt-input em{font-style:normal;margin-left:auto;font-size:.7rem;font-weight:700;color:var(--tt-violet-2);background:var(--tt-violet-soft);padding:3px 8px;border-radius:6px}
#tt .tt-vs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:6px}
#tt .tt-vs div{border:1px solid var(--tt-line);border-radius:14px;padding:14px;text-align:center}
#tt .tt-vs div.win{border-color:#c4b5fd;background:#faf5ff}
#tt .tt-vs small{display:block;font-size:.72rem;color:var(--tt-faint);margin-bottom:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#tt .tt-vs b{font-size:1.7rem;font-weight:800;letter-spacing:-.04em}
#tt .tt-vs .tt-bar{margin-top:10px}
#tt .tt-entity{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
#tt .tt-entity span{font-size:.78rem;padding:6px 10px;border-radius:8px;background:var(--tt-bg-soft);border:1px solid var(--tt-line);font-weight:500}
#tt .tt-entity span.ok{background:#f0fdf4;border-color:#bbf7d0;color:#166534}
#tt .tt-entity span.warn{background:#fffbeb;border-color:#fde68a;color:#92400e}

/* ── REPORT ── */
#tt .tt-report{background:var(--tt-bg-soft)}
#tt .tt-bento{display:grid;grid-template-columns:repeat(6,1fr);gap:20px;margin-top:56px}
#tt .tt-bento .tt-card{padding:28px;display:flex;flex-direction:column}
#tt .tt-b-4{grid-column:span 4}#tt .tt-b-2{grid-column:span 2}#tt .tt-b-3{grid-column:span 3}
#tt .tt-mini{margin-top:auto;padding-top:24px}
#tt .tt-wins{display:flex;flex-direction:column;gap:8px}
#tt .tt-win{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--tt-line);border-radius:12px;font-size:.86rem;background:#fff}
#tt .tt-win .p{font-size:.64rem;font-weight:800;letter-spacing:.06em;padding:4px 7px;border-radius:6px}
#tt .p-h{background:#fee2e2;color:#991b1b}#tt .p-m{background:#fef3c7;color:#92400e}#tt .p-l{background:#e0e7ff;color:#3730a3}
#tt .tt-win em{font-style:normal;font-size:.75rem;color:var(--tt-faint);white-space:nowrap}
#tt .tt-tablist{display:flex;flex-wrap:wrap;gap:8px}
#tt .tt-tablist span{font-size:.8rem;font-weight:600;padding:8px 12px;border-radius:10px;background:var(--tt-bg-soft);border:1px solid var(--tt-line);display:inline-flex;align-items:center;gap:7px}
#tt .tt-tablist span i{width:6px;height:6px;border-radius:50%;background:var(--tt-violet)}
#tt .tt-files{display:flex;gap:12px}
#tt .tt-file{flex:1;border-radius:14px;padding:16px;border:1px solid var(--tt-line);display:flex;flex-direction:column;gap:10px;background:#fff}
#tt .tt-file-ic{width:38px;height:46px;border-radius:6px;position:relative;display:grid;place-items:end center;padding-bottom:6px;font-size:.6rem;font-weight:800;color:#fff}
#tt .tt-file-ic.pdf{background:linear-gradient(160deg,#f87171,#dc2626)}#tt .tt-file-ic.csv{background:linear-gradient(160deg,#4ade80,#16a34a)}
#tt .tt-file-ic::after{content:"";position:absolute;top:0;right:0;border-style:solid;border-width:0 11px 11px 0;border-color:transparent #fff transparent transparent;opacity:.9}
#tt .tt-file b{font-size:.86rem}#tt .tt-file small{font-size:.74rem;color:var(--tt-faint);line-height:1.4}
#tt .tt-prob{display:flex;align-items:flex-end;gap:6px;height:84px}
#tt .tt-prob i{flex:1;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,#a78bfa,#ede9fe)}
#tt .tt-prob i.hi{background:linear-gradient(180deg,#7c3aed,#a78bfa)}
#tt .tt-cite{display:flex;flex-direction:column;gap:8px}
#tt .tt-cite div{display:flex;align-items:center;gap:10px;font-size:.82rem;padding:10px 12px;border-radius:10px;background:var(--tt-bg-soft)}
#tt .tt-cite img{width:14px;height:14px}
#tt .tt-cite span{margin-left:auto;font-size:.7rem;font-weight:700}
#tt .tt-cite .y{color:var(--tt-green)}#tt .tt-cite .n{color:var(--tt-red)}

/* ── LOOP ── */
#tt .tt-fb-points .tt-ico{background:#f0fdf4;box-shadow:inset 0 0 0 1px #bbf7d0;color:#16a34a;font:500 .74rem 'Geist Mono',ui-monospace,monospace}
#tt .tt-fb{position:relative;background:#fff;border:1px solid #e4e4e7;border-radius:20px;box-shadow:0 1px 2px rgba(0,0,0,.03),0 24px 60px -30px rgba(0,0,0,.18)}
#tt .tt-fb::before,#tt .tt-fb::after{content:"+";position:absolute;font:300 20px/1 'Geist Mono',ui-monospace,monospace;color:#a1a1aa}
#tt .tt-fb::before{left:-7px;top:-11px}#tt .tt-fb::after{right:-7px;bottom:-11px}
#tt .tt-fb-top{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid #e4e4e7}
#tt .tt-fb-dots{display:flex;gap:5px}#tt .tt-fb-dots i{width:8px;height:8px;border-radius:50%;background:#e4e4e7}
#tt .tt-fb-file{font:500 .74rem 'Geist Mono',ui-monospace,monospace;color:#71717a}
#tt .tt-fb-tag{margin-left:auto;font:500 .64rem 'Geist Mono',ui-monospace,monospace;text-transform:uppercase;letter-spacing:.06em;color:#71717a;border:1px solid #e4e4e7;padding:3px 7px;border-radius:5px}
#tt .tt-fb-canvas{position:relative;padding:36px 28px 44px;background-color:#fafafa;background-image:radial-gradient(#d4d4d8 1px,transparent 1px);background-size:18px 18px}
#tt .tt-fb-form{position:relative;max-width:330px;background:#fff;border:1px solid #e4e4e7;border-radius:16px;padding:20px;box-shadow:0 24px 48px -24px rgba(0,0,0,.25)}
#tt .tt-fb-form label{display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:600;color:#27272a;margin:0 0 8px}
#tt .tt-fb-form label~label{margin-top:16px}
#tt .tt-fb-form label em{font:500 .66rem 'Geist Mono',ui-monospace,monospace;font-style:normal;color:#16a34a}
#tt .tt-fb-seg{display:flex;gap:3px;padding:3px;border-radius:9px;background:#f4f4f5;border:1px solid #e4e4e7}
#tt .tt-fb-seg span{flex:1;text-align:center;font-size:.8rem;font-weight:500;color:#71717a;padding:7px;border-radius:6px}
#tt .tt-fb-seg span.on{background:#16a34a;color:#fff;box-shadow:0 4px 10px -4px rgba(22,163,74,.6)}
#tt .tt-fb-plat{display:flex;gap:6px;flex-wrap:wrap}
#tt .tt-fb-plat span{display:inline-flex;align-items:center;gap:7px;height:34px;min-width:34px;justify-content:center;padding:0 9px;border-radius:9px;border:1px solid #e4e4e7;background:#fff;font-size:.78rem;font-weight:600}
#tt .tt-fb-plat span.on{border-color:#16a34a;box-shadow:0 0 0 3px rgba(22,163,74,.12)}
#tt .tt-fb-plat img{width:15px;height:15px}
#tt .tt-fb-q{font:500 .78rem 'Geist Mono',ui-monospace,monospace;color:#27272a;border:1px solid #e4e4e7;border-radius:9px;padding:9px 11px;background:#fafafa}
#tt .tt-fb-btn{margin-top:18px;background:#16a34a;color:#fff;text-align:center;font-size:.86rem;font-weight:600;padding:11px;border-radius:10px;box-shadow:0 8px 20px -8px rgba(22,163,74,.6)}
#tt .tt-split--fb{grid-template-columns:1.2fr 1fr;gap:64px}
#tt .tt-fb-meter{position:absolute;right:-26px;top:38%;width:210px;background:#fff;border:1px solid #e4e4e7;border-radius:16px;padding:16px;box-shadow:0 24px 48px -20px rgba(0,0,0,.28);z-index:2;animation:tt-bob 6s ease-in-out infinite}
#tt .tt-fb-meter small{font:500 .64rem 'Geist Mono',ui-monospace,monospace;text-transform:uppercase;letter-spacing:.06em;color:#a1a1aa}
#tt .tt-fb-meter .v{display:flex;align-items:baseline;gap:8px;margin:8px 0 10px}
#tt .tt-fb-meter s{font:500 .9rem 'Geist Mono',ui-monospace,monospace;color:#a1a1aa}
#tt .tt-fb-meter .v span{color:#a1a1aa}
#tt .tt-fb-meter b{font-size:2rem;font-weight:600;letter-spacing:-.04em;line-height:1;color:#0f172a}
#tt .tt-fb-mbar{height:5px;border-radius:9px;background:#f4f4f5;overflow:hidden;margin-bottom:10px}
#tt .tt-fb-mbar i{display:block;height:100%;width:0;background:#16a34a;border-radius:9px;transition:width 1.4s cubic-bezier(.2,.8,.2,1) .3s}
#tt .tt-in .tt-fb-mbar i{width:78%}
#tt .tt-fb-meter .ok{font:500 .7rem 'Geist Mono',ui-monospace,monospace;color:#16a34a}
#tt .tt-fb-steps{position:relative;display:grid;grid-template-columns:repeat(5,1fr);padding:18px 16px;border-top:1px solid #e4e4e7;overflow:hidden;border-radius:0 0 20px 20px}
#tt .tt-fb-steps::before{content:"";position:absolute;left:10%;right:10%;top:31px;height:1px;background:#e4e4e7}
#tt .tt-fb-beam{position:absolute;left:10%;right:10%;top:30px;height:3px;overflow:hidden}
#tt .tt-fb-beam::after{content:"";position:absolute;top:0;left:0;width:22%;height:100%;background:linear-gradient(90deg,transparent,#16a34a,transparent);animation:tt-beam 3.2s linear infinite}
@keyframes tt-beam{from{transform:translateX(-100%)}to{transform:translateX(460%)}}
#tt .tt-fb-steps>div{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:.76rem;font-weight:500;color:#71717a}
#tt .tt-fb-steps em{font:500 .64rem 'Geist Mono',ui-monospace,monospace;font-style:normal;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid #e4e4e7;color:#a1a1aa}
#tt .tt-fb-steps>div.on{color:#0f172a;font-weight:600}
#tt .tt-fb-steps>div.on em{background:#16a34a;border-color:#16a34a;color:#fff;box-shadow:0 0 0 4px rgba(22,163,74,.15)}

/* ── STEPS ── */
#tt .tt-steps{position:relative;display:grid;grid-template-columns:repeat(3,1fr);margin-top:56px;background:#fff;border:1px solid #e4e4e7;border-radius:20px;box-shadow:0 1px 2px rgba(0,0,0,.03),0 24px 60px -30px rgba(0,0,0,.16)}
#tt .tt-steps::before,#tt .tt-steps::after{content:"+";position:absolute;font:300 20px/1 'Geist Mono',ui-monospace,monospace;color:#a1a1aa;pointer-events:none}
#tt .tt-steps::before{right:-7px;top:-11px}#tt .tt-steps::after{left:-7px;bottom:-11px}
#tt .tt-step{position:relative;display:flex;flex-direction:column;padding:32px 30px 30px;border-right:1px solid #e4e4e7;transition:background .25s}
#tt .tt-step:last-child{border-right:0}
#tt .tt-step:hover{background:#fcfcfc}
#tt .tt-step::after{content:"";position:absolute;left:30px;right:30px;top:0;height:2px;background:#16a34a;transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
#tt .tt-step:hover::after{transform:scaleX(1)}
#tt .tt-step-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}
#tt .tt-step .num{font:500 .74rem/1 'Geist Mono',ui-monospace,monospace;letter-spacing:.06em;color:#16a34a;background:#f0fdf4;border:1px solid #bbf7d0;padding:6px 9px;border-radius:7px}
#tt .tt-step .time{text-transform:uppercase;letter-spacing:.06em;font:500 .7rem 'Geist Mono',ui-monospace,monospace;color:#a1a1aa}
#tt .tt-step h3{font-size:1.15rem;font-weight:600;letter-spacing:-.02em;margin:0 0 10px}
#tt .tt-step p{color:#52525b;font-size:.92rem;line-height:1.6;margin:0 0 26px}
#tt .tt-step-ui{margin-top:auto;border:1px solid #e4e4e7;border-radius:14px;background:#fafafa;padding:14px;display:flex;flex-direction:column;gap:10px;min-height:128px;justify-content:center}
#tt .tt-sg{display:flex;gap:3px;padding:3px;border-radius:9px;background:#f0f0f1;border:1px solid #e4e4e7}
#tt .tt-sg span{flex:1;text-align:center;font-size:.74rem;font-weight:500;color:#71717a;padding:6px 4px;border-radius:6px;white-space:nowrap}
#tt .tt-sg span.on{background:#fff;color:#0f172a;box-shadow:0 1px 2px rgba(0,0,0,.08)}
#tt .tt-si{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #16a34a;box-shadow:0 0 0 3px rgba(22,163,74,.12);border-radius:9px;padding:9px 11px;font:500 .76rem 'Geist Mono',ui-monospace,monospace;color:#27272a;white-space:nowrap;overflow:hidden}
#tt .tt-si svg{width:13px;height:13px;flex-shrink:0;fill:none;stroke:#a1a1aa;stroke-width:2.2}
#tt .tt-si .caret{width:1.5px;height:14px;background:#16a34a;animation:tt-caret 1s steps(1) infinite}
@keyframes tt-caret{50%{opacity:0}}
#tt .tt-opt{display:flex;align-items:center;gap:11px;background:#fff;border:1px solid #e4e4e7;border-radius:10px;padding:10px 12px}
#tt .tt-opt.on{border-color:#16a34a;box-shadow:0 0 0 3px rgba(22,163,74,.12)}
#tt .tt-opt .radio{width:15px;height:15px;border-radius:50%;border:1.5px solid #d4d4d8;flex-shrink:0}
#tt .tt-opt.on .radio{border:4.5px solid #16a34a}
#tt .tt-opt b{display:block;font-size:.84rem;font-weight:600}
#tt .tt-opt small{font:500 .68rem 'Geist Mono',ui-monospace,monospace;color:#a1a1aa}
#tt .tt-opt em{margin-left:auto;font-style:normal;font:500 .66rem 'Geist Mono',ui-monospace,monospace;text-transform:uppercase;color:#71717a;border:1px solid #e4e4e7;padding:3px 6px;border-radius:5px}
#tt .tt-opt.on em{color:#16a34a;border-color:#bbf7d0;background:#f0fdf4}
#tt .tt-log{display:flex;flex-direction:column;gap:7px;font:500 .74rem 'Geist Mono',ui-monospace,monospace;color:#3f3f46}
#tt .tt-log span{display:flex;align-items:center;gap:8px}
#tt .tt-log i{font-style:normal;width:16px;height:16px;border-radius:50%;background:#16a34a;color:#fff;display:grid;place-items:center;font-size:.6rem}
#tt .tt-exp{display:flex;gap:6px}
#tt .tt-exp span{font:500 .7rem 'Geist Mono',ui-monospace,monospace;padding:7px 10px;border-radius:7px;background:#fff;border:1px solid #e4e4e7;color:#52525b}
#tt .tt-exp .go{margin-left:auto;background:#16a34a;border-color:#16a34a;color:#fff;font-family:Inter,sans-serif;font-weight:600}
#tt .tt-steps-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:18px;padding:0 6px;font:500 .78rem 'Geist Mono',ui-monospace,monospace;color:#71717a}
#tt .tt-steps-foot span{display:inline-flex;align-items:center;gap:8px}
#tt .tt-steps-foot i{width:7px;height:7px;border-radius:50%;background:#16a34a;box-shadow:0 0 0 4px rgba(22,163,74,.15)}
#tt .tt-steps-foot a{font-family:Inter,sans-serif;font-weight:600;font-size:.88rem;color:#16a34a;text-decoration:none}

/* ── RELATED (bento) ── */
#tt .tt-related{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}
#tt .tt-rel{min-height:560px;text-decoration:none;color:inherit;transition:transform .3s ease,box-shadow .3s ease}
#tt .tt-rel:hover{transform:translateY(-4px);box-shadow:inset 0 1px 0 #fff,0 24px 48px -24px rgba(0,0,0,.22)}
#tt .tt-rel .lbl{display:block;font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#71717a;margin-bottom:8px}
#tt .tt-rel .go{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-size:.86rem;font-weight:600;color:#16a34a}
#tt .tt-rel .go svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2;transition:transform .2s}
#tt .tt-rel:hover .go svg{transform:translateX(4px)}
/* citation gap */
#tt .tt-gq{position:absolute;left:10%;right:10%;background:#fff;border-radius:14px}
#tt .tt-gq.ghost{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;margin:10px 0;background:rgba(255,255,255,.55);font-size:.82rem;color:#a1a1aa}
#tt .tt-gq.main{left:6%;right:6%;top:50%;transform:translateY(-50%);padding:14px;box-shadow:0 30px 50px -20px rgba(0,0,0,.3),0 0 0 1px rgba(0,0,0,.05);z-index:2}
#tt .tt-gq em{font-style:normal;font-size:.72rem;font-weight:700}
#tt .tt-gq em.y{color:#16a34a}#tt .tt-gq em.n{color:#dc2626}
#tt .tt-gq-q{display:flex;align-items:center;gap:8px;font-size:.84rem;font-weight:600;padding:9px 11px;border:1px solid #e4e4e7;border-radius:10px}
#tt .tt-gq-q svg{width:14px;height:14px;fill:none;stroke:#71717a;stroke-width:2.2}
#tt .tt-gq-rows{display:flex;flex-direction:column;gap:6px;margin:10px 0 12px}
#tt .tt-gq-rows div{display:flex;align-items:center;gap:9px;font-size:.8rem;color:#3f3f46}
#tt .tt-gq-rows em{margin-left:auto}
#tt .tt-gq .av{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:.64rem;font-weight:700;background:#e4e4e7;color:#3f3f46}
#tt .tt-gq .av.dk{background:#16a34a;color:#fff}
/* ai tracking */
#tt .tt-trk{position:absolute;left:10%;right:10%;top:50%;transform:translateY(-50%);background:#fff;border-radius:16px;padding:16px;box-shadow:0 30px 50px -20px rgba(0,0,0,.28),0 0 0 1px rgba(0,0,0,.05);z-index:2}
#tt .tt-trk-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
#tt .tt-trk-h small{font-size:.74rem;font-weight:600;color:#52525b}
#tt .tt-trk-up{font-size:.68rem;font-weight:700;color:#16a34a;background:#dcfce7;padding:3px 8px;border-radius:99px}
#tt .tt-trk-chart{display:block;width:100%;height:96px}
#tt .tt-pos{position:absolute;display:inline-flex;align-items:center;gap:7px;background:#fff;border-radius:99px;padding:7px 12px 7px 8px;font-size:.8rem;font-weight:700;box-shadow:0 12px 24px -10px rgba(0,0,0,.25),0 0 0 1px rgba(0,0,0,.04);z-index:3}
#tt .tt-pos img{width:18px;height:18px}
/* seo audit */
#tt .tt-hl{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:150px;height:150px;border-radius:50%;background:linear-gradient(180deg,#fff,#f4f4f5);box-shadow:0 24px 44px -16px rgba(0,0,0,.28),0 0 0 1px rgba(0,0,0,.05);display:grid;place-items:center}
#tt .tt-hl-ring{width:118px;height:118px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#16a34a 0 92%,#e4e4e7 92% 100%);position:relative}
#tt .tt-hl-ring::before{content:"";position:absolute;inset:7px;border-radius:50%;background:#fff}
#tt .tt-hl-ring>div{position:relative;text-align:center}
#tt .tt-hl-ring b{display:block;font-size:2rem;font-weight:600;letter-spacing:-.04em;line-height:1}
#tt .tt-hl-ring small{font-size:.62rem;font-weight:600;color:#71717a;text-transform:uppercase;letter-spacing:.06em}
#tt .tt-chk{position:absolute;display:inline-flex;align-items:center;gap:8px;background:#fff;border-radius:10px;padding:8px 12px 8px 8px;font-size:.76rem;font-weight:600;color:#27272a;box-shadow:0 12px 24px -10px rgba(0,0,0,.25),0 0 0 1px rgba(0,0,0,.04);z-index:3;white-space:nowrap}
#tt .tt-chk i{font-style:normal;width:20px;height:20px;border-radius:6px;display:grid;place-items:center;font-size:.66rem;color:#fff}
#tt .tt-chk i.ok{background:#16a34a}#tt .tt-chk i.bad{background:#dc2626}

/* ── FAQ ── */
#tt .tt-faq{background:var(--tt-bg-soft)}
#tt .tt-faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:start}
#tt .tt-faq-list{display:flex;flex-direction:column;gap:10px}
#tt .tt-faq details{background:#fff;border:1px solid var(--tt-line);border-radius:16px;transition:box-shadow .25s}
#tt .tt-faq details[open]{box-shadow:var(--tt-shadow)}
#tt .tt-faq summary{list-style:none;cursor:pointer;padding:20px 22px;font-weight:600;font-size:.98rem;display:flex;justify-content:space-between;gap:16px;align-items:center}
#tt .tt-faq summary::-webkit-details-marker{display:none}
#tt .tt-faq summary::after{content:"";width:22px;height:22px;flex-shrink:0;border-radius:50%;background:var(--tt-violet-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236d28d9' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center/12px no-repeat;transition:transform .25s}
#tt .tt-faq details[open] summary::after{transform:rotate(45deg)}
#tt .tt-faq details p{margin:0;padding:0 22px 22px;color:var(--tt-muted);line-height:1.7;font-size:.94rem}
#tt .tt-help{margin-top:28px;padding:22px;border-radius:18px;background:#fff;border:1px solid var(--tt-line)}
#tt .tt-help b{display:block;margin-bottom:4px}
#tt .tt-help p{margin:0 0 14px;color:var(--tt-muted);font-size:.9rem}
#tt .tt-help a{color:var(--tt-violet-2);font-weight:600;font-size:.9rem;text-decoration:none}

/* ── CTA ── */
#tt .tt-cta{padding:0 0 112px;background:var(--tt-bg-soft)}
#tt .tt-cta-card{position:relative;border-radius:32px;padding:80px 48px;text-align:center;overflow:hidden;background:var(--tt-ink);color:#fff;isolation:isolate;border:1px solid rgba(74,222,128,.12)}
#tt .tt-cta-card::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 80% at 50% 0%,rgba(74,222,128,.14),transparent 70%),radial-gradient(40% 50% at 100% 100%,rgba(22,163,74,.12),transparent 70%)}
#tt .tt-cta-card::after{content:"";position:absolute;inset:0;z-index:-1;opacity:.3;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(ellipse at center,#000 20%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at center,#000 20%,transparent 75%)}
#tt .tt-cta-card h2{font-size:clamp(2rem,4.4vw,3.3rem);font-weight:600;letter-spacing:-.025em;line-height:1.05;margin:0 auto 18px;max-width:760px}
#tt .tt-cta-card h2 .tt-serif{color:#4ade80}
#tt .tt-cta-card p{color:#aab2c5;font-size:1.08rem;max-width:560px;margin:0 auto 34px;line-height:1.7}
#tt .tt-cta-card .tt-hero-actions{justify-content:center;margin-bottom:26px}
#tt .tt-cta-card .tt-hero-proof{justify-content:center}

/* reveal */
#tt .tt-r{opacity:0;transform:translateY(24px);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1)}
#tt .tt-r.tt-in{opacity:1;transform:none}
#tt .tt-d1{transition-delay:.08s}#tt .tt-d2{transition-delay:.16s}#tt .tt-d3{transition-delay:.24s}
@media (prefers-reduced-motion:reduce){
  #tt .tt-r{opacity:1;transform:none;transition:none}
  #tt .tt-float,#tt .tt-fb-meter,#tt .tt-fb-beam::after{animation:none}
  #tt .tt-scan i{animation:none!important;width:100%}
  #tt .tt-scan-log .gpt{animation:none!important}
  #tt .tt-window{transform:none}
  #tt .tt-bar i,#tt .tt-speed i{transition:none}
}

/* ── RESPONSIVE ── */
@media (max-width:1024px){
  #tt .tt-hero-grid,#tt .tt-split,#tt .tt-type,#tt .tt-faq-grid{grid-template-columns:1fr;gap:48px}
  #tt .tt-split--rev .tt-split-copy{order:0}
  #tt .tt-fb-meter{right:24px}
  #tt .tt-steps{grid-template-columns:1fr}
  #tt .tt-step{border-right:0;border-bottom:1px solid #e4e4e7}
  #tt .tt-step:last-child{border-bottom:0}
  #tt .tt-fw-tabs{grid-template-columns:repeat(2,1fr)}
  #tt .tt-fw-tab:nth-child(2){border-right:0}
  #tt .tt-fw-tab:nth-child(-n+2){border-bottom:1px solid #e4e4e7}
  #tt .tt-fw-panel{grid-template-columns:1fr}
  #tt .tt-fw-head{border-right:0;border-bottom:1px solid #e4e4e7;flex-direction:row;align-items:flex-end;gap:24px}
  #tt .tt-fw-score{border-top:0;padding-top:0;flex-shrink:0;justify-content:flex-end;max-width:140px}
  #tt .tt-fw-score small{text-align:right}
  #tt .tt-window{transform:none}
  #tt .tt-float--a{left:-8px}#tt .tt-float--b{right:-6px}
  #tt .tt-bento{grid-template-columns:1fr 1fr}
  #tt .tt-b-4,#tt .tt-b-2,#tt .tt-b-3{grid-column:span 1}
  #tt .tt-bento>.tt-b-4:first-child{grid-column:1/-1}
}
@media (max-width:760px){
  #tt .tt-section{padding:80px 0}
  #tt .tt-wrap{padding:0 16px}
  #tt .tt-hero{padding-top:120px}
  #tt .tt-why-grid,#tt .tt-steps,#tt .tt-related,#tt .tt-bento{grid-template-columns:1fr}
  #tt .tt-bento>.tt-b-4:first-child{grid-column:auto}
  #tt .tt-step{border-right:0;border-bottom:1px solid #e4e4e7}
  #tt .tt-step:last-child{border-bottom:0}
  #tt .tt-fw-tab{padding:16px;row-gap:12px}
  #tt .tt-fw-tab p,#tt .tt-fw-tab em{display:none}
  #tt .tt-fw-head{padding:24px;flex-direction:column;align-items:flex-start}
  #tt .tt-fw-score{justify-content:flex-start;max-width:none;padding-top:20px;border-top:1px dashed #e4e4e7}
  #tt .tt-fw-score small{text-align:left}
  #tt .tt-cmp-row{grid-template-columns:1fr 1fr}
  #tt .tt-cmp-l{grid-column:1/-1;padding:14px 16px 4px;border-bottom:0}
  #tt .tt-cmp-row:not(.tt-cmp-head):not(.tt-cmp-foot) .tt-cmp-c{padding:6px 16px 14px}
  #tt .tt-cmp-c{border-left:0;padding:14px 16px}
  #tt .tt-cmp-c+.tt-cmp-c{border-left:1px solid #f0f0f1}
  #tt .tt-cmp-head .tt-cmp-l{display:none}
  #tt .tt-cmp-head .tt-cmp-c,#tt .tt-cmp-foot .tt-cmp-c{padding:18px 16px}
  #tt .tt-cmp-head .tt-cmp-c:first-of-type{border-top-left-radius:20px}
  #tt .tt-cmp-head h3{font-size:1.2rem}
  #tt .tt-cmp-time b{font-size:1.6rem}
  #tt .tt-cmp-foot .tt-cmp-l{display:none}
  #tt .tt-cmp-btn{font-size:.78rem;padding:9px 12px}
  #tt .tt-factor{grid-template-columns:22px 1fr 40px;gap:8px 12px;padding:16px 20px}
  #tt .tt-factor .tt-bar{grid-column:2/-1;grid-row:2}
  #tt .tt-fw-note{padding:14px 20px}
  #tt .tt-app{grid-template-columns:1fr;justify-items:stretch}
  #tt .tt-scorecol{flex-direction:row;justify-content:center}
  #tt .tt-matrix{grid-template-columns:repeat(2,1fr)}
  #tt .tt-float{display:none}
  #tt .tt-engines-in{flex-direction:column;align-items:flex-start}
  #tt .tt-seg{display:flex;flex-wrap:wrap;justify-content:center}
  #tt .tt-seg button{padding:9px 12px;font-size:.84rem}
  #tt .tt-cta-card{padding:56px 22px;border-radius:24px}
  #tt .tt-panel-foot{grid-template-columns:1fr 1fr}
  #tt .tt-files{flex-direction:column}
  #tt .tt-fb-canvas{padding:20px 16px 178px}
  #tt .tt-fb-form{max-width:none}
  #tt .tt-fb-meter{top:auto;bottom:16px;right:16px;left:16px;width:auto;animation:none}
  #tt .tt-fb-steps{padding:16px 6px}
  #tt .tt-fb-steps>div{font-size:.66rem}
  #tt .tt-visual{padding:20px}
  #tt .tt-mtable{font-size:.76rem}
  #tt .tt-mtable th:nth-child(3),#tt .tt-mtable td:nth-child(3),#tt .tt-mtable th:nth-child(4),#tt .tt-mtable td:nth-child(4){display:none}
  #tt .tt-mtable td,#tt .tt-mtable th{padding-left:4px;padding-right:4px}
  #tt .tt-panel{padding:16px}
}

/* ── Bento visual animations (classes added by js/product.js) ── */
@keyframes ttAIn{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
@keyframes ttAFloat{0%,100%{translate:0 0}50%{translate:0 -6px}}
@keyframes ttAPulse{0%,100%{box-shadow:0 8px 20px -8px rgba(22,163,74,.6),0 0 0 0 rgba(22,163,74,.35)}50%{box-shadow:0 8px 20px -8px rgba(22,163,74,.6),0 0 0 6px rgba(22,163,74,0)}}
#tt .tt-bx .tt-a-in{opacity:0}
#tt .tt-bx.tt-play .tt-a-in{animation:ttAIn .6s cubic-bezier(.2,.8,.2,1) calc(var(--tt-i,0) * .12s) forwards}
#tt .tt-bx.tt-play .tt-a-in.tt-a-float{animation:ttAIn .6s cubic-bezier(.2,.8,.2,1) calc(var(--tt-i,0) * .12s) forwards,ttAFloat 5s ease-in-out calc(.9s + var(--tt-i,0) * .35s) infinite}
#tt .tt-bx.tt-play .tt-a-pulse:not(.tt-a-in){animation:ttAPulse 2.4s ease-in-out 1.4s infinite}
@media (prefers-reduced-motion:reduce){
  #tt .tt-bx .tt-a-in{opacity:1}
  #tt .tt-bx .tt-a-in,#tt .tt-bx .tt-a-pulse,#tt .tt-bx .tt-a-typing::after{animation:none !important}
}

/* bento loop helpers (js/product.js) */
#tt .tt-bx .tt-a-hot{background:#f0fdf4 !important;box-shadow:inset 0 0 0 1px #bbf7d0,0 6px 16px -10px rgba(22,163,74,.5);transition:background .3s,box-shadow .3s}
#tt .tt-bx .tt-a-typing::after{content:"";display:inline-block;width:1.5px;height:1em;margin-left:2px;vertical-align:-.15em;background:#16a34a;animation:ttACaret .9s step-end infinite}
@keyframes ttACaret{50%{opacity:0}}
#tt .tt-bx .tt-bx-art{isolation:isolate}

/* decorative mouse-pointer icons removed from all mockups */
#tt .tt-bx-cursor{display:none !important}

/* skeleton shimmer (js/product.js) */
#tt .tt-bx .tt-a-skel{background-image:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.75) 50%,transparent 80%);background-size:220% 100%;background-repeat:no-repeat;animation:ttASkel 2.2s ease-in-out infinite}
@keyframes ttASkel{from{background-position:130% 0}to{background-position:-130% 0}}
@media (prefers-reduced-motion:reduce){#tt .tt-bx .tt-a-skel{animation:none;background-image:none}}
