/* Compact secondary modes: one choice at a time, with the animals taking priority. */
.tournament-banner{display:flex;gap:22px;align-items:center;padding:22px;margin:16px 0 28px;border:1px solid #d6b37655;border-radius:18px;background:linear-gradient(115deg,#2d2a3c,#172b40)}
.tournament-banner>div{flex:1}.tournament-banner h2{font-size:23px;margin:4px 0}.tournament-banner p{font-size:13px;color:#bacada;margin:5px 0}
.tournament-seal{color:#f6cb7e}.tournament-seal svg{width:52px;height:52px}
.tournament-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:24px 0}
.bracket-status{display:block;font-size:9px;color:#aac0d6;text-align:center;padding:5px;border-top:1px solid #344458}
.tournament-lobby{padding:28px;text-align:center}.tournament-lobby h2{font-size:24px;min-height:56px}
.ready-players{display:grid;grid-template-columns:1fr 32px 1fr;align-items:center;gap:15px;margin:25px 0}.ready-players>div{padding:18px 8px;border:1px solid #415166;border-radius:16px;background:#102238}
.ready-players img{width:92px;height:92px;border-radius:50%;object-fit:cover;border:3px solid #61748a}.ready-players h3{font-size:18px;margin:12px 0 3px}.ready-players small{color:#93abc2}.ready-players b{display:block;font-size:12px;margin-top:16px;color:#d7bf92}
.ready-players .is-ready{border-color:#57bc91;background:#142f31}.ready-players .is-ready b{color:#79dab1}.ready-players .is-ready img{border-color:#74d3a7}
.tournament-search-dots{display:flex;justify-content:center;gap:10px;margin:25px}.tournament-search-dots i{width:10px;height:10px;background:#efc577;border-radius:50%;animation:lobby-pulse 1s infinite}.tournament-search-dots i:nth-child(2){animation-delay:.2s}.tournament-search-dots i:nth-child(3){animation-delay:.4s}
@keyframes lobby-pulse{50%{opacity:.3;transform:translateY(-5px)}}
.tournament-bracket{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:center}
.tournament-bracket section{min-width:0}.tournament-bracket h3{font-size:14px;color:#afc0d3;text-align:center}
.bracket-match{background:#16283b;border:1px solid #34475b;border-radius:12px;margin:12px 0;overflow:hidden}
.bracket-player{display:flex;align-items:center;gap:10px;padding:10px;border-bottom:1px solid #33415566}.bracket-player:last-child{border:0}
.bracket-player img{width:34px;height:34px;border-radius:50%;object-fit:cover}.bracket-player>span{flex:1;min-width:0}
.bracket-player b,.bracket-player small{display:block;overflow:hidden;text-overflow:ellipsis}.bracket-player small{color:#a3b8cc;font-size:10px;margin-top:4px}
.bracket-player.winner{background:#d5b27815}.bracket-player.you b{color:#f5cb80}.bracket-player>svg{width:18px;color:#7edbb1}
.bracket-pending{padding:34px 10px;color:#7d91aa;text-align:center;font-size:12px}
.tournament-empty{text-align:center;padding:40px;background:#15273b;border-radius:18px;font-size:42px}.tournament-empty h2{font-size:22px}.tournament-empty p{font-size:14px;color:#abc1d8}
.tournament-champion{display:flex;justify-content:center;align-items:center;gap:14px;padding:20px;border-radius:14px;background:#dab16a20;color:#f5ce88}.tournament-champion svg{width:32px}
/* Tournament updates patch these nodes in place; only readiness changes have motion. */
dialog.battle-modal.live-combat-modal:focus{outline:none}
dialog.live-combat-modal .battle-speed .speed-cycle:disabled{opacity:1;color:#bad5e3;cursor:default}
.tournament-progress{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:22px 0;padding:0}
.tournament-progress li{position:relative;display:flex;align-items:center;gap:10px;padding:14px 12px;min-width:0;border:1px solid #33495e;border-radius:13px;background:#102237;color:#95abc1}
.tournament-progress li>span{display:grid;place-items:center;flex:0 0 30px;height:30px;border:1px solid #506078;border-radius:50%;font-weight:700;font-size:13px}.tournament-progress svg{width:17px;height:17px}
.tournament-progress b{font-size:13px;line-height:1.4;overflow-wrap:anywhere}.tournament-progress .is-current{border-color:#ebc47c;background:#d6ad6514;color:#f6cf86;box-shadow:inset 0 -3px #e5bc74}.tournament-progress .is-complete{color:#86d6b8;border-color:#447e72}.tournament-progress .is-complete>span{border-color:#447e72;background:#325e5140}
.tournament-current-match{overflow:hidden;border:1px solid #c6a76a66;border-radius:18px;background:radial-gradient(ellipse at 50% 0,#36536a55,transparent 75%),#12283c;margin:20px 0}
.tournament-match-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;border-bottom:1px solid #49607650}.tournament-match-heading h2{font-size:18px;margin:0}.tournament-match-heading>span{font-size:12px;color:#b5c9da;text-align:end}
.tournament-current-players{display:grid;grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr);align-items:center;padding:15px;gap:10px}.tournament-current-players .bracket-player{border:0;padding:10px;min-width:0}.tournament-current-players .bracket-player img{width:52px;height:52px;border:2px solid #5f7a90}.tournament-current-players .bracket-player.you img{border-color:#edc477}.tournament-current-players .bracket-player b{font-size:16px;white-space:normal;overflow-wrap:anywhere}.tournament-current-players .bracket-player small{font-size:12px;white-space:normal;overflow-wrap:anywhere}.tournament-current-players .bracket-pending{font-size:13px;padding:15px 5px}
.tournament-versus{color:#e7c386;font-size:12px;font-weight:800;text-align:center}
.tournament-bracket>section.is-current>h3{color:#f3cc86}.tournament-bracket .bracket-status{font-size:11px;padding:8px}.tournament-bracket .bracket-player b{white-space:normal;overflow-wrap:anywhere;font-size:12px}.tournament-bracket .bracket-player small{font-size:11px}
.tournament-lobby .ready-players>div{transition:border-color .25s ease,background-color .25s ease,box-shadow .25s ease}.tournament-lobby .ready-players .is-ready{box-shadow:inset 0 0 0 1px #68c6a52b}.tournament-lobby .ready-players>div>img{width:80px;height:80px}.tournament-lobby .ready-players h3{overflow-wrap:anywhere;line-height:1.35}.tournament-lobby .ready-players small{overflow-wrap:anywhere;line-height:1.4}.tournament-lobby .ready-players b{font-size:13px;line-height:1.5}
.tournament-lobby .tournament-squad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:15px auto 0;max-width:216px}.tournament-squad>.art{position:relative;width:100%;aspect-ratio:1;border-radius:7px;background-color:#0d3a62;border:1px solid #49718b55;overflow:hidden}.tournament-unknown{display:grid;place-items:center;width:80px;height:80px;margin:auto;border:2px dashed #4a6075;border-radius:50%;color:#8ca5bd}.tournament-unknown svg{width:32px;height:32px}
.tournament-lobby.is-counting>h2{color:#f5cf89;animation:tournament-ready-glow 1.4s ease-in-out 2}.tournament-lobby>.btn{min-height:48px;max-width:380px;width:100%}
.tournament-result-round{display:flex;align-items:center;gap:9px;color:#ecca86;font-size:14px;min-width:0;overflow-wrap:anywhere}.tournament-result-round svg{width:22px;height:22px;flex:none}
.result:has(.tournament-result) .result-headline{animation:tournament-result-arrive .48s ease-out both}.result:has(.tournament-result) .tournament-result{display:inline-block;border:1px solid #d3b46a66;background:#d2ad6814;border-radius:100px;padding:9px 18px;font-size:14px;line-height:1.5;color:#f3d18f}.result-loss:has(.tournament-result) .tournament-result{color:#b8c9dc;border-color:#6c829555;background:#7b8b9b10}
@keyframes tournament-ready-glow{50%{text-shadow:0 0 20px #f0c77d77}}
@keyframes tournament-result-arrive{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}
@media(max-width:620px){
 .tournament-progress{gap:6px;margin:18px 0}.tournament-progress li{flex-direction:column;gap:7px;padding:11px 5px;text-align:center}.tournament-progress b{font-size:12px}.tournament-progress li>span{flex-basis:28px;width:28px;height:28px}
 .tournament-match-heading{padding:13px}.tournament-match-heading h2{font-size:17px}.tournament-match-heading>span{font-size:11px}.tournament-current-players{gap:3px;padding:12px 6px;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr)}.tournament-current-players .bracket-player{flex-direction:column;text-align:center;padding:6px}.tournament-current-players .bracket-player img{width:48px;height:48px}.tournament-current-players .bracket-player b{font-size:14px}.tournament-current-players .bracket-player small{font-size:11px}
 .tournament-lobby .ready-players{grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);gap:6px;margin:18px 0}.tournament-lobby .ready-players>div{padding:14px 7px}.tournament-lobby .ready-players>div>img,.tournament-unknown{width:62px;height:62px}.tournament-lobby .ready-players h3{font-size:15px}.tournament-lobby .ready-players small{font-size:12px}.tournament-lobby .tournament-squad{gap:3px;margin-top:12px}.tournament-lobby .ready-players b{font-size:12px;margin-top:12px}.tournament-lobby h2{font-size:21px;line-height:1.35;min-height:57px}.tournament-result-round{font-size:12px;gap:6px}
}
@media(max-width:380px){.game-main .tournament-bracket>section{grid-template-columns:1fr}.tournament-bracket .bracket-match{grid-column:1/-1}.tournament-bracket .bracket-player b{font-size:13px}.tournament-lobby{padding:18px 10px}}
@media(prefers-reduced-motion:reduce){.tournament-lobby .ready-players>div{transition:none}.tournament-lobby.is-counting>h2,.result:has(.tournament-result) .result-headline{animation:none}}
@media(min-width:1001px){
 .game-main:has(>.tournament-bracket){padding-block:22px}
 .game-main:has(>.tournament-current-match){display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:14px 18px;align-items:start}
 .game-main:has(>.tournament-current-match)>.page-intro,.game-main:has(>.tournament-current-match)>.tournament-progress,.game-main:has(>.tournament-current-match)>.tournament-bracket,.game-main:has(>.tournament-current-match)>.tournament-champion{grid-column:1/-1}
 .game-main:has(>.tournament-bracket)>.page-intro{margin:0}.game-main:has(>.tournament-bracket)>.page-intro h1{font-size:30px}.game-main:has(>.tournament-bracket)>.page-intro .sub{margin-top:5px}
 .game-main:has(>.tournament-current-match)>.tournament-current-match{grid-column:1;grid-row:3;margin:0}
 .game-main:has(>.tournament-current-match)>.tournament-actions{grid-column:2;grid-row:3;align-self:center;margin:0;justify-content:center}
 .game-main:has(>.tournament-current-match)>.tournament-actions>.btn:first-child{min-width:180px;min-height:52px}
 .game-main>.tournament-progress{margin:0}.game-main>.tournament-progress li{padding:9px 12px}
 .game-main>.tournament-current-match .tournament-match-heading{padding:9px 14px}.game-main>.tournament-current-match .tournament-match-heading h2{font-size:16px}
 .game-main>.tournament-current-match .tournament-current-players{padding:7px 10px}.game-main>.tournament-current-match .bracket-player{padding:5px 8px}.game-main>.tournament-current-match .bracket-player img{width:40px;height:40px}.game-main>.tournament-current-match .bracket-player b{font-size:15px}
 .game-main>.tournament-bracket{align-items:start;gap:20px}.game-main>.tournament-bracket h3{margin:2px 0 9px;font-size:15px}.game-main>.tournament-bracket .bracket-match{margin:0 0 9px}
 .game-main>.tournament-bracket .bracket-player{padding:7px 10px;gap:8px;line-height:1.3}.game-main>.tournament-bracket .bracket-player img{width:30px;height:30px}.game-main>.tournament-bracket .bracket-player b{font-size:13px}.game-main>.tournament-bracket .bracket-player small{margin-top:2px;line-height:1.35}.game-main>.tournament-bracket .bracket-status{padding:6px}.game-main>.tournament-bracket .bracket-pending{padding:24px 10px}
}
.battle-log{margin:0 18px 12px;border:1px solid #3a4c60;border-radius:10px;background:#0e1c2c}
.battle-log summary{cursor:pointer;display:list-item;padding:10px 12px;color:#bfccda;font-size:12px;min-height:40px}.battle-log summary b{float:inline-end;color:#f2c77d}
.battle-log ol{margin:0;padding:4px 10px;list-style:none;height:190px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;overflow-anchor:none}
.battle-log li{display:flex;gap:6px;align-items:flex-start;border-top:1px solid #24374a;padding:6px 0}.log-index{color:#6d849d;font-size:10px;min-width:16px;padding-top:3px}
.battle-log .combat-event{border:0;background:none;margin:0!important;padding:0!important;min-height:0!important;gap:8px}
.battle-log .event-symbol{display:none}.battle-log .combat-event small{font-size:8px;margin-bottom:2px}.battle-log .combat-event strong{font-size:11px}.battle-log .combat-event p{font-size:10px;margin:3px 0}
.result-log{text-align:start;margin:18px 0}
.battle-feed{margin:0 24px 20px;border:1px solid #3a4e64;border-radius:12px;background:#102236;overflow:hidden}
.battle-feed ol{height:166px;overflow-y:auto;overscroll-behavior:contain;overflow-anchor:none;list-style:none;margin:0;padding:8px 12px;scrollbar-width:thin}
.battle-feed li{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-top:1px solid #56708630}
.battle-feed li:first-child{border-top:0}.battle-feed .combat-event{background:none;border:0;padding:0;margin:0;min-height:0;gap:8px;flex:1}
.battle-feed .event-symbol{width:24px;height:24px;flex:0 0 24px}.battle-feed .event-symbol svg{width:16px;height:16px}
.battle-feed .combat-event strong{font-size:13px;line-height:1.35}.battle-feed .combat-event p{font-size:11px;line-height:1.4;margin-top:3px}.battle-feed .combat-event small{display:none}
.battle-feed li:not(:last-child){opacity:.68}.battle-feed li:last-child strong{color:#f3cd89}.battle-feed .log-index{padding-top:3px}
.species-caption{font-size:10px;line-height:1.45;color:#a8bed1;margin:2px 0 8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-wrap:pretty}
.focus-info .species-caption{font-size:13px;margin:6px 0 16px}.home-team .species-caption{font-size:9px;min-height:26px}
.hatch-opening .hatch-egg{display:block;width:250px;height:280px;margin:12px auto;border:0;background:none}
.hatch-opening[data-phase="opening"] .egg-shell{animation:egg-hatch-shake .4s 2}
.hatch-opening[data-phase="opening"] .egg-top{animation:egg-hatch-top 1s .4s forwards}
.hatch-opening[data-phase="opening"] .egg-bottom{animation:egg-hatch-bottom 1s .4s forwards}
.hatch-dinosaur{max-width:460px;margin:14px auto;background:radial-gradient(ellipse,color-mix(in srgb,var(--rarity) 25%,transparent),transparent 65%);animation:hatch-appear .6s ease-out}
.hatch-dinosaur>.art{width:100%;aspect-ratio:1;position:relative;border-radius:18px}.hatch-traits{display:flex;align-items:center;justify-content:center;gap:20px;margin:10px 0 20px}.hatch-traits .nature-badge{margin:0}
@keyframes egg-hatch-shake{25%{transform:rotate(-7deg)}75%{transform:rotate(7deg)}}
@keyframes egg-hatch-top{to{transform:translate(-30px,-100px) rotate(-25deg);opacity:0}}
@keyframes egg-hatch-bottom{to{transform:translate(28px,70px) rotate(20deg);opacity:0}}
@keyframes hatch-appear{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}
.challenge-menu{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.challenge-tile{position:relative;background:linear-gradient(145deg,#20394c,#122238);border:1px solid #48616b80;border-radius:20px;padding:24px;display:flex;flex-direction:column;overflow:hidden}
.challenge-tile:nth-child(2){background:linear-gradient(145deg,#3a3542,#162337)}.challenge-tile:nth-child(3){background:linear-gradient(145deg,#223d3a,#122238)}
.challenge-number{position:absolute;right:15px;top:10px;font-size:72px;font-weight:800;opacity:.07;line-height:1}
.challenge-tile-art{width:75px;height:90px;display:flex;align-items:center;color:#e4c58d}.challenge-tile-art svg{width:52px;height:52px}
.challenge-tile-picture{position:relative;aspect-ratio:1.5;overflow:hidden;border-radius:13px;background:#092a55;margin-bottom:12px}.challenge-tile-picture>.art{position:absolute;inset:0;background-size:cover;background-position:center 42%}.challenge-source{display:inline-flex;margin:6px 0 14px;font-size:12px}
.challenge-tile h2{font-size:23px;margin:8px 0 12px}.challenge-tile p{font-size:13px;line-height:1.6;color:#bdccdb;flex:1}.challenge-tile small{display:block;color:#f3ce8c;margin:14px 0}
dialog.challenge-modal{width:min(900px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow-x:hidden}
.challenge-play{padding:26px}.challenge-play header{display:flex;gap:15px;align-items:center;justify-content:space-between;margin-bottom:20px}.challenge-play h2{font-size:25px;margin:3px 0}
.challenge-play p{color:#b5c7d9;font-size:14px;line-height:1.6}.challenge-play>h3{margin-top:22px}.challenge-note{display:block;margin:18px 0;color:#98adc4;font-size:11px;line-height:1.6}
.challenge-timer,.field-progress{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:#b6cde0;padding:10px 14px;border-radius:9px;background:#0f2031;margin-bottom:12px}
.challenge-timer b{font-variant-numeric:tabular-nums;color:#f1cf8d}
.challenge-specimen>.art{width:100%;aspect-ratio:1;position:relative}.challenge-specimen>b{display:block;font-size:12px;overflow-wrap:anywhere;padding:8px 4px}
.field-evidence{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:25px;align-items:center}.field-evidence .challenge-specimen{background:#122b40;border-radius:15px;overflow:hidden;text-align:center}
.field-options{display:grid;gap:10px}.field-options button{padding:13px;text-align:start;border-radius:10px;border:1px solid #3f526c;background:#122238;color:#e4edf4;min-height:48px}
.field-options button.correct{border-color:#6bdfaf;background:#1b5941;color:#fff}.field-options button.incorrect{border-color:#e28b89;background:#612b35}
.field-explanation{padding:18px;margin:16px 0;background:#eac17b0c;border-inline-start:3px solid #eac17b;border-radius:6px}.field-explanation p{font-size:12px;margin:8px 0}.field-explanation a{color:#e6c78a;font-size:12px}
.challenge-result{text-align:center;padding:20px}.challenge-result-symbol{font-size:56px;color:#9cafc5}.challenge-result.passed .challenge-result-symbol{color:#f4cb80}.challenge-result h3{font-size:26px}
.challenge-recap{margin:10px 0 25px}.challenge-recap p{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid #314255;padding:10px}.challenge-recap span{font-size:12px;text-align:end}
.challenge-loading{padding:50px;text-align:center;color:#adc3da}
@media(max-width:620px){
 .tournament-lobby{padding:18px 12px}.tournament-lobby h2{font-size:20px}.ready-players{gap:8px;grid-template-columns:1fr 20px 1fr}.ready-players img{width:64px;height:64px}.ready-players h3{font-size:14px}.ready-players b{font-size:11px}
 .tournament-banner{gap:12px;flex-wrap:wrap;padding:18px}.tournament-banner>div{min-width:180px}.tournament-banner>.btn{width:100%}.tournament-banner h2{font-size:19px}.tournament-seal svg{width:36px}
 .tournament-bracket{grid-template-columns:1fr;gap:12px}.tournament-bracket section{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tournament-bracket h3{grid-column:1/-1}.bracket-match{margin:0}.tournament-bracket section:last-child .bracket-match{grid-column:1/-1}
 .bracket-player{padding:7px;gap:6px}.bracket-player b{font-size:11px}.bracket-player img{width:27px;height:27px}
 .battle-log{margin:0 10px 8px}.battle-log summary{padding:8px 10px;font-size:11px;min-height:36px}
 .battle-feed{margin:0 12px 12px}.battle-feed ol{height:130px;padding:6px 9px}.battle-feed .combat-event{min-height:0!important;margin:0!important;padding:0!important}.battle-feed .combat-event strong{font-size:12px}.battle-feed .combat-event p{font-size:10px}.battle-feed .log-index{font-size:8px}
 .challenge-menu{grid-template-columns:1fr}.challenge-tile{padding:20px}.challenge-tile-art{height:50px}.challenge-tile h2{font-size:21px}
 .challenge-play{padding:16px}.challenge-play header{gap:10px}.challenge-play h2{font-size:20px}.challenge-play .eyebrow{font-size:8px}.challenge-play p{font-size:12px}
 .challenge-specimen>b{font-size:9px;padding:6px 2px}
 .field-evidence{gap:12px;grid-template-columns:1fr}.field-evidence>.challenge-specimen{max-width:180px;margin:auto;width:100%}.field-options button{font-size:12px}
}
@media(max-height:650px) and (max-width:620px){.battle-feed ol{height:88px}.live-combat-modal .battle-stage{padding-bottom:8px}}
@media(prefers-reduced-motion:reduce){.hatch-opening *,.hatch-dinosaur{animation:none!important}}
.keyboard-move{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}
.keyboard-move:focus-visible{clip-path:none;width:auto;height:auto;z-index:10;top:8px;left:8px;padding:12px;background:#f1cb85;color:#142335;border-radius:8px}
.draggable-card{position:relative;cursor:grab}.draggable-card:active{cursor:grabbing}
.encyclopedia-intro{display:flex;align-items:center;gap:25px;justify-content:space-between;margin:0 0 24px}.encyclopedia-intro p{max-width:650px;color:#afc3d7;line-height:1.6}
.encyclopedia-search{width:100%;max-width:500px;margin:0 0 22px}
.encyclopedia-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:18px}
.encyclopedia-species{background:#182b3e;border:1px solid #364d65;border-radius:16px;padding:0 0 16px;color:#f0f3f8;overflow:hidden;text-align:start;cursor:pointer}
.encyclopedia-species .art{position:relative;width:100%;aspect-ratio:1.2}.encyclopedia-species h3{font-size:17px;margin:14px 16px 5px}.encyclopedia-species .species-caption{margin:0 16px 16px}
.encyclopedia-species>span{display:flex;align-items:center;gap:8px;font-size:11px;margin:0 16px;color:#f1cb85}.encyclopedia-species>span svg{width:16px;height:16px}
.learning-hint{margin:12px 0 18px;color:#f1ce8a;font-size:12px}.learning-hint p{background:#ecd49c0d;border-inline-start:2px solid #e4c181;padding:10px 14px}
/* Endless learning games: touch choices, visible animals, one round at a time. */
.endless-challenge{max-width:820px;margin:auto}.endless-challenge header>div{min-width:0}.endless-challenge header h2{overflow-wrap:anywhere}
.endless-challenge button{touch-action:manipulation;min-height:44px}.endless-challenge button:focus-visible{outline:3px solid #f3cc83;outline-offset:3px}
.endless-challenge [data-round-heading]{font-size:22px;line-height:1.3;margin:12px 0}.endless-challenge [data-round-heading]:focus{outline:none}
.challenge-run-status,.challenge-budget{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:11px 14px;border-radius:12px;background:#0d2032;color:#b7cade;font-size:12px;margin-bottom:16px}
.challenge-run-status b,.challenge-budget b{color:#f2cd88}.challenge-budget{margin:10px 0;font-size:11px}
.endless-challenge .challenge-specimen{margin:0}.endless-challenge .challenge-specimen figcaption{padding:8px;font-size:12px;color:#d7e6f2;text-align:center;overflow-wrap:anywhere}
.challenge-instruction{margin:4px 0 14px}.endless-challenge .field-options button{font-size:15px;line-height:1.4}
.challenge-round-success{border:1px solid #78c6ad66;border-radius:14px;background:#153c374d;padding:16px;margin-top:18px}
.challenge-round-success>b{color:#8ae1bb}.challenge-round-success p{font-size:13px;margin:10px 0 16px}.challenge-round-success .btn{width:100%}
.challenge-finish{text-align:center;padding:20px 4px}.challenge-finish h3{font-size:28px}.challenge-finish>p{max-width:580px;margin:16px auto}
.challenge-correct-answer{color:#f2cc86!important;font-weight:700}.challenge-earned{display:flex;justify-content:center;gap:38px;margin:26px 0}
.challenge-earned span{display:grid;gap:5px;font-size:12px;color:#b6c8dc}.challenge-earned b{font-size:32px;color:#f2cd89;font-variant-numeric:tabular-nums}
.challenge-finish>.btn{min-width:min(100%,240px)}
.fog-stage{position:relative;isolation:isolate;width:min(100%,290px);aspect-ratio:1;margin:10px auto;border-radius:22px;overflow:hidden;background:#143047;box-shadow:0 0 35px #a8c7dd12}
.fog-stage>.art{position:relative;width:100%;height:100%;filter:blur(var(--fog-blur));transition:filter .8s ease}
.fog-layer{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 35%,#cfe6f21f 95%)}
.fog-help{display:block;margin:5px auto 12px}.fog-help:disabled{opacity:.55}
.visual-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.visual-options>button,.intruder-grid>button{min-width:0;border:1px solid #47627a;border-radius:14px;overflow:hidden;background:#142a3e;color:#edf4f9;padding:0;cursor:pointer}
.visual-options>button>.art{position:relative;aspect-ratio:1.6;width:100%}.visual-options>button>span{display:block;padding:12px 7px;overflow-wrap:anywhere;font-size:14px}
.visual-options>button.correct,.intruder-grid>button.correct{border-color:#83dfb9;box-shadow:inset 0 0 0 2px #83dfb9;background:#1e443d}
.intruder-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:560px;margin:auto}
.intruder-grid .art{position:relative;width:100%;aspect-ratio:1.2}.intruder-grid b{display:block;padding:9px 6px 12px;font-size:13px;overflow-wrap:anywhere}
.intruder-grid small{display:block;padding:0 6px 12px;font-size:12px;color:#f2ce8b}
.memory-grid{display:grid;grid-template-columns:repeat(var(--memory-columns),minmax(0,1fr));gap:10px;max-width:520px;margin:auto}
.memory-tile{position:relative;border:1px solid #536d83;border-radius:13px;background:radial-gradient(circle at 50% 25%,#315469,#152c40);color:#f5cf89;padding:0;overflow:hidden;aspect-ratio:1;cursor:pointer;min-width:0}
.memory-back{font-size:38px;font-weight:700;opacity:.8}.memory-tile .art{position:absolute;inset:0;width:100%;height:100%}
.memory-tile>span:not(.memory-back){position:absolute;bottom:0;inset-inline:0;background:#0b1c2ddd;font-size:10px;padding:5px 2px;overflow-wrap:anywhere;color:#f1f6fa}
.memory-tile.is-open{border-color:#e7c889}.memory-tile.is-matched{border-color:#78dbaf;box-shadow:0 0 0 1px #78dbaf;opacity:1}.memory-tile:disabled:not(.is-open){opacity:1}
.memory-discovery{text-align:center;min-height:24px;font-size:12px!important;color:#f0ce95!important}
.mosaic-reference{display:flex;align-items:center;gap:15px;margin:12px auto 18px;max-width:420px}.mosaic-reference>.challenge-specimen{width:100px;flex:0 0 100px;border-radius:10px;overflow:hidden}.mosaic-reference figcaption{display:none}
.mosaic-reference>div{min-width:0}.mosaic-reference b{font-size:14px;overflow-wrap:anywhere}.mosaic-reference p{font-size:12px;margin:6px 0}.mosaic-reference strong{font-size:12px;color:#edca8a}
.mosaic-board{display:grid;grid-template-columns:repeat(var(--mosaic-size),minmax(0,1fr));width:min(100%,420px);aspect-ratio:1;margin:auto;gap:3px;padding:3px;border:1px solid #6c8191;border-radius:12px;background:#071a2a;overflow:hidden}
.mosaic-piece{border:0;padding:0;min-width:0;background-repeat:no-repeat;outline-offset:-4px!important;cursor:pointer}
.mosaic-piece.is-selected{outline:4px solid #f4d18d;outline-offset:-4px;filter:brightness(1.2)}
@media(max-width:620px){
 .endless-challenge{padding:14px}.endless-challenge [data-round-heading]{font-size:20px}.endless-challenge header h2{font-size:19px}
 .endless-challenge .field-options button{font-size:14px}.endless-challenge .challenge-specimen figcaption{font-size:11px}
 .challenge-run-status{font-size:11px;padding:10px}.fog-stage{width:min(100%,210px)}.visual-options>button>.art{aspect-ratio:1.8}
 .visual-options>button>span{font-size:12px}.intruder-grid{gap:9px}.intruder-grid b{font-size:11px}.memory-grid{gap:7px}
 .memory-tile>span:not(.memory-back){font-size:9px}.mosaic-reference>.challenge-specimen{width:80px;flex-basis:80px}
}
@media(prefers-reduced-motion:reduce){.fog-stage>.art{transition:none}}
.food-symbol{font-size:25px;margin-inline-end:12px}.tactical-skill{display:block;font-size:10px;color:#d6c9a8;margin:6px 5px}
.matchup-pips{display:flex;gap:5px;justify-content:center;margin-top:9px}.matchup-pips span{padding:3px 7px;border-radius:6px;font-size:10px;background:#0c1e2d}.matchup-pips .good{color:#88e3b2}.matchup-pips .bad{color:#f69b92}.matchup-pips .neutral{color:#a3b9cd}
.challenge-play .matchup-key{font-size:11px;color:#a2b9cc}
@media(max-width:620px){.encyclopedia-intro{display:block}.encyclopedia-intro p{font-size:13px}.encyclopedia-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.encyclopedia-species h3{font-size:12px;margin:12px 10px 5px;overflow-wrap:anywhere}.encyclopedia-species .species-caption{margin:0 10px 12px}.encyclopedia-species>span{margin:0 10px;font-size:9px}.game-tabs{grid-template-columns:repeat(5,minmax(0,1fr))!important}.game-tabs button{min-width:0!important;padding-inline:3px!important}.game-tabs button span{font-size:9px;overflow:hidden;text-overflow:ellipsis}.matchup-pips{gap:3px}.matchup-pips span{padding:3px 5px}}

.hero-egg-button.is-hatching .egg-shell{animation:egg-hatch-shake .35s 2}
.hero-egg-button.is-hatching .egg-top{animation:egg-hatch-top .75s .35s forwards}
.hero-egg-button.is-hatching .egg-bottom{animation:egg-hatch-bottom .75s .35s forwards}
.hero-egg-button.is-hatching:disabled{opacity:1}
.live-combat-modal .battle-control[hidden]{display:none}
.equipment-slot{display:flex;align-items:center;gap:12px;width:100%;text-align:start;color:inherit;background:#172b40;border:1px solid #486075;border-radius:14px;padding:14px;margin:14px 0;cursor:pointer}
.equipment-slot>svg{width:26px;height:26px;flex:none;color:#f1cb85}.equipment-slot>span{flex:1;min-width:0}.equipment-slot small,.equipment-slot b{display:block}.equipment-slot small{font-size:11px;line-height:1.5;color:#b0c5da}.equipment-slot b{font-size:14px}.equipment-slot>strong{color:#8ad4b4}
.victory-loot{margin:18px 0;text-align:center}.victory-loot h3{font-size:16px}.victory-loot>div{display:flex;gap:8px;justify-content:center}.victory-loot article{flex:1;min-width:0;max-width:180px;background:#f5c96e0c;border:1px solid #d5b46d44;padding:12px 8px;border-radius:12px}.victory-loot svg{display:block;width:30px;height:30px;margin:0 auto 8px;color:#f1cb85}.victory-loot b,.victory-loot small{display:block;font-size:12px}.victory-loot>small{margin:10px;color:#b0c5da}.victory-loot .text-button{font-size:11px}
@media(prefers-reduced-motion:reduce){.hero-egg-button.is-hatching *{animation:none!important}}

.encyclopedia-species.is-encountered .art{opacity:.58}

.encyclopedia-species .nature-badge{display:inline-flex;margin:0 16px 12px}.undiscovered-stats{display:flex;justify-content:space-between;gap:4px;margin:0 16px 14px;color:#9bafc5;font-size:11px}.undiscovered-stats span{display:flex;gap:3px;align-items:center}.undiscovered-stats svg{width:13px;height:13px}

.wiki-education h2{font-size:clamp(25px,5vw,35px);margin:0 0 22px}.education-portraits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.education-portraits figure{margin:0;min-width:0}.education-portraits .art{position:relative;aspect-ratio:1;overflow:hidden;border-radius:12px}.education-portraits figcaption{text-align:center;margin-top:8px;font-size:14px;color:#c8d9e8}.education-art-note{font-size:12px!important;color:#9eafc2!important;margin:12px 0 24px!important;line-height:1.5!important}.education-reading{font-size:17px;line-height:1.85;color:#d8e3ef}.education-reading p{margin:0 0 20px;max-width:68ch}.education-map{margin-top:28px}.education-map h3,.related-species h3{font-size:17px!important;font-weight:600;margin:0 0 14px}.education-map h3 svg{width:19px;height:19px;vertical-align:middle;margin-inline-end:5px}.wiki-education .map-note{font-size:12px;line-height:1.55;color:#a4b9ce}.wiki-education .map-locations{gap:6px;margin:10px 0 22px}.wiki-education .wikipedia-cta{width:auto;min-height:44px;background:transparent;color:#c9d9eb;font-size:14px;box-shadow:none}.wiki-education .source-attribution{font-size:11px;line-height:1.6;color:#99afc5;margin:12px 0 22px}.education-study{width:100%;min-height:50px}.related-species{margin:28px 0}.related-species>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 12px;align-items:start}.relative-species{width:100%;min-width:0;max-width:136px;justify-self:center;padding:0;background:transparent;color:#cdddeb;border:0;text-align:center;cursor:pointer}.relative-species>.art,.relative-mystery{position:relative;aspect-ratio:1;border-radius:10px;overflow:hidden}.relative-species span{display:block;font-size:12px;margin-top:8px;overflow-wrap:anywhere}.relative-mystery{display:grid;place-items:center;background:#102135;border:1px solid #2b4158;color:#7290ab;font-size:30px}.relative-species.is-unknown{cursor:default;align-self:center}.relative-species.is-unknown .relative-mystery{width:min(100%,64px);margin-inline:auto;font-size:23px;background:#10213580;border-color:#2b415870}.relative-species.is-encountered .art{filter:brightness(.57) saturate(.5)}.wiki-education .wiki-sources{margin-top:18px}.wiki-sources a{overflow-wrap:anywhere}.wiki-education .fossil-map{width:100%;height:auto}
@media(max-width:620px){.education-portraits{gap:7px}.education-portraits figcaption{font-size:12px}.education-reading{font-size:16px;line-height:1.8}.related-species>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 8px}.wiki-education h2{overflow-wrap:anywhere}}

/* Skill challenges share the game's blue3D portraits and amber controls. */
.skill-menu .challenge-tile{background:linear-gradient(160deg,#163f68,#10263c);padding:18px}
.skill-menu .skill-preview{aspect-ratio:1.4;background:radial-gradient(ellipse at 50% 40%,#0877ed,#073778 70%);isolation:isolate}
.skill-menu .skill-preview>.art{background-size:contain;background-repeat:no-repeat;background-position:center}
.skill-preview-overlay{position:absolute;inset:0;pointer-events:none}
.skill-preview-memory .skill-preview-overlay{background:linear-gradient(90deg,transparent 48.8%,#071b3d 49%,#071b3d 51%,transparent 51.2%),linear-gradient(transparent 48.8%,#071b3d 49%,#071b3d 51%,transparent 51.2%);opacity:.6}
.skill-preview-mosaic .skill-preview-overlay{background:linear-gradient(90deg,transparent 32.8%,#0a2444 33%,#0a2444 34%,transparent 34.2%,transparent 65.8%,#0a2444 66%,#0a2444 67%,transparent 67.2%),linear-gradient(transparent 32.8%,#0a2444 33%,#0a2444 34%,transparent 34.2%,transparent 65.8%,#0a2444 66%,#0a2444 67%,transparent 67.2%)}
.skill-preview-intruder .skill-preview-overlay{inset:auto 15% 10%;height:8px;border-radius:8px;background:linear-gradient(90deg,#f7d083 0 20%,transparent 20% 26%,#5caeff 26% 46%,transparent 46% 52%,#f7d083 52% 72%,transparent 72% 78%,#5caeff 78%)}
.memory-tile{background:radial-gradient(ellipse at 30% 0,#156bb6,#092b56 75%);border:1px solid #448ac5}
.memory-back{display:inline-grid;place-items:center;width:53%;aspect-ratio:1;clip-path:polygon(50% 0,96% 25%,88% 78%,50% 100%,12% 78%,4% 25%);background:#e8bd74;color:#102b47;font-size:clamp(15px,4vw,26px);letter-spacing:.04em}
.memory-tile.is-matched{border-color:#81e6c2;box-shadow:inset 0 0 0 2px #81e6c2}
.sliding-board{gap:4px;border:1px solid #4588bc;background:#071e3c;box-shadow:0 12px 40px #0005}
.sliding-board:focus-visible{outline:3px solid #f3cc83;outline-offset:4px}
.sliding-board .mosaic-piece{position:relative;border-radius:5px;min-height:48px}
.sliding-board .mosaic-piece:disabled{opacity:1;cursor:default}
.sliding-board .mosaic-piece.can-slide{box-shadow:inset 0 0 0 2px #f4cb7b}
.sliding-board .mosaic-piece>span{position:absolute;top:5px;left:5px;display:grid;place-items:center;min-width:22px;height:22px;border-radius:5px;background:#071a37d9;color:#ffe2a7;font-size:12px}
.mosaic-empty{display:grid;place-items:center;border:1px dashed #386e9b;border-radius:5px;color:#44698c;font-weight:800;background:radial-gradient(ellipse,#163d63,#0a2342)}
.sequence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:490px;margin:auto}
.sequence-grid.sequence-six{grid-template-columns:repeat(3,minmax(0,1fr))}
.sequence-animal{position:relative;overflow:hidden;aspect-ratio:1;border:2px solid #2b6ca2;border-radius:18px;background:radial-gradient(ellipse at 50% 25%,#126bbd,#102f52);padding:0;min-width:0;color:#dcecff;transition:border-color .08s,box-shadow .08s,filter .08s}
.sequence-animal:disabled{opacity:1}
.sequence-animal>.art{position:absolute;inset:0}
.sequence-animal>b{position:absolute;bottom:0;inset-inline:0;padding:7px 4px;background:#071b37d9;font-size:11px;overflow-wrap:anywhere}
.sequence-animal .sequence-key{position:absolute;top:7px;left:7px;width:25px;height:25px;display:grid;place-items:center;background:#0b2645e8;border:1px solid #4f8dc2;border-radius:7px;font-weight:700;font-size:12px}
.sequence-animal.is-lit{border-color:#ffe0a0;box-shadow:0 0 0 3px #ffd78a88,0 0 24px #51b9ff99;filter:brightness(1.24)}
.sequence-animal.is-lit .sequence-key{background:#f4cc81;color:#10243e;border-color:#ffe7b9}
.sequence-progress{display:flex;gap:4px;justify-content:center;max-width:490px;margin:0 auto 16px}
.sequence-progress i{height:6px;flex:1;border-radius:6px;background:#274660}.sequence-progress i.is-done{background:#f2ca7d}
.sequence-status{text-align:center;min-height:24px;color:#f3d08b!important}
@media(min-width:700px){.memory-grid.memory-large{--memory-columns:6!important;max-width:650px}}
@media(max-width:480px){.skill-menu .challenge-tile{padding:14px}.endless-challenge.challenge-memory,.endless-challenge.challenge-mosaic,.endless-challenge.challenge-intruder{padding:16px 12px}.memory-grid{gap:6px}.memory-tile{border-radius:9px}.memory-tile>span:not(.memory-back){font-size:8px;padding:3px 1px}.mosaic-reference>.challenge-specimen{width:72px;flex-basis:72px}.mosaic-reference{gap:10px}.sequence-grid{gap:9px}.sequence-animal{border-radius:12px}.sequence-animal>b{font-size:10px}.sequence-six .sequence-animal>b{font-size:8px}.sequence-animal .sequence-key{width:21px;height:21px;top:5px;left:5px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.sequence-animal{transition:none}}

.related-species .relative-species{border-radius:10px;text-decoration:none;min-height:44px}
.related-species .relative-species:focus-visible{outline:3px solid #f3cc83;outline-offset:4px}
.relative-reference .relative-mystery{width:min(100%,64px);margin:auto;background:#122d46;border-color:#345b7a}
.relative-reference .relative-mystery svg{width:30px;height:30px;color:#abc7df}
.relative-reference small{display:block;font-size:10px;color:#a1c5e3;margin-top:4px}
.challenge-stats{display:flex;gap:8px;flex-wrap:wrap;margin:auto 0 14px}.challenge-stats span{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border:1px solid #6c89a23d;border-radius:999px;color:#dbe9f5;font-size:11px;font-weight:800;background:#0b2136}.challenge-stats svg{width:14px;height:14px;color:#f3ce8c}
