.challenge{position:absolute;inset:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;padding:14px;container-type:size;background:#faf7ef;border-radius:24px;color:var(--ink)}
.challenge-header{display:flex;align-items:center;gap:10px;min-height:48px}.challenge-prompt{flex:1;margin:0;font-size:clamp(.95rem,2.3cqw,1.3rem);font-weight:700}.challenge button{font:inherit;color:inherit;touch-action:manipulation}.challenge-action{border:0;border-radius:15px;background:#eee7da;min-height:46px;min-width:46px;padding:8px 14px;font-weight:700;display:grid;place-items:center}.challenge-main{min-height:0;position:relative;overflow:hidden}.challenge-footer{display:flex;gap:10px;justify-content:center;align-items:center;min-height:46px}.challenge-grid{height:100%;display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));grid-template-rows:repeat(var(--rows,2),minmax(0,1fr));gap:10px}.challenge-card{min-width:0;min-height:44px;border:2px solid transparent;border-radius:18px;background:#f0ece2;position:relative;display:grid;place-items:center;padding:8px;overflow:hidden}.challenge-card .art-img{width:100%;height:100%;min-height:0;object-fit:contain}.challenge-card[aria-pressed=true],.challenge-card.found{border-color:#4b9d77;background:#e0f3e5}.challenge-card.hint{border:3px solid #e0b533}.challenge-card:focus-visible,.challenge-action:focus-visible{outline:3px solid var(--blue);outline-offset:-3px}.challenge-card.covered{background:#8f76ad}.challenge-card.covered img{visibility:hidden}.challenge-card.covered::after{content:'?';font-size:clamp(24px,7cqh,54px);color:#fff;position:absolute}.challenge-number{font-size:clamp(30px,13cqh,100px);font-weight:800}.challenge-ball{display:block;border-radius:50%;background:radial-gradient(circle at 30% 25%,#a7e4f4,#428aca);border:2px solid #376f98;aspect-ratio:1;max-width:42px;width:100%}.challenge-dots{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;width:100%;align-content:center;justify-content:center;pointer-events:none}.challenge-links{height:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(24px,15%) minmax(0,1fr);gap:5px;position:relative;touch-action:none}.challenge-link-column{display:grid;gap:10px;min-height:0;z-index:2}.challenge-link-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}.challenge-link-lines line{stroke:#4c9a79;stroke-width:5;stroke-linecap:round}.challenge-link-lines .draft{stroke:#d6b452;stroke-dasharray:7 6}.challenge-links button{touch-action:none}.challenge-trace-board{position:absolute;inset:0;border:2px solid #e1d8c8;border-radius:20px;background:#fff;overflow:hidden;touch-action:none}.challenge-trace-board canvas{position:absolute;width:100%;height:100%;inset:0;touch-action:none}.challenge-trace-tabs{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin-bottom:6px}.challenge-trace-tabs button{min-height:44px;flex:1;font-size:.85rem;padding:5px}.challenge-trace-tabs button[aria-pressed=true]{background:#ffe399}.challenge-trace .challenge-main{display:grid;grid-template-rows:auto minmax(0,1fr);gap:5px}.challenge-trace-paper{position:relative;min-height:0}.challenge-trace-name{position:absolute;right:10px;bottom:6px;font-size:.85rem;pointer-events:none;color:#6d6373}.challenge-assembly{display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;height:100%}.challenge-character-tabs{display:flex;gap:8px;justify-content:center}.challenge-character-tabs button{min-height:48px;width:60px;border:0;border-radius:12px;background:#eee6da;padding:6px}.challenge-character-tabs img{width:38px;height:38px;object-fit:contain}.challenge-assembly-area{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(90px,1fr);gap:20px;min-height:0}.challenge-face{position:relative;align-self:center;justify-self:center;width:min(100%,55cqh);aspect-ratio:1;border-radius:45%;background:#f49e44;border:4px solid #704738}.challenge-part-target{position:absolute;display:grid;place-items:center;border:2px dashed #9e7e6c;border-radius:12px;background:#ffffff22}.challenge-part-target.full{border-color:transparent;background:transparent}.challenge-parts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-content:center;min-height:0}.challenge-part{height:clamp(44px,14cqh,100px);min-width:44px;display:grid;place-items:center;background:#efe6d8;border-radius:12px;padding:4px;touch-action:none}.challenge-part svg{width:100%;height:100%;pointer-events:none}.challenge-part.placed{width:100%;height:100%;padding:0;background:none}.challenge-sort .challenge-main{display:grid;grid-template-rows:minmax(0,1fr) minmax(0,1.2fr);gap:12px}.challenge-fruit-baskets{display:grid;grid-template-columns:repeat(var(--baskets),minmax(0,1fr));gap:10px;min-height:0}.challenge-fruit-basket{position:relative;border:4px solid var(--color);border-radius:24px 24px 14px 14px;background:color-mix(in srgb,var(--color) 16%,white);min-width:0;min-height:70px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;padding:24px 5px 5px;overflow:hidden}.challenge-fruit-basket::before{content:'';position:absolute;top:9px;left:12%;right:12%;height:8px;border-top:4px solid var(--color);border-radius:50%}.challenge-fruit-basket .challenge-sort-piece{width:30%;height:45%;min-height:24px;min-width:24px;padding:0;pointer-events:none}.challenge-sort-tray{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:minmax(48px,1fr);gap:8px;min-height:0}.challenge-sort-piece{min-width:44px;min-height:44px;display:grid;place-items:center;border-radius:12px;background:#f0ece4;padding:3px;touch-action:none}.challenge-sort-piece img{width:100%;height:100%;min-height:0;object-fit:contain}.challenge-letter{font-size:clamp(30px,12cqh,100px);font-weight:800}.memory-pairs-grid[data-pairs]{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(calc(var(--pairs)/2),minmax(0,1fr));gap:10px;max-width:950px}.memory-pairs-grid[data-pairs="2"]{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}.memory-pairs-grid[data-pairs="10"] .memory-pairs-label{display:none}.memory-pairs-grid[data-pairs="10"] .memory-pairs-picture{inset:5px}.memory-pairs-grid[data-pairs="10"] .memory-pairs-cover .ui-icon{width:35px;height:35px}.memory-pairs-card{min-height:44px}.farm-live[data-mode=find] .farm-field{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:8px}.farm-live[data-mode=find] .farm-station{min-height:0}.farm-live[data-mode=find] .farm-animal{height:100%;min-height:44px;padding:5px}.farm-live[data-mode=find] .farm-portrait{height:100%;min-height:0}.farm-live[data-mode=find] .farm-name{display:none}
@container(max-width:500px){.challenge-grid{--cols:2}.challenge{padding:10px;gap:8px}.challenge-card{border-radius:13px}.challenge-assembly-area{gap:10px}.challenge-parts{gap:7px}.challenge-sort-tray{grid-template-columns:repeat(3,minmax(0,1fr))}.challenge-letter{font-size:clamp(32px,10cqh,70px)}}
@media(max-width:500px){.farm-live[data-mode=find] .farm-field{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(5,minmax(0,1fr))}.memory-pairs-grid[data-pairs] .memory-pairs-label{font-size:.8rem;bottom:5px}.memory-pairs-grid[data-pairs] .memory-pairs-picture{inset:4px 4px 25px}}
@media(max-height:500px) and (orientation:landscape){.challenge{padding:6px;gap:5px}.challenge-header{min-height:40px}.challenge-prompt{font-size:.85rem}.challenge-footer{min-height:44px}.challenge-grid{gap:6px}.challenge-sort .challenge-main{grid-template-rows:minmax(0,1fr);grid-template-columns:1fr 1.6fr}.challenge-sort-tray{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.challenge-fruit-baskets{gap:5px}.challenge-trace-tabs button{min-height:44px;font-size:.75rem}.memory-pairs-grid[data-pairs]{grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr))}.memory-pairs-grid[data-pairs="4"]{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}.memory-pairs-grid[data-pairs="6"]{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}}
.challenge-face[data-template=pumpkin]{background-image:radial-gradient(ellipse at 35% 25%,#ffd47188,transparent 50%);box-shadow:inset 35px 0 #d7772733,inset -35px 0 #d7772733}
.challenge-face[data-template=pumpkin]::before{content:'';position:absolute;width:10%;height:12%;left:46%;top:-10%;background:#729864;border:3px solid #704738;border-radius:8px;transform:rotate(10deg)}
.challenge-part-target{min-width:44px;min-height:44px}
.challenge-part-target.full{pointer-events:none}
.challenge-part svg{min-width:0;min-height:0}
@media(max-height:500px) and (orientation:landscape){.memory-pairs-grid[data-pairs="2"]{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:minmax(0,1fr)}}
.challenge-card{container-type:size}
.challenge-glyph{font-size:clamp(28px,min(60cqh,55cqw),110px);font-weight:800;line-height:1}
.challenge-dots{grid-template-columns:repeat(var(--dot-cols,5),minmax(0,1fr));max-width:225px;justify-items:center}
