*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{font-family:Bubblegum Sans,cursive;background-color:#1b1811;color:#fff5ee}a{color:#fff5ee;text-decoration:none}a:hover{opacity:.7}#loader{position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999;background:#1b1811;display:flex;align-items:center;justify-content:center;transition:opacity .7s ease}#loader.fade-out{opacity:0;pointer-events:none}.loader-balls{display:flex;gap:18px;align-items:flex-end}.loader-ball{width:100px;height:100px;animation:loaderBounce .8s ease-in-out infinite alternate}.loader-ball .creature-svg{width:100%;height:100%}@keyframes loaderBounce{0%{transform:translateY(0)}to{transform:translateY(-30px)}}#bg{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;background-image:url(/chalk-background.png);background-size:cover;background-position:center;background-repeat:no-repeat;opacity:0;transition:opacity .7s ease}#bg.visible{opacity:1}#topbar{position:fixed;top:15px;left:15px;z-index:100;display:flex;align-items:center;gap:10px;opacity:0;transition:opacity .7s ease}#topbar.visible{opacity:1}#title{background-blend-mode:multiply;padding:5px 12px;font-size:22px;letter-spacing:2px}#title a{color:#fff5ee;font-style:italic;text-transform:uppercase}#title a:hover{opacity:1}#circles{position:fixed;bottom:0;right:0;width:700px;height:650px;z-index:50;opacity:0;transition:opacity .7s ease}#circles.visible{opacity:1}.circle{position:absolute;border-radius:80%;cursor:grab;display:flex;align-items:center;justify-content:center;flex-direction:column;will-change:transform;background:transparent}.circle span{font-family:Bubblegum Sans,cursive;font-style:italic;text-transform:uppercase;letter-spacing:2px;font-size:20px;color:#fff5ee;opacity:0;transition:opacity .3s ease;pointer-events:none;text-shadow:0 1px 4px rgba(0,0,0,.6);margin-top:-20px}.circle:hover span{opacity:1;text-shadow:0 0 8px rgba(0,0,0,.9),0 0 20px rgba(0,0,0,.6),0 1px 4px rgba(0,0,0,.8)}.creature-svg{width:80%;height:80%;filter:drop-shadow(0 2px 6px rgba(0,0,0,.4));transition:filter .3s ease}.circle:hover .creature-svg{filter:drop-shadow(0 0 15px rgba(255,245,238,.4))}.butterfly .wing-left{transform-origin:50px 50px;animation:flapLeft .6s ease-in-out infinite alternate}.butterfly .wing-right{transform-origin:50px 50px;animation:flapRight .6s ease-in-out infinite alternate}@keyframes flapLeft{0%{transform:scaleX(1) rotate(0)}to{transform:scaleX(.5) rotate(-8deg)}}@keyframes flapRight{0%{transform:scaleX(1) rotate(0)}to{transform:scaleX(.5) rotate(8deg)}}.ladybug .legs-left{transform-origin:50px 55px;animation:crawlLeft .4s ease-in-out infinite alternate}.ladybug .legs-right{transform-origin:50px 55px;animation:crawlRight .4s ease-in-out infinite alternate}@keyframes crawlLeft{0%{transform:rotate(3deg)}to{transform:rotate(-3deg)}}@keyframes crawlRight{0%{transform:rotate(-3deg)}to{transform:rotate(3deg)}}.caterpillar .caterpillar-body{animation:inchworm 1.2s ease-in-out infinite}.caterpillar .feet-left{animation:crawlLeft .4s ease-in-out infinite alternate}.caterpillar .feet-right{animation:crawlRight .4s ease-in-out infinite alternate}@keyframes inchworm{0%,to{transform:scaleX(1) translate(0)}50%{transform:scaleX(.92) translate(2px)}}.c-shows{width:288px;height:288px;bottom:40px;right:40px}.c-music{width:296px;height:296px;bottom:320px;right:350px}.c-about{width:232px;height:232px;bottom:30px;right:400px}.c-contact{width:211px;height:211px;bottom:350px;right:50px}.c-social{width:194px;height:194px;bottom:160px;right:220px}#modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;z-index:200;background:#1b181180;opacity:0;pointer-events:none;transition:opacity .4s ease}#modal-backdrop.open{opacity:1;pointer-events:auto}#modal{position:fixed;top:0;left:0;width:480px;max-width:90%;height:100%;z-index:300;background:#1b1811f7;border-right:1px solid rgba(255,245,238,.08);transform:translate(-100%);pointer-events:none;transition:transform .45s cubic-bezier(.22,1,.36,1);display:flex;flex-direction:column}#modal.open{pointer-events:auto;transform:translate(0)}#modal-header{padding:20px 30px;display:flex;align-items:center;gap:15px;flex-shrink:0}.modal-creature{width:48px;height:48px;flex-shrink:0}.modal-creature .creature-svg{width:100%;height:100%}#modal-label{font-style:italic;text-transform:uppercase;font-size:26px;letter-spacing:3px;flex:1}#modal-close{width:36px;height:36px;border:1px solid rgba(255,245,238,.3);border-radius:50%;color:#fff5ee99;display:flex;align-items:center;justify-content:center;font-size:14px;cursor:pointer;transition:border-color .3s,color .3s,background .3s;flex-shrink:0}#modal-close:hover{border-color:#fff5ee;color:#fff5ee;background:#fff5ee14}#modal-body{overflow-y:auto;padding:10px 30px 60px;flex:1}#modal-body::-webkit-scrollbar{width:6px}#modal-body::-webkit-scrollbar-track{background:transparent}#modal-body::-webkit-scrollbar-thumb{background:#fff5ee26;border-radius:3px}#modal-body h2{font-size:28px;font-style:italic;text-transform:uppercase;letter-spacing:3px;font-weight:400;margin-bottom:25px;border-bottom:1px solid rgba(255,245,238,.2);padding-bottom:10px}#modal-body h3{font-size:18px;font-style:italic;text-transform:uppercase;letter-spacing:2px;font-weight:400;margin:25px 0 12px;color:#e88a2d}#modal-body p{line-height:1.8;font-size:15px;letter-spacing:1px}#modal-body ul{padding-left:24px}.show-item{display:flex;gap:20px;padding:14px 0;border-bottom:1px solid rgba(255,245,238,.1);transition:background .3s}.show-item:hover{background:#fff5ee0d}.show-date{font-style:italic;letter-spacing:2px;font-size:14px;min-width:130px;color:#ee4a49}.show-venue{font-size:16px;text-transform:uppercase;letter-spacing:2px}.show-city{font-size:13px;opacity:.6;margin-top:3px;letter-spacing:1px}.embed-wrap{margin-bottom:20px}.embed-wrap iframe{border:none;opacity:.9}.contact-lines p{margin-bottom:12px;letter-spacing:2px;text-transform:uppercase;font-size:14px}.contact-lines a{padding:2px 5px;transition:color .3s}.contact-lines a:hover{color:#2563eb;opacity:1}.social-links{display:flex;flex-direction:column;gap:16px}.social-link{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid rgba(255,245,238,.1);border-radius:8px;font-size:16px;letter-spacing:2px;text-transform:uppercase;transition:background .3s,border-color .3s}.social-link:hover{background:#fff5ee0f;border-color:#fff5ee40;opacity:1}.social-link svg{flex-shrink:0}#paint-canvas{position:fixed;top:0;left:0;width:100%;height:100%;z-index:150;display:none;pointer-events:none}#paint-canvas.visible{display:block}#paint-canvas.drawing{pointer-events:auto;cursor:crosshair}#paint-toggle{position:fixed;top:15px;right:55px;z-index:100;display:block;width:100px;height:140px;opacity:0;line-height:0;transition:opacity .7s ease}#paint-toggle.visible,#paint-toggle:hover{opacity:1}#paint-toggle.painting{opacity:1!important}.paint-toggle-chrysalis{width:100%;height:100%;transform-origin:50% 0%;animation:sway 3s ease-in-out infinite alternate}.paint-toggle-chrysalis .creature-svg{width:100%;height:100%;filter:drop-shadow(0 1px 3px rgba(0,0,0,.3))}.paint-toggle-label{display:block;font-family:Bubblegum Sans,cursive;font-style:italic;text-transform:uppercase;letter-spacing:2px;font-size:16px;color:#fff5ee;opacity:0;transition:opacity .3s ease;text-align:center;pointer-events:none;margin-top:-15px}#paint-toggle:hover .paint-toggle-label{opacity:1}@keyframes sway{0%{transform:rotate(-3deg)}to{transform:rotate(3deg)}}#paint-toolbar{position:fixed;top:15px;left:50%;transform:translate(-50%);z-index:160;display:none;gap:8px;align-items:center;background:#1b1811e6;border:1px solid rgba(255,245,238,.15);padding:8px 14px;border-radius:20px}#paint-toolbar.active{display:flex}.paint-color{width:22px;height:22px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:border-color .2s}.paint-color.active{border-color:#fff5ee}.paint-size{font-family:Bubblegum Sans,cursive;font-size:13px;color:#fff5ee;opacity:.5;cursor:pointer;padding:2px 6px;transition:opacity .2s}.paint-size.active{opacity:1}#paint-clear{font-family:Bubblegum Sans,cursive;font-size:13px;color:#fff5ee;opacity:.5;cursor:pointer;padding:2px 6px;margin-left:4px;border-left:1px solid rgba(255,245,238,.2);transition:opacity .2s}#paint-clear:hover{opacity:1}#paint-close{font-size:14px;color:#fff5ee;opacity:.5;cursor:pointer;padding:2px 6px;margin-left:4px;border-left:1px solid rgba(255,245,238,.2);transition:opacity .2s}#paint-close:hover{opacity:1}#a11y-toggle{position:fixed;top:15px;right:15px;z-index:100;background:#1b1811d9;border:1px solid rgba(255,245,238,.3);color:#fff5ee;font-family:Bubblegum Sans,cursive;font-size:13px;letter-spacing:2px;padding:8px;line-height:0;cursor:pointer;transition:background .3s,border-color .3s}#a11y-toggle:hover{background:#fff5ee1a;border-color:#fff5ee}#a11y-view{display:none;position:fixed;top:0;left:0;width:100%;height:100%;z-index:9000;background:#1b1811;overflow-y:auto;color:#fff5ee}#a11y-view.active{display:block}.a11y-inner{max-width:700px;margin:0 auto;padding:40px 24px 80px;font-family:system-ui,-apple-system,sans-serif;line-height:1.7}.a11y-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid rgba(255,245,238,.2)}.a11y-header h1{font-family:Bubblegum Sans,cursive;font-size:28px;font-style:italic;letter-spacing:3px}#a11y-close{background:none;border:1px solid rgba(255,245,238,.3);color:#fff5ee;font-family:system-ui,-apple-system,sans-serif;font-size:14px;padding:8px 16px;cursor:pointer;transition:background .3s}#a11y-close:hover{background:#fff5ee1a}.a11y-nav{display:flex;gap:20px;margin-bottom:40px;padding-bottom:15px;border-bottom:1px solid rgba(255,245,238,.1)}.a11y-nav a{color:#e88a2d;font-size:16px;text-decoration:underline}.a11y-nav a:hover{opacity:.8}.a11y-section{margin-bottom:40px}.a11y-section h2{font-family:Bubblegum Sans,cursive;font-size:24px;font-style:italic;letter-spacing:2px;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid rgba(255,245,238,.15)}.a11y-section p{font-size:16px;margin-bottom:10px}.a11y-section a{color:#e88a2d;text-decoration:underline}.a11y-show-list,.a11y-contact-list{list-style:none;padding:0}.a11y-show-list li,.a11y-contact-list li{font-size:16px;padding:8px 0;border-bottom:1px solid rgba(255,245,238,.07)}.a11y-socials a{font-size:18px}.placeholder-note{margin-top:20px;font-size:12px;opacity:.4;font-style:italic}.circle.active .creature-svg{filter:drop-shadow(0 0 12px rgba(255,245,238,.5))}.circle.active span{opacity:1}@media(max-width:768px){#circles{width:100%;height:auto;position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;align-items:flex-end;padding:8px 6px 10px;background:#1b1811eb;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-top:1px solid rgba(255,245,238,.06);z-index:150;gap:0}.circle{position:static;width:80px!important;height:80px!important;flex-shrink:0;transition:transform .2s ease}.circle .creature-svg{width:55%;height:55%;transition:filter .3s ease,transform .3s ease}.circle span{opacity:1;font-size:16px;margin-top:2px;letter-spacing:1px;transition:color .3s ease}.circle.active{transform:translateY(-4px)}.circle.active .creature-svg{filter:drop-shadow(0 0 10px rgba(255,245,238,.5));transform:scale(1.15)}.circle.active span{opacity:1;color:#fff}.circle{opacity:0;animation:navEntrance .4s ease forwards}.circle:nth-child(1){animation-delay:0s}.circle:nth-child(2){animation-delay:.08s}.circle:nth-child(3){animation-delay:.16s}.circle:nth-child(4){animation-delay:.24s}.circle:nth-child(5){animation-delay:.32s}@keyframes navEntrance{0%{opacity:0;transform:translateY(20px) scale(.7)}60%{opacity:1;transform:translateY(-6px) scale(1.05)}to{opacity:1;transform:translateY(0) scale(1)}}.circle.bounce{animation:circleBounce .4s ease}@keyframes circleBounce{0%{transform:translateY(0)}30%{transform:translateY(-12px)}55%{transform:translateY(4px)}75%{transform:translateY(-3px)}to{transform:translateY(0)}}#modal{top:auto;bottom:0;left:0;width:100%;max-width:100%;height:calc(100% - 78px);border-left:none;border-right:none;border-radius:16px 16px 0 0;border-top:1px solid rgba(255,245,238,.08);transform:translate(0) translateY(100%);transition:transform .45s cubic-bezier(.22,1,.36,1)}#modal.open{transform:translate(0) translateY(0)}#modal-header:before{content:"";position:absolute;top:8px;left:50%;transform:translate(-50%);width:36px;height:4px;background:#fff5ee33;border-radius:2px}#modal-header{position:relative;padding:20px 20px 12px}.modal-creature{width:36px;height:36px}#modal-label{font-size:20px;letter-spacing:2px}#modal-body{padding:10px 20px 40px}}
