@import"https://fonts.googleapis.com/css2?family=Slackey&family=Inter:wght@400;700;900&display=swap";:root{--forest: #FF5B22;--forest-light: #40916C;--forest-dark: #1B4332;--sky: #D3FF33;--sky-dark: #D3FF33;--cream: #ffffff;--card-bg: #38e8ff;--input-bg: #ffffff;--heading-text: #000000;--date-color: #000000;--card-waldo-bg: #d494ff;--chip-visual-bg: #D3FF33;--claimed-overlay-color: #FF6B6B;--chip-name-color: #D3FF33;--popup-bg: #38e8ff;--popup-text: #FF5B22;--off-white: #FAFAF5;--near-black: #0B1D0B;--black: #111111;--coral: #FF6B6B;--gold: #D3FF33;--gold-light: #FCBF49;--font-display: "Slackey", system-ui, sans-serif;--font-body: "Inter", system-ui, sans-serif;--border-thick: 4px solid var(--black);--border-medium: 3px solid var(--black);--border-thin: 2px solid var(--black);--radius-lg: 20px;--radius-md: 14px;--radius-sm: 8px;--shadow-hard: 5px 5px 0 var(--black);--shadow-hard-sm: 3px 3px 0 var(--black);--shadow-pressed: 1px 1px 0 var(--black);--text-shadow-color: #D3FF33;--intro-text-shadow: #D3FF33;--title-transform: uppercase;--body-transform: none}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow:hidden}body{font-family:var(--font-body);color:var(--cream);background:var(--forest);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.screen{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;pointer-events:none;z-index:0}.screen.active{opacity:1;pointer-events:all;z-index:10}.btn{font-family:var(--font-display);font-weight:900;font-size:clamp(1rem,2.5vw,1.3rem);text-transform:var(--title-transform, uppercase);letter-spacing:.05em;padding:.8em 2em;border:var(--border-thick);border-radius:var(--radius-md);box-shadow:var(--shadow-hard);cursor:pointer;transition:transform .1s,box-shadow .1s;text-decoration:none;display:inline-flex;align-items:center;gap:.5em}.btn:hover{transform:translate(2px,2px);box-shadow:var(--shadow-hard-sm)}.btn:active{transform:translate(4px,4px);box-shadow:var(--shadow-pressed)}.btn-primary{background:var(--sky);color:var(--black)}.btn-secondary{background:var(--gold);color:var(--black)}.btn-dark{background:var(--forest);color:var(--cream)}#screen-start{background:var(--forest);gap:2rem}.start-title{font-family:var(--font-display);font-weight:900;font-size:clamp(3.5rem,14vw,10rem);color:var(--heading-text);letter-spacing:-.03em;line-height:.9;text-align:center;text-shadow:6px 6px 0 var(--text-shadow-color)}.start-subtitle{font-family:var(--font-body);font-size:clamp(.9rem,2vw,1.2rem);color:var(--sky);letter-spacing:.15em;text-transform:var(--body-transform, none)}.start-deco{position:absolute;width:clamp(80px,16vw,160px);pointer-events:none;user-select:none}.start-deco img{width:100%;height:auto;display:block}.start-deco:nth-child(1){top:4%;left:3%}.start-deco:nth-child(2){top:4%;right:3%}.start-deco:nth-child(3){bottom:6%;left:3%}.start-deco:nth-child(4){bottom:6%;right:3%}.chip-orbit-overlay{position:fixed;inset:0;z-index:15;pointer-events:none;opacity:0}#screen-intro{background:var(--forest);overflow:hidden}.intro-chip{position:absolute;width:clamp(120px,24vw,240px);height:clamp(168px,33.6vw,336px);pointer-events:none;will-change:transform}.intro-chip img{width:100%;height:100%;object-fit:contain}.waldo-peek{position:absolute;bottom:-10px;right:10%;width:clamp(50px,8vw,80px);will-change:transform}#screen-password{background:var(--forest);gap:1.5rem}.password-prompt{font-family:var(--font-display);font-weight:900;font-size:clamp(1.4rem,4vw,2.5rem);color:var(--heading-text);text-align:center;max-width:600px}.password-prompt-sub{font-family:var(--font-body);font-size:clamp(.85rem,1.8vw,1rem);color:var(--sky);text-align:center;margin-top:-.5rem}.password-form{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;justify-content:center}.input-field{font-family:var(--font-body);font-size:clamp(1rem,2.5vw,1.3rem);font-weight:700;padding:.7em 1.2em;border:var(--border-thick);border-radius:var(--radius-md);background:var(--input-bg);color:var(--black);outline:none;text-align:center;min-width:200px;box-shadow:var(--shadow-hard)}.input-field:focus{border-color:var(--sky);box-shadow:5px 5px 0 var(--sky-dark)}.input-field.error{border-color:var(--coral);box-shadow:5px 5px 0 var(--coral)}.password-error{font-family:var(--font-body);font-size:.9rem;color:var(--coral);min-height:1.4em;text-align:center}.password-hint{font-size:.8rem;color:#fdf6ec4d;margin-top:1rem}#screen-info{background:var(--forest);gap:1.5rem;padding:3rem 2rem 2rem;overflow-y:auto;justify-content:flex-start}.info-date{font-family:var(--font-display);font-weight:900;font-size:clamp(2rem,6vw,4rem);color:var(--date-color);text-align:center;text-shadow:3px 3px 0 var(--text-shadow-color)}.info-time{font-family:var(--font-display);font-weight:700;font-size:clamp(1.2rem,3vw,2rem);color:var(--sky);text-align:center}.info-location{font-family:var(--font-body);font-size:clamp(.9rem,2vw,1.1rem);color:var(--cream);text-align:center;position:relative}.location-trigger{cursor:pointer;border-bottom:1px dashed rgba(255,255,255,.4);transition:border-color .2s}.location-trigger:hover{border-bottom-color:var(--cream)}.location-popup{position:absolute;top:calc(100% + 12px);left:50%;transform:translate(-50%) scale(.9);background:var(--popup-bg);border-radius:12px;padding:8px;box-shadow:0 8px 30px #00000059;opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease;z-index:100;width:clamp(160px,50vw,260px)}.location-popup.visible{opacity:1;transform:translate(-50%) scale(1);pointer-events:auto}.location-popup img{width:100%;border-radius:8px;display:block}.location-popup-text{display:block;text-align:center;font-family:var(--font-display);font-size:clamp(.7rem,1.5vw,.85rem);color:var(--popup-text);padding:6px 0 2px;font-weight:700}.info-cards{display:flex;gap:1.5rem;flex-wrap:wrap;justify-content:center;max-width:700px;width:100%}.info-card{flex:1;min-width:250px;max-width:320px;perspective:1000px;cursor:pointer}.info-card-inner{display:grid;width:100%;height:100%;text-align:center;transition:transform .6s cubic-bezier(.4,0,.2,1);transform-style:preserve-3d}.info-card.flipped .info-card-inner{transform:rotateY(180deg)}.info-card-front,.info-card-back{grid-area:1 / 1;width:100%;height:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;border:var(--border-thick);border-radius:var(--radius-lg);box-shadow:var(--shadow-hard);padding:1.5rem;display:flex;flex-direction:column;align-items:center;justify-content:center}.info-card-chips .info-card-front,.info-card-chips .info-card-back{background:var(--card-bg);color:var(--black)}.info-card-waldo .info-card-front,.info-card-waldo .info-card-back{background:var(--card-waldo-bg);color:var(--black)}.info-card-back{transform:rotateY(180deg)}.info-card h3{font-family:var(--font-display);font-weight:900;font-size:1.2rem;margin-bottom:.5rem}.info-card p{font-size:.9rem;line-height:1.4}.info-card .card-emoji{font-size:2.5rem;margin-bottom:.5rem;display:block}.info-card .card-image{width:clamp(60px,15vw,100px);max-height:100px;height:auto;margin-bottom:.5rem;border-radius:8px;object-fit:contain}.info-card .card-image-charlie{width:clamp(120px,30vw,180px);max-height:120px}.info-chip-teaser{width:clamp(120px,20vw,180px);height:clamp(168px,28vw,252px);margin-top:2rem}.info-confirmation{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-top:1rem}.info-confirmation-label{font-family:var(--font-body);font-size:clamp(.9rem,2vw,1.1rem);color:var(--cream);opacity:.8}.info-confirmation-chip-name{font-family:var(--font-display);font-weight:900;font-size:clamp(1.2rem,3vw,1.8rem);color:var(--chip-name-color);text-align:center;text-shadow:2px 2px 0 var(--text-shadow-color)}.info-confirmation-3d{width:clamp(150px,25vw,220px);height:clamp(210px,35vw,308px)}.info-confirmation-footer{color:var(--sky);font-size:.9rem;margin-top:.5rem}#screen-picker{background:var(--forest);padding:1.5rem 1.5rem 6rem;overflow-y:auto;justify-content:flex-start;gap:1.5rem}.back-btn{background:none;border:none;color:var(--cream);font-family:var(--font-body);font-size:clamp(.85rem,1.5vw,1rem);cursor:pointer;opacity:.7;transition:opacity .2s;padding:.3rem 0}.back-btn:hover{opacity:1}.picker-header{text-align:center;width:100%;max-width:900px}.picker-title{font-family:var(--font-display);font-weight:900;font-size:clamp(1.6rem,4vw,2.8rem);color:var(--heading-text);text-shadow:3px 3px 0 var(--text-shadow-color)}.picker-subtitle{font-family:var(--font-body);font-size:clamp(.85rem,1.5vw,1rem);color:var(--sky);margin-top:.3rem}.picker-name-section{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;justify-content:center}.picker-name-label{font-family:var(--font-display);font-weight:700;font-size:1rem;color:var(--heading-text)}.brand-section{width:100%;max-width:900px;margin-bottom:.5rem}.brand-title{font-family:var(--font-display);font-weight:900;font-size:clamp(1.1rem,2.5vw,1.5rem);color:var(--gold);margin-bottom:.8rem;padding-left:.5rem;border-left:4px solid var(--gold)}.brand-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}.chip-card{border:var(--border-thick);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:transform .15s,box-shadow .15s;box-shadow:var(--shadow-hard);position:relative}.chip-card.available:hover{transform:translate(2px,2px) scale(1.02);box-shadow:var(--shadow-hard-sm)}.chip-card.selected{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold),var(--shadow-hard);transform:scale(1.03)}.chip-card.claimed{cursor:not-allowed}.chip-card.claimed .chip-card-visual,.chip-card.claimed .chip-card-info{opacity:.55;filter:grayscale(.4)}.chip-card-visual{width:100%;aspect-ratio:5/7;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:var(--chip-visual-bg)}.chip-card-visual canvas,.chip-card-visual img{width:100%;height:100%;object-fit:cover}.chip-card-info{padding:.6rem .8rem;background:var(--card-bg);color:var(--black);border-top:var(--border-medium)}.chip-flavor{font-family:var(--font-display);font-weight:700;font-size:.85rem;line-height:1.25;min-height:2.5em;display:flex;align-items:center}.chip-claimed-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:1rem;background:transparent;font-family:var(--font-display);font-size:clamp(.95rem,2.5vw,1.2rem);font-weight:900;color:var(--claimed-overlay-color);text-align:center;text-transform:uppercase;letter-spacing:.04em;text-shadow:0 1px 6px rgba(0,0,0,.8),0 0 2px rgba(0,0,0,.6);z-index:3;pointer-events:none}.confirm-bar{position:fixed;bottom:0;left:0;right:0;background:var(--forest-dark);border-top:var(--border-thick);padding:1rem 2rem;display:flex;align-items:center;justify-content:center;gap:1rem;transform:translateY(100%);transition:transform .3s cubic-bezier(.33,1,.68,1);z-index:100}.confirm-bar.visible{transform:translateY(0)}.confirm-bar .selection-label{font-family:var(--font-body);font-size:.95rem;color:var(--cream)}.success-overlay{position:fixed;inset:0;background:var(--forest);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;z-index:200;opacity:0;pointer-events:none;padding:2rem;text-align:center}.success-overlay.active{opacity:1;pointer-events:all}.success-emoji{font-size:4rem}.success-title{font-family:var(--font-display);font-weight:900;font-size:clamp(2rem,5vw,3rem);color:var(--gold)}.success-message{font-family:var(--font-body);font-size:clamp(1rem,2vw,1.2rem);color:var(--cream);max-width:500px;line-height:1.6}.error-toast{position:fixed;top:2rem;left:50%;transform:translate(-50%) translateY(-150%);opacity:0;pointer-events:none;background:var(--coral);color:var(--black);font-family:var(--font-display);font-weight:700;font-size:.95rem;padding:.8rem 1.5rem;border:var(--border-thick);border-radius:var(--radius-md);box-shadow:var(--shadow-hard);z-index:300;transition:transform .3s cubic-bezier(.33,1,.68,1),opacity .3s ease;max-width:90vw;text-align:center}.error-toast.visible{transform:translate(-50%) translateY(0);opacity:1;pointer-events:auto}@media(max-width:600px){.brand-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.info-cards{flex-direction:column;align-items:center}.password-form{flex-direction:column}.confirm-bar{flex-direction:column;padding:.8rem 1rem}}
