:root{--paper:#fffdf7;--fog:#f0f3ee;--mist:#f8f5ec;--ink:#15191c;--charcoal:#202729;--muted:#65706f;--line:#d9ded7;--sun:#ffd766;--leaf:#147a63;--coral:#cf4d3f;--clay:#8b4e37;--sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-family:var(--sans);color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:500;line-height:1.45}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,textarea,select{font:inherit}h1,h2,p{letter-spacing:0}.event-shell,.giveaway-shell,.empty-state{min-height:100svh;color:var(--ink);background:var(--paper)}.giveaway-shell{background:#0c1213;overflow-x:hidden}.empty-state{text-align:center;place-content:center;gap:16px;padding:32px;display:grid}.event-hero{background-color:var(--charcoal);min-height:34svh;color:var(--paper);background-position:50%;background-size:cover}.event-hero__shade{background:#11151894;flex-direction:column;justify-content:end;gap:12px;min-height:34svh;padding:clamp(28px,7vw,72px);display:flex}.event-hero h1,.empty-state h1{max-width:13ch;color:inherit;margin:0;font-size:clamp(42px,10vw,96px);line-height:.95}.empty-state h1{max-width:12ch;color:var(--ink)}.subtitle{color:#ffffffc7;max-width:560px;font-size:clamp(18px,3vw,28px)}.eyebrow{color:var(--muted);letter-spacing:0;text-transform:uppercase;margin:0;font-size:12px;font-weight:800}.event-hero .eyebrow{color:var(--sun)}.live-band,.content-band,.event-footer{padding-inline:clamp(20px,6vw,72px)}.live-band{border-bottom:1px solid var(--line);background:var(--paper);justify-content:space-between;align-items:end;gap:24px;padding-block:24px;display:flex}.live-band h2{color:var(--ink);margin:10px 0 0;font-size:clamp(28px,6vw,56px);line-height:1}.connection-readout{color:var(--muted);flex-wrap:wrap;justify-content:end;gap:8px;display:flex}.connection-readout span{border:1px solid var(--line);background:var(--mist);text-align:center;border-radius:999px;min-width:86px;padding:7px 11px;font-size:13px;font-weight:700}.stage-pill{background:var(--ink);color:var(--paper);border-radius:999px;padding:7px 12px;font-size:13px;font-weight:800;display:inline-flex}.stage-pill--open,.stage-pill--results{background:var(--leaf)}.stage-pill--locked,.stage-pill--ended{background:var(--clay)}.stage-pill--countdown,.stage-pill--drawing{background:var(--coral)}.giveaway-panel,.giveaway-form{background:var(--paper);min-height:100svh;box-shadow:none;border:0;border-radius:0;display:grid;position:relative;overflow:hidden}.giveaway-panel{padding:max(28px, calc(env(safe-area-inset-top) + 20px)) clamp(22px, 7vw, 88px) max(32px, calc(env(safe-area-inset-bottom) + 24px));text-align:center;place-content:center;gap:12px}.giveaway-panel h2,.giveaway-form h2{color:var(--ink);margin:0;font-size:clamp(42px,9vw,94px);line-height:.96}.giveaway-panel p,.giveaway-form p{margin:0}.giveaway-panel>p:not(.eyebrow):not(.entrant-count),.giveaway-form__intro p{max-width:620px;color:var(--muted);font-size:clamp(17px,3vw,24px)}.giveaway-form{padding:max(28px, calc(env(safe-area-inset-top) + 20px)) clamp(22px, 7vw, 88px) max(32px, calc(env(safe-area-inset-bottom) + 24px));background:radial-gradient(circle at 18% 16%,#ffd76647,#0000 30%),linear-gradient(135deg,#fffdf7,#edf3ea);grid-template-columns:minmax(0,.85fr) minmax(320px,1.15fr);align-items:center;gap:clamp(22px,5vw,54px)}.giveaway-form__intro{gap:12px;display:grid}.giveaway-form__fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.giveaway-form label{gap:7px;display:grid}.giveaway-form label span{color:var(--ink);font-size:13px;font-weight:800}.giveaway-form input{border:1px solid var(--line);width:100%;min-height:52px;color:var(--ink);background:#fff;border-radius:8px;outline:none;padding:0 14px;font-size:16px}.giveaway-form input:focus{border-color:var(--leaf);box-shadow:0 0 0 4px #147a6324}.giveaway-form__wide,.giveaway-submit,.giveaway-error,.entrant-count{grid-column:1/-1}.giveaway-submit{background:var(--ink);min-height:54px;color:var(--paper);cursor:pointer;border:0;border-radius:8px;padding:0 18px;font-weight:850}.giveaway-shell .giveaway-submit,.giveaway-shell .giveaway-error,.giveaway-shell .giveaway-form>.entrant-count{grid-column:2}.giveaway-submit:disabled{cursor:wait;opacity:.64}.giveaway-error{color:var(--coral);font-size:14px;font-weight:800}.entrant-count{color:var(--muted);justify-self:center;font-size:13px;font-weight:800}.giveaway-panel--waiting{background:radial-gradient(circle at 22% 22%, #ffd76642, transparent 28%), var(--paper)}.giveaway-panel--countdown{color:var(--paper);background:radial-gradient(circle at 50% 18%,#cf4d3f38,#0000 34%),linear-gradient(#191f21,#111517)}.giveaway-panel--countdown .eyebrow{color:var(--sun)}.giveaway-panel--countdown strong{color:var(--sun);font-size:clamp(100px,29vw,260px);line-height:.75}.giveaway-panel--countdown p:not(.eyebrow){color:#fffdf7c2}.giveaway-panel--drawing{background:radial-gradient(circle at 50% 14%,#ffd7662e,#0000 30%),linear-gradient(#0c1213,#101719 56%,#070a0b)}.disco-grid{opacity:.9;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:1fr;gap:clamp(8px,2vw,16px);padding:clamp(18px,4vw,44px);display:grid;position:absolute;inset:0}.disco-grid span{border:var(--disco-border,1px solid #ffffff14);background:var(--disco-bg,#ffffff0f);min-height:34px;box-shadow:var(--disco-glow,none);animation:disco-pulse var(--disco-duration,.9s) steps(2, end) infinite;animation-delay:var(--disco-delay,calc(var(--cell-index) * -57ms));transform-origin:50%;border-radius:18px}.drawing-mark{z-index:1;aspect-ratio:1;width:min(58vw,300px);color:var(--paper);text-align:center;text-transform:uppercase;background:#15191cd1;border:10px solid #fffdf7eb;border-radius:50%;place-content:center;justify-self:center;font-size:clamp(28px,8vw,54px);font-weight:900;line-height:.9;animation:.82s ease-in-out infinite mark-pulse;display:grid;position:relative;box-shadow:0 0 0 22px #ffd76629,0 28px 70px #0006}.drawing-observer{z-index:1;justify-items:center;gap:12px;display:grid;position:relative}.drawing-observer h2{color:var(--paper)}.drawing-observer p:not(.eyebrow){color:#fffdf7b8}.giveaway-panel--winner{isolation:isolate;color:#fffdf2;background:radial-gradient(circle at 30% 20%,#fef08ae6,#0000 32%),radial-gradient(circle at 70% 24%,#fbbf24d1,#0000 28%),linear-gradient(#5f3b00 0%,#f59e0b 42%,#facc15 100%)}.giveaway-panel--winner h2{text-transform:uppercase;font-size:clamp(58px,16vw,154px);animation:.92s ease-in-out 4 both winner-flash}.giveaway-panel--winner p:not(.eyebrow){color:#fff7db;text-shadow:0 0 10px #fff5ccd1,0 0 24px #facc1575,0 0 44px #f59e0b3d;font-weight:750}.winner-atmosphere,.winner-scrim,.firework-field{pointer-events:none;position:absolute;inset:0}.winner-atmosphere{object-fit:cover;object-position:center;opacity:.5;filter:saturate(.94)contrast(1.1)brightness(.62);mix-blend-mode:screen;width:100%;height:100%;transform:scale(1.06)}.winner-scrim{z-index:1;background:radial-gradient(circle at 50% 24%,#ffd6662e,#0000 32%),linear-gradient(#0706062e 0%,#0c03036b 44%,#0a0202b3 100%)}.spark-field{z-index:2;position:absolute;inset:0;overflow:hidden}.winner-stage{z-index:4;text-align:center;place-items:center;gap:18px;display:grid;position:relative}.winner-logo{filter:drop-shadow(0 10px 22px #00000047);place-items:center;width:min(52vw,240px);min-height:94px;margin:0 auto 6px;display:grid}.winner-logo--image{object-fit:contain;height:auto;max-height:180px;display:block}.winner-logo--text{color:#fffdf2;text-transform:uppercase;text-shadow:0 0 12px #fff4aad1,0 0 34px #facc158a;border:2px solid #fffdf2b3;border-radius:8px;padding:16px 20px;font-size:clamp(24px,7vw,46px);font-weight:900;line-height:.95}.spark-field span{left:var(--spark-left);top:var(--spark-top);aspect-ratio:1;width:10px;animation:1.6s ease-out infinite spark-rise;animation-delay:var(--spark-delay);background:radial-gradient(circle,#fffffffa,#ffd700b8);border-radius:999px;position:absolute;box-shadow:0 0 24px #ffffffd9}.firework-field{z-index:3;overflow:hidden}.firework-burst{left:var(--firework-left);top:var(--firework-top);pointer-events:none;width:0;height:0;animation:1.8s ease-out infinite firework-center;animation-delay:var(--firework-delay);position:absolute;transform:translate(-50%,-50%)}.firework-base{filter:blur(1px);pointer-events:none;width:54px;height:22px;animation:1.6s ease-out infinite firework-base;animation-delay:var(--firework-delay);background:radial-gradient(circle at 50% 10%,#fffaecfa,#ffda7aeb 32%,#ff80229e 62%,#ff802200 100%);border-radius:999px 999px 14px 14px;margin-top:-4px;margin-left:-27px;position:absolute;top:0;left:0;box-shadow:0 0 26px #ffb04385,0 0 48px #ff6e1847}.firework-ray{background:linear-gradient(180deg, #fffffffa 0%, #fff4d7fa 10%, #ffd78af5 28%, var(--firework-color) 62%, #ff701c2e 86%, #ff701c00 100%);mix-blend-mode:screen;transform-origin:50% 100%;width:6px;height:84px;animation:1.4s ease-out infinite firework-ray;animation-delay:var(--firework-ray-delay);border-radius:999px;margin-top:-84px;margin-left:-3px;position:absolute;top:0;left:0;box-shadow:0 0 18px #ffdb99a8,0 0 38px #ff89295c}.giveaway-panel--loser{background:radial-gradient(circle at 50% 0,#ffd7662e,#0000 28%),linear-gradient(#f5f3ec,#dfe5df)}.giveaway-panel--loser h2{color:var(--charcoal)}.content-band{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:24px;padding-block:clamp(28px,6vw,56px);display:grid}.event-image{object-fit:cover;background:var(--charcoal);border-radius:8px;width:100%;min-height:260px;max-height:620px;display:block}.event-image--fallback{aspect-ratio:16/10;border:1px solid var(--line);color:var(--paper);text-align:center;place-content:center;font-size:clamp(28px,8vw,76px);font-weight:800;display:grid}.agenda-block{align-content:start;gap:14px;display:grid}.agenda-block .event-image{min-height:220px}.event-footer{border-top:1px solid var(--line);color:var(--muted);padding-block:22px 28px;font-size:13px;font-weight:700}@media (width<=760px){.event-hero,.event-hero__shade{min-height:28svh}.live-band{flex-direction:column;align-items:start}.connection-readout{justify-content:start}.connection-readout span{min-width:auto}.content-band{grid-template-columns:1fr}.giveaway-form{grid-template-columns:1fr;align-content:center}.giveaway-form__fields{grid-template-columns:1fr}.giveaway-shell .giveaway-submit,.giveaway-shell .giveaway-error,.giveaway-shell .giveaway-form>.entrant-count{grid-column:1}.giveaway-panel,.giveaway-form{min-height:100svh}.disco-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@keyframes disco-pulse{0%,to{opacity:.66;transform:scale(.95)}18%{opacity:1;transform:scale(1)}to{opacity:.78;transform:scale(.98)}}@keyframes mark-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.035)}}@keyframes winner-flash{0%{opacity:1;text-shadow:0 0 12px #fff4aae0,0 0 28px #facc15bd,0 0 56px #f59e0b7a;transform:scale(.985)}38%{opacity:.92;text-shadow:0 0 18px #fffadef5,0 0 42px #fcd34de6,0 0 82px #f59e0b9e;transform:scale(1.02)}to{opacity:1;text-shadow:0 0 12px #fff4aae0,0 0 28px #facc15bd,0 0 56px #f59e0b7a;transform:scale(.985)}}@keyframes spark-rise{0%{opacity:0;transform:translateY(18px)scale(.8)}18%{opacity:1}to{opacity:0;transform:translateY(-120px)scale(1.5)}}@keyframes firework-center{0%{opacity:0;transform:translate(-50%,-50%)scale(.84)}10%{opacity:1;transform:translate(-50%,-50%)scale(1.08)}38%{opacity:.92;transform:translate(-50%,-50%)scale(1.18)}to{opacity:0;transform:translate(-50%,-50%)scale(.96)}}@keyframes firework-ray{0%{opacity:0;transform:rotate(var(--firework-angle)) translateY(0) scaleY(.12) scaleX(.72)}14%{opacity:1;transform:rotate(var(--firework-angle)) translateY(calc(var(--firework-travel) * -.14)) scaleY(.52) scaleX(.86)}48%{opacity:.94;transform:rotate(var(--firework-angle)) translateY(calc(var(--firework-travel) * -.68)) scaleY(1.04) scaleX(1)}to{opacity:0;transform:rotate(var(--firework-angle)) translateY(calc(var(--firework-travel) * -1.08)) scaleY(1.18) scaleX(.82)}}@keyframes firework-base{0%{opacity:0;transform:translate(-50%)scale(.78)}12%{opacity:1;transform:translate(-50%)scale(1.08)}40%{opacity:.92;transform:translate(-50%)scale(1.18)}to{opacity:0;transform:translate(-50%)scale(.88)}}
