/* TechBites giveaway page (new UI, "A · Poster"). Scoped under .tbgw; the entry steps, ticket and winner panels inside
   #giveaway-action-area / #user-win-reveal keep their own markup from giveaway.html. */
.tbgw { --s1:#151518; --s2:#1A1A1E; --line:rgba(255,255,255,.08); --line2:rgba(255,255,255,.14); --brand:#F39125; --green:#19E68C; --gold:#FFC857; --pink:#F472B6;
  --tx:#F4F4F5; --tx2:#B4B4BD; --tx3:#85858F; --spring:cubic-bezier(.34,1.56,.64,1);
  font-family:Cairo, sans-serif; color:var(--tx); text-align:right; }
.tbgw h1, .tbgw h2, .tbgw h3, .tbgw p { margin:0; }
.tbgw .ico { width:1em; height:1em; flex:none; }
.tbgw .num { font-family:'JetBrains Mono', monospace; font-weight:800; direction:ltr; unicode-bidi:isolate; white-space:nowrap; font-variant-numeric:tabular-nums; }
.tbgw-kicker { font:800 12px Outfit, sans-serif; letter-spacing:.18em; color:var(--gold); text-transform:uppercase; }
.tbgw-chip { display:inline-flex; align-items:center; gap:6px; font-size:12.5px; font-weight:800; padding:4px 11px; border-radius:99px; border:1px solid var(--line2); color:var(--tx2); background:rgba(11,11,13,.55); }
.tbgw-chip.live { color:var(--green); border-color:rgba(25,230,140,.4); background:rgba(25,230,140,.08); }
.tbgw-chip.live::before { content:""; width:7px; height:7px; border-radius:50%; background:currentColor; animation:tbgw-pulse 1.6s infinite; }
.tbgw-chip.end { color:var(--pink); border-color:rgba(244,114,182,.4); background:rgba(244,114,182,.08); }
@keyframes tbgw-pulse { 50% { opacity:.3; } }
.tbgw-btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:54px; padding:0 24px; border-radius:16px; border:0; cursor:pointer; font:900 16px Cairo, sans-serif; background:var(--gold); color:#1a1204; box-shadow:0 12px 30px rgba(255,200,87,.3); transition:transform .2s var(--spring), box-shadow .2s; text-decoration:none; }
.tbgw-btn:hover { transform:translateY(-2px); box-shadow:0 16px 38px rgba(255,200,87,.45); color:#1a1204; }
.tbgw-btn.ghost { background:rgba(255,255,255,.06); color:#fff; border:1px solid var(--line2); box-shadow:none; }
.tbgw-btn:focus-visible, .tbgw-soc a:focus-visible, .tbgw-faq summary:focus-visible { outline:2px solid #fff; outline-offset:3px; }

/* poster hero */
.tbgw-hero { position:relative; border-radius:32px; overflow:hidden; isolation:isolate; min-height:520px; display:grid; align-items:end; padding:36px; border:1px solid rgba(255,200,87,.25); background:#0e0e11; }
.tbgw-hero > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; transform:scale(1.04); animation:tbgw-kb 18s ease-in-out infinite alternate; }
.tbgw-hero > img.is-logo { object-fit:contain; padding:60px; opacity:.25; animation:none; }
@keyframes tbgw-kb { to { transform:scale(1.12) translate(-1.5%, -1%); } }
.tbgw-hero::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg, #0B0B0D 8%, rgba(11,11,13,.82) 42%, rgba(11,11,13,.25) 75%, rgba(11,11,13,.5)); }
.tbgw-hero-grid { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:28px; align-items:end; }
.tbgw-hero h1 { font-size:clamp(32px, 4.6vw, 58px); font-weight:900; line-height:1.3; margin:10px 0 6px; color:#fff; overflow-wrap:anywhere; }
.tbgw-hero h1 em { font-style:normal; color:var(--gold); text-shadow:0 0 40px rgba(255,200,87,.35); }
.tbgw-meta { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.tbgw-panel { padding:18px; border-radius:22px; background:rgba(15,15,18,.8); border:1px solid var(--line2); backdrop-filter:blur(10px); display:grid; gap:14px; }
.tbgw-row { display:flex; justify-content:space-between; align-items:center; color:var(--tx2); font-weight:700; font-size:14px; }
.tbgw-row .num { color:#fff; font-size:16px; }
.tbgw-panel .tbgw-btn { width:100%; }
.tbgw-cd { display:grid; grid-template-columns:repeat(4, 1fr); gap:8px; direction:ltr; }
.tbgw-cd div { text-align:center; padding:10px 4px; border-radius:14px; background:rgba(0,0,0,.35); border:1px solid var(--line2); }
.tbgw-cd b { display:block; font:800 clamp(24px, 3.2vw, 34px)/1.1 'JetBrains Mono', monospace; color:#fff; font-variant-numeric:tabular-nums; }
.tbgw-cd div:last-child b { color:var(--gold); }
.tbgw-cd span { font:700 11.5px Cairo, sans-serif; color:var(--tx3); }
.tbgw-cd b.tick { animation:tbgw-tick .35s var(--spring); } @keyframes tbgw-tick { from { transform:translateY(-6px); opacity:.4; } }

/* join + about */
.tbgw-join { margin-top:28px; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:22px; align-items:start; }
.tbgw-box { padding:20px; border-radius:22px; background:var(--s1); border:1px solid var(--line); }
.tbgw-box > h2 { font-size:20px; font-weight:900; margin-bottom:12px; color:#fff; }
.tbgw-desc { color:var(--tx2); font-weight:600; font-size:15px; line-height:1.9; white-space:pre-line; overflow-wrap:anywhere; }
.tbgw-facts { display:grid; gap:8px; margin-top:14px; }
.tbgw-facts div { display:flex; justify-content:space-between; gap:10px; padding:10px 12px; border-radius:12px; background:var(--s2); font-size:13.5px; font-weight:700; color:var(--tx2); }
.tbgw-facts b { color:#fff; text-align:left; }
.tbgw-soc { display:flex; gap:8px; flex-wrap:wrap; }
.tbgw-soc a { min-width:44px; height:44px; padding:0 12px; display:inline-flex; align-items:center; justify-content:center; gap:8px; border-radius:12px; background:rgba(255,255,255,.06); border:1px solid var(--line2); font-weight:800; font-size:13px; color:#fff; text-decoration:none; }
.tbgw-soc a:hover { background:rgba(255,255,255,.1); color:#fff; }
.tbgw-soc .yt { color:#ff4d4d; } .tbgw-soc .ig { color:#f472b6; } .tbgw-soc .tt { color:#67e8f9; } .tbgw-soc .dc { color:#8b93ff; }

/* sections */
.tbgw-sec { margin-top:48px; }
.tbgw-sec > h2 { font-size:clamp(24px, 3vw, 32px); font-weight:900; margin-top:4px; color:#fff; }
.tbgw-sec > h2 em { font-style:normal; color:var(--gold); }
.tbgw-wins { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:12px; margin-top:14px; }
.tbgw-win { padding:16px; border-radius:18px; background:var(--s1); border:1px solid var(--line); display:grid; gap:8px; align-content:start; }
.tbgw-who { display:flex; align-items:center; gap:10px; }
.tbgw-av { width:42px; height:42px; border-radius:50%; flex:none; display:grid; place-items:center; overflow:hidden; background:linear-gradient(135deg, var(--gold), var(--brand)); color:#1a1204; font-weight:900; }
.tbgw-av img { width:100%; height:100%; object-fit:cover; }
.tbgw-who b { display:block; font-size:15px; color:#fff; } .tbgw-who small { display:block; color:var(--tx3); font-size:12px; font-weight:700; }
.tbgw-stars { color:var(--gold); letter-spacing:2px; font-size:14px; } .tbgw-stars i { font-style:normal; color:#3a3a42; }
.tbgw-quote { color:var(--tx2); font-size:14px; font-weight:600; line-height:1.8; overflow-wrap:anywhere; }
.tbgw-noreview { color:var(--tx3); font-size:12.5px; font-weight:700; }
.tbgw-faq { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:14px; align-items:start; }
.tbgw-faq details { border-radius:16px; background:var(--s2); border:1px solid var(--line); }
.tbgw-faq summary { cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:12px; padding:15px 18px; font-weight:800; min-height:44px; color:#fff; }
.tbgw-faq summary::-webkit-details-marker { display:none; }
.tbgw-faq summary::after { content:"+"; font:800 20px 'JetBrains Mono', monospace; color:var(--gold); }
.tbgw-faq details[open] summary::after { content:"−"; }
.tbgw-faq p { padding:0 18px 15px; color:var(--tx2); font-weight:600; font-size:14px; line-height:1.8; }
.tbgw-empty { text-align:center; padding:60px 20px; border-radius:28px; border:1px dashed var(--line2); }
.tbgw-empty h1 { font-size:clamp(28px, 4vw, 40px); font-weight:900; color:#fff; margin-top:6px; }
.tbgw-empty p { color:var(--tx2); font-weight:700; margin-top:6px; }
.tbgw-empty .tbgw-soc { justify-content:center; margin-top:18px; }

@media (max-width:960px) {
  .tbgw-hero-grid, .tbgw-join { grid-template-columns:minmax(0,1fr); }
  .tbgw-hero { min-height:0; padding:22px; padding-top:180px; }
  .tbgw-wins, .tbgw-faq { grid-template-columns:minmax(0,1fr); }
}
@media (prefers-reduced-motion:reduce) { .tbgw-hero > img, .tbgw-chip.live::before, .tbgw-cd b.tick { animation:none; } .tbgw * { transition:none !important; } }

/* entry steps (#giveaway-action-area) */
.tbgw-steps { list-style:none; margin:0; padding:0; display:grid; gap:12px; counter-reset:gws; }
.tbgw-steps > li { position:relative; padding:14px 14px 14px 14px; padding-inline-start:58px; border-radius:16px; background:var(--s2); border:1px solid var(--line); display:grid; gap:10px; }
.tbgw-steps > li::before { counter-increment:gws; content:counter(gws); position:absolute; top:14px; inset-inline-start:14px; width:32px; height:32px; border-radius:10px; display:grid; place-items:center; font:800 14px 'JetBrains Mono', monospace; background:rgba(255,200,87,.12); color:var(--gold); border:1px solid rgba(255,200,87,.35); }
.tbgw-steps > li.ok::before { content:"✓"; background:rgba(25,230,140,.15); color:var(--green); border-color:rgba(25,230,140,.4); }
.tbgw-steps .hd b { display:block; font-size:15px; color:#fff; } .tbgw-steps .hd span { font-size:13px; color:var(--tx2); font-weight:600; }
.tbgw-follows { display:grid; gap:8px; }
.tbgw-follow { display:flex; align-items:center; gap:12px; min-height:52px; padding:8px 10px; border-radius:14px; background:rgba(0,0,0,.25); border:1px solid var(--line2); color:#fff; text-decoration:none; transition:border-color .2s, transform .2s var(--spring); }
.tbgw-follow:hover { transform:translateY(-1px); border-color:rgba(255,255,255,.28); color:#fff; }
.tbgw-follow .ic { width:38px; height:38px; flex:none; border-radius:10px; display:grid; place-items:center; font-size:18px; background:rgba(255,255,255,.06); }
.tbgw-follow .tx { flex:1; min-width:0; display:grid; } .tbgw-follow .tx b { font-size:14px; } .tbgw-follow .tx small { font-size:12px; color:var(--tx3); overflow:hidden; text-overflow:ellipsis; }
.tbgw-follow .go { flex:none; font-size:13px; font-weight:900; padding:6px 12px; border-radius:99px; background:#fff; color:#0b0b0d; }
.tbgw-follow.yt .ic { color:#ff4d4d; } .tbgw-follow.yt .go { background:#ff2b2b; color:#fff; }
.tbgw-follow.ig .ic { color:#f472b6; } .tbgw-follow.ig .go { background:linear-gradient(90deg, #833AB4, #FD1D1D, #F77737); color:#fff; }
.tbgw-follow.tt .ic { color:#67e8f9; } .tbgw-follow.st .ic { color:#66c0f4; } .tbgw-follow.st .go { background:#1b6fb3; color:#fff; }
.tbgw-fields { display:grid; grid-template-columns:repeat(auto-fit, minmax(200px, 1fr)); gap:10px; }
.tbgw-field { display:grid; gap:6px; font-size:13px; font-weight:800; color:var(--tx2); }
.tbgw-field em { font-style:normal; color:var(--gold); font-size:11.5px; margin-inline-start:4px; }
.tbgw-field small.filled { color:var(--green); font-size:11.5px; margin-inline-start:4px; }
.tbgw-field input, .tbgw-review textarea { width:100%; min-height:46px; padding:10px 12px; border-radius:12px; background:#0B0B0D; border:1px solid var(--line2); color:#fff; font:700 16px 'JetBrains Mono', Cairo, monospace; outline:none; }
.tbgw-field input:focus-visible, .tbgw-review textarea:focus-visible { border-color:var(--gold); box-shadow:0 0 0 3px rgba(255,200,87,.2); }
.tbgw-field-ok { display:flex; align-items:center; gap:8px; font-size:13.5px; font-weight:700; color:var(--tx2); } .tbgw-field-ok b { color:#fff; } .tbgw-field-ok i { color:#66c0f4; }
.tbgw-note { margin:12px 0 !important; font-size:13px; font-weight:700; color:var(--tx3); }

/* entered ticket / one-per-network note */
.tbgw-ticket { position:relative; padding:16px; border-radius:18px; background:linear-gradient(135deg, rgba(25,230,140,.08), rgba(255,255,255,.02)); border:1px solid rgba(25,230,140,.35); display:grid; gap:12px; }
.tbgw-ticket.warn { background:rgba(255,200,87,.06); border-color:rgba(255,200,87,.3); }
.tbgw-ticket .hd { display:flex; justify-content:space-between; align-items:center; gap:10px; } .tbgw-ticket .hd .num { color:var(--green); font-size:14px; }
.tbgw-handles { display:flex; flex-wrap:wrap; gap:8px; } .tbgw-handles span { display:inline-flex; align-items:center; gap:6px; padding:6px 10px; border-radius:10px; background:rgba(0,0,0,.25); font-size:12.5px; color:var(--tx2); }
.tbgw-share { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding-top:10px; border-top:1px solid var(--line); font-size:13px; font-weight:700; color:var(--tx3); }
.tbgw-share a, .tbgw-share button { display:inline-flex; align-items:center; gap:6px; min-height:40px; padding:0 12px; border-radius:10px; border:1px solid var(--line2); background:rgba(255,255,255,.05); color:#fff; font:800 13px Cairo, sans-serif; cursor:pointer; text-decoration:none; }
.tbgw-share a { color:#25D366; }

/* winner panel (#user-win-reveal) */
#user-win-reveal:not(.hidden) { margin-bottom:14px; }
.tbgw-win-panel { padding:18px; border-radius:20px; background:linear-gradient(135deg, rgba(255,200,87,.14), rgba(243,145,37,.06)); border:1px solid rgba(255,200,87,.45); display:grid; gap:12px; }
.tbgw-win-panel h3 { font-size:22px; font-weight:900; color:#fff; }
.tbgw-code { display:grid; gap:8px; justify-items:center; padding:14px; border-radius:16px; background:#09090C; border:2px dashed rgba(255,200,87,.6); text-align:center; }
.tbgw-code span { font-size:12.5px; font-weight:800; color:var(--tx3); } .tbgw-code b { font-size:clamp(18px, 3vw, 24px); color:var(--gold); letter-spacing:.12em; user-select:all; overflow-wrap:anywhere; }
.tbgw-review, .tbgw-myreview { padding:14px; border-radius:16px; background:rgba(0,0,0,.3); border:1px solid var(--line2); display:grid; gap:8px; }
.tbgw-review > b { font-size:15px; color:#fff; } .tbgw-review > span, .tbgw-myreview > span { font-size:12.5px; color:var(--tx3); font-weight:700; }
.tbgw-myreview p { color:var(--tx2); font-weight:600; }
.tbgw-rate { display:flex; gap:6px; direction:ltr; justify-content:flex-end; }
.tbgw-rate i { font-size:26px; color:#3a3a42; cursor:pointer; padding:4px; border-radius:8px; transition:color .15s, transform .15s var(--spring); }
.tbgw-rate i.selected { color:var(--gold); } .tbgw-rate i:hover { transform:scale(1.12); }
.tbgw-rate i:focus-visible { outline:2px solid #fff; }
.tbgw-review textarea { min-height:84px; font-family:Cairo, sans-serif; font-size:16px; resize:vertical; direction:rtl; }

/* mascot (assets/robot-spot.js): a solid stage card in the hero's corner */
.tbgw-bot { position:absolute; top:24px; inset-inline-end:28px; z-index:2; width:172px; height:172px; border-radius:30px; display:grid; place-items:center;
  background:linear-gradient(180deg,#1C1C21,#121215); border:1px solid rgba(255,200,87,.28); box-shadow:0 20px 50px rgba(0,0,0,.55); }
.tbgw-bot.tb-rspot::before, .tbgw-bot.tb-rspot::after { display:none; }
.tbgw-bot.tb-rspot { margin-inline:0; }
@media (max-width: 900px) { .tbgw-bot { width:116px; height:116px; top:14px; inset-inline-end:14px; border-radius:22px; } }
