.ticket-shell{color:#fff9f1;background:radial-gradient(circle at 80% 0,#4a203c 0,#0000 34%),#120d13;min-height:100vh;padding:clamp(5rem,10vw,8rem) clamp(1.25rem,6vw,6rem);font-family:Arial,sans-serif}.ticket-shell.narrow{max-width:none;padding-left:max(1.25rem,50vw - 380px);padding-right:max(1.25rem,50vw - 380px)}.ticket-shell h1{margin:.4rem 0 1.5rem;font-family:Georgia,serif;font-size:clamp(2.35rem,7vw,5.6rem);line-height:.98}.ticket-hero{max-width:900px;margin-bottom:3.5rem}.hero-copy{color:#ddced7;max-width:650px;line-height:1.7}.eyebrow{color:#d9b56d;letter-spacing:.16em;font-size:.78rem;font-weight:700}.ticket-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;display:grid}.ticket-card,.checkout-card,.result-card,.validation-card{background:#ffffff0e;border:1px solid #d9b56d4d;border-radius:22px;padding:clamp(1.4rem,4vw,2.3rem);box-shadow:0 24px 70px #0005}.ticket-card h2{font-family:Georgia,serif;font-size:2.2rem}.ticket-card li{color:#e7dce2;margin:.65rem 0}.availability{color:#d9b56d}.gold-button,.outline-button,.upload-button{cursor:pointer;border:1px solid #d9b56d;border-radius:999px;justify-content:center;align-items:center;min-height:52px;padding:.75rem 1.5rem;font-weight:800;text-decoration:none;display:inline-flex}.gold-button{color:#1a1017;background:#d9b56d;border:0}.gold-button:disabled{opacity:.55;cursor:wait}.outline-button{color:#fff;background:0 0}.checkout-card{gap:1.15rem;display:grid}.checkout-card label,.checkin-form label{color:#ebdfe6;gap:.5rem;font-weight:700;display:grid}.checkout-card input,.checkout-card select,.checkin-form input{box-sizing:border-box;color:#fff;background:#0d090e;border:1px solid #ffffff2e;border-radius:12px;width:100%;padding:.9rem;font-size:1rem}.progress{color:#8d7c87;justify-content:space-between;font-size:.8rem;display:flex}.progress .active{color:#d9b56d}.total{border-top:1px solid #ffffff1f;justify-content:space-between;padding-top:1rem;font-size:1.3rem;display:flex}.form-error{color:#ffb8b8;background:#7b1f2b55;border-radius:10px;padding:.8rem}.result-card{text-align:center}.result-card .gold-button{margin:1rem}.celebrate{margin:0;font-size:4rem}.ticket-number{color:#d9b56d;font:700 1.4rem monospace}.spinner{border:4px solid #fff2;border-top-color:#d9b56d;border-radius:50%;width:42px;height:42px;margin:2rem auto;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.upload-button{margin:1rem 0}.crop-stage{background:#050405;border-radius:18px;width:100%;height:min(62vh,520px);margin:1rem 0;position:relative;overflow:hidden}.ticket-shell input[type=range]{accent-color:#d9b56d;width:100%}.template-grid{grid-template-columns:repeat(3,1fr);gap:.7rem;margin:1.5rem 0;display:grid}.template{border:2px solid;border-radius:12px;min-height:90px}.template.active{outline-offset:3px;outline:3px solid #fff}.invitation-result{border-radius:12px;width:100%;max-width:540px;margin:1.5rem auto;display:block}.button-row{flex-wrap:wrap;justify-content:center;gap:.6rem;display:flex}.text-button{color:#d9b56d;cursor:pointer;background:0 0;border:0;text-decoration:underline}.checkin-form{gap:1rem;display:grid}.validation-card{margin-top:2rem}.validation-card.valid{border-color:#52d797}.validation-card.warning{border-color:#efb452}.validation-card h2{font-size:2rem}.validation-card .gold-button{width:100%;margin-top:1rem;display:flex}@media (max-width:600px){.ticket-shell{padding-top:6rem}.template-grid{grid-template-columns:1fr}.ticket-shell h1{font-size:2.6rem}.ticket-card,.checkout-card,.result-card{border-radius:16px}}
