/* The Cat Distribution System. Everything is scoped under .cds so it plays nicely with any theme. */
.cds{
  --cds-teal:#22A8C3; --cds-teal-d:#17839A; --cds-teal-l:#7BDAED; --cds-teal-xl:#E4F6FA;
  --cds-ink:#1B1B1B; --cds-grey:#7A7A7A; --cds-line:#E3E8EA; --cds-red:#D7263D;
  --cds-radius:22px;
  font-family:"Work Sans",system-ui,sans-serif; color:var(--cds-ink); line-height:1.5;
  max-width:1040px; margin:0 auto; padding:20px 0 40px; text-align:left;
}
.cds *,.cds *::before,.cds *::after{box-sizing:border-box}
.cds svg{max-width:none;height:auto}
.cds img{max-width:100%}
.cds h1,.cds h2,.cds h3{font-family:"Fredoka","Work Sans",sans-serif;font-weight:600;letter-spacing:-.01em;color:var(--cds-ink);text-transform:none;padding:0;border:0}
.cds p{margin:0}
.cds a{text-decoration:none}

/* Header */
.cds-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.cds-logo-pill{background:#fff;border-radius:999px;padding:8px 20px;box-shadow:0 2px 0 var(--cds-line);display:flex;align-items:center}
.cds-logo-pill img{height:44px;width:auto;display:block}
.cds-event-chip{display:flex;align-items:center;gap:8px;background:var(--cds-red);color:#fff;border-radius:999px;padding:8px 16px;font-weight:600;font-size:14px;box-shadow:0 3px 0 #a81c2f}
.cds-event-chip svg{flex:none;width:18px}
.cds-hero{text-align:center;margin:8px 0 22px}
.cds-kicker{display:inline-block;font-weight:600;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--cds-teal-d);background:var(--cds-teal-xl);border-radius:999px;padding:5px 14px}
.cds-hero h1{font-size:clamp(34px,6.4vw,64px);line-height:1.02;margin:12px 0 10px}
.cds-cat-word{color:var(--cds-teal);display:inline-block;transform:rotate(-3deg)}
.cds-hero p{margin:0 auto;max-width:600px;color:#4a4f52;font-size:clamp(15px,2vw,18px)}

/* Card + stage */
.cds-card{background:#fff;border-radius:var(--cds-radius);box-shadow:0 1px 0 var(--cds-line),0 18px 40px -24px rgba(23,131,154,.45);overflow:hidden}
.cds-stage{position:relative;height:clamp(340px,50vw,490px);overflow:hidden;background:linear-gradient(#BFEFF8 0%,#E6F9FC 55%,#F3FCFD 70%);user-select:none}
.cds-sun{position:absolute;left:6%;top:9%;width:clamp(54px,8vw,84px)}
.cds-rays{transform-origin:50px 50px;animation:cds-spin 30s linear infinite}
.cds-cloud{position:absolute;left:0;opacity:.95;animation:cds-drift linear infinite}
.cds-c1{top:14%;width:110px;animation-duration:60s;animation-delay:-20s}
.cds-c2{top:28%;width:80px;animation-duration:80s;animation-delay:-55s;opacity:.8}
@keyframes cds-drift{from{transform:translateX(-160px)}to{transform:translateX(1200px)}}
@keyframes cds-spin{to{transform:rotate(360deg)}}
.cds-lights{position:absolute;left:0;top:-2px;width:100%;height:60px;pointer-events:none}
.cds-lights .bulb{animation:cds-twinkle 1.6s ease-in-out infinite}
.cds-lights .bulb:nth-child(3n){animation-delay:.5s}.cds-lights .bulb:nth-child(3n+1){animation-delay:1s}
@keyframes cds-twinkle{50%{opacity:.35}}
.cds-lawn{position:absolute;left:0;right:0;bottom:0;height:30%;background:repeating-linear-gradient(90deg,#5DBB63 0 9%,#52AE58 9% 18%);border-top:6px solid #47A04D}
.cds-lawn::after{content:"";position:absolute;left:0;right:0;bottom:0;height:12px;background:#8B6B45;border-top:4px solid #A9855A}
.cds-sign{position:absolute;left:3%;bottom:24%;width:clamp(96px,15vw,150px)}
.cds-tree{position:absolute;right:3%;bottom:24%;width:clamp(64px,10vw,104px)}
@media (max-width:560px){.cds-sign{width:74px;left:2%;bottom:27%;opacity:.9}.cds-tree{width:48px;right:2%}}
.cds-actors{position:absolute;inset:0}
.cds-actors > *{position:absolute;left:0;top:0;will-change:transform}
.cds-status{position:absolute;left:50%;top:20%;transform:translateX(-50%);z-index:5;background:#fff;border-radius:999px;padding:10px 20px;font-family:"Fredoka",sans-serif;font-weight:600;font-size:clamp(14px,2.2vw,19px);box-shadow:0 4px 0 rgba(23,131,154,.25);white-space:nowrap;opacity:0;transition:opacity .25s}
.cds-status.show{opacity:1}
.cds-status .dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--cds-teal);margin-left:4px;animation:cds-bob .9s infinite}
.cds-status .dot:nth-child(2){animation-delay:.15s}.cds-status .dot:nth-child(3){animation-delay:.3s}
@keyframes cds-bob{50%{transform:translateY(-5px)}}
.cds-dispatch{position:absolute;left:50%;top:34%;z-index:6;opacity:0;background:var(--cds-ink);color:#fff;border:3px dashed var(--cds-teal-l);border-radius:14px;padding:10px 18px;text-align:center;font-family:"Fredoka",sans-serif;pointer-events:none;white-space:nowrap}
.cds-dispatch small{display:block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--cds-teal-l)}
.cds-dispatch b{font-size:clamp(17px,3vw,26px);font-weight:700}
.cds-bubble{position:absolute;z-index:7;background:#fff;border-radius:18px;padding:8px 14px;font-family:"Fredoka",sans-serif;font-weight:600;font-size:clamp(13px,2vw,17px);box-shadow:0 3px 0 rgba(0,0,0,.08);white-space:nowrap;line-height:1.3}
.cds-bubble::after{content:"";position:absolute;left:24px;bottom:-9px;border:10px solid transparent;border-top-color:#fff;border-bottom:0}
.cds .wing{transform-origin:62px 60px;animation:cds-flap .28s ease-in-out infinite alternate}
@keyframes cds-flap{from{transform:rotate(14deg)}to{transform:rotate(-22deg)}}
.cds .ufo-lights circle{animation:cds-twinkle .5s infinite}
.cds .ufo-lights circle:nth-child(2n){animation-delay:.25s}
.cds .cat-svg{display:block;width:100%}
.cds .cat-svg .eyes{transform-box:fill-box;transform-origin:center;animation:cds-blink 4.5s infinite}
@keyframes cds-blink{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.1)}}
.cds-hero-cat{filter:drop-shadow(0 8px 0 rgba(0,0,0,.08))}
.cds .idle-bob{animation:cds-idle 2.4s ease-in-out infinite}
@keyframes cds-idle{50%{transform:translateY(-6px) rotate(-1.5deg)}}

/* Panel */
.cds-panel{padding:24px clamp(16px,4vw,36px) 28px;border-top:1px solid var(--cds-line)}
.cds-form-row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}
.cds-field{flex:1 1 260px}
.cds label{display:block;font-weight:600;font-size:14px;margin:0 0 6px;color:var(--cds-ink)}
.cds input[type=text]{width:100%;font:inherit;font-size:18px;line-height:1.3;padding:14px 18px;margin:0;color:var(--cds-ink);background:#fff;border:2px solid var(--cds-line);border-radius:14px;outline:none;box-shadow:none;transition:border-color .2s,box-shadow .2s;height:auto}
.cds input[type=text]:focus{border-color:var(--cds-teal);box-shadow:0 0 0 4px rgba(34,168,195,.18)}
.cds-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.cds-btn{font:inherit;font-family:"Fredoka",sans-serif;font-weight:600;font-size:18px;line-height:1.2;cursor:pointer;border:0;border-radius:14px;padding:14px 24px;margin:0;background:var(--cds-teal);color:#fff;box-shadow:0 4px 0 var(--cds-teal-d);transition:transform .1s,box-shadow .1s,background .2s;display:inline-flex;align-items:center;gap:8px;text-transform:none;letter-spacing:0;text-decoration:none;width:auto}
.cds-btn:hover,.cds-btn:focus{background:#1d9bb5;color:#fff}
.cds-btn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--cds-teal-d)}
.cds-btn:disabled{opacity:.55;cursor:wait}
.cds-btn.ghost{background:#fff;color:var(--cds-teal-d);box-shadow:0 0 0 2px var(--cds-teal) inset,0 4px 0 var(--cds-teal-d)}
.cds-btn svg{width:20px;flex:none}
.cds-fine{font-size:13px;color:var(--cds-grey);margin:12px 0 0}
.cds-err{color:var(--cds-red);font-weight:500;font-size:14px;margin:8px 0 0;min-height:1.2em}
.cds-closed{font-family:"Fredoka",sans-serif;font-weight:600;font-size:20px;text-align:center;color:var(--cds-teal-d);padding:6px 0}
.cds-result{display:none}
.cds-result.show{display:block;animation:cds-rise .5s cubic-bezier(.34,1.56,.64,1)}
@keyframes cds-rise{from{opacity:0;transform:translateY(16px)}}
.cds-result-head{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.cds-badge{width:84px;height:84px;border-radius:50%;flex:none;display:grid;place-items:center;overflow:hidden}
.cds-badge .cat-svg{width:76px;margin-top:14px}
.cds-result h2{font-size:clamp(24px,4vw,36px);line-height:1.1;margin:0}
.cds-tag{margin:4px 0 0;color:#4a4f52}
.cds-via{display:inline-block;font-size:13px;background:var(--cds-teal-xl);color:var(--cds-teal-d);border-radius:999px;padding:3px 12px;margin-top:8px;font-weight:600}
.cds-roster{margin:22px 0 18px;padding:18px;border-radius:16px}
.cds-roster h3{margin:0 0 10px;font-size:18px;display:flex;justify-content:space-between;gap:8px}
.cds-chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.cds-chips li{background:#fff;border-radius:999px;padding:6px 14px 6px 10px;margin:0;font-weight:500;display:flex;align-items:center;gap:6px;box-shadow:0 2px 0 rgba(0,0,0,.06)}
.cds-chips li::before{content:none}
.cds-chips li.me{color:#fff;font-weight:600;animation:cds-pop .6s cubic-bezier(.34,1.56,.64,1)}
@keyframes cds-pop{from{transform:scale(.4)}}
.cds-chips .paw{width:14px;height:14px;flex:none}
.cds-actions{display:flex;gap:12px;flex-wrap:wrap}

/* Teams */
.cds-section-title{text-align:center;margin:44px 0 6px;font-size:clamp(24px,4vw,34px)}
.cds-section-sub{text-align:center;color:var(--cds-grey);margin:0 0 20px!important}
.cds-teams{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media (max-width:900px){.cds-teams{grid-template-columns:repeat(2,1fr)}}
@media (max-width:460px){.cds-teams{grid-template-columns:1fr}}
.cds-team{background:#fff;border-radius:var(--cds-radius);overflow:hidden;box-shadow:0 1px 0 var(--cds-line);display:flex;flex-direction:column;transition:transform .2s}
.cds-team:hover{transform:translateY(-4px) rotate(-.5deg)}
.cds-team .art{height:170px;display:flex;align-items:flex-end;justify-content:center;position:relative}
.cds-team .art .cat-svg{width:132px;margin-bottom:-6px}
.cds-team .count{position:absolute;top:12px;right:12px;background:#fff;border-radius:999px;font-family:"Fredoka",sans-serif;font-weight:600;font-size:14px;padding:3px 11px}
.cds-team .body{padding:16px 18px 18px;flex:1;display:flex;flex-direction:column}
.cds-team h3{margin:0;font-size:22px}
.cds-team .tl{margin:2px 0 10px;font-size:14px;color:#4a4f52}
.cds-team .fact{font-size:13px;color:var(--cds-grey);margin:0 0 12px;font-style:italic}
.cds-team .members{font-size:14px;margin:auto 0 0;color:#333;border-top:1px dashed var(--cds-line);padding-top:10px}
.cds-team .members b{font-family:"Fredoka",sans-serif;font-weight:600}
.cds-loading{grid-column:1/-1;text-align:center;color:var(--cds-grey);padding:30px 0}
.cds-sound{position:absolute;top:58px;right:14px;z-index:8;display:inline-flex;align-items:center;gap:6px;border:0;border-radius:999px;padding:8px 14px 8px 10px;background:#fff;color:var(--cds-teal-d);font:600 14px/1 "Fredoka",sans-serif;cursor:pointer;box-shadow:0 3px 0 rgba(23,131,154,.25);margin:0;text-transform:none;letter-spacing:0;width:auto;height:auto}
.cds-sound:hover,.cds-sound:focus{background:#fff;color:var(--cds-teal-d)}
.cds-sound svg{width:20px;height:20px}
.cds-sound .on{display:none}
.cds-sound.playing .on{display:block}.cds-sound.playing .off{display:none}
.cds-sound:not(.playing):not(.dismissed){animation:cds-nudge 1.8s ease-in-out infinite}
.cds-sound.playing .cds-sound-label,.cds-sound.dismissed .cds-sound-label{display:none}
.cds-sound.playing,.cds-sound.dismissed{padding:8px}
@keyframes cds-nudge{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}
.cds-footnote{text-align:center;color:var(--cds-grey);font-size:13px;margin-top:28px!important}
@media (prefers-reduced-motion:reduce){.cds *{animation-duration:.01ms!important;animation-iteration-count:1!important}}
