.skip-link{width:1px;height:1px;position:absolute;top:auto;left:-9999px;overflow:hidden}.skip-link:focus{background:var(--brand-surface);border-radius:var(--radius-md);border:1px solid var(--brand-border);width:auto;height:auto;box-shadow:var(--brand-focus-ring);color:var(--brand-heading);z-index:9999;margin:8px;padding:8px 12px;position:static}.raffle-page{max-width:1200px;padding:1.5rem var(--layout-gutter);flex-direction:column;gap:1.5rem;margin:0 auto;display:flex}.page-hero{padding:2rem 2.5rem}.hero-eyebrow{text-transform:uppercase;letter-spacing:.15em;color:var(--brand-subtle-text);margin:0 0 .5rem;font-size:.75rem;font-weight:800}.page-hero h1{color:var(--brand-heading);margin:0 0 .5rem;font-size:clamp(1.8rem,3vw,2.4rem);font-weight:700;line-height:1.15}.page-hero p:not(.hero-eyebrow){color:var(--brand-text);max-width:60ch;margin:0;font-size:1rem;line-height:1.65}.glass-card{background:var(--glass-bg,#ffffff1f);border:1px solid var(--glass-border,#fff3);border-radius:var(--radius-lg);backdrop-filter:blur(14px);box-shadow:var(--glass-shadow)}.raffle-form{padding:2rem 2.5rem}.raffle-layout{grid-template-columns:300px 1fr;align-items:start;gap:2rem;display:grid}.raffle-sidebar{flex-direction:column;gap:1rem;display:flex}.sidebar-section{background:var(--brand-surface);border:1px solid var(--brand-border);border-radius:var(--radius-md);padding:1.1rem 1.25rem}.sidebar-section__label{letter-spacing:.1em;text-transform:uppercase;color:var(--brand-subtle-text);margin:0 0 .6rem;font-size:.75rem;font-weight:800;display:block}.sidebar-section textarea{box-sizing:border-box;width:100%;font-family:var(--brand-font-family);border:1px solid var(--brand-border);border-radius:var(--radius-sm);background:var(--brand-background);color:var(--brand-text);resize:vertical;min-height:160px;padding:9px 11px;font-size:.9rem;line-height:1.55;transition:border-color .18s,box-shadow .18s}.sidebar-section textarea:focus{border-color:var(--brand-accent);outline:none;box-shadow:0 0 0 3px #3498db1f}.sidebar-section textarea::placeholder{color:var(--brand-subtle-text);opacity:.7}.ticket-meta{justify-content:space-between;align-items:center;margin-top:.5rem;display:flex}.ticket-count-badge{background:var(--brand-accent-muted);color:var(--brand-accent-strong);border-radius:999px;align-items:center;gap:.25rem;padding:.15rem .55rem;font-size:.78rem;font-weight:800;display:inline-flex}.form-tip{color:var(--brand-subtle-text);margin:0;font-size:.82rem;font-style:italic}.sidebar-actions{gap:.5rem;display:flex}.drawn-section{background:var(--brand-surface);border:1px solid var(--brand-border);border-radius:var(--radius-md);padding:1.1rem 1.25rem}.drawn-section__label{letter-spacing:.1em;text-transform:uppercase;color:var(--brand-subtle-text);margin:0 0 .7rem;font-size:.75rem;font-weight:800;display:block}.drawn-chips{flex-wrap:wrap;gap:.35rem;min-height:1.8rem;display:flex}.drawn-chip{background:var(--brand-accent-muted);color:var(--brand-accent-strong);border:1px solid #3498db33;border-radius:999px;align-items:center;padding:.22rem .6rem;font-size:.8rem;font-weight:600;animation:.28s cubic-bezier(.34,1.56,.64,1) chipIn;display:inline-flex}@keyframes chipIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.drawn-empty{color:var(--brand-subtle-text);font-size:.88rem;font-style:italic}.raffle-main{flex-direction:column;align-items:center;gap:1.1rem;display:flex}.drum-wrapper{border-radius:var(--radius-lg);aspect-ratio:16/9;background:linear-gradient(160deg,#1a2a3a 0%,#0d1b2a 100%);border:1px solid #ffffff0f;justify-content:center;align-items:center;width:100%;max-height:320px;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 32px #00000038}.drum-wrapper:before{content:"";pointer-events:none;background:radial-gradient(at 50% -10%,#3498db2e 0%,#0000 60%);position:absolute;inset:0}#drumCanvas{width:100%;height:100%;display:block}.btn-draw{font:inherit;cursor:pointer;border-radius:var(--radius-md);letter-spacing:.025em;color:#fff;background:linear-gradient(135deg,#f5a623 0%,#e0711a 100%);border:none;width:100%;padding:.85rem 2.5rem;font-size:1.05rem;font-weight:700;transition:transform .16s,box-shadow .16s;box-shadow:0 5px 20px #f0821e59}.btn-draw:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 10px 28px #f0821e73}.btn-draw:active:not(:disabled){transform:translateY(0)}.btn-draw:disabled{opacity:.5;cursor:not-allowed}.btn-draw:focus-visible{outline:none;box-shadow:0 0 0 3px #f5a62373}.result-card{background:var(--brand-surface);border:2px solid var(--brand-accent);border-radius:var(--radius-md);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;width:100%;min-height:74px;padding:1rem 1.5rem;transition:box-shadow .2s;display:flex;box-shadow:0 2px 12px #3498db1a}.result-card--has-winner{box-shadow:0 4px 24px #3498db33}.result-label{letter-spacing:.14em;text-transform:uppercase;color:var(--brand-subtle-text);font-size:.68rem;font-weight:800}.result-value{color:var(--brand-accent-strong);word-break:break-word;font-size:1.8rem;font-weight:700;line-height:1.2}.result-placeholder{color:var(--brand-subtle-text);font-size:1rem;font-style:italic}.btn{font:inherit;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:1px solid #0000;padding:8px 16px;font-size:.88rem;font-weight:600;transition:transform .14s,box-shadow .14s,background-color .14s}.btn:focus-visible{box-shadow:var(--brand-focus-ring);outline:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--accent{background:var(--brand-accent);color:var(--brand-accent-contrast-text);border-color:var(--brand-accent);flex:1}.btn--accent:hover:not(:disabled){background:var(--brand-accent-strong);transform:translateY(-1px);box-shadow:0 5px 12px #3498db38}.btn--secondary{background:var(--brand-surface);color:var(--brand-heading);border-color:var(--brand-border)}.btn--secondary:hover:not(:disabled){background:var(--brand-background);transform:translateY(-1px);box-shadow:0 3px 8px #00000012}@media (width<=900px){.raffle-layout{grid-template-columns:1fr;gap:1.5rem}.drum-wrapper{aspect-ratio:16/10;max-height:none}}@media (width<=640px){.raffle-page{padding:1rem var(--layout-gutter);gap:1rem}.page-hero,.raffle-form{padding:1.1rem}.btn-draw{padding:.8rem 1.5rem;font-size:.95rem}.result-value{font-size:1.5rem}}