/* The hook is a game invitation; the run remains the main long challenge. */
.pigeon-entrance{align-items:center;min-height:0;padding-bottom:38px}
.pigeon-entrance .entrance-copy h1{font-size:clamp(48px,5.8vw,77px);line-height:1.04;letter-spacing:-2.7px;margin:22px 0 25px}
.pigeon-entrance .entrance-copy .lead{max-width:530px;font-size:19px}
.pigeon-encounter{min-height:530px;transform:rotate(1.8deg)}
.pigeon-encounter img{object-position:40% 24%}
.pigeon-encounter .encounter-copy{bottom:55px}
.pigeon-encounter .encounter-copy h2{font-size:42px}
.hook-calibration{font-size:14px;color:#bfd9e6;max-width:480px;line-height:1.5;margin:21px 0 0}
.kingdom-invite{display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:32px;padding:32px 36px;margin:12px 0 48px;background:#a4ede7;color:#143e58;border-radius:16px;box-shadow:0 7px 0 #367d8a}
.kingdom-invite .eyebrow{color:#215567;font-size:12px;letter-spacing:.8px}
.kingdom-invite h2{font:850 clamp(27px,3vw,39px)/1.12 ui-sans-serif,system-ui,sans-serif;letter-spacing:-1px;margin:12px 0 14px}
.kingdom-invite p{font-size:16px;max-width:550px;margin-bottom:0}
.kingdom-stats{display:flex;gap:30px;margin-bottom:23px;font-size:14px}
.kingdom-stats b{display:block;font-size:35px;line-height:1.2;letter-spacing:-1px}
.kingdom-invite .primary{border-color:#153b59;background:#153b59;color:#f4fcff;box-shadow:0 5px 0 #376e81}
.kingdom-invite .primary:hover{background:#235a76;border-color:#235a76}
.science-intro{margin-top:0}
.animal-dog .duel-photo img,.duel-opponent.animal-dog>img{object-position:50% 52%}
.animal-cuttlefish .duel-photo img,.duel-opponent.animal-cuttlefish>img{object-position:68% 45%}
.animal-bumblebee .duel-photo img,.duel-opponent.animal-bumblebee>img{object-position:45% 40%}
.opponent-chip:has(img[src="/dog.jpg"]) img{object-position:50% 52%}
.opponent-chip:has(img[src="/cuttlefish.jpg"]) img{object-position:68% 45%}
.opponent-chip:has(img[src="/bumblebee.jpg"]) img{object-position:45% 40%}
.stage-track{grid-template-columns:repeat(10,minmax(0,1fr));gap:5px}
.challenge-hud .stage{min-width:0;min-height:27px;font-size:12px}
.run-lineup{padding-block:24px}
.lineup-item{padding-block:11px}
.lineup-item strong{font-size:20px}
.share-challenge{background:#a4ede7;color:#163e58;padding:23px;border-radius:13px;margin:28px 0}
.share-challenge .eyebrow{color:#215567;font-size:12px}
.share-challenge h2{font-size:29px;font-weight:850;letter-spacing:-.8px;margin:10px 0 15px}
.share-challenge p{font-size:16px;line-height:1.5}
.share-challenge .actions{gap:12px}
.share-challenge button{border-color:#467e8b;color:#163e58;font-size:14px}
.share-challenge button:hover{background:#d0faf4;border-color:#163e58}
.share-challenge button.primary{background:#163e58;color:#f5fdff;border-color:#163e58;box-shadow:0 4px 0 #4b8993}
.share-challenge .share-draft-note{font-size:13px;color:#315c6c}
.share-status{font-size:14px!important}
#shareText{display:block;width:100%;min-height:160px;color:#163e58;background:#effffa;border:1px solid #467e8b;border-radius:6px;font:14px/1.5 system-ui,sans-serif;padding:12px;overflow-wrap:anywhere}
.shared-note{background:#a4ede7;color:#153e58;padding:14px 17px;border-radius:8px;font-size:16px;line-height:1.5;margin:0 0 24px}
.duel-config select:disabled,.run-start select:disabled{opacity:1;color:#ddeff6;background:#24455f}
/* Functional apparatus diagrams and task controls. */
.word-pairs,.symbol-choices,.tracking-covers,.food-map{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin:28px 0}
.word-pairs>div{background:#284e65;border:1px solid #82bbce;border-radius:10px;min-width:100px;padding:17px;text-align:center}
.word-pairs b{display:block;font-size:38px;line-height:1.3;color:#ffdf88}
.word-pairs span{display:block;font-size:19px;margin-top:10px}
.symbol-choices button{min-width:70px;min-height:75px;font-size:34px;padding:12px 20px;background:#244a61;color:#eff9ff;border-color:#85bfd0}
.playing .lab .symbol-choices button.demonstrated{background:#ffcc58;color:#15314b;border-color:#ffcc58;box-shadow:0 0 0 5px #ffcc5833;opacity:1}
.route-grid{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:5px;max-width:430px;margin:27px auto}
.playing .lab .route-grid button{height:auto;min-height:56px;aspect-ratio:1;padding:4px;border-radius:7px;background:#294f67;border:1px solid #87b9c7;color:#ecf7ff;font:700 14px/1.2 system-ui,sans-serif;box-shadow:none}
.playing .lab .route-grid button:hover{background:#3f6e82}
.playing .lab .route-grid button.wall{background:repeating-linear-gradient(90deg,#658292 0 2px,#263f55 2px 9px);border:2px solid #b6d8e1;font-size:12px}
.playing .lab .route-grid button.you{background:#96e2dd;color:#123952;border-color:#96e2dd}
.playing .lab .route-grid button.goal{background:#ffcc58;color:#123952;border-color:#ffcc58}
.route-budget{text-align:center;color:#d1e8ee;font-size:16px}
.playing .lab .ball-grid button.ball-cell{background:#ffdd89;color:#17374f;border-radius:50%;border:2px solid #ffe6b0;font-size:23px}
.playing .lab .ball-grid button.fixed-ball{background:#566b7c;color:#f0f8ff;border-radius:12px;border-style:dashed;font-size:20px}
.ball-cell small{display:block;font-size:12px;line-height:1.1}
.cover{min-height:90px;min-width:104px;flex:0 1 140px;background:#284e65;border:1px solid #83bccb;border-radius:10px;padding:16px;text-align:center;font-size:17px}
.cover span,.cover b{display:block}
.cover b{font-size:14px;margin-top:12px}
.cover.snack{background:#ffcc58;color:#123952;border-color:#ffcc58}
.food-map>div,.food-map>button{flex:0 1 130px;min-height:100px;border:1px solid #83bccb;border-radius:10px;background:#284e65;padding:17px;text-align:center;font-size:18px}
.food-map>div span,.food-map>div b{display:block}
.food-map>div b{font-size:16px;margin-top:13px;color:#ffde88}
.reward-offer,.meal-plan{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:28px 0}
.reward-offer>div,.meal-plan>div{background:#284e65;border:1px solid #83bccb;border-radius:12px;padding:24px}
.reward-offer span,.meal-plan span{font-size:13px;letter-spacing:.5px;color:#c5e5ec}
.reward-offer h3,.meal-plan h3{font-size:26px;line-height:1.2;color:#ffdf88}
.reward-offer p{font-size:16px;line-height:1.5}
.reward-offer .unavailable{border-style:dashed;background:#3d4657}
.meal-plan b{font-size:18px;line-height:1.5}
.wait-progress{display:flex;align-items:center;justify-content:center;flex-direction:column;padding:35px 20px;margin:25px 0;background:#284e65;border:1px solid #83bccb;border-radius:16px}
.wait-progress strong{font-size:80px;line-height:1.2;font-weight:900;color:#ffdf88}
.wait-progress span{font-size:17px;line-height:1.5;text-align:center}
.string-grips{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:4px;max-width:600px;margin:25px auto 0;padding-inline:0}
.string-grips button{min-height:44px;padding:8px 0;font:700 18px system-ui,sans-serif}
.string-diagram{display:block;width:100%;max-width:600px;height:auto;margin:0 auto 15px}
@media(max-width:850px){.pigeon-entrance .entrance-copy h1{font-size:55px;letter-spacing:-1.8px}.pigeon-encounter{min-height:485px}.kingdom-invite{gap:25px;padding:30px}.kingdom-stats{gap:20px}.kingdom-stats b{font-size:30px}}
@media(max-width:650px){.pigeon-entrance{padding-bottom:15px}.pigeon-entrance .entrance-copy h1{font-size:clamp(46px,9vw,62px)}.pigeon-entrance .entrance-copy .lead{font-size:17px}.pigeon-encounter{min-height:325px;transform:none}.pigeon-encounter .encounter-copy h2{font-size:35px}.pigeon-encounter .encounter-copy{bottom:45px}.pigeon-encounter img{object-position:40% 25%}.kingdom-invite{grid-template-columns:1fr;margin:22px 0 39px;gap:25px;padding:26px}.kingdom-invite h2{font-size:30px}.kingdom-invite-action{display:flex;flex-wrap:wrap;gap:18px;align-items:center}.kingdom-stats{margin:0;flex:1;min-width:180px}.kingdom-invite .primary{min-height:50px}.share-challenge{padding:21px 18px}.share-challenge h2{font-size:27px}.reward-offer,.meal-plan{gap:12px}.reward-offer>div,.meal-plan>div{padding:16px}.reward-offer h3,.meal-plan h3{font-size:23px}}
@media(max-width:420px){.pigeon-entrance .entrance-copy h1{font-size:46px}.pigeon-encounter .encounter-copy h2{font-size:33px}.kingdom-invite{padding:24px 20px}.kingdom-invite .primary{width:100%}.playing .lab .route-grid button{min-height:42px;font-size:12px}.playing .lab .route-grid button.wall{font-size:12px;padding:0}.route-grid{gap:4px}.word-pairs{gap:10px}.word-pairs>div{min-width:72px;padding:12px}.symbol-choices{gap:10px}.symbol-choices button{min-width:60px;min-height:65px;padding:10px 15px}.cover{min-width:95px;flex-basis:105px}.food-map{gap:10px}.food-map>div,.food-map>button{flex-basis:103px;padding:14px}.reward-offer,.meal-plan{grid-template-columns:1fr}.share-challenge .actions button{width:100%}.stage-track{gap:3px}.challenge-hud .stage{font-size:12px}}
@media(prefers-reduced-motion:reduce){.pigeon-encounter{transform:none}.symbol-choices button.demonstrated{box-shadow:none}}
