:root{--ink: #0b0d17;--turbo: #ff3d81;--timmy: #ffd23f}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;width:100%;overflow:hidden;background:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.stage{position:fixed;inset:0;overflow:hidden}.performers{position:absolute;inset:0;pointer-events:none}.slideshow{position:absolute;inset:0}.slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.2s ease-in-out;display:grid;place-items:center}.slide.is-active{opacity:1;animation:kenburns 11s ease-out forwards}@keyframes kenburns{0%{transform:scale(1.04) translateZ(0)}to{transform:scale(1.12) translate3d(0,-1.5%,0)}}.postcard-emoji{font-size:28vmin;filter:drop-shadow(0 10px 24px rgba(0,0,0,.35));opacity:.92;-webkit-user-select:none;user-select:none}.location-badge{position:absolute;left:max(16px,env(safe-area-inset-left));bottom:max(16px,env(safe-area-inset-bottom));display:inline-flex;flex-direction:column;gap:.15rem;padding:.55rem .9rem;border-radius:16px;background:#0b0d178c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;letter-spacing:.01em;box-shadow:0 6px 20px #00000059;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;transition:background .15s ease}.location-badge:hover{background:#0b0d17b8}.location-badge:focus-visible{outline:3px solid rgba(255,210,63,.9);outline-offset:3px}.location-row{display:inline-flex;align-items:center;gap:.5rem;font-weight:600}.location-emoji{font-size:1.25rem}.location-name{font-size:clamp(.8rem,2.6vmin,1.05rem)}.location-credit{display:none;font-size:clamp(.6rem,1.6vmin,.72rem);color:#fffc;text-decoration:none}.location-badge:hover .location-credit,.location-badge:focus-within .location-credit{display:inline}.location-credit:hover{color:#fff;text-decoration:underline}.character{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;line-height:0}.character:focus-visible{outline:3px solid rgba(255,210,63,.9);outline-offset:6px;border-radius:12px}.character-video{display:contents}.chroma-canvas,.placeholder-timmy{display:block;height:var(--timmy-h, 80vmin);width:auto}@media(orientation:portrait){.chroma-canvas,.placeholder-timmy{height:var(--timmy-h-portrait, var(--timmy-h, 80vmin))}}.chroma-canvas{filter:drop-shadow(0 18px 30px rgba(0,0,0,.45))}.chroma-source{position:absolute;width:1px;height:1px;opacity:.01;pointer-events:none;z-index:-1}.placeholder-timmy{display:grid;place-items:center;animation:bob .62s ease-in-out infinite alternate}.pt-svg{width:100%;height:auto;filter:drop-shadow(0 16px 26px rgba(0,0,0,.4))}.pt-torso{fill:var(--turbo)}.pt-head{fill:#ffcf9e}.pt-leg rect,.pt-arm rect{fill:#2b2f45}.pt-leg-r rect,.pt-arm-r rect{fill:#3a3f5e}.pt-shades{fill:#111}.pt-grin{fill:none;stroke:#7a3b1d;stroke-width:3;stroke-linecap:round}.pt-arm-l{transform-origin:33px 82px;animation:armL .62s ease-in-out infinite alternate}.pt-arm-r{transform-origin:89px 82px;animation:armR .62s ease-in-out infinite alternate}.pt-leg-l{transform-origin:55px 124px;animation:legL .62s ease-in-out infinite alternate}.pt-leg-r{transform-origin:67px 124px;animation:legR .62s ease-in-out infinite alternate}@keyframes bob{0%{transform:translateY(0) rotate(-2deg)}to{transform:translateY(-3%) rotate(2deg)}}@keyframes armL{0%{transform:rotate(20deg)}to{transform:rotate(-50deg)}}@keyframes armR{0%{transform:rotate(-20deg)}to{transform:rotate(50deg)}}@keyframes legL{0%{transform:rotate(8deg)}to{transform:rotate(-12deg)}}@keyframes legR{0%{transform:rotate(-8deg)}to{transform:rotate(12deg)}}.placeholder-hint{margin-top:1rem;font-size:clamp(.65rem,1.8vmin,.85rem);color:#ffffffd1;background:#0b0d1780;padding:.4rem .7rem;border-radius:8px;text-align:center}.placeholder-hint code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--timmy)}.topbar{position:absolute;top:0;left:0;right:0;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:max(12px,env(safe-area-inset-top)) clamp(12px,3vw,22px) 12px;pointer-events:none;z-index:5}.topbar-left{display:flex;flex-direction:column;gap:.15rem;pointer-events:auto}.brand{color:#fff;font-weight:900;font-size:clamp(1rem,3.4vmin,1.6rem);letter-spacing:.06em;text-decoration:none;text-shadow:0 2px 8px rgba(0,0,0,.55)}.gs-link{color:#ffffffeb;font-size:clamp(.7rem,1.9vmin,.85rem);font-weight:600;text-decoration:none;width:fit-content;text-shadow:0 1px 6px rgba(0,0,0,.6)}.gs-link:hover{text-decoration:underline}.mute-btn{pointer-events:auto;display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .9rem;border:0;border-radius:999px;background:#0b0d179e;color:#fff;font-weight:800;font-size:clamp(.8rem,2.2vmin,1rem);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 6px 20px #0006;-webkit-tap-highlight-color:transparent;transition:transform .12s ease,background .15s ease}.mute-btn:hover{background:#0b0d17cc;transform:translateY(-1px)}.mute-btn.is-muted{background:var(--turbo);color:#fff}.mute-icon{font-size:1.1em;line-height:1}.gallery{position:fixed;inset:0;overflow:auto;background:var(--ink);color:#fff;padding:clamp(1rem,3vmin,2rem);padding-top:clamp(64px,11vmin,96px)}.gallery h1{margin:0 0 1rem;font-size:clamp(1.2rem,4vmin,2rem)}.gallery-sub{color:#ffffffb8;margin:0 0 1.25rem;font-size:.9rem;line-height:1.5}.gallery-sub a{color:var(--turbo)}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.gallery-card{margin:0;background:#11131f;border-radius:12px;overflow:hidden;box-shadow:0 6px 18px #0006}.gallery-card video{width:100%;aspect-ratio:1 / 1;object-fit:contain;display:block;background:#000}.gallery-card figcaption{padding:.5rem .7rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;color:#ffffffd9}@media(prefers-reduced-motion:reduce){.slide.is-active,.placeholder-timmy,.pt-arm-l,.pt-arm-r,.pt-leg-l,.pt-leg-r{animation:none}}
