:root{--joy-red:#d2361e;--mrclean-blue:#2c5e8a;--comet-green:#2a5a35;--vel-pink:#d15f80;--downy-yellow:#e8a923;--ink-charcoal:#1e1e1e;--paper-cream:#f4ece1;--paper-cream-dark:#ede3d4;--paper-white:#fcf9f5;--font-display:"Lilita One", cursive, sans-serif;--font-script:"Playfair Display", Georgia, serif;--font-body:"Space Grotesk", sans-serif;--transition-fast:.15s ease-in-out;--transition-slow:.3s cubic-bezier(.175, .885, .32, 1.275)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--paper-cream);color:var(--ink-charcoal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;position:relative;overflow-x:hidden}body:before{content:"";z-index:9999;pointer-events:none;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");width:100vw;height:100vh;position:fixed;top:0;left:0}.halftone-overlay{pointer-events:none;opacity:.025;z-index:1;background-image:radial-gradient(var(--ink-charcoal) 1px, transparent 1px);background-size:8px 8px;position:absolute;inset:0}#root{z-index:2;flex-direction:column;min-height:100vh;display:flex;position:relative}.app-container{flex-direction:column;flex:1;gap:32px;width:100%;max-width:1200px;margin:0 auto;padding:24px;display:flex}.font-display{font-family:var(--font-display)}.font-script{font-family:var(--font-script)}.font-body{font-family:var(--font-body)}.ink-bleed{filter:contrast(1.1)brightness(.95);text-shadow:.5px .5px #0000000d}.coupon-box{border:3px dashed var(--ink-charcoal);background-color:var(--paper-white);box-shadow:4px 4px 0px var(--ink-charcoal);transition:transform var(--transition-fast), box-shadow var(--transition-fast);padding:16px;position:relative}.ticket-cutouts{position:relative}.ticket-cutouts:before,.ticket-cutouts:after{content:"";background-color:var(--paper-cream);border:3px solid var(--ink-charcoal);z-index:5;border-radius:50%;width:24px;height:24px;position:absolute;top:50%;transform:translateY(-50%)}.ticket-cutouts:before{left:-15px}.ticket-cutouts:after{right:-15px}.scalloped-card{background-color:var(--paper-white);border-left:3px solid var(--ink-charcoal);border-right:3px solid var(--ink-charcoal);box-shadow:5px 5px 0px var(--ink-charcoal);padding:24px 16px;position:relative}.scalloped-card:before{content:"";background-image:radial-gradient(circle at 10px -2px, var(--paper-cream) 6px, transparent 7px), radial-gradient(circle at 10px -2px, transparent 6px, var(--ink-charcoal) 7px);background-repeat:repeat-x;background-size:20px 8px;height:8px;position:absolute;top:-8px;left:0;right:0}.scalloped-card:after{content:"";background-image:radial-gradient(circle at 10px 10px, var(--paper-cream) 6px, transparent 7px), radial-gradient(circle at 10px 10px, transparent 6px, var(--ink-charcoal) 7px);background-repeat:repeat-x;background-size:20px 8px;height:8px;position:absolute;bottom:-8px;left:0;right:0}.retro-badge{border:3px dashed var(--ink-charcoal);text-align:center;font-family:var(--font-display);transition:transform var(--transition-slow);border-radius:50%;justify-content:center;align-items:center;display:flex;transform:rotate(-5deg)}.retro-badge:hover{transform:rotate(5deg)scale(1.05)}.retro-tab{font-family:var(--font-display);background-color:var(--paper-white);border:3px solid var(--ink-charcoal);color:var(--ink-charcoal);cursor:pointer;box-shadow:3px 3px 0px var(--ink-charcoal);transition:transform var(--transition-fast), box-shadow var(--transition-fast), background-color var(--transition-fast);text-transform:uppercase;padding:12px 24px;font-size:1.1rem}.retro-tab:hover{box-shadow:4px 4px 0px var(--ink-charcoal);background-color:var(--paper-cream-dark);transform:translate(-1px,-1px)}.retro-tab:active{box-shadow:1px 1px 0px var(--ink-charcoal);transform:translate(2px,2px)}.retro-tab.active{background-color:var(--brand-color,var(--joy-red));color:var(--paper-white);box-shadow:1px 1px 0px var(--ink-charcoal);transform:translate(2px,2px)}.retro-input{width:100%;font-family:var(--font-body);border:3px solid var(--ink-charcoal);background-color:var(--paper-white);color:var(--ink-charcoal);outline:none;padding:12px 16px;font-size:1rem;font-weight:500;box-shadow:inset 2px 2px #0000000d}.retro-input:focus{border-color:var(--mrclean-blue);background-color:#fff}.retro-btn{font-family:var(--font-display);background-color:var(--brand-color,var(--mrclean-blue));color:var(--paper-white);border:3px solid var(--ink-charcoal);cursor:pointer;box-shadow:4px 4px 0px var(--ink-charcoal);transition:transform var(--transition-fast), box-shadow var(--transition-fast);text-transform:uppercase;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:1.1rem;display:inline-flex}.retro-btn:hover{box-shadow:6px 6px 0px var(--ink-charcoal);transform:translate(-2px,-2px)}.retro-btn:active{box-shadow:2px 2px 0px var(--ink-charcoal);transform:translate(2px,2px)}@keyframes slotScroll{0%{transform:translateY(0)}to{transform:translateY(-50%)}}@keyframes leverPull{0%{transform:scaleY(1)}30%{transform:scaleY(.4)translateY(30px)}to{transform:scaleY(1)}}@keyframes itemBounce{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-8px)rotate(1deg)}}.animate-lever{transform-origin:bottom;animation:.5s ease-in-out leverPull}.animate-reel{animation:2s cubic-bezier(.1,.8,.1,1) slotScroll}@media (width<=768px){.app-container{gap:20px;padding:12px}.retro-tab{padding:8px 16px;font-size:.9rem}}
