/* ทีเด็ดบอลสูง.com — สไตล์สตูดิโอข่าว: หัวดำ-ทอง · แถบเขียวน้ำทะเล/แดง · การ์ดแดง-น้ำเงินสลับ · ติ๊กเหลือง */
:root {
  --ink: #0b0d14;
  --gold: #ffd400;
  --gold2: #ffb300;
  --teal: #0b6a6a;
  --red: #e8483d;
  --red-d: #c9352b;
  --blue: #2f7fe0;
  --blue-d: #2468c0;
  --paper: #fff;
  --text: #16181f;
  --muted: #5b6272;
  --bg: #1d1f26;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0; background: var(--bg); color: #fff;
  font: 16px/1.5 'Sarabun', system-ui, sans-serif;
  -webkit-text-size-adjust: 100%;
}
a { color: inherit; }
img { max-width: 100%; }
[hidden] { display: none !important; }

/* ---------- หัวเว็บ ---------- */
.top {
  background:
    linear-gradient(90deg, rgba(0,0,0,.92) 0 30%, rgba(0,0,0,.55) 60%, rgba(0,0,0,.9)),
    radial-gradient(ellipse at 60% 120%, #2f8a3a 0 30%, transparent 60%),
    repeating-linear-gradient(0deg, #1b2230 0 6px, #232c3d 6px 12px);
  border-bottom: 3px solid #000;
}
.top-in { margin: 0 auto; padding: 10px 16px; display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.logo { display: flex; align-items: center; gap: 8px; text-decoration: none; }
.shield { width: 52px; height: 58px; filter: drop-shadow(0 2px 4px rgba(0,0,0,.6)); }
.wm { display: flex; flex-direction: column; line-height: 1; }
.wm b { font: italic 800 26px/1 'Kanit', sans-serif; color: #fff; letter-spacing: .2px; text-shadow: 2px 2px 0 #000; }
.wm b em { font-style: italic; color: var(--gold); }
.wm small { font: 700 13px 'Kanit', sans-serif; color: var(--gold); letter-spacing: 3px; align-self: flex-end; }
.slogan { display: none; }
.slogan .s1 { margin: 0; font: italic 800 26px/1.1 'Kanit', sans-serif; color: var(--gold); text-shadow: 2px 2px 0 #000, 0 0 12px rgba(255,212,0,.35); }
.slogan .s1 span { color: #fff; margin: 0 8px; font-weight: 400; }
.slogan .s2 { margin: 2px 0 0; font: italic 600 14px 'Kanit', sans-serif; color: #ff5a4c; }
.nav { display: flex; gap: 4px; margin-left: auto; overflow-x: auto; width: 100%; }
.nav a {
  flex: 1 0 auto; display: flex; flex-direction: column; align-items: center; gap: 2px;
  padding: 6px 10px; background: #000; border: 1px solid #333; color: #fff; text-decoration: none;
  font: 600 13px 'Kanit', sans-serif; white-space: nowrap;
}
.nav a:hover { background: #151515; border-color: var(--gold); }
.nav svg { width: 22px; height: 22px; fill: none; stroke: #fff; stroke-width: 1.8; stroke-linejoin: round; stroke-linecap: round; }
.nav .vip { background: linear-gradient(#ffe45c, var(--gold2)); color: #000; border-color: #7a4b00; }
.nav .vip svg { stroke: #000; fill: #fff5b0; }
.stripes i, .stripes b { display: block; }
.stripes i { height: 12px; background: var(--teal); }
.stripes b { height: 10px; background: var(--red); border-top: 4px solid #fff; }

/* ---------- สตูดิโอข่าว + บอร์ดสรุป ---------- */
.stage { margin: 0; display: grid; grid-template-columns: 1fr; }
.studio {
  position: relative; overflow: hidden; min-height: 330px;
  background:
    radial-gradient(circle at 78% 40%, rgba(90,160,255,.35), transparent 45%),
    repeating-linear-gradient(90deg, transparent 0 58px, rgba(120,170,255,.12) 58px 60px),
    repeating-linear-gradient(0deg, transparent 0 58px, rgba(120,170,255,.12) 58px 60px),
    linear-gradient(160deg, #10306b, #0a1a3d 55%, #06102a);
}
.studio-bg span {
  position: absolute; font: italic 800 64px/1 'Kanit', sans-serif; color: rgba(255,255,255,.06); white-space: nowrap;
}
.studio-bg span:first-child { left: 8px; top: 10px; }
.studio-bg span:last-child { right: 10px; bottom: 44px; font-size: 44px; }
.anchor { position: absolute; left: -18px; bottom: 30px; width: 58%; max-width: 330px; z-index: 2; filter: drop-shadow(0 8px 14px rgba(0,0,0,.5)); }
.tv {
  position: relative; z-index: 1; margin: 16px 16px 60px auto; width: 64%; max-width: 560px;
}
.tv-in {
  background: #111; border: 8px solid #222; border-radius: 6px; box-shadow: 0 0 0 2px #444, 0 14px 30px rgba(0,0,0,.6);
  display: flex; flex-direction: column;
}
.tv-stand { width: 34%; height: 10px; margin: 0 auto; background: linear-gradient(#333, #111); border-radius: 0 0 8px 8px; }
.tv-h { margin: 0; padding: 6px 10px; background: var(--blue); font: 700 15px/1.3 'Kanit', sans-serif; }
.tv-body {
  padding: 8px 10px; flex: 1;
  background: linear-gradient(105deg, #0f5a2a 0 52%, #d52b1e 52% 58%, #b8421c 58%);
}
.tv-brand b { display: block; font: italic 800 20px/1.1 'Kanit', sans-serif; color: var(--gold); text-shadow: 2px 2px 0 #000, -1px -1px 0 #000; }
.tv-brand span { font: 600 12px 'Kanit', sans-serif; color: #fff; text-shadow: 1px 1px 0 #000; }
.tv-list { list-style: none; margin: 6px 0 0; padding: 0; display: grid; gap: 3px; }
.tv-list li {
  display: flex; align-items: center; gap: 6px; background: rgba(0,0,0,.55); padding: 3px 6px; border-left: 3px solid var(--gold);
  font-size: 12px; line-height: 1.25;
}
.tv-list time { color: var(--gold); font-weight: 700; }
.tv-list span { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tv-list small { color: #9cc3ff; }
.tv-list b { color: var(--gold); white-space: nowrap; }
.tv-foot { margin: 0; padding: 6px 10px; background: var(--blue); text-align: right; font: 700 15px 'Kanit', sans-serif; }
.tv-foot b { color: var(--gold); font-size: 20px; }
.tv-foot em { color: var(--gold); font-style: normal; }
.ticker {
  position: absolute; left: 0; right: 0; bottom: 0; z-index: 3; height: 30px; overflow: hidden;
  background: linear-gradient(90deg, var(--red) 0 90px, #0b1530 90px); border-top: 2px solid var(--gold);
}
.ticker::before { content: 'LIVE'; position: absolute; left: 0; top: 0; width: 90px; line-height: 28px; text-align: center; font: 800 14px 'Kanit', sans-serif; z-index: 1; background: var(--red); }
.ticker div { position: absolute; left: 90px; top: 0; white-space: nowrap; line-height: 28px; font-size: 14px; animation: tick 60s linear infinite; padding-left: 100%; }
.ticker span { margin-right: 40px; }
@keyframes tick { to { transform: translateX(-100%); } }
@media (prefers-reduced-motion: reduce) { .ticker div { animation: none; padding-left: 12px; } }

.board {
  position: relative; padding: 16px; color: #fff;
  background: #2f6fd6 url(img/mosaic.svg) center / cover;
}
.bd-in {
  background: rgba(6, 22, 60, .82); border: 2px solid rgba(255,255,255,.25); border-radius: 12px;
  padding: 14px; display: flex; flex-direction: column; gap: 12px; height: 100%; justify-content: center;
}
.board h2 { margin: 0; font: 700 20px/1.2 'Kanit', sans-serif; color: #ffe94d; text-align: center; }
.board h2 small { display: block; font: 600 13px 'Sarabun', sans-serif; color: #cfe0ff; }
.kpi { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; text-align: center; }
.kpi div { background: rgba(255,255,255,.1); border-radius: 8px; padding: 6px 2px; display: flex; flex-direction: column; line-height: 1.15; }
.kpi small { font-size: 12px; color: #cfe0ff; }
.kpi b { font: 800 30px/1.1 'Kanit', sans-serif; color: #fff; }
.kpi .ok { background: #ffd400; }
.kpi .ok b, .kpi .ok small { color: #3a2400; }
.kpi .no b { color: #ffb4ad; }
.board .lv { list-style: none; padding: 0; margin: 0; display: grid; gap: 5px; }
.board .lv button {
  width: 100%; display: grid; grid-template-columns: 96px 1fr auto; align-items: center; gap: 8px;
  background: none; border: 0; color: #fff; font: 600 14px 'Kanit', sans-serif; padding: 3px 0; cursor: pointer; text-align: left; min-height: 32px;
}
.board .lv i { display: block; height: 12px; border-radius: 6px; background: linear-gradient(90deg, #e7a36a, #ffd400); }
.board .lv .t2 i { background: linear-gradient(90deg, #c9d3de, #fff); }
.board .lv .t3 i { background: linear-gradient(90deg, #ffd400, #ffb300); }
.board .lv .t4 i { background: linear-gradient(90deg, #ff6b5c, #d10000); }
.board .lv b { color: var(--gold); min-width: 52px; text-align: right; }
.board .lv button:hover span { color: var(--gold); }
.board .rec { margin: 0; text-align: center; font-weight: 700; font-size: 14px; }
.board .rec .w { color: #7dff8a; }
.board .rec .l { color: #ff8f86; margin-left: 6px; }
.board .line {
  display: block; text-align: center; padding: 9px; border-radius: 8px; text-decoration: none;
  background: #06c755; color: #fff; font: 700 15px 'Kanit', sans-serif;
}
.board .line:hover { filter: brightness(1.1); }

/* ---------- ปุ่มระดับความเข้ม ---------- */
.tiers {
  margin: 0; display: grid; grid-template-columns: repeat(5, 1fr);
  background: #fff; border-top: 3px solid #b7778f; scroll-margin-top: 0;
}
.tiers button {
  appearance: none; border: 0; border-right: 2px solid #b7778f; background: #fff; color: var(--text); cursor: pointer;
  padding: 8px 2px 10px; display: flex; flex-direction: column; align-items: center; gap: 2px; font: inherit; min-height: 44px;
}
.tiers button:last-child { border-right: 0; }
.tiers .medal { width: 40px; height: 40px; }
.tiers .tn { font: 600 13px/1.2 'Kanit', sans-serif; color: #1c2c63; }
.tiers button:not([data-t="0"]) .tn { color: var(--red-d); }
.tiers small { font-size: 12px; color: var(--muted); }
.tiers small b { color: var(--text); font-size: 15px; }
.tiers button.on { background: linear-gradient(#fff8c9, #ffe36b); box-shadow: inset 0 -4px 0 var(--red); }
.tiers button:hover:not(.on) { background: #f3f5fa; }
.tiers button:focus-visible { outline: 3px solid var(--blue); outline-offset: -3px; }
.tier-desc { margin: 0; padding: 8px 16px; background: #000; color: var(--gold); font: 600 14px 'Kanit', sans-serif; text-align: center; }

/* ---------- การ์ดคู่บอล ---------- */
.list { margin: 0; display: grid; grid-template-columns: minmax(0, 1fr); }
.card { display: grid; grid-template-columns: 1fr; padding: 10px 12px 14px; border-bottom: 3px solid rgba(0,0,0,.25); }
.card.red { background: var(--red); }
.card.blue { background: var(--blue); }
.c-top { display: flex; align-items: center; gap: 8px; }
.kick { background: #000; color: #ccff4d; font: 600 14px 'Kanit', sans-serif; padding: 2px 10px; }
.kick.live { color: #fff; background: #d10000; animation: blink 1.2s infinite; }
@keyframes blink { 50% { opacity: .55; } }
.c-top .lg { flex: 1; min-width: 0; font-size: 13px; opacity: .9; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.c-top .day { font-size: 12px; background: rgba(0,0,0,.25); padding: 1px 8px; border-radius: 10px; }
.c-teams { display: grid; grid-template-columns: 1fr auto 1fr; align-items: end; gap: 6px; margin: 8px 0 6px; }
.tm { display: flex; flex-direction: column; align-items: center; gap: 4px; text-align: center; }
.tm b { font: 600 15px/1.2 'Kanit', sans-serif; color: #fff4a8; text-shadow: 1px 1px 0 rgba(0,0,0,.35); }
.tm.a b { color: #b8ff9a; }
.vs { font: 800 16px 'Kanit', sans-serif; padding-bottom: 20px; }
.logo-f {
  width: 76px; height: 76px; border-radius: 12px; display: grid; place-items: center; padding: 8px;
  background: linear-gradient(#fff, #e5e5e5); box-shadow: 0 0 0 4px rgba(255,255,255,.5), 0 4px 8px rgba(0,0,0,.3);
}
.logo-f img { width: 100%; height: 100%; object-fit: contain; }
.logo-f .mono {
  width: 100%; height: 100%; border-radius: 50%; display: grid; place-items: center;
  background: hsl(var(--h) 55% 45%); color: #fff; font: 800 18px 'Kanit', sans-serif;
}

.crit { width: 100%; border-collapse: separate; border-spacing: 0 4px; }
.crit th {
  background: rgba(255,255,255,.14); font: 600 14px/1.15 'Kanit', sans-serif; text-align: center; padding: 4px 4px; border-radius: 4px;
}
.crit th small { display: block; font: 400 11px 'Sarabun', sans-serif; opacity: .8; }
.crit td.v { width: 36%; }
.crit td.v.h { text-align: right; }
.crit td.v > * { vertical-align: middle; }
.box {
  display: inline-block; min-width: 54px; padding: 4px 6px; background: #fff; color: #000; text-align: center;
  font: 700 15px 'Sarabun', sans-serif; border-radius: 5px; margin: 0 4px;
}
.box.gear { background: #7b2fbe; color: #fff; border-radius: 14px; box-shadow: 0 0 0 2px #fff inset; }
.mk { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 4px; }
.mk svg { width: 20px; height: 20px; fill: none; stroke-width: 3.6; stroke-linecap: round; stroke-linejoin: round; }
.mk.ok { background: #fff; box-shadow: 0 0 0 2px var(--gold) inset; }
.mk.ok svg { stroke: #f2c200; filter: drop-shadow(0 1px 0 #7a5a00); }
.mk.no { background: rgba(0,0,0,.28); }
.mk.no svg { stroke: #111; opacity: .75; }
.crit .both th { background: rgba(0,0,0,.2); }
.note { margin: 6px 0 4px; font-weight: 700; color: #fff; font-size: 14px; }
.form6 { margin-top: 4px; background: rgba(0,0,0,.18); border-radius: 6px; padding: 4px 8px; }
.form6 summary { cursor: pointer; font: 600 14px 'Kanit', sans-serif; color: #fff4a8; padding: 4px 0; min-height: 32px; display: flex; align-items: center; }
.f6 { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; padding: 4px 0; font-size: 13px; }
.f6 > b { width: 100%; }
.f6 .g { display: inline-flex; flex-direction: column; align-items: center; min-width: 42px; padding: 2px 4px; border-radius: 4px; font-weight: 700; line-height: 1.1; }
.f6 .g i { font-style: normal; font-size: 10px; font-weight: 600; }
.f6 .g.o { background: var(--gold); color: #000; }
.f6 .g.u { background: rgba(255,255,255,.25); color: #fff; }

.c-side { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 10px; align-items: stretch; }
.verdict {
  border-radius: 10px; padding: 10px 8px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
  background: linear-gradient(135deg, #ffd81c, #ff9f00); color: #3a2400; text-align: center;
}
.card.fail .verdict { background: linear-gradient(135deg, #d8dbe2, #9ca3b0); color: #2b2f38; }
.nums { margin: 0; display: grid; gap: 6px; align-content: center; }
.nums div { display: flex; justify-content: space-between; align-items: baseline; gap: 6px; background: rgba(0,0,0,.2); border-radius: 6px; padding: 4px 8px; }
.nums dt { color: #ffe94d; font-size: 13px; }
.nums dd { margin: 0; font: italic 800 22px/1.1 'Kanit', sans-serif; color: #fff; white-space: nowrap; }
.nums dd small { font-size: 13px; font-style: normal; }
.nums .up dd { color: #fff36b; }
.nums .edge.up dd { color: #b8ff9a; }
.nums .edge.dn dd { color: #ffd0cc; }
.empty { text-align: center; padding: 30px 16px; background: #2a2d36; margin: 0; }

/* ---------- ผลย้อนหลัง / วิธีคัด ---------- */
.results, .how { margin: 0; padding: 20px 16px; scroll-margin-top: 0; }
.results { background: #11131a; }
.results h2, .how h2 { margin: 0 0 12px; font: 700 22px 'Kanit', sans-serif; color: var(--gold); }
.results h2 small { display: block; font: 400 13px 'Sarabun', sans-serif; color: #aab; }
.results .none { color: #ccd; }
.res-wrap { overflow-x: auto; }
.results table { width: 100%; border-collapse: collapse; font-size: 14px; min-width: 560px; }
.results th, .results td { padding: 6px 8px; border-bottom: 1px solid #2b2f3b; text-align: left; }
.results th { color: #aab; font-weight: 600; }
.results .sc { font-weight: 700; font-variant-numeric: tabular-nums; }
.results .rs { display: inline-block; padding: 1px 10px; border-radius: 10px; font-weight: 700; }
.results .win .rs { background: #16a34a; }
.results .lose .rs { background: var(--red-d); }
.results .push .rs { background: #555; }
.how { background: #fff; color: var(--text); }
.how h2 { color: var(--red-d); }
.how-grid { display: grid; gap: 16px; }
.how h3 { margin: 0 0 6px; font: 700 17px 'Kanit', sans-serif; color: #1c2c63; }
.how ul, .how ol { margin: 0; padding-left: 20px; }
.how li { margin: 3px 0; }
.how .warn { color: var(--muted); font-size: 13px; }
.foot { background: #000; text-align: center; padding: 16px; border-top: 4px solid var(--red); color: #ccc; font-size: 14px; }
.foot b { color: var(--gold); }
.foot p { margin: 2px 0; }

/* ---------- จอกว้าง ---------- */
@media (min-width: 720px) {
  .nav { width: auto; }
  .nav a { flex: 0 0 auto; min-width: 78px; }
  .studio { min-height: 400px; }
  .anchor { width: 44%; left: 0; }
  .tv { width: 58%; margin-top: 26px; }
  .tv-h { font-size: 20px; }
  .tv-brand b { font-size: 32px; }
  .tv-list li { font-size: 14px; }
  .tv-foot { font-size: 20px; }
  .tiers .medal { width: 52px; height: 52px; }
  .tiers .tn { font-size: 16px; }
  .how-grid { grid-template-columns: 1fr 1fr; }
  .card { grid-template-columns: 1fr 250px; gap: 18px; padding: 12px 18px 16px; }
  .c-side { grid-template-columns: 1fr; margin-top: 34px; align-content: start; }
  .verdict { padding: 16px 8px; }
  .crit th { font-size: 15px; }
  .box { min-width: 70px; font-size: 16px; }
}
@media (min-width: 1000px) {
  .slogan { display: block; }
  .stage { grid-template-columns: minmax(0, 1fr) 400px; }
  .card { grid-template-columns: minmax(0, 1fr) 250px; }
}
/* จอกว้าง: การ์ด 2 คอลัมน์ (สีสลับเป็นลายหมากรุก) · สตูดิโอใหญ่ขึ้น */
@media (min-width: 1300px) {
  .top-in { padding: 10px 24px; }
  .studio { min-height: 440px; }
  .anchor { max-width: 380px; width: 34%; left: 3%; }
  .tv { width: 56%; max-width: 760px; margin: 28px 4% 60px auto; }
  .tv-brand b { font-size: 38px; }
  .tv-list li { font-size: 16px; padding: 5px 8px; }
  .stage { grid-template-columns: minmax(0, 1fr) 460px; }
  .results, .how { padding: 24px 32px; }
}

@media (max-width: 420px) {
  .wm b { font-size: 22px; }
  .tiers .tn { font-size: 12px; }
  .crit th small { display: none; }
  .box { min-width: 42px; margin: 0 2px; font-size: 14px; }
  .mk { width: 22px; height: 22px; }
  .logo-f { width: 62px; height: 62px; }
  .anchor { width: 52%; }
  .tv { width: 66%; margin-right: 8px; }
}
.tv-list { grid-template-columns: minmax(0, 1fr); }
.tv-in, .tv-body { min-width: 0; }
@media (max-width: 719px) {
  .board { padding: 10px; }
  .bd-in { gap: 10px; padding: 12px; }
}
.c-main, .c-side { min-width: 0; }
.crit { table-layout: fixed; }
.crit td.v { width: 34%; white-space: nowrap; }
.tm b { overflow-wrap: anywhere; }
@media (max-width: 420px) {
  .card { padding: 10px 8px 12px; }
  .crit th { font-size: 13px; padding: 4px 2px; }
  .box { min-width: 38px; padding: 4px 3px; }
}

/* ด้านบน (หัวเว็บ · สตูดิโอ · แถบคัด) เต็มจอ — ด้านล่าง (การ์ด 1 คู่ต่อแถว · ผลคัด · วิธีคัด) เว้นขอบซ้ายขวาเล็กน้อย */
.list, .results, .how { width: calc(100% - 48px); max-width: 1500px; margin-left: auto; margin-right: auto; }
.list { margin-top: 12px; border-radius: 10px; overflow: hidden; box-shadow: 0 4px 18px rgba(0,0,0,.4); }
.results { margin-top: 16px; border-radius: 10px; }
.how { margin-top: 16px; margin-bottom: 16px; border-radius: 10px; }
@media (min-width: 1000px) {
  .card { grid-template-columns: minmax(0, 1fr) 300px; gap: 28px; padding: 14px 28px 18px; }
  .c-teams { max-width: 900px; margin-left: auto; margin-right: auto; }
  .crit { max-width: 900px; margin: 0 auto; }
  .note, .form6 { max-width: 900px; margin-left: auto; margin-right: auto; }
}
@media (max-width: 719px) {
  .list, .results, .how { width: calc(100% - 16px); }
}

/* ---------- ตัวช่วยเน้น: เกจโอกาสออกสูง · ราคาไหล · ไฟลุก ---------- */
.gauge {
  background: rgba(0,0,0,.28); border-radius: 10px; padding: 6px 8px 8px; text-align: center;
  display: flex; flex-direction: column; align-items: center; line-height: 1.15;
}
.gauge small { color: #ffe94d; font: 600 13px 'Kanit', sans-serif; }
.gauge svg { width: 140px; height: 80px; margin-top: 2px; }
.gauge b { font: 800 30px/1 'Kanit', sans-serif; margin-top: -2px; text-shadow: 0 2px 0 rgba(0,0,0,.35); }
.gauge em { font-style: normal; font-size: 12px; color: #fff; margin-top: 3px; }
.gauge em .up { color: #b8ff9a; font-weight: 700; }
.gauge em .dn { color: #ffd0cc; font-weight: 700; }
.gauge.na b { margin-top: 6px; color: #fff; }
.flow { background: rgba(0,0,0,.28); border-radius: 10px; padding: 6px 8px; display: flex; flex-direction: column; gap: 3px; }
.flow > small { color: #ffe94d; font: 600 13px 'Kanit', sans-serif; }
.fl-row { display: flex; align-items: center; justify-content: space-between; gap: 4px; font-size: 13px; }
.fl-row b { font-size: 15px; }
.fl-row i { font-style: normal; color: #ffe94d; font-weight: 800; }
.fl-tag { display: block; text-align: center; border-radius: 6px; padding: 3px 6px; font: 700 13px 'Kanit', sans-serif; }
.flow.f2 .fl-tag { background: #16c24a; color: #fff; }
.flow.f1 .fl-tag { background: #b8ff9a; color: #0b3d17; }
.flow.f0 .fl-tag { background: rgba(255,255,255,.2); color: #fff; }
.flow.f-1 .fl-tag { background: #ffd0cc; color: #6b0f08; }
.flow.f-2 .fl-tag { background: #9b1208; color: #fff; }
.flow.f0 > b { font-size: 13px; opacity: .8; }
.firetag {
  font: 800 13px 'Kanit', sans-serif; padding: 1px 10px; border-radius: 12px; color: #fff;
  background: linear-gradient(90deg, #ff3d00, #ffb300); box-shadow: 0 0 10px #ff7a00; animation: flame 1.1s ease-in-out infinite alternate;
}
.card.fire { box-shadow: inset 0 0 0 4px #ffb300, inset 0 0 40px rgba(255,140,0,.55); }
@keyframes flame { from { box-shadow: 0 0 6px #ff7a00; transform: scale(1); } to { box-shadow: 0 0 16px #ffcc00; transform: scale(1.06); } }
@media (prefers-reduced-motion: reduce) { .firetag { animation: none; } }
.board .firecount {
  margin: 0; text-align: center; font: 700 15px 'Kanit', sans-serif; padding: 6px; border-radius: 8px;
  background: linear-gradient(90deg, rgba(255,61,0,.85), rgba(255,179,0,.85));
}
.board .firecount b { font-size: 20px; }
.board .firecount small { display: block; font: 400 11px 'Sarabun', sans-serif; }
/* มือถือ: เกจ + ราคาไหล วางคู่กันใต้ตราผ่าน/ไม่ผ่าน */
@media (max-width: 719px) {
  .c-side { grid-template-columns: 1fr 1fr; }
  .c-side .nums { grid-column: 1 / -1; grid-template-columns: repeat(3, 1fr); }
  .c-side .nums div { flex-direction: column; align-items: center; }
  .c-side .flow { grid-column: 1 / -1; }
  .gauge svg { width: 110px; height: 64px; }
}

/* ---------- ตรายาง "ผ่านบอลสูง" บนกระดาษ + มิเตอร์คะแนน ---------- */
.verdict, .card.fail .verdict {
  position: relative; overflow: hidden; gap: 8px; padding: 12px 12px 10px; color: #3b2a14;
  background:
    radial-gradient(circle at 20% 15%, rgba(255,255,255,.7), transparent 40%),
    repeating-linear-gradient(0deg, transparent 0 23px, rgba(120,90,40,.08) 23px 24px),
    linear-gradient(160deg, #fffaf0, #f3e6c8);
  box-shadow: 0 3px 0 rgba(0,0,0,.18), inset 0 0 0 1px rgba(120,90,40,.25);
}
.card.fail .verdict { background: repeating-linear-gradient(0deg, transparent 0 23px, rgba(0,0,0,.05) 23px 24px), linear-gradient(160deg, #f4f4f2, #dcdcd6); }
.stamp-wrap { width: 124px; max-width: 100%; transform: rotate(var(--rot, -8deg)); animation: stampin .45s cubic-bezier(.2, 1.6, .4, 1) both; }
.stamp { display: block; width: 100%; height: auto; }
.stamp-wrap.ok { --ink: #c8102e; }
.stamp-wrap.ok.t4 { --ink: #a1001b; }
.stamp-wrap.no { --ink: #6b7280; opacity: .85; }
.stamp circle { stroke: var(--ink); }
.stamp .band { fill: none; stroke: var(--ink); stroke-width: 3; }
.stamp text { fill: var(--ink); font-family: 'Kanit', sans-serif; }
.stamp .ring-t { font-size: 13.5px; font-weight: 600; letter-spacing: 1.6px; }
.stamp .big-t { font-size: 46px; font-weight: 800; letter-spacing: 2px; }
.stamp .big-t.sm { font-size: 36px; }
.stamp .sub-t { font-size: 20px; font-weight: 700; }
.stamp .lvl-t { font-size: 13px; font-weight: 600; }
.stamp .st path { fill: var(--ink); }
.stamp-wrap.no .st { display: none; }
@keyframes stampin { from { opacity: 0; transform: rotate(var(--rot, -8deg)) scale(1.8); } to { opacity: 1; transform: rotate(var(--rot, -8deg)) scale(1); } }
@media (prefers-reduced-motion: reduce) { .stamp-wrap { animation: none; } }

.meter { width: 100%; font-family: 'Kanit', sans-serif; }
.mt-head { display: flex; justify-content: space-between; align-items: baseline; font-size: 13px; font-weight: 600; color: #5a4526; }
.mt-head b { font-size: 22px; color: #1f1608; line-height: 1; }
.mt-head small { font-size: 13px; color: #8a7350; }
.mt-track { position: relative; padding-top: 16px; }
.mt-seg { display: grid; grid-template-columns: repeat(12, 1fr); gap: 2px; }
.mt-seg i { height: 12px; background: rgba(60,40,10,.14); border-radius: 2px; }
.mt-seg i:first-child { border-radius: 6px 2px 2px 6px; }
.mt-seg i:last-child { border-radius: 2px 6px 6px 2px; }
.mt-seg i.on { background: linear-gradient(#6fd98c, #1f9d49); }
.mt-seg i.on.md { background: linear-gradient(#ffe066, #e0a800); }
.mt-seg i.on.hi { background: linear-gradient(#ff8a70, #d0261a); }
.card.fail .mt-seg i.on { background: linear-gradient(#b8bec8, #7c8594); }
.tk {
  position: absolute; top: 0; transform: translateX(-1px); font-size: 10px; font-weight: 700; line-height: 14px;
  width: 14px; height: 14px; text-align: center; border-radius: 50%; background: #d6c9a8; color: #6a5634;
}
.tk::after { content: ''; position: absolute; left: 6px; top: 14px; width: 2px; height: 14px; background: rgba(60,40,10,.35); }
.tk.hit { background: #1f1608; color: #ffd400; }
.tk.t4.hit { background: #c8102e; color: #fff; }
.mt-split { display: flex; justify-content: space-between; margin-top: 5px; font-size: 11.5px; color: #6a5634; }
.mt-split b { color: #1f1608; }

/* ---------- VIP PICK: การ์ด cel-shade (เส้นหนา · สีแบน · เงาตัดคม · ฮาล์ฟโทน) ---------- */
.vip-zone {
  position: relative; overflow: hidden; padding: 22px 16px 20px;
  background:
    radial-gradient(circle, rgba(255,255,255,.07) 1.2px, transparent 1.6px) 0 0 / 10px 10px,
    repeating-conic-gradient(from 0deg at 50% 45%, #1a0b33 0 6deg, #12072a 6deg 12deg),
    #12072a;
  border-top: 4px solid #0d0d12; border-bottom: 4px solid #0d0d12;
}
.vip-zone::before {   /* แสงวาบตรงกลางแบบฉากการ์ตูน */
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(ellipse at 50% 45%, rgba(255,210,26,.28), transparent 60%);
}
.vz-head { position: relative; text-align: center; margin-bottom: 16px; }
.vz-title {
  margin: 0; font: italic 800 44px/1 'Kanit', sans-serif; color: #fff; letter-spacing: 2px;
  -webkit-text-stroke: 2px #0d0d12; paint-order: stroke fill;
  text-shadow: 4px 4px 0 #0d0d12, 7px 7px 0 #7a2fd6;
}
.vz-title span { color: #ffd21a; text-shadow: 4px 4px 0 #0d0d12, 7px 7px 0 #e08a00; }
.vz-sub { margin: 6px 0 0; color: #e6dcff; font: 600 14px 'Kanit', sans-serif; }
.vz-cards { position: relative; display: flex; flex-wrap: wrap; justify-content: center; gap: 22px; perspective: 1200px; }
.vcard {
  appearance: none; border: 0; padding: 0; background: none; cursor: pointer; font: inherit; color: inherit;
  width: min(280px, 100%); aspect-ratio: 5 / 7; transform-style: preserve-3d;
  transform: rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); transition: transform .15s ease-out;
  animation: vfloat 3.2s ease-in-out infinite; animation-delay: calc(var(--i, 0) * .4s);
}
.vcard:nth-child(2) { --i: 1; }
.vcard:nth-child(3) { --i: 2; }
.vcard:focus-visible { outline: 3px solid #ffd21a; outline-offset: 6px; border-radius: 20px; }
@keyframes vfloat { 50% { translate: 0 -6px; } }
.vc-in { position: relative; display: block; width: 100%; height: 100%; transform-style: preserve-3d; transition: transform .7s cubic-bezier(.3, 1.4, .5, 1); }
.vcard.open .vc-in { transform: rotateY(180deg); }
.vc-face {
  position: absolute; inset: 0; backface-visibility: hidden; -webkit-backface-visibility: hidden;
  border: 5px solid #0d0d12; border-radius: 20px; overflow: hidden;
  display: flex; flex-direction: column; align-items: center; padding: 14px 12px;
  box-shadow: 8px 8px 0 #0d0d12;
}
/* ด้านหลังการ์ด (คว่ำ): สีหลักแบน + เงาตัดทแยงคม + ฮาล์ฟโทน + ขอบในสีขาว */
.vc-front {
  justify-content: space-between;
  background:
    radial-gradient(circle, rgba(0,0,0,.18) 1.4px, transparent 1.8px) 0 0 / 9px 9px,
    linear-gradient(135deg, var(--c1) 0 55%, var(--c2) 55% 100%);
}
.vc-front::before { content: ''; position: absolute; inset: 7px; border: 3px solid rgba(255,255,255,.85); border-radius: 13px; pointer-events: none; }
.vc-front::after {   /* แสงวาบวิ่งผ่านการ์ด */
  content: ''; position: absolute; top: -20%; bottom: -20%; width: 30%; left: -60%;
  background: linear-gradient(100deg, transparent, rgba(255,255,255,.75), transparent);
  transform: skewX(-18deg); animation: vshine 3.5s ease-in-out infinite; animation-delay: calc(var(--i, 0) * .7s);
}
@keyframes vshine { 0%, 60% { left: -60%; } 100% { left: 140%; } }
.vc-rar {
  position: relative; z-index: 1; align-self: flex-start; font: 800 12px 'Kanit', sans-serif; letter-spacing: 2px;
  background: #0d0d12; color: var(--c1); padding: 2px 10px; border-radius: 6px;
}
.vc-no { position: absolute; top: 12px; right: 16px; z-index: 1; font: italic 800 26px 'Kanit', sans-serif; color: #fff; -webkit-text-stroke: 1.5px #0d0d12; paint-order: stroke fill; text-shadow: 3px 3px 0 #0d0d12; }
.emb { position: relative; z-index: 1; width: 72%; filter: drop-shadow(5px 5px 0 rgba(0,0,0,.45)); }
.emb .spark { transform-origin: center; animation: vspark 1.6s ease-in-out infinite alternate; }
@keyframes vspark { from { opacity: .3; } to { opacity: 1; } }
.vc-vip {
  position: relative; z-index: 1; font: italic 800 64px/0.9 'Kanit', sans-serif; color: #fff; letter-spacing: 3px;
  -webkit-text-stroke: 3px #0d0d12; paint-order: stroke fill; text-shadow: 5px 5px 0 #0d0d12;
}
.vc-time { position: relative; z-index: 1; font: 700 15px 'Kanit', sans-serif; color: #0d0d12; background: rgba(255,255,255,.85); border: 3px solid #0d0d12; border-radius: 10px; padding: 1px 12px; }
.vc-tap {
  position: relative; z-index: 1; font: 800 15px 'Kanit', sans-serif; color: #fff; background: #0d0d12; border-radius: 20px; padding: 5px 16px;
  animation: vtap 1s ease-in-out infinite;
}
@keyframes vtap { 50% { transform: scale(1.08); box-shadow: 0 0 0 4px rgba(255,255,255,.5); } }
/* ด้านหน้าการ์ด (เปิดแล้ว): ทีเด็ด + โฮโลแกรม */
.vc-back {
  transform: rotateY(180deg); gap: 8px; justify-content: flex-start; color: #0d0d12;
  background:
    linear-gradient(115deg, transparent 20%, rgba(255,255,255,.55) 38%, rgba(120,220,255,.35) 46%, rgba(255,120,220,.3) 54%, transparent 70%) 0 0 / 250% 250%,
    linear-gradient(180deg, var(--c1) 0 30%, #fff8e6 30%);
  animation: vholo 4s linear infinite;
}
@keyframes vholo { to { background-position: -250% -250%, 0 0; } }
.vc-lg { font: 600 12px 'Kanit', sans-serif; max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.vc-teams { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; width: 100%; gap: 4px; }
.vt { display: flex; flex-direction: column; align-items: center; gap: 4px; min-width: 0; }
.vt b { font: 700 13px/1.15 'Kanit', sans-serif; text-align: center; overflow-wrap: anywhere; }
.vl { width: 58px; height: 58px; border: 4px solid #0d0d12; border-radius: 50%; background: #fff; display: grid; place-items: center; overflow: hidden; box-shadow: 3px 3px 0 #0d0d12; }
.vl img { width: 78%; height: 78%; object-fit: contain; }
.vl .mono { width: 100%; height: 100%; display: grid; place-items: center; background: hsl(var(--h) 55% 45%); color: #fff; font: 800 16px 'Kanit', sans-serif; }
.vvs { font: italic 800 20px 'Kanit', sans-serif; color: #fff; -webkit-text-stroke: 1.5px #0d0d12; paint-order: stroke fill; }
.vc-bet {
  font: italic 800 30px/1 'Kanit', sans-serif; color: #fff; background: #0d0d12; padding: 8px 16px 8px; border-radius: 12px;
  transform: rotate(-3deg); box-shadow: 4px 4px 0 var(--c2); display: flex; align-items: baseline; gap: 8px;
}
.vc-bet small { font: 600 13px 'Kanit', sans-serif; color: var(--c1); }
.vc-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; width: 100%; }
.vc-stats span { display: flex; flex-direction: column; align-items: center; background: #fff; border: 3px solid #0d0d12; border-radius: 10px; padding: 3px 2px; line-height: 1.1; }
.vc-stats b { font: 800 18px 'Kanit', sans-serif; }
.vc-stats small { font-size: 10.5px; color: #555; }
.vc-flow { margin-top: auto; font: 700 12px 'Kanit', sans-serif; background: var(--c1); border: 3px solid #0d0d12; border-radius: 8px; padding: 2px 10px; }
.vz-foot { position: relative; display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.vz-all, .vz-cta {
  font: 800 16px 'Kanit', sans-serif; border: 4px solid #0d0d12; border-radius: 14px; padding: 8px 20px; cursor: pointer;
  box-shadow: 5px 5px 0 #0d0d12; text-decoration: none; transition: transform .1s, box-shadow .1s;
}
.vz-all { background: #fff; color: #0d0d12; }
.vz-cta { background: linear-gradient(135deg, #ffd21a 0 55%, #e08a00 55%); color: #0d0d12; }
.vz-all:active, .vz-cta:active { transform: translate(4px, 4px); box-shadow: 1px 1px 0 #0d0d12; }
/* ป้าย VIP บนการ์ดคู่ด้านล่าง */
.viptag {
  font: 800 13px 'Kanit', sans-serif; padding: 1px 10px; border-radius: 12px; text-decoration: none;
  background: #ffd21a; color: #0d0d12; border: 2px solid #0d0d12; box-shadow: 2px 2px 0 #0d0d12;
}
.card.isvip { box-shadow: inset 0 0 0 4px #ffd21a, inset 0 0 0 7px #0d0d12; }
@media (prefers-reduced-motion: reduce) {
  .vcard, .vc-front::after, .vc-back, .vc-tap, .emb .spark { animation: none; }
}
@media (max-width: 719px) {
  .vz-title { font-size: 36px; }
  .vz-cards { flex-wrap: nowrap; overflow-x: auto; justify-content: flex-start; scroll-snap-type: x mandatory; padding: 6px 4px 14px; }
  .vcard { flex: 0 0 76%; scroll-snap-align: center; }
}
.vz-cards { scrollbar-width: none; }
.vz-cards::-webkit-scrollbar { display: none; }

/* ---------- การ์ดระดับ VIP ข้างคู่ (เข้มขึ้น RARE · เข้มขึ้นอีก EPIC · สูงสุด LEGEND) ---------- */
.verdict.vv {
  background:
    radial-gradient(circle, rgba(255,255,255,.07) 1.2px, transparent 1.6px) 0 0 / 9px 9px,
    repeating-conic-gradient(from 0deg at 50% 38%, #1a0b33 0 7deg, #12072a 7deg 14deg);
  box-shadow: 0 3px 0 rgba(0,0,0,.25), inset 0 0 0 3px #0d0d12;
}
.verdict.vv .mt-head, .verdict.vv .mt-split { color: #d9ccff; }
.verdict.vv .mt-head b, .verdict.vv .mt-split b { color: #fff; }
.verdict.vv .mt-head small { color: #b9a8e8; }
.verdict.vv .mt-seg i { background: rgba(255,255,255,.14); }
.verdict.vv .mt-seg i.on { background: linear-gradient(#6fd98c, #1f9d49); }
.verdict.vv .mt-seg i.on.md { background: linear-gradient(#ffe066, #e0a800); }
.verdict.vv .mt-seg i.on.hi { background: linear-gradient(#ff8a70, #d0261a); }
.tcard {
  position: relative; overflow: hidden; width: 140px; aspect-ratio: 5 / 7; text-decoration: none; color: #fff;
  display: flex; flex-direction: column; align-items: center; justify-content: space-between; padding: 10px 8px 8px;
  border: 4px solid #0d0d12; border-radius: 14px; box-shadow: 6px 6px 0 #0d0d12;
  background:
    radial-gradient(circle, rgba(0,0,0,.18) 1.3px, transparent 1.7px) 0 0 / 8px 8px,
    linear-gradient(135deg, var(--c1) 0 55%, var(--c2) 55% 100%);
  transform: rotate(-3deg); transition: transform .2s;
  animation: tcin .5s cubic-bezier(.2, 1.5, .4, 1) backwards;
}
.tcard:hover { transform: rotate(0deg) scale(1.05); }
.tcard::before { content: ''; position: absolute; inset: 5px; border: 2px solid rgba(255,255,255,.85); border-radius: 9px; pointer-events: none; }
.tcard::after {
  content: ''; position: absolute; top: -20%; bottom: -20%; width: 35%; left: -60%;
  background: linear-gradient(100deg, transparent, rgba(255,255,255,.8), transparent);
  transform: skewX(-18deg); animation: vshine 3.2s ease-in-out infinite;
}
.tcard > * { position: relative; z-index: 1; }
.tc-rar { align-self: flex-start; font: 800 10px 'Kanit', sans-serif; letter-spacing: 1.5px; background: #0d0d12; color: var(--c1); padding: 1px 7px; border-radius: 5px; }
.tcard .emb { width: 70%; margin-top: 2px; }
.tc-vip { font: italic 800 34px/0.9 'Kanit', sans-serif; letter-spacing: 2px; -webkit-text-stroke: 2px #0d0d12; paint-order: stroke fill; text-shadow: 3px 3px 0 #0d0d12; }
.tc-tn { font: 800 13px/1.1 'Kanit', sans-serif; color: #0d0d12; background: #fff; border: 2px solid #0d0d12; border-radius: 8px; padding: 2px 8px; white-space: nowrap; }
.tc-st { font-size: 14px; letter-spacing: 1px; color: #fff; -webkit-text-stroke: 1px #0d0d12; line-height: 1; }
.tc-st i { font-style: normal; opacity: .3; }
.tcard.gold { box-shadow: 6px 6px 0 #0d0d12, 0 0 22px rgba(255,210,26,.7); }
.tcard.gold .tc-vip { color: #fff6c2; }
@keyframes tcin { from { opacity: 0; transform: rotate(-20deg) scale(.4); } to { opacity: 1; transform: rotate(-3deg) scale(1); } }
.vc-tn {
  position: relative; z-index: 1; font: 800 15px 'Kanit', sans-serif; color: #0d0d12; background: #fff;
  border: 3px solid #0d0d12; border-radius: 10px; padding: 1px 12px; box-shadow: 3px 3px 0 #0d0d12;
}
.tiers .rn { font: 700 11px 'Kanit', sans-serif; font-style: normal; padding: 0 6px; border-radius: 6px; color: #fff; }
.tiers .rn.r1 { background: #3aa655; }
.tiers .rn.r2 { background: #1a7fd6; }
.tiers .rn.r3 { background: #7a2fd6; }
.tiers .rn.r4 { background: #e08a00; }
@media (prefers-reduced-motion: reduce) { .tcard, .tcard::after { animation: none; } }
@media (max-width: 420px) {
  .tcard { width: 118px; }
  .tc-vip { font-size: 28px; }
  .tc-tn { font-size: 11px; padding: 1px 5px; }
  .tiers .rn { font-size: 9px; padding: 0 3px; }
}

/* ---------- VIP PICK ล็อก (ไม่ใช่ VIP) ---------- */
.vcard.lock { cursor: default; }
.vcard.lock .vc-front { filter: saturate(.75); }
.vcard.lock .vc-front .emb { opacity: .55; }
.vc-lock {
  position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 6px;
  font: 800 16px 'Kanit', sans-serif; color: #fff; background: #0d0d12; border-radius: 20px; padding: 5px 16px;
}
.vc-lock svg { width: 20px; height: 20px; fill: none; stroke: #ffd21a; stroke-width: 2.4; stroke-linecap: round; }
.vz-cards.locked .vcard::after {   /* โซ่คาดทแยง */
  content: ''; position: absolute; left: -10%; right: -10%; top: 46%; height: 26px; z-index: 5; pointer-events: none;
  transform: rotate(-24deg); border: 4px solid #0d0d12;
  background: repeating-linear-gradient(90deg, #ffd21a 0 16px, #0d0d12 16px 20px);
}
.vcard.lock { position: relative; }
.vz-gate {
  position: relative; max-width: 460px; margin: 22px auto 0; padding: 16px; text-align: center; color: #fff;
  background: #1c0f3a; border: 4px solid #0d0d12; border-radius: 16px; box-shadow: 6px 6px 0 #0d0d12;
}
.vg-t { margin: 0 0 8px; font: 800 18px 'Kanit', sans-serif; color: #ffd21a; }
.vg-s { margin: 8px 0 0; font-size: 13px; color: #cfc2f5; }
.vg-err { margin: 8px 0 0; font: 700 14px 'Kanit', sans-serif; color: #ff8f86; }
.vg-form { display: grid; gap: 8px; }
.vg-form input {
  font: 16px 'Sarabun', sans-serif; padding: 9px 12px; border: 3px solid #0d0d12; border-radius: 10px; background: #fff; color: #111; min-height: 44px;
}
.vg-form input:focus { outline: 3px solid #ffd21a; outline-offset: 1px; }
.vz-gate .vz-foot { margin-top: 12px; }
.vz-gate form { margin: 0; }
.vz-me { position: relative; text-align: center; margin: -6px 0 14px; color: #ffe680; font: 700 14px 'Kanit', sans-serif; display: flex; justify-content: center; align-items: center; gap: 8px; }
.vz-me form { margin: 0; }
.vz-me button { font: 600 12px 'Kanit', sans-serif; background: none; border: 2px solid #ffe680; color: #ffe680; border-radius: 8px; padding: 1px 10px; cursor: pointer; }

/* ---------- สมาชิกบนหัวเว็บ (บัญชีร่วม tded.us / 0tded.com) ---------- */
.member { position: relative; display: flex; align-items: center; gap: 6px; font: 600 13px 'Kanit', sans-serif; }
.mb-name { color: #fff; white-space: nowrap; }
.mb-vip { background: #ffd21a; color: #000; padding: 0 6px; border-radius: 6px; font-size: 12px; }
.member form { margin: 0; }
.mb-out { font: 600 12px 'Kanit', sans-serif; background: none; border: 1px solid #666; color: #ccc; border-radius: 6px; padding: 2px 8px; cursor: pointer; min-height: 28px; }
.mb-up { color: #000; background: linear-gradient(#ffe45c, var(--gold2)); padding: 3px 10px; border-radius: 6px; text-decoration: none; white-space: nowrap; }
.mb-login summary {
  list-style: none; cursor: pointer; padding: 6px 12px; border: 1px solid var(--gold); color: var(--gold); border-radius: 6px; white-space: nowrap; min-height: 32px;
}
.mb-login summary::-webkit-details-marker { display: none; }
.mb-login form {
  position: absolute; right: 0; top: calc(100% + 6px); z-index: 20; width: 240px; display: grid; gap: 6px; padding: 12px;
  background: #111; border: 2px solid var(--gold); border-radius: 10px; box-shadow: 0 8px 24px rgba(0,0,0,.6);
}
.mb-login input { font: 16px 'Sarabun', sans-serif; padding: 8px 10px; border: 1px solid #444; border-radius: 6px; min-height: 40px; }
.mb-login button { font: 700 15px 'Kanit', sans-serif; background: linear-gradient(#ffe45c, var(--gold2)); border: 0; border-radius: 6px; padding: 8px; cursor: pointer; }
.mb-err { margin: 0; color: #ff8f86; font-size: 13px; }
.mb-note { margin: 0; color: #999; font: 400 12px 'Sarabun', sans-serif; }
@media (max-width: 719px) {
  .member { position: absolute; top: 14px; right: 16px; }
  .top-in { position: relative; }
}

/* ---------- จอทีวีสไลด์: ทีเด็ดวันนี้ · สมัครสมาชิก 290 · ได้อะไรบ้าง ---------- */
.tv-slides { display: grid; }
.tv-slide {
  grid-area: 1 / 1; display: flex; flex-direction: column; min-width: 0;
  opacity: 0; visibility: hidden; transform: translateX(24px); transition: opacity .45s, transform .45s, visibility 0s .45s;
}
.tv-slide.on { opacity: 1; visibility: visible; transform: none; transition: opacity .45s, transform .45s; }
.tv-slide .tv-body, .tv-slide .pr-body, .tv-slide .pk-list { flex: 1; }
.tv-slide .tv-foot a { color: #fff; text-decoration: none; }
/* สไลด์ 2: ราคา (โทนเดียวกับป้ายในรูปอ้างอิง: ทแยงเขียว-แดง ตัวหนังสือเหลืองขอบดำ) */
.pr-body {
  display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 10px; padding: 12px 14px;
  background:
    radial-gradient(circle, rgba(0,0,0,.18) 1.2px, transparent 1.6px) 0 0 / 8px 8px,
    linear-gradient(105deg, #0f5a2a 0 50%, #d52b1e 50% 56%, #b8421c 56%);
}
.pr-left { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; min-width: 0; }
.pr-kick { font: 800 13px 'Kanit', sans-serif; background: #ffd400; color: #000; padding: 1px 10px; border-radius: 4px; }
.pr-name { font: italic 800 26px/1.05 'Kanit', sans-serif; color: #ffd400; text-shadow: 2px 2px 0 #000, -1px -1px 0 #000; overflow-wrap: anywhere; }
.pr-chip { font: 600 13px 'Kanit', sans-serif; background: rgba(0,0,0,.55); padding: 2px 10px; border-radius: 12px; }
.pr-cta {
  font: 800 16px 'Kanit', sans-serif; color: #000; text-decoration: none; padding: 6px 18px; border-radius: 8px;
  background: linear-gradient(#ffe45c, #ffb300); border: 3px solid #000; box-shadow: 3px 3px 0 #000;
  animation: vtap 1.2s ease-in-out infinite;
}
.pr-price {
  display: flex; flex-direction: column; align-items: center; line-height: 1; padding: 10px 14px 12px; transform: rotate(-4deg);
  background: #fff; color: #000; border: 4px solid #000; border-radius: 14px; box-shadow: 5px 5px 0 #000;
}
.pr-price small { font: 700 14px 'Kanit', sans-serif; color: #d52b1e; }
.pr-price b { font: italic 800 64px/0.95 'Kanit', sans-serif; color: #d52b1e; -webkit-text-stroke: 2px #000; paint-order: stroke fill; text-shadow: 3px 3px 0 #ffd400; }
.pr-price span { font: 800 16px 'Kanit', sans-serif; }
.pr-price em { font: 600 11px 'Sarabun', sans-serif; font-style: normal; color: #555; margin-top: 4px; }
/* สไลด์ 3: สิทธิ์ */
.pk-list { list-style: none; margin: 0; padding: 8px 10px; display: grid; gap: 4px; background: linear-gradient(160deg, #0f2a66, #0a1a3d); }
.pk-list li { display: flex; align-items: center; gap: 8px; background: rgba(255,255,255,.07); border-left: 3px solid #ffd400; padding: 3px 8px; min-width: 0; }
.pk-list i { font-style: normal; font-size: 18px; }
.pk-list span { display: flex; flex-direction: column; min-width: 0; line-height: 1.2; }
.pk-list b { font: 600 14px 'Kanit', sans-serif; color: #ffd400; }
.pk-list small { font-size: 12px; color: #cfe0ff; }
/* ปุ่มเลื่อน */
.tv-nav { display: flex; align-items: center; justify-content: center; gap: 10px; background: #111; padding: 3px 0; }
.tv-nav > button { background: none; border: 0; color: #fff; font: 700 22px/1 'Kanit', sans-serif; cursor: pointer; width: 36px; height: 30px; border-radius: 6px; }
.tv-nav > button:hover { background: #333; }
.tv-dots { display: flex; gap: 6px; }
.tv-dots button { width: 10px; height: 10px; padding: 0; border: 0; border-radius: 5px; background: #555; cursor: pointer; transition: width .3s, background .3s; }
.tv-dots button.on { width: 28px; background: #ffd400; }
@media (min-width: 1300px) {
  .pr-name { font-size: 34px; }
  .pr-price b { font-size: 84px; }
  .pk-list b { font-size: 16px; }
  .pk-list small { font-size: 13px; }
}
@media (max-width: 420px) {
  .pr-body { grid-template-columns: 1fr; justify-items: center; text-align: center; }
  .pr-left { align-items: center; }
  .pr-price b { font-size: 48px; }
  .pk-list small { display: none; }
}
@media (prefers-reduced-motion: reduce) { .tv-slide, .tv-slide.on { transition: none; } .pr-cta { animation: none; } }

/* ---------- สไลด์ "ได้อะไรบ้าง": 3 เว็บในราคาเดียว ---------- */
.pk-sites { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; padding: 8px; background: linear-gradient(160deg, #0f2a66, #0a1a3d); flex: 1; }
.pk-site { background: rgba(255,255,255,.06); border: 2px solid var(--sc); border-radius: 8px; padding: 6px 7px; min-width: 0; }
.pk-top { display: flex; align-items: center; gap: 5px; margin-bottom: 4px; }
.pk-top i { font-style: normal; font-size: 20px; }
.pk-top span { display: flex; flex-direction: column; min-width: 0; line-height: 1.1; }
.pk-top b { font: 800 14px 'Kanit', sans-serif; color: var(--sc); overflow-wrap: anywhere; }
.pk-top small { font-size: 11px; color: #cfe0ff; }
.pk-site ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.pk-site li { font-size: 12px; line-height: 1.25; padding-left: 14px; position: relative; color: #fff; }
.pk-site li::before { content: '✓'; position: absolute; left: 0; color: var(--sc); font-weight: 800; }
.pk-bonus { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px; padding: 5px 6px; background: #0a1a3d; border-top: 1px solid rgba(255,255,255,.12); }
.pk-bonus span { font: 600 11.5px 'Kanit', sans-serif; background: rgba(255,212,0,.15); color: #ffe680; padding: 1px 8px; border-radius: 10px; }
@media (min-width: 1300px) {
  .pk-top b { font-size: 16px; }
  .pk-site li { font-size: 13.5px; }
  .pk-bonus span { font-size: 13px; }
}

/* ---------- ผู้ประกาศ + บอลลูนคำพูด ---------- */
.bubble {
  position: absolute; z-index: 4; left: 4%; top: 18px; max-width: 30%; margin: 0;
  background: #fff; color: #111; font: 700 15px/1.3 'Kanit', sans-serif; padding: 8px 14px; border-radius: 14px;
  border: 3px solid #111; box-shadow: 4px 4px 0 rgba(0,0,0,.45); transition: opacity .3s, transform .3s;
}
.bubble::after { content: ''; position: absolute; left: 60%; bottom: -14px; border: 8px solid transparent; border-top: 10px solid #111; }
.bubble.swap { opacity: 0; transform: translateY(-6px) scale(.96); }
.anchor { bottom: 30px; }
@media (min-width: 720px) {
  .bubble { left: 18%; top: 20px; max-width: 26%; }
  .anchor { top: 70px; bottom: auto; }
}
@media (min-width: 1300px) {
  .bubble { left: 20%; font-size: 17px; }
  .anchor { top: 64px; }
}
/* มือถือ: จอทีวีเต็มกว้าง แล้วผู้ประกาศ + บอลลูนอยู่ด้านล่าง */
@media (max-width: 719px) {
  .studio { display: flex; flex-direction: column; min-height: 0; padding-bottom: 30px; }
  .tv { width: auto; max-width: none; margin: 12px 12px 0; }
  .anchor { position: relative; left: 0; bottom: auto; width: 46%; max-width: 200px; margin: -4px 0 0 4px; }
  .bubble { left: auto; right: 12px; top: auto; bottom: 90px; max-width: 48%; font-size: 14px; }
  .bubble::after { left: 18%; }
  .pk-top small { display: none; }
  .pk-site li { font-size: 11px; padding-left: 11px; }
  .pk-site li:nth-child(4) { display: none; }
  .pk-top b { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) { .bubble { transition: none; } }
@media (max-width: 719px) {
  .tv { order: 1; }
  .anchor { order: 2; }
  .ticker { order: 3; }
  .bubble { bottom: 70px; }
  /* 3 เว็บ: ปัดดูทีละใบ */
  .pk-sites { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 78%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .pk-sites::-webkit-scrollbar { display: none; }
  .pk-site { scroll-snap-align: start; }
  .pk-top small { display: block; }
  .pk-site li { font-size: 12.5px; }
  .pk-site li:nth-child(4) { display: list-item; }
  .pk-top b { font-size: 14px; }
}
.how .intro { margin: 0 0 14px; line-height: 1.7; color: #333; }

/* ---------- ฉากหลังสตูดิโอ: กราฟสกอร์รวมจริง vs เส้น 2.5 ---------- */
.studio-bg { position: absolute; inset: 0 0 30px 0; z-index: 0; pointer-events: none; }
.studio-bg .chart-bg { width: 100%; height: 100%; display: block; }
.studio-bg::after {   /* ไล่มืดด้านล่างให้ผู้ประกาศเด่น */
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(ellipse at 22% 70%, rgba(6,16,42,.55), transparent 55%);
}
.foot .net { display: flex; flex-wrap: wrap; justify-content: center; align-items: baseline; gap: 4px 8px; margin-top: 6px; font-size: 13px; }
.foot .net a { color: var(--gold); font-weight: 700; }
.foot .net small { color: #888; margin-right: 8px; }

/* ---------- ปุ่มบัญชีบนหัวเว็บ + แผงเข้าสู่ระบบ/สมัครฟรี (มือถือกดง่าย: ปุ่มสูง 40px · แผงเต็มกว้าง) ---------- */
.mb-btn {
  display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border-radius: 8px; white-space: nowrap;
  font: 700 14px 'Kanit', sans-serif; text-decoration: none; border: 2px solid var(--gold);
}
.mb-btn.in { color: var(--gold); background: rgba(0,0,0,.4); }
.mb-btn.reg { color: #000; background: linear-gradient(#ffe45c, var(--gold2)); border-color: #7a4b00; box-shadow: 0 0 12px rgba(255,212,0,.35); }
.acct { display: none; position: relative; z-index: 30; }
.acct.open, .acct:target { display: block; }
.ac-box {
  position: absolute; right: 16px; top: 4px; width: 320px; padding: 12px 14px 14px; display: grid; gap: 8px;
  background: #111; border: 2px solid var(--gold); border-radius: 12px; box-shadow: 0 12px 30px rgba(0,0,0,.7);
}
.ac-tabs { display: flex; gap: 6px; align-items: center; }
.ac-tabs button {
  flex: 1; min-height: 40px; border-radius: 8px; border: 1px solid #444; background: #1b1b1b; color: #ccc; cursor: pointer;
  font: 700 15px 'Kanit', sans-serif;
}
.acct[data-tab="in"] .ac-tabs [data-tab="in"], .acct[data-tab="reg"] .ac-tabs [data-tab="reg"] { background: var(--gold); color: #000; border-color: var(--gold); }
.ac-x { width: 40px; height: 40px; display: grid; place-items: center; color: #aaa; text-decoration: none; font-size: 18px; flex: 0 0 auto; }
.ac-f { display: none; gap: 8px; margin: 0; }
.acct[data-tab="in"] .ac-f.in, .acct[data-tab="reg"] .ac-f.reg { display: grid; }
.ac-f label { display: grid; gap: 2px; }
.ac-f label span { font: 600 13px 'Kanit', sans-serif; color: #ccc; }
.ac-f input { font: 16px 'Sarabun', sans-serif; padding: 9px 12px; border: 1px solid #555; border-radius: 8px; min-height: 44px; background: #fff; color: #111; }
.ac-f input:focus { outline: 3px solid rgba(255,212,0,.6); border-color: var(--gold); }
.ac-f button { min-height: 46px; font: 800 17px 'Kanit', sans-serif; background: linear-gradient(#ffe45c, var(--gold2)); border: 0; border-radius: 8px; cursor: pointer; color: #000; }
.ac-f .mb-note a { color: var(--gold); }
.welcome { margin: 0; padding: 8px 16px; background: #16a34a; color: #fff; text-align: center; font: 600 14px 'Kanit', sans-serif; }
.welcome a { color: #fff; font-weight: 800; }
@media (max-width: 719px) {
  .mb-btn { padding: 0 10px; font-size: 13px; min-height: 38px; }
  .mb-name { max-width: 90px; overflow: hidden; text-overflow: ellipsis; }
  .ac-box { position: fixed; left: 8px; right: 8px; top: 8px; width: auto; max-height: calc(100vh - 16px); overflow-y: auto; }
  .acct.open::before, .acct:target::before { content: ''; position: fixed; inset: 0; background: rgba(0,0,0,.6); }
}
/* มือถือ: โลโก้ + ปุ่มบัญชีอยู่แถวเดียวกัน (เมนูลงแถวสอง) */
@media (max-width: 719px) {
  .top-in { display: grid; grid-template-columns: auto 1fr; }
  .top-in .nav { grid-column: 1 / -1; }
  .member { position: static; justify-self: end; gap: 6px; grid-row: 1; grid-column: 2; }
  .shield { width: 42px; height: 47px; }
}
@media (max-width: 380px) {
  .wm b { font-size: 19px; }
  .mb-btn { padding: 0 8px; font-size: 12.5px; }
}

/* ---------- หัวข้อหลัก: ทีเด็ดบอลสูง วันนี้ ---------- */
.hero {
  text-align: center; padding: 14px 16px 12px;
  background: radial-gradient(ellipse at 50% 0, rgba(255,212,0,.18), transparent 70%), linear-gradient(#0b0d14, #141824);
  border-bottom: 3px solid #000;
}
.hero h1 { margin: 0; line-height: 1.05; }
.hero .kw {
  font: italic 800 44px/1.05 'Kanit', sans-serif; color: var(--gold); letter-spacing: .5px;
  -webkit-text-stroke: 1.5px #000; paint-order: stroke fill; text-shadow: 3px 3px 0 #000, 0 0 22px rgba(255,212,0,.45);
}
.hero .td { font: italic 800 30px/1 'Kanit', sans-serif; color: #fff; text-shadow: 2px 2px 0 #e8483d; margin-left: 4px; }
.hero-date { margin: 6px 0 0; font: 600 15px 'Kanit', sans-serif; color: #cfe0ff; }
.hero-date time { color: #fff; background: #e8483d; padding: 1px 10px; border-radius: 6px; margin-right: 4px; }
.hero-sum { margin: 6px auto 0; max-width: 820px; font-size: 15px; color: #dfe6f5; }
.hero-sum strong { color: var(--gold); }
.hero-sum b { font: 800 18px 'Kanit', sans-serif; }
.hero-sum b.y { color: var(--gold); }
.hero-sum b.g { color: #3ee07a; }
@media (min-width: 720px) {
  .hero { padding: 18px 24px 16px; }
  .hero .kw { font-size: 64px; }
  .hero .td { font-size: 40px; }
  .hero-date { font-size: 17px; }
  .hero-sum { font-size: 16px; }
}
@media (max-width: 380px) { .hero .kw { font-size: 38px; } .hero .td { font-size: 26px; } }

/* ---------- ผลย้อนหลังแยกรายวัน ---------- */
.res-sum { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; max-width: 520px; margin: 0 0 14px; text-align: center; }
.res-sum div { background: #1b1f2b; border-radius: 10px; padding: 8px 4px; display: flex; flex-direction: column; line-height: 1.15; }
.res-sum small { color: #aab; font-size: 13px; }
.res-sum b { font: 800 28px 'Kanit', sans-serif; color: var(--gold); }
.res-sum b.w { color: #3ee07a; }
.res-sum b.l { color: #ff8f86; }
.res-day { margin-top: 14px; }
.res-day h3 { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin: 0 0 6px; font: 700 17px 'Kanit', sans-serif; color: #fff; }
.res-day h3 time { color: var(--gold); }
.rd-sc { margin-left: auto; font-size: 14px; }
.rd-sc .w { color: #3ee07a; }
.rd-sc .l { color: #ff8f86; }
.rd-sc em { font-style: normal; background: #16a34a; padding: 0 8px; border-radius: 8px; margin-left: 4px; }
@media (max-width: 600px) {
  .results table { min-width: 0; font-size: 13px; }
  .results th, .results td { padding: 6px 4px; }
  .results th:nth-child(3), .results td:nth-child(3) { display: none; }
  .results td:nth-child(4) { white-space: nowrap; }
  .results .rs { padding: 1px 6px; white-space: nowrap; }
}

/* ---------- คำถามที่พบบ่อย ---------- */
.faq { width: calc(100% - 48px); max-width: 1500px; margin: 0 auto 16px; padding: 20px 16px; background: #11131a; border-radius: 10px; }
.faq h2 { margin: 0 0 10px; font: 700 22px 'Kanit', sans-serif; color: var(--gold); }
.faq details { border-bottom: 1px solid #2b2f3b; }
.faq summary { cursor: pointer; padding: 10px 0; font: 700 16px 'Kanit', sans-serif; color: #fff; min-height: 44px; }
.faq summary::marker { color: var(--gold); }
.faq p { margin: 0 0 12px; color: #d3d8e4; }
@media (max-width: 719px) { .faq { width: calc(100% - 16px); } }
@media (min-width: 1300px) { .faq { padding: 24px 32px; } }
.hero-sum span { white-space: nowrap; }
@media (max-width: 719px) {
  .top-in { padding: 8px 10px; gap: 8px; }
  .logo { gap: 5px; min-width: 0; }
  .wm b { font-size: 20px; white-space: nowrap; }
  .wm small { font-size: 11px; }
}
@media (max-width: 380px) { .wm b { font-size: 17px; } .shield { width: 34px; height: 38px; } }
.tv-body { display: flex; flex-direction: column; }
.tv-all {
  margin-top: auto; align-self: flex-start; margin-bottom: 2px; padding: 6px 12px; border-radius: 8px; text-decoration: none;
  font: 800 14px 'Kanit', sans-serif; color: #000; background: linear-gradient(#ffe45c, var(--gold2)); border: 2px solid #000; box-shadow: 2px 2px 0 #000;
}
.tv-list + .tv-all { margin-top: auto; }
.tv-body .tv-list { margin-bottom: 10px; }
@media (min-width: 720px) { .tv-all { font-size: 16px; } }

/* ---------- อินโทรเปิดเว็บ: ฝูงปักษาสไตล์ญี่ปุ่น (หงส์ไฟโฮโอ + อีกาเทงงุ) + ป้าย "ทีเด็ดบอลสูง" ปื้นพู่กันชาด + ตราประทับ 高 (intro.php) ----------
   ลำดับ (~6 วิ หลังรูปโหลด): พระอาทิตย์ชาด + ปื้นหมึก 0–1 · ฝูงพุ่งขึ้นเข้าฟอร์เมชัน 0–2.4 · ป้ายชื่อปาดพู่กัน 1.8 · ประทับตรา 2.5 · ทะยานออก 4.1–5.4 */
html.intro-on, html.intro-on body { overflow: hidden; }
.ovintro {
  position: fixed; inset: 0; z-index: 9999; overflow: hidden; cursor: pointer;
  background: radial-gradient(ellipse at 50% 40%, rgba(255,190,110,.24), transparent 55%),
    linear-gradient(180deg, rgba(26,36,72,.66) 0%, rgba(58,26,64,.52) 45%, rgba(200,80,40,.34) 80%, rgba(20,18,24,.64) 100%);
  animation: inTint .6s ease-out both;
}
@keyframes inTint { from { opacity: 0; } }
.ovintro.out { animation: inFade .8s ease-in forwards; }
@keyframes inFade { to { opacity: 0; } }
.in-sun { position: absolute; left: 50%; top: 40%; width: min(78vw, 620px); height: auto; opacity: 0; transform: translate(-50%, -50%) scale(.6); }
.go .in-sun { animation: inSun 1.4s cubic-bezier(.2,.8,.3,1) .2s forwards; }
@keyframes inSun { to { opacity: .92; transform: translate(-50%, -50%) scale(1); } }
.in-ink { position: absolute; left: 0; top: 46%; width: 100%; height: 26vh; clip-path: inset(0 100% 0 0); }
.go .in-ink { animation: inWipe .9s cubic-bezier(.7,0,.3,1) .5s forwards; }
@keyframes inWipe { to { clip-path: inset(0 0 0 0); } }
.in-kumo { position: absolute; width: min(30vw, 240px); height: auto; opacity: 0; }
.in-kumo.k1 { left: 4%; top: 18%; } .in-kumo.k2 { right: 5%; top: 58%; transform: scaleX(-1); }
.go .in-kumo { animation: inKumo 1.2s ease-out 1.1s forwards; }
.go .in-kumo.k2 { animation-delay: 1.3s; }
@keyframes inKumo { from { opacity: 0; translate: -30px 0; } to { opacity: .85; translate: 0 0; } }

/* ฝูงนก: จ่าฝูงหน้า-กลาง · ลูกฝูงซ้าย/ขวาถอยหลังสูงกว่า (ตัววี) */
.in-flock { position: absolute; inset: 0; }
.in-b { position: absolute; left: 50%; top: 43%; width: min(94vw, 760px); transform: translate(-50%, -50%); opacity: 0; will-change: transform; }
.in-b img { display: block; width: 100%; height: auto; filter: drop-shadow(0 16px 16px rgba(10,9,12,.5)); }
.in-b.b2, .in-b.b3 { width: min(44vw, 440px); top: 35%; }
.in-b.b2 { left: 19%; } .in-b.b3 { left: 81%; }
.go .in-b { opacity: 1; }
.go .in-b.b1 { animation: inRise1 2.2s cubic-bezier(.12,.9,.25,1) both, inOut1 1.3s cubic-bezier(.6,0,.85,.35) 4.1s forwards; }
.go .in-b.b2 { animation: inRise2 2.2s cubic-bezier(.12,.9,.25,1) .25s both, inOut2 1.3s cubic-bezier(.6,0,.85,.35) 3.9s forwards; }
.go .in-b.b3 { animation: inRise3 2.2s cubic-bezier(.12,.9,.25,1) .45s both, inOut3 1.3s cubic-bezier(.6,0,.85,.35) 4s forwards; }
.go .in-b img { animation: inBank 2.8s ease-in-out 1.6s infinite alternate; }
.go .in-b.b2 img { animation-duration: 2.5s; animation-delay: 1.9s; }
.go .in-b.b3 img { animation-duration: 2.7s; animation-delay: 2.1s; animation-direction: alternate-reverse; }
@keyframes inRise1 { 0% { transform: translate(-50%, -50%) translate(-10vw, 80vh) scale(.5) rotate(-14deg); } 60% { transform: translate(-50%, -50%) translate(1vw, -4vh) scale(1.04) rotate(3deg); } 100% { transform: translate(-50%, -50%); } }
@keyframes inRise2 { 0% { transform: translate(-50%, -50%) translate(-60vw, 55vh) scale(.4) rotate(-22deg); } 100% { transform: translate(-50%, -50%); } }
@keyframes inRise3 { 0% { transform: translate(-50%, -50%) translate(60vw, 55vh) scale(.4) rotate(22deg); } 100% { transform: translate(-50%, -50%); } }
@keyframes inOut1 { to { transform: translate(-50%, -50%) translate(6vw, -160vh) scale(1.45) rotate(8deg); } }
@keyframes inOut2 { to { transform: translate(-50%, -50%) translate(-28vw, -135vh) scale(1.2) rotate(-12deg); } }
@keyframes inOut3 { to { transform: translate(-50%, -50%) translate(28vw, -135vh) scale(1.2) rotate(12deg); } }
@keyframes inBank { from { transform: translateY(-5px) rotate(-2deg); } to { transform: translateY(7px) rotate(2deg); } }

/* ป้ายชื่อ: ตัวขาวขอบหมึกบาง บนปื้นพู่กันชาด + ตราประทับ 高 */
.in-title { position: absolute; left: 0; right: 0; bottom: 9vh; z-index: 3; text-align: center; line-height: 1; opacity: 0; }
.go .in-title { opacity: 1; animation: inTitleOut .9s ease-in 4.3s forwards; }
@keyframes inTitleOut { to { opacity: 0; transform: translateY(24px); } }
/* กรอบป้ายชื่อ: เว้นขอบซ้ายขวาให้ป้าย 鳳凰 / ตรา 高 อยู่ในจอเสมอ (มือถือ 320px ขึ้นไป · คอมจอใหญ่) */
.in-title { padding: 0 12px; }
.in-row { position: relative; display: inline-block; padding: 0 .72em 0 .78em; max-width: 100%; font-size: clamp(38px, 11.2vw, 124px); }
.in-swash { position: absolute; left: -2%; top: 8%; width: 104%; height: 92%; z-index: -1; clip-path: inset(0 100% 0 0); }
.go .in-swash { animation: inWipe .45s cubic-bezier(.7,0,.3,1) 1.75s forwards; }
/* ตัวอักษร 4 ชั้น: หมึกขอบหนา + นูน 3D ไล่แดงเข้ม→ดำ (ตัวจริง) · เนื้อไล่ 5 สี + จุดสกรีนโทน + แสงวาบ (::before) · เส้นทองด้านใน (::after) */
.in-kw {
  position: relative; display: inline-block; font: 800 1em/1.15 'Kanit', sans-serif; color: #2a0e0a; letter-spacing: 1px; white-space: nowrap;
  -webkit-text-stroke: .055em #141218; paint-order: stroke fill;
  text-shadow: .012em .012em 0 #9c1f1a, .024em .024em 0 #8a1a14, .036em .036em 0 #6a120e, .048em .048em 0 #4a0c0a, .06em .06em 0 #141218, .08em .11em .12em rgba(0,0,0,.55);
  clip-path: inset(-30% 100% -40% -10%);
}
.in-kw::before, .in-kw::after { content: attr(data-t); position: absolute; left: 0; top: 0; text-shadow: none; pointer-events: none; }
.in-kw::before {
  color: transparent; -webkit-text-stroke: 0;
  background: linear-gradient(105deg, transparent 40%, rgba(255,255,255,.95) 50%, transparent 60%) -150% 0 / 45% 100% no-repeat,
    radial-gradient(circle, rgba(232,64,44,.3) .7px, transparent 1.1px) 0 0 / 5px 5px,
    linear-gradient(180deg, #ffffff 0%, #fff6e0 36%, #ffe0a8 54%, #ffb46a 76%, #ff7a3a 100%);
  -webkit-background-clip: text; background-clip: text;
}
.in-kw::after { color: transparent; -webkit-text-stroke: .012em #ffd36a; opacity: .95; }
.go .in-kw { animation: inWipeKw .55s cubic-bezier(.7,0,.3,1) 1.95s forwards; }
.go .in-kw::before { animation: inShineKw 1.4s ease-in-out 2.7s both; }
@keyframes inWipeKw { to { clip-path: inset(-30% -10% -40% -10%); } }
@keyframes inShineKw { from { background-position: -150% 0, 0 0, 0 0; } to { background-position: 250% 0, 0 0, 0 0; } }
/* ประกายดาวตามมุมอักษร */
.in-row .gl { position: absolute; z-index: 2; width: .26em; height: .26em; background: #fffbe6; opacity: 0; pointer-events: none;
  clip-path: polygon(50% 0, 58% 42%, 100% 50%, 58% 58%, 50% 100%, 42% 58%, 0 50%, 42% 42%); filter: drop-shadow(0 0 4px #ffd36a); }
.go .in-row .gl { animation: inGlint 1.8s ease-in-out infinite; }
@keyframes inGlint { 0%, 100% { opacity: 0; transform: scale(.2) rotate(0); } 45% { opacity: 1; transform: scale(1) rotate(45deg); } 60% { opacity: .8; } }
.in-seal {
  position: absolute; right: 0; top: -.12em; display: grid; place-items: center; width: 1.25em; height: 1.25em;
  font: 700 .42em/1 'Noto Serif JP', 'Yu Mincho', 'MS Mincho', serif; color: #fffaf0;
  background: radial-gradient(circle at 35% 30%, #ff6a3a, #c8302a 60%, #8a1a14); border: 3px double #fffaf0; border-radius: 6px; box-shadow: 0 0 0 2px #c8302a, 2px 3px 0 3px rgba(20,18,24,.6), 0 0 18px rgba(255,120,60,.6);
  transform: rotate(8deg); opacity: 0;
}
.go .in-seal { animation: inStamp .35s cubic-bezier(.3,1.6,.5,1) 2.5s forwards; }
@keyframes inStamp { from { opacity: 0; transform: rotate(8deg) scale(2.6); } to { opacity: 1; transform: rotate(8deg) scale(1); } }
.in-sub {
  margin: 12px auto 0; display: table; padding: 5px 18px; background: linear-gradient(90deg, rgba(20,18,24,.9), rgba(26,36,72,.88)); color: #f4ecdc;
  font: 600 clamp(13px, 3.4vw, 19px) 'Sarabun', sans-serif; border-left: 4px solid #d8382a;
}
.in-sub span { color: #d9ae4c; font-weight: 700; margin-right: 6px; }
.go .in-sub { animation: inUp .6s ease-out 2.6s both; }
@keyframes inUp { from { transform: translateY(14px); opacity: 0; } }
.in-flash { position: absolute; inset: 0; z-index: 4; background: #fffaf0; opacity: 0; pointer-events: none; }
.go .in-flash { animation: inFlash .5s ease-out 1.7s; }
@keyframes inFlash { 15% { opacity: .5; } }
/* ขนร่วง ขาว/ดำ ทรงใบดาบ */
.in-fx i {
  position: absolute; top: -40px; z-index: 2; width: 7px; height: 30px; opacity: 0; border-radius: 50% 50% 50% 50% / 90% 90% 10% 10%;
  background: linear-gradient(90deg, #f4ecdc 50%, #cbbfae 50%); border: 1px solid #141218;
}
.in-fx i.c1 { background: linear-gradient(180deg, #2a2731, #16141a 60%, #e0b24a); }
.in-fx i.c2 { background: linear-gradient(180deg, #34488a, #1a2448 60%, #39d0c0); }
.in-fx i.c0 { background: linear-gradient(180deg, #fffaf0, #f4ecdc 55%, #e8402c); }
.go .in-fx i { animation: inFall 3.6s linear infinite; }
@keyframes inFall { 0% { opacity: 1; } 50% { transform: translate(-40px, 55vh) rotate(200deg); } to { opacity: 1; transform: translate(30px, 110vh) rotate(420deg); } }
.in-skip {
  position: absolute; right: 14px; top: 14px; z-index: 5; min-height: 40px; padding: 0 16px; border-radius: 20px; cursor: pointer;
  font: 600 15px 'Sarabun', sans-serif; color: #f4ecdc; background: rgba(20,18,24,.6); border: 1px solid rgba(244,236,220,.5);
}
/* มือถือแนวตั้ง: ฝูงอยู่ครึ่งบน ป้ายชื่อครึ่งล่าง */
@media (max-aspect-ratio: 4/5) {
  .in-b { top: 45%; width: 104vw; }
  .in-b.b2, .in-b.b3 { width: 56vw; top: 23%; }
  .in-b.b2 { left: 24%; } .in-b.b3 { left: 76%; }
  .in-sun { top: 38%; width: 86vw; }
  .in-ink { top: 50%; height: 18vh; }
  .in-title { bottom: 10vh; }
  .in-sub { font-size: clamp(12px, 3.3vw, 16px); padding: 5px 12px; }
}

/* ---------- อินโทร: เงา · แสง · ลายจีน-ญี่ปุ่นเพิ่ม (v7) ---------- */
/* แสงขอบรอบตัวนก + รัศมีสีประจำตัว + เงาทอดลงพื้น */
.in-b.b1 img { filter: drop-shadow(0 0 1.5px #fff6d0) drop-shadow(0 0 18px rgba(255,176,74,.75)) drop-shadow(14px 28px 16px rgba(10,6,20,.5)); }
.in-b.b2 img { filter: drop-shadow(0 0 1.2px #e8dcff) drop-shadow(0 0 14px rgba(154,106,255,.7)) drop-shadow(10px 22px 12px rgba(10,6,20,.5)); }
.in-b.b3 img { filter: drop-shadow(0 0 1.2px #d8fff8) drop-shadow(0 0 14px rgba(57,208,192,.7)) drop-shadow(10px 22px 12px rgba(10,6,20,.5)); }
/* แสงวาบกวาดผ่านฝูง */
.in-flock::after {
  content: ''; position: absolute; inset: -20% -60%; pointer-events: none; mix-blend-mode: screen; opacity: 0;
  background: linear-gradient(115deg, transparent 42%, rgba(255,240,200,.55) 49%, rgba(255,200,120,.25) 52%, transparent 58%);
}
.go .in-flock::after { animation: inSweep 1.6s ease-in-out 2.4s; }
@keyframes inSweep { 0% { opacity: 1; transform: translateX(-40%); } 100% { opacity: 1; transform: translateX(40%); } }
/* แสงลำ (god rays) หลังจ่าฝูง */
.in-rays {
  position: absolute; inset: -30%; opacity: 0; mix-blend-mode: screen;
  background: repeating-conic-gradient(from 0deg at 50% 44%, rgba(255,214,120,.2) 0 1.6deg, transparent 1.6deg 7deg, rgba(255,140,90,.12) 7deg 8.2deg, transparent 8.2deg 13deg);
  -webkit-mask: radial-gradient(circle at 50% 44%, #000 6%, transparent 46%); mask: radial-gradient(circle at 50% 44%, #000 6%, transparent 46%);
}
.go .in-rays { animation: inRays 1.4s ease-out .9s forwards, inSpin 24s linear infinite; }
@keyframes inRays { to { opacity: 1; } }
@keyframes inSpin { to { transform: rotate(360deg); } }
/* เมฆมงคลจีนหลากสี ลอยเข้า-โคลง */
.in-yun { position: absolute; width: min(34vw, 300px); height: auto; opacity: 0; filter: drop-shadow(0 6px 8px rgba(10,6,20,.45)); }
.in-yun.y1 { left: 3%; top: 50%; } .in-yun.y2 { right: 2%; top: 54%; }
.in-yun.y3 { left: 28%; top: 70%; width: min(24vw, 200px); } .in-yun.y4 { right: 26%; top: 8%; width: min(22vw, 190px); }
.go .in-yun { animation: inYun 1.4s cubic-bezier(.2,.8,.3,1) .9s forwards, inBob 3.4s ease-in-out 2.3s infinite alternate; }
.go .in-yun.y2 { animation-delay: 1.1s, 2.5s; } .go .in-yun.y3 { animation-delay: 1.3s, 2.7s; } .go .in-yun.y4 { animation-delay: 1.5s, 2.9s; }
@keyframes inYun { from { opacity: 0; translate: -40px 20px; } to { opacity: .95; translate: 0 0; } }
@keyframes inBob { to { transform: translateY(-8px); } }
/* คลื่นเซไกฮะแถบล่าง */
.in-wave { position: absolute; left: 0; bottom: 0; width: 100%; height: 8vh; opacity: 0; clip-path: inset(100% 0 0 0);
  -webkit-mask: linear-gradient(transparent, #000 45%); mask: linear-gradient(transparent, #000 45%); }
.go .in-wave { animation: inWave 1s cubic-bezier(.2,.8,.3,1) .4s forwards; }
@keyframes inWave { to { opacity: .75; clip-path: inset(0 0 0 0); } }
/* ประกายไฟลอยขึ้น + วงแสงโบเก้ */
.in-fx b.em { position: absolute; bottom: -20px; z-index: 2; width: 6px; height: 6px; border-radius: 50%; opacity: 0;
  background: #fff6d0; box-shadow: 0 0 6px 2px var(--c), 0 0 16px 4px var(--c); }
.go .in-fx b.em { animation: inEmber 3.2s ease-out infinite; }
@keyframes inEmber { 0% { opacity: 0; transform: translate(0, 0) scale(.6); } 15% { opacity: 1; } 100% { opacity: 0; transform: translate(40px, -90vh) scale(1.2); } }
.in-fx u { position: absolute; z-index: 1; border-radius: 50%; opacity: 0; text-decoration: none;
  background: radial-gradient(circle, var(--c) 0 30%, transparent 70%); filter: blur(3px); mix-blend-mode: screen; }
.go .in-fx u { animation: inBokeh 3s ease-in-out 1s infinite alternate; }
@keyframes inBokeh { from { opacity: .15; transform: scale(.8); } to { opacity: .55; transform: scale(1.15); } }
/* ป้ายชื่อ: แท็กตั้ง 鳳凰 สีทอง + เส้นคั่นก้นหอยเหลี่ยม */
.in-tag {
  position: absolute; left: 0; top: .1em; padding: .12em .1em; border: 1.5px solid #e0b24a; border-radius: 3px;
  font: 700 max(12px, .22em)/1.15 'Noto Serif SC', 'Noto Serif JP', 'SimSun', 'Yu Mincho', serif; color: #fff3b0;
  background: linear-gradient(180deg, #8a1a14, #c8302a 50%, #8a1a14); box-shadow: 0 0 12px rgba(255,120,60,.5); opacity: 0;
}
.go .in-tag { opacity: 1; animation: inUp .5s ease-out 2.3s both; }
.in-fret { display: block; width: min(70vw, 560px); height: 10px; margin: 8px auto 0; opacity: 0; }
.go .in-fret { animation: inWipe .7s ease-out 2.4s forwards; clip-path: inset(0 100% 0 0); opacity: 1; }
@media (max-aspect-ratio: 4/5) {
  .in-yun.y1 { top: 40%; left: -4%; } .in-yun.y2 { top: 44%; right: -4%; }
  .in-yun.y3 { top: 62%; width: 30vw; } .in-yun.y4 { top: 4%; width: 28vw; }
}
.in-title { bottom: 11vh; }
@media (max-aspect-ratio: 4/5) { .in-title { bottom: 10vh; } }

/* ---------- อินโทร v9: ตัวอักษรไฟนีออนเฟล็กซ์ "ทีเด็ดบอลสูง" ลอยเป็นคำ (ไม่มีแผ่นป้าย) แขวนใต้ราวทอง + โซ่จากกรงเล็บจ่าฝูง ---------- */
.in-b.b1 { --bw: min(94vw, 66vh, 740px); width: var(--bw); }
.go .in-b.b1 img { animation: none; }
.in-bw { position: relative; }
.go .in-bw { animation: inBank 2.8s ease-in-out 1.6s infinite alternate; }
/* คำแขวนใต้กรงเล็บ (0.745 ของความกว้างนก) + โซ่ · ขนาดตัวอักษรผูกกับขนาดนก · แกว่งเบาๆ */
.in-sign {
  position: absolute; left: 50%; top: calc(var(--bw) * .84); font-size: calc(var(--bw) * .2);
  transform: translateX(-50%); transform-origin: 50% calc(var(--bw) * -.1); white-space: nowrap;
}
.go .in-sign { animation: inSwing 2.4s ease-in-out 1.2s infinite alternate; }
@keyframes inSwing { from { transform: translateX(-50%) rotate(-1.8deg); } to { transform: translateX(-50%) rotate(1.8deg); } }
.in-chain { position: absolute; left: 4%; width: 92%; bottom: calc(100% - .12em); height: calc(var(--bw) * .1); overflow: visible; }
.in-rod { position: absolute; left: 4%; right: 4%; top: .1em; height: .035em; border-radius: .02em;
  background: linear-gradient(180deg, #fff1b0, #e0b24a 50%, #7a5212); box-shadow: 0 .02em .04em rgba(0,0,0,.6); }
/* ฮาโลมืดหลังคำ ให้ไฟอ่านชัดบนพื้นหลังที่มีลาย */
.in-sign::before { content: ''; position: absolute; inset: 8% -8% -4%; z-index: -1; border-radius: 50%;
  background: radial-gradient(ellipse, rgba(10,8,16,.72), rgba(10,8,16,.4) 55%, transparent 72%); }
.neon-word { position: relative; display: flex; align-items: baseline; justify-content: center; padding-top: .1em; font: 600 1em/1.2 'Kanit', sans-serif; }
.nl { display: inline-block; opacity: .08; color: #3a2a2a; }
/* หลอดไฟ: แกนขาว + เรือง 5 ชั้น + เงาหลอดตกด้านหลัง */
.go .nl.a { animation: nlOn .7s steps(1) calc(1.55s + var(--i) * .11s) forwards, nlHum 2.6s ease-in-out 3.2s infinite; }
.go .nl.b { animation: nlOnB .7s steps(1) calc(1.75s + var(--i) * .11s) forwards, nlHum 2.2s ease-in-out 3.3s infinite; }
@keyframes nlOn {
  0%, 30% { opacity: 1; color: #fff4dc; text-shadow: 0 0 .02em #fff, 0 0 .06em #ffe08a, 0 0 .14em #ffb02e, 0 0 .3em #ff8a1a, 0 0 .55em #ff6a1a, .02em .06em .04em rgba(0,0,0,.7); }
  15% { opacity: .25; color: #6a4a3a; text-shadow: none; }
  45% { opacity: .35; color: #6a4a3a; text-shadow: none; }
  60%, 100% { opacity: 1; color: #fff4dc; text-shadow: 0 0 .02em #fff, 0 0 .06em #ffe08a, 0 0 .14em #ffb02e, 0 0 .3em #ff8a1a, 0 0 .55em #ff6a1a, .02em .06em .04em rgba(0,0,0,.7); }
}
@keyframes nlOnB {
  0%, 30% { opacity: 1; color: #ffe8f2; text-shadow: 0 0 .02em #fff, 0 0 .06em #ff9ac8, 0 0 .14em #ff3a8a, 0 0 .3em #ff1a5a, 0 0 .55em #e8103a, .02em .06em .04em rgba(0,0,0,.7); }
  15% { opacity: .25; color: #6a3a4a; text-shadow: none; }
  45% { opacity: .35; color: #6a3a4a; text-shadow: none; }
  60%, 100% { opacity: 1; color: #ffe8f2; text-shadow: 0 0 .02em #fff, 0 0 .06em #ff9ac8, 0 0 .14em #ff3a8a, 0 0 .3em #ff1a5a, 0 0 .55em #e8103a, .02em .06em .04em rgba(0,0,0,.7); }
}
@keyframes nlHum { 50% { filter: brightness(1.15); } }
.neon-com {
  margin-left: .08em; font: 600 .26em/1 'Kanit', sans-serif; color: #e8fffc; opacity: 0;
  text-shadow: 0 0 .05em #fff, 0 0 .2em #39d0c0, 0 0 .5em #39d0c0, 0 0 .9em #1a9a8a;
}
.go .neon-com { animation: neonOn .8s steps(1) 2.9s forwards; }
@keyframes neonOn { 0% { opacity: .15; } 12% { opacity: 1; } 22% { opacity: .2; } 40%, 100% { opacity: 1; } }
.neon-seal {
  position: absolute; z-index: 2; right: -.18em; top: .02em; display: grid; place-items: center; width: 1.45em; height: 1.45em;
  font: 700 .19em/1 'Noto Serif JP', 'Yu Mincho', 'MS Mincho', serif; color: #fffaf0; transform: rotate(9deg); opacity: 0;
  background: radial-gradient(circle at 35% 30%, #ff6a3a, #c8302a 60%, #8a1a14); border: .12em double #fffaf0; border-radius: .16em;
  box-shadow: 0 0 0 .08em #c8302a, .1em .14em 0 .1em rgba(20,18,24,.6), 0 0 .6em rgba(255,120,60,.6);
}
.go .neon-seal { animation: inStamp2 .35s cubic-bezier(.3,1.6,.5,1) 3s forwards; }
@keyframes inStamp2 { from { opacity: 0; transform: rotate(9deg) scale(2.6); } to { opacity: 1; transform: rotate(9deg) scale(1); } }
.in-title .in-fret { margin-top: 0; }
@media (max-aspect-ratio: 4/5) {
  .in-b.b1 { --bw: 100vw; top: 38%; }
  .in-sign { font-size: calc(var(--bw) * .155); }
}
.in-yun.y3 { left: 3%; top: 76%; }
@media (max-aspect-ratio: 4/5) { .in-yun.y3 { left: -6%; top: 74%; } }
