/* Lottery presentation only. Shared point features and purchase logic stay unchanged. */
.tt-points.tt-lottery {
  --tt-accent:#dfff5e;
  --tt-ink:#f5f5f5;
  --tt-muted:#aaa;
  background:#202020;
  color:#f5f5f5;
  border-radius:20px;
  max-width:1120px;
  padding:40px 24px 72px;
  font-family:"Paperlogy","Noto Sans KR",sans-serif;
  line-height:1.5;
}
.tt-lottery .tt-heading { margin-bottom:28px; }
.tt-lottery .tt-heading h1 { font-size:36px; line-height:1.2; font-weight:800; margin-bottom:12px; }
.tt-lottery .tt-heading p { color:#a0a0a0; font-size:16px; font-weight:600; }
.tt-lottery .tt-eyebrow { color:#dfff5e; }
.tt-lottery .tt-card {
  background:#181818;
  color:#f5f8ff;
  border:1px solid #383838;
  border-radius:20px;
  padding:28px;
  margin-bottom:28px;
  box-shadow:none;
  min-width:0;
}
.tt-lottery h2 { font-family:inherit; color:#dfff5e; font-size:22px; font-weight:800; line-height:1.3; letter-spacing:-.7px; }
.tt-lottery .tt-stats { padding:0; margin-bottom:28px; background:none; border-radius:0; gap:12px; }
.tt-lottery .tt-stats > div { padding:22px; border:1px solid #383838; border-radius:14px; background:#181818; color:#dfff5e; }
.tt-lottery .tt-stats > div:first-child { background:#181818; color:#dfff5e; border-color:#f5f5f5; }
.tt-lottery .tt-stats span { font-size:14px; color:#fff; font-weight:600; }
.tt-lottery .tt-stat-title { display:flex; align-items:center; gap:8px; }
.tt-lottery .tt-stat-icon { width:22px; height:22px; flex:none; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.tt-lottery .tt-stats > div:first-child > .tt-stat-title { color:#fff; }
.tt-lottery .tt-stats strong { margin-top:8px; font-size:30px; font-weight:800; overflow-wrap:anywhere; }
.tt-lottery .tt-stats small { color:inherit; font-size:14px; font-weight:600; }
.tt-lottery .tt-stats small span { color:inherit; }
.tt-lottery .tt-two-col { grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:20px; }
.tt-lottery .tt-section-heading { align-items:baseline; flex-wrap:wrap; gap:8px 14px; margin-bottom:20px; }
.tt-lottery .tt-section-heading > span { color:#aaa; font-size:13px; }
.tt-lottery .tt-lottery-steps { display:flex; align-items:center; padding:14px 10px; margin:0 0 18px; gap:6px; list-style:none; background:#282828; border:1px solid #404040; border-radius:10px; }
.tt-lottery .tt-lottery-steps li { flex:1; color:#f5f5f5; font-size:13px; font-weight:600; text-align:center; }
.tt-lottery .tt-lottery-steps span { display:inline; color:#dfff5e; font-size:12px; margin-right:5px; font-weight:800; }
.tt-lottery .tt-lottery-steps .tt-flow-divider { flex:0 0 20px; display:flex; justify-content:center; }
.tt-lottery .tt-flow-arrow { width:20px; height:20px; fill:none; stroke:#dfff5e; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.tt-lottery .tt-scratch-card { display:flex; flex-direction:column; }
.tt-lottery .tt-scratch-card .tt-ticket { flex:1; min-height:280px; aspect-ratio:auto; }
.tt-lottery .tt-scratch-card .tt-ticket-result { position:absolute; inset:0; }
.tt-lottery .tt-ticket { background:radial-gradient(circle at 90% 10%,#dfff5e12,transparent 55%),#242424; border-color:#aaa; }
.tt-lottery .tt-ticket::before,.tt-lottery .tt-ticket::after { background:#181818; }
.tt-lottery .tt-ticket-result strong { color:#f5f5f5; font-family:inherit; font-size:24px; line-height:1.3; }
.tt-lottery .tt-ticket-result p { color:#a0a0a0; font-size:14px; line-height:1.4; }
.tt-lottery .tt-ticket-star { color:#dfff5e; font-size:36px; }
.tt-lottery .tt-scratch-actions { flex-wrap:wrap; gap:10px; }
.tt-lottery .tt-button { font-family:inherit; flex:1; min-height:52px; font-size:16px; font-weight:700; border:1px solid #dfff5e; background:#dfff5e; color:#181818; }
.tt-lottery .tt-button:hover { background:#dfff5e; }
.tt-lottery .tt-button:disabled { background:#3d3d3d; border-color:#626262; color:#fff; opacity:1; box-shadow:inset 0 0 0 1px #fff4; }
.tt-lottery .tt-button-light { background:#dfff5e; border-color:#dfff5e; color:#001a3e; }
.tt-lottery .tt-button-light:hover { background:#d4f255; }
.tt-lottery .tt-button:focus-visible { outline-color:#dfff5e; }
.tt-lottery .tt-muted,.tt-lottery .tt-feedback { color:#aaa; font-size:13px; line-height:1.5; }
.tt-lottery .tt-feedback { padding:12px 14px; border:1px solid #404040; border-radius:8px; background:#282828; margin-top:14px; }
.tt-lottery .tt-feedback.tt-error { color:#ffb5bd; border-color:#d2707c; }
.tt-lottery #tt-next-purchase { display:none; }
.tt-lottery .tt-feedback:not(.tt-error) { position:absolute; width:1px; height:1px; padding:0; margin:-1px; border:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.tt-lottery .tt-rules { color:#f5f5f5; background:#282828; padding:20px 20px 10px 36px; border:1px solid #3b3b3b; border-radius:12px; font-size:14px; line-height:1.5; list-style:disc outside; margin-bottom:22px; }
.tt-lottery .tt-rules li { display:list-item; margin-bottom:12px; }
.tt-lottery .tt-rules b { color:#dfff5e; font-weight:700; }
.tt-lottery .tt-lottery-winners { margin-top:32px; }
.tt-lottery .tt-lottery-prizes .tt-table th:nth-child(5),.tt-lottery .tt-lottery-prizes .tt-table td:nth-child(5) { display:none; }
.tt-lottery .tt-qualification { background:#282828; border:1px solid #404040; padding:18px; }
.tt-lottery .tt-qualification > span { color:#aaa; font-size:13px; }
.tt-lottery .tt-qualification strong { color:#dfff5e; font-size:28px; line-height:1.3; }
.tt-lottery .tt-qualification p { font-size:13px; line-height:1.5; color:#f5f5f5; }
.tt-lottery .tt-qualification small { color:#aaa; font-size:12px; }
.tt-lottery .tt-table-scroll { border:1px solid #3b3b3b; border-radius:10px; background:#181818; }
.tt-lottery .tt-table-scroll:focus-visible { outline:3px solid #dfff5e; outline-offset:3px; }
.tt-lottery .tt-table-hint { display:none; }
.tt-lottery .tt-table { font-family:inherit; font-size:14px; color:#f5f5f5; margin:0; }
.tt-lottery .tt-table th,.tt-lottery .tt-table td { text-align:center; vertical-align:middle; padding:15px 12px; border-bottom:1px solid #3b3b3b; }
.tt-lottery .tt-table th { background:#262626; color:#f5f5f5; font-weight:700; font-size:14px; }
.tt-lottery .tt-table tbody tr:nth-child(even) { background:#202020; }
.tt-lottery .tt-rank-badge { background:#343b22; color:#dfff5e; }
.tt-lottery .tt-empty { color:#aaa; }
.tt-lottery .tt-lottery-history { background:#262626; border-color:#444; color:#f5f5f5; }
.tt-lottery .tt-lottery-history h2 { color:#f5f5f5; margin-bottom:8px; }
.tt-lottery .tt-history-intro { margin:0 0 20px; color:#a0a0a0; font-size:14px; }
.tt-lottery .tt-pager { gap:10px; font-size:14px; }
.tt-lottery .tt-pager a,.tt-lottery .tt-pager > span { display:inline-flex; align-items:center; justify-content:center; min-height:38px; padding:8px 14px; border:1px solid #444; border-radius:6px; color:#f5f5f5; background:#282828; }
.tt-lottery .tt-pager a:hover,.tt-lottery .tt-pager a:focus { color:#dfff5e; border-color:#dfff5e; }
.tt-lottery .tt-notice { line-height:1.5; }
@media(max-width:767px) {
  .tt-points.tt-lottery { padding:24px 12px 48px; }
  .tt-lottery .tt-heading h1 { font-size:28px; }
  .tt-lottery .tt-heading p { font-size:14px; }
  .tt-lottery .tt-heading { margin-bottom:22px; }
  .tt-lottery .tt-card { padding:22px 16px; border-radius:16px; margin-bottom:22px; }
  .tt-lottery .tt-stats { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-bottom:22px; }
  .tt-lottery .tt-stats > div { padding:14px 9px; border-radius:10px; }
  .tt-lottery .tt-stats > div:first-child { grid-column:1 / -1; display:flex; align-items:center; justify-content:space-between; padding:16px; gap:12px; }
  .tt-lottery .tt-stats > div:first-child strong { margin:0; }
  .tt-lottery .tt-stats > div:first-child small { display:inline; margin-left:6px; }
  .tt-lottery .tt-stats span { font-size:11px; }
  .tt-lottery .tt-stat-title { gap:5px; }
  .tt-lottery .tt-stat-icon { width:18px; height:18px; }
  .tt-lottery .tt-stats strong { font-size:20px; overflow-wrap:normal; }
  .tt-lottery .tt-stats small { display:block; margin:4px 0 0; font-size:12px; }
  .tt-lottery .tt-two-col { grid-template-columns:minmax(0,1fr); gap:0; }
  .tt-lottery .tt-scratch-card .tt-ticket { flex:none; min-height:0; aspect-ratio:1.8; }
  .tt-lottery .tt-lottery-steps { padding:13px 7px; gap:3px; }
  .tt-lottery .tt-lottery-steps li { font-size:11px; }
  .tt-lottery .tt-lottery-steps span { font-size:11px; margin-right:3px; }
  .tt-lottery .tt-lottery-steps .tt-flow-divider { flex-basis:14px; }
  .tt-lottery .tt-flow-arrow { width:14px; height:18px; }
  .tt-lottery .tt-rules { padding:18px 16px 8px 32px; }
  .tt-lottery .tt-lottery-winners { margin-top:26px; }
  .tt-lottery h2 { font-size:20px; }
  .tt-lottery .tt-section-heading > span { font-size:12px; }
  .tt-lottery .tt-ticket-result strong { font-size:20px; }
  .tt-lottery .tt-ticket-result p { font-size:13px; }
  .tt-lottery .tt-ticket-star { font-size:28px; margin-bottom:4px; }
  .tt-lottery .tt-button { font-size:14px; padding:12px; }
  .tt-lottery .tt-table { font-size:13px; }
  .tt-lottery .tt-table th { font-size:13px; }
  .tt-lottery .tt-table th,.tt-lottery .tt-table td { padding:13px 10px; }
  .tt-lottery .tt-table { min-width:530px; }
  .tt-lottery .tt-lottery-prizes .tt-table { min-width:0; table-layout:fixed; font-size:12px; }
  .tt-lottery .tt-lottery-prizes .tt-table th { white-space:normal; font-size:12px; }
  .tt-lottery .tt-lottery-prizes .tt-table th,.tt-lottery .tt-lottery-prizes .tt-table td { padding:13px 5px; }
  .tt-lottery .tt-lottery-prizes .tt-table th:nth-child(1) { width:16%; }
  .tt-lottery .tt-lottery-prizes .tt-table th:nth-child(2) { width:31%; }
  .tt-lottery .tt-lottery-prizes .tt-table th:nth-child(3) { width:30%; }
  .tt-lottery .tt-lottery-prizes .tt-table th:nth-child(4) { width:23%; }
  .tt-lottery .tt-table-hint { display:block; margin:8px 0 0; font-size:12px; color:#aaa; text-align:right; }
  .tt-lottery .tt-lottery-history .tt-table-hint { color:#a0a0a0; }
  .tt-lottery .tt-lottery-prizes .tt-table-hint { display:none; }
}

/* Reference: restrained charcoal surfaces with a lime accent. */
.tt-lottery .tt-eyebrow { color:#dfff5e; }
.tt-lottery .tt-stats > div:first-child { border-color:#dfff5e; background:#191b15; }
.tt-lottery .tt-stat-icon { color:#dfff5e; }
.tt-lottery .tt-scratch-card { border-color:#dfff5e; }
.tt-lottery .tt-ticket-result strong { color:#fff; }
.tt-lottery .tt-ticket-star { color:#dfff5e; }
.tt-lottery .tt-button:hover { background:#d4f255; color:#181818; }
.tt-lottery .tt-button:disabled { background:#3d3d3d; border-color:#626262; color:#fff; box-shadow:none; }
.tt-lottery .tt-button-light { background:#fff; border-color:#fff; color:#181818; }
.tt-lottery .tt-button-light:hover { background:#e6e6e6; }
.tt-lottery .tt-rank-badge { color:#dfff5e; }
.tt-lottery .tt-lottery-history { background:#292d20; border-color:#535c36; }
.tt-lottery .tt-lottery-history h2 { color:#dfff5e; }
.tt-lottery .tt-lottery-history .tt-table th { background:#343b28; }

/* Illustrated scratch ticket, with functional canvas positioned over the silver panel. */
.tt-lottery .tt-heading h1 { font-family:"Paperlogy","Noto Sans KR",sans-serif!important; }
.tt-lottery .tt-two-col { grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); }
.tt-lottery .tt-scratch-card .tt-ticket { flex:none; min-height:0; aspect-ratio:2; background:#f87728 url('../img/lottery-ticket.svg?v=20261008-4') center / 100% 100% no-repeat; border-color:#e9aa60; border-radius:12px; }
.tt-lottery .tt-ticket::before,.tt-lottery .tt-ticket::after { display:none; }
.tt-lottery .tt-ticket-art-copy { position:absolute; left:5%; top:9%; width:43%; color:#24221f; }
.tt-lottery .tt-ticket-art-copy > span { font-size:11px; font-weight:800; letter-spacing:1px; color:#452211; }
.tt-lottery .tt-ticket-art-copy strong { display:block; font-size:clamp(22px,2.7vw,34px); line-height:1.13; font-weight:800; letter-spacing:-1px; margin-top:7px; text-shadow:1px 1px #ffe9a2; }
.tt-lottery .tt-ticket-art-copy small { display:block; margin-top:9px; font-size:11px; font-weight:700; letter-spacing:1px; }
.tt-lottery .tt-scratch-card .tt-ticket-result { inset:12.4% 4.1% 19.6% 53.9%; height:auto; padding:12px; }
.tt-lottery .tt-ticket-result strong { font-size:18px; color:#373630; }
.tt-lottery .tt-ticket-result p { font-size:12px; color:#55534b; margin-top:8px; }
.tt-lottery .tt-ticket-star { color:#4f4b36; font-size:26px; }
.tt-lottery #tt-scratch { inset:12.4% 4.1% 19.6% 53.9%; width:42%; height:68%; border-radius:14px; }
.tt-lottery .tt-rank-badge { background:none; padding:0; border-radius:0; color:#f5f5f5; }
.tt-lottery #tt-prizes tr:nth-child(1) .tt-rank-badge::before { content:'🥇'; }
.tt-lottery #tt-prizes tr:nth-child(2) .tt-rank-badge::before { content:'🥈'; }
.tt-lottery #tt-prizes tr:nth-child(3) .tt-rank-badge::before { content:'🥉'; }
.tt-lottery #tt-prizes .tt-rank-badge::before { margin-right:6px; font-size:18px; vertical-align:middle; }
.tt-lottery .tt-lottery-qualification .tt-qualification { display:grid; grid-template-columns:auto auto 1fr; align-items:center; gap:8px 24px; background:none; border:0; padding:0; }
.tt-lottery .tt-lottery-qualification .tt-qualification > span { color:#f5f5f5; font-size:16px; font-weight:600; }
.tt-lottery .tt-lottery-qualification .tt-qualification strong { margin:0; }
.tt-lottery .tt-lottery-qualification .tt-qualification p { margin:0; padding-left:24px; border-left:1px solid #404040; font-size:14px; }
.tt-lottery .tt-lottery-qualification .tt-qualification small { grid-column:1 / -1; }
@media(max-width:767px) {
 .tt-lottery .tt-lottery-qualification .tt-qualification { grid-template-columns:1fr auto; gap:12px; }
 .tt-lottery .tt-lottery-qualification .tt-qualification > span { font-size:14px; }
 .tt-lottery .tt-lottery-qualification .tt-qualification p { grid-column:1 / -1; padding:12px 0 0; border-left:0; border-top:1px solid #404040; font-size:13px; }
 .tt-lottery .tt-pc-break { display:none; }
 .tt-lottery .tt-two-col { grid-template-columns:minmax(0,1fr); }
 .tt-lottery .tt-ticket-art-copy > span { font-size:9px; letter-spacing:.4px; }
 .tt-lottery .tt-ticket-art-copy strong { font-size:20px; margin-top:4px; }
 .tt-lottery .tt-ticket-art-copy small { font-size:8px; margin-top:5px; }
 .tt-lottery .tt-ticket-result { gap:0; }
 .tt-lottery .tt-ticket-result strong { font-size:12px; }
 .tt-lottery .tt-ticket-result p { font-size:10px; margin-top:5px; }
 .tt-lottery .tt-ticket-star { font-size:18px; margin-bottom:3px; }
 .tt-lottery .tt-scratch-card .tt-ticket-result { padding:7px; }
 .tt-lottery #tt-prizes .tt-rank-badge::before { margin-right:2px; font-size:14px; }
}

/* Scratch guidance is visual only and never captures pointer input. */
.tt-lottery .tt-ticket-art-copy strong { font-size:clamp(19px,2.2vw,28px); }
.tt-lottery .tt-scratch-hand { width:44px; height:44px; flex-shrink:0; overflow:visible; animation:tt-hand-scratch 1.6s ease-in-out infinite; }
.tt-lottery .tt-scratch-motion { position:absolute; left:75%; top:46%; z-index:3; pointer-events:none; transform:translate(-50%,-50%); }
.tt-lottery .tt-scratch-motion[hidden] { display:none; }
@keyframes tt-hand-scratch { 0%,100% { transform:translateX(-9px) rotate(-12deg); } 35% { transform:translateX(9px) rotate(5deg); } 65% { transform:translateX(-6px) rotate(-8deg); } }
@media(max-width:767px) { .tt-lottery .tt-ticket-art-copy strong { font-size:18px; } .tt-lottery .tt-scratch-hand { width:30px; height:30px; } }
@media(prefers-reduced-motion:reduce) { .tt-lottery .tt-scratch-hand { animation:none; } }

@media(min-width:768px) {
 .tt-lottery .tt-lottery-qualification .tt-qualification { grid-template-columns:auto auto minmax(0,1fr); gap:8px 20px; }
 .tt-lottery .tt-lottery-qualification .tt-qualification p { white-space:nowrap; font-size:13px; padding-left:20px; }
}

@media(min-width:768px) and (max-width:1100px) { .tt-lottery .tt-lottery-qualification .tt-qualification p { grid-column:1 / -1; border-left:0; padding-left:0; } }

.tt-lottery .tt-stat-title { flex-wrap:wrap; }
.tt-lottery .tt-stats .tt-purchase-countdown { margin-left:auto; font-size:11px; color:#dfff5e; white-space:nowrap; }
.tt-lottery .tt-purchase-countdown[hidden] { display:none; }

.tt-lottery .tt-lottery-winners th:nth-child(2), .tt-lottery #tt-winners td:nth-child(2) { display:none; }
.tt-lottery .tt-winner-medal { font-size:24px; line-height:1.2; }

.tt-lottery .tt-ticket-art-copy .tt-ticket-brand { display:flex; align-items:center; gap:10px; letter-spacing:0; }
.tt-lottery .tt-ticket-brand img { width:82px; height:30px; object-fit:contain; }
.tt-lottery .tt-ticket-brand > span { font-size:11px; font-weight:800; white-space:nowrap; }
.tt-lottery .tt-ticket-brand b { margin-left:4px; }
@media(max-width:767px) { .tt-lottery .tt-ticket-art-copy .tt-ticket-brand { gap:5px; } .tt-lottery .tt-ticket-brand img { width:49px; height:20px; } .tt-lottery .tt-ticket-brand > span { font-size:8px; } .tt-lottery .tt-ticket-brand b { margin-left:1px; } }

.tt-lottery .tt-ticket-brand > .tt-ticket-round { color:#000; font-size:11px; font-weight:800; line-height:1.2; }
@media(max-width:767px) { .tt-lottery .tt-ticket-brand > .tt-ticket-round { font-size:8px; } }

.tt-lottery .tt-ticket-headline > span { display:block; }
.tt-lottery .tt-ticket-art-copy .tt-ticket-headline { font-size:clamp(16px,1.8vw,23px); line-height:1.2; }
@media(max-width:767px) { .tt-lottery .tt-ticket-art-copy .tt-ticket-headline { font-size:14px; letter-spacing:-.7px; } }

.tt-lottery .tt-ticket-art-copy .tt-ticket-headline { margin-top:14px; }
@media(max-width:767px) { .tt-lottery .tt-ticket-art-copy .tt-ticket-headline { margin-top:9px; } }

.tt-lottery .tt-ticket-result-intro { text-align:center; width:100%; line-height:1.35; }

.tt-lottery .tt-ticket-result-intro { position:relative; top:5px; }
.tt-lottery .tt-ticket-result-intro + p { position:relative; top:5px; margin-top:4px; }
@media(max-width:767px) { .tt-lottery .tt-ticket-result-intro { top:3px; } .tt-lottery .tt-ticket-result-intro + p { top:3px; margin-top:3px; } }


.tt-lottery .tt-ticket-celebration { display:inline-block; font-size:44px; line-height:1.1; animation:tt-ticket-celebrate 1.8s ease-in-out infinite; transform-origin:center bottom; }
.tt-lottery .tt-ticket-winning[aria-hidden="true"] .tt-ticket-celebration { animation:none; }
@keyframes tt-ticket-celebrate { 0%,100% { transform:rotate(-9deg) scale(1); } 25% { transform:rotate(10deg) scale(1.12); } 50% { transform:rotate(-5deg) scale(1.04); } 75% { transform:rotate(5deg) scale(1.1); } }
@media(min-width:768px) { .tt-lottery .tt-ticket-winning strong { font-size:32px; line-height:1.2; } }
@media(max-width:767px) { .tt-lottery .tt-ticket-celebration { font-size:26px; } }
@media(prefers-reduced-motion:reduce) { .tt-lottery .tt-ticket-celebration { animation:none; } }

@media(min-width:768px) {
 .tt-lottery .tt-two-col { grid-template-columns:minmax(0,1fr) minmax(0,1.3fr); align-items:stretch; }
 .tt-lottery .tt-lottery-guide { grid-column:1; grid-row:1; }
 .tt-lottery .tt-scratch-card { grid-column:2; grid-row:1; }
}

.tt-lottery .tt-lottery-guide .tt-lottery-qualification { margin-top:20px; }
.tt-lottery .tt-lottery-guide .tt-lottery-qualification .tt-qualification { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 14px; padding:18px; border:1px solid #3b3b3b; border-radius:12px; background:#282828; }
.tt-lottery .tt-lottery-guide .tt-lottery-qualification .tt-qualification > span { font-size:14px; }
.tt-lottery .tt-lottery-guide .tt-lottery-qualification strong { font-size:28px; color:#dfff5e; }

/* Two result tables share one card, with equal desktop columns. */
.tt-lottery #tt-prizes .tt-rank-badge::before, .tt-lottery .tt-winner-medal { font-size:20px; line-height:1.2; }
@media(min-width:992px) {
 .tt-lottery .tt-lottery-results { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; align-items:start; }
 .tt-lottery .tt-lottery-results > div { min-width:0; }
 .tt-lottery .tt-lottery-results .tt-lottery-winners { margin-top:0; }
 .tt-lottery .tt-lottery-results .tt-section-heading { min-height:38px; flex-wrap:wrap; gap:6px 12px; }
 .tt-lottery .tt-lottery-results .tt-table th, .tt-lottery .tt-lottery-results .tt-table td { padding:15px 8px; }
}

.tt-lottery .tt-winners-empty { min-height:300px; padding:42px 20px; border:1px solid #444; border-radius:12px; background:#202020; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.tt-lottery .tt-winners-empty svg { width:54px; height:54px; margin-bottom:20px; fill:none; stroke:#dfff5e; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.tt-lottery .tt-winners-empty strong { color:#f5f5f5; font-size:19px; font-weight:700; }
.tt-lottery .tt-winners-empty p { margin:12px 0 0; color:#aaa; font-size:14px; line-height:1.5; }
@media(max-width:767px) { .tt-lottery .tt-winners-empty { min-height:240px; } .tt-lottery .tt-winners-empty strong { font-size:17px; } .tt-lottery .tt-winners-empty p { font-size:13px; } }

@media(min-width:768px) {
 .tt-lottery .tt-ticket-art-copy .tt-ticket-headline { font-size:21px; }
 .tt-lottery .tt-scratch-card .tt-ticket { aspect-ratio:1.7; min-height:300px; }
}

/* Decorations keep their own aspect ratio instead of stretching with the ticket. */
.tt-lottery .tt-ticket-decoration { position:absolute; inset:0; pointer-events:none; }
.tt-lottery .tt-ticket-coins { position:absolute; width:35%; height:auto; left:9%; bottom:7%; }
.tt-lottery .tt-ticket-spark { position:absolute; width:7%; aspect-ratio:1; background:#fff2b2; clip-path:polygon(50% 0,63% 37%,100% 50%,63% 63%,50% 100%,37% 63%,0 50%,37% 37%); }
.tt-lottery .tt-ticket-spark-one { left:42%; top:20%; }
.tt-lottery .tt-ticket-spark-two { left:45%; bottom:8%; width:4%; }
.tt-lottery .tt-scratch-card .tt-ticket-result { background:linear-gradient(135deg,#dfded5 0%,#b7b6af 35%,#e0dfd8 65%,#a6a59e 100%); border:2px solid #f8edda; border-radius:14px; box-shadow:3px 4px 0 #c7481759; }

@media(max-width:767px) { .tt-lottery .tt-scratch-card .tt-ticket { aspect-ratio:1.6; } }

.tt-lottery .tt-stats { grid-template-columns:repeat(4,minmax(0,1fr)); }
.tt-lottery .tt-stats .tt-earned-period { display:block; color:#aaa; font-size:11px; margin-top:6px; }
.tt-lottery .tt-purchase-wait-box { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px 16px; margin-top:20px; padding:18px; background:#282828; border:1px solid #3b3b3b; border-radius:12px; }
.tt-lottery .tt-purchase-wait-box > span { color:#fff; font-size:14px; font-weight:600; }
.tt-lottery .tt-purchase-wait-box .tt-purchase-countdown { color:#dfff5e; font-size:23px; font-weight:800; font-variant-numeric:tabular-nums; }
@media(max-width:991px) { .tt-lottery .tt-stats { grid-template-columns:repeat(2,minmax(0,1fr)); } .tt-lottery .tt-stats > div:first-child { grid-column:auto; } }
@media(max-width:767px) { .tt-lottery .tt-stats > div:first-child { display:block; padding:14px 9px; } .tt-lottery .tt-stats > div:first-child strong { margin-top:8px; } .tt-lottery .tt-stats > div:first-child small { display:block; margin:4px 0 0; } .tt-lottery .tt-purchase-wait-box .tt-purchase-countdown { font-size:21px; } }

.tt-lottery .tt-stats .tt-stat-caption { display:block; color:#aaa; font-size:11px; line-height:1.4; margin-top:6px; }

/* Match the approved point-exchange / self-diagnosis visual theme. */
.tt-points.tt-lottery { --tt-accent:#fff23c; --tt-ink:#f5f8ff; --tt-muted:#b5cee6; background:radial-gradient(ellipse at 100% 0,#07478799,transparent 50%),linear-gradient(150deg,#001a3e,#07356a); color:#f5f8ff; border:1px solid #178ec9; border-radius:22px; }
.tt-lottery .tt-heading h1 { color:#fff23c; margin-bottom:6px; }
.tt-lottery .tt-heading p,.tt-lottery .tt-section-heading > span,.tt-lottery .tt-muted,.tt-lottery .tt-feedback,.tt-lottery .tt-history-intro,.tt-lottery .tt-table-hint,.tt-lottery .tt-lottery-history .tt-table-hint { color:#b5cee6; }
.tt-lottery .tt-eyebrow { color:#70daff; }
.tt-lottery .tt-card { background:#06274c; border-color:#35618d; }
.tt-lottery h2,.tt-lottery .tt-lottery-history h2 { color:#fff23c; }
.tt-lottery .tt-stats > div,.tt-lottery .tt-stats > div:first-child { background:#fff; border-color:#d5e1ed; color:#001a3e; }
.tt-lottery .tt-stats span,.tt-lottery .tt-stats > div:first-child > .tt-stat-title,.tt-lottery .tt-stat-icon { color:#001a3e; }
.tt-lottery .tt-stats .tt-earned-period,.tt-lottery .tt-stats .tt-stat-caption { color:#526a86; }
.tt-lottery .tt-lottery-steps { background:#0c3159; border-color:#35618d; }
.tt-lottery .tt-lottery-steps li { color:#f5f8ff; }
.tt-lottery .tt-lottery-steps span { color:#fff23c; }
.tt-lottery .tt-flow-arrow { stroke:#70daff; }
.tt-lottery .tt-scratch-card { border-color:#178ec9; }
.tt-lottery .tt-button { border-color:#42caff; background:linear-gradient(110deg,#038aff,#0753a7); color:#fff; box-shadow:0 0 18px #009eff20; }
.tt-lottery .tt-button:hover { background:linear-gradient(110deg,#219aff,#0861bc); color:#fff; }
.tt-lottery .tt-button:disabled { background:#153c66; border-color:#35618d; color:#9dbbd7; box-shadow:none; }
.tt-lottery .tt-button-light { background:#fff23c; border-color:#fff23c; color:#001a3e; }
.tt-lottery .tt-button-light:hover { background:#ffe346; color:#001a3e; }
.tt-lottery .tt-button:focus-visible { outline-color:#70daff; }
.tt-lottery .tt-rules { background:#fff; border-color:#d5e1ed; color:#001a3e; font-size:15px; }
.tt-lottery .tt-rules b { color:#0753a7; }
.tt-lottery .tt-purchase-wait-box { background:#fff; border-color:#d5e1ed; }
.tt-lottery .tt-purchase-wait-box > span,.tt-lottery .tt-purchase-wait-box .tt-purchase-countdown { color:#001a3e; }
.tt-lottery .tt-table-scroll { background:#f2f7fd; border-color:#cadceb; }
.tt-lottery .tt-table { background:#f2f7fd; color:#052b63; }
.tt-lottery .tt-table th,.tt-lottery .tt-lottery-history .tt-table th { background:#dcebf9; color:#052b63; }
.tt-lottery .tt-table th,.tt-lottery .tt-table td { border-bottom-color:#d5e1ed; }
.tt-lottery .tt-table tbody tr:nth-child(even) { background:#eaf2fb; }
.tt-lottery .tt-rank-badge { color:#052b63; }
.tt-lottery .tt-empty { color:#435a75; }
.tt-lottery .tt-lottery-history { background:#0c3159; border-color:#178ec9; }
.tt-lottery .tt-winners-empty { background:#f2f7fd; border-color:#cadceb; }
.tt-lottery .tt-winners-empty svg { stroke:#0753a7; }
.tt-lottery .tt-winners-empty strong { color:#052b63; }
.tt-lottery .tt-winners-empty p { color:#435a75; }
.tt-lottery .tt-pager a,.tt-lottery .tt-pager > span { color:#f5f8ff; background:#0c3159; border-color:#35618d; }
.tt-lottery .tt-pager a:hover,.tt-lottery .tt-pager a:focus { color:#fff23c; border-color:#70daff; }
.tt-lottery .tt-feedback.tt-error { background:#0c3159; color:#ffb5bd; }
@media(max-width:767px) { .tt-points.tt-lottery { border-radius:16px; } .tt-lottery .tt-rules { font-size:14px; } }

.tt-lottery .tt-table th,.tt-lottery .tt-lottery-history .tt-table th { background:#06274c; color:#fff; }

/* Consistent box borders across both point pages. */
.tt-points.tt-lottery,.tt-lottery .tt-card,.tt-lottery .tt-scratch-card,.tt-lottery .tt-lottery-history,.tt-lottery .tt-stats > div,.tt-lottery .tt-stats > div:first-child,.tt-lottery .tt-rules,.tt-lottery .tt-purchase-wait-box,.tt-lottery .tt-lottery-steps,.tt-lottery .tt-table-scroll,.tt-lottery .tt-winners-empty { border-color:#35618d; }

/* The animated hand sits above the scratch guidance, without covering the text. */
.tt-lottery .tt-scratch-motion { top:33.5%; }
.tt-lottery .tt-ticket-result-intro { color:#000; top:0; font-size:20px; font-weight:800; margin-top:12px; }
.tt-lottery .tt-ticket-result-intro + p { color:#000; top:0; margin-top:8px; font-size:12px; font-weight:600; }
@media(max-width:767px) { .tt-lottery .tt-ticket-result-intro { font-size:12px; margin-top:8px; } .tt-lottery .tt-ticket-result-intro + p { font-size:8px; margin-top:5px; } }

/* Compact, stronger typography inside lottery tables. */
.tt-lottery .tt-table { font-size:13px; font-weight:600; }
.tt-lottery .tt-table th { font-size:13px; font-weight:700; }
@media(max-width:767px) {
 .tt-lottery .tt-table,.tt-lottery .tt-table th { font-size:12px; }
 .tt-lottery .tt-lottery-prizes .tt-table,.tt-lottery .tt-lottery-prizes .tt-table th { font-size:11px; }
}

.tt-lottery .tt-rules { font-size:14px; }
@media(max-width:767px) { .tt-lottery .tt-rules { font-size:13px; } }

/* Slightly tighter table rows, retaining mobile horizontal scrolling. */
.tt-lottery .tt-table th,.tt-lottery .tt-table td,.tt-lottery .tt-lottery-results .tt-table th,.tt-lottery .tt-lottery-results .tt-table td { padding-top:12px; padding-bottom:12px; }
@media(max-width:767px) { .tt-lottery .tt-table th,.tt-lottery .tt-table td,.tt-lottery .tt-lottery-prizes .tt-table th,.tt-lottery .tt-lottery-prizes .tt-table td { padding-top:10px; padding-bottom:10px; } }

.tt-lottery .tt-table tbody tr:nth-child(odd) { background:#fff; }

.tt-lottery .tt-table,.tt-lottery .tt-table tbody tr:nth-child(odd),.tt-lottery .tt-table tbody tr:nth-child(even) { background:#fff; }





/* Align the guide panel with the flow and ticket area on desktop. */
.tt-lottery .tt-rules { line-height:1.4; }
.tt-lottery .tt-rules li { margin-bottom:8px; }
@media(min-width:768px) {
 .tt-lottery .tt-lottery-guide { display:flex; flex-direction:column; }
 .tt-lottery .tt-lottery-guide .tt-rules { flex:1; display:flex; flex-direction:column; justify-content:center; gap:8px; margin-bottom:0; padding-top:22px; padding-bottom:22px; }
 .tt-lottery .tt-lottery-guide .tt-rules li { margin-bottom:0; }
 .tt-lottery .tt-purchase-wait-box { min-height:52px; padding:6px 18px; }
}

.tt-lottery .tt-purchase-wait-box { height:52px; min-height:52px; padding:6px 18px; flex-wrap:nowrap; }
@media(max-width:767px) { .tt-lottery .tt-purchase-wait-box { padding:6px 12px; gap:8px; } .tt-lottery .tt-purchase-wait-box > span { font-size:12px; } .tt-lottery .tt-purchase-wait-box .tt-purchase-countdown { font-size:18px; } }

.tt-lottery .tt-purchase-wait-box .tt-purchase-countdown { font-size:16px; color:#f87728; }
@media(max-width:767px) { .tt-lottery .tt-purchase-wait-box .tt-purchase-countdown { font-size:14px; } }

/* Keep Korean words together; wrap exceptionally long strings if needed. */
.tt-lottery .tt-rules,.tt-lottery .tt-rules li { word-break:keep-all; overflow-wrap:break-word; white-space:normal; }

/* Restore the original stacked prize and live winner sections. */
.tt-lottery .tt-lottery-results { display:block; }
.tt-lottery .tt-lottery-results .tt-lottery-winners { margin-top:32px; }
@media(max-width:767px) { .tt-lottery .tt-lottery-results .tt-lottery-winners { margin-top:26px; } }
