:root{--gold:#fdb913;--gold-hi:#ffd95a;--orange:#f7931e;--night:#0d0905;--ink:#1d1608;--muted:#6d5f42;--cream:#fff9ec;--line:#eadfc4;--danger:#c62828;--r:16px;--script:"Dancing Script", cursive}*{box-sizing:border-box;margin:0}html{-webkit-text-size-adjust:100%}body{touch-action:manipulation;overscroll-behavior:none;-webkit-font-smoothing:antialiased;background:radial-gradient(60% 50% at 50% 40%,#2a1c08,#0b0805);font-family:Be Vietnam Pro,system-ui,sans-serif}button,input,select{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.stage{place-items:center;min-height:100dvh;display:grid}.phone{background:var(--night);width:100%;height:100dvh;position:relative;overflow:hidden}@media (width>=481px){.phone{border-radius:28px;max-width:390px;max-height:844px;box-shadow:0 30px 80px #0009,0 0 0 1px #fdb9132e}}.welcome{background:linear-gradient(#fffdf6, #ffeeb5 90px, #f6a91c 150px, #6b3d07 200px, #1d1207 270px, var(--night) 360px);flex-direction:column;justify-content:space-between;height:100%;display:flex;position:relative;overflow:hidden;container-type:inline-size}.welcome-photo{width:100%;position:absolute;top:min(100% - 170px - 80cqw,300px);left:0;-webkit-mask-image:linear-gradient(#0000,#000 30% 64%,#0000 77%);mask-image:linear-gradient(#0000,#000 30% 64%,#0000 77%)}.welcome:before{content:"";z-index:1;background:linear-gradient(to top, var(--night) 100px, #0d090599 165px, transparent 240px);pointer-events:none;position:absolute;inset:0}.welcome-top{z-index:2;padding:calc(16px + env(safe-area-inset-top)) 12px 0;flex-direction:column;align-items:center;display:flex;position:relative}.welcome-logo{width:150px;height:auto}.welcome-motto{letter-spacing:.24em;color:var(--ink);white-space:nowrap;align-items:center;gap:10px;margin-top:6px;font-size:10px;font-weight:700;display:flex}.welcome-motto:before,.welcome-motto:after{content:"";opacity:.6;background:currentColor;width:22px;height:1.5px}.welcome-title{white-space:nowrap;flex-direction:column;align-items:center;margin-top:14px;font-style:italic;line-height:1;display:flex;transform:rotate(-4deg)}.welcome-title span{box-shadow:0 0 0 2px var(--gold), 5px 6px 0 var(--orange), 0 14px 28px #00000073;background:#17120a;border-radius:8px;padding:10px 16px 11px;transform:skew(-8deg)}.welcome-title b{letter-spacing:.01em;color:#fff;background:linear-gradient(#fff 35%, #ffe9a6 62%, var(--gold));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:min(7.2cqw,28px);font-weight:900;display:block}.welcome-title small{background:linear-gradient(90deg, var(--gold-hi), var(--gold) 50%, var(--orange));color:var(--ink);letter-spacing:.03em;border-radius:6px;margin:4px 0 0 34px;padding:6px 14px;font-size:min(3.6cqw,14px);font-weight:800;transform:skew(-8deg);box-shadow:0 6px 14px #00000059}.welcome-script{font:700 min(6.6cqw, 26px)/1.1 var(--script);color:var(--gold-hi);text-shadow:0 2px 10px #000000bf;white-space:nowrap;margin-top:14px;transform:rotate(-4deg)}.welcome-bottom{z-index:2;padding:0 20px calc(28px + env(safe-area-inset-bottom));flex-direction:column;gap:16px;display:flex;position:relative}.welcome-info{text-align:center;color:#fff;border-radius:var(--r);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#140e0699;border:1px solid #fdb9134d;grid-template-columns:1fr 1.3fr 1fr;padding:12px 4px;display:grid}.welcome-info small{letter-spacing:.08em;color:#ffffffb8;font-size:11px;font-weight:500;display:block}.welcome-info b{color:var(--gold);font-size:16px}.welcome-info>div+div{border-left:1px solid #fdb91340}.page{height:100%;padding:calc(20px + env(safe-area-inset-top)) 20px 0;color:var(--ink);background:radial-gradient(110% 45% at 100% 0, #fdb91366, transparent 70%), radial-gradient(80% 30% at 0 8%, #f7931e29, transparent 70%), var(--cream);flex-direction:column;align-items:center;gap:12px;display:flex;overflow-y:auto}.logo{flex:none;width:132px;height:auto}.step{color:#7a4f00;letter-spacing:.1em;background:#fdb91338;border-radius:999px;margin-top:6px;padding:4px 12px;font-size:12px;font-weight:600}.page h1{text-align:center;font-size:24px;font-weight:800;line-height:1.2}.sheet{border:1px solid var(--line);background:#fff;border-radius:20px;width:100%;padding:16px;box-shadow:0 12px 32px #7850001f}.rules-card{color:#3d3320;flex-direction:column;flex:0 auto;gap:12px;min-height:160px;font-size:15px;line-height:1.6;display:flex;overflow-y:auto}.form-card{flex-direction:column;flex:none;gap:12px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field label{font-size:14px;font-weight:600}.field-box{position:relative}.field-box svg{color:#a06f00;pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.field-box input,.field-box select{border:1.5px solid var(--line);width:100%;height:48px;color:var(--ink);background-color:#fffdf7;border-radius:12px;padding:0 14px 0 44px;font-size:16px;transition:border-color .15s,box-shadow .15s}.field-box ::placeholder{color:#8b7f66}.field-box select{appearance:none;background:#fffdf7 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d1608' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 14px center/16px no-repeat;padding-right:40px}.field-box :focus-visible{border-color:#c98a00;outline:none;box-shadow:0 0 0 4px #fdb9134d}.field-box [aria-invalid=true]{border-color:var(--danger);background-color:#fff6f5}.err{color:var(--danger);font-size:13px;font-weight:500}.privacy{color:var(--muted);text-align:center;font-size:12px;line-height:1.5}.tagline{--h:calc(130px + env(safe-area-inset-bottom));min-height:calc(var(--h) + 20px);padding:0 22px calc(22px + env(safe-area-inset-bottom));text-align:right;font:700 26px/1.05 var(--script);color:#fff;background:linear-gradient(to bottom right, transparent 49.7%, var(--night) 50%) bottom / 100% var(--h) no-repeat, linear-gradient(to bottom right, transparent 49.7%, var(--gold) 50%) bottom / 100% calc(var(--h) + 20px) no-repeat;flex:none;justify-content:flex-end;align-self:stretch;align-items:flex-end;margin:auto -20px 0;display:flex}.tagline span{transform:rotate(-6deg)}.tagline b{color:var(--gold);display:block}.ticket-screen{height:100%;padding:calc(16px + env(safe-area-inset-top)) 20px calc(20px + env(safe-area-inset-bottom));color:#fff;background:linear-gradient(#0d090580, var(--night) 90%), url(/welcome/crowd.svg) center top / cover var(--night);flex-direction:column;gap:16px;display:flex;position:relative;overflow-y:auto}.ticket-card{background:#15110a;border-radius:20px;flex:none;overflow:hidden;box-shadow:0 16px 40px #0009,0 0 0 1px #fdb9134d}.ticket-top{width:100%;display:block}.ticket-info{text-align:center;grid-template-columns:1.1fr 1.2fr 1fr;gap:6px;padding:14px 10px;display:grid}.ticket-info>div{flex-direction:column;align-items:center;gap:2px;display:flex}.ticket-info small,.ticket-seat small{letter-spacing:.06em;opacity:.75;font-size:11px;font-weight:500;display:block}.ticket-info b{font-size:14px}.ticket-tear{border-top:2px dashed #fdb91366;height:0;margin:4px 16px;position:relative}.ticket-tear:before,.ticket-tear:after{content:"";background:var(--night);border-radius:50%;width:22px;height:22px;position:absolute;top:-12px}.ticket-tear:before{left:-27px}.ticket-tear:after{right:-27px}.ticket-qr{align-items:center;gap:14px;padding:16px 16px 8px;display:flex}.ticket-qr img{background:#fff;border-radius:12px;flex:none;width:124px;height:124px;padding:6px}.ticket-holder{flex-direction:column;gap:3px;min-width:0;display:flex}.ticket-holder .badge{background:var(--gold);color:var(--ink);letter-spacing:.04em;border-radius:999px;align-self:flex-start;padding:4px 10px;font-size:11px;font-weight:800}.ticket-holder small{opacity:.7;margin-top:4px;font-size:12px}.ticket-holder b{overflow-wrap:anywhere;font-size:18px;line-height:1.25}.ticket-holder code{color:var(--gold);letter-spacing:.06em;font-size:13px}.ticket-holder .scan{border:1px solid #fdb91399;border-radius:999px;align-self:flex-start;margin-top:4px;padding:3px 10px;font-size:11px}.ticket-slogan{text-align:center;font:700 22px var(--script);color:var(--gold);padding:6px 0 12px}.ticket-seat{background:linear-gradient(135deg, var(--gold-hi), var(--gold) 45%, var(--orange));color:var(--ink);text-align:center;grid-template-columns:repeat(4,1fr);padding:10px 6px;display:grid}.ticket-seat b{font-size:22px;font-weight:800}.ticket-seat>div+div{border-left:1px solid #00000040}.ticket-note{text-align:center;opacity:.75;font-size:13px;line-height:1.4}.popup-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0009;place-items:center;padding:28px;display:grid;position:absolute;inset:0}.popup{text-align:center;background:#1d1608;border:1px solid #fdb91399;border-radius:20px;flex-direction:column;align-items:center;gap:8px;width:100%;padding:28px 16px 32px;display:flex;position:relative;box-shadow:0 20px 60px #0009}.popup h2{color:var(--gold);letter-spacing:.06em;font-size:20px}.popup b{color:var(--gold);font-size:28px}.popup-bell svg{width:40px;height:40px}.popup-close{background:#1d1608;border:1px solid #fdb91399;border-radius:50%;place-items:center;width:44px;height:44px;display:grid;position:absolute;top:-16px;right:-16px}.popup-close:focus-visible,.back:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.back{top:calc(14px + env(safe-area-inset-top));left:calc(14px + env(safe-area-inset-left));z-index:5;border:1px solid var(--line);width:44px;height:44px;color:var(--ink);background:#fff;border-radius:50%;place-items:center;display:grid;position:absolute;box-shadow:0 2px 8px #78500026}.cta{letter-spacing:.04em;width:100%;min-height:56px;color:var(--ink);background:linear-gradient(135deg, var(--gold-hi), var(--gold) 45%, var(--orange));border-radius:999px;flex:none;justify-content:center;align-items:center;gap:10px;padding:0 20px;font-size:16px;font-weight:800;transition:transform .15s,box-shadow .15s,filter .15s;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #fff9,0 8px 20px #f7931e61}.cta-label,.cta-arrow{z-index:1;position:relative}.cta-arrow{flex:none;transition:transform .2s}.cta:after{content:"";background:linear-gradient(100deg,#0000,#ffffff8c,#0000);width:35%;animation:3.2s ease-in-out infinite cta-shine;position:absolute;top:0;bottom:0;left:-60%;transform:skew(-20deg)}@keyframes cta-shine{0%,55%{left:-60%}to{left:140%}}.cta:hover{filter:brightness(1.05);transform:translateY(-1px)}.cta:hover .cta-arrow{transform:translate(4px)}.cta:active{transform:translateY(1px)scale(.99);box-shadow:inset 0 1px #fff9,0 3px 8px #f7931e61}.cta:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.welcome .cta:focus-visible,.ticket-screen .cta:focus-visible{outline-color:#fff}.cta:disabled{filter:grayscale(.4)brightness(.92);cursor:wait}@media (prefers-reduced-motion:reduce){.cta,.cta-arrow,.field-box input,.field-box select{transition:none}.cta:after{display:none}}@media (width<=350px){.ticket-qr img{width:104px;height:104px}.ticket-holder .scan{white-space:nowrap}}
