.mini-dialog{position:fixed;inset:0;margin:auto;width:min(960px,calc(100vw - 24px));max-width:960px;max-height:calc(100dvh - 20px);padding:18px;background:#fff9e9;color:#294d3b;border:2px solid #dfd1a9;border-radius:22px;overflow:auto;overscroll-behavior:contain;box-sizing:border-box;touch-action:pan-y}.mini-dialog::backdrop{background:#122b20b8}.mini-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.mini-header h2{margin:4px 0 10px;font-size:clamp(20px,3vw,30px)}.mini-menu{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.mini-card{border:1px solid #e4d8b9;border-radius:16px;overflow:hidden;background:#fffef5;text-align:left;padding:0;color:inherit;cursor:pointer}.mini-card img{width:100%;aspect-ratio:1.7;object-fit:cover}.mini-card span{display:grid;padding:10px;gap:5px}.mini-card small{font-size:12px}.mini-intro-art{height:200px;border-radius:16px;background-size:cover;background-position:center;position:relative;overflow:hidden}.mini-intro-art img{position:absolute;height:95%;width:180px;object-fit:contain;right:5%;bottom:-5px;filter:drop-shadow(0 4px 9px #0005)}.mini-instructions p{font-size:17px;line-height:1.5}.mini-buttons{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.mini-buttons button{min-height:48px;flex:1}.mini-score{display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:700;margin:6px 0}.mini-stage{position:relative;width:100%;aspect-ratio:1.5;background-size:100% 100%;border-radius:15px;overflow:hidden;isolation:isolate;touch-action:none;max-height:62dvh}.mini-actors,.mini-flashes{position:absolute;inset:0}.mini-flashes{pointer-events:none;z-index:5}.mini-flashes span{position:absolute;transform:translate(-50%,-50%);white-space:nowrap;background:#fff8dbe8;border-radius:30px;padding:8px 14px;font-weight:800;animation:mini-rise .85s forwards}.mini-egg{position:absolute;width:clamp(44px,6%,64px);height:clamp(50px,8%,76px);border:0;background:none;padding:7px;cursor:pointer;transform:translate(-50%,-50%);touch-action:manipulation}.mini-egg span{display:block;width:100%;height:100%;border-radius:50% 50% 46% 46% / 63% 63% 37% 37%;background:radial-gradient(ellipse at 30% 25%,#fffef8,#f4dbad 65%,#be945c);box-shadow:2px 5px 5px #39250d55;border:1px solid #b79767}.mini-hidden-animal,.mini-flower{position:absolute;width:11%;min-width:46px;aspect-ratio:1;border:0;background:none;padding:0;transform:translate(-50%,-50%);cursor:pointer;touch-action:manipulation}.mini-hidden-animal img,.mini-flower img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(2px 4px 3px #233b1860)}.mini-hidden-animal img{transform:scaleX(var(--turn));animation:mini-breathe 2.2s infinite alternate}.mini-grass{position:absolute;inset:64% -6% -8%;background:linear-gradient(0deg,#4c7d36f2,#739346bb 60%,transparent);clip-path:polygon(0 100%,4% 14%,17% 66%,26% 5%,40% 64%,54% 0,62% 65%,75% 18%,84% 67%,100% 20%,100% 100%);pointer-events:none}.mini-hidden-animal.found{animation:mini-found .6s forwards;pointer-events:none}.mini-flower{opacity:.7;transition:filter .15s}.mini-flower.lit{opacity:1;filter:drop-shadow(0 0 12px #ffe67c);outline:4px solid #ffe580;border-radius:50%;animation:mini-glow .8s infinite alternate}.mini-caption{font-size:13px;margin:9px 0 0}.mini-milk-controls{display:flex;align-items:center;gap:16px;margin-top:12px}.mini-meter{height:28px;background:#456342;position:relative;flex:1;border-radius:16px;overflow:hidden}.mini-zone{position:absolute;left:32%;width:36%;top:0;bottom:0;background:#f2cc65}.mini-meter #mini-marker{position:absolute;width:8px;height:100%;background:white;border:1px solid #294d3b;transform:translateX(-50%)}.mini-pail{position:absolute;left:52%;top:66%;height:23%;width:14%;border:5px solid #aebcc0;border-top-width:9px;background:#697c83;border-radius:7% 7% 30% 30%;overflow:hidden;box-shadow:3px 6px 8px #0004}.mini-pail div{position:absolute;bottom:0;left:0;width:100%;height:0;background:linear-gradient(#fff,#e1ecec);transition:height .35s}.mini-milk-stream{position:absolute;left:57%;top:48%;height:20%;width:5px;background:#fff7df;opacity:0;transform:rotate(-7deg);transform-origin:top}.squeezing .mini-milk-stream{opacity:1;animation:mini-stream .3s}.mini-result{text-align:center;padding:12px}.mini-result img{height:160px;width:160px;object-fit:contain}.mini-result p{font-size:18px}.mini-pause-sheet{position:absolute;inset:15% 10%;background:#fff9eeef;z-index:9;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;border-radius:20px;padding:20px}.mini-pause-sheet button{min-height:48px}#farm-play-button{white-space:nowrap}@keyframes mini-rise{to{opacity:0;translate:0 -40px}}@keyframes mini-found{to{opacity:0;translate:0 -45px;scale:1.3}}@keyframes mini-glow{to{outline-color:#fff7c4;scale:1.07}}@keyframes mini-breathe{to{translate:0 -2px}}@keyframes mini-stream{from{clip-path:inset(0 0 100%)}to{clip-path:inset(0)}}@media(max-width:600px){.mini-dialog{padding:12px;max-height:calc(100dvh - 12px)}.mini-menu{grid-template-columns:repeat(2,1fr);gap:8px}.mini-stage{aspect-ratio:1.05;background-size:100% 100%}.mini-score{gap:5px;font-size:12px}.mini-intro-art{height:180px}.mini-caption{font-size:12px}.mini-buttons button{min-width:100px}.mini-header .eyebrow{font-size:10px}}@media(max-height:540px) and (min-width:600px){.mini-stage{max-height:52dvh;width:78%;margin:auto}.mini-header h2{font-size:20px}.mini-intro-art{height:130px}.mini-instructions{font-size:13px}.mini-instructions p{font-size:14px;margin:6px 0}.mini-result img{height:85px}.mini-result p{margin:5px}.mini-menu img{max-height:100px}}@media(prefers-reduced-motion:reduce){.mini-hidden-animal img,.mini-flower.lit{animation:none}}

/* Keep scene art, moving objects and touch regions in the same 3:2 coordinate space. */
.mini-stage{width:min(100%,calc(62dvh * 1.5));aspect-ratio:1.5;max-height:none;margin:auto}.mini-pail{left:36.5%;top:67%;width:13%;height:17%;border:0;background:none;box-shadow:none;overflow:visible}.mini-pail div{bottom:auto;top:3%;left:5%;width:90%;max-height:9%;border-radius:50%;opacity:.9}.mini-milk-stream{left:43%;top:63%;height:7%;transform:rotate(-4deg)}@media(max-height:540px) and (min-width:600px){.mini-stage{width:min(100%,calc(50dvh * 1.5));max-height:none}}

.mini-hidden-animal{width:8%;min-width:44px}.mini-foliage,.mini-foliage div{position:absolute;inset:0;pointer-events:none}.mini-foliage{z-index:2}.mini-foliage div{background:url(assets/generated/minigames/meadow.webp) 0 0/100% 100%}.mini-hidden-animal.found{z-index:3}

.mini-egg-saved,.mini-egg-broken{position:absolute;transform:translate(-50%,-50%);width:54px;height:36px;animation:mini-catch .85s forwards}.mini-egg-saved i{position:absolute;inset:6px 0 0;border:4px solid #94652c;border-radius:8px 8px 24px 24px;background:repeating-linear-gradient(15deg,#be8c4e 0 4px,#e0b36b 4px 7px)}.mini-egg-saved b{position:absolute;inset:-11px 4px 15px;border:4px solid #b98645;border-radius:50%;z-index:-1}.mini-egg-broken{animation:mini-break .85s forwards}.mini-egg-broken i{position:absolute;inset:12px 0 0;background:#fff5d7;border-radius:50%;box-shadow:inset 0 0 4px #f9bc4b}.mini-egg-broken b{position:absolute;inset:16px 16px 2px;border-radius:50%;background:#f4ad25}.mini-egg-broken em{position:absolute;inset:0 8px 17px;border:4px dashed #f7e7c9;border-radius:50%}@keyframes mini-catch{0%{translate:0 16px;opacity:0}25%{translate:0 0;opacity:1}75%{opacity:1}to{translate:0 12px;opacity:0}}@keyframes mini-break{0%{scale:.3}25%{scale:1.2}75%{opacity:1}to{scale:1.05;opacity:0}}

.mini-flower img,.mini-hidden-animal img,.mini-egg span{pointer-events:none;user-select:none;-webkit-user-drag:none}.mini-flower.lit{animation:none;box-shadow:0 0 18px #ffeaa0}

/* Full-screen farm play: the scene stays in place under compact results. */
.mini-dialog{inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border:0;border-radius:0;padding:calc(env(safe-area-inset-top) + 10px) max(14px,env(safe-area-inset-right)) calc(env(safe-area-inset-bottom) + 10px) max(14px,env(safe-area-inset-left));box-shadow:none;background:#243e29;isolation:isolate;color:#fff9e9}.mini-dialog[open]{display:flex;flex-direction:column;gap:8px}.mini-dialog::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(#122e29a8,#122e2959),var(--mini-scene,linear-gradient(#406e47,#284e35)) center/cover;filter:blur(7px);scale:1.03;pointer-events:none}.mini-dialog .eyebrow,.mini-dialog>.sheet-copy{color:#f5ecd2}.mini-header{flex:none}.mini-header h2{margin:2px 0;font-size:clamp(18px,2.8vw,28px)}.mini-score{flex:none;min-height:34px;margin:0}.mini-caption{flex:none;margin:0;text-align:center;color:#fff9e9;font-size:12px}.mini-stage{width:min(100%,calc((100dvh - 140px) * 1.5));max-height:none;aspect-ratio:1.5;flex:0 1 auto;min-height:0;border-radius:0;margin:auto;box-shadow:0 10px 35px #0005}.mini-dialog.milk .mini-stage{width:min(100%,calc((100dvh - 190px) * 1.5))}.mini-milk-controls{width:min(700px,100%);margin:0 auto;flex:none}.mini-intro-art{flex:1;min-height:120px;height:auto;border-radius:0;background-position:center}.mini-intro-art img{height:min(100%,290px);width:220px}.mini-instructions{flex:none;max-width:900px;margin:0 auto;width:100%}.mini-instructions h3{margin:0;font-size:16px}.mini-instructions p{margin:4px 0;font-size:clamp(13px,2.2vw,17px)}.mini-dialog>.mini-buttons{flex:none;margin:0 auto;width:min(900px,100%)}.mini-menu{width:min(1100px,100%);margin:auto;overflow:auto}.mini-dialog>.sheet-copy{margin:0}.mini-card{box-shadow:0 4px 20px #142d2570}.mini-result-overlay{position:absolute;inset:0;z-index:20;background:#102a205c;display:flex;align-items:center;justify-content:center;padding:14px}.mini-result-card{width:min(360px,calc(100vw - 32px));max-height:calc(100dvh - 30px);overflow:auto;box-sizing:border-box;background:#fff9e9;color:#294d3b;border:1px solid #dfd1a9;border-radius:18px;padding:15px 18px;text-align:center;box-shadow:0 8px 35px #0005}.mini-result-card>img{width:64px;height:64px;object-fit:contain;float:left;margin-right:8px}.mini-result-card h3{margin:4px 0 8px;font-size:20px}.mini-result-card p{margin:7px 0;font-size:14px;line-height:1.4}.mini-result-card small{font-size:11px}.mini-result-card .mini-buttons{clear:both;gap:8px;margin-top:11px}.mini-result-card .mini-buttons button{min-height:44px;font-size:13px}.mini-result-card .soft-link{margin-top:9px}.mini-pause-sheet{inset:20% max(16px,calc((100vw - 380px)/2));color:#294d3b}@media(orientation:landscape) and (max-height:600px){.mini-dialog{padding-top:calc(env(safe-area-inset-top) + 5px);padding-bottom:calc(env(safe-area-inset-bottom) + 5px);gap:4px}.mini-stage{width:min(100%,calc((100dvh - 120px)*1.5));max-height:none}.mini-caption{font-size:10px}.mini-intro-art{min-height:60px}.mini-intro-art img{width:130px}.mini-instructions p{font-size:13px;line-height:1.35}.mini-instructions h3{font-size:13px}.mini-instructions #mini-listen{position:absolute;right:0;top:-34px;min-height:30px}.mini-instructions{position:relative}.mini-dialog>.mini-buttons button{min-height:38px}.mini-menu{grid-template-columns:repeat(3,1fr);gap:8px}.mini-card img{max-height:105px}.mini-result-card{padding:10px 14px}.mini-result-card>img{width:48px;height:48px}.mini-result-card h3{font-size:18px}.mini-result-card p{font-size:12px}}

.mini-stage{width:min(100%,calc((100dvh - 160px)*1.5));flex:0 0 auto}.mini-dialog[data-game="milk"] .mini-stage{width:min(100%,calc((100dvh - 205px)*1.5))}@media(orientation:landscape) and (max-height:600px){.mini-stage{width:min(100%,calc((100dvh - 112px)*1.5))}.mini-dialog[data-game="milk"] .mini-stage{width:min(100%,calc((100dvh - 165px)*1.5))}}

.mini-dialog{overflow:hidden;box-sizing:border-box}.mini-dialog::before{scale:1}.mini-menu{min-height:0;overscroll-behavior:contain}.mini-result-overlay{box-sizing:border-box}.mini-dialog:not([open]){display:none}

.mini-card{color:#294d3b;display:flex;flex-direction:column;min-height:0}.mini-card img{display:block;flex:none}.mini-card span{flex:1;min-height:44px;line-height:1.2;box-sizing:border-box}.mini-card small{font-size:11px;line-height:1.25}.mini-menu{grid-auto-rows:minmax(145px,auto)}

/* The illustrated playfield is the viewport itself, with HUD controls over it. */
.mini-dialog::before{filter:none;scale:none;background:linear-gradient(#10281a55,#10281a22),var(--mini-scene,linear-gradient(#406e47,#284e35)) center/cover}.mini-dialog .mini-stage,.mini-dialog[data-game="milk"] .mini-stage{position:absolute!important;inset:0;width:100%!important;height:100%!important;aspect-ratio:auto!important;max-width:none;max-height:none;flex:none;margin:0;border-radius:0;box-shadow:none;background-size:cover;background-position:center top;z-index:0}.mini-header,.mini-score{position:relative;z-index:4;background:linear-gradient(#153b30bc,#153b3020);text-shadow:0 2px 5px #0b241e;padding:3px 6px;border-radius:0}.mini-score{margin-top:5px}.mini-caption{position:absolute;z-index:4;left:0;right:0;bottom:0;padding:10px max(16px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom));background:linear-gradient(transparent,#153b30d9);text-shadow:0 1px 4px #0b241e;box-sizing:border-box}.mini-milk-controls{position:absolute;z-index:5;left:50%;bottom:calc(env(safe-area-inset-bottom) + 48px);transform:translateX(-50%);width:min(700px,calc(100% - 32px));padding:8px;background:#123d32a8;border-radius:12px;box-sizing:border-box}.mini-foliage div{background-size:cover;background-position:center top}.mini-dialog .mini-intro-art{position:absolute;inset:0;width:100%;height:100%;flex:none;min-height:0;border-radius:0;background-size:cover;background-position:center top;z-index:0}.mini-intro-art img{right:3%;bottom:18%;height:min(60vh,400px);width:min(35vw,260px)}.mini-dialog:has(.mini-intro-art) .mini-instructions{position:relative;z-index:4;margin-top:auto;background:linear-gradient(transparent,#153b30ec);padding:16px 12px 8px;box-sizing:border-box;width:100%;max-width:none;text-shadow:0 1px 3px #123d32}.mini-dialog:has(.mini-intro-art)>.mini-buttons{position:relative;z-index:4;background:#153b30ec;max-width:none;padding:8px 12px;box-sizing:border-box}.mini-dialog:has(.mini-intro-art) #mini-listen{position:static;margin-top:6px}.mini-result-overlay{z-index:20}.mini-result-card{position:relative;z-index:21}.mini-pause-sheet{z-index:18}.mini-menu{position:relative;z-index:3}.mini-dialog>.sheet-copy{position:relative;z-index:3;text-shadow:0 1px 4px #123d32}@media(orientation:landscape) and (max-height:600px){.mini-dialog:has(.mini-intro-art) .mini-instructions{padding-top:8px}.mini-dialog:has(.mini-intro-art) #mini-listen{position:absolute;right:12px;top:-34px;margin:0}.mini-intro-art img{bottom:22%}.mini-header h2{font-size:22px}.mini-caption{font-size:10px;padding-top:7px}}

/* One top HUD; all playable targets reserve its measured bounds. */
.mini-header{display:grid;grid-template-columns:minmax(140px,1fr) auto auto;align-items:center;gap:10px}.mini-header>.mini-score{position:static;display:flex;align-items:center;gap:16px;background:none;text-shadow:inherit;padding:0;margin:0;font-size:13px;white-space:nowrap}.mini-header>div:first-child{min-width:0}.mini-header h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-header .mini-score button{min-height:36px}.mini-foliage div{background-image:var(--search-scene);background-size:cover;background-position:center top}@media(max-width:620px){.mini-header{grid-template-columns:minmax(0,1fr) auto;gap:4px}.mini-header>.mini-score{grid-row:2;grid-column:1 / -1;justify-content:space-between;gap:8px;font-size:12px}.mini-header>#mini-close{grid-row:1;grid-column:2}.mini-header h2{font-size:19px}.mini-header .eyebrow{font-size:8px}}

/* Keep the full card label and wins visible; the list scrolls, not its text. */
.mini-dialog .mini-menu{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;align-content:start;grid-auto-rows:max-content;touch-action:pan-y;padding:3px 3px 14px;scroll-padding-block:12px}.mini-dialog .mini-card{min-height:0;align-self:start;touch-action:pan-y}.mini-dialog .mini-card img{height:clamp(90px,20dvh,150px);max-height:none;aspect-ratio:auto;object-fit:cover}.mini-dialog .mini-card span{display:flex;flex-direction:column;flex:0 0 auto;gap:5px;min-height:72px;padding:10px;overflow:visible}.mini-dialog .mini-card strong{font-size:clamp(13px,1.5vw,17px);line-height:1.25}.mini-dialog .mini-card small{display:block;line-height:1.35;color:#61705a}.mini-result-card .mini-next{display:block;width:100%;min-height:44px;margin-top:8px}

/* Full-scene card and sorting controls, leaving the top HUD and bottom caption clear. */
.mini-memory-board{position:absolute;inset:105px 8% 76px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:10px;max-width:850px;margin:auto}.mini-memory-card{position:relative;min-width:44px;min-height:44px;border:3px solid #e4c887;border-radius:13px;background:repeating-linear-gradient(45deg,#42694d,#42694d 8px,#4e7858 8px,#4e7858 16px);box-shadow:0 3px 9px #1a291955;overflow:hidden;padding:5px;transition:background .2s,transform .2s}.mini-memory-card img{width:100%;height:100%;object-fit:contain;opacity:0;transform:scaleX(0);transition:transform .2s}.mini-memory-card .card-back{position:absolute;inset:0;display:grid;place-items:center;color:#f5d68e;font-size:35px}.mini-memory-card.revealed{background:#fff5d7;transform:rotateY(0)}.mini-memory-card.revealed img{opacity:1;transform:scaleX(1)}.mini-memory-card.revealed .card-back{display:none}.mini-memory-card.matched{border-color:#9fd88f;opacity:.72}.mini-sort-play{position:absolute;inset:105px 8% 76px;display:flex;flex-direction:column;align-items:center;justify-content:space-evenly;gap:8px;color:#fff8e4;text-shadow:0 1px 4px #172d19}.mini-sort-item{display:flex;align-items:center;justify-content:center;gap:15px;min-height:70px}.mini-sort-item img{height:clamp(70px,20dvh,180px);width:clamp(70px,20dvh,180px);object-fit:contain;filter:drop-shadow(0 6px 6px #172d1960)}.mini-sort-item strong{font-size:clamp(20px,4vw,32px)}#mini-sort-feedback{margin:0;text-align:center;font-weight:700;padding:6px 12px;border-radius:20px;background:#173d2bc9}.mini-sort-baskets{display:flex;gap:14px;justify-content:center;width:100%;max-width:700px}.mini-sort-baskets button{position:relative;flex:1;min-height:70px;max-width:190px;border:3px solid #d6a65c;border-radius:10px 10px 24px 24px;background:repeating-linear-gradient(0deg,#a77940,#a77940 8px,#bf9459 8px,#bf9459 11px);box-shadow:0 4px 10px #172d1955;color:#fff8e4;font-weight:800;padding:8px}.mini-sort-baskets img{display:block;height:clamp(40px,10dvh,90px);width:100%;object-fit:contain}.mini-sort-baskets strong{display:block;font-size:clamp(13px,2vw,18px);padding:3px 5px;background:#23432de0;border-radius:8px}.sort-arrive{animation:sort-arrive .22s ease-out}@keyframes sort-arrive{from{opacity:.3;transform:translateY(-20px) scale(.85)}to{opacity:1;transform:none}}@media(max-width:620px){.mini-memory-board,.mini-sort-play{inset:135px 5% 110px}.mini-memory-board{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));gap:8px}.mini-sort-baskets{gap:6px}.mini-sort-item{flex-direction:column;gap:3px}}@media(orientation:landscape) and (max-height:500px){.mini-memory-board,.mini-sort-play{inset:72px 9% 58px}.mini-memory-board{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:7px}.mini-sort-play{gap:3px}.mini-sort-item img{height:65px;width:65px}.mini-sort-baskets img{height:38px}.mini-sort-baskets button{min-height:68px;padding:3px}.mini-sort-item{min-height:60px}#mini-sort-feedback{font-size:11px;padding:3px 9px}}
