@font-face{font-family:Chakra Petch;src:url(/fonts/ChakraPetch-Light.ttf) format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Chakra Petch;src:url(/fonts/ChakraPetch-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Chakra Petch;src:url(/fonts/ChakraPetch-Italic.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Chakra Petch;src:url(/fonts/ChakraPetch-Medium.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Chakra Petch;src:url(/fonts/ChakraPetch-SemiBold.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Chakra Petch;src:url(/fonts/ChakraPetch-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Chakra Petch;src:url(/fonts/ChakraPetch-BoldItalic.ttf) format("truetype");font-weight:700;font-style:italic;font-display:swap}:root{--color-bg: #050505;--color-bg-elevated: #0d0d0d;--color-bg-card: rgba(228, 0, 43, .07);--color-bg-card-hover: rgba(228, 0, 43, .14);--color-surface: #0e0e0e;--color-border: rgba(228, 0, 43, .25);--color-border-subtle: rgba(255, 255, 255, .1);--color-cream: #fff4de;--color-text: #fff4de;--color-text-secondary: #dcc49e;--color-text-muted: #9a8568;--color-accent: #ff0a33;--color-accent-hover: #ff3355;--color-accent-glow: rgba(255, 10, 51, .45);--color-accent-dark: #cc0028;--color-success: #00e85c;--color-warning: #fff4de;--color-error: #ff0a33;--font-family: "Chakra Petch", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--radius-full: 9999px;--shadow-card: 0 4px 24px rgba(0, 0, 0, .5);--shadow-glow: 0 0 40px var(--color-accent-glow);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease;--container-max: 1100px;--container-padding: 20px;--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-top: env(safe-area-inset-top, 0px);--tap-target: 48px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-family);font-weight:400;background-color:var(--color-bg);color:var(--color-text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent-hover)}button{font-family:var(--font-family);cursor:pointer;border:none;outline:none;-webkit-tap-highlight-color:transparent}img{max-width:100%;height:auto;display:block}input,textarea,select{font-family:var(--font-family);font-size:16px;-webkit-appearance:none;appearance:none}::selection{background:var(--color-accent);color:#fff}::-webkit-scrollbar{width:0;display:none}.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}.section{padding:4px 0}.section-title{font-size:1.5rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.3em;color:var(--color-cream)}.section-title .accent{color:var(--color-accent)}.section-subtitle{font-size:1.05rem;color:var(--color-text-secondary);font-weight:300;margin-bottom:2em}.glass-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:background var(--transition-normal),border-color var(--transition-normal),box-shadow var(--transition-normal)}.glass-card:active{background:var(--color-bg-card-hover);border-color:#e4002b40}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--tap-target);padding:14px 32px;font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;border-radius:var(--radius-sm);transition:all var(--transition-normal);-webkit-tap-highlight-color:transparent;touch-action:manipulation}.btn-primary{background:var(--color-accent);color:#fff;box-shadow:0 4px 20px var(--color-accent-glow)}.btn-primary:active{background:var(--color-accent-dark);transform:scale(.98)}.btn-outline{background:transparent;color:var(--color-cream);border:2px solid var(--color-accent)}.btn-outline:active{background:var(--color-accent);color:#fff}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-in{animation:fadeInUp .5s ease forwards}.red-bar{width:48px;height:3px;background:var(--color-accent);margin-bottom:.4em}@media(min-width:769px){.section{padding:80px 0}.section-title{font-size:clamp(1.8rem,4vw,2.8rem)}.glass-card:hover{background:var(--color-bg-card-hover);border-color:#e4002b40;box-shadow:0 0 20px #e4002b0f}.btn-primary:hover{background:var(--color-accent-hover);box-shadow:var(--shadow-glow);transform:translateY(-2px)}:root{--container-padding: 24px}}.layout-nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:7px 0;padding-top:calc(7px + var(--safe-top));background:#0a0a0aeb;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--color-border-subtle);transition:background var(--transition-normal)}.layout-nav.scrolled{background:#0a0a0af7;border-bottom-color:var(--color-border)}.nav-inner{display:flex;align-items:center;justify-content:space-between;max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding);min-height:31px}.checkin-btn{font-family:var(--font-family);font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--color-cream);background:transparent;border:1.5px solid var(--color-cream);border-radius:var(--radius-sm);padding:6px 12px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:all var(--transition-normal);flex-shrink:0}.checkin-btn.checked{border:none;padding:0;font-size:1.3rem}.checkin-btn:active{transform:scale(.95)}.nav-brand{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--color-cream)}.nav-brand .brand-accent{color:var(--color-accent)}.checkin-overlay{position:fixed;inset:0;z-index:500;background:#000000d9;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease;padding:24px}.checkin-popup{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-width:360px;padding:32px 24px;position:relative;text-align:center}.checkin-popup-close{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;background:#ffffff0f;color:var(--color-cream);display:flex;align-items:center;justify-content:center;font-size:1rem;-webkit-tap-highlight-color:transparent}.checkin-popup-close:active{background:#ffffff1f}.checkin-popup-scan h2{font-size:1.3rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-cream);margin-bottom:4px}.checkin-popup-scan p{font-size:.8rem;color:var(--color-text-secondary);margin-bottom:16px}.checkin-popup-scanner{width:100%;max-width:280px;margin:0 auto;border-radius:var(--radius-md);overflow:hidden}.checkin-popup-done{padding:8px 0}.checkin-popup-badge{width:120px;height:auto;margin:0 auto 16px;border-radius:var(--radius-md)}.checkin-popup-check{width:64px;height:64px;margin:0 auto 16px;background:var(--color-accent);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#fff;box-shadow:0 0 40px var(--color-accent-glow)}.checkin-popup-done h2{font-size:1.5rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--color-accent);margin-bottom:4px}.checkin-popup-name{font-size:1.2rem;font-weight:600;color:var(--color-cream)}.nav-links{display:none;gap:4px;list-style:none}.nav-links a{display:block;padding:8px 16px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-secondary);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.nav-links a:hover{color:var(--color-cream)}.nav-links a.active{color:var(--color-accent);background:#e4002b1a}.nav-logo{height:28px;width:auto}.mobile-nav{position:fixed;bottom:0;left:0;right:0;z-index:100;background:#0a0a0af7;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--color-border);padding:4px 0;padding-bottom:max(4px,var(--safe-bottom))}.mobile-nav-inner{display:flex;justify-content:space-around;align-items:center}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 8px 6px;min-width:56px;min-height:var(--tap-target);font-size:.77rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);background:none;border-radius:var(--radius-sm);transition:color var(--transition-fast);text-decoration:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.mobile-nav-item.active{color:var(--color-accent)}.mobile-nav-item:active{color:var(--color-accent-hover)}.mobile-nav-icon{font-size:1.89rem;line-height:1}.layout-content{padding-top:calc(64px + var(--safe-top));padding-bottom:calc(72px + var(--safe-bottom));min-height:100vh}.layout-logo{text-align:center;padding:12px 16px 0}.layout-logo img{max-width:280px;width:100%;height:auto;display:block;margin:0 auto}.layout-footer{display:none}@media(min-width:769px){.nav-links{display:flex}.mobile-nav{display:none}.layout-content{padding-bottom:0}.layout-footer{display:block;padding:32px 0;text-align:center;border-top:1px solid var(--color-border-subtle);color:var(--color-text-muted);font-size:.75rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;line-height:1.6}}.landing{position:relative;height:100dvh;height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}@supports (height: 100dvh){.landing{height:100dvh}}.landing-bg{position:absolute;inset:0;z-index:0}.landing-bg img{width:100%;height:100%;object-fit:cover;opacity:.2}.landing-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,#0a0a0a4d,#0a0a0ad9 45%,#0a0a0af2);z-index:1}.landing-noise{position:absolute;inset:0;z-index:1;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:256px}.landing-inner{position:relative;z-index:2;width:100%;max-width:400px;padding:0 20px;display:flex;flex-direction:column;align-items:center;text-align:center;animation:fadeInUp .5s ease}.landing-header{margin-bottom:24px}.landing-eyebrow{display:inline-block;padding:5px 14px;font-size:.825rem;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:var(--color-accent);border:1.5px solid var(--color-accent);margin-bottom:14px}.landing-title{font-size:clamp(2.2rem,10vw,5rem);font-weight:700;text-transform:uppercase;letter-spacing:.02em;line-height:.9;color:var(--color-cream)}.landing-title-accent{display:block;color:var(--color-accent);font-size:.5em;letter-spacing:.1em;margin-top:6px}.landing-meta{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:12px;color:var(--color-text-secondary);font-size:1.05rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.landing-meta-sep{color:var(--color-accent);opacity:.5}.landing-form{width:100%}.landing-form-cta{color:var(--color-text-secondary);font-size:1.125rem;font-weight:300;margin-bottom:16px;line-height:1.5}.landing-fields{display:flex;flex-direction:column;gap:10px;margin-bottom:6px}.landing-input{width:100%;min-height:var(--tap-target);padding:13px 16px;background:#141414cc;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-cream);font-size:16px;font-family:var(--font-family);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);-webkit-appearance:none;appearance:none}.landing-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-glow);outline:none}.landing-input::placeholder{color:var(--color-text-muted)}.landing-btn{width:100%;margin-top:10px;min-height:54px;font-size:1.275rem}.landing-features{display:flex;justify-content:center;gap:16px;margin-top:16px}.landing-features span{font-size:.825rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);position:relative}.landing-features span:before{display:none}.form-error{font-size:.78rem;color:var(--color-error);margin-top:4px;margin-bottom:0;font-weight:500}@media(min-width:769px){.landing-inner{max-width:440px}.landing-title{font-size:clamp(3rem,8vw,5.5rem)}.landing-header{margin-bottom:32px}.landing-eyebrow{font-size:.65rem;padding:5px 16px;margin-bottom:18px}.landing-meta{font-size:.75rem;gap:8px;margin-top:14px}.landing-form-cta{font-size:.82rem;margin-bottom:20px}.landing-features{gap:24px;margin-top:20px}.landing-features span{font-size:.6rem}}.confirmation{text-align:center;padding:80px var(--container-padding);max-width:500px;margin:0 auto;animation:fadeInUp .5s ease}.confirmation-icon{width:72px;height:72px;margin:0 auto 24px;background:var(--color-accent);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#fff;box-shadow:var(--shadow-glow)}.confirmation h2{font-size:1.5rem;font-weight:700;margin-bottom:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--color-cream)}.confirmation p{color:var(--color-text-secondary);font-size:.9rem;margin-bottom:32px;line-height:1.7}.confirmation .btn{width:100%;max-width:320px;min-height:52px}.hub-page{display:flex;flex-direction:column;height:calc(100dvh - 64px - var(--safe-top) - 72px - var(--safe-bottom));height:calc(100vh - 136px);overflow:hidden}@supports (height: 100dvh){.hub-page{height:calc(100dvh - 64px - var(--safe-top) - 72px - var(--safe-bottom))}}.hub-page-inner{display:flex;flex-direction:column;height:100%;padding-top:10px;padding-bottom:6px}.hub-hero{text-align:center;padding:8px var(--container-padding) 12px;flex-shrink:0}.hub-hero-logo{width:100%;max-height:80px;object-fit:contain}.hub-artist{padding:0 var(--container-padding);margin-bottom:8px;overflow:hidden}.hub-artist-photo{float:left;width:128px;height:128px;border-radius:50%;object-fit:cover;border:2px solid var(--color-border);margin-right:12px;margin-bottom:4px}.hub-artist-text{font-size:1.05rem;color:var(--color-text-secondary);font-weight:300;line-height:1.5}.hub-map{flex:1;display:flex;flex-direction:column;padding:0 var(--container-padding);min-height:0}.hub-map-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-muted);margin-bottom:8px}.hub-map-img{width:100%;object-fit:contain;border-radius:var(--radius-md)}.hub-page-scroll{overflow-y:auto;height:auto}.hub-page-scroll .hub-page-inner{height:auto}.hub-artists-section{padding:24px var(--container-padding) 16px}.hub-artists-group{margin-bottom:20px}.hub-artists-heading{font-size:1.5rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-accent);margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--color-border)}.hub-artists-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px 16px}.hub-artists-name{font-size:1.05rem;font-weight:400;color:var(--color-cream);padding:2px 0;word-wrap:break-word;overflow-wrap:break-word}.hub-artists-grid-3{grid-template-columns:1fr 1fr;gap:1px 10px}.hub-artists-grid-3 .hub-artists-name{font-size:1.05rem}.hub-artists-coming{font-size:1.05rem;color:var(--color-text-muted);font-style:italic}@media(min-width:769px){.hub-page{height:auto;overflow:visible}.hub-page-inner{height:auto;padding-top:0;padding-bottom:0;max-width:var(--container-max);margin:0 auto}.hub-hero{padding:48px 0 24px}.hub-hero h1{font-size:clamp(2rem,6vw,3.2rem)}.hub-activities{gap:10px;padding:20px 0}.hub-activity{padding:18px 24px;border-radius:var(--radius-md);border:1px solid var(--color-border)}.hub-activity-title{font-size:.95rem}.hub-featured{margin:20px 0 0;max-width:860px;height:200px}.hub-featured-overlay{padding:40px}.hub-featured-text h3{font-size:.85rem}.hub-featured-text p{font-size:.75rem}}.agenda-top{position:relative}.agenda-map-thumb-wrap{position:absolute;top:0;right:0;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;z-index:10;-webkit-tap-highlight-color:transparent}.agenda-map-thumb-label{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted)}.agenda-map-thumb{width:95px;height:95px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--color-border);transition:opacity var(--transition-fast)}.agenda-map-thumb:active{opacity:.7}.agenda-map-overlay{position:fixed;inset:0;z-index:500;background:#000000e6;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease}.agenda-map-popup{position:relative;max-width:95vw;max-height:90vh}.agenda-map-popup img{max-width:100%;max-height:85vh;object-fit:contain;border-radius:var(--radius-md)}.agenda-map-close{position:absolute;top:-12px;right:-12px;width:36px;height:36px;border-radius:50%;background:#ffffff1a;color:var(--color-cream);display:flex;align-items:center;justify-content:center;font-size:1rem;border:none;cursor:pointer;-webkit-tap-highlight-color:transparent;z-index:1}.agenda-timeline{position:relative;max-width:680px;margin:0 auto}.agenda-timeline:before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:2px;background:linear-gradient(to bottom,var(--color-accent),rgba(228,0,43,.15))}.agenda-group{display:flex;gap:20px;padding:20px 0;position:relative}.agenda-dot{width:16px;min-width:16px;height:16px;border-radius:50%;background:var(--color-bg);border:3px solid var(--color-accent);margin-top:6px;z-index:1}.agenda-dot-active{background:var(--color-accent);animation:dotPulse 1.8s ease-in-out infinite;box-shadow:0 0 12px var(--color-accent-glow)}@keyframes dotPulse{0%,to{background:var(--color-accent);box-shadow:0 0 12px var(--color-accent-glow)}50%{background:transparent;box-shadow:0 0 4px var(--color-accent-glow)}}.agenda-group-body{flex:1}.agenda-time{font-size:1.95rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-accent);margin-bottom:8px}.agenda-entry{margin-bottom:10px}.agenda-entry:last-child{margin-bottom:0}.agenda-entry h3{font-size:1.05rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;margin-bottom:2px;color:var(--color-cream)}.agenda-entry p{color:var(--color-text-secondary);font-size:1.05rem;font-weight:300;line-height:1.5}@media(min-width:769px){.agenda-group{gap:28px;padding:28px 0}.agenda-time{font-size:2.25rem}}.updates-feed{max-width:680px;margin:0 auto;display:flex;flex-direction:column;gap:12px}.update-card{padding:16px 18px;animation:slideInRight .4s ease}.update-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.update-type{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;padding:3px 10px;border-radius:var(--radius-sm)}.update-type.announcement{background:var(--color-accent);color:#fff}.update-type.info{background:#f5e6c81a;color:var(--color-text-secondary)}.update-type.winner{background:var(--color-cream);color:var(--color-bg)}.update-time{font-size:.65rem;color:var(--color-text-muted);font-weight:500}.update-card p{font-size:.85rem;line-height:1.6;color:var(--color-cream)}.updates-empty{text-align:center;padding:60px 20px;color:var(--color-text-muted)}.updates-empty-icon{font-size:2.5rem;margin-bottom:12px;opacity:.4}.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--color-accent);animation:pulse 1.5s ease-in-out infinite;margin-right:8px;vertical-align:middle;box-shadow:0 0 8px var(--color-accent-glow)}@media(min-width:769px){.update-card{padding:20px 24px}}.prizes-grid{display:grid;grid-template-columns:1fr;gap:12px;max-width:680px;margin:0 auto}.prize-card{position:relative;padding:20px 18px;display:flex;gap:16px;align-items:flex-start}.prize-number{font-size:2rem;font-weight:700;color:#e4002b26;line-height:1;min-width:40px}.prize-info h3{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;color:var(--color-cream)}.prize-info p{font-size:.78rem;color:var(--color-text-secondary);font-weight:300;line-height:1.5}.prize-winner-badge{display:inline-block;margin-top:10px;padding:5px 12px;background:var(--color-accent);color:#fff;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;border-radius:var(--radius-sm)}@media(min-width:769px){.prizes-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;max-width:860px}.prize-card{flex-direction:column;padding:28px 24px}}.competition-layout{display:grid;grid-template-columns:1fr;gap:32px;align-items:start}.competition-upload{padding:24px 18px}.dropzone{border:2px dashed var(--color-border);border-radius:var(--radius-md);padding:40px 20px;text-align:center;cursor:pointer;transition:all var(--transition-normal);margin-bottom:16px;min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent}.dropzone:active,.dropzone.active{border-color:var(--color-accent);background:#e4002b0a}.dropzone-icon{font-size:2rem;margin-bottom:10px;opacity:.5}.dropzone p{color:var(--color-text-secondary);font-size:.82rem}.dropzone p strong{color:var(--color-accent)}.upload-preview{position:relative;border-radius:var(--radius-md);overflow:hidden;margin-bottom:16px;border:1px solid var(--color-border)}.upload-preview img{width:100%;max-height:240px;object-fit:contain;background:var(--color-surface)}.upload-preview-remove{position:absolute;top:8px;right:8px;width:40px;height:40px;border-radius:50%;background:#000c;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1rem;-webkit-tap-highlight-color:transparent}.competition-rules{margin-bottom:20px}.competition-rules h3{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;margin-bottom:12px;color:var(--color-cream)}.competition-rules li{color:var(--color-text-secondary);font-size:.78rem;padding:4px 0 4px 18px;position:relative;list-style:none;font-weight:300}.competition-rules li:before{content:"";position:absolute;left:0;top:11px;width:6px;height:2px;background:var(--color-accent)}.submissions-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.submission-card{overflow:hidden}.submission-card img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--radius-md) var(--radius-md) 0 0}.submission-info{padding:8px 12px;display:flex;align-items:center;justify-content:space-between}.submission-info span{font-size:.7rem;color:var(--color-text-secondary)}.submission-submitted-badge{font-size:.6rem;font-weight:700;color:var(--color-success);text-transform:uppercase;letter-spacing:.06em}@media(min-width:769px){.competition-layout{grid-template-columns:1fr 1fr;gap:40px}.competition-upload{padding:32px 28px}.submissions-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}}.qr-admin{text-align:center;padding:60px var(--container-padding);max-width:480px;margin:0 auto}.qr-admin h1{font-size:1.4rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;color:var(--color-cream)}.qr-admin>p{color:var(--color-text-secondary);margin-bottom:32px;font-weight:300;font-size:.85rem}.qr-card{padding:28px 20px;margin-bottom:24px}.qr-card canvas,.qr-card svg{margin:0 auto 16px;max-width:240px}.qr-url{font-size:.75rem;color:var(--color-text-muted);word-break:break-all;padding:12px;background:var(--color-surface);border-radius:var(--radius-sm);font-weight:500}.qr-actions{display:flex;flex-direction:column;gap:10px}.qr-actions .btn{width:100%}@media(min-width:769px){.qr-actions{flex-direction:row;justify-content:center}.qr-actions .btn{width:auto}}.spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .7s linear infinite;margin:40px auto}@keyframes spin{to{transform:rotate(360deg)}}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:16px;color:var(--color-text-muted);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em}.upload-progress{width:100%;height:4px;background:var(--color-surface);border-radius:var(--radius-full);overflow:hidden;margin-top:12px}.upload-progress-bar{height:100%;background:var(--color-accent);border-radius:var(--radius-full);transition:width .3s ease}.stylize-page{display:flex;flex-direction:column;height:calc(100dvh - 64px - var(--safe-top) - 72px - var(--safe-bottom));height:calc(100vh - 136px);overflow:hidden}@supports (height: 100dvh){.stylize-page{height:calc(100dvh - 64px - var(--safe-top) - 72px - var(--safe-bottom))}}.stylize-inner{display:flex;flex-direction:column;height:100%;padding:4px var(--container-padding) 8px}.stylize-header{text-align:center;flex-shrink:0;margin-bottom:2px}.stylize-title{font-size:1.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-cream)}.stylize-title span{color:var(--color-accent)}.stylize-subtitle{font-size:.8rem;color:var(--color-text-secondary);font-weight:300;margin-top:2px}.stylize-wall-note{font-size:.7rem;color:var(--color-text-muted);font-weight:400;margin-top:16px;text-align:center}.stylize-off{justify-content:flex-start}.stylize-off-img{width:100%;max-width:400px;margin:0 auto;border-radius:var(--radius-md);object-fit:contain}.stylize-counter{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--color-accent);margin-top:6px}.stylize-picker{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}.stylize-picker-icon{margin-bottom:8px;opacity:.7}.stylize-pick-btn{width:100%;max-width:300px;min-height:54px;font-size:.9rem}.stylize-preview-wrap{flex:1;display:flex;flex-direction:column;min-height:0}.stylize-preview{flex:1;min-height:0;width:100%;object-fit:contain;border-radius:var(--radius-md);background:var(--color-surface)}.stylize-actions{display:flex;gap:10px;margin-top:12px;flex-shrink:0}.stylize-go{flex:2;min-height:52px;font-size:1.1rem}.stylize-retry{flex:1;min-height:52px;font-size:.75rem}.stylize-loading{display:flex;flex-direction:column;align-items:center;padding:20px 0;flex-shrink:0}.stylize-loading .spinner{margin:0 0 10px}.stylize-loading-text{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-secondary)}.stylize-timer{font-size:1.5rem;font-weight:700;color:var(--color-accent);margin-top:4px;font-variant-numeric:tabular-nums}.stylize-result{display:flex;flex-direction:column;height:100%}.stylize-result-img{flex:1;min-height:0;width:100%;object-fit:contain;border-radius:var(--radius-md);background:var(--color-surface)}.stylize-result-actions{display:flex;gap:10px;margin-top:12px;flex-shrink:0}.stylize-result-actions .btn{flex:1;min-height:52px}.stylize-new-btn{cursor:pointer}.stylize-main,.stylize-processing{flex:1;display:flex;flex-direction:column;min-height:0}.stylize-error-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.stylize-thumbs{display:flex;gap:8px;padding:10px 0 2px;flex-shrink:0;overflow-x:auto;-webkit-overflow-scrolling:touch}.stylize-thumbs::-webkit-scrollbar{display:none}.stylize-thumb{position:relative;width:56px;height:56px;min-width:56px;border-radius:var(--radius-sm);overflow:hidden;border:2px solid transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}.stylize-thumb.active{border-color:var(--color-accent);box-shadow:0 0 10px var(--color-accent-glow)}.stylize-thumb.processing{opacity:.6}.stylize-thumb img{width:100%;height:100%;object-fit:cover}.stylize-thumb-spinner{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0a0a0a80}.stylize-thumb-spinner:after{content:"";width:18px;height:18px;border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .7s linear infinite}.stylize-thumb-delete{position:absolute;top:2px;right:2px;width:18px;height:18px;border-radius:50%;background:#000000b3;color:#fff;font-size:.55rem;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition-fast);-webkit-tap-highlight-color:transparent}.stylize-thumb:active .stylize-thumb-delete,.stylize-thumb:hover .stylize-thumb-delete{opacity:1}.stylize-thumb-add{display:flex;align-items:center;justify-content:center;border:2px dashed var(--color-border);cursor:pointer;background:none}.stylize-thumb-add span{font-size:1.2rem;color:var(--color-text-muted)}@media(min-width:769px){.stylize-page{height:auto;min-height:80vh}.stylize-inner{max-width:600px;margin:0 auto;padding-top:40px}.stylize-title{font-size:2.2rem}.stylize-thumb-delete{opacity:.7}}.badge-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;padding:40px var(--container-padding);background:var(--color-bg);text-align:center;animation:fadeInUp .5s ease}.badge-glow{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,var(--color-accent-glow) 0%,transparent 70%);pointer-events:none}.badge-inner{position:relative;z-index:1}.badge-artwork{width:160px;height:auto;margin:0 auto 20px;border-radius:var(--radius-md)}.badge-check{width:80px;height:80px;margin:0 auto 20px;background:var(--color-accent);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2.5rem;color:#fff;box-shadow:0 0 60px var(--color-accent-glow)}.badge-status{font-size:2.2rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--color-accent);margin-bottom:8px}.badge-name{font-size:1.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-cream)}.badge-divider{width:60px;height:3px;background:var(--color-accent);margin:20px auto}.badge-event{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-secondary)}.badge-meta{font-size:.7rem;font-weight:500;color:var(--color-text-muted);margin-top:6px;letter-spacing:.06em}.badge-enter{position:relative;z-index:1;margin-top:40px;width:100%;max-width:300px;min-height:54px;font-size:1rem}.waiting-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;padding:40px var(--container-padding);background:var(--color-bg);text-align:center;animation:fadeInUp .5s ease}.waiting-inner{max-width:400px}.waiting-icon{width:80px;height:80px;margin:0 auto 20px;background:#e4002b26;border:2px solid var(--color-accent);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;color:var(--color-accent)}.waiting-title{font-size:1.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-cream);margin-bottom:4px}.waiting-name{font-size:1.2rem;font-weight:600;color:var(--color-accent);margin-bottom:8px}.waiting-event{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-secondary)}.waiting-meta{font-size:.7rem;color:var(--color-text-muted);margin-top:6px;letter-spacing:.06em}.waiting-instructions{margin-top:32px;padding:20px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md)}.waiting-instructions p{font-size:.85rem;color:var(--color-text-secondary);line-height:1.6}.waiting-instructions strong{color:var(--color-cream)}.ticket-page{display:flex;flex-direction:column;align-items:center;justify-content:center;height:calc(100dvh - 64px - var(--safe-top) - 72px - var(--safe-bottom));height:calc(100vh - 136px);padding:20px var(--container-padding);text-align:center}@supports (height: 100dvh){.ticket-page{height:calc(100dvh - 64px - var(--safe-top) - 72px - var(--safe-bottom))}}.ticket-inner{width:100%;max-width:400px}.ticket-registered-icon{width:80px;height:80px;margin:0 auto 16px;background:#e4002b26;border:2px solid var(--color-accent);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;color:var(--color-accent)}.ticket-registered-label{font-size:1.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--color-cream);margin-bottom:4px}.ticket-registered-name{font-size:1.3rem;font-weight:600;color:var(--color-accent);margin-bottom:20px}.ticket-checkin-btn{width:100%;min-height:58px;font-size:1.1rem}.ticket-camera-prompt{margin-top:24px;text-align:center}.ticket-camera-icon{color:var(--color-accent);margin-bottom:16px}.ticket-camera-text{font-size:.9rem;color:var(--color-text-secondary);font-weight:400;line-height:1.6;margin-bottom:24px}.ticket-scanner{width:100%;max-width:300px;margin:0 auto 12px;border-radius:var(--radius-md);overflow:hidden;aspect-ratio:1}.ticket-scanning-text{font-size:.8rem;color:var(--color-text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.08em}.create-page{padding:40px 0}.create-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.create-item{padding:18px var(--container-padding);background:var(--color-bg-card);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);position:relative}.create-item:before{content:"";position:absolute;left:0;top:0;width:3px;height:100%;background:var(--color-accent)}.create-item-header{display:flex;align-items:center;gap:12px;margin-bottom:6px}.create-item-icon{font-size:1.2rem;color:var(--color-accent);flex-shrink:0}.create-item-title{font-size:clamp(1.1rem,5vw,1.8rem);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-cream)}.create-item-desc{font-size:1.05rem;color:var(--color-text-secondary);font-weight:300;line-height:1.6;padding-left:0}.collect-page{padding:40px 0}.collect-description{font-size:1.05rem;color:var(--color-text-secondary);font-weight:300;line-height:1.7}.collect-link{display:inline-flex;margin-top:28px;margin-bottom:32px;min-height:54px;font-size:1rem;width:100%;max-width:400px}.collect-info{display:flex;flex-direction:column;gap:16px}.collect-info-item{padding:20px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);position:relative}.collect-info-item:before{content:"";position:absolute;left:0;top:0;width:3px;height:100%;background:var(--color-accent)}.collect-info-item h3{font-size:1.1rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-cream);margin-bottom:6px}.collect-info-item p{font-size:1.05rem;color:var(--color-text-secondary);font-weight:300;line-height:1.6}.nav-locked{opacity:.4!important}.nav-lock-icon{font-size:.55em;margin-left:4px;vertical-align:middle}.checkin-btn-locked{opacity:.45;cursor:pointer!important;font-size:.6rem!important}.checkin-btn-locked:active{opacity:.6}.checkin-hint-overlay{position:fixed;inset:0;z-index:200;background:#000000b3;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:24px;animation:fadeIn .2s ease}.checkin-hint{background:#141414;border:1px solid rgba(245,230,200,.12);border-radius:var(--radius-lg, 12px);padding:32px 28px;max-width:320px;width:100%;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;animation:slideUp .25s ease}.checkin-hint-icon{opacity:.6;margin-bottom:4px}.checkin-hint-title{font-family:var(--font-family);font-size:1.15rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--color-cream);margin:0}.checkin-hint-text{font-size:.95rem;color:var(--color-text-secondary);line-height:1.5;margin:0}.checkin-hint-close{margin-top:8px;width:100%;font-size:.75rem}.checkin-scanner-modal{max-width:340px;padding:24px 20px;position:relative}.checkin-scanner-close{position:absolute;top:10px;right:12px;background:none;border:none;color:var(--color-cream);font-size:1.3rem;cursor:pointer;opacity:.6;transition:opacity .15s;line-height:1;padding:4px}.checkin-scanner-close:hover{opacity:1}.checkin-scanner-viewport{width:100%;border-radius:8px;overflow:hidden;min-height:220px}.checkin-scanner-viewport video{border-radius:8px}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.checkin-modal-overlay{position:fixed;inset:0;z-index:300;background:#000c;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;padding:24px;animation:fadeIn .25s ease}.checkin-modal{position:relative;background:#111;border:1px solid rgba(245,230,200,.12);border-radius:var(--radius-lg, 12px);padding:36px 28px 28px;max-width:360px;width:100%;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;animation:slideUp .3s ease}.checkin-modal-close{position:absolute;top:10px;right:12px;background:none;border:none;color:var(--color-cream);font-size:1.3rem;cursor:pointer;opacity:.5;transition:opacity .15s;line-height:1;padding:4px;z-index:1}.checkin-modal-close:hover{opacity:1}.checkin-modal-logo{width:70%;max-width:220px;height:auto;margin-bottom:4px}.checkin-modal-badge{width:56px;height:56px;border-radius:50%;background:#4caf5026;border:2px solid rgba(76,175,80,.5);display:flex;align-items:center;justify-content:center;font-size:1.6rem;color:#4caf50;margin-bottom:4px}.checkin-modal-title{font-family:var(--font-family);font-size:1.4rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--color-cream);margin:0}.checkin-modal-subtitle{font-size:.9rem;color:var(--color-text-secondary);line-height:1.5;margin:0 0 8px}.checkin-modal-form{width:100%;display:flex;flex-direction:column;gap:10px}.checkin-modal-input{width:100%;padding:12px 14px;font-family:var(--font-family);font-size:.95rem;color:var(--color-cream);background:#ffffff0f;border:1px solid rgba(245,230,200,.15);border-radius:var(--radius-sm, 6px);outline:none;transition:border-color .2s;box-sizing:border-box}.checkin-modal-input:focus{border-color:#f5e6c866}.checkin-modal-input::placeholder{color:#f5e6c84d}.checkin-modal-btn{width:100%;margin-top:4px}.kiosk-page{position:fixed;inset:0;background:#000;display:flex;align-items:center;justify-content:center;z-index:9999;overflow:hidden}.kiosk-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.kiosk-bg-portrait,.kiosk-bg-landscape{display:none}.kiosk-qr-overlay{position:absolute;z-index:1;display:flex;align-items:center;justify-content:center;line-height:0}.kiosk-login{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center;padding:32px}.kiosk-login-logo{width:50vw;max-width:400px;height:auto}.kiosk-signout{position:fixed;bottom:12px;right:12px;background:transparent;border:1px solid rgba(245,230,200,.15);color:#f5e6c84d;font-family:var(--font-family);font-size:.6rem;text-transform:uppercase;letter-spacing:.1em;padding:6px 12px;border-radius:4px;cursor:pointer;transition:all .2s;z-index:10}.kiosk-signout:hover{color:#f5e6c8cc;border-color:#f5e6c866}@media(orientation:portrait){.kiosk-bg-portrait{display:block}.kiosk-bg-landscape{display:none}.kiosk-qr-overlay{top:50%;left:50%;transform:translate(-50%,1%)}}@media(orientation:landscape){.kiosk-bg-portrait{display:none}.kiosk-bg-landscape{display:block}.kiosk-qr-overlay{top:50%;right:8%;transform:translate(-2%,-52%)}}
