@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Instrument+Serif&display=swap";
*{box-sizing:border-box;margin:0;padding:0}:root{--text:#1a1a1a;--text-secondary:#6a6a6a;--background:#fefefe;--surface:#fff;--accent:#1a1a1a;--accent-rgb:26,26,26;--border:rgba(26,26,26,.04);--success:#22c55e;--error:#ef4444;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;--font-serif:"Instrument Serif","Georgia",serif}@media (prefers-color-scheme:dark){:root{--text:#f0f0f0;--text-secondary:#9a9a9a;--background:#0a0a0a;--surface:#111;--accent:#f0f0f0;--accent-rgb:240,240,240;--border:rgba(240,240,240,.04)}.logo{box-shadow:0 0 30px rgba(255,255,255,.06),0 0 15px rgba(255,255,255,.04),0 6px 24px rgba(0,0,0,.2),0 2px 8px rgba(0,0,0,.15)}.logo:hover{box-shadow:0 0 40px rgba(255,255,255,.08),0 0 20px rgba(255,255,255,.06),0 8px 32px rgba(0,0,0,.25),0 3px 12px rgba(0,0,0,.2)}}html{-webkit-tap-highlight-color:transparent;height:100%;font-size:16px}body{font-family:var(--font-sans);background:var(--background);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;min-height:100%;line-height:1.5;position:relative}body:before{content:"";opacity:.015;z-index:1;pointer-events:none;background-image:radial-gradient(circle,var(--text).5px,transparent .5px);background-size:16px 16px;width:100%;height:100%;position:fixed;top:0;left:0}body:after{content:"";z-index:0;pointer-events:none;background:radial-gradient(at 0 0,rgba(100,100,255,.02) 0%,transparent 40%),radial-gradient(at 100% 100%,rgba(255,100,100,.016) 0%,transparent 40%),radial-gradient(transparent 0%,rgba(0,0,0,.01) 100%);width:100%;height:100%;animation:20s ease-in-out infinite drift;position:fixed;top:0;left:0}@keyframes drift{0%,to{transform:translate(0)scale(1)}33%{transform:translate(-10px,-10px)scale(1.02)}66%{transform:translate(10px,5px)scale(.98)}}.container{z-index:2;justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex;position:relative}.content{width:100%;max-width:380px;animation:.6s cubic-bezier(.32,0,.67,0) appear}@keyframes appear{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.header{text-align:center;margin-bottom:2rem}.logo-wrapper{margin-bottom:1.5rem;display:inline-block}.logo{border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;transition:all .3s cubic-bezier(.32,0,.67,0);display:flex;position:relative;overflow:hidden;box-shadow:0 0 30px rgba(255,255,255,.15),0 0 15px rgba(255,255,255,.1),0 6px 24px rgba(0,0,0,.08),0 2px 8px rgba(0,0,0,.04)}.logo:before{content:"";opacity:.4;pointer-events:none;mix-blend-mode:screen;background:conic-gradient(from 180deg,transparent 0deg,rgba(255,100,150,.15) 60deg,rgba(100,255,200,.15) 120deg,rgba(100,150,255,.15) 180deg,rgba(255,200,100,.15) 240deg,rgba(200,100,255,.15) 300deg,transparent 360deg);width:300%;height:300%;position:absolute;top:-100%;left:-100%}.logo:hover{transform:scale(1.08)translateY(-1px);box-shadow:0 0 40px rgba(255,255,255,.2),0 0 20px rgba(255,255,255,.15),0 8px 32px rgba(0,0,0,.1),0 3px 12px rgba(0,0,0,.06)}.logo:hover:before{opacity:.6}.logo:active{transform:scale(.98)}.logo-image{object-fit:cover;z-index:2;border-radius:12px;width:100%;height:100%;position:relative}.title{font-family:var(--font-serif);letter-spacing:-.02em;opacity:0;margin-bottom:.5rem;font-size:2.25rem;font-weight:400;line-height:1;animation:.6s ease-out .1s forwards fade}.subtitle{color:var(--text-secondary);letter-spacing:.01em;opacity:0;font-size:.875rem;font-weight:400;animation:.6s ease-out .2s forwards fade}@keyframes fade{to{opacity:1}}.card{background:var(--surface);border:1px solid var(--border);opacity:0;border-radius:20px;padding:1.5rem;animation:.6s cubic-bezier(.32,0,.67,0) .3s forwards slide;position:relative;box-shadow:0 1px 2px rgba(0,0,0,.04)}@keyframes slide{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.form{flex-direction:column;gap:.75rem;display:flex}.input-wrapper{transition:all .3s;position:relative}.input-wrapper.focused .input{border-color:var(--accent);background:var(--surface)}.input-valid{color:var(--success);font-size:.875rem;animation:.3s cubic-bezier(.68,-.55,.265,1.55) pop-in;position:absolute;top:50%;right:12px;transform:translateY(-50%)}@keyframes pop-in{0%{opacity:0;transform:translateY(-50%)scale(0)}to{opacity:1;transform:translateY(-50%)scale(1)}}.input{width:100%;font-size:.9375rem;font-family:var(--font-sans);background:var(--background);border:1.5px solid var(--border);color:var(--text);-webkit-appearance:none;border-radius:12px;outline:none;padding:.75rem 2.5rem .75rem .875rem;font-weight:400;transition:all .2s}.input::placeholder{color:var(--text-secondary);opacity:.5}.input:focus{border-color:var(--accent);background:var(--surface)}.input:disabled{opacity:.4;cursor:not-allowed}.button{font-size:.9375rem;font-weight:500;font-family:var(--font-sans);letter-spacing:.01em;background:var(--accent);color:var(--background);cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none;will-change:transform;border:none;border-radius:12px;padding:.75rem 1.25rem;transition:all .3s cubic-bezier(.23,1,.32,1);position:relative}.button:hover{box-shadow:0 4px 12px rgba(0,0,0,.15)}.button:active:not(:disabled){transform:scale(.98)}.button:disabled{opacity:.5;cursor:not-allowed}.button-content{justify-content:center;align-items:center;gap:.375rem;display:flex}.button-text{animation:.3s ease-out text-in;display:inline-block}@keyframes text-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.spinner{border:2px solid var(--background);border-top-color:transparent;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.button.success{background:var(--success);animation:.4s confirm}@keyframes confirm{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.button.error{background:var(--error);animation:.4s shake}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.icon{width:16px;height:16px;animation:.4s cubic-bezier(.68,-.55,.265,1.55) check-in}@keyframes check-in{0%{transform:scale(0)rotate(-45deg)}to{transform:scale(1)rotate(0)}}.ticket-wrapper{perspective:1000px;transform-style:preserve-3d}.ticket-card{background:var(--surface);border:1px solid rgba(var(--accent-rgb),.08);opacity:0;box-shadow:0 30px 60px rgba(0,0,0,.15),0 15px 30px rgba(0,0,0,.1),0 5px 15px rgba(0,0,0,.05),0 0 0 1px rgba(255,255,255,.1) inset,0 0 80px rgba(var(--accent-rgb),.02)inset;transform-style:preserve-3d;border-radius:12px;padding:0;transition:transform .4s cubic-bezier(.23,1,.32,1);animation:.8s cubic-bezier(.34,1.56,.64,1) forwards ticket-enter;position:relative;overflow:hidden}.ticket-card:hover{transform:rotateX(2deg)translateY(-2px)}.ticket-texture{opacity:.3;background:repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(var(--accent-rgb),.01)2px,rgba(var(--accent-rgb),.01)4px),repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(var(--accent-rgb),.01)2px,rgba(var(--accent-rgb),.01)4px),url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"100\" height=\"100\"><filter id=\"noise\"><feTurbulence baseFrequency=\"0.9\" numOctaves=\"4\"/></filter><rect width=\"100\" height=\"100\" filter=\"url(%23noise)\" opacity=\"0.02\"/></svg>");mix-blend-mode:multiply;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.ticket-holographic{pointer-events:none;mix-blend-mode:screen;opacity:.4;background:linear-gradient(45deg,transparent 30%,rgba(255,0,100,.03),rgba(0,255,255,.03),rgba(255,255,0,.03),transparent 70%);position:absolute;top:-50%;bottom:-50%;left:-50%;right:-50%;transform:translate(10%,10%)rotate(45deg)}@keyframes ticket-enter{0%{opacity:0;transform:translateY(40px)rotateX(-15deg)scale(.85)}60%{transform:translateY(-5px)rotateX(2deg)scale(1.02)}to{opacity:1;transform:translateY(0)rotateX(0)scale(1)}}.ticket-holes{z-index:10;gap:20px;display:flex;position:absolute;top:0;left:50%;transform:translate(-50%)}.ticket-holes span{background:var(--background);border:1px solid rgba(var(--accent-rgb),.05);border-radius:50%;width:16px;height:16px;position:relative;top:-8px;box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.1),0 -1px 2px rgba(255,255,255,.5)}.ticket-edge-tear{background-image:repeating-linear-gradient(90deg,var(--surface)0px,var(--surface)4px,transparent 4px,transparent 5px,var(--surface)5px,var(--surface)8px,transparent 8px,transparent 9px);filter:drop-shadow(0 1px 2px rgba(0,0,0,.1));height:4px;position:absolute;bottom:-2px;left:0;right:0}.ticket-header{border-bottom:1px dashed rgba(var(--accent-rgb),.1);align-items:center;gap:1.25rem;padding:2rem 1.75rem 1.25rem;display:flex;position:relative}.ticket-stamp{width:48px;height:48px;position:relative}.ticket-logo{border-radius:11px;justify-content:center;align-items:center;width:48px;height:48px;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,.1),0 1px 3px rgba(0,0,0,.05)}.ticket-logo-image{object-fit:cover;z-index:2;border-radius:11px;width:100%;height:100%;position:relative}.foil-effect{background:linear-gradient(135deg,var(--accent)0%,rgba(var(--accent-rgb),.9)40%,rgba(var(--accent-rgb),.7)60%,var(--accent)100%)}.foil-text{background:linear-gradient(90deg,var(--text),rgba(var(--accent-rgb),.8),var(--text));-webkit-text-fill-color:transparent;background-position:50% 0;background-size:200% 100%;-webkit-background-clip:text;background-clip:text}.stamp-mark{width:20px;height:20px;color:var(--success);background:var(--surface);border-radius:50%;padding:2px;position:absolute;top:-4px;right:-4px;box-shadow:0 2px 4px rgba(0,0,0,.1)}.ticket-info{flex-direction:column;gap:.125rem;display:flex}.ticket-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary);opacity:.7;font-size:.6875rem;font-weight:600}.ticket-number{color:var(--text-secondary);letter-spacing:.05em;opacity:.8;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-size:.875rem;font-weight:500}.ticket-body{text-align:center;padding:1.75rem;position:relative}.ticket-badge{background:linear-gradient(135deg,rgba(var(--accent-rgb),.1),rgba(var(--accent-rgb),.05));border:1px solid rgba(var(--accent-rgb),.15);letter-spacing:.2em;text-transform:uppercase;color:var(--accent);border-radius:20px;margin-bottom:1rem;padding:.3rem .85rem;font-size:.625rem;font-weight:700;display:inline-block;position:relative;overflow:hidden}.ticket-badge.holographic{color:#1a1a1a;text-shadow:0 1px 1px rgba(255,255,255,.8);background:linear-gradient(145deg,#fff 0%,#f0f0f0 20%,#d8d8d8 40%,silver 50%,#d8d8d8 60%,#f0f0f0 80%,#fff 100%);border:1px solid rgba(255,255,255,.3);box-shadow:0 2px 8px rgba(0,0,0,.2),0 1px 3px rgba(0,0,0,.15),inset 0 1px rgba(255,255,255,.9),inset 0 -1px rgba(0,0,0,.1)}.ticket-badge.holographic:before{content:"";pointer-events:none;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.7) 50%,transparent 60%);position:absolute;top:0;bottom:0;left:0;right:0;transform:translate(-40%)}.ticket-badge.holographic:after{content:"";pointer-events:none;background:linear-gradient(rgba(255,255,255,.3) 0%,transparent 50%,rgba(0,0,0,.1) 100%);border-radius:20px;position:absolute;top:0;bottom:0;left:0;right:0}.ticket-title{font-family:var(--font-serif);color:var(--text);letter-spacing:-.01em;margin-bottom:.625rem;font-size:1.625rem;font-weight:400}.ticket-description{color:var(--text-secondary);max-width:280px;margin:0 auto 1rem;font-size:.875rem;line-height:1.6}.ticket-footer{padding:0;position:relative}.ticket-perforation{background-image:repeating-linear-gradient(to right,rgba(var(--accent-rgb),.2),rgba(var(--accent-rgb),.2)6px,transparent 6px,transparent 12px);height:2px;margin:0 1.5rem;position:relative}.ticket-perforation:before,.ticket-perforation:after{content:"";background:var(--background);width:20px;height:20px;box-shadow:0 0 0 1px var(--border)inset;border-radius:50%;position:absolute;top:50%;transform:translateY(-50%)}.ticket-perforation:before{left:-30px}.ticket-perforation:after{right:-30px}.ticket-action{width:100%;color:var(--accent);cursor:pointer;letter-spacing:.02em;background:0 0;border:none;border-radius:0 0 12px 12px;justify-content:center;align-items:center;gap:.5rem;padding:1.125rem 1.5rem;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.invite-action:hover{background:linear-gradient(to bottom,transparent,rgba(var(--accent-rgb),.04))}.invite-action:active{transform:scale(.98)}.invite-icon{opacity:.7;width:16px;height:16px;transition:opacity .2s}.invite-action:hover .invite-icon{opacity:1}.message{text-align:center;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;margin-top:.75rem;padding:.5rem .75rem;font-size:.8125rem;animation:.3s appear-message;display:flex}@keyframes appear-message{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.message-emoji{font-size:1rem;animation:.6s cubic-bezier(.68,-.55,.265,1.55) bounce-in}@keyframes bounce-in{0%{transform:scale(0)}to{transform:scale(1)}}.message.success{color:var(--success);background:rgba(34,197,94,.08)}.message.error{color:var(--error);background:rgba(239,68,68,.08)}.footer{text-align:center;opacity:0;margin-top:2rem;animation:.6s ease-out .5s forwards fade}.badge{background:var(--surface);border:1px solid var(--border);color:var(--text-secondary);border-radius:100px;align-items:center;gap:.375rem;padding:.25rem .625rem;font-size:.75rem;transition:all .2s;display:inline-flex}.badge:hover{transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.08)}.pulse{background:var(--success);border-radius:50%;width:6px;height:6px}.counter{color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}.counter-label{font-weight:400}.launch-date{color:var(--text-secondary);opacity:.6;letter-spacing:.02em;margin-top:.75rem;font-size:.75rem;font-weight:400}.ticket-card *{transition:all .3s cubic-bezier(.23,1,.32,1)}.ticket-card:hover .ticket-logo{transform:scale(1.05)}.ticket-card:hover .stamp-mark{transform:scale(1.1)rotate(10deg)}.ticket-card:hover .ticket-holes span{transform:translateY(-1px);box-shadow:inset 0 3px 6px rgba(0,0,0,.2),0 2px 4px rgba(0,0,0,.15),0 -1px 2px rgba(255,255,255,.5)}.ticket-card:hover .ticket-badge.holographic{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.25),0 2px 6px rgba(0,0,0,.2),inset 0 1px rgba(255,255,255,.9),inset 0 -1px rgba(0,0,0,.1)}.ticket-card:hover .ticket-badge.holographic:before{transition:transform .6s;transform:translate(40%)}@media (hover:hover){.ticket-card{transition:transform .1s ease-out}}@media (max-width:390px){.content{max-width:100%}.card,.ticket-card{border-radius:16px;padding:1.25rem}.title{font-size:1.875rem}.logo{border-radius:10px;width:40px;height:40px}.logo-wrapper{margin-bottom:1.25rem}.logo-image{border-radius:10px}.input{padding:.6875rem 2.5rem .6875rem .75rem;font-size:16px}.button{padding:.6875rem 1rem}}@media (hover:none){.button:active{background:var(--text)}.logo:active{transform:scale(.92)}.button{transition:all .15s}}@supports (padding:max(0px)){.container{padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right));padding-bottom:max(1rem,env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}::selection{background:var(--accent);color:var(--background);opacity:.2}
