/* fairplay-live.co.in — NEON BUBBLE ARENA (parimatch-modelled dark app-shell, FairPlay brand) */
/* ---- fonts (self-hosted, rules/94) ---- */
@font-face{font-family:'Kanit';src:url('/fonts/kanit-800.woff2') format('woff2');font-weight:800;font-style:normal;font-display:optional;unicode-range:U+0000-00FF,U+2000-206F,U+20B9}
@font-face{font-family:'Kanit';src:url('/fonts/kanit-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:optional;unicode-range:U+0000-00FF,U+2000-206F,U+20B9}
@font-face{font-family:'Kanit';src:url('/fonts/kanit-700i.woff2') format('woff2');font-weight:700;font-style:italic;font-display:optional;unicode-range:U+0000-00FF,U+2000-206F,U+20B9}
@font-face{font-family:'Jakarta';src:url('/fonts/jakarta.woff2') format('woff2');font-weight:300 800;font-style:normal;font-display:optional;unicode-range:U+0000-00FF,U+2000-206F,U+20B9}

:root{
  --bg:#08080A; --bg2:#0F0F12; --card:#17171B; --card2:#1E1E24; --line:#2A2A31;
  --orange:#F26522; --orange2:#FF8A3D; --green:#43B02A; --green2:#5FD03F;
  --gold:#F9C40A; --wa:#25D366; --ink:#0A0A0A;
  --text:#F4F4F5; --muted:#9CA3AF; --dim:#6B7280;
  --maxw:1240px; --rad:16px; --radp:999px;
  --disp:'Kanit',system-ui,sans-serif; --body:'Jakarta',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
}
*{box-sizing:border-box}
html{overflow-x:clip;scroll-behavior:smooth}
body{overflow-x:clip;max-width:100%;margin:0;background:var(--bg);color:var(--text);
  font-family:var(--body);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}
:where(body *){min-width:0}
img{max-width:100%;height:auto;display:block}
a{color:var(--orange2);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{font-family:var(--disp);font-weight:800;line-height:1.08;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(2rem,5.2vw,3.4rem)}
h2{font-size:clamp(1.5rem,3.6vw,2.3rem)}
h3{font-size:clamp(1.15rem,2.2vw,1.5rem)}
p{margin:0 0 1.05em}
main{max-width:100%;overflow-x:clip;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}
.acc{color:var(--orange2)}.grn{color:var(--green2)}
.skip{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.skip-link:focus{position:fixed;width:auto;height:auto;margin:0;overflow:visible;clip:auto;clip-path:none;left:16px;top:12px;z-index:1000;background:var(--gold);color:var(--ink);
  padding:10px 18px;border-radius:10px;font-weight:700}

/* ---- bubble canvas ---- */
#fp-bubbles{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
body>main,body>footer.ftr{position:relative;z-index:1}
/* header keeps its own sticky + stacking level — a blanket body>* rule here outranks .hdr and drops the
   mobile dropdown behind <main> (rules/141) */
body>header.hdr{position:sticky;top:0;z-index:60}

/* ---- glossy BUBBLE buttons (signature CTA shape) ---- */
.bub{display:inline-flex;align-items:center;gap:.5em;font-family:var(--disp);font-weight:800;
  font-size:1.02rem;letter-spacing:.01em;border:0;cursor:pointer;border-radius:var(--radp);
  padding:.85em 1.8em;position:relative;overflow:hidden;transition:transform .16s ease,box-shadow .16s ease;
  background:linear-gradient(180deg,var(--gold),#E0A800);color:var(--ink)!important;
  box-shadow:0 8px 22px rgba(249,196,10,.32),inset 0 2px 0 rgba(255,255,255,.55)}
.bub::before{content:"";position:absolute;top:6%;left:10%;width:46%;height:38%;pointer-events:none;
  background:radial-gradient(ellipse at 30% 20%,rgba(255,255,255,.85),transparent 70%);border-radius:50%}
.bub:hover{transform:translateY(-2px) scale(1.03);text-decoration:none;
  box-shadow:0 12px 30px rgba(249,196,10,.45),inset 0 2px 0 rgba(255,255,255,.6)}
.bub:active{transform:scale(.97)}
.bub.green{background:linear-gradient(180deg,#2BE06F,var(--wa));color:#062012!important;
  box-shadow:0 8px 22px rgba(37,211,102,.32),inset 0 2px 0 rgba(255,255,255,.5)}
.bub.ghost{background:linear-gradient(180deg,var(--card2),#14141a);color:var(--text)!important;
  border:1px solid var(--line);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.bub.ghost::before{opacity:.25}
.bub.sm{font-size:.9rem;padding:.6em 1.25em;white-space:nowrap}
.bub.lg{font-size:1.15rem;padding:1em 2.2em}

/* ---- header ---- */
.hdr{width:100%;max-width:100vw;position:sticky;top:0;z-index:60;
  background:rgba(10,10,12,.88);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.hdr-in{display:flex;align-items:center;gap:18px;height:66px;max-width:var(--maxw);margin:0 auto;padding:0 20px}
.brand{display:inline-flex;align-items:center;flex:0 0 auto}
.brand img{height:34px;width:auto}
.nav{display:flex;align-items:center;gap:4px;margin-left:8px}
.nav a{font-family:var(--disp);font-weight:700;font-size:.96rem;color:var(--text);
  padding:.5em .8em;border-radius:var(--radp);position:relative}
.nav a:hover{background:var(--card);text-decoration:none;color:var(--orange2)}
.nav a[aria-current="page"]{color:var(--orange2);background:rgba(242,101,34,.12)}
.hdr-cta{margin-left:auto;display:flex;align-items:center;gap:10px}
.burger{display:none;background:var(--card);border:1px solid var(--line);border-radius:12px;
  width:44px;height:44px;color:var(--text);cursor:pointer;align-items:center;justify-content:center}
.burger svg{width:22px;height:22px}
/* mobile dropdown */
.mnav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--bg2);
  border-bottom:1px solid var(--line);padding:10px 20px 18px;flex-direction:column;gap:2px}
.mnav.open{display:flex}
.mnav a{font-family:var(--disp);font-weight:700;color:var(--text);padding:.8em .6em;border-radius:10px;border-bottom:1px solid var(--line)}
.mnav a:hover{background:var(--card);text-decoration:none}
@media(max-width:860px){.nav{display:none}.burger{display:inline-flex}.hdr-in{gap:10px}}

/* ---- app-shell 3-zone (home) ---- */
.shell{display:grid;grid-template-columns:230px 1fr 300px;gap:20px;max-width:var(--maxw);margin:22px auto;padding:0 20px;align-items:start}
.rail{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:14px;position:sticky;top:82px}
.rail h2,.rail .rh{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:4px 6px 10px;font-family:var(--disp);font-weight:800}
.rail a{display:flex;align-items:center;gap:10px;padding:.6em .7em;border-radius:10px;color:var(--text);font-weight:600;font-size:.95rem}
.rail a:hover{background:var(--card2);text-decoration:none;color:var(--orange2)}
.rail .ico{width:26px;height:26px;flex:0 0 auto;display:grid;place-items:center;border-radius:8px;background:var(--card2);font-size:15px}
.coupon{background:linear-gradient(180deg,var(--card),var(--bg2));border:1px solid var(--line);border-radius:var(--rad);padding:18px;position:sticky;top:82px}
.feed{min-width:0}
@media(max-width:1080px){.shell{grid-template-columns:1fr;gap:16px}.rail,.coupon{position:static}.rail{display:none}}

/* ---- hero ---- */
.hero{position:relative;border-radius:var(--rad);overflow:hidden;border:1px solid var(--line);background:var(--card)}
.hero img{width:100%;height:auto;display:block}
.hero-txt{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;
  padding:clamp(16px,3vw,34px);background:linear-gradient(90deg,rgba(8,8,10,.86) 8%,rgba(8,8,10,.34) 60%,transparent)}
.hero-txt .ey{font-family:var(--disp);font-weight:800;color:var(--orange2);letter-spacing:.06em;text-transform:uppercase;font-size:.85rem;margin-bottom:.4em}
.hero-txt h1{margin:0 0 .35em;max-width:16ch;text-shadow:0 3px 22px rgba(0,0,0,.6)}
.hero-txt p{max-width:44ch;color:#E7E7EA;margin-bottom:1em}

/* ---- hero carousel ---- */
.carousel{position:relative}
.cslide{display:none}
.cslide.on{display:block;animation:fade .6s ease}
@keyframes fade{from{opacity:.35}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.cslide.on{animation:none}}
.cdots{position:absolute;bottom:14px;right:18px;display:flex;gap:8px;z-index:3}
.cdot{width:11px;height:11px;border-radius:50%;border:0;background:rgba(255,255,255,.4);cursor:pointer;padding:0}
.cdot.on{background:var(--gold);box-shadow:0 0 0 3px rgba(249,196,10,.25)}
/* narrow screens: the overlay cannot hold the copy inside a 16:9 frame, so stack it under the shot */
@media(max-width:760px){
  .hero-txt{position:static;inset:auto;padding:18px 16px 20px;
    background:linear-gradient(180deg,rgba(8,8,10,.92),var(--card))}
  .hero-txt h1,.hero-txt p{max-width:none}
  .hero-txt .bub.lg{align-self:flex-start;font-size:1rem;padding:.85em 1.6em}
  .cdots{top:12px;right:12px;bottom:auto}
}
@media(max-width:420px){.hdr-cta .bub.sm{font-size:.82rem;padding:.55em .9em}.hdr-in{gap:8px;padding:0 14px}}

/* ---- section + cards ---- */
section{margin:40px 0}
.sec-h{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.sec-h h2{margin:0}
.tag{font-family:var(--disp);font-weight:800;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--orange2);background:rgba(242,101,34,.12);border:1px solid rgba(242,101,34,.3);padding:.35em .7em;border-radius:var(--radp)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:20px}
.grid{display:grid;gap:16px}
.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.g4{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.g2,.g3,.g4{grid-template-columns:1fr}}

/* game tile bubble */
.tile{position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--card2);transition:transform .18s}
.tile:hover{transform:translateY(-4px)}
.tile img{width:100%;aspect-ratio:1/1;object-fit:cover}
.tile .cap{padding:10px 12px;font-family:var(--disp);font-weight:700;font-size:.92rem}
.tile .cap small{display:block;color:var(--muted);font-weight:500;font-family:var(--body);font-size:.78rem}

/* quick icon-chip row (parimatch) */
.chips-row{display:flex;gap:12px;overflow-x:auto;padding:6px 2px 12px;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:thin}
.chip-i{flex:0 0 auto;width:84px;text-align:center;color:var(--text)}
.chip-i .b{width:64px;height:64px;margin:0 auto 6px;border-radius:50%;display:grid;place-items:center;font-size:26px;
  background:radial-gradient(circle at 32% 26%,var(--card2),#101014);border:1px solid var(--line);
  box-shadow:inset 0 2px 0 rgba(255,255,255,.06)}
.chip-i span{font-size:.76rem;font-weight:600;color:var(--muted)}
.chip-i:hover{text-decoration:none}.chip-i:hover .b{border-color:var(--orange)}

/* live match mock card */
.match{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.match .lg{background:var(--card2);padding:8px 14px;font-size:.78rem;color:var(--muted);display:flex;justify-content:space-between}
.match .bd{padding:14px}
.match .tm{display:flex;justify-content:space-between;align-items:center;margin:6px 0;font-weight:600}
.match .sc{color:var(--green2);font-family:var(--disp);font-weight:800}
.odds{display:flex;gap:8px;margin-top:12px}
.odds b{flex:1;text-align:center;background:var(--card2);border:1px solid var(--line);border-radius:10px;padding:8px;font-family:var(--disp);font-weight:800;color:#8fd0ff}
.odds b small{display:block;color:var(--muted);font-weight:500;font-size:.68rem;font-family:var(--body)}

/* prose helpers (paragraph presentation variety) */
.lead{font-size:1.12rem;color:#E7E7EA}
.callout{border-left:3px solid var(--orange);background:var(--card);padding:14px 18px;border-radius:0 12px 12px 0;margin:1.2em 0}
.note{background:var(--card2);border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin:1.2em 0}
.stat{font-family:var(--disp);font-weight:800;color:var(--gold);font-size:1.9rem;line-height:1}
ul,ol{padding-left:1.2em}li{margin:.3em 0}
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;border-radius:12px;position:relative}
table{width:100%;border-collapse:collapse;font-size:.94rem}
.tbl-wrap>table{min-width:430px}
th,td{padding:11px 13px;border-bottom:1px solid var(--line);text-align:left}
th{background:var(--card2);color:var(--text);font-family:var(--disp);font-weight:700;font-size:.85rem;letter-spacing:.03em}

/* login/signup card (first-screen, page-unique wrappers extend this) */
.authcard{background:linear-gradient(180deg,var(--card),var(--bg2));border:1px solid var(--line);border-radius:var(--rad);padding:22px}
.fld{display:block;margin:12px 0}
.fld label{display:block;font-size:.82rem;color:var(--muted);margin-bottom:6px;font-weight:600}
.fld input,.fld select{width:100%;background:var(--bg);border:1px solid var(--line);border-radius:10px;
  padding:12px 14px;color:var(--text);font-family:var(--body);font-size:.95rem}
.fld input:focus{outline:2px solid var(--orange);border-color:var(--orange)}
.tabs{display:flex;gap:6px;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:4px;margin-bottom:8px}
.tabs button{flex:1;background:transparent;border:0;color:var(--muted);font-family:var(--disp);font-weight:700;
  padding:.6em;border-radius:9px;cursor:pointer;font-size:.9rem}
.tabs button.on{background:var(--card2);color:var(--orange2)}

/* ---- modals (popup login/signup) ---- */
.ov{position:fixed;inset:0;z-index:200;background:rgba(4,4,6,.72);backdrop-filter:blur(4px);
  display:none;align-items:center;justify-content:center;padding:20px}
.ov.open{display:flex}
.modal{width:100%;max-width:430px;background:linear-gradient(180deg,var(--card),var(--bg2));
  border:1px solid var(--line);border-radius:20px;padding:24px;position:relative;
  max-height:92vh;overflow-y:auto;animation:pop .34s cubic-bezier(.2,1.3,.4,1)}
@keyframes pop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.04)}100%{transform:scale(1);opacity:1}}
@media(prefers-reduced-motion:reduce){.modal{animation:none}}
.modal .x{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);
  background:var(--card2);color:var(--text);cursor:pointer;font-size:18px;line-height:1}
.modal h2{margin:2px 0 4px;font-size:1.6rem}
.modal .sub{color:var(--muted);font-size:.9rem;margin-bottom:14px}
.mlink{color:var(--orange2);font-weight:600;cursor:pointer}

/* ---- FAQ bubble accordion ---- */
.faq details{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:2px 18px;margin:10px 0}
.faq summary{cursor:pointer;font-family:var(--disp);font-weight:700;font-size:1.05rem;padding:14px 30px 14px 0;list-style:none;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:0;top:50%;width:22px;height:22px;transform:translateY(-50%);
  border-radius:50%;background:radial-gradient(circle at 34% 28%,var(--orange2),var(--orange));transition:transform .2s}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq summary::before{content:"+";position:absolute;right:5px;top:50%;transform:translateY(-50%);color:var(--ink);font-weight:800;z-index:2;font-family:var(--body)}
.faq details[open] summary::before{content:"\2013"}
.faq p{margin:0 0 14px;color:#DADADE}

/* ---- seo-box (variants extend .seo-box; box-styling reset in variant, rules/140) ---- */
.seo-box{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:20px}
.seo-box h3{color:var(--orange2)}
.seo-box a{color:var(--orange2)}
.also{display:flex;flex-wrap:wrap;gap:9px;margin:14px 0}
.also a{background:var(--card2);border:1px solid var(--line);border-radius:var(--radp);padding:.45em 1em;font-size:.86rem;font-weight:600;color:var(--text)}
.also a:hover{border-color:var(--orange);text-decoration:none;color:var(--orange2)}

/* ---- breadcrumb + related ---- */
.crumb{font-size:.82rem;color:var(--muted);margin:16px 0 4px}
.crumb a{color:var(--muted)}
.related{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.related a{background:var(--card);border:1px solid var(--line);border-radius:var(--radp);padding:.5em 1.1em;font-weight:700;font-family:var(--disp);font-size:.9rem;color:var(--text)}
.related a:hover{border-color:var(--orange);color:var(--orange2);text-decoration:none}

/* ---- footer ---- */
.ftr{background:var(--bg2);border-top:1px solid var(--line);margin-top:60px;padding:44px 0 90px}
.ftr-grid{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:26px;max-width:var(--maxw);margin:0 auto;padding:0 20px}
.ftr .fcat{font-family:var(--disp);font-weight:800;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 12px}
.ftr ul{list-style:none;padding:0;margin:0}
.ftr li{margin:.5em 0}
.ftr li a{color:#C4C4CC;font-size:.92rem}
.ftr .blurb{color:var(--muted);font-size:.9rem;max-width:34ch}
.ftr .blurb img{height:32px;margin-bottom:12px}
.socials{display:flex;gap:10px;margin-top:14px}
.socials a{width:38px;height:38px;border-radius:50%;background:var(--card);border:1px solid var(--line);display:grid;place-items:center}
.socials a:hover{border-color:var(--orange)}
.socials svg{width:18px;height:18px;fill:var(--muted)}
.partner{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px}
.partner-plate{background:#fff;border-radius:10px;padding:7px 10px;display:inline-flex}
.partner-plate img{height:26px;width:auto;flex:0 0 auto}
.partner span{color:var(--muted);font-size:.78rem;max-width:22ch}
.legal{border-top:1px solid var(--line);margin-top:30px;padding:20px 20px 0;max-width:var(--maxw);margin-left:auto;margin-right:auto;color:var(--dim);font-size:.82rem}
@media(max-width:820px){.ftr-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.ftr-grid{grid-template-columns:1fr}}

/* ---- mobile bottom tab bar (parimatch) ---- */
.tabbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:70;background:rgba(10,10,12,.96);
  backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:6px 4px env(safe-area-inset-bottom)}
.tabbar a{flex:1;text-align:center;color:var(--muted);font-size:.64rem;font-weight:600;padding:6px 2px}
.tabbar a .ti{font-size:19px;display:block}
.tabbar a[aria-current="page"]{color:var(--orange2)}
@media(max-width:1080px){.tabbar{display:flex}}

/* ---- whatsapp float ---- */
.wafloat{position:fixed;right:18px;bottom:88px;z-index:80;width:60px;height:60px;border-radius:50%;
  background:var(--wa);display:grid;place-items:center;box-shadow:0 8px 24px rgba(37,211,102,.4);animation:pulse 2.4s infinite}
.wafloat svg{width:34px;height:34px;fill:#fff}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.5)}70%{box-shadow:0 0 0 16px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}
@media(max-width:1080px){.wafloat{bottom:78px;width:52px;height:52px}.wafloat svg{width:28px;height:28px}}
@media(prefers-reduced-motion:reduce){.wafloat,.bub{animation:none!important}}

/* ---- reveal ---- */
.rv{opacity:1}
.js .rv{opacity:0;transform:translateY(18px);transition:opacity .6s,transform .6s}
.js .rv.on{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.js .rv{opacity:1!important;transform:none!important}}

/* ---- gate reveal: two door panels slide off an image (rules/72: image never hidden) ---- */
.fpgate{position:relative;overflow:hidden}
.js .fpgate.on::before,.js .fpgate.on::after{content:"";position:absolute;top:0;bottom:0;width:50.5%;z-index:3;
  pointer-events:none;background:linear-gradient(160deg,#1B1B21 0%,#0C0C10 62%,#08080A 100%)}
.js .fpgate.on::before{left:0;box-shadow:inset -2px 0 0 rgba(249,196,10,.75);animation:fpgateL .62s cubic-bezier(.22,.9,.3,1) forwards}
.js .fpgate.on::after{right:0;box-shadow:inset 2px 0 0 rgba(249,196,10,.75);animation:fpgateR .62s cubic-bezier(.22,.9,.3,1) forwards}
.js .fpgate.done::before,.js .fpgate.done::after{content:none;animation:none}
@keyframes fpgateL{0%{transform:translateX(0);opacity:1}55%{opacity:.4}100%{transform:translateX(-101%);opacity:0}}
@keyframes fpgateR{0%{transform:translateX(0);opacity:1}55%{opacity:.4}100%{transform:translateX(101%);opacity:0}}
@media(prefers-reduced-motion:reduce){.js .fpgate.on::before,.js .fpgate.on::after{content:none;animation:none}}

:focus-visible{outline:2px solid var(--orange2);outline-offset:2px}
::selection{background:var(--orange);color:#fff}
