/* 3d.com/app.css — premium, mobile-first (320–430px pehle), halka 3D. Owner ke master prompt ka palette.
   27 Oct (v6): owner ke kehne par peela background + safed cards (pehle halka neela). Accent = kaala/charcoal.
   Spacing 8px ke hisaab se. Status kabhi sirf rang se nahi — icon + shabd bhi. Motion kam rakhne walon ke
   liye (prefers-reduced-motion) sab animation band. */

:root {
    --bg: #fffb10;          /* v17: main site ka theme peela (--secondary-color); page par gradient --bg-grad */
    --bg-grad: linear-gradient(to right, #ffab10, #fffb10, #ffab10);   /* main site ka --gradient-color */
    --blue: #1F2937;
    --blue-soft: #FFF6CC;
    --navy: #1A1A1A;
    --green: #10B981;
    --green-text: #047857;
    --amber: #F59E0B;
    --amber-text: #92400E;
    --purple: #7C3AED;
    --text: #1A1A1A;
    --muted: #5C4B12;
    --card: #FFFFFF;
    --line: #F0DF9A;
    --r-card: 22px;
    --shadow: 0 1px 2px rgba(60, 45, 0, .06), 0 8px 24px rgba(160, 110, 0, .10);
    --shadow-lift: 0 2px 4px rgba(60, 45, 0, .08), 0 14px 32px rgba(160, 110, 0, .16);
    --nav-h: 68px;
    --head-h: 70px;         /* v30: sticky naam-patti ki unchai (+8px top) — toast + anchor jump iske neeche; header v13 me hata tha */
    --demo-h: 0px;          /* DEMO patti v13 me hati */
    --placeholder: #6B5B2A; /* "–" / intezaar wale number — safed par 6:1+, peele tint par bhi 4.5:1 se upar */
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }   /* .d3-btn ka display:inline-flex `hidden` ko na dabaye (Skip button) */
html {
    background: var(--bg) var(--bg-grad);   /* overscroll me bhi wahi rang */
    scroll-behavior: smooth; -webkit-text-size-adjust: 100%;
    /* Tab se focus/anchor par jaate waqt cheez sticky header ya neeche ke nav ke peeche na chhupe */
    scroll-padding-top: calc(var(--head-h) + var(--demo-h) + 8px);
    scroll-padding-bottom: calc(var(--nav-h) + 16px + env(safe-area-inset-bottom, 0px));
}
html[data-mode="demo"] { scroll-padding-bottom: calc(var(--nav-h) + 80px + env(safe-area-inset-bottom, 0px)); }
body {
    margin: 0; background: var(--bg) var(--bg-grad); color: var(--text);   /* v17: 1xsatta jaisa orange-peela-orange */
    font-family: "Noto Sans Devanagari", "Noto Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
    font-size: 17px; line-height: 1.5;
    padding-bottom: calc(var(--nav-h) + 24px + env(safe-area-inset-bottom, 0px));
    -webkit-font-smoothing: antialiased;
}
/* DEMO button nav ke upar tairta hai — footer ke link uske neeche na chhupein */
body[data-mode="demo"] { padding-bottom: calc(var(--nav-h) + 88px + env(safe-area-inset-bottom, 0px)); }
a { color: var(--blue); }
button { font: inherit; }
.d3-visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.d3-muted { color: var(--muted); }
:focus-visible { outline: 3px solid var(--purple); outline-offset: 2px; border-radius: 8px; }

.d3-demo-tag {
    display: inline-block; margin-left: 4px; padding: 1px 7px; border-radius: 999px; vertical-align: 2px;
    font-size: .68rem; font-weight: 900; letter-spacing: .06em; line-height: 1.5;
    color: #5B21B6; background: #F1EAFF; border: 1px solid #D9C7FF;
}
.d3-nw { white-space: nowrap; }
.d3-site-status { margin: 12px auto 0; text-align: center; font-size: .82rem; font-weight: 700; color: #065F46; /* peele bg par 5:1+ */ }
.d3-site-status.is-slow { color: var(--amber-text); }
.d3-dot-ok { display: inline-block; width: 9px; height: 9px; border-radius: 50%; background: var(--green); margin-right: 4px; vertical-align: 1px; }
.d3-site-status.is-slow .d3-dot-ok { background: var(--amber); }

.d3-main { max-width: 1040px; margin: 0 auto; padding: 0 12px; }
.d3-section { margin-top: 32px; }   /* section jump ka offset html ka scroll-padding-top deta hai (dono hote to dugna) */
.d3-h { display: flex; align-items: center; gap: 8px; margin: 0 0 16px; font-size: 1.25rem; font-weight: 900; color: var(--navy); }
.d3-h i { color: var(--blue); }
.d3-sub { display: flex; align-items: center; gap: 8px; margin: 24px 0 12px; font-size: 1.05rem; font-weight: 800; color: var(--navy); }
.d3-sub i { color: var(--purple); }
.d3-empty { color: var(--muted); text-align: center; padding: 16px; margin: 0; }

/* ---------- hero ---------- */
.d3-hero {
    margin-top: 12px; display: grid; grid-template-columns: 42% minmax(0, 1fr); align-items: center; gap: 8px;
    background: radial-gradient(120% 90% at 0% 0%, #FFF3B8 0%, #fff 60%);
    border-radius: 26px; padding: 12px 16px 16px 4px; box-shadow: var(--shadow-lift);
    border: 1px solid #F5E3A0; position: relative; overflow: hidden;
}
.d3-hero::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 5px; background: linear-gradient(90deg, #F59E0B, #FFD84D, #F59E0B); }
.d3-robot { position: relative; width: 100%; max-width: 200px; aspect-ratio: 200 / 240; justify-self: center; }
.d3-robot-fallback { width: 100%; height: 100%; display: block; }
.d3-robot.has-3d .d3-robot-fallback { visibility: hidden; }
.d3-hero-info { text-align: center; }
.d3-hero-kicker { margin: 0; font-size: .9rem; font-weight: 800; color: var(--muted); letter-spacing: .02em; }
.d3-hero-name { margin: 2px 0 8px; font-size: 1.6rem; line-height: 1.15; font-weight: 900; color: var(--navy); }
.d3-hero-name small { display: block; font-size: .78rem; font-weight: 700; color: var(--muted); letter-spacing: .06em; }
.d3-hero-num {
    display: grid; place-items: center; width: fit-content; margin: 0 auto;
    min-width: 120px; height: 112px; padding: 0 16px; border-radius: 26px;
    font-size: 4.6rem; font-weight: 900; line-height: 1; color: var(--navy); letter-spacing: .02em;
    background: linear-gradient(180deg, #FFFFFF, #FFF3B8);
    border: 1px solid #F2D873;
    box-shadow: inset 0 2px 0 #fff, 0 6px 0 #E8C24A, 0 14px 26px rgba(160, 110, 0, .18);
}
.d3-hero-num-wait { color: var(--placeholder); }
.d3-hero-num.is-new { animation: d3-settle .8s cubic-bezier(.2, .9, .25, 1.2) both; }
.d3-pill { display: flex; width: fit-content; align-items: center; gap: 6px; margin: 14px auto 4px; padding: 6px 12px; border-radius: 999px; font-weight: 800; font-size: .95rem; }
.d3-pill-done { background: #E7F8F1; color: var(--green-text); border: 1px solid #B7EBD6; }
.d3-pill-wait { background: #FFF4D6; color: var(--amber-text); border: 1px solid #F8D58A; }
.d3-hero-meta { margin: 4px 0 0; font-size: .85rem; color: var(--muted); font-weight: 600; }
.d3-hero-yday { margin: 8px 0 0; font-size: .95rem; color: var(--muted); }
.d3-hero-yday b { color: var(--navy); font-size: 1.15rem; }

.d3-next {
    margin: 16px auto 0; width: fit-content; max-width: 100%; text-align: center; padding: 8px 16px; border-radius: 999px;
    background: #fff; border: 1px solid var(--line); box-shadow: 0 2px 0 var(--line); font-size: .92rem; color: var(--navy);
}
.d3-next i { color: var(--purple); }

/* ---------- result cards ---------- */
.d3-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 12px; }
@media (min-width: 640px) { .d3-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; } }
@media (min-width: 960px) { .d3-cards { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.d3-card {
    position: relative; background: var(--card); border-radius: var(--r-card); padding: 16px 12px 12px;
    box-shadow: var(--shadow); border: 1px solid #F5E7AE; text-align: center; overflow: hidden;
    animation: d3-enter .45s cubic-bezier(.2, .8, .2, 1) both; animation-delay: calc(var(--i, 0) * 40ms);
}
.d3-cards.is-live .d3-card { animation: none; }
.d3-card::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 5px; background: var(--line); }
.d3-card.is-done::before { background: var(--green); }
.d3-card.is-wait::before { background: var(--amber); }
.d3-card.is-soon::before { background: var(--blue); }
.d3-card.is-late::before { background: #F3C77A; }
.d3-card-head h3 { margin: 0; font-size: 1.15rem; line-height: 1.2; font-weight: 900; color: var(--navy); }
.d3-card-en { display: block; font-size: .68rem; font-weight: 700; color: var(--muted); letter-spacing: .06em; text-transform: uppercase; margin-top: 2px; }
.d3-card-num {
    margin: 12px auto 8px; width: 84px; height: 72px; display: grid; place-items: center; border-radius: 18px;
    font-size: 2.6rem; font-weight: 900; line-height: 1; color: var(--navy);
    background: linear-gradient(180deg, #fff, #FFF4C2); border: 1px solid #F2D873;
    box-shadow: inset 0 2px 0 #fff, 0 4px 0 #EBCF6A, 0 8px 14px rgba(160, 110, 0, .12);
}
.d3-card:not(.is-done) .d3-card-num { color: var(--placeholder); }
.d3-card-num.is-new { animation: d3-settle .7s cubic-bezier(.2, .9, .25, 1.2) both; background: linear-gradient(180deg, #F2FFF9, #DFF7EC); border-color: #B7EBD6; }
.d3-status { margin: 0; display: inline-flex; align-items: center; gap: 6px; font-size: .88rem; font-weight: 800; padding: 4px 10px; border-radius: 999px; }
.d3-status-done { color: var(--green-text); background: #E7F8F1; }
.d3-status-wait { color: var(--amber-text); background: #FFF4D6; }
.d3-status-soon { color: #000000; background: var(--blue-soft); }
.d3-status-late { color: var(--amber-text); background: #FFF8E8; }
.d3-card-foot { margin-top: 12px; padding-top: 8px; border-top: 1px dashed var(--line); display: flex; justify-content: space-between; gap: 8px; font-size: .8rem; color: var(--muted); }
.d3-card-foot b { color: var(--navy); font-size: .95rem; }

/* ---------- kal / tareekh ---------- */
.d3-date-title { margin: 0 0 12px; font-weight: 800; color: var(--muted); font-size: .95rem; }
.d3-mini-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
@media (min-width: 640px) { .d3-mini-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
.d3-mini { background: #fff; border: 1px solid #F5E7AE; border-radius: 16px; padding: 8px 4px; text-align: center; box-shadow: 0 2px 0 var(--line); }
.d3-mini span { display: block; font-size: .78rem; font-weight: 700; color: var(--muted); line-height: 1.2; min-height: 2.4em; }
.d3-mini b { display: block; font-size: 1.6rem; font-weight: 900; color: var(--navy); line-height: 1.2; }

/* ---------- history ---------- */
.d3-chips { display: flex; gap: 8px; overflow-x: auto; padding: 6px 6px 12px; margin: 0 -6px;   /* focus ring (3px + 2px) patti me na kate */
    scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.d3-chips::-webkit-scrollbar { display: none; }
.d3-chip {
    flex: 0 0 auto; min-height: 48px; padding: 8px 16px; border-radius: 999px; border: 1px solid var(--line);
    background: #fff; color: var(--navy); font-weight: 800; cursor: pointer; box-shadow: 0 2px 0 var(--line);
}
.d3-chip.is-on { background: var(--blue); border-color: var(--blue); color: #FFD84D; box-shadow: 0 3px 0 #000000; }
.d3-month-nav { display: flex; justify-content: space-between; gap: 8px; margin: 4px 0 8px; }
.d3-panel { background: #fff; border-radius: var(--r-card); padding: 4px 12px 16px; box-shadow: var(--shadow); border: 1px solid #F5E7AE; min-height: 60px; transition: opacity .2s ease; }
.d3-panel:empty { display: none; }
.d3-panel.is-loading { opacity: .5; }
.d3-last7 { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
.d3-l7 { text-align: center; background: #FFFBEA; border: 1px solid #F3E3A0; border-radius: 12px; padding: 6px 2px; }
.d3-l7 b { display: block; font-size: 1.25rem; font-weight: 900; color: var(--navy); }
.d3-l7 span { display: block; font-size: .64rem; color: var(--muted); font-weight: 700; }
.d3-cal { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
.d3-cal-wd { text-align: center; font-size: .72rem; font-weight: 800; color: var(--muted); padding: 4px 0; }
.d3-cal-d { min-height: 52px; border-radius: 12px; background: #FFFBEA; border: 1px solid #F5EAC0; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.d3-cal-d small { font-size: .66rem; color: var(--muted); font-weight: 700; line-height: 1; }
.d3-cal-d b { font-size: 1.15rem; font-weight: 900; color: var(--placeholder); line-height: 1.3; }
.d3-cal-d.has-v { background: #FFF3B8; border-color: #F0D46A; }
.d3-cal-d.has-v b { color: var(--navy); }
.d3-cal-d.is-today { outline: 2px solid var(--blue); outline-offset: -2px; }
.d3-cal-d.is-future { background: #fff; border-style: dashed; }   /* opacity se ank 1.9:1 ho jaate the; ab number hi nahi, sirf tareekh (muted, 4.5:1+) */
.d3-date-form { display: flex; gap: 8px; margin-bottom: 12px; }
.d3-date-form input { flex: 1; min-height: 48px; border-radius: 14px; border: 1px solid #E5CB6A; padding: 0 12px; font: inherit; color: var(--navy); background: #fff; }

/* ---------- updates ---------- */
.d3-updates { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.d3-updates li { display: flex; align-items: center; gap: 12px; background: #fff; border-radius: 18px; padding: 8px 12px; border: 1px solid #F5E7AE; box-shadow: 0 2px 0 var(--line); }
.d3-up-num { width: 56px; height: 48px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 14px; font-size: 1.6rem; font-weight: 900; color: var(--navy); background: linear-gradient(180deg, #fff, #FFF4C2); border: 1px solid #F2D873; }
.d3-up-txt b { display: block; font-size: 1.05rem; color: var(--navy); }
.d3-up-txt small { color: var(--muted); font-weight: 600; }

/* ---------- buttons ---------- */
.d3-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 48px; padding: 0 16px;
    border-radius: 14px; border: 0; cursor: pointer; font-weight: 800; color: #fff; text-decoration: none;
    background: linear-gradient(180deg, #2B2B2B, #111111); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 4px 0 #000000;   /* safed text 14:1+ */
    transition: transform .08s ease, box-shadow .08s ease;
}
.d3-btn:active { transform: translateY(3px); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .3), 0 1px 0 #000000; }
/* Band button: opacity nahi (wo focus ring ko bhi fika karti) — chapta (bina 3D kinare) + halka rang. Shakal ka
   farq (utha hua vs chapta) bhi sanket hai, sirf rang nahi. Text #5B6782 on #F6F1DE = 5.0:1. */
.d3-btn:disabled, .d3-btn[aria-disabled="true"] {
    cursor: default; transform: none; color: var(--muted); background: #F6F1DE; box-shadow: none;
    border: 1px dashed #D9C88A;
}
.d3-btn[aria-disabled="true"]:active { transform: none; }
/* DEMO button sirf jawab ke intezaar me (100ms) busy — tab kaala-peela hi rahe, flash na kare; khatam = upar wala look */
.d3-demo-btn[aria-disabled="true"]:not([data-done]) {
    color: #FFD84D; background: linear-gradient(180deg, #2B2B2B, #111111); border: 2px solid #FFD84D;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 4px 0 #000000;
}
.d3-demo-short { display: none; }
.d3-btn-soft { color: var(--blue); background: var(--blue-soft); box-shadow: 0 3px 0 #E8C24A; }
.d3-btn-soft:active { box-shadow: 0 1px 0 #E8C24A; }

/* ---------- toast / demo / menu ---------- */
/* beech me left/right + auto margin se (transform nahi — d3-enter animation transform badalti hai) */
.d3-toast {
    position: fixed; left: 0; right: 0; margin: 0 auto; top: calc(var(--head-h) + var(--demo-h) + 8px); z-index: 60;
    width: min(92vw, 420px); display: flex; align-items: center; justify-content: space-between; gap: 8px;
    background: #fff; border-radius: 18px; padding: 8px 8px 8px 16px; box-shadow: var(--shadow-lift);
    border: 1px solid #B7EBD6; border-left: 6px solid var(--green); font-weight: 800; color: var(--navy);
    animation: d3-enter .3s ease both;
}
.d3-toast[hidden] { display: none; }
.d3-demo-btn {
    position: fixed; left: 0; right: 0; margin: 0 auto; width: fit-content; max-width: calc(100vw - 24px); z-index: 40;
    bottom: calc(var(--nav-h) + 12px + env(safe-area-inset-bottom, 0px)); text-align: center; line-height: 1.2;
    color: #FFD84D; background: linear-gradient(180deg, #2B2B2B, #111111); border: 2px solid #FFD84D;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 4px 0 #000000;   /* kaala + peela (v6) — peela text 12:1+ */
}
/* ---------- bottom nav ---------- */
.d3-nav {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 45; height: calc(var(--nav-h) + env(safe-area-inset-bottom, 0px));
    padding: 6px 8px env(safe-area-inset-bottom, 0px); display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px;
    background: rgba(255, 255, 255, .95); border-top: 1px solid var(--line); box-shadow: 0 -6px 20px rgba(60, 45, 0, .06);
}
.d3-nav a {
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-height: 56px;
    border-radius: 16px; text-decoration: none; color: var(--muted); font-weight: 800; font-size: .82rem;
}
.d3-nav a i { font-size: 1.35rem; }
.d3-nav a.is-on { color: var(--navy); background: #FFD84D; }

/* ---------- footer ---------- */
.d3-foot { margin: 40px 0 8px; text-align: center; font-size: .82rem; color: var(--muted); line-height: 1.6; }
.d3-foot-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.d3-foot-links a {
    display: inline-flex; align-items: center; min-height: 48px; padding: 0 16px; border-radius: 14px;
    font-weight: 800; text-decoration: none; background: #fff; border: 1px solid var(--line); box-shadow: 0 2px 0 var(--line);
}

/* ---------- motion ---------- */
@keyframes d3-enter { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@keyframes d3-settle {
    0% { transform: perspective(400px) rotateX(75deg) scale(.85); opacity: 0; }
    60% { transform: perspective(400px) rotateX(-12deg) scale(1.04); opacity: 1; }
    100% { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .d3-card, .d3-toast, .d3-card-num.is-new, .d3-hero-num.is-new { animation: none !important; }
    .d3-btn, .d3-icon-btn, .d3-panel { transition: none; }
}
/* menu me "एनीमेशन: बंद" (app.js html[data-anim=off]) — robot ke saath ye bhi band */
html[data-anim="off"] { scroll-behavior: auto; }
html[data-anim="off"] .d3-card, html[data-anim="off"] .d3-toast,
html[data-anim="off"] .d3-card-num.is-new, html[data-anim="off"] .d3-hero-num.is-new { animation: none !important; }
html[data-anim="off"] .d3-btn, html[data-anim="off"] .d3-icon-btn, html[data-anim="off"] .d3-panel { transition: none; }

/* ---------- bade phone / desktop ---------- */
@media (max-width: 360px) {
    .d3-hero-num { min-width: 100px; height: 96px; font-size: 3.8rem; }
    .d3-hero-name { font-size: 1.35rem; }
    .d3-pill { font-size: .86rem; padding: 6px 10px; }
    .d3-card-num { width: 74px; height: 64px; font-size: 2.2rem; }
}
@media (max-width: 300px) {
    .d3-l7 b { font-size: 1rem; }
    .d3-cards { gap: 12px 8px; }
}
/* landscape phone / chhoti unchai: DEMO button chhota gol (sirf icon) daayein — hero number na dhake */
@media (max-height: 480px) {
    /* DEMO button baayein chhota gol (sirf icon; lamba text screen reader ke liye maujood) — daayein hero ka
       status pill hota hai, baayein sirf sajaawati robot */
    .d3-demo-btn { left: 12px; right: auto; margin: 0; width: 48px; min-height: 48px; padding: 0; border-radius: 999px; }
    .d3-demo-btn span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}
/* landscape me jagah hai: goli me "DEMO" / "DEMO ✓" bhi */
@media (orientation: landscape) and (max-height: 480px) {
    .d3-demo-btn { left: auto; right: 12px; width: auto; min-width: 48px; padding: 0 14px; }
    .d3-demo-short { display: inline; }
}
@media (min-width: 720px) {
    .d3-hero { grid-template-columns: 240px minmax(0, 1fr); padding: 24px 32px; }
    .d3-hero-num { min-width: 150px; height: 140px; font-size: 6rem; }
    .d3-hero-name { font-size: 2rem; }
    .d3-nav { left: 50%; right: auto; transform: translateX(-50%); width: min(560px, 100%); bottom: 12px; border-radius: 22px; border: 1px solid var(--line); height: var(--nav-h); padding: 6px; }
    .d3-demo-btn { bottom: calc(var(--nav-h) + 24px); }
}
/* landscape phone (chaudi par neechi, 568–932px): hero chhota, taaki bada number neeche ke nav ke upar dikhe */
@media (orientation: landscape) and (max-height: 480px) {
    .d3-hero { padding: 12px 24px; grid-template-columns: 160px minmax(0, 1fr); }
    .d3-robot { max-width: 140px; }
    .d3-hero-num { min-width: 110px; height: 88px; font-size: 3.6rem; }
    .d3-hero-name { font-size: 1.5rem; margin-bottom: 4px; }
    .d3-site-status { margin-top: 4px; }
}
/* bahut neechi landscape (568×320 jaise): number nav ke upar rahe — angrezi naam chhupa, number chhota */
@media (orientation: landscape) and (max-height: 340px) {
    .d3-hero { margin-top: 6px; padding: 8px 20px; }
    .d3-hero-kicker { margin: 0; }
    .d3-hero-name { font-size: 1.2rem; margin: 0 0 2px; }
    .d3-hero-name small { display: none; }
    .d3-hero-num { min-width: 96px; height: 64px; font-size: 2.8rem; border-radius: 20px; }
    .d3-site-status { margin-top: 2px; font-size: .75rem; }
    .d3-robot { max-width: 110px; }
}

/* ---------- auto games section (v8) — upar ke admin wale cards se alag dikhe ---------- */
.d3-auto-note {
    margin: -8px 0 16px; padding: 8px 12px; border-radius: 14px; font-size: .88rem; font-weight: 700; line-height: 1.4;
    color: var(--navy); background: #FFF6CC; border: 1px dashed #D9B23A;
}
.d3-auto-note i { color: var(--amber-text); }
.d3-card-auto { background: #FFFDF3; border-style: dashed; border-color: #E5CB6A; }
.d3-auto-tag {
    position: absolute; top: 8px; right: 8px; padding: 1px 7px; border-radius: 999px;
    font-size: .66rem; font-weight: 900; letter-spacing: .04em; line-height: 1.5;
    color: #FFD84D; background: #1F2937;
}
/* chart chips + tareekh khoj me auto (v9) */
.d3-auto-tag-inline { position: static; display: inline-block; vertical-align: 2px; margin-left: 2px; }
.d3-chip-auto { border-style: dashed; border-color: #D9B23A; background: #FFFDF3; }
.d3-chip-auto.is-on .d3-auto-tag { color: #1F2937; background: #FFD84D; }
.d3-date-auto { margin-top: 16px; }
.d3-mini-auto { background: #FFFDF3; border-style: dashed; border-color: #E5CB6A; }
#d3-hist .d3-auto-note { margin: 12px 0 0; }

/* ---------- v10: saal ka chart (star + सुनें v11 me hataye) ---------- */
.d3-date-form select {
    flex: 1; min-height: 48px; border-radius: 14px; border: 1px solid #E5CB6A; padding: 0 12px; font: inherit; font-weight: 800;
    color: var(--navy); background: #fff;
}
.d3-year-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 0 -4px; border-radius: 12px; border: 1px solid var(--line); }
.d3-year { border-collapse: separate; border-spacing: 0; min-width: 100%; font-size: .9rem; text-align: center; }
.d3-year th, .d3-year td { padding: 5px 4px; min-width: 38px; border-bottom: 1px solid #F5EAC0; }
.d3-year thead th { position: sticky; top: 0; background: #1F2937; color: #FFD84D; font-weight: 800; font-size: .78rem; }
.d3-year tbody th { position: sticky; left: 0; z-index: 1; background: #FFF3B8; color: var(--navy); font-weight: 800; }
.d3-year thead th:first-child { left: 0; z-index: 2; }
.d3-year td { font-weight: 900; color: var(--navy); background: #fff; }
.d3-year td.is-x { background: #F6F1DE; }
.d3-year td.is-today { outline: 2px solid var(--navy); outline-offset: -2px; }
.d3-year td.is-future { background: #FFFBEA; }
.d3-year-link { margin: 12px 0 0; text-align: center; }

/* ---------- v16: robot ke upar "1X SATTA" patti (main site ke .blinking-website-name jaisi) ---------- */
.d3-strip {
    margin: 12px 0 0; padding: 14px 12px; border-radius: 18px; text-align: center;
    background: linear-gradient(to right, #ffab10, #fffb10, #ffab10);   /* main site ka --gradient-color */
    color: #000; font-weight: 900; font-size: 1.7rem; line-height: 1.1; letter-spacing: .06em;
    border: 2px solid #000; box-shadow: var(--shadow);   /* background bhi yahi gradient hai (v17) — kaali kinari se patti alag dikhe */
}
.d3-strip span { display: inline-block; animation: d3-blink 2s ease-in-out infinite; }   /* main site jaisa blink */
@keyframes d3-blink { 0%, 100% { opacity: 1; } 50% { opacity: .1; } }
/* v30 (owner: "ye area scroll me fix rahe aur focus me aaye"): sticky + halki chamak (shine sweep) + dhadakti peeli roshni (glow);
   chipakte hi (.is-stuck, app.js IntersectionObserver) thoda compact + gehri parchhai. Kam-motion me sirf sticky, koi animation nahi. */
.d3-strip { position: sticky; top: 8px; z-index: 50; overflow: hidden; animation: d3-glow 2.4s ease-in-out infinite; transition: padding .2s ease, font-size .2s ease; }
.d3-strip-sentinel { height: 1px; margin: 0; }
.d3-strip-link { display: block; color: inherit; text-decoration: none; }
.d3-strip-link:focus-visible { outline: 3px solid #fff; outline-offset: -6px; border-radius: 12px; }
.d3-strip::after { content: ''; position: absolute; top: -10%; bottom: -10%; left: -45%; width: 30%; pointer-events: none;
    background: linear-gradient(100deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .85) 50%, rgba(255, 255, 255, 0) 100%);
    transform: skewX(-20deg); animation: d3-shine 3.4s ease-in-out infinite; }
.d3-strip.is-stuck { padding: 9px 12px; font-size: 1.4rem; }
@keyframes d3-shine { 0% { left: -45%; } 55%, 100% { left: 125%; } }
@keyframes d3-glow { 0%, 100% { box-shadow: 0 0 0 0 rgba(255, 171, 16, 0), 0 8px 24px rgba(60, 45, 0, .22); } 50% { box-shadow: 0 0 0 7px rgba(255, 171, 16, .45), 0 10px 28px rgba(60, 45, 0, .3); } }
@media (prefers-reduced-motion: reduce) { .d3-strip, .d3-strip span, .d3-strip::after { animation: none; } .d3-strip { box-shadow: 0 8px 24px rgba(60, 45, 0, .22); } }
html[data-anim="off"] .d3-strip, html[data-anim="off"] .d3-strip span, html[data-anim="off"] .d3-strip::after { animation: none; }
@media (max-width: 360px) { .d3-strip { font-size: 1.45rem; padding: 12px 8px; } .d3-strip.is-stuck { font-size: 1.25rem; padding: 8px 8px; } }
@media (min-width: 720px) { :root { --head-h: 104px; } .d3-strip { font-size: 2rem; padding: 18px 16px; } .d3-strip.is-stuck { font-size: 1.6rem; padding: 10px 16px; } }

/* ---------- v18: robot ko chhedo — bubble, tap bounce (SVG), cursor ---------- */
.d3-robot { cursor: pointer; -webkit-tap-highlight-color: transparent; user-select: none; -webkit-user-select: none; touch-action: manipulation; }
.d3-robot:focus-visible { outline: 3px solid var(--purple); outline-offset: 4px; border-radius: 16px; }
.d3-bubble {
    position: absolute; left: 50%; top: 0; transform: translateX(-50%); z-index: 3; max-width: 96%; width: max-content;
    padding: 6px 10px; border-radius: 14px; background: #fff; border: 2px solid #1F2937; color: var(--navy);
    font-size: .8rem; font-weight: 800; line-height: 1.25; text-align: center; box-shadow: var(--shadow); pointer-events: none;
}
.d3-bubble::after {   /* neeche ki poonchh (robot ke sir ki taraf) */
    content: ""; position: absolute; left: 50%; bottom: -8px; width: 12px; height: 12px; background: #fff;
    border-right: 2px solid #1F2937; border-bottom: 2px solid #1F2937; transform: translateX(-50%) rotate(45deg);
}
.d3-bubble.is-pop { animation: d3-pop .22s cubic-bezier(.2, .9, .3, 1.3) both; }
@keyframes d3-pop { from { opacity: 0; transform: translateX(-50%) scale(.8); } to { opacity: 1; transform: translateX(-50%) scale(1); } }
.d3-robot-fallback.is-poked { animation: d3-poke .6s cubic-bezier(.2, .9, .3, 1.2); transform-origin: 50% 100%; }
@keyframes d3-poke { 0% { transform: none; } 30% { transform: translateY(-12px) rotate(-4deg); } 60% { transform: translateY(0) rotate(3deg); } 100% { transform: none; } }
@media (prefers-reduced-motion: reduce) { .d3-bubble.is-pop, .d3-robot-fallback.is-poked { animation: none; } }
html[data-anim="off"] .d3-bubble.is-pop, html[data-anim="off"] .d3-robot-fallback.is-poked { animation: none; }
@media (max-width: 360px) { .d3-bubble { font-size: .72rem; padding: 5px 8px; } }

/* ---------- v19: तय समय ka countdown chip + aakhri minute me number ka dabba ---------- */
.d3-hero-count { margin: 8px 0 0; }
.d3-count { display: inline-block; padding: 4px 12px; border-radius: 999px; background: #1F2937; color: #FFD84D; font-weight: 900; font-size: .95rem; line-height: 1.3; white-space: nowrap; }
.d3-count.is-soon { background: #B45309; color: #fff; }   /* 5 min se kam */
.d3-count.is-now { background: #DC2626; color: #fff; animation: d3-pulse 1s ease-in-out infinite; }   /* aakhri minute */
.d3-count.is-late { background: #4B5563; color: #fff; }   /* samay beet gaya */
.d3-count-sm { padding: 1px 8px; font-size: .8rem; vertical-align: 1px; }
@keyframes d3-pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.07); } }
.d3-hero-num.is-drum { animation: d3-drum .45s ease-in-out infinite; }
@keyframes d3-drum { 0%, 100% { transform: rotate(-2deg) translateY(0); } 50% { transform: rotate(2deg) translateY(-3px); } }
@media (prefers-reduced-motion: reduce) { .d3-count.is-now, .d3-hero-num.is-drum { animation: none; } }
html[data-anim="off"] .d3-count.is-now, html[data-anim="off"] .d3-hero-num.is-drum { animation: none; }

/* ---------- v21: robot ki aawaz ka button (hero ke daayein-upar kone me; sirf jab Hindi aawaz ho) ---------- */
.d3-voice {
    position: absolute; top: 10px; left: 10px; z-index: 4; width: 38px; height: 38px; border-radius: 12px; display: none; place-items: center;   /* review fix: baayein-upar (robot column me jagah khaali); daayein lambe game-naam ko dhak deta tha */
    border: 1px solid var(--line); background: #fff; color: var(--navy); font-size: 1.1rem; cursor: pointer; box-shadow: 0 2px 0 var(--line);
}
html.can-speak .d3-voice { display: grid; }
.d3-voice[aria-pressed="false"] { color: var(--muted); }
.d3-voice:active { transform: translateY(2px); box-shadow: none; }
@media (min-width: 720px) { .d3-voice { left: auto; right: 10px; } }   /* desktop: naam door, robot bada — daayein hi theek */
/* review fix (v19): hero ka chip column ko chauda na kare / clip na ho — wrap ho sakta hai (minmax(0,1fr) upar) */
.d3-hero-count .d3-count { white-space: normal; max-width: 100%; }

/* ---------- v22: robot se baat (rule-based chat — bina AI) ---------- */
.d3-chat { margin-top: 20px; }
.d3-chat-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
.d3-chat-chips .d3-chip { min-height: 44px; padding: 6px 12px; font-size: .9rem; }
.d3-msgs { display: flex; flex-direction: column; gap: 8px; max-height: 340px; overflow-y: auto; padding: 4px 2px 10px; }
.d3-msgs:empty { display: none; }
.d3-msg { max-width: 88%; padding: 8px 12px; border-radius: 16px; font-weight: 700; line-height: 1.4; white-space: pre-line; overflow-wrap: anywhere; }
.d3-msg.me { align-self: flex-end; background: #1F2937; color: #FFD84D; border-bottom-right-radius: 4px; }
.d3-msg.bot { align-self: flex-start; background: #fff; color: var(--navy); border: 1px solid var(--line); border-bottom-left-radius: 4px; box-shadow: 0 2px 0 var(--line); }
.d3-chat-form { display: flex; gap: 8px; }
.d3-chat-form input { flex: 1; min-width: 0; min-height: 48px; border-radius: 14px; border: 1px solid #E5CB6A; padding: 0 12px; font: inherit; color: var(--navy); background: #fff; }
.d3-chat-form .d3-btn { padding: 0 14px; flex: 0 0 auto; }
.d3-mic.is-on { color: #fff; background: #DC2626; box-shadow: 0 3px 0 #7F1D1D; animation: d3-pulse 1s ease-in-out infinite; }
.d3-chat-note { margin: 8px 0 0; font-size: .8rem; color: var(--muted); font-weight: 700; }
@media (prefers-reduced-motion: reduce) { .d3-mic.is-on { animation: none; } }
/* v23: AI jawab ka intezaar */
.d3-msg.is-wait { color: var(--muted); font-style: italic; }

/* ---------- v24: rows (owner) — गेम | कल | आज; pehla khaana peela gradient (main site ki tables jaisa) ---------- */
.d3-rows { grid-column: 1 / -1; width: 100%; border-collapse: separate; border-spacing: 0 8px; }
.d3-rows th, .d3-rows td { padding: 8px 6px; text-align: center; vertical-align: middle; }
.d3-rows thead th { padding: 6px; font-size: .8rem; font-weight: 900; letter-spacing: .02em; background: #1F2937; color: #FFD84D; }
.d3-rows thead th:first-child { border-radius: 10px 0 0 10px; text-align: left; padding-left: 12px; }
.d3-rows thead th:last-child { border-radius: 0 10px 10px 0; }
.d3-row > * { background: #fff; border-top: 1px solid #F5E7AE; border-bottom: 1px solid #F5E7AE; }
.d3-row > :first-child { border-left: 5px solid var(--line); border-radius: 14px 0 0 14px; }
.d3-row > :last-child { border-right: 1px solid #F5E7AE; border-radius: 0 14px 14px 0; }
.d3-row.is-done > :first-child { border-left-color: var(--green); }
.d3-row.is-wait > :first-child { border-left-color: var(--amber); }
.d3-row.is-soon > :first-child { border-left-color: var(--blue); }
.d3-row.is-late > :first-child { border-left-color: #F3C77A; }
.d3-row-name { text-align: left !important; width: 44%; background: linear-gradient(90deg, #FFF3B8, #FFFBEA) !important; padding-left: 10px !important; }
.d3-row-name b { display: block; font-size: 1.05rem; line-height: 1.15; font-weight: 900; color: var(--navy); }
.d3-row-name small { display: block; margin-top: 1px; font-size: .62rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.d3-row-time { display: block; margin-top: 3px; font-size: .72rem; font-weight: 700; color: var(--muted); }
.d3-row-y { width: 20%; font-size: 1.35rem; font-weight: 900; color: var(--navy); line-height: 1.1; }
.d3-row-y small { display: block; font-size: .6rem; font-weight: 700; color: var(--muted); }
.d3-row-t { width: 36%; }
.d3-row-t .d3-card-num { width: 66px; height: 54px; margin: 0 auto 4px; font-size: 1.9rem; border-radius: 14px; box-shadow: inset 0 2px 0 #fff, 0 3px 0 #EBCF6A, 0 6px 10px rgba(160, 110, 0, .12); }
.d3-row:not(.is-done) .d3-card-num { color: var(--placeholder); }
.d3-row-t .d3-status { font-size: .7rem; padding: 2px 8px; gap: 4px; }
.d3-rows .d3-demo-tag, .d3-rows .d3-auto-tag { position: static; display: inline-block; margin-top: 2px; vertical-align: 1px; }
.d3-row-auto > :first-child { background: linear-gradient(90deg, #FFF8DC, #FFFDF3) !important; }
@media (max-width: 360px) {
    .d3-row-name b { font-size: .95rem; } .d3-row-y { font-size: 1.15rem; }
    .d3-row-t .d3-card-num { width: 56px; height: 48px; font-size: 1.6rem; }
}
@media (min-width: 640px) { .d3-row-name { width: 40%; } .d3-row-t .d3-card-num { width: 76px; height: 60px; font-size: 2.2rem; } }
.d3-row-t .d3-status { white-space: nowrap; }   /* v24: pill ek line me */

/* ---------- v25: neeche-daayein — bhasha toggle + agent WhatsApp (main site ke .sl-float-* jaisa) ---------- */
.d3-float { position: fixed; right: 12px; bottom: calc(var(--nav-h) + 14px + env(safe-area-inset-bottom, 0px)); z-index: 46; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.d3-float-btn { display: inline-flex; align-items: center; justify-content: center; width: 54px; height: 54px; border-radius: 50%; border: 0; cursor: pointer; text-decoration: none; color: #fff; box-shadow: 0 6px 16px rgba(60, 45, 0, .25); transition: transform .08s ease; }
.d3-float-btn:active { transform: translateY(2px); }
.d3-float-wa { background: #25D366; } .d3-float-wa:hover { background: #1da851; color: #fff; }
.d3-float-wa i { font-size: 1.7rem; line-height: 1; }
.d3-float-lang { background: #1F2937; color: #FFD84D; font-weight: 900; font-size: 1rem; letter-spacing: .02em; width: 48px; height: 48px; }
html[data-mode="demo"] .d3-float { bottom: calc(var(--nav-h) + 84px + env(safe-area-inset-bottom, 0px)); }   /* DEMO button se upar */
@media (min-width: 720px) { .d3-float { right: 18px; bottom: 100px; } .d3-float-btn { width: 62px; height: 62px; } .d3-float-wa i { font-size: 1.95rem; } .d3-float-lang { width: 52px; height: 52px; } }

/* ---------- v26 (owner, 28 Oct): laal + royal blue + baingani — peele background, kaale text aur safed cards ke saath.
   Roles: LAAL = aaj ka number (hero/rows/updates), countdown chip, late status; ROYAL BLUE = headings, table headers,
   chune hue chips, "me" chat bubble, Send/mic button, links, nav; BAINGANI = soon status, bhasha button, sub-icons, DEMO tag.
   DEMO button, "1X SATTA" patti aur robot pehle jaise (kaala-peela). Poora block hatao = purana look (v25). ---------- */
:root { --red: #D7263D; --red-deep: #B91C1C; --red-soft: #FEE2E2; --royal: #1D4ED8; --royal-deep: #1E3A8A; --royal-line: #BFCBFF; --violet: #6D28D9; --violet-soft: #EDE4FF; }
a { color: var(--royal); }
.d3-h { color: var(--royal-deep); }
.d3-h i { color: var(--red); }
.d3-hero-name { color: var(--royal-deep); }
.d3-hero-num { color: var(--red); }
.d3-hero-num-wait { color: var(--placeholder); }   /* intezaar me "–" placeholder hi (laal nahi) */
.d3-card-num, .d3-up-num { color: var(--red); }
.d3-row:not(.is-done) .d3-card-num, .d3-card:not(.is-done) .d3-card-num { color: var(--placeholder); }
.d3-count { background: var(--red); color: #fff; }
.d3-count.is-soon { background: var(--red-deep); }
.d3-count.is-late { background: #4B5563; }
.d3-rows thead th, .d3-year thead th { background: var(--royal); color: #FFE866; }
.d3-row.is-soon > :first-child { border-left-color: var(--violet); }
.d3-row.is-late > :first-child { border-left-color: var(--red); }
.d3-status-soon { color: var(--violet); background: var(--violet-soft); }
.d3-status-late { color: var(--red-deep); background: var(--red-soft); }
.d3-chip.is-on { background: var(--royal); border-color: var(--royal); color: #fff; box-shadow: 0 3px 0 var(--royal-deep); }
.d3-chip-auto.is-on .d3-auto-tag { color: #fff; background: var(--violet); }
.d3-chat-chips .d3-chip { color: var(--royal-deep); border-color: var(--royal-line); box-shadow: 0 2px 0 var(--royal-line); }
.d3-msg.me { background: var(--royal); color: #fff; }
.d3-msg.bot { border-color: #D8C8FF; box-shadow: 0 2px 0 #D8C8FF; }
.d3-chat-form .d3-btn { background: linear-gradient(180deg, #2F63F0, var(--royal)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 4px 0 var(--royal-deep); }
.d3-chat-form .d3-btn:active { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 0 var(--royal-deep); }
.d3-mic.is-on { background: #DC2626; box-shadow: 0 3px 0 #7F1D1D; }
.d3-cal-d.has-v b { color: var(--red); }
.d3-cal-d.is-today { outline-color: var(--royal); }
.d3-nav a { color: var(--royal-deep); }
.d3-nav a.is-on { color: var(--navy); background: #FFD84D; }
.d3-foot-links a { color: var(--royal-deep); }
.d3-float-lang { background: var(--violet); color: #fff; }
.d3-next { border-color: var(--royal-line); box-shadow: 0 2px 0 var(--royal-line); }
.d3-next b { color: var(--royal-deep); }
.d3-demo-tag { color: var(--violet); }
.d3-btn-soft { color: var(--royal-deep); }
.d3-date-title { color: var(--royal-deep); }

/* ---------- v32 (owner): Disawar rows ke upar alag, beech me — main site ke #game-over-results (naam, samay, kal → aaj) jaisa, isi theme me ---------- */
.d3-feat { grid-column: 1 / -1; margin: 0 auto 6px; width: 100%; max-width: 420px; text-align: center; background: #fff; border: 1px solid #F5E7AE; border-top: 5px solid var(--red); border-radius: 18px; padding: 12px 14px 14px; box-shadow: var(--shadow); }
.d3-feat.is-done { border-top-color: var(--green); }
.d3-feat.is-soon { border-top-color: var(--violet); }
.d3-feat.is-wait { border-top-color: var(--amber); }
.d3-feat-name { margin: 0; font-size: 1.4rem; font-weight: 900; color: var(--royal-deep); line-height: 1.15; }
.d3-feat-name small { display: block; font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.d3-feat-time { margin: 4px 0 8px; font-size: .8rem; font-weight: 700; color: var(--muted); }
.d3-feat-nums { display: flex; align-items: center; justify-content: center; gap: 14px; }
.d3-feat-y small, .d3-feat-t small { display: block; font-size: .7rem; font-weight: 800; letter-spacing: .04em; color: var(--muted); margin-bottom: 3px; }
.d3-feat-y b { display: grid; place-items: center; min-width: 66px; height: 56px; padding: 0 10px; border-radius: 14px; font-size: 1.75rem; font-weight: 900; color: var(--navy); background: #FFF8E1; border: 1px solid #F2D873; }
.d3-feat-arrow { font-size: 1.4rem; color: var(--royal); margin-top: 16px; }
.d3-feat-t .d3-card-num { width: 86px; height: 68px; margin: 0; font-size: 2.4rem; border-radius: 16px; }
.d3-feat:not(.is-done) .d3-card-num { color: var(--placeholder); }
.d3-feat .d3-status { margin-top: 8px; }
.d3-feat-chart { display: inline-block; margin: 8px 0 0; font-size: .8rem; font-weight: 800; color: var(--royal-deep); text-decoration: none; border: 1px solid var(--royal-line); border-radius: 999px; padding: 4px 10px; background: #fff; }
.d3-feat .d3-demo-tag { position: static; display: inline-block; margin-left: 6px; vertical-align: 1px; }
@media (max-width: 360px) { .d3-feat-t .d3-card-num { width: 74px; height: 60px; font-size: 2.05rem; } .d3-feat-y b { min-width: 58px; height: 50px; font-size: 1.5rem; } }

/* ---------- v33 (owner): rows me naam ke neeche "रिकॉर्ड चार्ट" link (DEMO tag ki jagah); "ऑटो" ka koi nishaan nahi ---------- */
.d3-row-chart { display: inline-flex; align-items: center; gap: 4px; margin-top: 5px; padding: 2px 9px; border-radius: 999px; font-size: .68rem; font-weight: 800; letter-spacing: .02em; color: var(--royal-deep); background: #fff; border: 1px solid var(--royal-line); text-decoration: none; min-height: 24px; }
.d3-row-chart:active { transform: translateY(1px); }
.d3-auto-tag, .d3-auto-note, .d3-date-auto { display: none !important; }
.d3-chip-auto { border-style: solid; border-color: var(--line); background: #fff; }
#auto.d3-section { margin-top: 0; }
.d3-rows-auto { margin-top: -8px; }

/* ---------- v34 (owner: "record chart ke liye robotic kuch do — site ka context robotic rahe"): robot-panel buttons ----------
   .d3-robo = kaala panel (robot ke seene jaisa), peela text, robot icon, baayein hari LED jo dheere dhadakti hai; hover/focus par LED peeli.
   Rows (.d3-row-chart), Disawar card (.d3-feat-chart) aur saal ke chart ka link (.d3-robo-lg) — teeno ek jaise. Kam-motion me LED sthir. */
.d3-robo { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px 3px 8px; min-height: 26px; border-radius: 8px; position: relative;
    font-size: .7rem; font-weight: 800; letter-spacing: .05em; color: #FFD84D; text-decoration: none; white-space: nowrap;
    background: linear-gradient(180deg, #2B3340, #111827); border: 1px solid #3F4A5C; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 2px 0 #000; }
.d3-robo .bi { font-size: 1em; color: #FFD84D; }
.d3-robo::before { content: ''; flex: 0 0 auto; width: 6px; height: 6px; border-radius: 50%; background: #22C55E; box-shadow: 0 0 6px #22C55E; animation: d3-led 1.6s ease-in-out infinite; }
@keyframes d3-led { 0%, 100% { opacity: 1; } 50% { opacity: .3; } }
.d3-robo:hover, .d3-robo:focus-visible { color: #FFF3B0; border-color: #FFD84D; }
.d3-robo:hover::before, .d3-robo:focus-visible::before { background: #FFD84D; box-shadow: 0 0 7px #FFD84D; animation: none; }
.d3-robo:active { transform: translateY(1px); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 1px 0 #000; }
.d3-row-chart.d3-robo { margin-top: 6px; }
.d3-feat-chart.d3-robo { margin-top: 8px; font-size: .78rem; padding: 5px 12px 5px 10px; border-radius: 10px; }
.d3-robo-lg { font-size: .9rem; padding: 0 16px 0 12px; min-height: 48px; border-radius: 14px; gap: 8px; }
.d3-robo-lg::before { width: 8px; height: 8px; }
@media (prefers-reduced-motion: reduce) { .d3-robo::before { animation: none; } }
html[data-anim="off"] .d3-robo::before { animation: none; }

/* ---------- v35 (owner: "record chart ka size chhota rakho"): robotic chart buttons chhote; tap ke liye ::after se chhupa bada area ---------- */
.d3-robo { gap: 4px; padding: 1px 7px 1px 6px; min-height: 19px; border-radius: 6px; font-size: .58rem; letter-spacing: .04em; }
.d3-robo::before { width: 5px; height: 5px; box-shadow: 0 0 4px #22C55E; }
.d3-robo::after { content: ''; position: absolute; inset: -8px -4px; }   /* chhota dikhe, ungli se dabana aasaan rahe */
.d3-row-chart.d3-robo { margin-top: 4px; }
.d3-feat-chart.d3-robo { margin-top: 6px; font-size: .64rem; padding: 2px 8px 2px 7px; border-radius: 7px; }
.d3-robo-lg { font-size: .72rem; padding: 0 11px 0 9px; min-height: 30px; border-radius: 9px; gap: 6px; }
.d3-robo-lg::before { width: 6px; height: 6px; }

/* ---------- v36 (review fixes): calendar ke laal ank AA contrast (4.43 → 5.78:1), saal ki table me "aaj" bhi royal, cluster safe-area ---------- */
.d3-cal-d.has-v b { color: var(--red-deep); }
.d3-year td.is-today { outline-color: var(--royal); }
.d3-float { right: calc(12px + env(safe-area-inset-right, 0px)); }
@media (min-width: 720px) { .d3-float { right: calc(18px + env(safe-area-inset-right, 0px)); } }

/* ---------- v37 (owner): robot rassi se right se result khinchta hai; result card rassi ke saath dabbe tak aakar rukta hai; phir naach ----------
   Parten: robot (1) < rassi (2) < hero ki jaankari/dabba (3) < aata hua card (4). Rassi = do path (gehra bhoora + halki bunavat dash). */
.d3-hero > .d3-robot { z-index: 1; }
.d3-hero > .d3-hero-slot { position: relative; z-index: 3; }
.d3-rope { position: absolute; left: 0; top: 0; width: 100%; height: 100%; z-index: 2; pointer-events: none; overflow: visible; opacity: 0; filter: drop-shadow(0 2px 1px rgba(60, 30, 0, .28)); }
.d3-rope path { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.d3-rope-b { stroke: #7A4A1E; stroke-width: 5; }
.d3-rope-t { stroke: #D9A35E; stroke-width: 2.6; stroke-dasharray: 6 6; }
.d3-rope-card { position: absolute !important; left: 0; top: 0; z-index: 4; margin: 0 !important; min-width: 0 !important; pointer-events: none; will-change: transform; }
.d3-rope-card::before { content: ''; position: absolute; left: -12px; top: 50%; width: 10px; height: 10px; margin-top: -8px; border-radius: 50%; border: 3px solid #7A4A1E; background: #D9A35E; }
.d3-rope-card.is-dock { animation: d3-dock .14s ease-out forwards; }
@keyframes d3-dock { 0% { opacity: 1; scale: 1; } 100% { opacity: 0; scale: 1; } }   /* v45: card aur dabba ek jaise — bina uchhle mit-ta */
.d3-hero-num.is-incoming { color: transparent !important; text-shadow: none !important; }   /* v38: khaali dabbe me number ki parchhai bhi nahi */
.d3-robot-fallback.is-dance { animation: d3-fdance .5s ease-in-out 6; transform-origin: 50% 100%; }
@keyframes d3-fdance { 0%, 100% { transform: rotate(0) translateY(0); } 25% { transform: rotate(-8deg) translateY(-6px); } 50% { transform: rotate(0) translateY(0); } 75% { transform: rotate(8deg) translateY(-6px); } }
@media (prefers-reduced-motion: reduce) { .d3-rope, .d3-rope-card { display: none; } .d3-robot-fallback.is-dance { animation: none; } }

/* ---------- v38 (owner: realistic rassi + exact fit + cinematic): camera zoom/kampan, letterbox + vignette, card ka pichakna, dhool, chamak, chingari ---------- */
.d3-hero { transition: transform .8s cubic-bezier(.2, .8, .2, 1); }
.d3-hero.is-cine { transform: scale(var(--cine-s, 1.04)); }   /* v45: zoom jagah ke hisaab se (app.js cineStart) */
.d3-hero.is-shake { animation: d3-cshake .2s ease-out; }
.d3-hero.is-shake2 { animation: d3-cshake2 .34s ease-out; }
@keyframes d3-cshake { 0%, 100% { translate: 0 0; } 25% { translate: -2px 1px; } 50% { translate: 2px -1px; } 75% { translate: -1px 0; } }
@keyframes d3-cshake2 { 0%, 100% { translate: 0 0; } 15% { translate: -4px 2px; } 35% { translate: 4px -2px; } 55% { translate: -3px 1px; } 75% { translate: 2px 0; } }
.d3-cine { position: absolute; inset: 0; z-index: 5; pointer-events: none; border-radius: inherit; box-shadow: inset 0 0 70px rgba(30, 16, 0, .38); opacity: 0; transition: opacity .5s ease; }
.d3-cine.is-on { opacity: 1; }
.d3-cine::before, .d3-cine::after { content: ''; position: absolute; left: 0; right: 0; height: 10px; background: #111; transition: transform .5s cubic-bezier(.2, .8, .2, 1); }
.d3-cine::before { top: 0; transform: translateY(-100%); }
.d3-cine::after { bottom: 0; transform: translateY(100%); }
.d3-cine.is-on::before, .d3-cine.is-on::after { transform: none; }
.d3-rope-card { box-shadow: 0 10px 18px rgba(80, 50, 0, .28), inset 0 2px 0 #fff !important; }
.d3-rope-card.is-squash { animation: d3-squash .24s ease-out; }
@keyframes d3-squash { 0% { scale: 1 1; } 35% { scale: .9 1.07; } 100% { scale: 1 1; } }
.d3-dust, .d3-flash, .d3-spark { position: absolute; pointer-events: none; }
.d3-dust { z-index: 3; width: 12px; height: 12px; margin: -6px 0 0 -6px; border-radius: 50%; background: radial-gradient(circle, rgba(150, 110, 50, .5), rgba(150, 110, 50, 0) 70%); animation: d3-dust .65s ease-out forwards; }
@keyframes d3-dust { 0% { opacity: .9; transform: scale(.6); } 100% { opacity: 0; transform: translate(12px, -9px) scale(2.4); } }
.d3-flash { z-index: 5; width: 44px; height: 44px; margin: -22px 0 0 -22px; border-radius: 50%; background: radial-gradient(circle, rgba(255, 255, 255, .95), rgba(255, 230, 120, .6) 40%, rgba(255, 200, 60, 0) 70%); animation: d3-flash .55s ease-out forwards; }
@keyframes d3-flash { 0% { opacity: 1; transform: scale(.3); } 100% { opacity: 0; transform: scale(5); } }
.d3-spark { z-index: 5; width: 6px; height: 6px; margin: -3px 0 0 -3px; border-radius: 2px; background: #FFD84D; box-shadow: 0 0 6px #FFB300; animation: d3-spark .62s ease-out forwards; }
@keyframes d3-spark { 0% { opacity: 1; transform: translate(0, 0) scale(1); } 100% { opacity: 0; transform: translate(var(--dx), var(--dy)) scale(.4); } }
@media (prefers-reduced-motion: reduce) { .d3-hero.is-cine { transform: none; } .d3-hero.is-shake, .d3-hero.is-shake2 { animation: none; } .d3-cine, .d3-dust, .d3-flash, .d3-spark { display: none; } }

/* ---------- v40 (owner): naam = safed signboard, do keelon se do rassiyon par latka, hawa me jhoolta (app.js signSway) ----------
   Peeli jhapakti patti (v16/v30) ki jagah — padhne me dhyan tike: safed board, gehra naam, kaali kinari + andar peeli lakeer. Sticky wahi. */
:root { --head-h: 92px; }
.d3-sign { position: sticky; top: 0; z-index: 50; margin: 4px 0 0; padding: 30px 6px 6px; pointer-events: none; }
.d3-sign-ropes { position: absolute; left: 0; top: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.d3-sign-rope { fill: none; stroke: #7A4A1E; stroke-width: 2.6; stroke-linecap: round; filter: drop-shadow(0 1px 0 rgba(0, 0, 0, .25)); }
.d3-sign-nail { position: absolute; top: 2px; width: 10px; height: 10px; margin-left: -5px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #F5F5F5, #8A8F98 55%, #3B3F46); box-shadow: 0 1px 2px rgba(0, 0, 0, .45); }
.d3-sign-nail.is-l { left: 14%; } .d3-sign-nail.is-r { left: 86%; }
.d3-sign-board { position: relative; display: block; pointer-events: auto; text-align: center; text-decoration: none; padding: 10px 12px; border-radius: 12px;
    background: linear-gradient(180deg, #FFFFFF, #FFF9EA); border: 3px solid #1F2937; box-shadow: inset 0 0 0 2px #FFD84D, 0 10px 18px rgba(60, 40, 0, .28);
    color: #14213D; font-weight: 900; font-size: 1.65rem; line-height: 1.1; letter-spacing: .06em; transform-origin: 50% 0; will-change: transform; }
.d3-sign-board .d3-strip-txt { display: inline-block; }
.d3-sign-ring { position: absolute; top: -7px; width: 10px; height: 10px; margin-left: -5px; border-radius: 50%; border: 2.5px solid #5B5F66; background: transparent; }
.d3-sign-ring.is-l { left: 14%; } .d3-sign-ring.is-r { left: 86%; }
.d3-sign-board:focus-visible { outline: 3px solid var(--royal); outline-offset: 3px; }
.d3-sign.is-stuck .d3-sign-board { font-size: 1.35rem; padding: 7px 12px; box-shadow: inset 0 0 0 2px #FFD84D, 0 8px 20px rgba(60, 40, 0, .35); }
@media (max-width: 360px) { .d3-sign-board { font-size: 1.4rem; } .d3-sign.is-stuck .d3-sign-board { font-size: 1.2rem; } }
@media (min-width: 720px) { .d3-sign-board { font-size: 2rem; padding: 14px 16px; } .d3-sign.is-stuck .d3-sign-board { font-size: 1.6rem; padding: 9px 16px; } }
@media (min-width: 720px) { :root { --head-h: 110px; } }   /* v40: bade board ke hisaab se (upar wala :root 92px desktop par yahan badla) */
/* v40: chipakne par upar lakdi ki patli beam — keelein usme lagi dikhen (hawa me nahi) */
.d3-sign::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 12px; border-radius: 0 0 6px 6px; background: linear-gradient(180deg, #9A6630, #6B4220); box-shadow: 0 2px 4px rgba(0, 0, 0, .3); opacity: 0; transition: opacity .25s ease; }
.d3-sign.is-stuck::before { opacity: 1; }

/* ---------- v42 (owner: v41 ki akshar-lehar "ajib hai, kuch simple"): naam sthir; har ~4.5 s board par se ek halki sunehri chamak guzarti hai
   (::after, background-position — board ke andar hi, kade nahi kat-te). Kam-motion me nahi. (v41 akshar-lehar backup v42-simple-sheen/ me) ---------- */
.d3-sign-board::after { content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
    background: linear-gradient(105deg, rgba(255, 216, 77, 0) 38%, rgba(255, 216, 77, .55) 48%, rgba(255, 255, 255, .7) 50%, rgba(255, 216, 77, .55) 52%, rgba(255, 216, 77, 0) 62%) no-repeat;
    background-size: 260% 100%; background-position: 130% 0; animation: d3-sheen 4.5s ease-in-out 1s infinite; }
@keyframes d3-sheen { 0% { background-position: 130% 0; } 30%, 100% { background-position: -30% 0; } }
@media (prefers-reduced-motion: reduce) { .d3-sign-board::after { animation: none; opacity: 0; } }
html[data-anim="off"] .d3-sign-board::after { animation: none; opacity: 0; }

/* ---------- v43 (owner: "aise karo jaise is board ko kapde se saaf kar raha hai koi"): har 9 s ek neela kapda (microfiber) right se aata hai,
   left-right ragad-ragad kar (scrub) board saaf karta hua left nikal jaata hai; uske peeche saaf chamak (v42 wali ::after, ab kapde ke saath),
   aakhir me teen chamakte taare. Kapda board ke saath jhoolta hai. Kam-motion me kuch nahi. ---------- */
.d3-sign-cloth { position: absolute; z-index: 2; top: 50%; left: 104%; width: 46px; height: 38px; margin: -19px 0 0 -23px; pointer-events: none; opacity: 0;
    border-radius: 45% 55% 40% 60% / 55% 40% 60% 45%;
    background: repeating-linear-gradient(135deg, rgba(255, 255, 255, .2) 0 2px, rgba(255, 255, 255, 0) 2px 5px), linear-gradient(160deg, #60A5FA, #2563EB 60%, #1D4ED8);
    box-shadow: 0 5px 9px rgba(0, 0, 0, .3), inset -3px -4px 0 rgba(0, 0, 0, .16);
    animation: d3-wipe 9s ease-in-out -4.44s infinite; }   /* pehli safai ~1.5 s par (cycle ka 66% − 1.5 s), phir har 9 s */
.d3-sign-cloth::before { content: ''; position: absolute; right: -7px; top: 3px; width: 19px; height: 15px; border-radius: 40% 60% 50% 50%; background: linear-gradient(160deg, #93C5FD, #3B82F6); box-shadow: 0 2px 3px rgba(0, 0, 0, .2); transform: rotate(22deg); }
.d3-sign-cloth::after { content: ''; position: absolute; left: 8px; bottom: 6px; width: 24px; height: 2px; border-radius: 2px; background: rgba(255, 255, 255, .35); transform: rotate(-8deg); }
/* ragadna: right se left aage badhte hue chhote aage-peeche stroke (left %), upar-neeche + ghoomna + dabana (scale) */
@keyframes d3-wipe {
    0%, 66% { left: 104%; opacity: 0; transform: rotate(0) scale(1); }
    68% { left: 92%; opacity: 1; transform: translateY(-7px) rotate(-12deg) scale(1); }
    71% { left: 74%; transform: translateY(6px) rotate(10deg) scale(.94, 1.05); }
    74% { left: 84%; transform: translateY(-6px) rotate(-10deg) scale(1); }
    77% { left: 58%; transform: translateY(7px) rotate(12deg) scale(.94, 1.05); }
    80% { left: 68%; transform: translateY(-6px) rotate(-10deg) scale(1); }
    83% { left: 40%; transform: translateY(6px) rotate(10deg) scale(.94, 1.05); }
    86% { left: 50%; transform: translateY(-7px) rotate(-12deg) scale(1); }
    89% { left: 22%; transform: translateY(6px) rotate(10deg) scale(.94, 1.05); }
    92% { left: 30%; transform: translateY(-6px) rotate(-8deg) scale(1); }
    95% { left: 6%; opacity: 1; transform: translateY(4px) rotate(8deg) scale(.96, 1.04); }
    98%, 100% { left: -10%; opacity: 0; transform: translateY(-4px) rotate(-6deg) scale(1); }
}
/* saaf chamak ab kapde ke saath (v42 ki alag 4.5 s wali chamak ki jagah) */
.d3-sign-board::after { animation: d3-shine-wipe 9s ease-in-out -4.44s infinite; }
@keyframes d3-shine-wipe { 0%, 68% { background-position: 130% 0; opacity: 0; } 70% { opacity: 1; } 96% { background-position: -30% 0; opacity: 1; } 100% { background-position: -30% 0; opacity: 0; } }
.d3-sign-spark { position: absolute; z-index: 2; pointer-events: none; font-size: 1rem; line-height: 1; color: #F59E0B; text-shadow: 0 0 6px #FFD84D; opacity: 0; transform: scale(.2); animation: d3-sparkle 9s ease-out -4.44s infinite; }
.d3-sign-spark.s1 { left: 9%; top: 12%; } .d3-sign-spark.s2 { left: 52%; top: 64%; animation-delay: -4.29s; } .d3-sign-spark.s3 { left: 88%; top: 18%; animation-delay: -4.14s; }
@keyframes d3-sparkle { 0%, 93% { opacity: 0; transform: scale(.2) rotate(0); } 96% { opacity: 1; transform: scale(1.15) rotate(30deg); } 100% { opacity: 0; transform: scale(.5) rotate(60deg); } }
@media (prefers-reduced-motion: reduce) { .d3-sign-cloth, .d3-sign-spark { display: none; } }
html[data-anim="off"] .d3-sign-cloth, html[data-anim="off"] .d3-sign-spark { display: none; }

/* ---------- v44 (owner): chhota sweeper robot hero board ki upar wali kinari par left → right chalta hai, haath me wiper (squeegee) —
   board ke BAHAR (andar ka kuch nahi dhakta); peeche kinari par chamakti saaf lakeer. Har 14 s, pehli baar ~4.7 s par. Sirf CSS. ---------- */
.d3-walker-lane { position: relative; z-index: 2; height: 30px; margin-top: 4px; overflow: hidden; pointer-events: none; }
.d3-walker-lane + .d3-hero { margin-top: 0; }
.d3-walker { position: absolute; bottom: 0; left: -44px; width: 36px; height: 30px; overflow: visible; animation: d3-walk 14s linear 4.7s infinite; }
@keyframes d3-walk { 0% { left: -44px; } 2% { left: -40px; } 52% { left: calc(100% + 8px); } 100% { left: calc(100% + 8px); } }
.d3-wk-leg { transform-box: fill-box; transform-origin: 50% 0; animation: d3-wk-step .42s ease-in-out infinite alternate; }
.d3-wk-leg.l2 { animation-delay: -.42s; }
@keyframes d3-wk-step { 0% { transform: rotate(22deg); } 100% { transform: rotate(-22deg); } }
.d3-wk-body { animation: d3-wk-bob .42s ease-in-out infinite alternate; }
@keyframes d3-wk-bob { 0% { transform: translateY(0); } 100% { transform: translateY(-1px); } }
.d3-walker-trail { position: absolute; left: 0; bottom: 0; height: 4px; width: 0; border-radius: 3px; opacity: 0;
    background: linear-gradient(90deg, rgba(255, 216, 77, 0), rgba(255, 255, 255, .95) 40%, #FFD84D 70%, rgba(255, 216, 77, .2));
    box-shadow: 0 0 8px rgba(255, 216, 77, .8); animation: d3-trail 14s linear 4.7s infinite; }
@keyframes d3-trail { 0%, 2% { width: 0; opacity: 0; } 4% { opacity: 1; } 52% { width: 100%; opacity: 1; } 62%, 100% { width: 100%; opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .d3-walker-lane { visibility: hidden; height: 12px; margin-top: 0; } .d3-walker, .d3-walker-trail, .d3-wk-leg, .d3-wk-body { animation: none; } }
html[data-anim="off"] .d3-walker-lane { visibility: hidden; height: 12px; margin-top: 0; }

/* ---------- v45 (rassi review fixes): saaf "baith gaya", side-scroll nahi ---------- */
.d3-hero-num.is-landed { animation: d3-land .32s ease-out; }
@keyframes d3-land { 0% { scale: .97; } 60% { scale: 1.03; } 100% { scale: 1; } }
html, body { overflow-x: clip; }   /* zoom/effects se kabhi side-scroll nahi (clip sticky ko nahi todta) */
@media (prefers-reduced-motion: reduce) { .d3-hero-num.is-landed { animation: none; } }

/* ---------- v46 (owner: "top se ek robot nikle, haath me kapda, board saaf karke wapas peeche chala jaaye, realistic; pehle wala swiper hatao"):
   window-cleaner jaisa robot — upar se cable par utar-ta, ek haath se cable pakde, doosre haath ke neele kapde se gol-gol ragadte hue board par
   left → right, cable par halka jhoolta, phir wapas upar chadh jaata. Har 12 s (pehli baar ~1.3 s par). Board ke saath hi jhoolta (board ke andar).
   v43 ka tairta kapda aur v44 ka kinari wala sweeper hataye. Kam-motion me nahi. ---------- */
.d3-sign-cloth, .d3-walker-lane { display: none !important; }
.d3-cleaner { position: absolute; z-index: 3; top: -8px; left: 8%; width: 40px; height: 46px; margin-left: -20px; pointer-events: none; opacity: 0;
    transform: translateY(-150px); animation: d3-clean 12s ease-in-out -5.6s infinite; }
.d3-cleaner svg { display: block; overflow: visible; filter: drop-shadow(0 3px 2px rgba(0, 0, 0, .25)); }
@keyframes d3-clean {
    0%, 57% { left: 8%; opacity: 0; transform: translateY(-150px) rotate(0); }
    58% { opacity: 1; }
    63% { left: 8%; transform: translateY(2px) rotate(-3deg); }        /* utar kar halka uchhal (cable khinchti) */
    65% { left: 8%; transform: translateY(-3px) rotate(2deg); }
    67% { left: 14%; transform: translateY(0) rotate(-2deg); }
    71% { left: 30%; transform: translateY(1px) rotate(3deg); }
    75% { left: 44%; transform: translateY(-1px) rotate(-3deg); }
    79% { left: 60%; transform: translateY(1px) rotate(3deg); }
    83% { left: 74%; transform: translateY(-1px) rotate(-2deg); }
    87% { left: 88%; transform: translateY(0) rotate(2deg); }
    89% { left: 88%; transform: translateY(2px) rotate(-1deg); }
    96% { left: 88%; opacity: 1; transform: translateY(-150px) rotate(0); }   /* wapas upar chadhna */
    97%, 100% { left: 88%; opacity: 0; transform: translateY(-150px) rotate(0); }
}
.d3-cl-arm { transform-box: fill-box; transform-origin: 0% 0%; animation: d3-scrub .3s ease-in-out infinite alternate; }
@keyframes d3-scrub { 0% { transform: rotate(-28deg) translate(0, 0); } 100% { transform: rotate(18deg) translate(1px, 1px); } }
.d3-cl-legs { transform-box: fill-box; transform-origin: 50% 0; animation: d3-dangle .9s ease-in-out infinite alternate; }
@keyframes d3-dangle { 0% { transform: rotate(-7deg); } 100% { transform: rotate(7deg); } }
/* chamak ab robot ke peeche left → right; taare safai ke baad */
.d3-sign-board::after { animation: d3-shine-clean 12s ease-in-out -5.6s infinite; }
@keyframes d3-shine-clean { 0%, 65% { background-position: -30% 0; opacity: 0; } 67% { opacity: 1; } 88% { background-position: 130% 0; opacity: 1; } 92%, 100% { background-position: 130% 0; opacity: 0; } }
.d3-sign-spark { animation: d3-sparkle2 12s ease-out -5.6s infinite; }
.d3-sign-spark.s2 { animation-delay: -5.45s; } .d3-sign-spark.s3 { animation-delay: -5.3s; }
@keyframes d3-sparkle2 { 0%, 88% { opacity: 0; transform: scale(.2) rotate(0); } 91% { opacity: 1; transform: scale(1.15) rotate(30deg); } 95%, 100% { opacity: 0; transform: scale(.5) rotate(60deg); } }
@media (prefers-reduced-motion: reduce) { .d3-cleaner { display: none; } }
html[data-anim="off"] .d3-cleaner { display: none; }

/* ---------- v47 (owner): muskurata insaan board ke peeche se haathon ke bal upar aata hai, haath maar kar board saaf karta hai, hi-bye karke
   wapas peeche utar jaata hai. Parten: sharir (peeche, z 1, board ke neeche kinare par kata) < board (z 2) < haath (aage, z 3).
   14 s chakkar, pehli baar ~2 s par. v46 ka cable-robot hata. Kam-motion me nahi. Insaan x = board ka 30%. ---------- */
.d3-cleaner { display: none !important; }
.d3-sign-board { z-index: 2; }
.d3-peek { position: absolute; left: 6px; top: -10px; width: calc(100% - 12px); height: 88px; pointer-events: none; transform-origin: 50% 40px; }
.d3-peek-b { z-index: 1; overflow: hidden; }
.d3-peek-f { z-index: 3; overflow: visible; }
.d3-pk-person { position: absolute; left: calc(30% - 22px); top: 16px; overflow: visible; transform: translateY(32px); animation: d3-pk-person 14s ease-in-out -5.56s infinite; }
@keyframes d3-pk-person {
    0%, 55.5% { transform: translateY(32px); }
    58.5% { transform: translateY(-2px); }      /* haathon ke bal khud ko upar kheenchna */
    60% { transform: translateY(1px); }
    61.5%, 86% { transform: translateY(0); }
    90%, 100% { transform: translateY(32px); }   /* wapas peeche */
}
.d3-pk-head { transform-box: fill-box; transform-origin: 50% 100%; animation: d3-pk-head 14s ease-in-out -5.56s infinite; }
@keyframes d3-pk-head { 0%, 61% { transform: rotate(0); } 63% { transform: rotate(-9deg); } 66% { transform: rotate(5deg); } 70% { transform: rotate(-4deg); } 76% { transform: rotate(3deg); } 79% { transform: rotate(9deg); } 84% { transform: rotate(-5deg); } 87%, 100% { transform: rotate(0); } }
.d3-pk-eye { transform-box: fill-box; transform-origin: 50% 50%; animation: d3-pk-blink 14s linear -5.56s infinite; }
@keyframes d3-pk-blink { 0%, 64%, 65.2%, 81%, 82.2%, 100% { transform: scaleY(1); } 64.6%, 81.6% { transform: scaleY(.15); } }
/* kinari par pakadte haath (ungliyaan aage mud-ti) */
.d3-pk-grip { position: absolute; top: 35px; width: 13px; height: 9px; margin-left: -6.5px; border-radius: 6px 6px 4px 4px; opacity: 0;
    background: repeating-linear-gradient(90deg, #F2C29B 0 2.6px, #E3A97D 2.6px 3.2px); box-shadow: 0 1px 1px rgba(0, 0, 0, .25);
    animation: d3-pk-grip 14s ease-out -5.56s infinite; }
.d3-pk-grip.is-l { left: calc(30% - 12px); }
.d3-pk-grip.is-r { left: calc(30% + 12px); animation-name: d3-pk-grip-r; }
@keyframes d3-pk-grip { 0%, 53% { opacity: 0; transform: translateY(7px); } 55% { opacity: 1; transform: translateY(0); } 89% { opacity: 1; transform: translateY(0); } 91%, 100% { opacity: 0; transform: translateY(7px); } }
@keyframes d3-pk-grip-r { 0%, 53% { opacity: 0; transform: translateY(7px); } 55%, 62.4% { opacity: 1; transform: translateY(0); } 63%, 85.6% { opacity: 0; } 86.4%, 89% { opacity: 1; transform: translateY(0); } 91%, 100% { opacity: 0; transform: translateY(7px); } }
/* daayaan haath: board ke saamne aage-peeche "haath maar kar" saaf, phir upar utha kar hi-bye (kandha = kinari par) */
.d3-pk-arm { position: absolute; left: calc(30% + 12px); top: 38px; width: 7px; height: 25px; margin-left: -3.5px; border-radius: 4px; opacity: 0;
    background: linear-gradient(180deg, #2563EB 0 26%, #F2C29B 26%); transform-origin: 50% 2px; box-shadow: 0 1px 2px rgba(0, 0, 0, .2);
    animation: d3-pk-arm 14s ease-in-out -5.56s infinite; }
.d3-pk-arm::after { content: ''; position: absolute; left: 50%; bottom: -7px; width: 12px; height: 13px; margin-left: -6px; border-radius: 45% 45% 50% 50%;
    background: radial-gradient(circle at 40% 35%, #F7D2B0, #F2C29B 60%, #E3A97D); box-shadow: 0 1px 2px rgba(0, 0, 0, .25); }
@keyframes d3-pk-arm {
    0%, 62.5% { opacity: 0; transform: rotate(-20deg); }
    63% { opacity: 1; transform: rotate(-30deg); }
    65.5% { transform: rotate(62deg); }
    68% { transform: rotate(-58deg); }
    70.5% { transform: rotate(60deg); }
    73% { transform: rotate(-52deg); }
    75.5% { transform: rotate(42deg); }
    77% { transform: rotate(0deg); }
    79% { transform: rotate(-165deg); }
    80.5% { transform: rotate(-140deg); }
    82% { transform: rotate(-178deg); }
    83.5% { transform: rotate(-145deg); }
    85% { opacity: 1; transform: rotate(-172deg); }
    86% { opacity: 0; transform: rotate(-90deg); }
    100% { opacity: 0; transform: rotate(-20deg); }
}
/* chamak + taare ab insaan ki safai ke saath */
.d3-sign-board::after { animation: d3-shine-pk 14s ease-in-out -5.56s infinite; }
@keyframes d3-shine-pk { 0%, 64% { background-position: -30% 0; opacity: 0; } 66% { opacity: 1; } 77% { background-position: 130% 0; opacity: 1; } 80%, 100% { background-position: 130% 0; opacity: 0; } }
.d3-sign-spark { animation: d3-sparkle3 14s ease-out -5.56s infinite; }
.d3-sign-spark.s2 { animation-delay: -5.42s; } .d3-sign-spark.s3 { animation-delay: -5.28s; }
@keyframes d3-sparkle3 { 0%, 76.5% { opacity: 0; transform: scale(.2) rotate(0); } 79% { opacity: 1; transform: scale(1.15) rotate(30deg); } 82%, 100% { opacity: 0; transform: scale(.5) rotate(60deg); } }
@media (prefers-reduced-motion: reduce) { .d3-peek { display: none; } }
html[data-anim="off"] .d3-peek { display: none; }

/* ---------- v48 (owner: "jo peeche se nikal kar aa raha hai ye saaf na karke board par finger kare taaki log ise padhein"):
   safai ki jagah ungli se ishara — pehle "1X" par, do baar thak-thak, phir ungli naam par left → right ".COM" tak (padh kar dikhana),
   har thak par naam halka ubharta; phir hi-bye, peeche. Safai ki chamak + taare band. ---------- */
.d3-pk-arm { animation-name: d3-pk-point; }
.d3-pk-arm::after { width: 11px; height: 11px; margin-left: -5.5px; bottom: -6px; border-radius: 50%; }   /* band mutthi */
.d3-pk-arm::before { content: ''; position: absolute; left: 50%; bottom: -15px; width: 4px; height: 11px; margin-left: -2px; border-radius: 2px 2px 3px 3px;
    background: linear-gradient(180deg, #F2C29B, #EBB58C); box-shadow: 0 1px 1px rgba(0, 0, 0, .2); animation: d3-pk-finger 14s linear -5.56s infinite; }   /* tarjani (index) ungli — baanh ki seedh me */
@keyframes d3-pk-finger { 0%, 77.5% { opacity: 1; } 78.5%, 100% { opacity: 0; } }   /* hi-bye me khula haath */
@keyframes d3-pk-point {
    0%, 62.5% { opacity: 0; transform: rotate(10deg); }
    63% { opacity: 1; transform: rotate(18deg); }
    65% { transform: rotate(36deg); }                  /* "1X" par ishara */
    66% { transform: rotate(33deg) scaleY(1.12); }     /* thak */
    66.8% { transform: rotate(36deg) scaleY(1); }
    67.6% { transform: rotate(33deg) scaleY(1.12); }   /* thak */
    68.4% { transform: rotate(36deg) scaleY(1); }
    71% { transform: rotate(4deg); }                   /* ungli naam par chalti: "SATTA" */
    74% { transform: rotate(-42deg); }                 /* ".CO" */
    75.5% { transform: rotate(-62deg); }               /* ".COM" */
    76.3% { transform: rotate(-59deg) scaleY(1.12); }  /* thak */
    77% { transform: rotate(-62deg) scaleY(1); }
    79% { transform: rotate(-165deg); }                /* hi-bye */
    80.5% { transform: rotate(-140deg); }
    82% { transform: rotate(-178deg); }
    83.5% { transform: rotate(-145deg); }
    85% { opacity: 1; transform: rotate(-172deg); }
    86% { opacity: 0; transform: rotate(-90deg); }
    100% { opacity: 0; transform: rotate(10deg); }
}
.d3-pk-head { animation-name: d3-pk-head2; }
@keyframes d3-pk-head2 { 0%, 61% { transform: rotate(0); } 64% { transform: rotate(-10deg); } 70% { transform: rotate(-2deg); } 75% { transform: rotate(9deg); } 78% { transform: rotate(4deg); } 80% { transform: rotate(-4deg); } 84% { transform: rotate(5deg); } 87%, 100% { transform: rotate(0); } }
/* thak par naam ubharta (padhne ka ishara) */
.d3-sign-board .d3-strip-txt { animation: d3-pk-read 14s ease-out -5.56s infinite; }
@keyframes d3-pk-read { 0%, 65.6%, 67%, 67.6%, 69%, 75.9%, 78%, 100% { transform: scale(1); color: inherit; } 66.2%, 68% { transform: scale(1.06); color: var(--royal); } 76.6% { transform: scale(1.08); color: var(--red); } }
.d3-sign-board::after { animation: none; opacity: 0; }
.d3-sign-spark { display: none; }
@media (prefers-reduced-motion: reduce) { .d3-sign-board .d3-strip-txt { animation: none; } }
html[data-anim="off"] .d3-sign-board .d3-strip-txt { animation: none; }

/* ---------- v49 (owner): Disawar card ka naam chhota (table se Disawar row hati — lib.php) ---------- */
.d3-feat-name { font-size: 1.05rem; }
.d3-feat-name small { font-size: .6rem; }
@media (min-width: 720px) { .d3-feat-name { font-size: 1.2rem; } }

/* ---------- v50 (owner screenshot: "ye area bahut zyada jagah le raha hai, ise isse aadhe ke andar adjust karo"): Disawar card compact —
   ek pankti: baayein naam + samay + record chart, daayein "kal → aaj" chhote dabbe + status. ~230px → ~105px unchai. ---------- */
.d3-feat { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "name nums" "time nums" "chart st";
    align-items: center; column-gap: 10px; row-gap: 2px; text-align: left; padding: 10px 12px 10px 14px; max-width: 460px; margin-bottom: 4px; border-top-width: 4px; }
.d3-feat-name { grid-area: name; font-size: 1.05rem; }
.d3-feat-name small { font-size: .58rem; }
.d3-feat-time { grid-area: time; margin: 2px 0 0; font-size: .72rem; }
.d3-feat-nums { grid-area: nums; gap: 6px; }
.d3-feat-y small, .d3-feat-t small { font-size: .6rem; margin-bottom: 2px; text-align: center; }
.d3-feat-y b { min-width: 44px; height: 40px; padding: 0 6px; font-size: 1.25rem; border-radius: 11px; }
.d3-feat-arrow { font-size: 1rem; margin-top: 12px; }
.d3-feat-t .d3-card-num { width: 58px; height: 48px; font-size: 1.7rem; border-radius: 13px; }
.d3-feat .d3-status { grid-area: st; justify-self: center; margin: 4px 0 0; font-size: .68rem; padding: 2px 8px; }
.d3-feat-chart { grid-area: chart; justify-self: start; }
.d3-feat-chart.d3-robo { margin-top: 4px; }
@media (max-width: 340px) { .d3-feat-y b { min-width: 38px; height: 36px; font-size: 1.1rem; } .d3-feat-t .d3-card-num { width: 50px; height: 42px; font-size: 1.5rem; } }

/* ---------- v51 (owner: "game name center me aur result neeche, same pattern me — ye (left-right) cheez na ho"): Disawar card wapas beech me
   upar-se-neeche (v32 jaisa) par chhota — pankti 1: naam + English (ek line), pankti 2: samay, pankti 3: kal → aaj chhote dabbe,
   pankti 4: status + record chart ek saath. v50 ka do-column grid hata. ---------- */
.d3-feat { display: block; text-align: center; padding: 8px 12px 10px; max-width: 420px; }
.d3-feat-name { display: block; font-size: 1.05rem; line-height: 1.2; }
.d3-feat-name b { display: inline; }
.d3-feat-name small { display: inline; margin-left: 6px; font-size: .6rem; vertical-align: 2px; }
.d3-feat-time { display: block; margin: 1px 0 6px; font-size: .72rem; }
.d3-feat-nums { display: flex; justify-content: center; align-items: center; gap: 10px; }
.d3-feat .d3-status { display: inline-flex; margin: 6px 4px 0; vertical-align: middle; }
.d3-feat-chart.d3-robo { display: inline-flex; margin: 6px 4px 0; vertical-align: middle; }

/* ---------- v52 (owner: "DEMO, Is in remove karo, record button thoda chhota karo, DEMO ki jagah record chart button") ---------- */
.d3-feat-time { display: flex; align-items: center; justify-content: center; gap: 6px; margin: 2px 0 6px; }
.d3-feat-time .d3-feat-chart.d3-robo { margin: 0; font-size: .54rem; padding: 1px 6px 1px 5px; min-height: 17px; gap: 3px; border-radius: 6px; }
.d3-feat-time .d3-feat-chart.d3-robo::before { width: 4px; height: 4px; }

/* ---------- v53 (owner: "Disawar aur sab game ke names capital me, upar Disawar ka size badhao, result box ka size kam karo"):
   game naam har jagah BADE AKSHAR (English; Hindi lipi par asar nahi) — hero, Disawar card, rows (manual + auto), kal ke result, updates, chart chips.
   Disawar card: naam bada, kal/aaj dabbe chhote. ---------- */
.d3-hero-name, .d3-feat-name, .d3-row-name b, .d3-row-name small, .d3-up-txt b, .d3-mini > span, .d3-chip { text-transform: uppercase; }
.d3-row-name b { letter-spacing: .01em; }
.d3-feat-name { font-size: 1.4rem; line-height: 1.15; }
.d3-feat-name small { font-size: .66rem; }
.d3-feat-y b { min-width: 38px; height: 32px; padding: 0 5px; font-size: 1.05rem; border-radius: 9px; }
.d3-feat-t .d3-card-num { width: 48px; height: 38px; font-size: 1.35rem; border-radius: 11px; }
.d3-feat-arrow { font-size: .9rem; margin-top: 10px; }
.d3-feat-y small, .d3-feat-t small { font-size: .56rem; }
@media (min-width: 720px) { .d3-feat-name { font-size: 1.6rem; } }

/* ---------- v54 (owner: "record chart button thoda ajeeb lag raha hai, kuch aur unique aur chhota banao"): `.d3-rc` — patli safed goli,
   royal kinari, andar chhoti kaali "screen" par 3 rangeen bars upar-neeche (live graph jaisa), saath me "चार्ट". Rows + Disawar card. ---------- */
.d3-rc { display: inline-flex; align-items: center; gap: 4px; height: 17px; padding: 0 7px 0 3px; border-radius: 999px; text-decoration: none; vertical-align: middle;
    background: #fff; border: 1.5px solid var(--royal-line); color: var(--royal-deep); font-size: .58rem; font-weight: 800; letter-spacing: .02em; line-height: 1; white-space: nowrap;
    box-shadow: 0 1px 0 var(--royal-line); }
.d3-rc:hover, .d3-rc:focus-visible { border-color: var(--royal); color: var(--royal); }
.d3-rc:active { transform: translateY(1px); box-shadow: none; }
.d3-rc-scr { display: inline-flex; align-items: flex-end; gap: 1.5px; width: 15px; height: 11px; padding: 2px 2px 1.5px; border-radius: 3px; background: #111827; box-sizing: border-box; }
.d3-rc-scr i { flex: 1; border-radius: 1px; background: #22C55E; transform-origin: 50% 100%; animation: d3-rc-bar 1.3s ease-in-out infinite; }
.d3-rc-scr i:nth-child(2) { background: #FFD84D; animation-delay: -.45s; }
.d3-rc-scr i:nth-child(3) { background: #F87171; animation-delay: -.9s; }
@keyframes d3-rc-bar { 0%, 100% { height: 30%; } 50% { height: 100%; } }
.d3-row-chart.d3-rc { margin-top: 5px; }
.d3-feat-time .d3-rc { margin: 0; }
@media (prefers-reduced-motion: reduce) { .d3-rc-scr i { animation: none; height: 70%; } .d3-rc-scr i:nth-child(2) { height: 100%; } .d3-rc-scr i:nth-child(3) { height: 45%; } }
html[data-anim="off"] .d3-rc-scr i { animation: none; height: 70%; }
.d3-rc { min-height: 0; }   /* v54: purani .d3-row-chart (v33) ki min-height 24px na lage */

/* ---------- v55 (owner: "chart ke design bhi sahi karo"): chart section halka + chhota, baaki page jaisa — chhote chips, goli jaise
   mahina-buttons, upar royal patti wala panel, saaf calendar (aaj neela), pichhle 7 me sabse naya alag, saal/tareekh me chhote royal
   buttons (bhaari kaale nahi), saal wala record chart `.d3-rc` style me. Sirf CSS + ek link ki class. ---------- */
#history .d3-chips { gap: 6px; padding: 4px 6px 10px; }
#history .d3-chip { min-height: 34px; padding: 4px 12px; font-size: .78rem; font-weight: 800; letter-spacing: .02em; border-radius: 999px;
    background: #fff; color: var(--royal-deep); border: 1.5px solid var(--royal-line); box-shadow: 0 1px 0 var(--royal-line); }
#history .d3-chip.is-on { background: var(--royal); border-color: var(--royal); color: #fff; box-shadow: 0 2px 0 var(--royal-deep); }
.d3-month-nav { margin: 2px 0 8px; }
.d3-month-nav .d3-btn { min-height: 32px; padding: 0 12px; gap: 4px; font-size: .76rem; border-radius: 999px; color: var(--royal-deep);
    background: #fff; border: 1.5px solid var(--royal-line); box-shadow: 0 1px 0 var(--royal-line); }
.d3-month-nav .d3-btn[aria-disabled="true"] { opacity: .45; background: #fff; border-style: solid; box-shadow: none; }
#d3-hist.d3-panel { padding: 2px 10px 12px; border-top: 4px solid var(--royal); border-radius: 16px; }
#history .d3-panel .d3-sub { font-size: .86rem; margin: 12px 0 8px; color: var(--royal-deep); }
#history > .d3-sub { font-size: .92rem; color: var(--royal-deep); margin: 18px 0 8px; }
.d3-l7 { background: #fff; border: 1px solid #EFE0A3; border-radius: 10px; padding: 5px 1px; }
.d3-l7 b { font-size: 1.1rem; color: var(--red-deep); }
.d3-l7:first-child { background: #EEF3FF; border-color: var(--royal-line); }   /* sabse naya */
.d3-l7:first-child b { color: var(--royal-deep); }
.d3-cal { gap: 3px; }
.d3-cal-wd { color: var(--royal-deep); font-size: .62rem; letter-spacing: .02em; }
.d3-cal-d { min-height: 44px; border-radius: 9px; background: #fff; border: 1px solid #F1E5B4; }
.d3-cal-d.has-v { background: #FFFBEA; border-color: #EEDA87; }
.d3-cal-d b { font-size: 1.02rem; }
.d3-cal-d small { font-size: .58rem; }
.d3-cal-d.is-future { background: transparent; border-style: dashed; border-color: #E8DCA8; }
.d3-cal-d.is-today { outline: 2px solid var(--royal); outline-offset: -2px; background: #EEF3FF; }
#history .d3-date-form { gap: 6px; margin-bottom: 10px; }
#history .d3-date-form input, #history .d3-date-form select { min-height: 38px; border-radius: 10px; font-size: .9rem; border: 1.5px solid var(--royal-line); }
#history .d3-date-form .d3-btn { min-height: 38px; padding: 0 14px; border-radius: 10px; font-size: .82rem; color: #fff;
    background: linear-gradient(180deg, #2F63F0, var(--royal)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 2px 0 var(--royal-deep); }
#history .d3-date-form .d3-btn:active { transform: translateY(2px); box-shadow: none; }
#d3-year-out.d3-panel, #d3-date-out.d3-panel { border-top: 4px solid var(--royal); border-radius: 16px; }
.d3-rc-lg { height: 30px; padding: 0 12px 0 5px; gap: 6px; font-size: .76rem; }
.d3-rc-lg .d3-rc-scr { width: 20px; height: 15px; }
.d3-year-link { text-align: center; margin: 10px 0 2px; }

/* ---------- v56: saal ke chart me pichhla / agla saal (goli buttons, theme jaisa) ---------- */
.d3-year-nav { display: flex; justify-content: space-between; align-items: center; margin: -2px 0 8px; }
.d3-yr-btn { display: inline-flex; align-items: center; gap: 4px; min-height: 30px; padding: 0 12px; border-radius: 999px; cursor: pointer; font: inherit; font-size: .76rem; font-weight: 800;
    color: var(--royal-deep); background: #fff; border: 1.5px solid var(--royal-line); box-shadow: 0 1px 0 var(--royal-line); }
.d3-yr-btn:active { transform: translateY(1px); box-shadow: none; }
#d3-year-form { scroll-margin-top: calc(var(--head-h) + 12px); }

/* ---------- v57: alag chart page (chart.php) — homepage jaisi theme ---------- */
.d3-cp-top { display: flex; align-items: center; gap: 8px; margin: 14px 0 8px; }
.d3-cp-back { text-decoration: none; }
.d3-cp-head { margin-top: 0; }
.d3-cp-head .d3-feat-name { margin: 0; }
.d3-cp-years .d3-chip, .d3-cp-games .d3-chip { text-decoration: none; display: inline-flex; align-items: center; min-height: 34px; padding: 4px 12px; font-size: .8rem; font-weight: 800; border-radius: 999px;
    background: #fff; color: var(--royal-deep); border: 1.5px solid var(--royal-line); box-shadow: 0 1px 0 var(--royal-line); text-transform: uppercase; }
.d3-cp-years .d3-chip.is-on, .d3-cp-games .d3-chip.is-on { background: var(--royal); border-color: var(--royal); color: #fff; box-shadow: 0 2px 0 var(--royal-deep); }
.d3-cp-year.d3-panel { border-top: 4px solid var(--royal); border-radius: 16px; }
.d3-cp .d3-sub { font-size: .92rem; color: var(--royal-deep); margin: 16px 0 6px; }

/* ---------- v58 (owner: "upar jaise result pull wala robot show hota hai, chart me show hota rahe"): chart.php par bhi wahi signboard +
   robot hero (lib.php d3_render_sign / d3_render_hero_sec, app.js wahi) — hero ke neeche "‹ होम" patti thodi paas ---------- */
.d3-cp .d3-hero + .d3-cp-top { margin-top: 10px; }

/* ---------- v59 (owner: "1xsatta.com ka SEO / AEO sab isme"): FAQ / sawaal (details), "is site ke baare me", breadcrumb, footer ke bharose wale
   links, chart h1 me "रिकॉर्ड चार्ट <saal>" goli + seedhi line. Sab baaki page jaisa (safed card, royal kinari). ---------- */
.d3-qa-list { display: grid; gap: 8px; }
.d3-qa-item { background: #fff; border: 1.5px solid var(--royal-line); border-radius: 14px; box-shadow: 0 1px 0 var(--royal-line); overflow: hidden; }
.d3-qa-item summary { list-style: none; cursor: pointer; display: flex; align-items: flex-start; gap: 8px; padding: 11px 14px; -webkit-tap-highlight-color: transparent; }
.d3-qa-item summary::-webkit-details-marker { display: none; }
.d3-qa-item summary::after { content: '+'; margin-left: auto; flex: none; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center;
    font-weight: 900; font-size: .95rem; line-height: 1; color: #fff; background: var(--royal); }
.d3-qa-item[open] summary::after { content: '–'; background: var(--red-deep); }
.d3-qa-item summary:focus-visible { outline: 3px solid var(--royal); outline-offset: -3px; }
.d3-qa-q { margin: 0; font-size: .9rem; line-height: 1.35; font-weight: 800; color: var(--navy); }
.d3-qa-a { padding: 0 14px 12px; font-size: .86rem; line-height: 1.55; color: #374151; }
.d3-qa-a p { margin: 0 0 6px; }
.d3-qa-a p:last-child { margin-bottom: 0; }
.d3-about { margin: 0; padding: 12px 14px; background: #fff; border: 1.5px solid var(--royal-line); border-radius: 14px; font-size: .88rem; line-height: 1.6; color: #374151; }
.d3-crumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; margin: 0; padding: 0; list-style: none; font-size: .76rem; font-weight: 800; }
.d3-crumbs li { display: inline-flex; align-items: center; gap: 4px; color: var(--navy); }
.d3-crumbs li + li::before { content: '›'; color: var(--royal-deep); opacity: .7; }
.d3-crumbs a { display: inline-flex; align-items: center; min-height: 28px; padding: 0 10px; border-radius: 999px; text-decoration: none; color: var(--royal-deep);
    background: #fff; border: 1.5px solid var(--royal-line); box-shadow: 0 1px 0 var(--royal-line); }
.d3-crumbs li[aria-current] { padding: 0 4px; text-transform: uppercase; }
.d3-cp-h1-sub { display: inline-flex; align-items: center; gap: 5px; margin-left: 6px; padding: 3px 9px 3px 4px; border-radius: 999px; vertical-align: 3px;
    background: #fff; border: 1.5px solid var(--royal-line); color: var(--royal-deep); font-size: .62rem; font-weight: 800; letter-spacing: .02em; text-transform: none; white-space: nowrap; }
.d3-cp-h1-sub .d3-rc-scr { width: 15px; height: 11px; }
.d3-cp-about { margin: 6px auto 0; max-width: 34em; font-size: .74rem; line-height: 1.5; color: #4B5563; }
.d3-foot-nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 12px; margin: 10px 0 4px; font-size: .76rem; font-weight: 700; }
.d3-foot-nav a { color: var(--royal-deep); }
.d3-copy { margin: 4px 0 0; font-size: .72rem; color: #4B5563; }
.d3-qa, .d3-about-sec { scroll-margin-top: calc(var(--head-h) + 12px); }   /* v59: sticky board ke neeche heading na chhupe */

/* ---------- v60 (owner, 28 Oct: "1xsatta.com ki saari files me yahi theme"): asli site ke naye hisse — result page (tiles, 30 din ki
   table, links), blog cards, static pages (blog / policy) ka safed card, purane links ke anchors. Sab baaki theme jaisa. ---------- */
.d3-anchor { display: block; height: 0; scroll-margin-top: calc(var(--head-h) + 12px); }
.d3-blog-list { display: grid; gap: 8px; }
.d3-blog { display: grid; gap: 4px; padding: 12px 14px; background: #fff; border: 1.5px solid var(--royal-line); border-radius: 14px; box-shadow: 0 1px 0 var(--royal-line); text-decoration: none; color: var(--navy); }
.d3-blog b { font-size: .92rem; line-height: 1.35; font-weight: 800; }
.d3-blog span { font-size: .8rem; line-height: 1.5; color: #4B5563; }
.d3-blog em { font-style: normal; font-size: .74rem; font-weight: 800; color: var(--royal-deep); }
.d3-blog img { display: block; width: 100%; height: auto; aspect-ratio: auto 16 / 9; border-radius: 10px; margin-bottom: 6px; }   /* v79 */
@media (min-width: 640px) {
  .d3-blog.has-img { grid-template-columns: 220px 1fr; column-gap: 14px; align-content: start; }
  .d3-blog.has-img img { grid-row: 1 / span 3; margin-bottom: 0; }
}
.d3-blogs, #last30, #other-games { scroll-margin-top: calc(var(--head-h) + 12px); }
.d3-res-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 10px 0 8px; }
.d3-res-stat { display: grid; gap: 2px; justify-items: center; padding: 10px 6px; background: #fff; border: 1.5px solid var(--royal-line); border-radius: 14px; box-shadow: 0 1px 0 var(--royal-line); }
.d3-res-stat span { font-size: .7rem; font-weight: 800; color: var(--royal-deep); text-transform: capitalize; }
.d3-res-stat b { font-size: 1.6rem; line-height: 1.1; font-weight: 900; color: var(--red-deep); font-variant-numeric: tabular-nums; }
.d3-res-stat b.d3-res-time { font-size: .95rem; color: var(--navy); padding-top: 6px; }
.d3-res-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 6px 0 4px; }
.d3-res-table { width: 100%; border-collapse: collapse; font-size: .86rem; }
.d3-res-table th, .d3-res-table td { padding: 7px 8px; border-bottom: 1px solid #F1E5B4; text-align: left; }
.d3-res-table thead th { background: var(--royal); color: #fff; font-size: .74rem; letter-spacing: .02em; }
.d3-res-table thead th:first-child { border-radius: 10px 0 0 0; }
.d3-res-table thead th:last-child { border-radius: 0 10px 0 0; text-align: right; }
.d3-res-table td:last-child { text-align: right; }
.d3-res-table td b { font-size: 1.05rem; color: var(--red-deep); font-variant-numeric: tabular-nums; }
.d3-res-total { margin: 8px 2px 0; font-size: .76rem; color: #4B5563; }
.d3-res-games small { margin-left: 4px; font-size: .62rem; font-weight: 700; opacity: .75; }
.d3-res-games .d3-chip { text-decoration: none; display: inline-flex; align-items: center; min-height: 32px; padding: 4px 11px; font-size: .76rem; font-weight: 800; border-radius: 999px;
    background: #fff; color: var(--royal-deep); border: 1.5px solid var(--royal-line); box-shadow: 0 1px 0 var(--royal-line); text-transform: uppercase; }
/* static pages (blog / policy): page ka apna content safed card me */
.d3-page .d3-cp-top { margin: 14px 0 8px; }
.d3-doc { margin: 0 0 14px; padding: 16px 16px 18px; background: #fff; border: 1.5px solid var(--royal-line); border-radius: 18px; box-shadow: 0 2px 0 var(--royal-line);
    color: #1F2937; font-size: .95rem; line-height: 1.7; overflow-wrap: anywhere; }
.d3-doc > div[class$="-page"], .d3-doc .blog-wrap, .d3-doc .container { max-width: none; margin: 0; padding: 0; }
.d3-doc h1 { margin: 0 0 10px; font-size: clamp(1.25rem, 4.2vw, 1.7rem); line-height: 1.25; font-weight: 900; color: var(--royal-deep); }
.d3-doc h2 { margin: 22px 0 8px; padding-bottom: 4px; font-size: 1.12rem; font-weight: 900; color: var(--navy); border-bottom: 2px solid #FFD84D; }
.d3-doc h3 { margin: 16px 0 6px; font-size: 1rem; font-weight: 800; color: var(--navy); }
.d3-doc a { color: var(--royal-deep); }
.d3-doc ul, .d3-doc ol { padding-left: 1.2em; }
.d3-doc img { max-width: 100%; height: auto; border-radius: 10px; }
.d3-doc input, .d3-doc select, .d3-doc textarea { max-width: 100%; font: inherit; }
.d3-doc table { max-width: 100%; display: block; overflow-x: auto; }
.d3-name-link { color: inherit; text-decoration: none; }   /* v60: game naam = us game ka result page */
.d3-name-link:hover b, .d3-name-link:focus-visible b { text-decoration: underline; text-underline-offset: 3px; }

/* ---------- v61 (owner: 12 bhasha ka switch): neeche-daayein bhasha button = <details>; list upar khulti hai (apne naam, apni lipi) ---------- */
.d3-langs { position: relative; }
.d3-langs > summary { list-style: none; cursor: pointer; }
.d3-langs > summary::-webkit-details-marker { display: none; }
.d3-langs > summary span { font-size: .78rem; font-weight: 900; line-height: 1; white-space: nowrap; }
.d3-lang-list { position: absolute; right: 0; bottom: calc(100% + 8px); z-index: 80; margin: 0; padding: 6px; list-style: none; min-width: 150px; max-height: min(62vh, 470px, calc(100vh - 150px)); overflow-y: auto;
    background: #fff; border: 1.5px solid var(--royal-line); border-radius: 16px; box-shadow: 0 10px 30px rgba(17, 24, 39, .22); }
.d3-lang-list a { display: block; padding: 8px 12px; border-radius: 10px; text-decoration: none; color: var(--navy); font-size: .92rem; font-weight: 700; line-height: 1.3; }
.d3-lang-list a:hover, .d3-lang-list a:focus-visible { background: #EEF3FF; }
.d3-lang-list a.is-on { background: var(--royal); color: #fff; }
.d3-lang-list a[lang="ur"] { text-align: right; direction: rtl; }
/* v61: Urdu — vaakya / paragraph daayein se baayein (layout wahi rehta hai, sirf text ki disha) */
html[lang="ur"] :is(.d3-cp-about, .d3-about, .d3-res-total, .d3-empty, .d3-foot > p:first-child, .d3-bubble, .d3-alerts-t, .d3-alert-msg, .d3-app-dl p, .d3-page-hub .d3-doc > p, .d3-page-hub .d3-doc h1, .d3-page-hub .d3-doc h2) { direction: rtl; }
html[lang="ur"] :is(.d3-about, .d3-res-total) { text-align: right; }
@media (max-height: 520px) { .d3-lang-list { position: fixed; top: 8px; right: 12px; bottom: auto; max-height: calc(100vh - 16px); } }   /* v61 review: landscape phone */

/* ---------- v62 (owner: result ke baad robot result ko dekhta rahe, user ko bhi indirectly box ki taraf): robot jab dabbe ko dekhe, dabba
   halka chamke (gaze cue — aankh apne aap wahin jaati hai). SVG robot dabbe ki taraf halka jhukta hai. Kam-motion me sthir. ---------- */
.d3-hero-num { position: relative; }
.d3-hero-num.is-gazed::after { content: ''; position: absolute; inset: -5px; border-radius: inherit; pointer-events: none; opacity: 0;
    box-shadow: 0 0 0 3px rgba(255, 216, 77, .95), 0 0 22px 8px rgba(255, 171, 16, .5); animation: d3-gaze 1.7s ease-out 1; }
@keyframes d3-gaze { 0% { opacity: 0; transform: scale(.97); } 30% { opacity: 1; transform: scale(1.02); } 100% { opacity: 0; transform: scale(1.05); } }
.d3-robot .d3-robot-fallback { transition: rotate .6s ease, translate .6s ease; transform-origin: 50% 100%; }   /* v62 review: pairon par jhukna (poke/naach jaisa origin — tap par 6px ka jhatka nahi) */
.d3-robot.is-watching .d3-robot-fallback { rotate: 4deg; translate: 3px 0; }
@media (prefers-reduced-motion: reduce) { .d3-hero-num.is-gazed::after { animation: none; } .d3-robot.is-watching .d3-robot-fallback { rotate: none; translate: none; } }
html[data-anim="off"] .d3-hero-num.is-gazed::after { animation: none; }

/* ---------- v63 (owner: "गेम | कल | आज" patti Gali ke baad aur Barsana ke baad bhi): auto table ka thead dikhta hai, Barsana ke baad
   wahi patti ek row ke roop me (aria-hidden — screen reader ko dohraav nahi) ---------- */
.d3-rows-auto { margin-top: 0; }
.d3-rows .d3-rows-rehead th { padding: 6px; font-size: .8rem; font-weight: 900; letter-spacing: .02em; background: var(--royal); color: #FFE866; text-align: center; }
.d3-rows .d3-rows-rehead th:first-child { border-radius: 10px 0 0 10px; text-align: left; padding-left: 12px; }
.d3-rows .d3-rows-rehead th:last-child { border-radius: 0 10px 10px 0; }

/* ---------- v64 (owner: "board ki taraf finger karke mind me jaise text me bole — sabse pehle result yahin aata hai, alag alag type se,
   likha aaye"): peeker ke sir ke right soch ka badal — do bindu + safed badal, insaan ke upar aane (60%) se hi-bye se pehle (78.8%) tak
   (hi-bye ka haath badal ke peeche na chhupe);
   line app.js peekThink() har chakkar (animationiteration, chhupe pal me) badalta hai. Wahi 14 s / -5.56s timeline; kam-motion /
   data-anim=off me poora .d3-peek chhupa. Badal ka niche ka kinara board ki chhat se 8px neeche (2 line upar badhti hain). ---------- */
.d3-pk-think { position: absolute; left: calc(var(--pk-x, 30%) + 12px); top: 0; height: 48px; width: calc(100% - var(--pk-x, 30%) - 16px); pointer-events: none; }
.d3-pk-think { visibility: hidden; } .d3-pk-think.is-on { visibility: visible; }   /* display:none nahi — warna animation JS ke baad shuru hoti, insaan se aage-peeche */
.d3-pk-dot { position: absolute; left: 0; top: 31px; width: 4px; height: 4px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 1.5px #1F2937;
    opacity: 0; animation: d3-pk-dot1 14s ease-out -5.56s infinite; }
.d3-pk-dot.is-2 { left: 6px; top: 27px; width: 6px; height: 6px; animation-name: d3-pk-dot2; }
.d3-pk-cloud { position: absolute; left: 13px; bottom: 0; width: max-content; max-width: calc(100% - 13px); padding: 2px 10px 3px; border-radius: 14px;
    background: #fff; color: #1F2937; border: 2px solid #1F2937; box-shadow: 0 3px 8px rgba(0, 0, 0, .18); font-size: 12px; font-weight: 800; line-height: 1.2;
    text-align: start; text-wrap: balance; transform-origin: 0 40%; opacity: 0; animation: d3-pk-cloud 14s ease-out -5.56s infinite; }
@media (min-width: 720px) { .d3-pk-cloud { font-size: 13px; } }
.d3-pk-site { white-space: nowrap; font-weight: 900; color: var(--royal); }
.d3-pk-arm { z-index: 2; } .d3-pk-think { z-index: 1; }   /* hi-bye ka haath mitte badal ke upar */
@keyframes d3-pk-dot1 { 0%, 59.4% { opacity: 0; transform: scale(0); } 60.2%, 77.6% { opacity: 1; transform: scale(1); } 78.6%, 100% { opacity: 0; transform: scale(0); } }
@keyframes d3-pk-dot2 { 0%, 60% { opacity: 0; transform: scale(0); } 60.8%, 77.6% { opacity: 1; transform: scale(1); } 78.6%, 100% { opacity: 0; transform: scale(0); } }
@keyframes d3-pk-cloud { 0%, 60.6% { opacity: 0; transform: scale(.35); } 62% { opacity: 1; transform: scale(1.04); } 63%, 77.6% { opacity: 1; transform: scale(1); } 78.8%, 100% { opacity: 0; transform: scale(.7); } }

/* ---------- v65 (owner: "1xsatta.com ke upar jo hai uska haath zyada neeche aa raha hai — gentle tarike se, taaki sundar lage"):
   haath chhota — ungli ki nok ab naam ke aksharon ke upar wale kinare ko chhooti hai (pehle aksharon ke beech/neeche tak jaati thi);
   "1X" par ek naram thak (pehle do tez thak ~0.1 s), naam par ek saaf dheemi chaal left → right, aakhir me naram thak; naam ka ubharna
   bhi halka. Sticky (chhota board) par haath aur chhota. Insaan naam ke shuru ("1X") ke upar: --pk-x app.js signSway() bharta hai
   (chaudi screen par naam beech me hota hai — 30% par haath khaali jagah par tha); bina JS 30%. v48 ka purana haath: pre-v65 backup. ---------- */
.d3-peek { --pk-x: 30%; }
.d3-pk-person { left: calc(var(--pk-x) - 22px); }
.d3-pk-grip.is-l { left: calc(var(--pk-x) - 12px); }
.d3-pk-grip.is-r { left: calc(var(--pk-x) + 12px); }
.d3-pk-arm { left: calc(var(--pk-x) + 12px); height: 13px; background: linear-gradient(180deg, #2563EB 0 34%, #F2C29B 34%); animation-name: d3-pk-point2; }
.d3-pk-arm::after { width: 10px; height: 10px; margin-left: -5px; bottom: -5px; }             /* mutthi */
.d3-pk-arm::before { width: 3.5px; height: 8px; margin-left: -1.75px; bottom: -10px; }        /* ungli */
.d3-sign.is-stuck .d3-pk-arm { height: 9px; }
@keyframes d3-pk-point2 {
    0%, 62.8% { opacity: 0; transform: rotate(12deg); }
    63.6% { opacity: 1; transform: rotate(16deg); }
    65.6% { transform: rotate(30deg); }                  /* dheere "1X" ki taraf */
    66.6% { transform: rotate(28deg) scaleY(1.06); }     /* ek naram thak */
    67.6% { transform: rotate(30deg) scaleY(1); }
    75.5% { transform: rotate(-40deg); }                 /* naam par ek saaf chaal, aakhir tak */
    76.4% { transform: rotate(-38deg) scaleY(1.06); }    /* naram thak */
    77.3% { transform: rotate(-40deg) scaleY(1); }
    79% { transform: rotate(-160deg); }                  /* hi-bye (chehre ke paas) */
    80.5% { transform: rotate(-138deg); }
    82% { transform: rotate(-170deg); }
    83.5% { transform: rotate(-142deg); }
    85% { opacity: 1; transform: rotate(-164deg); }
    86% { opacity: 0; transform: rotate(-90deg); }
    100% { opacity: 0; transform: rotate(12deg); }
}
.d3-pk-head { animation-name: d3-pk-head3; }
@keyframes d3-pk-head3 { 0%, 61% { transform: rotate(0); } 64.5% { transform: rotate(-8deg); } 67.6% { transform: rotate(-6deg); } 75.5% { transform: rotate(7deg); } 78% { transform: rotate(3deg); } 80% { transform: rotate(-4deg); } 84% { transform: rotate(5deg); } 87%, 100% { transform: rotate(0); } }
.d3-sign-board .d3-strip-txt { animation-name: d3-pk-read2; }
@keyframes d3-pk-read2 { 0%, 66%, 67.4%, 75.8%, 77.4%, 100% { transform: scale(1); color: inherit; } 66.6% { transform: scale(1.04); color: var(--royal); } 76.4% { transform: scale(1.05); color: var(--red); } }
@media (prefers-reduced-motion: reduce) { .d3-sign-board .d3-strip-txt { animation: none; } }
html[data-anim="off"] .d3-sign-board .d3-strip-txt { animation: none; }

/* ---------- v66 (owner: "live 1xsatta me jaise sabhi games ka chart ek saath show hota hai, vaise full year chart ke neeche"): homepage par
   "पूरे साल का चार्ट" ke neeche is mahine ka sab games ka chart — LIVE SITE JAISA: 4 table ek ke neeche ek, tareekh ka khaana CHIPKA NAHI aur normal
   padding (27 Oct owner ne homepage ka phone-fit + sticky DATE monthly chart mana kiya tha — wapas mat lagana), phone par table apne dabbe me bagal
   me khisakti hai (live ki table-responsive jaisa). Rang theme ke (royal header, peela tareekh khaana). Game ka naam us game ke record chart ka link
   (focus ring peela — royal par baingani nahi dikhta). Aaj ki line halki peeli. ---------- */
#history .d3-allm-box > .d3-sub { font-size: .92rem; color: var(--royal-deep); margin: 18px 0 8px; }   /* bagal ke "पूरे साल का चार्ट" jaisa */
.d3-allm-wrap { margin-bottom: 14px; background: #fff; box-shadow: var(--shadow); scrollbar-width: thin; scrollbar-color: var(--royal-line) transparent; }
.d3-allm { width: 100%; font-size: .95rem; font-variant-numeric: tabular-nums; }
.d3-allm th, .d3-allm td { padding: 8px 10px; }
.d3-allm thead th { padding: 10px 12px; font-size: .8rem; line-height: 1.2; white-space: nowrap; text-transform: uppercase; vertical-align: middle; border-bottom: 0; }   /* v84 (owner): game naam ek hi line me */
.d3-allm thead th + th { border-left: 1px solid rgba(255, 255, 255, .2); }
.d3-allm tbody th { width: 1%; padding: 8px 12px; background: #FFF6CC; border-right: 1px solid var(--line); }
.d3-allm td { border-bottom-color: var(--line); }
.d3-allm tbody th { border-bottom-color: #EBD98F; }
.d3-allm td + td { border-left: 1px solid var(--line); }   /* v85 (owner): har khaana saaf dikhe */
.d3-allm tbody tr:nth-child(even) td { background: #FFFDF5; }   /* halki patti, sirf number wale khaane; tareekh ka rang wahi */
.d3-allm tbody tr:last-child th, .d3-allm tbody tr:last-child td { border-bottom: 0; }
@media (hover: hover) { .d3-allm tbody tr:hover td { background: #FFF8D6; } }
.d3-allm tbody th, .d3-allm thead th:first-child { box-shadow: 3px 0 5px -2px rgba(60, 45, 0, .22); }   /* v85 (owner): tareekh bagal ke scroll me chipki (.d3-year se); kinare par halki chhaya */
.d3-allm thead th a { color: inherit; text-decoration: none; }
.d3-allm thead th a:hover, .d3-allm thead th a:focus-visible { text-decoration: underline; }
.d3-allm thead th a:focus-visible { outline-color: #FFE866; outline-offset: 1px; }
.d3-allm tbody tr.is-today td { background: #FFF1A8; color: var(--red-deep); }
.d3-allm tbody tr.is-today th { background: var(--royal); color: #FFE866; border-right-color: var(--royal); }
html[lang="ur"] #d3-allm-h > span { direction: rtl; unicode-bidi: isolate; }   /* Urdu: domain beech me na toote; icon baaki headings jaisa left */

/* ---------- v70 (owner: "jis game ka result aane wala ho us game ka naam leke waiting me kuch interesting cheezein karta rahe"): SVG robot (WebGL
   na ho) ki intezaar wali harkatein — app.js robotAct(): .is-act-<kind> (animationend par hat-ti). 3D robot me yahi robot.js perform(). Pairon par
   ghoomna (poke / naach jaisa origin). Kam-motion / animation band me kuch nahi. ---------- */
.d3-robot-fallback[class*="is-act-"] { transform-origin: 78.5% 79.6%; }   /* v70 review: rassi wale haath par ghoomna — haath rassi se na hate */
.d3-robot-fallback.is-act-cheer { animation: d3-fact-cheer 1.4s ease-in-out 1; }
.d3-robot-fallback.is-act-scout { animation: d3-fact-scout 2.2s ease-in-out 1; }
.d3-robot-fallback.is-act-drum { animation: d3-fact-drum 1.6s linear 1; }
.d3-robot-fallback.is-act-sway { animation: d3-fact-sway 2.4s ease-in-out 1; }
.d3-robot-fallback.is-act-tug { animation: d3-fact-tug 1.8s ease-in-out 1; }
@keyframes d3-fact-cheer { 0%, 40%, 80%, 100% { transform: none; } 20%, 60% { transform: rotate(-3deg) scale(1.03); } }
@keyframes d3-fact-scout { 0%, 100% { transform: none; } 25%, 75% { transform: rotate(5deg); } 50% { transform: rotate(3.5deg); } }
@keyframes d3-fact-drum { 0%, 20%, 40%, 60%, 80%, 100% { transform: none; } 10%, 30%, 50%, 70%, 90% { transform: rotate(-1.2deg); } }
@keyframes d3-fact-sway { 0%, 100% { transform: none; } 25% { transform: rotate(-4deg); } 75% { transform: rotate(4deg); } }
@keyframes d3-fact-tug { 0%, 100% { transform: none; } 30%, 60%, 90% { transform: rotate(-1deg); } 15%, 45%, 75% { transform: rotate(-5deg); } }
@media (prefers-reduced-motion: reduce) { .d3-robot-fallback[class*="is-act-"] { animation: none; } }
html[data-anim="off"] .d3-robot-fallback[class*="is-act-"] { animation: none; }

/* ---------- v69 review: "कल के रिजल्ट" / tareekh khoj me Disawar agle din subah ka — uske neeche chhoti tareekh (mahine ki table DB tareekh se) ---------- */
.d3-mini .d3-mini-d { display: block; margin-top: 1px; font-size: .66rem; font-weight: 700; color: var(--muted); line-height: 1.1; }

/* ---------- v72 (owner 29 Oct: "jab tak result na aae ... sab se crazy chiz ... so simple bhi lge" + "result box m"): रस्सी आर-पार ----------
   Khaali result dabbe ka "–" = robot ki rassi. "–" ab CSS ki patti (.d3-dash — har font me theek beech me; text "–" bina CSS ke liye);
   .d3-hero.is-thr (app.js thrDraw) par patti khinch kar rassi jitni patli + lambi hoti, phir andar ki asli rassi (.d3-rin svg, dabbe ka
   bachcha — dhol / zoom saath). Rassi chhooti → ulta (sikud kar "–"). Kam-motion: sirf "–". */
.d3-hero-num-wait .d3-dash { position: absolute; left: 50%; top: 50%; width: .568em; height: .155em; transform: translate(-50%, -50%);
    border-radius: .03em; background-color: var(--placeholder); color: transparent; overflow: hidden; line-height: 0; pointer-events: none;   /* rang seedha (color transparent = text "–" chhupa; currentColor nahi chalega) */
    transition: width .3s cubic-bezier(.3, .7, .3, 1) .1s, height .3s cubic-bezier(.3, .7, .3, 1) .1s, background-color .3s .1s, opacity .08s; }
.d3-hero.is-thr .d3-hero-num-wait .d3-dash { width: 100%; height: 5px; background-color: #7A4A1E; opacity: 0;
    transition: width .3s cubic-bezier(.3, .7, .3, 1), height .3s cubic-bezier(.3, .7, .3, 1), background-color .3s, opacity .1s .26s; }
.d3-hero-num.has-rin { overflow: hidden; }
.d3-rin { position: absolute; left: 0; top: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; opacity: 0; transition: opacity .1s; }
.d3-hero.is-thr .d3-rin { opacity: 1; transition: opacity .12s .24s; }
.d3-rin path { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.d3-rin .d3-rin-sh { stroke: rgba(60, 30, 0, .2); stroke-width: 6; }
.d3-rin .d3-rin-hole { fill: rgba(60, 30, 0, .22); }
.d3-hero.is-thr .d3-hero-num-wait { cursor: pointer; -webkit-tap-highlight-color: transparent; }
@media (prefers-reduced-motion: reduce) {   /* v72 review: page khule-khule kam-motion chalu ho (JS ko pata nahi) to bhi "–" dikhe */
    .d3-rin { display: none; }
    .d3-hero-num-wait .d3-dash, .d3-hero.is-thr .d3-hero-num-wait .d3-dash { transition: none; opacity: 1; width: .568em; height: .155em; background-color: var(--placeholder); }
    .d3-hero.is-thr .d3-hero-num-wait { cursor: auto; }
    .d3-hero-num.is-incoming { color: var(--red) !important; }   /* card chhupa hai — aata hua number turant dikhe (khaali dabba nahi) */
}
@media print { .d3-hero-num-wait .d3-dash { -webkit-print-color-adjust: exact; print-color-adjust: exact; } }   /* v73 review: v72 ka "–" (patti = background) print me bhi */

/* ---------- v77 (owner 29 Oct: "robot chalta bhi rahe, dash par baith kar bhi wait kare, aur kuch waiting activity kar sakta hai vo bhi kare — sab me aise
   hi, lekin timing alag-alag ho, same na ho" + "pahle dash par latke, aur latak kar phir upar jaake baithe — sab kuch bahut zyada natural rahe, aisa na lage
   koi robot artificial hai"): v75 (chalta) + v76 (baitha) ki jagah HAR khaali "आज" dabbe (#d3-cards: Disawar card + manual rows) me EK robot (app.js
   walkersSync: span.d3-ar > [span.d3-arb = "–" bench] + span.d3-arx (jagah + mukh) > [span.d3-arh (uchhal) > chalta svg .d3-arw, latakta svg .d3-arl
   (saamne se), baitha svg .d3-ars]) — ~34 s: chalna (pair zameen par tike: kamar 6.6·(1 − cos θ) neeche, halka aage jhukaav), "–" ke neeche ghadi (thak-thak),
   chalna, palatna (scaleX cos, jhatka nahi), wapas beech, "–" ko dekh kar jhukna → uchhal (gravity bezier) → "–" pakad kar LATAKNA (jhoola dheere thamta,
   pair peeche lagte, baari-baari pair, idhar-udhar dekhna) → zor ke liye neeche → UPAR KHINCHNA (haath "–" par tike, baahein chhoti → ulti) → mud kar BAITHNA
   (seat dabti, har jhoola alag — seeded random; ghadi; peeche jhuk kar upar dekhna) → aage jhuk kar kood (gravity) → dabna → pair thapthapana → mud kar "–"
   ko dekhna → chalna → palatna. "–" pakad / baithne / dhakke par zara dabta (bench + latakta + baitha svg saath). Teeno ki palak jhapakti. Chakkar sab ka
   --aw-T = 34 s, par 11 dabbe chakkar me barabar bikhre (phase --aw-d = game id × 7 mod 11 ka hissa, ghadi se bandha) — har pal 3–4 baithe, 1–2 latakte,
   baaki chalte / farsh par; do dabbe kabhi 3 s se paas nahi (alag-alag chakkar se kabhi-kabhi 6–8 ek saath baith jaate the); sam id = ulti disha (.is-mir).
   Naap: --aw-h chalte robot ki oonchai
   (bench ke neeche ~2 px jagah; latakta robot bhi isi naap ka), --aw-r chalne ki doori (= --aw-h: ek hi keyframe set me kadam = pair ki pahunch, pair
   fisalte nahi), --as-s baithe robot ka scale; uchhal % se (span.d3-arh = dabba). Parchhaai alag svg (.d3-arsh) farsh par — uchhal ke saath hawa me nahi.
   Pose tracks ease-in-out (keyframe sirf chhor par), jagah / uchhal linear + gravity bezier; chalne me zameen wala pair linear (tika), aage wala uthta.
   Generator: storage/backups/2026-10-29-deploy-v66-v72/pre-v77b/v77_build.py. Jo sprite abhi nahi dikh sakta wo app.js walkersGate() se display:none
   (phone par CPU aadha) — aate hi uski animation dabbe ki ghadi (.d3-arx) par. Screen se bahar = ruka (+ wapas aate hi phase dobara). Auto rows me nahi.
   Kam-motion / print / High Contrast / bina JS = sirf asli "–". Koi text / number nahi. ---------- */
html.d3-awalk #d3-cards .d3-card-num.has-ar { position: relative; overflow: hidden; color: transparent; }
#d3-cards .d3-row-t .d3-card-num { --aw-h: 20px; --aw-r: 20px; --as-s: .93; }
@media (max-width: 360px) { #d3-cards .d3-row-t .d3-card-num { --aw-h: 17px; --aw-r: 17px; --as-s: .79; } }
@media (min-width: 640px) { #d3-cards .d3-row-t .d3-card-num { --aw-h: 22px; --aw-r: 22px; --as-s: 1.02; } }
#d3-cards .d3-feat .d3-card-num { --aw-h: 13px; --aw-r: 13px; --as-s: .6; }
.d3-ar { display: none; }
html.d3-awalk #d3-cards .has-ar .d3-ar { display: block; position: absolute; inset: 0; pointer-events: none; contain: layout paint; }
html.d3-awalk #d3-cards .has-ar .d3-ar.is-mir { transform: scaleX(-1); }   /* sam game id: poora khel ulti disha me (transform — alag `scale` property Chrome 104+ / Samsung 20+ hi) */
.d3-ar .d3-arb { position: absolute; left: 50%; top: 50%; width: .568em; height: .155em; border-radius: .03em; background-color: var(--placeholder);
    transform: translate(-50%, -50%); animation: d3-ar-bench var(--aw-T, 34s) ease-in-out infinite; animation-delay: var(--aw-d, 0s); }   /* "–" = bench (hero .d3-dash ke naap) */
.d3-ar .d3-arx { position: absolute; inset: 0; transform-origin: 50% 100%; animation: d3-ar-x var(--aw-T, 34s) linear infinite; animation-delay: var(--aw-d, 0s); }
.d3-ar .d3-arh { position: absolute; inset: 0; animation: d3-ar-h var(--aw-T, 34s) linear infinite; animation-delay: var(--aw-d, 0s); }
.d3-ar .d3-arw { position: absolute; left: 50%; bottom: 2px; height: var(--aw-h); width: calc(var(--aw-h) * 20 / 26); margin-left: calc(var(--aw-h) * -10 / 26);
    overflow: visible; animation: d3-ar-wo var(--aw-T, 34s) linear infinite; animation-delay: var(--aw-d, 0s); }
.d3-ar .d3-arsh { position: absolute; left: 50%; bottom: 2px; height: var(--aw-h); width: calc(var(--aw-h) * 20 / 26); margin-left: calc(var(--aw-h) * -10 / 26);
    overflow: visible; }   /* parchhaai farsh par: span.d3-arh (uchhal) ke bahar */
.d3-ar .d3-arl { position: absolute; left: 50%; top: calc(50% - .0775em - var(--aw-h) * 8 / 26); width: calc(var(--aw-h) * 17 / 26); height: var(--aw-h);
    margin-left: calc(var(--aw-h) * -8.5 / 26); overflow: visible; opacity: 0;
    animation: d3-ar-lo var(--aw-T, 34s) linear infinite, d3-ar-dip var(--aw-T, 34s) ease-in-out infinite; animation-delay: var(--aw-d, 0s); }   /* svg y=0 = bench ki chhat */
.d3-ar .d3-ars { position: absolute; left: 50%; top: calc(50% - .0775em - var(--as-s) * 15.5px); width: calc(var(--as-s) * 20px); height: calc(var(--as-s) * 24.5px);
    margin-left: calc(var(--as-s) * -10px); overflow: visible; opacity: 0;
    animation: d3-ar-so var(--aw-T, 34s) linear infinite, d3-ar-dip var(--aw-T, 34s) ease-in-out infinite; animation-delay: var(--aw-d, 0s); }   /* seat (svg y=0) = bench ki chhat */
.d3-ar g { transform-box: view-box; }
.d3-ar .d3-al-arms path { vector-effect: non-scaling-stroke; stroke-width: calc(var(--aw-h) * 1.9 / 26); }   /* upar chadhte waqt scaleY 0 paar karte bhi baahein poori moti */
.d3-ar .d3-aw-sh { animation: d3-ar-sh var(--aw-T, 34s) linear infinite; animation-delay: var(--aw-d, 0s); }
.d3-ar .d3-aw-bob { transform-origin: 10px 24.6px; animation: d3-ar-bob var(--aw-T, 34s) ease-in-out infinite; animation-delay: var(--aw-d, 0s); }
.d3-ar .d3-aw-legF { transform-origin: 10.7px 18.4px; animation: d3-ar-legF var(--aw-T, 34s) ease-in-out infinite; animation-delay: var(--aw-d, 0s); }
.d3-ar .d3-aw-legB { transform-origin: 9.7px 18.4px; animation: d3-ar-legB var(--aw-T, 34s) ease-in-out infinite; animation-delay: var(--aw-d, 0s); }
.d3-ar .d3-aw-arm { transform-origin: 10.6px 12.7px; animation: d3-ar-arm var(--aw-T, 34s) ease-in-out infinite; animation-delay: var(--aw-d, 0s); }
.d3-ar .d3-aw-head { transform-origin: 9.6px 11.2px; animation: d3-ar-head var(--aw-T, 34s) ease-in-out infinite; animation-delay: var(--aw-d, 0s); }
.d3-ar .d3-aw-eye { transform-origin: 11.75px 6.3px; animation: d3-ar-eye var(--aw-T, 34s) ease-in-out infinite; animation-delay: var(--aw-d, 0s); }
.d3-ar .d3-al-all { transform-origin: 0px 0.35px; animation: d3-ar-lall var(--aw-T, 34s) ease-in-out infinite; animation-delay: var(--aw-d, 0s); }
.d3-ar .d3-al-body { animation: d3-ar-lbody var(--aw-T, 34s) ease-in-out infinite; animation-delay: var(--aw-d, 0s); }
.d3-ar .d3-al-arms { transform-origin: 0px 0.35px; animation: d3-ar-larms var(--aw-T, 34s) ease-in-out infinite; animation-delay: var(--aw-d, 0s); }
.d3-ar .d3-al-legL { transform-origin: -2.15px 10.4px; animation: d3-ar-llegL var(--aw-T, 34s) ease-in-out infinite; animation-delay: var(--aw-d, 0s); }
.d3-ar .d3-al-legR { transform-origin: 2.15px 10.4px; animation: d3-ar-llegR var(--aw-T, 34s) ease-in-out infinite; animation-delay: var(--aw-d, 0s); }
.d3-ar .d3-al-eye { transform-origin: 0px -1.15px; animation: d3-ar-leye var(--aw-T, 34s) ease-in-out infinite; animation-delay: var(--aw-d, 0s); }
.d3-ar .d3-as-all { transform-origin: 13.5px 0px; animation: d3-ar-sall var(--aw-T, 34s) ease-in-out infinite; animation-delay: var(--aw-d, 0s); }
.d3-ar .d3-as-legF { transform-origin: 13.4px -1px; animation: d3-ar-slegF var(--aw-T, 34s) ease-in-out infinite; animation-delay: var(--aw-d, 0s); }
.d3-ar .d3-as-legB { transform-origin: 12.3px -1px; animation: d3-ar-slegB var(--aw-T, 34s) ease-in-out infinite; animation-delay: var(--aw-d, 0s); }
.d3-ar .d3-as-arm { transform-origin: 8.4px -6.2px; animation: d3-ar-sarm var(--aw-T, 34s) ease-in-out infinite; animation-delay: var(--aw-d, 0s); }
.d3-ar .d3-as-head { transform-origin: 7.6px -6.6px; animation: d3-ar-shead var(--aw-T, 34s) ease-in-out infinite; animation-delay: var(--aw-d, 0s); }
.d3-ar .d3-as-eye { transform-origin: 10.05px -10.1px; animation: d3-ar-seye var(--aw-T, 34s) ease-in-out infinite; animation-delay: var(--aw-d, 0s); }
html.d3-awalk #d3-cards.aw-off .d3-ar * { animation-play-state: paused; }   /* screen se bahar */
@media (prefers-reduced-motion: reduce), print, (forced-colors: active) {
    html.d3-awalk #d3-cards .has-ar .d3-ar { display: none; }
    html.d3-awalk #d3-cards .d3-card-num.has-ar { color: var(--placeholder); }
}
@keyframes d3-ar-x { 0% { transform: translateX(calc(var(--aw-r) * -1)) scaleX(1); } 1.471% { transform: translateX(calc(var(--aw-r) * -0.885)) scaleX(1); } 2.941% { transform: translateX(calc(var(--aw-r) * -0.692)) scaleX(1); } 4.412% { transform: translateX(calc(var(--aw-r) * -0.5)) scaleX(1); } 5.882% { transform: translateX(calc(var(--aw-r) * -0.308)) scaleX(1); } 7.353% { transform: translateX(calc(var(--aw-r) * -0.115)) scaleX(1); } 8.824% { transform: translateX(calc(var(--aw-r) * 0)) scaleX(1); } 16.471% { transform: translateX(calc(var(--aw-r) * 0)) scaleX(1); } 17.941% { transform: translateX(calc(var(--aw-r) * 0.115)) scaleX(1); } 19.412% { transform: translateX(calc(var(--aw-r) * 0.308)) scaleX(1); } 20.882% { transform: translateX(calc(var(--aw-r) * 0.5)) scaleX(1); } 22.353% { transform: translateX(calc(var(--aw-r) * 0.692)) scaleX(1); } 23.824% { transform: translateX(calc(var(--aw-r) * 0.885)) scaleX(1); } 25.294% { transform: translateX(calc(var(--aw-r) * 1)) scaleX(1); } 25.5% { transform: translateX(calc(var(--aw-r) * 1)) scaleX(0.947); } 25.706% { transform: translateX(calc(var(--aw-r) * 1)) scaleX(0.448); } 25.809% { transform: translateX(calc(var(--aw-r) * 1)) scaleX(0); } 25.912% { transform: translateX(calc(var(--aw-r) * 1)) scaleX(-0.448); } 26.118% { transform: translateX(calc(var(--aw-r) * 1)) scaleX(-0.947); } 26.324% { transform: translateX(calc(var(--aw-r) * 1)) scaleX(-1); } 27.941% { transform: translateX(calc(var(--aw-r) * 1)) scaleX(-1); } 29.412% { transform: translateX(calc(var(--aw-r) * 0.885)) scaleX(-1); } 30.882% { transform: translateX(calc(var(--aw-r) * 0.692)) scaleX(-1); } 32.353% { transform: translateX(calc(var(--aw-r) * 0.5)) scaleX(-1); } 33.824% { transform: translateX(calc(var(--aw-r) * 0.308)) scaleX(-1); } 35.294% { transform: translateX(calc(var(--aw-r) * 0.115)) scaleX(-1); } 36.765% { transform: translateX(calc(var(--aw-r) * 0)) scaleX(-1); } 82.059% { transform: translateX(calc(var(--aw-r) * 0)) scaleX(-1); } 83.971% { transform: translateX(calc(var(--aw-r) * -0.8)) scaleX(-1); } 90.588% { transform: translateX(calc(var(--aw-r) * -0.8)) scaleX(-1); } 90.794% { transform: translateX(calc(var(--aw-r) * -0.8)) scaleX(-0.947); } 91% { transform: translateX(calc(var(--aw-r) * -0.8)) scaleX(-0.448); } 91.103% { transform: translateX(calc(var(--aw-r) * -0.8)) scaleX(0); } 91.206% { transform: translateX(calc(var(--aw-r) * -0.8)) scaleX(0.448); } 91.412% { transform: translateX(calc(var(--aw-r) * -0.8)) scaleX(0.947); } 91.618% { transform: translateX(calc(var(--aw-r) * -0.8)) scaleX(1); } 93.676% { transform: translateX(calc(var(--aw-r) * -0.8)) scaleX(1); } 93.882% { transform: translateX(calc(var(--aw-r) * -0.8)) scaleX(0.947); } 94.088% { transform: translateX(calc(var(--aw-r) * -0.8)) scaleX(0.448); } 94.191% { transform: translateX(calc(var(--aw-r) * -0.8)) scaleX(0); } 94.294% { transform: translateX(calc(var(--aw-r) * -0.8)) scaleX(-0.448); } 94.5% { transform: translateX(calc(var(--aw-r) * -0.8)) scaleX(-0.947); } 94.706% { transform: translateX(calc(var(--aw-r) * -0.8)) scaleX(-1); } 96.471% { transform: translateX(calc(var(--aw-r) * -1)) scaleX(-1); } 96.676% { transform: translateX(calc(var(--aw-r) * -1)) scaleX(-0.947); } 96.882% { transform: translateX(calc(var(--aw-r) * -1)) scaleX(-0.448); } 96.985% { transform: translateX(calc(var(--aw-r) * -1)) scaleX(0); } 97.088% { transform: translateX(calc(var(--aw-r) * -1)) scaleX(0.448); } 97.294% { transform: translateX(calc(var(--aw-r) * -1)) scaleX(0.947); } 97.5% { transform: translateX(calc(var(--aw-r) * -1)) scaleX(1); } 100% { transform: translateX(calc(var(--aw-r) * -1)) scaleX(1); } }
@keyframes d3-ar-h { 0% { transform: translateY(0px); } 40.882% { transform: translateY(0px); animation-timing-function: cubic-bezier(.333, .667, .667, 1); } 41.765% { transform: translateY(calc((2px - 50% - .0775em + var(--aw-h) * 0.70385) * 1)); } 81.912% { transform: translateY(calc((2px - 50% - .0775em + var(--aw-h) * 0.30769) * 1)); } 82.059% { transform: translateY(calc((2px - 50% - .0775em + var(--aw-h) * 0.30769) * 1)); animation-timing-function: cubic-bezier(.333, .667, .667, 1); } 82.353% { transform: translateY(calc((2px - 50% - .0775em + var(--aw-h) * 0.30769) * 1.06)); animation-timing-function: cubic-bezier(.333, 0, .667, .333); } 83.971% { transform: translateY(0px); } 100% { transform: translateY(0px); } }
@keyframes d3-ar-wo { 0% { opacity: 1; } 41.676% { opacity: 1; } 41.794% { opacity: 0; } 82% { opacity: 0; } 82.118% { opacity: 1; } 100% { opacity: 1; } }
@keyframes d3-ar-lo { 0% { opacity: 0; } 41.588% { opacity: 0; } 41.706% { opacity: 1; } 54.412% { opacity: 1; } 54.588% { opacity: 0; } 100% { opacity: 0; } }
@keyframes d3-ar-so { 0% { opacity: 0; } 54.324% { opacity: 0; } 54.5% { opacity: 1; } 82.059% { opacity: 1; } 82.206% { opacity: 0; } 100% { opacity: 0; } }
@keyframes d3-ar-sh { 0% { opacity: 1; } 40.941% { opacity: 1; } 41.235% { opacity: 0; } 83.382% { opacity: 0; } 83.971% { opacity: 1; } 100% { opacity: 1; } }
@keyframes d3-ar-bob { 0% { transform: translateY(0px) rotate(0deg); } 0.735% { transform: translateY(0.17px) rotate(1.5deg); } 1.471% { transform: translateY(0px) rotate(1.5deg); } 2.206% { transform: translateY(0.48px) rotate(3deg); } 2.941% { transform: translateY(0px) rotate(3deg); } 3.676% { transform: translateY(0.48px) rotate(3deg); } 4.412% { transform: translateY(0px) rotate(3deg); } 5.147% { transform: translateY(0.48px) rotate(3deg); } 5.882% { transform: translateY(0px) rotate(3deg); } 6.618% { transform: translateY(0.48px) rotate(3deg); } 7.353% { transform: translateY(0px) rotate(3deg); } 8.088% { transform: translateY(0.17px) rotate(1.5deg); } 8.824% { transform: translateY(0px) rotate(0deg); } 12.647% { transform: translateY(-0.22px) rotate(0deg); } 16.471% { transform: translateY(0px) rotate(0deg); } 17.206% { transform: translateY(0.17px) rotate(1.5deg); } 17.941% { transform: translateY(0px) rotate(1.5deg); } 18.676% { transform: translateY(0.48px) rotate(3deg); } 19.412% { transform: translateY(0px) rotate(3deg); } 20.147% { transform: translateY(0.48px) rotate(3deg); } 20.882% { transform: translateY(0px) rotate(3deg); } 21.618% { transform: translateY(0.48px) rotate(3deg); } 22.353% { transform: translateY(0px) rotate(3deg); } 23.088% { transform: translateY(0.48px) rotate(3deg); } 23.824% { transform: translateY(0px) rotate(3deg); } 24.559% { transform: translateY(0.17px) rotate(1.5deg); } 25.294% { transform: translateY(0px) rotate(0deg); } 27.941% { transform: translateY(0px) rotate(0deg); } 28.676% { transform: translateY(0.17px) rotate(1.5deg); } 29.412% { transform: translateY(0px) rotate(1.5deg); } 30.147% { transform: translateY(0.48px) rotate(3deg); } 30.882% { transform: translateY(0px) rotate(3deg); } 31.618% { transform: translateY(0.48px) rotate(3deg); } 32.353% { transform: translateY(0px) rotate(3deg); } 33.088% { transform: translateY(0.48px) rotate(3deg); } 33.824% { transform: translateY(0px) rotate(3deg); } 34.559% { transform: translateY(0.48px) rotate(3deg); } 35.294% { transform: translateY(0px) rotate(3deg); } 36.029% { transform: translateY(0.17px) rotate(1.5deg); } 36.765% { transform: translateY(0px) rotate(0deg); } 38.309% { transform: translateY(-0.22px) rotate(0deg); } 39.853% { transform: translateY(0px) rotate(0deg); } 40% { transform: translateY(0px) rotate(0deg); } 40.735% { transform: translateY(1.4px) rotate(2deg); } 41.176% { transform: translateY(-0.5px) rotate(0deg); } 41.765% { transform: translateY(0px) rotate(0deg); } 81.912% { transform: translateY(0px) rotate(6deg); } 82.059% { transform: translateY(0px) rotate(6deg); } 83.235% { transform: translateY(0px) rotate(2deg); } 83.971% { transform: translateY(0px) rotate(0deg); } 84.353% { transform: translateY(1.2px) rotate(4deg); } 84.853% { transform: translateY(0.3px) rotate(1deg); } 85.294% { transform: translateY(0px) rotate(0deg); } 85.735% { transform: translateY(0px) rotate(0deg); } 86.088% { transform: translateY(-0.15px) rotate(0deg); } 86.5% { transform: translateY(0px) rotate(0deg); } 87.206% { transform: translateY(0px) rotate(0deg); } 87.559% { transform: translateY(-0.15px) rotate(0deg); } 87.971% { transform: translateY(0px) rotate(0deg); } 88.676% { transform: translateY(0px) rotate(0deg); } 89.029% { transform: translateY(-0.15px) rotate(0deg); } 89.441% { transform: translateY(0px) rotate(0deg); } 94.706% { transform: translateY(0px) rotate(0deg); } 95.588% { transform: translateY(0.48px) rotate(3deg); } 96.471% { transform: translateY(0px) rotate(0deg); } 97.5% { transform: translateY(0px) rotate(0deg); } 98.75% { transform: translateY(-0.22px) rotate(0deg); } 100% { transform: translateY(0px) rotate(0deg); } }
@keyframes d3-ar-legF { 0% { transform: rotate(0deg) scaleY(1); animation-timing-function: linear; } 0.735% { transform: rotate(16.4deg) scaleY(1); animation-timing-function: linear; } 0.98% { transform: rotate(13.1deg) scaleY(0.935); animation-timing-function: linear; } 1.225% { transform: rotate(4.9deg) scaleY(0.887); animation-timing-function: linear; } 1.471% { transform: rotate(-5.9deg) scaleY(0.87); animation-timing-function: linear; } 1.716% { transform: rotate(-16.6deg) scaleY(0.887); animation-timing-function: linear; } 1.961% { transform: rotate(-24.8deg) scaleY(0.935); animation-timing-function: linear; } 2.206% { transform: rotate(-28.1deg) scaleY(1); animation-timing-function: linear; } 3.676% { transform: rotate(28.1deg) scaleY(1); animation-timing-function: linear; } 3.922% { transform: rotate(24deg) scaleY(0.935); animation-timing-function: linear; } 4.167% { transform: rotate(13.6deg) scaleY(0.887); animation-timing-function: linear; } 4.412% { transform: rotate(0deg) scaleY(0.87); animation-timing-function: linear; } 4.657% { transform: rotate(-13.6deg) scaleY(0.887); animation-timing-function: linear; } 4.902% { transform: rotate(-24deg) scaleY(0.935); animation-timing-function: linear; } 5.147% { transform: rotate(-28.1deg) scaleY(1); animation-timing-function: linear; } 6.618% { transform: rotate(28.1deg) scaleY(1); animation-timing-function: linear; } 6.863% { transform: rotate(24.8deg) scaleY(0.935); animation-timing-function: linear; } 7.108% { transform: rotate(16.6deg) scaleY(0.887); animation-timing-function: linear; } 7.353% { transform: rotate(5.9deg) scaleY(0.87); animation-timing-function: linear; } 7.598% { transform: rotate(-4.9deg) scaleY(0.887); animation-timing-function: linear; } 7.843% { transform: rotate(-13.1deg) scaleY(0.935); animation-timing-function: linear; } 8.088% { transform: rotate(-16.4deg) scaleY(1); animation-timing-function: linear; } 8.824% { transform: rotate(0deg) scaleY(1); } 16.471% { transform: rotate(0deg) scaleY(1); animation-timing-function: linear; } 17.206% { transform: rotate(16.4deg) scaleY(1); animation-timing-function: linear; } 17.451% { transform: rotate(13.1deg) scaleY(0.935); animation-timing-function: linear; } 17.696% { transform: rotate(4.9deg) scaleY(0.887); animation-timing-function: linear; } 17.941% { transform: rotate(-5.9deg) scaleY(0.87); animation-timing-function: linear; } 18.186% { transform: rotate(-16.6deg) scaleY(0.887); animation-timing-function: linear; } 18.431% { transform: rotate(-24.8deg) scaleY(0.935); animation-timing-function: linear; } 18.676% { transform: rotate(-28.1deg) scaleY(1); animation-timing-function: linear; } 20.147% { transform: rotate(28.1deg) scaleY(1); animation-timing-function: linear; } 20.392% { transform: rotate(24deg) scaleY(0.935); animation-timing-function: linear; } 20.637% { transform: rotate(13.6deg) scaleY(0.887); animation-timing-function: linear; } 20.882% { transform: rotate(0deg) scaleY(0.87); animation-timing-function: linear; } 21.127% { transform: rotate(-13.6deg) scaleY(0.887); animation-timing-function: linear; } 21.373% { transform: rotate(-24deg) scaleY(0.935); animation-timing-function: linear; } 21.618% { transform: rotate(-28.1deg) scaleY(1); animation-timing-function: linear; } 23.088% { transform: rotate(28.1deg) scaleY(1); animation-timing-function: linear; } 23.333% { transform: rotate(24.8deg) scaleY(0.935); animation-timing-function: linear; } 23.578% { transform: rotate(16.6deg) scaleY(0.887); animation-timing-function: linear; } 23.824% { transform: rotate(5.9deg) scaleY(0.87); animation-timing-function: linear; } 24.069% { transform: rotate(-4.9deg) scaleY(0.887); animation-timing-function: linear; } 24.314% { transform: rotate(-13.1deg) scaleY(0.935); animation-timing-function: linear; } 24.559% { transform: rotate(-16.4deg) scaleY(1); animation-timing-function: linear; } 25.294% { transform: rotate(0deg) scaleY(1); } 27.941% { transform: rotate(0deg) scaleY(1); animation-timing-function: linear; } 28.676% { transform: rotate(16.4deg) scaleY(1); animation-timing-function: linear; } 28.922% { transform: rotate(13.1deg) scaleY(0.935); animation-timing-function: linear; } 29.167% { transform: rotate(4.9deg) scaleY(0.887); animation-timing-function: linear; } 29.412% { transform: rotate(-5.9deg) scaleY(0.87); animation-timing-function: linear; } 29.657% { transform: rotate(-16.6deg) scaleY(0.887); animation-timing-function: linear; } 29.902% { transform: rotate(-24.8deg) scaleY(0.935); animation-timing-function: linear; } 30.147% { transform: rotate(-28.1deg) scaleY(1); animation-timing-function: linear; } 31.618% { transform: rotate(28.1deg) scaleY(1); animation-timing-function: linear; } 31.863% { transform: rotate(24deg) scaleY(0.935); animation-timing-function: linear; } 32.108% { transform: rotate(13.6deg) scaleY(0.887); animation-timing-function: linear; } 32.353% { transform: rotate(0deg) scaleY(0.87); animation-timing-function: linear; } 32.598% { transform: rotate(-13.6deg) scaleY(0.887); animation-timing-function: linear; } 32.843% { transform: rotate(-24deg) scaleY(0.935); animation-timing-function: linear; } 33.088% { transform: rotate(-28.1deg) scaleY(1); animation-timing-function: linear; } 34.559% { transform: rotate(28.1deg) scaleY(1); animation-timing-function: linear; } 34.804% { transform: rotate(24.8deg) scaleY(0.935); animation-timing-function: linear; } 35.049% { transform: rotate(16.6deg) scaleY(0.887); animation-timing-function: linear; } 35.294% { transform: rotate(5.9deg) scaleY(0.87); animation-timing-function: linear; } 35.539% { transform: rotate(-4.9deg) scaleY(0.887); animation-timing-function: linear; } 35.784% { transform: rotate(-13.1deg) scaleY(0.935); animation-timing-function: linear; } 36.029% { transform: rotate(-16.4deg) scaleY(1); animation-timing-function: linear; } 36.765% { transform: rotate(0deg) scaleY(1); } 40% { transform: rotate(0deg) scaleY(1); } 40.735% { transform: rotate(-8deg) scaleY(0.79); } 41.176% { transform: rotate(12deg) scaleY(1.04); } 41.765% { transform: rotate(6deg) scaleY(1); } 81.912% { transform: rotate(-22deg) scaleY(1.4); } 82.059% { transform: rotate(-22deg) scaleY(1.4); } 83.382% { transform: rotate(-4deg) scaleY(1); } 83.971% { transform: rotate(0deg) scaleY(1); } 84.353% { transform: rotate(-6deg) scaleY(0.82); } 84.853% { transform: rotate(-2deg) scaleY(0.95); } 85.294% { transform: rotate(0deg) scaleY(1); } 85.735% { transform: rotate(0deg) scaleY(1); } 86.088% { transform: rotate(-15deg) scaleY(1); } 86.5% { transform: rotate(0deg) scaleY(1); } 87.206% { transform: rotate(0deg) scaleY(1); } 87.559% { transform: rotate(-15deg) scaleY(1); } 87.971% { transform: rotate(0deg) scaleY(1); } 88.676% { transform: rotate(0deg) scaleY(1); } 89.029% { transform: rotate(-15deg) scaleY(1); } 89.441% { transform: rotate(0deg) scaleY(1); } 94.706% { transform: rotate(0deg) scaleY(1); animation-timing-function: linear; } 95.588% { transform: rotate(29.4deg) scaleY(1); animation-timing-function: linear; } 95.735% { transform: rotate(27.2deg) scaleY(0.935); animation-timing-function: linear; } 95.882% { transform: rotate(21.8deg) scaleY(0.887); animation-timing-function: linear; } 96.029% { transform: rotate(14.7deg) scaleY(0.87); animation-timing-function: linear; } 96.176% { transform: rotate(7.6deg) scaleY(0.887); animation-timing-function: linear; } 96.324% { transform: rotate(2.2deg) scaleY(0.935); animation-timing-function: linear; } 96.471% { transform: rotate(0deg) scaleY(1); } 100% { transform: rotate(0deg) scaleY(1); } }
@keyframes d3-ar-legB { 0% { transform: rotate(0deg) scaleY(1); animation-timing-function: linear; } 0.123% { transform: rotate(-1.2deg) scaleY(0.935); animation-timing-function: linear; } 0.245% { transform: rotate(-4.3deg) scaleY(0.887); animation-timing-function: linear; } 0.368% { transform: rotate(-8.2deg) scaleY(0.87); animation-timing-function: linear; } 0.49% { transform: rotate(-12.2deg) scaleY(0.887); animation-timing-function: linear; } 0.613% { transform: rotate(-15.2deg) scaleY(0.935); animation-timing-function: linear; } 0.735% { transform: rotate(-16.4deg) scaleY(1); animation-timing-function: linear; } 2.206% { transform: rotate(28.1deg) scaleY(1); animation-timing-function: linear; } 2.451% { transform: rotate(24deg) scaleY(0.935); animation-timing-function: linear; } 2.696% { transform: rotate(13.6deg) scaleY(0.887); animation-timing-function: linear; } 2.941% { transform: rotate(0deg) scaleY(0.87); animation-timing-function: linear; } 3.186% { transform: rotate(-13.6deg) scaleY(0.887); animation-timing-function: linear; } 3.431% { transform: rotate(-24deg) scaleY(0.935); animation-timing-function: linear; } 3.676% { transform: rotate(-28.1deg) scaleY(1); animation-timing-function: linear; } 5.147% { transform: rotate(28.1deg) scaleY(1); animation-timing-function: linear; } 5.392% { transform: rotate(24deg) scaleY(0.935); animation-timing-function: linear; } 5.637% { transform: rotate(13.6deg) scaleY(0.887); animation-timing-function: linear; } 5.882% { transform: rotate(0deg) scaleY(0.87); animation-timing-function: linear; } 6.127% { transform: rotate(-13.6deg) scaleY(0.887); animation-timing-function: linear; } 6.373% { transform: rotate(-24deg) scaleY(0.935); animation-timing-function: linear; } 6.618% { transform: rotate(-28.1deg) scaleY(1); animation-timing-function: linear; } 8.088% { transform: rotate(16.4deg) scaleY(1); animation-timing-function: linear; } 8.211% { transform: rotate(15.2deg) scaleY(0.935); animation-timing-function: linear; } 8.333% { transform: rotate(12.2deg) scaleY(0.887); animation-timing-function: linear; } 8.456% { transform: rotate(8.2deg) scaleY(0.87); animation-timing-function: linear; } 8.578% { transform: rotate(4.3deg) scaleY(0.887); animation-timing-function: linear; } 8.701% { transform: rotate(1.2deg) scaleY(0.935); animation-timing-function: linear; } 8.824% { transform: rotate(0deg) scaleY(1); } 16.471% { transform: rotate(0deg) scaleY(1); animation-timing-function: linear; } 16.593% { transform: rotate(-1.2deg) scaleY(0.935); animation-timing-function: linear; } 16.716% { transform: rotate(-4.3deg) scaleY(0.887); animation-timing-function: linear; } 16.838% { transform: rotate(-8.2deg) scaleY(0.87); animation-timing-function: linear; } 16.961% { transform: rotate(-12.2deg) scaleY(0.887); animation-timing-function: linear; } 17.083% { transform: rotate(-15.2deg) scaleY(0.935); animation-timing-function: linear; } 17.206% { transform: rotate(-16.4deg) scaleY(1); animation-timing-function: linear; } 18.676% { transform: rotate(28.1deg) scaleY(1); animation-timing-function: linear; } 18.922% { transform: rotate(24deg) scaleY(0.935); animation-timing-function: linear; } 19.167% { transform: rotate(13.6deg) scaleY(0.887); animation-timing-function: linear; } 19.412% { transform: rotate(0deg) scaleY(0.87); animation-timing-function: linear; } 19.657% { transform: rotate(-13.6deg) scaleY(0.887); animation-timing-function: linear; } 19.902% { transform: rotate(-24deg) scaleY(0.935); animation-timing-function: linear; } 20.147% { transform: rotate(-28.1deg) scaleY(1); animation-timing-function: linear; } 21.618% { transform: rotate(28.1deg) scaleY(1); animation-timing-function: linear; } 21.863% { transform: rotate(24deg) scaleY(0.935); animation-timing-function: linear; } 22.108% { transform: rotate(13.6deg) scaleY(0.887); animation-timing-function: linear; } 22.353% { transform: rotate(0deg) scaleY(0.87); animation-timing-function: linear; } 22.598% { transform: rotate(-13.6deg) scaleY(0.887); animation-timing-function: linear; } 22.843% { transform: rotate(-24deg) scaleY(0.935); animation-timing-function: linear; } 23.088% { transform: rotate(-28.1deg) scaleY(1); animation-timing-function: linear; } 24.559% { transform: rotate(16.4deg) scaleY(1); animation-timing-function: linear; } 24.681% { transform: rotate(15.2deg) scaleY(0.935); animation-timing-function: linear; } 24.804% { transform: rotate(12.2deg) scaleY(0.887); animation-timing-function: linear; } 24.926% { transform: rotate(8.2deg) scaleY(0.87); animation-timing-function: linear; } 25.049% { transform: rotate(4.3deg) scaleY(0.887); animation-timing-function: linear; } 25.172% { transform: rotate(1.2deg) scaleY(0.935); animation-timing-function: linear; } 25.294% { transform: rotate(0deg) scaleY(1); } 27.941% { transform: rotate(0deg) scaleY(1); animation-timing-function: linear; } 28.064% { transform: rotate(-1.2deg) scaleY(0.935); animation-timing-function: linear; } 28.186% { transform: rotate(-4.3deg) scaleY(0.887); animation-timing-function: linear; } 28.309% { transform: rotate(-8.2deg) scaleY(0.87); animation-timing-function: linear; } 28.431% { transform: rotate(-12.2deg) scaleY(0.887); animation-timing-function: linear; } 28.554% { transform: rotate(-15.2deg) scaleY(0.935); animation-timing-function: linear; } 28.676% { transform: rotate(-16.4deg) scaleY(1); animation-timing-function: linear; } 30.147% { transform: rotate(28.1deg) scaleY(1); animation-timing-function: linear; } 30.392% { transform: rotate(24deg) scaleY(0.935); animation-timing-function: linear; } 30.637% { transform: rotate(13.6deg) scaleY(0.887); animation-timing-function: linear; } 30.882% { transform: rotate(0deg) scaleY(0.87); animation-timing-function: linear; } 31.127% { transform: rotate(-13.6deg) scaleY(0.887); animation-timing-function: linear; } 31.373% { transform: rotate(-24deg) scaleY(0.935); animation-timing-function: linear; } 31.618% { transform: rotate(-28.1deg) scaleY(1); animation-timing-function: linear; } 33.088% { transform: rotate(28.1deg) scaleY(1); animation-timing-function: linear; } 33.333% { transform: rotate(24deg) scaleY(0.935); animation-timing-function: linear; } 33.578% { transform: rotate(13.6deg) scaleY(0.887); animation-timing-function: linear; } 33.824% { transform: rotate(0deg) scaleY(0.87); animation-timing-function: linear; } 34.069% { transform: rotate(-13.6deg) scaleY(0.887); animation-timing-function: linear; } 34.314% { transform: rotate(-24deg) scaleY(0.935); animation-timing-function: linear; } 34.559% { transform: rotate(-28.1deg) scaleY(1); animation-timing-function: linear; } 36.029% { transform: rotate(16.4deg) scaleY(1); animation-timing-function: linear; } 36.152% { transform: rotate(15.2deg) scaleY(0.935); animation-timing-function: linear; } 36.275% { transform: rotate(12.2deg) scaleY(0.887); animation-timing-function: linear; } 36.397% { transform: rotate(8.2deg) scaleY(0.87); animation-timing-function: linear; } 36.52% { transform: rotate(4.3deg) scaleY(0.887); animation-timing-function: linear; } 36.642% { transform: rotate(1.2deg) scaleY(0.935); animation-timing-function: linear; } 36.765% { transform: rotate(0deg) scaleY(1); } 40% { transform: rotate(0deg) scaleY(1); } 40.735% { transform: rotate(8deg) scaleY(0.79); } 41.176% { transform: rotate(-8deg) scaleY(1.04); } 41.765% { transform: rotate(-4deg) scaleY(1); } 81.912% { transform: rotate(-14deg) scaleY(1.35); } 82.059% { transform: rotate(-14deg) scaleY(1.35); } 83.382% { transform: rotate(2deg) scaleY(1); } 83.971% { transform: rotate(0deg) scaleY(1); } 84.353% { transform: rotate(6deg) scaleY(0.82); } 84.853% { transform: rotate(2deg) scaleY(0.95); } 85.294% { transform: rotate(0deg) scaleY(1); } 94.706% { transform: rotate(0deg) scaleY(1); animation-timing-function: linear; } 94.853% { transform: rotate(-2.2deg) scaleY(0.935); animation-timing-function: linear; } 95% { transform: rotate(-7.6deg) scaleY(0.887); animation-timing-function: linear; } 95.147% { transform: rotate(-14.7deg) scaleY(0.87); animation-timing-function: linear; } 95.294% { transform: rotate(-21.8deg) scaleY(0.887); animation-timing-function: linear; } 95.441% { transform: rotate(-27.2deg) scaleY(0.935); animation-timing-function: linear; } 95.588% { transform: rotate(-29.4deg) scaleY(1); animation-timing-function: linear; } 96.471% { transform: rotate(0deg) scaleY(1); } 100% { transform: rotate(0deg) scaleY(1); } }
@keyframes d3-ar-arm { 0% { transform: rotate(0deg); } 0.735% { transform: rotate(-9.6deg); } 2.206% { transform: rotate(16deg); } 3.676% { transform: rotate(-16deg); } 5.147% { transform: rotate(16deg); } 6.618% { transform: rotate(-16deg); } 8.088% { transform: rotate(9.6deg); } 8.824% { transform: rotate(0deg); } 9.412% { transform: rotate(0deg); } 10.441% { transform: rotate(-112deg); } 12.647% { transform: rotate(-112deg); } 13% { transform: rotate(-104deg); } 13.353% { transform: rotate(-112deg); } 13.706% { transform: rotate(-104deg); } 14.059% { transform: rotate(-112deg); } 14.853% { transform: rotate(-112deg); } 15.882% { transform: rotate(0deg); } 16.471% { transform: rotate(0deg); } 17.206% { transform: rotate(-9.6deg); } 18.676% { transform: rotate(16deg); } 20.147% { transform: rotate(-16deg); } 21.618% { transform: rotate(16deg); } 23.088% { transform: rotate(-16deg); } 24.559% { transform: rotate(9.6deg); } 25.294% { transform: rotate(0deg); } 27.941% { transform: rotate(0deg); } 28.676% { transform: rotate(-9.6deg); } 30.147% { transform: rotate(16deg); } 31.618% { transform: rotate(-16deg); } 33.088% { transform: rotate(16deg); } 34.559% { transform: rotate(-16deg); } 36.029% { transform: rotate(9.6deg); } 36.765% { transform: rotate(0deg); } 40% { transform: rotate(0deg); } 40.735% { transform: rotate(35deg); } 41.324% { transform: rotate(-170deg); } 41.765% { transform: rotate(-170deg); } 81.912% { transform: rotate(25deg); } 82.059% { transform: rotate(25deg); } 83.235% { transform: rotate(-70deg); } 83.971% { transform: rotate(-20deg); } 84.412% { transform: rotate(15deg); } 85.294% { transform: rotate(0deg); } 94.706% { transform: rotate(0deg); } 95.588% { transform: rotate(-16deg); } 96.471% { transform: rotate(0deg); } 100% { transform: rotate(0deg); } }
@keyframes d3-ar-head { 0% { transform: rotate(0deg); } 9.853% { transform: rotate(0deg); } 10.882% { transform: rotate(13deg); } 15% { transform: rotate(13deg); } 15.882% { transform: rotate(0deg); } 36.912% { transform: rotate(0deg); } 37.794% { transform: rotate(-16deg); } 39.559% { transform: rotate(-16deg); } 40.294% { transform: rotate(-6deg); } 41.176% { transform: rotate(-12deg); } 41.765% { transform: rotate(-2deg); } 81.912% { transform: rotate(10deg); } 82.059% { transform: rotate(10deg); } 83.529% { transform: rotate(6deg); } 84.412% { transform: rotate(0deg); } 91.618% { transform: rotate(0deg); } 92.206% { transform: rotate(-12deg); } 93.382% { transform: rotate(-12deg); } 93.824% { transform: rotate(0deg); } 100% { transform: rotate(0deg); } }
@keyframes d3-ar-eye { 0% { transform: scaleY(1); } 4.529% { transform: scaleY(1); } 4.706% { transform: scaleY(0.1); } 4.941% { transform: scaleY(1); } 11.588% { transform: scaleY(1); } 11.765% { transform: scaleY(0.1); } 12% { transform: scaleY(1); } 26.882% { transform: scaleY(1); } 27.059% { transform: scaleY(0.1); } 27.294% { transform: scaleY(1); } 38.206% { transform: scaleY(1); } 38.382% { transform: scaleY(0.1); } 38.618% { transform: scaleY(1); } 86.294% { transform: scaleY(1); } 86.471% { transform: scaleY(0.1); } 86.706% { transform: scaleY(1); } 92.618% { transform: scaleY(1); } 92.794% { transform: scaleY(0.1); } 93.029% { transform: scaleY(1); } 98.647% { transform: scaleY(1); } 98.824% { transform: scaleY(0.1); } 99.059% { transform: scaleY(1); } 100% { transform: scaleY(1); } }
@keyframes d3-ar-lall { 0% { transform: rotate(0deg); } 41.765% { transform: rotate(0deg); } 42.294% { transform: rotate(5deg); } 43.118% { transform: rotate(-3.4deg); } 43.971% { transform: rotate(2.2deg); } 44.853% { transform: rotate(-1.2deg); } 45.735% { transform: rotate(0.5deg); } 46.471% { transform: rotate(0deg); } 47.353% { transform: rotate(0.7deg); } 48.676% { transform: rotate(-0.7deg); } 50% { transform: rotate(0deg); } 100% { transform: rotate(0deg); } }
@keyframes d3-ar-lbody { 0% { transform: translateY(0px); } 41.765% { transform: translateY(0px); } 41.971% { transform: translateY(-0.5px); } 42.5% { transform: translateY(1px); } 43% { transform: translateY(-0.3px); } 43.529% { transform: translateY(0.15px); } 43.971% { transform: translateY(0px); } 46.765% { transform: translateY(0.12px); } 48.824% { transform: translateY(0px); } 50.588% { transform: translateY(0px); } 51.324% { transform: translateY(0.9px); } 54.412% { transform: translateY(-11.5px); } 54.706% { transform: translateY(-11.5px); } 55.882% { transform: translateY(0px); } 100% { transform: translateY(0px); } }
@keyframes d3-ar-larms { 0% { transform: scaleY(1); } 41.765% { transform: scaleY(1); } 41.971% { transform: scaleY(0.892); } 42.5% { transform: scaleY(1.215); } 43% { transform: scaleY(0.935); } 43.529% { transform: scaleY(1.032); } 43.971% { transform: scaleY(1); } 46.765% { transform: scaleY(1.026); } 48.824% { transform: scaleY(1); } 50.588% { transform: scaleY(1); } 51.324% { transform: scaleY(1.194); } 54.412% { transform: scaleY(-1.473); } 54.706% { transform: scaleY(-1.473); } 55.882% { transform: scaleY(1); } 100% { transform: scaleY(1); } }
@keyframes d3-ar-llegL { 0% { transform: rotate(0deg) scaleY(1); } 41.765% { transform: rotate(0deg) scaleY(1); } 42.294% { transform: rotate(-4deg) scaleY(1); } 43.118% { transform: rotate(3deg) scaleY(1); } 43.971% { transform: rotate(-2deg) scaleY(1); } 44.853% { transform: rotate(1deg) scaleY(1); } 45.735% { transform: rotate(0deg) scaleY(1); } 46.176% { transform: rotate(0deg) scaleY(1); } 46.765% { transform: rotate(6deg) scaleY(0.8); } 47.353% { transform: rotate(0deg) scaleY(1); } 48.382% { transform: rotate(0deg) scaleY(1); } 48.971% { transform: rotate(5deg) scaleY(0.82); } 49.559% { transform: rotate(0deg) scaleY(1); } 51.324% { transform: rotate(0deg) scaleY(1); } 52.647% { transform: rotate(9deg) scaleY(0.78); } 54.412% { transform: rotate(4deg) scaleY(0.9); } 54.706% { transform: rotate(4deg) scaleY(0.9); } 55.882% { transform: rotate(0deg) scaleY(1); } 100% { transform: rotate(0deg) scaleY(1); } }
@keyframes d3-ar-llegR { 0% { transform: rotate(0deg) scaleY(1); } 41.765% { transform: rotate(0deg) scaleY(1); } 42.294% { transform: rotate(-4deg) scaleY(1); } 43.118% { transform: rotate(3deg) scaleY(1); } 43.971% { transform: rotate(-2deg) scaleY(1); } 44.853% { transform: rotate(1deg) scaleY(1); } 45.735% { transform: rotate(0deg) scaleY(1); } 47.206% { transform: rotate(0deg) scaleY(1); } 47.794% { transform: rotate(-6deg) scaleY(0.8); } 48.382% { transform: rotate(0deg) scaleY(1); } 49.412% { transform: rotate(0deg) scaleY(1); } 50% { transform: rotate(-5deg) scaleY(0.82); } 50.588% { transform: rotate(0deg) scaleY(1); } 51.324% { transform: rotate(0deg) scaleY(1); } 52.647% { transform: rotate(-9deg) scaleY(0.78); } 54.412% { transform: rotate(-4deg) scaleY(0.9); } 54.706% { transform: rotate(-4deg) scaleY(0.9); } 55.882% { transform: rotate(0deg) scaleY(1); } 100% { transform: rotate(0deg) scaleY(1); } }
@keyframes d3-ar-leye { 0% { transform: translateX(0px) scaleY(1); } 43.647% { transform: translateX(0px) scaleY(1); } 43.824% { transform: translateX(0px) scaleY(0.1); } 44.059% { transform: translateX(0px) scaleY(1); } 45.882% { transform: translateX(0px) scaleY(1); } 46.471% { transform: translateX(-0.9px) scaleY(1); } 47.882% { transform: translateX(-0.9px) scaleY(1); } 48.118% { transform: translateX(0px) scaleY(0.1); } 48.353% { transform: translateX(0.9px) scaleY(1); } 49.853% { transform: translateX(0.9px) scaleY(1); } 50.441% { transform: translateX(0px) scaleY(1); } 100% { transform: translateX(0px) scaleY(1); } }
@keyframes d3-ar-dip { 0% { transform: translateY(0px); } 41.765% { transform: translateY(0px); } 42.059% { transform: translateY(0.6px); } 42.588% { transform: translateY(-0.1px); } 43.088% { transform: translateY(0.25px); } 43.676% { transform: translateY(0px); } 51.324% { transform: translateY(0px); } 53.529% { transform: translateY(0.3px); } 54.412% { transform: translateY(0.2px); } 54.765% { transform: translateY(0.45px); } 55.294% { transform: translateY(-0.05px); } 55.735% { transform: translateY(0px); } 81.176% { transform: translateY(0px); } 81.912% { transform: translateY(0.35px); } 82.294% { transform: translateY(-0.1px); } 82.706% { transform: translateY(0px); } 100% { transform: translateY(0px); } }
@keyframes d3-ar-bench { 0% { transform: translate(-50%, calc(-50% + 0px)); } 41.765% { transform: translate(-50%, calc(-50% + 0px)); } 42.059% { transform: translate(-50%, calc(-50% + 0.6px)); } 42.588% { transform: translate(-50%, calc(-50% + -0.1px)); } 43.088% { transform: translate(-50%, calc(-50% + 0.25px)); } 43.676% { transform: translate(-50%, calc(-50% + 0px)); } 51.324% { transform: translate(-50%, calc(-50% + 0px)); } 53.529% { transform: translate(-50%, calc(-50% + 0.3px)); } 54.412% { transform: translate(-50%, calc(-50% + 0.2px)); } 54.765% { transform: translate(-50%, calc(-50% + 0.45px)); } 55.294% { transform: translate(-50%, calc(-50% + -0.05px)); } 55.735% { transform: translate(-50%, calc(-50% + 0px)); } 81.176% { transform: translate(-50%, calc(-50% + 0px)); } 81.912% { transform: translate(-50%, calc(-50% + 0.35px)); } 82.294% { transform: translate(-50%, calc(-50% + -0.1px)); } 82.706% { transform: translate(-50%, calc(-50% + 0px)); } 100% { transform: translate(-50%, calc(-50% + 0px)); } }
@keyframes d3-ar-sall { 0% { transform: translateY(0px) rotate(0deg); } 54.324% { transform: translateY(-0.4px) rotate(0deg); } 54.706% { transform: translateY(0.5px) rotate(0deg); } 55.147% { transform: translateY(-0.2px) rotate(0deg); } 55.588% { transform: translateY(0px) rotate(0deg); } 70.588% { transform: translateY(0px) rotate(0deg); } 71.471% { transform: translateY(0px) rotate(-3deg); } 73.824% { transform: translateY(0px) rotate(-3deg); } 74.706% { transform: translateY(0px) rotate(0deg); } 80.441% { transform: translateY(0px) rotate(0deg); } 81.618% { transform: translateY(0.2px) rotate(9deg); } 82.206% { transform: translateY(0.6px) rotate(12deg); } 82.941% { transform: translateY(0px) rotate(0deg); } 100% { transform: translateY(0px) rotate(0deg); } }
@keyframes d3-ar-slegF { 0% { transform: rotate(0deg); } 54.5% { transform: rotate(4deg); } 55.147% { transform: rotate(-10deg); } 56.594% { transform: rotate(11.9deg); } 57.759% { transform: rotate(-17.7deg); } 58.936% { transform: rotate(14.7deg); } 60.066% { transform: rotate(-23.5deg); } 61.392% { transform: rotate(16.5deg); } 62.894% { transform: rotate(-9.1deg); } 64.432% { transform: rotate(4.7deg); } 66.057% { transform: rotate(-8.8deg); } 67.874% { transform: rotate(6.7deg); } 69.031% { transform: rotate(-17.5deg); } 70.37% { transform: rotate(10deg); } 71.715% { transform: rotate(-13.5deg); } 73.18% { transform: rotate(17.8deg); } 74.516% { transform: rotate(-14.6deg); } 75.95% { transform: rotate(12.5deg); } 77.272% { transform: rotate(-12.5deg); } 78.438% { transform: rotate(17.9deg); } 79.579% { transform: rotate(-17.7deg); } 80.588% { transform: rotate(0deg); } 81.618% { transform: rotate(-16deg); } 82.206% { transform: rotate(-22deg); } 82.941% { transform: rotate(0deg); } 100% { transform: rotate(0deg); } }
@keyframes d3-ar-slegB { 0% { transform: rotate(0deg); } 54.5% { transform: rotate(4deg); } 55.5% { transform: rotate(-8deg); } 56.886% { transform: rotate(10.2deg); } 58.125% { transform: rotate(-14.5deg); } 59.289% { transform: rotate(12.6deg); } 60.342% { transform: rotate(-20deg); } 61.671% { transform: rotate(12.7deg); } 63.254% { transform: rotate(-6.9deg); } 64.714% { transform: rotate(3.8deg); } 66.31% { transform: rotate(-7.5deg); } 68.284% { transform: rotate(5.8deg); } 69.285% { transform: rotate(-14.8deg); } 70.71% { transform: rotate(8.4deg); } 72.171% { transform: rotate(-9.8deg); } 73.592% { transform: rotate(15.5deg); } 74.862% { transform: rotate(-12.3deg); } 76.408% { transform: rotate(9deg); } 77.591% { transform: rotate(-11deg); } 78.886% { transform: rotate(14.8deg); } 79.977% { transform: rotate(-13deg); } 80.735% { transform: rotate(0deg); } 81.618% { transform: rotate(-12deg); } 82.206% { transform: rotate(-18deg); } 82.941% { transform: rotate(0deg); } 100% { transform: rotate(0deg); } }
@keyframes d3-ar-sarm { 0% { transform: rotate(0deg); } 60.588% { transform: rotate(0deg); } 61.618% { transform: rotate(-78deg); } 64.118% { transform: rotate(-78deg); } 64.412% { transform: rotate(-72deg); } 64.706% { transform: rotate(-78deg); } 65% { transform: rotate(-72deg); } 65.294% { transform: rotate(-78deg); } 66.176% { transform: rotate(-78deg); } 67.353% { transform: rotate(0deg); } 80.441% { transform: rotate(0deg); } 81.618% { transform: rotate(25deg); } 82.206% { transform: rotate(25deg); } 82.941% { transform: rotate(0deg); } 100% { transform: rotate(0deg); } }
@keyframes d3-ar-shead { 0% { transform: rotate(0deg); } 60.882% { transform: rotate(0deg); } 61.765% { transform: rotate(12deg); } 66.176% { transform: rotate(12deg); } 67.059% { transform: rotate(0deg); } 70.882% { transform: rotate(0deg); } 71.765% { transform: rotate(-12deg); } 73.824% { transform: rotate(-12deg); } 74.706% { transform: rotate(0deg); } 80.441% { transform: rotate(0deg); } 81.765% { transform: rotate(10deg); } 82.206% { transform: rotate(10deg); } 82.941% { transform: rotate(0deg); } 100% { transform: rotate(0deg); } }
@keyframes d3-ar-seye { 0% { transform: scaleY(1); } 57.765% { transform: scaleY(1); } 57.941% { transform: scaleY(0.1); } 58.176% { transform: scaleY(1); } 68.353% { transform: scaleY(1); } 68.529% { transform: scaleY(0.1); } 68.765% { transform: scaleY(1); } 76.882% { transform: scaleY(1); } 77.059% { transform: scaleY(0.1); } 77.294% { transform: scaleY(1); } 100% { transform: scaleY(1); } }
/* ---------- /v77 ---------- */

/* ---------- v82 result ki notification + app download ---------- */
.d3-alerts { padding: 14px 14px 16px; }
.d3-alerts-t { margin: 0 0 10px; color: var(--muted); font-size: .92rem; line-height: 1.5; }
.d3-alert-games { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.d3-alert-msg { margin: 0 0 10px; color: var(--red-deep); font-size: .88rem; font-weight: 700; }
.d3-alert-msg.is-ok { color: var(--green-text); }
.d3-app-dl { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line); }
#d3-push[hidden] + .d3-app-dl { margin-top: 0; padding-top: 0; border-top: 0; }
.d3-app-dl p { margin: 8px 0 0; color: var(--muted); font-size: .82rem; line-height: 1.45; }

/* ---------- v86 robot ki baat: bubble sir ke upar, poonchh muh ki seedh me, shabd ek-ek karke (app.js bubblePlace) ---------- */
.d3-bubble { left: 0; transform: none; max-width: min(170px, 46vw); }   /* number ke dabbe ko na chhue */
.d3-bubble::after { display: none; }
.d3-bubble.is-pop { animation-name: d3-pop2; transform-origin: 40% 100%; }
@keyframes d3-pop2 { from { opacity: 0; transform: translateY(10px) scale(.6); } to { opacity: 1; transform: none; } }
.d3-btail { position: absolute; left: 0; top: 100%; margin-top: -3px; overflow: visible; pointer-events: none; }
.d3-bw { opacity: 0; animation: d3-bw .16s ease-out forwards; }
@keyframes d3-bw { to { opacity: 1; } }
.d3-btalk { position: absolute; width: 11px; height: 7px; margin: -2px 0 0 -5.5px; border-radius: 50%; background: #ffd84d; pointer-events: none; transform: scaleY(.25); animation: d3-btalk ease-in-out alternate; }
@keyframes d3-btalk { to { transform: scaleY(1); } }
@media (min-width: 640px) { .d3-bubble { max-width: 240px; } }
@media (prefers-reduced-motion: reduce) { .d3-bw { opacity: 1; animation: none; } .d3-btalk { display: none; } }
html[data-anim="off"] .d3-bw { opacity: 1; animation: none; }
html[data-anim="off"] .d3-btalk { display: none; }
