/* Draft 12: a game invitation, distinct opponents and a clear play surface. */
main{width:min(1160px,100%);margin-inline:auto}
header nav a{font-size:14px}
.pigeon-entrance{gap:38px;margin-bottom:24px;align-items:center}
.pigeon-entrance .entrance-copy h1{font-size:clamp(46px,5.7vw,72px);line-height:1.05;margin-block:19px;letter-spacing:-2px}
.pigeon-entrance .lead{max-width:520px;line-height:1.6}
.pigeon-encounter{min-height:480px;transform:rotate(1deg)}
.hero-challenge{display:flex;flex-wrap:wrap;gap:27px;margin:24px 0;color:#c9e4ed;font-size:15px}
.hero-challenge b{display:block;font:850 37px/1.2 system-ui,sans-serif;color:#ffcc58;letter-spacing:-1px}
.entrance-copy .actions{gap:12px;margin-top:22px}
.kingdom-invite{margin:15px 0 44px;border-radius:14px;border:2px solid #a4ede7;box-shadow:0 7px 0 #397788}
.kingdom-invite h2{font-size:clamp(29px,3vw,39px);line-height:1.17}
.kingdom-invite .eyebrow,.science-intro .eyebrow{font-size:13px}
.duel-section{margin-top:25px}
.duel-grid{gap:22px}
.duel-card{border:1px solid #79bfd0;box-shadow:0 5px 0 #10253c;transition:transform .18s,box-shadow .18s}
.duel-card:hover{transform:translateY(-5px);box-shadow:0 10px 0 #10253c}
.duel-photo{min-height:230px}
.duel-ability{font-size:14px;color:#a4ede7;letter-spacing:.5px}
.duel-copy>p{font-size:17px;line-height:1.5;color:#edf6fa;min-height:52px}
.duel-number{font-size:14px}
.duel-copy h3{line-height:1.16}
.science-intro{margin:42px 0 28px;border-radius:14px}
.science-intro p{line-height:1.65}
.explore-link{margin-top:28px}
.opponent-line{font-size:20px;line-height:1.45;color:#a4ede7;font-weight:700;margin:0 0 20px}
.variant-note{display:block;color:#c6e1e9;font-size:14px;line-height:1.5;margin:14px 0}
.auto-progression{margin:0;font-size:14px;line-height:1.5;color:#c6e1e9}
.auto-progression b{display:block;color:#a4ede7;margin-bottom:8px}
.auto-progression span{display:block}
.objects .object small{display:block;font-size:13px;line-height:1.5;margin-top:5px}
.task-profile{display:flex;justify-content:space-between;gap:18px;color:#c5dbe5;font-size:14px;margin:0 0 15px;padding:0 4px}
.task-profile span:first-child{color:#a4ede7}
.playing .lab-head h1{margin-bottom:8px}
.playing .lab{padding:24px 28px}
.playing .instruction{font-size:clamp(22px,2.4vw,30px);line-height:1.3;text-align:center;margin:22px 0}
.playing .labbar{gap:18px;line-height:1.5;font-size:14px}
.playing .timer{font-variant-numeric:tabular-nums;white-space:nowrap}
.playing .progress{height:7px}
.door-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;max-width:730px;margin:27px auto}
.door{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:17px;min-height:175px;border:2px solid #85becd;border-radius:12px;background:#244a60;color:#edf8ff;padding:18px 12px;text-align:center}
.door>span{font-size:14px;letter-spacing:1px;font-weight:700}
.door strong{font:850 clamp(27px,3vw,39px)/1.2 system-ui,sans-serif;color:#ffdc82}
.door small{font-size:14px;line-height:1.4}
.door.chosen{border-color:#ffcc58;box-shadow:0 0 0 3px #ffcc581f}
.door.opened{background:#173b4c;border-style:dashed;color:#b5d0dd}
.door.opened strong{color:#c6e5e8}
.host-rule,.reward-budget{max-width:730px;margin:18px auto;padding:14px 18px;border-left:3px solid #a4ede7;background:#123147;color:#d4edf4;line-height:1.6;font-size:16px}
.reward-offer>div{display:flex;flex-direction:column;justify-content:center;min-height:180px}
.reward-offer .unavailable{background:#354453;border-style:dashed}
.wait-bar{width:min(360px,90%);height:12px;border-radius:9px;background:#173b50;margin-top:23px;overflow:hidden}
.wait-bar i{display:block;height:100%;background:#a4ede7;transition:width .08s linear}
.tracking-covers{max-width:780px;margin-inline:auto}
.cover{transition:background .2s,border-color .2s}
.cover.snack{box-shadow:0 0 0 4px #ffcc5825}
.playing .lab .route-grid button.wall{cursor:not-allowed}
.route-grid{touch-action:manipulation}
.route-grid .you{box-shadow:inset 0 0 0 2px #efffff!important}
.route-grid .goal{box-shadow:inset 0 0 0 2px #fff4c4!important}
.blocked-tap{outline:2px solid #ffcc58}
.auto-hint{font-size:14px;color:#bddee6;margin:14px 0 0}
.playing .lab .auto-next{font-size:14px;padding:10px 18px;min-height:44px;margin-top:13px;box-shadow:none;float:none}
.feedback.correct,.feedback.incorrect{font-size:17px;line-height:1.6;min-height:0;padding:17px;border-radius:9px}
.result-portrait{position:relative;min-height:210px;margin:-29px -29px 27px;overflow:hidden;border-radius:15px 15px 0 0;background:#10243d}
.result-portrait img{display:block;width:100%;height:260px;object-fit:cover;object-position:50% 35%;opacity:.82}
.result-portrait:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 20%,#12304cdd)}
.result-portrait>span:not(.photo-credit){position:absolute;bottom:43px;left:27px;right:20px;font-size:14px;letter-spacing:1px;color:#fff4c3;font-weight:800;z-index:1}
.result-portrait .photo-credit{z-index:2;font-size:12px;padding-inline:27px}
.challenge-result h1{font-size:clamp(31px,3.8vw,46px);line-height:1.16;letter-spacing:-1px}
.challenge-result .result-opponent{display:none}
.result aside .aha-summary>.eyebrow{color:#215c70;font-size:13px}
.result aside details{border-top:1px solid #547a8450;padding-top:15px;margin-top:18px}
.result aside details summary{color:#163f58;font-size:15px;line-height:1.5}
.result aside details .science-block{padding-top:16px}
.result aside .science-block h3{font-size:22px!important}
.between-stages{grid-template-columns:1.35fr .65fr;align-items:start}
.between-stages>section{padding-top:23px}
.between-stages .result-portrait{min-height:145px;margin-top:-23px}
.between-stages .result-portrait img{height:185px}
.between-stages h1{font-size:29px}
.between-stages .score-caption{display:none}
.between-stages .bigscore{font-size:53px;letter-spacing:-2px;margin:17px 0}
.between-stages .bigscore span{font-size:27px}
.between-stages .result-message{display:none}
.next-opponent{background:#173a52;border:1px solid #82b8c9;border-radius:12px;padding:22px;margin:24px 0}
.next-opponent>.eyebrow{font-size:13px;color:#a4ede7}
.next-opponent>div{margin-top:18px}
.next-opponent h2{font:800 27px/1.25 system-ui,sans-serif;margin:15px 0}
.next-opponent>p{font-size:17px;line-height:1.6}
.next-opponent .timing-note{font-size:14px;line-height:1.5}
.next-opponent .variant-note{margin-bottom:0}
.between-stages aside{background:#214259;box-shadow:none;padding:18px 22px;border:1px solid #86bbcb60}
.between-stages aside summary{color:#daedf4!important}
.between-stages aside p,.between-stages aside h3{color:#e1eff4!important}
.between-stages aside a{color:#a4ede7!important}
.result-ticket{display:flex;justify-content:space-between;gap:20px;align-items:center;background:#123952;color:#effaff;border-radius:9px;border:2px solid #153c58;padding:23px;margin:18px 0 22px}
.result-ticket span{display:block;font-size:13px;letter-spacing:1px;color:#a4ede7}
.result-ticket strong{display:block;font-size:19px;line-height:1.4;margin-top:10px}
.result-ticket b{display:block;font:900 68px/1.2 system-ui,sans-serif;color:#ffcc58;letter-spacing:-3px;margin:10px 0}
.result-ticket b small{font-size:29px;letter-spacing:-1px;color:#b9dce6}
.result-ticket p{font-size:16px!important;margin:0;line-height:1.5!important}
.result-ticket .ticket-invite{font-size:14px;line-height:1.6;text-align:right;font-weight:700}
.share-challenge button{min-height:44px}
.share-challenge .actions{flex-wrap:wrap}
.share-challenge .share-draft-note{font-size:14px}
.config-note,.collection-note{font-size:14px;line-height:1.6}
.won-tag{font-size:13px}
.lab button:focus-visible,.button:focus-visible,.duel-card:focus-visible,select:focus-visible{outline:3px solid #a4ede7;outline-offset:4px}
@media(max-width:850px){.between-stages{grid-template-columns:1fr}.pigeon-encounter{min-height:460px}.result-portrait img{height:230px}.task-profile{flex-wrap:wrap;gap:6px}}
@media(max-width:650px){main{padding-inline:18px}.pigeon-entrance{gap:25px}.pigeon-entrance .entrance-copy h1{font-size:clamp(42px,9.5vw,58px)}.pigeon-encounter{min-height:315px;transform:none}.hero-challenge{gap:25px;margin:19px 0}.hero-challenge b{font-size:32px}.entrance-copy .actions .button{flex-basis:100%;font-size:16px}.kingdom-invite{margin-top:12px;padding:24px}.kingdom-invite h2{font-size:30px}.kingdom-invite-action{gap:20px}.science-intro{margin-top:30px}.playing .lab{padding:18px}.playing .labbar{flex-direction:column;align-items:stretch;gap:9px}.playing .timer{align-self:flex-end}.door-grid{gap:8px;margin:21px 0}.door{min-height:150px;padding:13px 7px;gap:14px}.door strong{font-size:27px}.door small{font-size:13px}.host-rule{font-size:15px;padding:12px}.challenge-hud{gap:14px;padding:15px}.result-portrait{margin-inline:-25px}.result-ticket{padding:19px;gap:14px}.result-ticket strong{font-size:17px}.result-ticket .ticket-invite{font-size:12px}.next-opponent{padding:18px}.next-opponent h2{font-size:24px}.challenge-result .actions button{width:100%;min-height:48px}.between-stages .result-portrait img{height:170px}.between-stages>section{padding:23px}.between-stages .result-portrait{margin-inline:-23px}.result-portrait>span:not(.photo-credit){left:20px;font-size:13px}.result-portrait .photo-credit{padding-inline:20px}.reward-offer{gap:12px}.reward-offer>div{padding:18px}.reward-offer h3{font-size:23px}}
@media(max-width:420px){.hero-challenge{gap:21px}.pigeon-entrance .entrance-copy h1{font-size:42px;letter-spacing:-1.3px}.result-ticket{align-items:start;flex-direction:column}.result-ticket .ticket-invite{text-align:left}.door>span{font-size:12px}.door strong{font-size:24px}.door small{font-size:12px}.door{min-height:135px}.reward-offer{grid-template-columns:1fr 1fr}.reward-offer h3{font-size:21px}.reward-offer p{font-size:14px}.reward-offer>div{min-height:170px;padding:14px}.result-portrait{margin-inline:-21px}.challenge-result h1{font-size:30px}.playing .lab .route-grid button{min-height:40px}.kingdom-invite{padding:21px}.kingdom-invite h2{font-size:28px}}
@media(prefers-reduced-motion:reduce){.pigeon-encounter{transform:none}.duel-card:hover{transform:none}.wait-bar i{transition:none}}

.result-portrait.animal-crow img{object-position:30% 30%}.result-portrait.animal-dog img{object-position:50% 47%}.result-portrait.animal-cuttlefish img{object-position:68% 35%}.result-portrait.animal-pigeon img{object-position:40% 24%}.result-portrait.animal-jay img{object-position:46% 22%}.result-portrait.animal-kea img{object-position:63% 29%}
.challenge-result>section{padding:28px}.result-portrait{margin-inline:-28px;margin-top:-28px}.between-stages>section{padding:23px}.between-stages .result-portrait{margin:-23px -23px 24px}.legacy-records{margin:20px 0;font-size:15px}
@media(max-width:650px){.challenge-result>section{padding:22px}.result-portrait{margin:-22px -22px 24px}.between-stages>section{padding:22px}.between-stages .result-portrait{margin:-22px -22px 24px}}

/* Draft 13: the decision is visible in the objects, not a paragraph of odds. */
.perception-hint{text-align:center;font-size:15px;line-height:1.6;color:#d5e9f0;margin:14px 0}
.rotation-sample{width:154px;margin:18px auto 12px;background:#102b40;border:1px solid #72a1b3;border-radius:12px;padding:14px}
.rotation-sample>span,.rotation-choice>span,.prey-choice>span{display:block;text-align:center;font-size:13px;letter-spacing:1px;margin-bottom:14px;font-weight:700}
.tile-diagram{display:grid;grid-template-columns:repeat(var(--tiles),minmax(0,1fr));gap:2px;width:100%;aspect-ratio:1}
.tile-diagram i{display:block;aspect-ratio:1;background:#21455c;border-radius:2px}
.tile-diagram i.filled{background:#ffcc58}
.rotation-options,.prey-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:590px;margin:20px auto}
.rotation-choice{display:block;min-width:0;padding:18px;background:#173a52;color:#f6f8ff;border:2px solid #78aabb;border-radius:12px}
.rotation-choice .tile-diagram{max-width:185px;margin:auto}
.lab .correct-form{border-color:#a4ede7;background:#235346}
.lab .mirror-form{border-color:#ed9587}
.rule-examples{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:22px 0}
.rule-demo{background:#122f46;border:1px solid #6596a9;border-radius:12px;padding:14px}
.rule-demo>span{font-size:12px;letter-spacing:1px;color:#b3d6e1}
.rule-demo>div{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.demo-amount{padding:10px 4px;border:2px solid transparent;border-radius:8px;min-width:0;text-align:center}
.demo-amount.rewarded{border-color:#ffcc58;background:#2a4553}
.demo-amount .dots{width:100%;height:110px;min-height:0}
.demo-amount small{display:block;font-size:12px;color:#ffda83;margin-top:8px;min-height:19px}
#readyRule,#readyPlan{display:block;margin:18px auto;min-height:48px}
.prey-choice{display:block;padding:18px 14px;min-width:0;background:#173a52;color:#f6f8ff;border:2px solid #78aabb;border-radius:12px}
.prey-field{position:relative;width:100%;height:210px;background:#102b40;border-radius:8px}
.prey-token{position:absolute;width:var(--prey-size);height:var(--prey-size);margin:calc(var(--prey-size) / -2);border-radius:50%}
.prey-token.alive,.prey-key.alive{background:#a4ede7;border:2px solid #a4ede7}
.prey-token.alive{animation:preySwim 1.7s ease-in-out infinite alternate}
.prey-token.still,.prey-key.still{background:transparent;border:2px solid #a4ede7}
.prey-key{display:inline-block;width:13px;height:13px;border-radius:50%;vertical-align:middle;margin-inline:3px}
@keyframes preySwim{from{transform:translate(-5px,-3px)}to{transform:translate(5px,3px)}}
.night-examples{max-width:680px;margin:20px auto}
.night-example{display:flex;align-items:center;gap:18px;background:#14354c;border:1px solid #6a9eae;border-radius:9px;padding:12px 18px;margin:9px 0}
.night-example>b{font-size:33px;width:44px;text-align:center;color:#ffcc58;flex-shrink:0}
.night-example span{font-size:12px;letter-spacing:1px;color:#a4ede7}
.night-example p{font-size:17px;margin:7px 0}
.night-example small{font-size:13px;color:#c3dce5}
.night-example.old-plan{border-style:dashed;background:#163044}
.night-example.old-plan p{text-decoration:line-through;color:#b0c5cf}
.night-example.old-plan span{color:#b0c5cf}
.plan-change{font-size:15px;line-height:1.6;border-left:3px solid #ffcc58;padding-left:14px}
.current-cue{display:inline-block;font-size:35px;color:#ffcc58;vertical-align:middle;margin-inline:9px}
.food-plan-choice{max-width:530px;margin:20px auto;padding:12px 18px;background:#14354c;border:1px solid #6a9eae;border-radius:10px}
.food-plan-choice p{font-size:17px;line-height:1.6;margin:10px 0}
.plan-table{width:100%;max-width:650px;margin:20px auto;border-collapse:separate;border-spacing:0 7px;table-layout:fixed;text-align:center}
.plan-table th,.plan-table td{padding:12px 8px;font-size:15px;overflow-wrap:anywhere}
.plan-table thead th{font-size:13px;color:#a4ede7;font-weight:600}
.plan-table thead th:first-child{width:65px}
.plan-table .night-example{display:table-row;background:#14354c}
.plan-table .night-example b{color:#ffcc58;font-size:32px}
.plan-table .night-example p{margin:0;font-size:16px;line-height:1.5}
.plan-table .old-plan p{text-decoration:line-through;color:#b0c5cf;font-size:14px}
@media(max-width:650px){.rotation-options,.prey-options{gap:12px}.rotation-choice,.prey-choice{padding:13px 9px}.rotation-sample{width:136px}.prey-field{height:170px}.rule-examples{grid-template-columns:1fr}.night-example{padding:12px;gap:12px}.night-example p{font-size:15px}.perception-hint{font-size:14px}}
@media(prefers-reduced-motion:reduce){.prey-token.alive{animation:none}}

/* Draft 16: readable goals, explicit constraints and visible planning. */
.lab .task-instructions,.next-opponent .task-instructions{padding:20px 22px;border-left:5px solid #ffcc58;background:#153b53;color:#f6fbff;font:650 19px/1.65 system-ui,sans-serif;border-radius:0 10px 10px 0}
.lab>h2{font:800 26px/1.25 system-ui,sans-serif;margin-bottom:16px}
.playing .instruction{font-family:system-ui,sans-serif;font-weight:750}
.share-challenge button{background:#e5faf6;color:#173e56;border-color:#497e8b;box-shadow:none;font-weight:650}
.share-challenge button:hover{background:#fff;color:#173e56}
.share-challenge button.primary{background:#163e58;color:#f5fdff;box-shadow:0 4px 0 #4b8993}
.share-challenge button.primary:hover{background:#245875;color:#fff}
.share-challenge button:disabled{opacity:1;background:#c6dfdf;color:#315364}
.target-zone{position:absolute;left:0;right:0;background:#a4ede7aa;border-block:1px dashed #fff8b9;z-index:2;pointer-events:none}
.precision-apparatus .tube{height:260px}
.precision-goal{text-align:center;color:#fff1b7;font-size:17px;line-height:1.5;margin:14px 0}
.precision-apparatus .tube-wrap p{font-size:16px}
.volume-meter{display:block;height:6px;width:calc(var(--volume)*4px);max-width:100%;background:#a4ede7;border-radius:3px;margin:10px auto}
.apparatus-rule{font-size:15px;line-height:1.65;color:#d3e5ee;max-width:700px;margin:18px auto}
.tool-target{background:#14354c;border:1px solid #82bccb;border-radius:12px;max-width:620px;padding:18px;margin:20px auto}
.tool-target>b,.tool-target>span{display:block;text-align:center;margin-bottom:12px;font-size:17px}
.tool-target>span{font-size:15px;color:#d0e7ee}
.tool-length{display:block;font-size:16px;font-weight:700}
.tool-zone .object small{font-size:14px}
.tool-zone .objects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.tool-zone .objects .object{min-width:0;width:100%;padding:12px 7px;min-height:110px}
.tool-zone .rod{height:5px;margin:7px auto}
.barrier-jars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:660px;margin:20px auto}
.barrier-jar h3{font:700 16px system-ui,sans-serif;text-align:center;margin:0 0 16px}
.barrier-jar{padding:18px;background:#13354a;border-radius:12px}
.barrier-jar .tokens{min-height:60px;align-content:center;gap:8px}
.barrier-jar .token{width:23px;height:23px;font-size:16px}
.physical-barrier{height:7px;border-radius:3px;background:#f6f0bf;border:1px solid #fff;margin:17px 0;opacity:0}
.physical-barrier span{display:none}
.barrier-down .physical-barrier{opacity:1}
.barrier-down .blocked{opacity:.3;filter:grayscale(1)}
.barrier-choices .choice{min-height:60px;padding:15px;font-size:17px}
#lowerBarrier,#testPlan{display:block;min-height:48px;margin:20px auto}
.freshness-guide,.prey-return-rules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:650px;margin:18px auto}
.freshness-guide>span,.prey-return-rules>span{padding:14px;background:#12364a;border:1px solid #6c9bad;border-radius:10px;font-size:15px;line-height:1.5;color:#d6edf4}
.freshness-guide b,.prey-return-rules b{display:block;font-size:17px;color:#ffdc80;margin-bottom:5px}
.maze-grid{max-width:540px;margin:20px auto}
.playing .lab .maze-grid button{min-height:0;min-width:0;aspect-ratio:1;font-size:14px;padding:0}
.playing .lab .maze-grid .wall{background:repeating-linear-gradient(135deg,#3a657a 0 3px,#1d3d54 3px 7px);border-color:#91b9c8}
.playing .lab .maze-grid[data-size="7"] button{font-size:14px}
.enriched-map{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-width:760px;margin:22px auto}
.enriched-map .food-place{min-width:0;min-height:136px;padding:14px 8px;border-radius:14px;background:#14384f;box-shadow:inset 0 3px 0 #76acbb;text-align:center}
.enriched-map .food-place>span{display:block;font-size:14px;font-weight:600;color:#c3dee9}
.enriched-map .food-letter{display:grid;place-items:center;border:2px solid #75aabb;width:48px;height:48px;border-radius:50%;font-size:27px;line-height:1;margin:12px auto;color:#edf8ff}
.enriched-map .food-place>strong{display:block;font-size:16px}
.enriched-map .shrimp{background:#20434f;box-shadow:inset 0 3px 0 #ffcc58}
.enriched-map .shrimp .food-letter{border-color:#ffcc58;color:#ffdc80}
.enriched-map .crab .food-letter{border-color:#a4ede7;color:#a4ede7}
.enriched-map .empty{opacity:.65}
.virtual-time{display:flex;align-items:center;justify-content:center;gap:18px;background:#19415a;border:1px solid #80b8c8;border-radius:12px;max-width:550px;margin:20px auto;padding:15px}
.virtual-time b{font:800 38px/1.1 system-ui,sans-serif;color:#ffcc58}
.virtual-time span{font-size:17px;max-width:170px}
.prey-covered{display:grid;place-items:center;height:100%;font-size:15px;letter-spacing:1px;color:#cce6ed}
.prey-token.alive{animation:preySwim 1.7s ease-in-out infinite alternate}
@keyframes preySwim{from{transform:translate(-2px,-2px)}to{transform:translate(2px,2px)}}
.rhythm-history{max-width:760px;margin:18px auto}
.rhythm-history h3{font:700 15px/1.5 system-ui,sans-serif;color:#a4ede7}
.rhythm-history ol{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.rhythm-history li{padding:10px 5px;background:#12364c;border:1px solid #6d9cac;border-radius:9px;text-align:center}
.rhythm-history li span,.rhythm-history li small{display:block;font-size:14px;line-height:1.4;color:#cbe4ec}
.night-place{display:block;font:800 31px/1.3 system-ui,sans-serif;color:#ffdc80}
.old-rhythm{opacity:.7}.old-rhythm li{border-style:dashed}.old-rhythm .night-place{color:#bdd0d9}
.night-planner{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:760px;margin:22px auto}
.night-planner>section{background:#143b51;border:1px solid #80b9c8;border-radius:12px;padding:16px}
.night-planner h3{font:750 17px system-ui,sans-serif;margin:0;color:#a4ede7}.night-planner p{font-size:15px;margin:10px 0}
.place-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.place-choices button{padding:11px 5px;font-size:16px;min-height:44px}
.place-choices .selected{background:#ffcc58;color:#16384d;border-color:#ffcc58}
@media(max-width:650px){.lab .task-instructions,.next-opponent .task-instructions{padding:16px;font-size:18px}.enriched-map{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.night-planner{gap:10px}.night-planner>section{padding:12px}.barrier-jars{gap:12px}.barrier-jar{padding:13px 8px}.barrier-jar .tokens{gap:5px}.barrier-jar .token{width:20px;height:20px;font-size:14px}.freshness-guide,.prey-return-rules{gap:8px}.freshness-guide>span,.prey-return-rules>span{padding:11px}.rhythm-history li span,.rhythm-history li small{font-size:12px}.place-choices button{font-size:14px}.playing .lab .maze-grid[data-size="7"] button{font-size:14px}}
@media(prefers-reduced-motion:reduce){.prey-token.alive{animation:none}}

/* Shared language switch; both versions use the same layout and assets. */
.header-tools{display:flex;align-items:center;gap:18px;flex-shrink:0}
header .language-switch{display:flex;gap:4px;align-items:center;padding:3px;border:1px solid #64809d;border-radius:6px;font-size:14px;letter-spacing:.04em}
header .language-switch a{display:inline-flex;align-items:center;justify-content:center;min-width:38px;min-height:38px;padding:6px;color:#dcecff;border-radius:4px;font-weight:650}
header .language-switch a[aria-current="page"]{background:#ffcc58;color:#142746}
header .language-switch a:hover{background:#34516e;color:#fff}
header .language-switch a[aria-current="page"]:hover{background:#ffdc87;color:#142746}
@media(max-width:1100px){header{flex-wrap:wrap}header>nav{order:3;justify-content:center;flex-wrap:wrap;width:100%;gap:12px 24px}header .language-switch{width:auto}}
@media(max-width:480px){header{gap:14px}.brand{font-size:21px;letter-spacing:1px}.brand small{max-width:170px;letter-spacing:.08em}.header-tools{gap:0}header>nav{justify-content:flex-start;gap:10px 18px}header .language-switch a{min-width:36px}.language-switch{font-size:14px}}

/* Draft 18: a phone has one play surface, with stable controls between rounds. */
.mobile-game-head,.mobile-round-label,.mobile-hook,.diameter-short{display:none}
.tool-top{display:contents}
.apparatus-help{max-width:700px;margin:18px auto}
.apparatus-help summary{font-size:15px}
@media(max-width:650px){
  header{padding:12px 16px;gap:8px}
  header .brand{font-size:21px}
  header .brand small{display:none}
  header>nav{flex-wrap:nowrap;justify-content:flex-start;gap:20px;overflow-x:auto;white-space:nowrap;padding-block:4px;scrollbar-width:none}
  header>nav a{display:flex;align-items:center;min-height:36px}
  main{padding:20px 16px 32px}
  .pigeon-entrance{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:12px 10px;padding:0;margin-bottom:22px;align-items:stretch}
  .pigeon-entrance .entrance-copy{display:contents}
  .pigeon-entrance .mode-label{grid-column:1/-1;font-size:12px;margin:0}
  .pigeon-entrance .entrance-copy h1{grid-column:1;grid-row:2;font-size:clamp(29px,7.8vw,43px);line-height:1.06;letter-spacing:-1px;margin:4px 0;align-self:center}
  .pigeon-entrance .pigeon-encounter{grid-column:2;grid-row:2;min-height:160px;transform:none;border-radius:12px}
  .pigeon-encounter img{object-position:40% 24%;opacity:1}
  .pigeon-encounter .encounter-copy,.pigeon-encounter .encounter-label,.pigeon-encounter .encounter-facts{display:none}
  .pigeon-encounter .encounter-credit{display:none}
  .pigeon-entrance .lead{display:none}
  .pigeon-entrance .mobile-hook{display:block;grid-column:1/-1;font-size:18px;font-weight:650;line-height:1.4;margin:2px 0;color:#ecf8ff}
  .pigeon-entrance .hero-challenge{grid-column:1/-1;margin:0;gap:24px;font-size:14px}
  .pigeon-entrance .hero-challenge b{display:inline;font-size:19px;letter-spacing:0;margin-right:4px}
  .pigeon-entrance .actions{grid-column:1/-1;display:grid;grid-template-columns:1fr;gap:10px;margin:4px 0}
  .pigeon-entrance .actions .button{width:100%;min-height:48px;padding:10px;font-size:16px}
  .pigeon-entrance .hook-calibration{grid-column:1/-1;margin:0;font-size:14px;line-height:1.4}

}
@media(max-width:650px),(min-width:651px) and (max-height:900px){
  body.playing{overflow:hidden;overscroll-behavior:none}
  body.playing>header,body.playing>footer{display:none}
  .playing main{height:100vh;height:100svh;height:100dvh;width:100%;padding:max(4px,env(safe-area-inset-top)) 10px max(6px,env(safe-area-inset-bottom));display:flex;flex-direction:column;overflow:hidden;overflow-anchor:none}
  .playing main>.challenge-hud,.playing main>.back,.playing main>.lab-head,.playing main>.task-profile{display:none}
  .playing .mobile-game-head{display:flex;align-items:center;gap:10px;flex-shrink:0;min-height:50px;padding:0 0 4px}
  .mobile-game-head .mobile-game-title{font:750 18px/1.2 system-ui,sans-serif;margin:0;letter-spacing:0;flex:1;min-width:0}
  .mobile-game-head .game-exit,.mobile-game-head button{display:flex;align-items:center;justify-content:center;width:44px;min-width:44px;min-height:44px;padding:0;border:1px solid #83bccb;border-radius:8px;font-size:25px;color:#eaf8ff;background:#173a52}
  .playing .lab{flex:1;min-height:0;position:relative;display:flex;flex-direction:column;padding:8px 10px;margin:0;width:100%;border-radius:10px;overflow:hidden}
  .playing .labbar{position:static;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:8px;padding:0;margin:0;flex-shrink:0;background:transparent;line-height:1.3}
  .playing .labbar .desktop-task-label{display:none}
  .playing .labbar .mobile-round-label{display:block;flex:1;min-width:0;font-size:13px;color:#d8edf4}
  .playing .labbar .timer{font-size:17px;min-width:0;align-self:center}
  .playing .progress{height:3px;margin:6px 0;flex-shrink:0}
  .playing .progress i{height:3px}
  .playing #task{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:0 1px 26px;scrollbar-width:thin}
  .playing #restart{display:none}
  .playing .instruction{font:750 19px/1.3 system-ui,sans-serif;margin:8px 0 12px}
  .playing .perception-hint,.playing .route-budget,.playing #throws{font-size:14px;line-height:1.35;margin:8px 0;text-align:center}
  .playing #feedback{position:absolute;bottom:5px;left:10px;right:10px;z-index:8;margin:0;padding:3px 6px;min-height:0;font-size:13px;line-height:1.35;background:#173a52;border-radius:6px;pointer-events:none}
  .playing #feedback:empty{display:none}
  .playing #feedback.correct,.playing #feedback.incorrect{bottom:62px;padding:12px;font-size:16px;line-height:1.4;max-height:30%;overflow-y:auto;pointer-events:auto;box-shadow:0 -6px 22px #10243d66}
  .playing .lab #nextRound,.playing .lab .auto-next{position:absolute;bottom:8px;left:10px;right:10px;width:calc(100% - 20px);min-height:44px;margin:0;padding:10px;font-size:16px;z-index:9;float:none;box-shadow:none}
  .playing .auto-hint{display:none}
  .playing .choice-grid{gap:10px;margin:10px 0}
  .playing .choice{min-height:64px;padding:10px;font-size:19px}
  .playing .field-label{font-size:12px;line-height:1.3;letter-spacing:0;margin-bottom:6px}
  .playing .dots{height:clamp(100px,24dvh,180px)}
  .playing .sample{min-height:80px;margin:8px auto;padding:6px;max-width:180px}
  .playing .sample .dots{height:90px}
  .playing .memory{height:clamp(190px,54dvh,420px);margin-top:12px}
  .playing .memory .tile{width:44px;height:44px;min-height:44px;min-width:44px;padding:0;font-size:23px}
  .playing .pattern{min-height:0;margin:10px auto;padding:14px;gap:10px;font-size:28px}
  .playing .caches{gap:6px;padding:8px}
  .playing .caches .cache{min-height:62px;padding:6px;font-size:14px}
  .playing .caches .cache-index{font-size:18px}
  .playing .cache small{font-size:13px;margin-top:4px}
  .playing .freshness-guide,.playing .prey-return-rules{gap:8px;margin:8px 0}
  .playing .freshness-guide>span,.playing .prey-return-rules>span{font-size:13px;line-height:1.35;padding:8px}
  .playing .freshness-guide b,.playing .prey-return-rules b{font-size:14px;margin-bottom:3px}
  .playing .rule-examples{grid-template-columns:1fr;gap:6px;margin:8px 0}
  .playing .rule-demo{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;padding:6px;gap:4px}
  .playing .rule-demo>span{font-size:12px;letter-spacing:0;line-height:1.35}
  .playing .rule-demo>div{margin:0;gap:8px}
  .playing .demo-amount{padding:3px;line-height:1}
  .playing .demo-amount .dots{height:70px}
  .playing .demo-amount small{margin:2px 0;min-height:16px;font-size:12px}
  .playing #readyRule,.playing #readyPlan,.playing #lowerBarrier,.playing #testPlan{min-height:44px;margin:10px auto;font-size:16px;padding:9px 12px}
  .playing .rotation-sample{width:112px;margin:8px auto;padding:8px}
  .playing .rotation-sample>span,.playing .rotation-choice>span,.playing .prey-choice>span{font-size:13px;margin-bottom:6px;letter-spacing:0}
  .playing .rotation-options,.playing .prey-options{gap:10px;margin:10px auto}
  .playing .rotation-choice,.playing .prey-choice{padding:10px}
  .playing .rotation-choice .tile-diagram{max-width:130px}
  .playing .prey-field{height:clamp(150px,30dvh,210px)}
  .playing .jar{min-height:0;padding:10px 5px}
  .playing .tokens{gap:5px}
  .playing .token{width:20px;height:20px;font-size:14px}
  .playing .selection-rule{min-height:0;font-size:14px;line-height:1.35;margin:0 0 8px}
  .playing .barrier-jars{gap:10px;margin:10px 0}
  .playing .barrier-jar{padding:10px 6px}
  .playing .barrier-jar h3{margin-bottom:10px;font-size:14px}
  .playing .barrier-jar .tokens{min-height:40px}
  .playing .barrier-jar .token{width:18px;height:18px;font-size:13px}
  .playing .physical-barrier{margin:10px 0}
  .playing .barrier-choices .choice{min-height:48px;font-size:16px;padding:10px}
  .playing .word-pairs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}
  .playing .word-pairs>div{min-width:0;padding:8px}
  .playing .word-pairs b{font-size:28px}
  .playing .word-pairs span{font-size:16px;margin-top:4px}
  .playing .symbol-choices{gap:8px;margin:12px 0}
  .playing .symbol-choices button{min-width:48px;min-height:48px;padding:6px 12px;font-size:28px}
  .playing .tracking-covers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}
  .playing .tracking-covers .cover{min-width:0;min-height:64px;padding:8px 4px;font-size:14px}
  .playing .cover b{font-size:14px;margin-top:5px}
  .playing .route-grid{width:min(100%,max(280px,calc(100dvh - 250px)));max-width:360px;gap:4px;margin:12px auto}
  .playing .lab .route-grid button{min-height:0;min-width:0;aspect-ratio:1;padding:0;font-size:14px}
  .playing .enriched-map{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:10px auto}
  .playing .enriched-map .food-place{min-width:0;min-height:78px;padding:6px 3px}
  .playing .enriched-map .food-place>span{font-size:12px;line-height:1.3}
  .playing .enriched-map .food-letter{width:30px;height:30px;font-size:22px;margin:5px auto}
  .playing .enriched-map .food-place>strong{font-size:13px;line-height:1.2;overflow-wrap:anywhere}
  .playing .virtual-time{gap:10px;margin:8px auto;padding:8px}
  .playing .virtual-time b{font-size:26px}
  .playing .virtual-time span{font-size:14px;line-height:1.3;max-width:none}
  .playing .rhythm-history{margin:8px auto}
  .playing .rhythm-history h3{font-size:13px;line-height:1.3;margin-bottom:6px}
  .playing .rhythm-history ol{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:0}
  .playing .rhythm-history li{padding:4px 2px}
  .playing .rhythm-history li span{display:inline;font-size:12px}
  .playing .rhythm-history li .night-label,.playing .rhythm-history li small{display:none}
  .playing .night-place{font-size:23px;line-height:1.2}
  .playing .plan-change{font-size:14px;line-height:1.3;margin:6px 0}
  .playing .previous-rhythm{margin:6px 0;font-size:14px}
  .playing .night-planner{gap:8px;margin:10px 0}
  .playing .night-planner>section{padding:8px}
  .playing .night-planner h3{font-size:14px}
  .playing .night-planner p{font-size:13px;line-height:1.3;margin:6px 0}
  .playing .place-choices{gap:6px}
  .playing .place-choices button{min-height:44px;padding:6px 2px;font-size:14px}
  .playing .string-diagram{max-height:none;margin:8px auto;object-fit:contain}
  .playing .string-grips{gap:3px;margin-top:8px}
  .playing .string-grips button{min-height:44px;padding:6px 0;font-size:16px}

  .playing #task[data-game="crow-water"],.playing #task[data-game="crow-tubes"]{display:grid;grid-template-columns:minmax(0,42%) minmax(0,58%);grid-template-rows:auto auto auto 1fr auto auto;align-content:start;gap:6px; padding-bottom:28px}
  .playing #task[data-game^="crow-"]>.instruction,.playing #task[data-game^="crow-"]>.perception-hint{grid-column:1/-1;margin:4px 0}
  .playing .precision-apparatus{grid-column:1;grid-row:4;gap:6px;flex-wrap:nowrap;align-items:center;align-self:center}
  .playing .precision-apparatus .tube-wrap{min-width:0;flex:1}
  .playing .precision-apparatus .tube{width:calc(var(--cross-section)*38px)!important;max-width:100%;height:clamp(120px,28dvh,200px);border-width:2px}
  .playing .precision-apparatus .tube-wrap p{font-size:13px;line-height:1.35;margin:8px 0 0;overflow-wrap:anywhere}
  .playing .precision-goal{grid-column:1/-1;grid-row:3;font-size:14px;line-height:1.3;margin:4px 0}
  .playing #task[data-game^="crow-"]>.objects{grid-column:2;grid-row:4;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;align-self:center;margin:4px 3px}
  .playing #task[data-game^="crow-"]>.objects .object{min-width:0;min-height:54px;padding:7px 3px;font-size:14px}
  .playing #task[data-game^="crow-"]>.objects .object small{font-size:13px;line-height:1.3;margin:4px 0 0}
  .playing .volume-label,.playing .volume-meter,.playing .stock-count{display:none}
  .playing [data-object]:disabled{text-decoration:line-through;opacity:.5}
  .playing #throws{grid-column:1/-1;grid-row:5;margin:4px 0}
  .playing .apparatus-help{grid-column:1/-1;grid-row:6;font-size:14px;line-height:1.3;margin:4px 0}
  .playing .apparatus-help summary{font-size:14px;min-height:28px}
  .playing .apparatus-rule{font-size:14px;line-height:1.4;margin:8px 0}
  .playing .tool-target{margin:8px 0;padding:8px}
  .playing .tool-target>b{font-size:14px;margin-bottom:6px}
  .playing .tool-target>span{display:none}
  .playing .food-target{font-size:15px;min-height:44px;padding:8px}
  .playing .tool-workspace{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:10px 0}
  .playing .tool-zone,.playing .tool-zone .objects{display:contents}
  .playing .tool-zone h3,.playing .tool-zone .rod{display:none}
  .playing .tool-zone .objects .object{min-width:0;min-height:90px;padding:6px 3px;line-height:1.3}
  .playing .tool-top{display:flex;justify-content:space-between;align-items:center;gap:3px}
  .playing .tool-name,.playing .tool-length{font-size:13px;line-height:1.3}
  .playing .tool-word{display:none}
  .playing .diameter-short{display:inline}
  .playing .tool-depth,.playing .tool-opening{display:block}
  .playing .tool-zone .object small{font-size:13px;line-height:1.3;margin-top:4px}
  .playing .tool-access{color:#a4ede7}
}
/* Keep landscape and enlarged text usable; the task pane may scroll when needed. */
@media(max-width:650px) and (max-height:600px){
  .playing .instruction{font-size:18px;margin:6px 0 8px}
  .playing .demo-amount .dots{height:58px}
  .playing .sample .dots{height:70px}
  .playing .tool-workspace{gap:5px;margin:6px 0}
  .playing .tool-zone .objects .object{min-height:82px;padding:4px 3px}
  .playing .tool-zone .object small{margin-top:2px}
  .playing .night-planner p{display:none}
  .playing .rotation-sample{width:94px}
  .playing .rotation-choice .tile-diagram{max-width:106px}
}

/* Draft 19: instructions and the start action are the preparation screen. */
.prep-rule-card{margin:16px 0 20px;padding:18px 20px;background:#143b51;border:1px solid #86bdc9;border-left:4px solid #ffcc58;border-radius:10px}
.prep-rule-label{color:#a4ede7;font-size:14px;font-weight:650;line-height:1.4;margin:0 0 13px}
.prep-goal{font:750 19px/1.35 system-ui,sans-serif;color:#fff2b7;margin:0 0 14px}
.rule-example{border-top:1px solid #77adbd80;margin-top:15px;padding-top:12px;font-size:15px;line-height:1.45;color:#dceff4}
.rule-example>b{display:block;font-size:14px;color:#a4ede7;margin-bottom:4px}
.rule-example>p{margin:0}
.game-help{position:relative;flex-shrink:0;text-align:left;font:600 14px/1.3 system-ui,sans-serif;color:#eaf8ff}
.game-help>summary{cursor:pointer;padding:7px 10px;border:1px solid #83bccb;border-radius:7px;background:#173a52;min-height:34px;white-space:nowrap}
.game-help[open]>summary{background:#ffcc58;color:#142746}
.game-help-content{position:absolute;right:0;top:calc(100% + 6px);z-index:16;width:min(640px,calc(100vw - 48px));max-height:min(520px,calc(100dvh - 150px));overflow:auto;padding:16px;background:#14354c;border:1px solid #9ed2dc;border-radius:10px;box-shadow:0 8px 30px #07182bcc}
.game-help-content .prep-rule-card{padding:0;border:0;margin:0;background:transparent}
.game-help-content .quick-rules{font-size:16px;line-height:1.4;gap:8px}
.game-help-content .prep-goal{font-size:18px}
.help-clock-note{font-size:14px;line-height:1.3;color:#ffda83;margin:0 0 12px}
@media(min-width:651px) and (max-height:900px){
 .playing main{max-width:1120px;padding:8px 20px 12px}
 .playing .mobile-game-head{min-height:44px;max-height:60px}
 .playing .mobile-game-title{font-size:21px}
 .playing .lab{padding:10px 18px}
 .playing .labbar .mobile-round-label{font-size:14px}
 .playing .instruction{font-size:21px;margin:8px 0 12px}
 .playing .tool-workspace{grid-template-columns:repeat(3,minmax(0,1fr));max-width:920px;margin:8px auto}
 .playing .tool-depth,.playing .tool-opening{display:inline}
 .playing .tool-word{display:inline}
 .playing .tool-zone .objects .object{padding:6px 10px;min-height:106px}
 .playing .tool-target{max-width:760px;margin:8px auto;padding:8px 14px}
 .playing .tool-target .food-schematic{height:58px}
 .playing .precision-apparatus .tube{width:calc(var(--cross-section)*66px)!important;height:clamp(160px,28dvh,230px)}
 .playing #task[data-game^="crow-"]{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:24px}
 .playing #task[data-game^="crow-"]>.objects{grid-template-columns:repeat(3,minmax(0,1fr))}
 .playing #task[data-game^="crow-"]>.objects .object{min-height:72px;padding:8px}
 .playing #feedback.correct,.playing #feedback.incorrect{max-width:800px;margin-inline:auto}
 body.preparing>header,body.preparing>footer{display:none}
 .preparing main{max-width:1120px;padding:12px 28px 108px}
 .preparing main>.challenge-hud{display:none}
 .preparing main>.back{display:inline-flex;align-items:center;min-height:34px;margin:0;font-size:14px}
 .preparing .lab-head{margin:6px 0 12px;gap:10px}
 .preparing .lab-head h1{font:800 28px/1.18 system-ui,sans-serif;letter-spacing:-.3px;margin:6px 0}
 .preparing .task-opponent{margin:0;gap:8px}
 .preparing .opponent-chip img{width:30px;height:30px}
 .preparing .intro-prep{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:8px 24px;padding:16px 20px;margin:0}
 .preparing .intro-prep>h2{grid-column:1/-1;font:750 18px/1.3 system-ui,sans-serif;margin:0}
 .preparing .intro-prep>.prep-rule-card{grid-column:1;grid-row:2;padding:14px 16px;margin:8px 0}
 .preparing .intro-prep>.prep-controls{grid-column:2;grid-row:2;align-self:center}
 .preparing .intro-prep>.prep-details{grid-column:1;grid-row:3}
 .preparing .intro-prep>details:not(.prep-details){grid-column:2;grid-row:3;font-size:14px}
 .preparing .quick-rules{font-size:16px;line-height:1.4;gap:8px;padding-left:20px}
 .preparing .prep-goal{font-size:18px;margin-bottom:10px}
 .preparing .rule-example{font-size:14px;padding-top:8px;margin-top:10px}
 .preparing .prep-rule-label{font-size:14px;margin-bottom:8px}
 .preparing .prep-controls>.actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
 .preparing .prep-controls>.actions label{min-width:0;font-size:14px}
 .preparing .prep-controls>.actions select{width:100%;font-size:14px;padding:8px;min-height:44px}
 .preparing .prep-start{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;justify-content:center;align-items:center;gap:24px;margin:0;padding:12px 24px;background:#10243df5;border-top:1px solid #6b9cba;box-shadow:0 -6px 20px #07182b70}
 .preparing .prep-start>p{font-size:14px;line-height:1.3;margin:0}
 .preparing .prep-start>button{min-width:280px;min-height:48px;padding:10px 18px;font-size:17px;font-weight:750}
 .preparing .between-stages{display:block;margin:0}
 .preparing .between-stages>section{padding:0;border:0;background:transparent;box-shadow:none}
 .preparing .prep-success{font-size:17px;margin:8px 0}
 .preparing .prep-exit{min-height:34px;font-size:14px;margin:0;padding:4px 0;border:0;background:transparent;box-shadow:none}
 .preparing .next-opponent{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:8px 24px;margin:0;padding:16px 20px}
 .preparing .next-opponent>.eyebrow,.preparing .next-opponent>div:not(.prep-rule-card):not(.prep-controls){grid-column:1/-1}
 .preparing .next-opponent h2{font:800 26px/1.18 system-ui,sans-serif;margin:8px 0}
 .preparing .next-opponent>.prep-rule-card{grid-column:1;grid-row:3;margin:0;padding:14px 16px}
 .preparing .next-opponent>.prep-controls{grid-column:2;grid-row:3;align-self:center}
 .preparing .between-stages aside{padding:0 20px;background:transparent;border:0;margin:0;font-size:14px}
 .preparing .stage-recap{margin:8px 0;font-size:14px}
}
.apparatus-name{display:block;font:650 14px/1.3 system-ui,sans-serif;color:#ffda83;text-align:center;margin-bottom:8px}
.grip-window-apparatus .tube{border-right:7px solid #789ba9;position:relative}
.grip-window-apparatus .grip-window{background:#ffcc5866;border-block:2px solid #ffcc58;box-shadow:inset -7px 0 #ffcc58}
.grip-window-apparatus .reward{background:#ffcc58;border:2px solid #f6f8ff;border-radius:50%;height:12px;width:12px;left:50%;transform:translate(-50%,50%);z-index:3}
.stone-volume-diagram{display:block;height:8px;width:calc(var(--stone-volume)*3px);max-width:100%;background:#a4ede7;border-radius:3px;margin:0 auto 6px}
.tool-schematic{display:block;width:100%;height:60px;margin:5px auto}
.food-schematic{display:block;width:100%;max-width:360px;height:64px;margin:0 auto 6px}
.tool-zone .ready-tool{border-color:#9cdbbf}
.tool-zone .stored-tool{border-color:#81bac7;border-style:dashed}
.tool-zone .selected{outline:2px solid #ffcc58;outline-offset:-2px}
@media(max-width:650px),(min-width:651px) and (max-height:900px){
 .playing .labbar{overflow:visible}
 .playing .game-help>summary{font-size:13px;padding:7px 8px}
 .playing .tool-schematic{height:42px;margin:3px auto}
 .playing .food-schematic{height:50px;margin-bottom:4px}
 .playing .tool-target{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:5px 10px;align-items:center}
 .playing .tool-target .food-schematic{grid-column:1;grid-row:1/3}
 .playing .tool-target>b{grid-column:2;font-size:14px;margin:0;line-height:1.3}
 .playing .tool-target #food{grid-column:2;font-size:14px;line-height:1.25}
 .playing .tool-zone .objects .object{min-height:112px}
 .playing .tool-zone h3{display:block;grid-column:1/-1;font:700 14px/1.3 system-ui,sans-serif;margin:4px 0 0;color:#a4ede7}
 .playing .apparatus-name{font-size:13px;margin-bottom:5px}
}
@media(min-width:651px) and (max-height:700px){
 .playing .instruction{font-size:19px;margin:6px 0 8px}
 .playing .tool-zone .objects .object{min-height:90px;padding:4px 8px}
 .playing .tool-zone .object small{margin-top:2px}
 .playing .tool-schematic{height:24px;margin:2px auto}
 .playing .food-schematic{height:40px}
 .playing .tool-workspace{gap:5px;margin:6px auto}
 .playing .tool-word{display:none}
}
.quick-rules{padding:0 0 0 24px;margin:0;display:grid;gap:12px;font:600 17px/1.45 system-ui,sans-serif}
.quick-rules li{padding-left:5px}
.quick-rules li::marker{color:#ffcc58;font-weight:850}
.prep-start{margin:18px 0}
.prep-start>p{font-size:14px;color:#cde5ee;margin:0 0 8px;line-height:1.4}
.prep-details,.stage-recap{margin:14px 0;font-size:16px}
.prep-details>summary,.stage-recap>summary{min-height:44px;display:list-item;padding-block:10px;font-size:14px;line-height:1.5;color:#cde5ee}
.prep-success{font:750 22px/1.3 system-ui,sans-serif;color:#a4ede7;letter-spacing:0;margin:12px 0}
.next-opponent>.prep-rule-card{margin-top:16px}
.stage-recap .result-portrait{margin:0 0 22px;border-radius:10px}
.stage-recap .decision-details{overflow-x:auto}
.intro-prep .prep-controls>.timing-note{font-size:15px;line-height:1.45;color:#cde5ee}
.intro-prep .prep-controls>.actions{margin:16px 0}
@media(max-width:650px){
  /* A large opponent and one challenge question, rather than a miniature photo. */
  .pigeon-entrance{grid-template-columns:minmax(0,1fr);gap:10px;isolation:isolate;margin-bottom:24px}
  .pigeon-entrance .pigeon-encounter{grid-column:1;grid-row:2;min-height:230px;border-radius:14px;box-shadow:0 8px 24px #07182b70;background:#10243d}
  .pigeon-entrance .pigeon-encounter img{width:76%;left:auto;right:0;object-position:40% 24%;filter:none}
  .pigeon-entrance .pigeon-encounter:after{background:linear-gradient(90deg,#10243d 0%,#10243de8 20%,#10243d80 48%,#10243d00 75%)}
  .pigeon-entrance .entrance-copy h1{grid-column:1;grid-row:2;z-index:1;width:72%;padding:18px 16px;margin:0;font-size:clamp(35px,9.7vw,52px);line-height:1.04;letter-spacing:-1.1px;pointer-events:none;text-shadow:0 2px 14px #07182b60}
  .pigeon-entrance .mobile-hook{font-size:17px;color:#a4ede7;line-height:1.4;margin:2px 0;font-weight:650}
  .pigeon-entrance .hero-challenge,.pigeon-entrance .hook-calibration{display:none}
  .pigeon-entrance .actions{margin:0;gap:10px}
  .pigeon-entrance .actions .button{min-height:50px;font-weight:750}

  body.preparing>header,body.preparing>footer{display:none}
  .preparing main{min-height:100vh;min-height:100svh;min-height:100dvh;padding:8px 16px calc(108px + env(safe-area-inset-bottom));overflow-anchor:none}
  .preparing main>.challenge-hud{display:none}
  .preparing main>.back{min-height:44px;display:inline-flex;align-items:center;margin:0;font-size:14px}
  .preparing .lab-head{margin:4px 0 12px;gap:6px}
  .preparing .lab-head h1{font:800 25px/1.18 system-ui,sans-serif;margin:7px 0;letter-spacing:-.3px}
  .preparing .task-opponent{margin:0;gap:8px}
  .preparing .task-opponent>.tag{display:none}
  .preparing .opponent-chip{font-size:14px;gap:8px}
  .preparing .opponent-chip img{width:28px;height:28px}
  .preparing .lab-head>.tag{font-size:13px;padding:2px 7px}
  .preparing .intro-prep{padding:14px;border-radius:12px}
  .preparing .intro-prep>h2{font:750 17px/1.3 system-ui,sans-serif;margin:0 0 10px}
  .preparing .prep-rule-card{padding:12px 14px;margin:10px 0 12px;border-radius:9px}
  .preparing .prep-rule-label{font-size:14px;margin-bottom:10px}
  .preparing .quick-rules{gap:9px;font-size:16px;line-height:1.4;padding-left:20px}
  .preparing .quick-rules li{padding-left:3px}
  .preparing .intro-prep .prep-controls>.timing-note,.preparing .next-opponent .prep-controls>.timing-note{font-size:14px;line-height:1.35;margin:10px 0}
  .preparing .intro-prep .prep-controls>.actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}
  .preparing .intro-prep .prep-controls>.actions label{width:100%;min-width:0;font-size:14px;line-height:1.3}
  .preparing .intro-prep .prep-controls>.actions select{font-size:14px;padding:8px 5px;min-height:44px;width:100%;margin-top:5px}
  .preparing .prep-start{position:fixed;left:0;right:0;bottom:0;z-index:20;padding:10px 16px max(12px,env(safe-area-inset-bottom));margin:0;background:#10243df5;border-top:1px solid #6b9cba;box-shadow:0 -6px 20px #07182b70;backdrop-filter:blur(10px)}
  .preparing .prep-start>p{margin:0 0 6px;text-align:center;font-size:14px;line-height:1.3}
  .preparing .prep-start>button{width:100%;min-height:50px;padding:10px 14px;font-size:17px;font-weight:750;box-shadow:none}
  .preparing .prep-details,.preparing .stage-recap{margin:6px 0}
  .preparing .prep-details .task-instructions{font-size:16px;padding:12px;line-height:1.5}
  .preparing .prep-details summary,.preparing .stage-recap summary{font-size:14px;min-height:44px}
  .preparing .between-stages{display:block;margin:0}
  .preparing .between-stages>section{padding:0;background:transparent;border:0;box-shadow:none}
  .preparing .prep-exit{min-height:44px;font-size:14px;padding:6px 0;border:0;background:transparent;box-shadow:none;display:block;color:#cde5ee;margin:0}
  .preparing .prep-success{font:750 16px/1.4 system-ui,sans-serif;letter-spacing:0;margin:8px 0 12px;color:#a4ede7}
  .preparing .next-opponent{padding:14px;margin:0 0 6px;border-radius:12px}
  .preparing .next-opponent>.eyebrow{font-size:13px;line-height:1.4}
  .preparing .next-opponent>div:not(.prep-rule-card){margin-top:8px}
  .preparing .next-opponent h2{font:800 25px/1.18 system-ui,sans-serif;letter-spacing:-.3px;margin:8px 0 12px}
  .preparing .between-stages aside{padding:0 14px;margin-top:6px;background:transparent;border:0}
  .preparing .between-stages aside .stage-science{margin:0}
  .preparing .stage-recap[open]{padding:0 14px 14px;background:#14354c;border:1px solid #80b4c5;border-radius:10px}
  .preparing .stage-recap .result-portrait{margin:0 0 16px}
  .preparing .stage-recap .result-portrait img{height:160px}
  .preparing .stage-recap .bigscore{font-size:44px;margin-block:16px}
  .preparing .stage-recap .bigscore span{font-size:24px}
  .preparing .stage-recap .muted{font-size:14px;line-height:1.4}
  /* Setup also puts the choice of tempo and start ahead of the large portrait. */
  .duel-lobby{display:flex;flex-direction:column;gap:20px}
  .duel-config{order:-1;width:100%}
  .duel-config h2{font-size:30px;margin:12px 0}
  .duel-config .lead{font-size:16px;line-height:1.4;margin-bottom:12px}
  .duel-config .actions{grid-template-columns:1fr 1fr;gap:10px;align-items:end}
  .duel-config .auto-progression{font-size:14px;line-height:1.4}
  .duel-config .auto-progression b{margin-bottom:4px}
  .duel-config #startDuel{width:100%;min-height:50px;margin-top:14px;font-size:17px}
  .duel-opponent{width:100%;min-height:230px}
  .run-start-copy h1{font-size:36px;margin:14px 0}
  .run-start-copy .lead{font-size:16px;line-height:1.45}
  .run-start-copy .run-rules{margin:16px 0;gap:20px}
  .run-start-copy .run-rules b{font-size:27px}
}
@media(max-width:650px) and (max-height:600px){
  .pigeon-entrance .pigeon-encounter{min-height:200px}
  .pigeon-entrance .entrance-copy h1{font-size:35px}
  .preparing .lab-head h1,.preparing .next-opponent h2{font-size:23px}
}

/* Draft 20: desktop preparation keeps rules and the start action together. */
.prep-controls{min-width:0}
.prep-controls .actions label{min-width:0}
.adaptation-details{margin-top:14px}
.adaptation-details>summary{min-height:44px;padding-block:10px;cursor:pointer;color:#cde5ee}
@media(min-width:751px){
  .intro-prep{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,1fr);column-gap:28px;align-items:start}
  .intro-prep>h2,.intro-prep>details{grid-column:1/-1}
  .intro-prep>.prep-rule-card{grid-column:1;margin:12px 0 20px}
  .intro-prep>.prep-controls{grid-column:2;margin-top:12px}
  .prep-controls>.actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:0}
  .prep-controls select{width:100%;max-width:100%}
  .prep-controls .prep-start>button{width:100%;min-height:50px;font-weight:750}
  .between-stages{display:block;max-width:1050px;margin-inline:auto}
  .between-stages .next-opponent{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,1fr);column-gap:28px;align-items:start}
  .next-opponent>.eyebrow,.next-opponent>div:not(.prep-rule-card):not(.prep-controls){grid-column:1/-1}
  .next-opponent>.prep-rule-card{grid-column:1}
  .next-opponent>.prep-controls{grid-column:2;margin-top:16px}
  .between-stages .prep-exit{min-height:44px}
}

/* Keep the science heading readable on the dark between-stage panel. */
.between-stages aside .aha-summary>.eyebrow{color:#a4ede7}

/* Crow apparatus: manipulate a path, a wire, or a working device. */
.playing #task[data-game^="crow-"]{display:block}
.crow-prompt{font-size:16px;line-height:1.4;margin:4px 0 12px;color:#d8eef5}
.crow-pipe-board{display:grid;grid-template-columns:repeat(var(--crow-grid),minmax(0,1fr));gap:1.25%;width:min(100%,360px);aspect-ratio:1;margin:12px auto;position:relative}
.crow-pipe{padding:0;min-width:0;min-height:0;aspect-ratio:1;border:1px solid #7cabc0;border-radius:7px;background:#13344b;box-shadow:none}
.crow-pipe svg{display:block;width:100%;height:100%}
.crow-channel{fill:none;stroke:#98becb;stroke-width:18;stroke-linecap:butt}
.crow-pit{fill:#050e19;stroke:#ff887b;stroke-width:3}
.crow-trap-hole:disabled{opacity:1;cursor:default}
.crow-food{fill:#ffcc58;stroke:#fff5ca;stroke-width:2}
.crow-safe,.crow-ring{fill:none;stroke:#ffcc58;stroke-width:4}
.crow-entry{border-color:#ffcc58}.crow-exit{border-color:#9ee0bd}
.crow-route-safe{background:#276d5a;border-color:#a4ede7}.crow-route-failed{background:#733f48;border-color:#ff887b}
.crow-route-animation{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.crow-actions{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin:12px 0 4px}
.crow-actions button{min-height:44px;font-size:16px;padding:10px 16px}
.crow-actions span{font-size:14px;color:#cde4ed}
.crow-wire-workspace{display:grid;grid-template-columns:minmax(0,300px) minmax(130px,180px);justify-content:center;align-items:start;gap:18px;margin:12px auto}
.crow-wire-board{min-width:0;max-width:300px}
.crow-wire-board>svg{display:block;width:100%;aspect-ratio:1;background:#102b41;border:1px solid #83b4c6;border-radius:10px;overflow:hidden}
.crow-wall{fill:#547486;stroke:#89aabb;stroke-width:2}
.crow-wire{fill:none;stroke:#a4ede7;stroke-width:7;stroke-linecap:round;stroke-linejoin:round}
.crow-wire-blocked{stroke:#ff887b}.crow-wire-tip{fill:#fff7d5;stroke:#102b41;stroke-width:2}
.crow-joint{fill:#173e55;stroke:#a4ede7;stroke-width:2}.crow-wire-board text{fill:#fff;font:700 16px system-ui}
.crow-wire-status{display:block;min-height:40px;font-size:14px;line-height:1.35;margin-top:6px;color:#d9ebf3}
.crow-joints{display:grid;gap:8px}.crow-joint-control{display:flex;justify-content:space-between;gap:10px;min-height:44px;padding:8px 12px;font-size:15px;box-shadow:none}.crow-joint-control span{font-size:14px;color:#a4ede7}
.crow-inventory{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;max-width:760px;margin:10px auto 12px}
.crow-inventory>span{grid-column:1/-1;font-size:14px;font-weight:700;color:#a4ede7}
.crow-inventory button{display:flex;align-items:center;justify-content:center;gap:8px;padding:5px 8px;min-height:55px;font-size:14px;box-shadow:none;min-width:0;overflow-wrap:anywhere}
.crow-inventory button>svg{width:38px;height:42px;flex:none}.crow-inventory button.selected{outline:2px solid #ffcc58;outline-offset:-2px;background:#294858}
.crow-tool-mark{fill:none;stroke:#a4ede7;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
.crow-devices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:860px;margin:0 auto}
.crow-device-card{display:flex;flex-direction:column;align-items:center;padding:7px;min-height:108px;min-width:0;box-shadow:none;font-size:16px}
.crow-device-card svg{display:block;width:100%;height:65px}.crow-device-card small{display:block;color:#ffdc8b;font-size:14px;line-height:1.3;margin-top:3px}
.crow-device{fill:none;stroke:#90bccc;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.crow-device-action{stroke:#ffcc58}
.crow-device-open:disabled{opacity:.45}.crow-action-budget{font-size:14px;line-height:1.4;text-align:center;margin:8px 0 0}
@media(max-width:650px),(min-width:651px) and (max-height:900px){
 .playing #task[data-game^="crow-"]>.instruction{font-size:20px;line-height:1.25;margin:5px 0}
 .crow-prompt{font-size:15px;margin-bottom:8px}
 .crow-pipe-board{width:min(100%,clamp(240px,42dvh,350px));margin:8px auto}
 .crow-wire-workspace{grid-template-columns:minmax(0,280px) minmax(130px,160px);gap:12px;margin:8px auto}
 .crow-actions{margin-top:8px}.crow-devices{gap:6px}.crow-device-card{min-height:94px;padding:5px}.crow-device-card svg{height:49px}
 .crow-inventory{margin:8px auto}.crow-inventory button{min-height:50px}.crow-inventory button>svg{height:35px;width:32px}
}
@media(max-width:650px){
 .crow-wire-workspace{grid-template-columns:minmax(0,1fr);gap:6px}.crow-wire-board{width:min(100%,280px);margin:auto}
 .crow-joints{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.crow-joint-control{display:block;padding:5px;font-size:14px}.crow-joint-control span{display:block;margin-top:2px}
 .crow-devices{grid-template-columns:repeat(2,minmax(0,1fr))}.crow-inventory button{flex-direction:column;gap:3px;padding:4px;font-size:14px}
 .crow-actions button{flex:1 1 auto}.crow-device-card{font-size:15px}
}
@media(max-height:700px){
 .crow-device-card{min-height:80px}.crow-device-card svg{height:34px}.crow-device-card small{margin-top:1px}
 .crow-wire-board{max-width:240px}.crow-wire-status{min-height:34px}
}

.crow-hook-caught .crow-wire{stroke:#ffcc58}.crow-hook-caught .crow-ring{fill:#ffcc5866}
@media(max-width:650px) and (max-height:700px){
 .crow-wire-workspace{grid-template-columns:minmax(0,1fr) 90px;gap:8px;align-items:start}
 .crow-wire-board{width:100%;max-width:240px}.crow-joints{grid-template-columns:1fr;gap:4px}
 .crow-joint-control{min-height:44px;padding:4px;font-size:14px}.crow-wire-status{font-size:14px;line-height:1.25}
 .crow-devices{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
 .crow-device-card{min-height:76px;font-size:14px;padding:4px}.crow-device-card svg{height:30px}.crow-device-card small{font-size:14px;line-height:1.2}
 .crow-inventory button>svg{height:24px;width:24px}.crow-inventory{margin:6px auto}.crow-inventory button{min-height:44px}
 .crow-prompt{font-size:14px;line-height:1.3;margin-bottom:6px}
}

/* Draft 32: show the action with a fixed example before the live game starts. */
.crow-inventory{grid-template-columns:repeat(var(--crow-tools,5),minmax(0,1fr))}
.crow-inventory button{flex-direction:row}
.crow-device-card>span{font-weight:750;line-height:1.25}
.crow-active-tool{line-height:1.3}
@media(max-width:650px) and (max-height:700px){
 .crow-devices[data-level="1"]{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.preparing .lab-head h1,.playing .lab-head h1,.preparing .next-opponent h2{font:900 clamp(34px,4vw,46px)/1.1 system-ui,sans-serif;letter-spacing:-.6px;color:#fff2b7;margin:6px 0 10px;overflow-wrap:break-word}
.preparing .intro-prep>h2{display:none}
.prep-rule-card{min-width:0}
.prep-goal{font-size:20px;margin-bottom:10px}
.quick-rules{font-weight:550;line-height:1.4;gap:8px}
.quick-rules li{padding-left:3px}
.rule-example{margin:14px 0 0;padding-top:12px;min-width:0;font-size:16px;line-height:1.4}
.rule-example>b{font-size:14px;margin-bottom:8px}
.guide-frames{display:grid;grid-template-columns:repeat(var(--guide-panels),minmax(0,1fr));gap:10px;margin-bottom:8px}
.guide-frame{min-width:0;display:flex;flex-direction:column;justify-content:flex-end;gap:5px}
.guide-frame>span{font:650 14px/1.3 system-ui,sans-serif;color:#fff2b7;text-align:center;overflow-wrap:break-word}
.guide-frame svg{display:block;width:100%;height:auto;max-height:104px;font-family:system-ui,sans-serif;overflow:visible}
.game-help>summary{font-size:14px;font-weight:750;border-color:#ffcc58;color:#fff2b7;min-height:38px}
.game-help-content .guide-frame svg{max-height:90px}
.game-help-content .rule-example{font-size:16px}
@media(min-width:751px){
 .preparing .intro-prep,.preparing .next-opponent{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 20px}
 .preparing .intro-prep>.prep-rule-card,.preparing .next-opponent>.prep-rule-card{grid-column:1/-1;grid-row:auto;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:8px 24px;margin:8px 0;padding:14px 16px}
 .preparing .prep-rule-label{grid-column:1/-1;margin:0;font-size:14px}
 .preparing .prep-goal{grid-column:1;grid-row:2;margin:0;font-size:20px}
 .preparing .quick-rules{grid-column:1;grid-row:3;font-size:16px;gap:8px;align-self:start}
 .preparing .rule-example{grid-column:2;grid-row:2/4;align-self:start;border-top:0;border-left:1px solid #77adbd80;margin:0;padding:0 0 0 20px;font-size:16px}
 .preparing .intro-prep>.prep-controls,.preparing .next-opponent>.prep-controls{grid-column:1/-1;grid-row:auto;margin:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 24px;align-items:center}
 .preparing .prep-controls>.actions{margin:0}
 .preparing .prep-controls>.timing-note{margin:0;font-size:14px;line-height:1.35}
 .preparing .prep-controls>.prep-start{grid-column:1/-1}
 .preparing .intro-prep>.prep-details,.preparing .intro-prep>details:not(.prep-details){grid-row:auto;margin:0}
 .preparing .intro-prep>details:not(.prep-details){grid-column:2}
}
@media(max-width:650px),(min-width:651px) and (max-height:900px){
 .playing .mobile-game-head{min-height:54px;max-height:none;padding:4px 0 8px;align-items:center}
 .playing .mobile-game-head .mobile-game-title{font:900 27px/1.12 system-ui,sans-serif;letter-spacing:-.4px;color:#fff2b7;white-space:normal;overflow-wrap:break-word}
 .playing .game-help>summary{font-size:14px;padding:7px 8px;min-height:36px}
}
@media(min-width:651px) and (max-height:900px){
 .preparing .lab-head h1,.preparing .next-opponent h2{font-size:36px}
 .preparing .lab-head{margin:4px 0 8px}
 .playing .mobile-game-head .mobile-game-title{font-size:30px}
}
@media(max-width:750px){
 .preparing .lab-head h1,.preparing .next-opponent h2{font-size:32px;line-height:1.12}
 .preparing .prep-rule-card{padding:12px;margin:8px 0}
 .preparing .prep-rule-label{margin-bottom:8px}
 .preparing .prep-goal{font-size:20px;margin-bottom:8px}
 .preparing .quick-rules{font-size:16px;line-height:1.35;gap:6px}
 .preparing .rule-example{font-size:16px;padding-top:10px;margin-top:10px}
 .guide-frames{gap:6px}
 .guide-frame svg{max-height:90px}
}
@media(max-width:360px){
 .playing .mobile-game-head .mobile-game-title{font-size:24px}
 .preparing .lab-head h1,.preparing .next-opponent h2{font-size:30px}
}

/* Keep the beta status attached to the wordmark at every viewport. */
header .brand{display:grid;grid-template-columns:minmax(0,max-content) max-content;align-items:center;column-gap:8px;flex-shrink:0;max-width:100%;letter-spacing:-.6px}
header .brand .brand-name{color:var(--ink);white-space:nowrap}
header .brand .brand-name b{color:var(--accent);font-weight:inherit}
header .brand .beta-badge{display:inline-flex;align-items:center;justify-content:center;color:#142746;background:#ffcc58;border:1px solid #ffdc87;border-radius:5px;padding:4px 7px;font:800 .875rem/1 system-ui,sans-serif;letter-spacing:.04em;white-space:nowrap}
header .brand small{grid-column:1/-1;margin-top:7px;max-width:none}
header .header-tools{gap:0}
@media(min-width:1101px){header>nav{flex:1;min-width:0;flex-wrap:wrap;justify-content:center;gap:10px 20px}}
@media(max-width:650px){header .brand{font-size:21px}}
@media(max-width:480px){header .brand{font-size:20px}}
@media(max-width:380px){
 header .brand .brand-name{white-space:normal;line-height:1.05}
 header .brand .brand-name b{display:block;overflow-wrap:anywhere}
 header .brand .beta-badge{align-self:end;margin-bottom:2px}
}

footer>p{margin:0 0 12px}
footer .legal-links{display:flex;flex-wrap:wrap;gap:8px 22px;width:auto;font-size:14px}
footer .legal-links a,.game-legal-links a{display:inline-flex;align-items:center;min-height:36px;text-decoration:underline;text-underline-offset:3px;color:#a4ede7;overflow-wrap:anywhere}
.game-legal-links{display:flex;flex-wrap:wrap;gap:6px 18px;width:auto;border-top:1px solid #77adbd80;margin-top:12px;padding-top:6px;font-size:14px}
.legal-content{max-width:850px;margin-inline:auto;font-size:16px;line-height:1.65}
.legal-content h1{font:900 clamp(32px,5vw,48px)/1.12 system-ui,sans-serif;letter-spacing:-.6px;overflow-wrap:anywhere}
.legal-content h2{font:750 24px/1.25 system-ui,sans-serif;margin:28px 0 12px}
.legal-content a{color:#a4ede7;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.legal-content address{font-style:normal;line-height:1.7}
.legal-content .legal-date{font-size:14px;color:var(--muted);border-top:1px solid var(--line);margin-top:28px;padding-top:16px}

.animal-privacy-settings{max-width:680px;margin:16px auto 0;text-align:left;border:1px solid #425672;border-radius:12px;padding:12px 16px;font-size:14px;line-height:1.5}.animal-privacy-settings summary{cursor:pointer;font-weight:700}.animal-privacy-settings p{margin:10px 0}.animal-privacy-settings button{white-space:normal;max-width:100%}.animal-privacy-settings [role=status]:empty{display:none}
