body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--color-dark:#111;--color-light:#dadada;--color-primary:#3498db}.App{text-transform:uppercase;text-align:center;-webkit-user-select:none;user-select:none;flex-direction:column;min-height:100dvh;display:flex}.App-logo{pointer-events:none;height:40vmin;padding:10px}button{text-transform:inherit}h1{color:var(--color-primary);font-size:2.5rem}h2{font-size:1.5rem}.App-picture{border-color:var(--color-primary);border-radius:17rem;width:17rem;height:17rem}@media (prefers-reduced-motion:no-preference){.App-logo{animation:20s linear infinite App-logo-spin}}.App-header{color:#282c34;background-color:#fff;flex-direction:column;justify-content:center;align-items:center;min-height:70vh;font-size:calc(10px + 1.5vmin);display:flex}.App-header--compact{z-index:20;border-bottom:1px solid #00000014;flex-direction:row;justify-content:flex-start;min-height:auto;padding:.5rem 1.5rem;font-size:1rem;position:sticky;top:0}.App-header-brand{align-items:center;gap:.75rem;text-decoration:none;display:flex}.App-header--compact .App-picture{width:3rem;height:3rem}.App-header--compact h1{margin:0;font-size:1.5rem}.App-main{text-align:left;background-color:#eee;flex-direction:column;justify-content:space-between;align-items:center;padding-bottom:3rem;display:flex}.App-main-instructions-item{grid-gap:.5rem;grid-template-columns:2rem 1fr;max-width:30rem;margin:1rem 2rem;display:grid}.App-main p{max-width:30rem;margin:2rem}a{color:var(--color-primary)}.App-calendar-link{margin-top:2rem}@keyframes App-logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.App-footer{justify-content:center;align-items:center;min-height:5rem;margin-top:auto;display:flex}.balloons-container{text-align:center;height:0}.balloon{z-index:10;transform-origin:bottom;background:#088dee;border-radius:80%;width:6rem;height:7rem;margin:20px 10px;transition:transform .5s;animation:11s linear forwards balloons;display:inline-block;position:relative;box-shadow:inset -10px -10px #00000012}@keyframes balloons{0%{transform:translateY(0)rotate(0)}25%{transform:translateY(-500px)rotate(4deg)}50%{transform:translateY(-1000px)rotate(-4deg)}75%{transform:translateY(-1500px)rotate(4deg)}to{transform:translateY(-2000px)rotate(-4deg)}}.balloon:before{content:"▲";color:#00489d;text-align:center;z-index:-100;width:100%;font-size:20px;display:block;position:absolute;bottom:-12px}.balloon:after{content:"";background:#0003;width:1px;height:250px;margin:0 auto;display:inline-block;position:absolute;top:7rem}.balloon:nth-child(2){background:#feea6b;animation-duration:9.5s}.balloon:nth-child(2):before{color:#d7b001}.balloon:nth-child(3){background:#f74f49;animation-duration:8s}.balloon:nth-child(3):before{color:#9e110d}.balloon:nth-child(4){background:#adcf34;animation-duration:10s}.balloon:nth-child(4):before{color:#9bc700}.balloon:nth-child(5){background:#9dddf2;animation-duration:9.25s}.balloon:nth-child(5):before{color:#27aac9}.Private-menu{flex-wrap:wrap;justify-content:center;gap:1.25rem;max-width:64rem;margin:2rem auto 4rem;padding:0 1.5rem;display:flex}.Private-menu-item{box-sizing:border-box;border:2px solid var(--color-primary);width:11rem;min-height:8rem;color:inherit;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:1.5rem;font-size:1.25rem;font-weight:600;text-decoration:none;transition:transform .15s,background-color .15s;display:flex}.Private-menu-item:hover,.Private-menu-item:focus-visible{background-color:#3498db1a;transform:translateY(-2px)}.Private-menu-icon{font-size:3rem;line-height:1}@media (width<=30rem){.Private-menu{gap:.75rem;padding:0 1rem}.Private-menu-item{width:calc(50% - .375rem);min-height:7rem;padding:1rem;font-size:1.1rem}}.Private-section{padding-bottom:3rem}.Private-section-header{grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;max-width:96rem;margin:0 auto;padding:0 1rem;display:grid}.Private-section-header h2{grid-column:2;margin:1rem 0}.Private-section-header .Private-back{grid-area:1/1;justify-self:start}.Private-back{background-color:var(--color-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:4.5rem;height:4.5rem;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 4px 12px #3498db59}.Private-back:hover,.Private-back:focus-visible{transform:scale(1.08);box-shadow:0 6px 16px #3498db80}.Private-back:active{transform:scale(.95)}.Fiesta{justify-content:center;padding:3rem 1.5rem;display:flex}.Fiesta-button{color:#fff;letter-spacing:.02em;text-shadow:0 2px 4px #0003;cursor:pointer;background:linear-gradient(135deg,#ff5a8a 0%,#a855f7 50%,#ffb400 100%) 0 0/200% 200%;border:none;border-radius:999px;padding:1.25rem 2.5rem;font-family:inherit;font-size:2rem;font-weight:700;transition:transform .15s,box-shadow .15s,background-position .4s;box-shadow:0 8px 24px #a855f759}.Fiesta-button:hover,.Fiesta-button:focus-visible{background-position:100% 100%;transform:translateY(-3px)scale(1.03);box-shadow:0 12px 32px #a855f780}.Fiesta-button:focus-visible{outline:3px solid var(--color-primary);outline-offset:4px}.Fiesta-button:active{transform:translateY(0)scale(.97);box-shadow:0 4px 12px #a855f759}@media (width<=30rem){.Fiesta-button{padding:1rem 1.75rem;font-size:1.5rem}}.City{box-sizing:border-box;cursor:grab;background:linear-gradient(#a8dcff 0%,#dff3ff 100%);border-radius:20px;width:calc(100% - 2rem);max-width:96rem;height:calc(100dvh - 16rem);min-height:20rem;margin:0 auto;position:relative;overflow:hidden}.City:active{cursor:grabbing}.City canvas{display:block}.City-label{pointer-events:none;background:#ffffffd9;border-radius:12px;padding:.5rem 1rem;font-size:1.25rem;font-weight:700;position:absolute;top:1rem;right:1rem;box-shadow:0 2px 8px #00000026}.Week-image-button{cursor:zoom-in;background:0 0;border:none;border-radius:6px;padding:0;line-height:0}.Week-image-button img{border-radius:6px;transition:transform .2s}.Week-image-button:hover img,.Week-image-button:focus-visible img{transform:scale(1.05)}.Week-lightbox{cursor:zoom-out;background:0 0;border:none;max-width:95vw;max-height:95vh;padding:0;overflow:visible}.Week-lightbox::backdrop{background-color:#000000d9}.Week-lightbox figure{flex-direction:column;align-items:center;gap:.75rem;margin:0;display:flex}.Week-lightbox img{object-fit:contain;border-radius:10px;max-width:90vw;max-height:80vh}.Week-lightbox figcaption{color:#fff;font-size:1.5rem}.Week-lightbox-close{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:50%;width:2.5rem;height:2.5rem;font-size:1.75rem;line-height:1;position:fixed;top:1rem;right:1rem}.Week-lightbox-close:hover{background:#ffffff4d}@media (prefers-reduced-motion:no-preference){.Week-lightbox[open]{animation:.2s ease-out Week-lightbox-in}}@keyframes Week-lightbox-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (prefers-color-scheme:dark){body{color:#dadada;background-color:#1f2023}.App-header{color:var(--color-light);background-color:var(--color-dark)}.App-header--compact{border-bottom-color:#ffffff1a}.App-main{color:var(--color-light);background-color:#555}}
