.giveaway { min-height:100svh; background:radial-gradient(ellipse at 90% 10%, #252a1a 0, transparent 45%),var(--color-bg); }
.giveaway [hidden] { display:none!important; }
.giveaway-header,.giveaway-footer { max-width:1200px; margin:auto; padding:24px 28px; display:flex; justify-content:space-between; align-items:center; gap:20px; }
.giveaway-header>span,.eyebrow { font-family:var(--font-mono); font-size:12px; letter-spacing:.12em; color:var(--color-primary); }
.giveaway-main { max-width:780px; margin:40px auto 80px; padding:0 28px; min-height:65vh; }
.preview-note { padding:12px 16px; border:1px solid var(--color-border); border-radius:8px; color:var(--color-text-muted); font-size:13px; margin-bottom:30px; }
.giveaway-progress { display:flex; align-items:center; gap:20px; font-size:13px; color:var(--color-text-muted); margin-bottom:36px; }
.giveaway progress { flex:1; height:5px; border:0; border-radius:9px; overflow:hidden; background:var(--color-border); accent-color:var(--color-primary); }
.giveaway progress::-webkit-progress-bar { background:var(--color-border); }.giveaway progress::-webkit-progress-value { background:var(--gradient-primary); }
.giveaway h1 { font-size:clamp(30px,5vw,52px); line-height:1.15; margin:12px 0 24px; letter-spacing:-.035em; }
.giveaway-meta { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.giveaway-meta .eyebrow { margin:0; }
.prize { color:var(--color-primary); }.lead { font-size:clamp(15px,2vw,17px); }
.code-cta { display:inline-flex; align-items:center; gap:8px; white-space:nowrap; }
.code-link { display:inline-flex; align-items:center; padding:6px 12px; border-radius:999px; background:var(--gradient-primary); color:var(--color-text-dark); font-family:var(--font-mono); font-size:.8em; font-weight:700; letter-spacing:.04em; line-height:1; text-decoration:none; }
.code-link:hover { background:var(--gradient-primary-hover); box-shadow:var(--shadow-glow); color:var(--color-text-dark); }
.giveaway-links { display:flex; gap:10px; margin:0 0 24px; }
.giveaway-links .btn { flex:1 1 0; justify-content:center; border:0; background:var(--gradient-primary); color:var(--color-text-dark); box-shadow:0 12px 40px rgba(201,212,92,.14); }
.giveaway-links .btn:hover { background:var(--gradient-primary-hover); color:var(--color-text-dark); }
.terms { background:var(--color-surface); border:1px solid var(--color-border); border-radius:14px; padding:24px; margin:24px 0; }
.terms h2 { font-size:18px; margin:0 0 16px; }.terms ul { padding-left:20px; }.terms li { margin-bottom:10px; color:var(--color-text-read); }.ticket-example { border-left:2px solid var(--color-primary); padding-left:16px; margin-top:20px; }
.accept { display:flex; align-items:flex-start; gap:12px; cursor:pointer; }.accept input { margin-top:5px; width:20px; height:20px; accent-color:var(--color-primary); flex-shrink:0; }
.giveaway input:not([type=checkbox]) { display:block; width:100%; border:0; border-bottom:2px solid var(--color-border); border-radius:0; background:transparent; color:var(--color-text); font:inherit; font-size:clamp(22px,4vw,32px); padding:18px 0; margin:24px 0 16px; }
.giveaway input:focus-visible { outline:2px solid var(--color-primary); outline-offset:6px; }.giveaway input[aria-invalid=true] { border-color:#ff9898; }
.amount-field { display:flex; align-items:center; gap:16px; }.amount-field span { font-size:32px; }.ticket-count { color:var(--color-primary); }
.giveaway-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:20px; }#error { color:#ff9898; margin-top:16px; }#summary { margin:24px 0; }#summary div { display:grid; grid-template-columns:1fr 2fr; gap:20px; padding:14px 0; border-bottom:1px solid var(--color-border); }#summary dt { color:var(--color-text-muted); }#summary dd { margin:0; overflow-wrap:anywhere; }
.giveaway-footer { border-top:1px solid var(--color-border); justify-content:flex-start; flex-wrap:wrap; font-size:13px; color:var(--color-text-muted); }.giveaway-footer span { margin-left:auto; }
@media(max-width:550px) { .giveaway-header,.giveaway-footer { padding:20px; }.giveaway-header>span { font-size:10px; }.giveaway-main { margin-top:20px; padding:0 20px; }.terms { padding:18px; }.giveaway-footer span { width:100%; margin:0; }#summary div { grid-template-columns:1fr; gap:4px; } }

.instagram-field { display:flex; align-items:baseline; gap:4px; border-bottom:2px solid var(--color-border); margin:24px 0 16px; }
.instagram-field > span { font-size:clamp(22px,4vw,32px); color:var(--color-text); user-select:none; }
.giveaway .instagram-field input { border-bottom:0; margin:0; min-width:0; }

.tally-panel { display:grid; gap:24px; }
.tally-panel .btn { justify-self:start; }
.tally-frame { width:100%; height:80svh; min-height:540px; border:0; border-radius:12px; background:#fff; }
