/* The game world is the page. All controls belong to that world. */
:root{color-scheme:light;--ui-paper:#fff4d8;--ui-rim:#ffe6aa;--ui-edge:#b7793f;--ui-text:#714b2d;--ui-shade:#07597640;background:#07647c}
html,body{margin:0;min-height:100%;background:#07647c;color:#174e59}
body[data-world=friends]{--ui-paper:#fff2d1;--ui-rim:#ffe2a0;--ui-edge:#ad783d;--ui-text:#72502c;--ui-shade:#3b602d35;background:#91bc5e}
.app{position:relative;max-width:none;width:100%;margin:0;padding:0}
main{margin:0;padding:0}.game-frame{margin:0}.playground{height:100dvh;min-height:650px;max-height:none;border-radius:0;border:0;box-shadow:none;background-position:center center}
.topbar{position:absolute;z-index:30;top:20px;left:26px;right:26px;height:65px;min-height:0;margin:0;padding:0;display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center;pointer-events:none}
.topbar>*{pointer-events:auto}.brand{color:#fffbe2;width:max-content;font-size:38px;gap:7px;letter-spacing:-2px;text-shadow:0 3px 0 #145b6d66;filter:drop-shadow(0 3px 3px #174d6a26)}.brand-icon{width:57px;height:49px;background:#fdf5da;border:3px solid #fffbdc;border-radius:22px;box-shadow:0 4px 0 #145b6d4a;transform:rotate(-7deg);padding:4px}.brand small{display:none}.brand-dot{color:#ffd879}.brand-icon svg{filter:drop-shadow(0 1px 0 #ffffff80)}
.world-switch{justify-self:center;gap:7px;padding:6px;border:3px solid #ffe9ae;border-radius:22px;background:linear-gradient(180deg,#d8a86a,#bb8549);box-shadow:0 5px 0 #805b32,0 8px 14px #134e5b20}
.world-tab{position:relative;min-width:150px;min-height:47px;border:2px solid #8a643d55;border-radius:14px;padding:7px 20px;gap:10px;color:#fff9d9;background:linear-gradient(135deg,#187e94,#20a5b0);font-size:13px;font-weight:900;text-shadow:0 1px 2px #174d5c80;box-shadow:inset 0 2px 0 #ffffff35}
.world-tab[data-world=friends]{background:linear-gradient(135deg,#638e45,#93b753)}
.world-tab.selected{background:linear-gradient(135deg,#fff3c3,#ffdf88);color:#78522d;text-shadow:none;border-color:#fff8cc;box-shadow:0 2px 0 #946b3e50,inset 0 2px 0 #fffce5}
.world-tab:hover{transform:translateY(-2px)}.world-tab>span{width:35px;height:32px;flex-shrink:0}.top-actions{justify-self:end;display:flex;gap:10px}
.top-actions .icon-button{width:45px;height:45px;border:3px solid #fff0b9;border-radius:17px;background:linear-gradient(145deg,#fff9e6,#f1d49a);color:#8b663e;box-shadow:0 4px 0 #987343,0 7px 11px #073a5533}
.scene-top{top:108px;left:29px;right:27px;align-items:center}.scene-badge{font-size:13px;letter-spacing:1.1px;font-weight:900;color:#fff9d7;text-shadow:0 2px 2px #145b6b8c;padding:7px 0;gap:8px}.scene-badge>span{width:26px;height:25px}.scene-actions{gap:10px}
.book-button{background:linear-gradient(145deg,#fff8e3,#ecd29e);border:3px solid var(--ui-rim);border-radius:17px;box-shadow:0 4px 0 var(--ui-edge);padding:7px 12px;color:var(--ui-text)}.book-button b{color:#ad7b3b}.book-button>span:first-child{width:32px;height:28px}.scene-control{width:41px;height:41px;background:linear-gradient(145deg,#fff8e3,#ecd29e);color:var(--ui-text);border:3px solid var(--ui-rim);box-shadow:0 4px 0 var(--ui-edge);border-radius:15px}
.mode-tabs{top:177px;left:23px;gap:12px}.mode-tab{width:82px;min-height:72px;border:3px solid var(--ui-rim);background:linear-gradient(145deg,#fff9e6,#f2dfb3);border-radius:21px 17px 21px 17px;color:#917046;box-shadow:0 5px 0 #a8834e,0 7px 10px #0747581c;font-size:10px}.mode-tab>span{width:31px;height:28px}.mode-tab.active{border-color:#fff3c0;background:linear-gradient(145deg,#ffe490,#ffc865);box-shadow:0 5px 0 #ba8240;color:#825128}.mode-tab:hover{background:#fff5cf}.friends .mode-tabs{top:177px}.friends .mode-tab{width:101px}
.creatures{inset:151px 42px 186px 137px}.friends .creatures{inset:168px 42px 175px 42px}.creature{width:var(--size);height:calc(var(--size) * .81)}.friends .creature{width:var(--size);height:calc(var(--size) * .95)}
.activity-panel{left:25px;bottom:26px;width:min(44%,550px);min-height:110px;border:3px solid #fff4d1;border-radius:27px 24px 27px 10px;background:linear-gradient(145deg,#fffbe9,#f5e6bd);box-shadow:0 6px 0 #a7854c,0 10px 16px var(--ui-shade);padding:17px 18px;gap:13px;color:#6b5f3d}.instruction-kicker{display:none}.instruction h2{font-size:20px;color:#3e6255;font-weight:900;line-height:1.25}.instruction p{font-size:12px;line-height:1.5;color:#8b8d68}.guide-icon{width:60px;height:57px;background:#ecd69e;padding:4px;border:2px solid #fff2c8;border-radius:20px;box-shadow:inset 0 2px 3px #9d774c20}.repeat-button{background:#f8ebc6;color:#9a8658;border:2px solid #e5d1a1;width:32px;height:32px;right:10px;top:9px}.progress{right:13px;bottom:10px}.progress-dot{background:#dfd5b0;border-color:#cfc397}.progress-dot.complete{background:#f6ab47;border-color:#d7943a;box-shadow:0 1px 0 #fff6c6}
.activity-panel .primary-button{position:static;margin:0 20px 0 0;min-height:52px;padding:12px 17px;left:auto;right:auto;bottom:auto;border:2px solid #fff0b8;background:linear-gradient(#ffdb79,#ffbb53);box-shadow:0 4px 0 #ba8240;color:#7c4b23;font-size:12px;border-radius:15px}
.activity-panel:has(#next-button:not([hidden])) .guide-icon{display:none}.activity-panel:has(#next-button:not([hidden])) .instruction p{display:none}
.tray{right:25px;bottom:26px;min-height:110px;gap:9px;padding:13px 14px 12px;border:4px solid #fce6ab;border-radius:24px 19px 24px 19px;background:repeating-linear-gradient(0deg,#e6c18b 0,#e6c18b 29px,#dfb67e 30px,#dfb67e 32px);box-shadow:0 6px 0 #9e723f,0 10px 17px var(--ui-shade)}.tray-label{top:-27px;font-size:11px;color:#fffbe0;letter-spacing:.1px;text-shadow:0 2px 3px #24533a;font-weight:850}.tray-item{width:82px;min-height:78px;border:2px solid #d8ae73;border-radius:15px;background:linear-gradient(150deg,#fff4d6,#f4dfae);box-shadow:inset 0 2px 1px #a97a3320,0 2px 0 #b98e50;color:#926b3d;font-size:10px}.tray-item>svg,.tray-item>.painted-sprite{width:60px;height:49px}.tray-item.active{background:linear-gradient(145deg,#ffe9a1,#ffc76c);border-color:#fff5c7;box-shadow:0 4px 0 #b57d37,0 0 0 2px #e3ac53;transform:translateY(-5px)}.tray-item:hover{background:#fff5d0}.scene-caption{left:29px;bottom:157px;font-size:10px;color:#fff2c6;text-shadow:0 2px 4px #154f65}.friends .scene-caption{color:#fff4c6;text-shadow:0 2px 3px #466235}
.creature-label{border:2px solid #fff3c9;background:#fff0bf;color:#796037;box-shadow:0 3px 0 #b3914d61;font-size:11px}.count-bubble{border:2px solid #fff7cf;background:#fff0bb;box-shadow:0 3px 0 #b5945861}.selection-bubble{border:3px solid #fff4cc;background:#fff1c4;color:#6e794b;box-shadow:0 4px 0 #b2975850}.selection-bubble:after{border-top-color:#fff1c4}.treasure-basket{border:3px solid #ffeebd;background:#f8d999;box-shadow:0 4px 0 #a17b41;color:#91622f;bottom:168px;right:30px}.footer{display:none}.page-heading{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important}
body[data-world=friends] .brand{text-shadow:0 3px 0 #4e713c80}body[data-world=friends] .scene-badge{text-shadow:0 2px 3px #4d713b}
@media(max-width:1150px){.topbar{left:21px;right:21px;gap:15px}.brand{font-size:34px}.brand-icon{width:49px;height:44px}.world-tab{min-width:133px;padding:7px 16px}.creatures{inset:153px 22px 184px 117px}.creature{width:calc(var(--size) * .84);height:calc(var(--size) * .69)}.friends .creatures{inset:161px 25px 180px 35px}.friends .creature{width:calc(var(--size) * .8);height:calc(var(--size) * .78)}.mode-tabs{left:19px;gap:10px}.mode-tab{width:74px;min-height:66px}.activity-panel{left:20px;width:44%;padding:14px;gap:10px}.instruction h2{font-size:17px}.instruction p{font-size:11px}.guide-icon{width:46px;height:46px}.tray{right:20px;padding:11px;gap:7px}.tray-item{width:70px;min-height:76px}.tray-item>svg,.tray-item>.painted-sprite{width:51px;height:46px}.activity-panel .primary-button{padding:10px 13px;font-size:11px;margin-right:18px}.scene-top{left:24px;right:23px}}
@media(max-height:730px) and (min-width:761px){.playground{min-height:580px;height:100dvh}.topbar{top:13px;height:61px}.scene-top{top:88px}.mode-tabs,.friends .mode-tabs{top:151px;gap:9px}.mode-tab{width:72px;min-height:61px}.mode-tab>span{width:27px;height:24px}.creatures{inset:126px 28px 158px 121px}.friends .creatures{inset:136px 32px 154px 35px}.creature{width:calc(var(--size) * .85);height:calc(var(--size) * .69)}.friends .creature{width:calc(var(--size) * .86);height:calc(var(--size) * .82)}.activity-panel{min-height:96px;bottom:23px}.tray{min-height:99px;bottom:23px;padding-top:9px;padding-bottom:9px}.tray-item{min-height:70px}.scene-caption{bottom:141px}}
@media(max-width:760px){.playground{height:100dvh;min-height:730px;border-radius:0}.topbar{top:14px;left:15px;right:15px;height:59px;min-height:0;display:grid;grid-template-columns:auto 1fr auto;flex-wrap:nowrap;padding:0;gap:12px}.brand{font-size:32px;order:0;gap:5px}.brand-icon{width:43px;height:39px;border-radius:15px;padding:3px}.world-switch{order:0;justify-self:center;flex:none;width:auto;padding:5px;gap:5px;border-width:2px;border-radius:17px}.world-tab{flex:none;min-width:0;width:65px;min-height:40px;padding:5px 8px;font-size:0;gap:0;border-radius:11px}.world-tab>span{width:35px;height:29px}.top-actions{order:0;gap:7px;justify-self:end}.top-actions .icon-button{width:36px;height:36px;border-width:2px;border-radius:13px}.top-actions .icon-button>span{width:17px;height:17px}.scene-top{top:95px;left:17px;right:16px;align-items:center}.scene-badge{font-size:10px;letter-spacing:.6px;gap:5px}.scene-badge>span{width:21px;height:20px}.book-button{padding:5px 8px;border-width:2px;font-size:8px;border-radius:12px}.book-button b{font-size:10px;letter-spacing:1px}.book-button>span:first-child{width:25px;height:22px}.scene-control{width:34px;height:34px;border-width:2px;border-radius:12px}.scene-actions{gap:7px}.mode-tabs,.friends .mode-tabs{top:151px;left:15px;right:15px;gap:8px;display:flex;flex-direction:row;justify-content:center}.mode-tab{width:auto;flex:1;min-height:65px;padding:7px 2px;border-width:2px;font-size:9px;border-radius:17px 13px 17px 13px}.mode-tab>span{width:27px;height:26px}.friends .mode-tab{width:142px;flex:0 0 142px;min-height:60px}.creatures{inset:231px 0 246px 0}.friends .creatures{inset:212px 10px 240px 10px}.creature{width:calc(var(--size) * .58);height:calc(var(--size) * .49)}.friends .creature{width:calc(var(--size) * .63);height:calc(var(--size) * .6)}.activity-panel{left:14px;right:14px;bottom:20px;width:auto;min-height:100px;padding:13px;gap:10px;border-width:3px;border-radius:24px 20px 24px 9px}.guide-icon{width:47px;height:47px;border-radius:16px}.instruction h2{font-size:17px;line-height:1.25}.instruction p{font-size:11px;line-height:1.45}.repeat-button{width:29px;height:29px;top:9px;right:9px}.instruction{padding-right:17px}.progress{right:12px;bottom:9px}.activity-panel .primary-button{position:static;left:auto;right:auto;bottom:auto;width:auto;min-height:47px;font-size:11px;padding:9px 12px;margin:0 18px 0 0}.tray{left:14px;right:14px;bottom:140px;min-height:91px;padding:9px;gap:7px;justify-content:center;border-width:3px;border-radius:21px 17px 21px 17px}.tray-label{top:-24px;font-size:10px}.tray-item{flex:1;min-width:0;width:auto;min-height:67px;border-radius:12px;font-size:9px;padding:4px}.tray-item>svg,.tray-item>.painted-sprite{width:47px;height:41px}.scene-caption{display:none}.selection-bubble{top:29%;font-size:13px;max-width:84%}.treasure-basket{bottom:260px;right:18px;padding:5px 11px;border-width:2px;font-size:16px}.treasure-basket>span{width:30px;height:28px}.shell-target{width:61px;height:61px}.creature-label{font-size:10px;padding:4px 9px}.count-bubble{top:-8px;padding:6px 9px;gap:5px}.count-bubble>span{width:11px;height:11px}}
@media(max-width:430px){.topbar{left:12px;right:12px;gap:8px}.brand{font-size:27px;gap:3px}.brand-icon{width:38px;height:35px}.world-tab{width:53px;padding:4px 6px}.world-tab>span{width:31px;height:28px}.world-switch{padding:4px;gap:4px}.top-actions{gap:6px}.top-actions .icon-button{width:32px;height:32px}.scene-top{left:14px;right:14px}.scene-badge{font-size:9px;letter-spacing:.3px}.scene-badge>span{width:19px}.book-button{gap:3px;padding:5px 7px}.book-button>span:first-child{width:22px}.scene-actions{gap:5px}.scene-control{width:31px;height:31px}.mode-tabs{gap:6px}.mode-tab{font-size:8px}.instruction h2{font-size:15px}.instruction p{font-size:10px}.guide-icon{width:41px;height:42px}.activity-panel{gap:8px}.activity-panel .primary-button{font-size:10px;padding:9px 10px;gap:7px}}

dialog{border:4px solid #fff1c5;background:linear-gradient(145deg,#fffbed,#f6e9c9);box-shadow:0 7px 0 #b18a50,0 20px 80px #073d5c55;border-radius:28px 23px 28px 18px}dialog .icon-button{border:2px solid #e4c88d;background:#f7e7bb;color:#936d3d}.discovery-card{background:#f7eac3;border:2px solid #e7d39c;color:#896c3c}.discovery-card.locked{background:#eae4cd;border-color:#dcd6bd;color:#a19a7d}

/* Adventure progression: short, increasingly complex three-challenge levels. */
.level-map-button{display:flex;align-items:center;justify-content:center;gap:7px;padding:10px 14px;border:3px solid #ffe6aa;border-radius:15px;background:linear-gradient(145deg,#fff8df,#edcf94);color:#896033;box-shadow:0 4px 0 #ad783d;font:inherit;font-size:13px;font-weight:900;min-height:43px}.level-map-button:first-letter{font-size:21px}.adventure-on #book-button{display:none!important}.adventure-on .mode-tabs,.adventure-on .scene-caption{display:none!important}.mission-hud{position:absolute;z-index:12;top:165px;left:128px;right:27px;display:flex;align-items:center;gap:15px;padding:11px 15px;min-height:82px;border:3px solid #fff0ba;border-radius:23px 19px 23px 19px;background:linear-gradient(140deg,#fff9e2f5,#f3dfadf5);box-shadow:0 5px 0 #a67d42a0;color:#7c623a}.mission-level{display:flex;align-items:center;gap:10px;flex:0 0 190px}.mission-level>b{display:grid;place-items:center;width:43px;height:43px;flex-shrink:0;border-radius:50%;border:3px solid #fff1bb;background:#ffc96a;box-shadow:0 3px 0 #c39449;font-size:23px;color:#94602d}.mission-level strong{font-size:13px;display:block;line-height:1.3}.mission-level small{font-size:10px;display:block;color:#b38b49;margin-top:5px}.mission-goals{display:flex;gap:7px;align-items:center;flex:1;min-width:0;overflow-x:auto;padding:2px 1px}.mission-token{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;width:54px;min-height:59px;border-radius:13px;border:2px solid #e0cf9b;background:#f4e9c7;padding:3px;gap:2px}.mission-token>span{width:40px;height:36px;display:block}.mission-token>span>svg{width:100%;height:100%}.mission-token small{position:absolute;left:1px;top:0;font-size:8px;background:#f8e7b2;border-radius:50%;min-width:12px;text-align:center;color:#9b7e49}.mission-token.done{background:#dfedbc;border-color:#b4cf8e}.mission-token.current{border-color:#f2ae3e;background:#fff0bb;box-shadow:0 0 0 2px #ffdf9290}.mission-token>em{position:absolute;bottom:1px;right:2px;background:#78a575;color:#fff;padding:1px 4px;border-radius:7px;font-size:10px;font-style:normal}.order-count{font-size:10px;line-height:1;color:#9f753e}.mystery-friend{display:grid;place-items:center;width:100%;height:100%;font-size:29px;color:#c7ad78}.mission-counter{display:flex;align-items:center;gap:10px;font-size:23px;font-weight:900}.mission-counter>svg{width:43px;height:39px}.mission-counter>small{font-size:9px;letter-spacing:.7px;max-width:90px;line-height:1.5;color:#b58d51}.memory-button{border:2px solid #fff4c5;background:#ffd480;color:#805528;box-shadow:0 3px 0 #c3934e;border-radius:12px;padding:11px 13px;white-space:nowrap;font-size:11px;font-weight:850}.campaign-active .creatures{inset:268px 42px 186px 137px}.friends.campaign-active .creatures{inset:261px 42px 175px 42px}.creature.mission-turn:after{content:'';position:absolute;inset:-3px;border:4px dashed #fff1a3;border-radius:50%;pointer-events:none}.creature.picnic-background{opacity:.42}.packing .creature{pointer-events:none!important;opacity:.24}.picnic-basket{position:absolute;left:50%;top:43%;transform:translate(-50%,-10%);width:225px;height:220px;pointer-events:auto;border:0;padding:0;background:none;filter:drop-shadow(0 12px 5px #314e392e)}.picnic-basket>svg{width:100%;height:100%}.picnic-basket>span{position:absolute;left:0;right:0;bottom:-2px;background:#fff3c5;border:2px solid #fff8de;border-radius:17px;padding:7px 10px;color:#8b6737;font-size:12px;font-weight:850}.picnic-basket:hover{filter:drop-shadow(0 0 10px #fff7b9)}.mission-bubble{display:grid;place-items:center;width:62px;height:62px}.mission-bubble>b{font-size:25px;color:#075e7e;text-shadow:0 1px 0 #e6ffff;font-weight:950}.level-dialog{width:min(820px,calc(100% - 30px));max-height:calc(100dvh - 30px);overflow-y:auto}.level-dialog .eyebrow{font-size:8px;letter-spacing:1.1px}.level-dialog h2{font-size:29px}.level-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:23px}.level-tile{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:7px;min-height:200px;padding:15px 12px 11px;border:3px solid #e6d3a4;background:linear-gradient(150deg,#fffaf0,#f4e7be);border-radius:24px 19px 24px 19px;box-shadow:0 5px 0 #d0b884;color:#795d36;transition:transform .15s}.level-tile:hover{transform:translateY(-4px);background:#fff3cd}.level-tile.recommended{border-color:#efba54;box-shadow:0 5px 0 #d5a34c;background:linear-gradient(150deg,#fff6d3,#ffe4a0)}.level-number{position:absolute;top:10px;left:11px;width:28px;height:28px;display:grid;place-items:center;background:#edce8a;border:2px solid #fff3c3;border-radius:50%;font-size:15px;color:#a67a36}.level-picture{width:101px;height:82px;display:block}.level-picture>svg{height:100%;width:100%}.level-tile>strong{font-size:13px;line-height:1.3}.level-summary{font-size:10px;line-height:1.5;color:#a6926d;max-width:180px}.map-stars{display:flex;gap:6px;margin-top:auto}.map-stars>i{font-size:22px;font-style:normal;color:#d5c7a4;text-shadow:0 1px 0 #fff6d8}.map-stars>i.earned{color:#eeb444;text-shadow:0 2px 0 #bc8a37}.win-dialog{text-align:center;width:min(570px,calc(100% - 30px));overflow:hidden;padding:35px 26px 30px}.win-dialog>*:not(.win-confetti){position:relative;z-index:1}.win-dialog .eyebrow{font-size:9px;letter-spacing:1.3px}.win-portrait{width:165px;height:138px;margin:18px auto 6px;filter:drop-shadow(0 9px 4px #a27f3426)}.win-portrait>svg{width:100%;height:100%}.win-dialog h2{font-size:33px;margin:8px 0;color:#97723b}.win-stars{display:flex;justify-content:center;gap:17px;margin:18px 0 13px}.win-stars>span{font-size:58px;line-height:1;color:#ddd1b2;display:block}.win-stars>span.earned{color:#f4b944;text-shadow:0 4px 0 #c58c30;animation:star-win .65s cubic-bezier(.2,.8,.3,1.3) both;animation-delay:var(--star-delay)}.win-dialog p{max-width:390px;margin:20px auto;color:#a18d67;font-size:14px}.win-dialog .dialog-actions{justify-content:center;gap:12px}.win-confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.win-confetti i{position:absolute;left:var(--cx);top:-25px;width:9px;height:15px;border-radius:3px;background:var(--color);animation:confetti-fall 1.8s ease-in both;animation-delay:var(--delay)}@keyframes star-win{from{opacity:0;transform:scale(.15) rotate(-20deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes confetti-fall{0%{opacity:0;transform:translateY(0) rotate(0)}15%{opacity:1}100%{opacity:0;transform:translateY(580px) rotate(var(--turn))}}.win-dialog.reduced-motion *{animation:none!important}
@media(max-width:1150px){.mission-hud{left:110px;right:20px;gap:10px}.mission-level{flex-basis:160px}.mission-level strong{font-size:12px}.mission-token{width:49px}.mission-token>span{width:36px;height:34px}.campaign-active .creatures{inset:266px 22px 184px 117px}.friends.campaign-active .creatures{inset:258px 25px 180px 35px}}
@media(max-height:730px) and (min-width:761px){.mission-hud{top:144px;min-height:73px;padding:7px 11px}.campaign-active .creatures{inset:232px 28px 158px 121px}.friends.campaign-active .creatures{inset:232px 32px 154px 35px}.mission-token{min-height:53px}.picnic-basket{width:195px;height:190px;top:43%}}
@media(max-width:760px){.level-map-button{font-size:11px;min-height:34px;padding:7px 10px;border-width:2px;border-radius:12px;gap:5px}.mission-hud{top:151px;left:14px;right:14px;padding:10px;gap:8px;flex-wrap:wrap;min-height:108px;border-width:2px;border-radius:20px 16px 20px 16px}.mission-level{flex:1 1 100%;gap:8px;min-height:30px}.mission-level>b{height:30px;width:30px;font-size:17px;border-width:2px}.mission-level strong{font-size:12px}.mission-level small{font-size:9px;margin-top:2px}.mission-goals{flex:1 1 100%;gap:5px}.mission-token{width:43px;min-height:48px;border-radius:10px;padding:2px}.mission-token>span{width:33px;height:29px}.order-count{font-size:9px}.mission-token small{font-size:7px}.memory-button{position:absolute;right:9px;top:10px;padding:8px 10px;font-size:10px}.mission-counter{font-size:20px;gap:8px}.mission-counter>svg{height:30px;width:34px}.mission-counter>small{max-width:none;font-size:8px}.campaign-active .creatures{inset:278px 0 266px 0}.friends.campaign-active .creatures{inset:276px 10px 263px 10px}.mission-bubble{width:53px;height:53px}.mission-bubble>b{font-size:22px}.picnic-basket{width:195px;height:195px;top:43%}.level-dialog{padding:21px;max-height:calc(100dvh - 22px)}.level-dialog h2{font-size:24px}.level-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.level-tile{min-height:190px;padding:14px 8px 10px}.level-picture{width:90px;height:73px}.level-tile>strong{font-size:12px}.level-summary{font-size:9px}.level-number{width:24px;height:24px;font-size:13px;left:8px;top:8px}.map-stars>i{font-size:20px}.win-dialog{padding:27px 21px}.win-dialog h2{font-size:28px}.win-portrait{width:140px;height:118px}.win-stars>span{font-size:49px}.win-dialog .dialog-actions{gap:9px}.win-dialog .dialog-actions button{padding:11px 13px;font-size:11px}.win-dialog p{font-size:12px}}
@media(max-width:430px){#book-button>span:last-child{display:none}.book-button{padding:5px 7px}.mission-level{max-width:calc(100% - 65px)}.mission-level strong{font-size:10px}.mission-token{width:41px}.level-dialog .eyebrow{font-size:7px}.level-dialog p{font-size:11px}.win-dialog .eyebrow{font-size:8px}}

/* The complete playground: shared art, large targets, and bounded mini-game boards. */
.playground.garden{background-image:url('./assets/meadow.webp')}.playground.garage{background-image:url('./assets/garage.webp')}.playground.pairs,.playground.puzzles,.playground.studio{background-image:url('./assets/studio.webp')}.game-chooser{display:flex;align-items:center;gap:15px}.game-chooser .world-tab{min-width:125px}.game-chooser>span{color:#fff9db;font-size:13px;font-weight:850;padding-right:10px;text-shadow:0 2px 3px #79532f}.games-dialog{width:min(970px,calc(100% - 26px));max-height:calc(100dvh - 26px);overflow:auto}.games-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-top:24px}.game-tile{display:flex;flex-direction:column;align-items:center;gap:9px;padding:17px 12px;border:3px solid #ebd6a0;border-radius:23px 18px 23px 18px;min-height:203px;background:linear-gradient(145deg,#fffaf0,#f7e6bd);box-shadow:0 5px 0 #c6a46a;color:#8b673d}.game-tile:hover{transform:translateY(-3px);background:#fff1c2}.game-picture{width:110px;height:83px;display:block}.game-picture>svg{width:100%;height:100%}.game-tile>strong{font-size:15px}.game-tile>small{font-size:10px;line-height:1.5;color:#ab946b;text-align:center;max-width:170px}.game-tile>b{font-size:9px;color:#b79962;margin-top:auto}.mini-world .creatures,.mini-world .mode-tabs,.mini-world .scene-caption,.mini-world #book-button{display:none!important}.mini-board{position:absolute;inset:271px 40px 170px 40px;z-index:6;user-select:none}.mini-world .mission-hud{left:40px}.mini-world .activity-panel{width:min(640px,calc(100% - 50px))}.mini-board button{touch-action:manipulation}.mini-tool svg,.plant-steps svg{width:100%;height:100%}.garden-tools{height:62px;display:flex;gap:12px;justify-content:center;align-items:center}.mini-tool{display:flex;align-items:center;gap:7px;padding:6px 13px;border:3px solid #fff2bd;border-radius:17px;background:#f8e6b6;box-shadow:0 4px 0 #a78046;color:#8b6939;font-weight:850;font-size:11px;min-height:54px}.mini-tool>svg{width:44px;height:40px}.mini-tool.active{background:#ffcf78;border-color:#fff6cd;transform:translateY(-4px)}.flower-beds{position:absolute;top:77px;bottom:0;left:5%;right:5%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:10px 20px;justify-items:center}.flower-bed{background:none;border:0;padding:0;position:relative;width:100%;max-width:195px;height:100%;max-height:210px;border-radius:35px;transition:transform .15s}.flower-bed>svg{height:calc(100% - 25px);width:100%;max-height:170px}.flower-bed:hover{transform:scale(1.04);background:#fff6b713}.flower-bed.bloomed{filter:drop-shadow(0 2px 8px #fff7b44d)}.plant-steps{display:flex;justify-content:center;gap:4px;height:23px}.plant-steps>i{width:25px;height:23px;border-radius:8px;background:#fff4d4e8;border:1px solid #e7d09b;display:grid;place-items:center;color:#70934f;font-style:normal}.plant-steps>i.done{background:#e0ecb6;font-size:17px;font-weight:900}.parking-spaces{position:absolute;inset:0 3% 113px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:15px 25px}.parking-space{border:4px dashed #d7bd83;border-radius:25px;background:#fff4d62b;padding:5px;min-height:65px;display:grid;place-items:center}.parking-space>svg{width:76px;height:76px;max-height:90%}.parking-space.parked{border-style:solid;border-color:#b1bd7d;background:#f4edc875}.toy-car{position:relative;display:block;width:90px;height:81px;padding-bottom:13px;pointer-events:none}.toy-car>svg{width:100%;height:100%;filter:drop-shadow(0 3px 0 #a3764240)}.toy-car>i{position:absolute;bottom:3px;width:19px;height:19px;border-radius:50%;background:#7e715f;border:4px solid #b7aa8d}.toy-car>i:nth-of-type(1){left:11px}.toy-car>i:nth-of-type(2){right:11px}.mini-piece-tray{position:absolute;left:5%;right:5%;bottom:0;display:flex;justify-content:center;gap:17px;padding:9px;border-radius:22px;background:#e9c795c9;border:3px solid #fff0c1;min-height:98px;box-shadow:0 5px 0 #9d7943}.car-piece{background:#fff1d2;border:3px solid #f9deb0;border-radius:19px;padding:1px 8px;touch-action:none!important}.car-piece.selected,.puzzle-piece.selected,.sticker-pick.selected{border-color:#ffbe54;background:#ffe5a2;box-shadow:0 0 0 3px #fff6cf}.pair-grid{height:calc(100% - 49px);max-width:650px;margin:0 auto;display:grid;grid-template-columns:repeat(var(--card-cols),minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:12px}.pair-card{position:relative;display:grid;place-items:center;background:repeating-linear-gradient(45deg,#a7c5c0 0,#a7c5c0 9px,#9bbdb7 9px,#9bbdb7 18px);border:4px solid #fff3cf;border-radius:19px;box-shadow:0 4px 0 #b18b56;padding:7px;min-height:55px}.pair-card.face-up{background:#fff6df}.pair-card.matched{border-color:#9dbf82;background:#e8efc7}.pair-card>.painted-sprite{max-width:125px;height:100%}.pair-card>i{position:absolute;bottom:5px;right:5px;background:#91ad73;color:#fff;padding:2px 6px;border-radius:50%;font-size:12px;font-style:normal}.card-back{font-size:40px;color:#fff8db;text-shadow:0 3px 0 #6e9d93}.mini-peek{position:absolute;left:50%;bottom:0;transform:translateX(-50%);padding:9px 16px;border:2px solid #fff3c5;border-radius:14px;box-shadow:0 3px 0 #ad8752;background:#f4ddb0;font-size:11px;font-weight:850;color:#937143}.puzzle-layout{height:100%;display:flex;align-items:center;justify-content:center;gap:24px;max-width:940px;margin:auto}.puzzle-board{display:grid;grid-template-columns:repeat(var(--puzzle-cols),minmax(0,1fr));grid-template-rows:repeat(var(--puzzle-rows),minmax(0,1fr));width:55%;height:100%;max-height:330px;gap:4px;padding:7px;border:4px solid #fff1c3;border-radius:16px;background:#dfc89e;box-shadow:0 5px 0 #9b7647;overflow:hidden}.puzzle-slot{position:relative;min-width:0;min-height:0;border:2px dashed #b29b70;background:#fff1cc94;padding:0;overflow:hidden;border-radius:7px}.puzzle-slot>.puzzle-art{opacity:.23}.puzzle-slot.placed{border-style:solid;border-color:#b7c184}.puzzle-slot.placed>.puzzle-art{opacity:1}.puzzle-art{display:block;position:absolute;inset:0;background-repeat:no-repeat;pointer-events:none}.puzzle-side{width:38%;height:100%;display:flex;flex-direction:column;gap:12px;align-items:center}.picture-preview{height:28%;min-height:60px;width:150px;max-width:100%;border:4px solid #fff1c7;border-radius:12px;background-size:100% 100%;background-position:center;box-shadow:0 3px 0 #a78352}.puzzle-pieces{display:grid;grid-template-columns:repeat(var(--puzzle-cols),minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:8px;width:100%;flex:1;min-height:0}.puzzle-piece{position:relative;border:3px solid #fff0c7;min-height:42px;aspect-ratio:1.4;background:#eedbbc;border-radius:9px;overflow:hidden;box-shadow:0 3px 0 #ae8952;touch-action:none!important}.studio-layout{height:100%;width:100%;display:grid;grid-template-columns:minmax(0,1fr) 155px;gap:20px}.studio-picture{height:100%;position:relative;overflow:hidden;border:6px solid #fff8e0;outline:1px solid #ddc9a1;border-radius:17px;background-size:cover;background-position:center;box-shadow:0 6px 0 #ad8750;cursor:crosshair;touch-action:none}.studio-picture canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.studio-stickers{position:absolute;inset:0;pointer-events:none}.studio-sticker{position:absolute;transform:translate(-50%,-50%);width:95px;height:86px;filter:drop-shadow(0 4px 2px #3a5b4325)}.studio-sticker>svg{width:100%;height:100%}.studio-palette{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:min-content;align-content:start;gap:8px;overflow-y:auto;padding:4px 6px 8px}.sticker-pick{display:block;width:100%;height:64px;padding:5px;background:#fff0d1;border:3px solid #f9e1b4;border-radius:15px;box-shadow:0 3px 0 #b99762}.sticker-pick>svg,.sticker-pick>.painted-sprite{height:100%;width:100%}.brush-colors{display:flex;align-items:center;justify-content:center;gap:6px;grid-column:1/-1;padding:6px 0}.brush-colors>button{width:22px;height:22px;border-radius:50%;border:3px solid #ffefd1;box-shadow:0 2px 0 #ba9a66}.studio-palette>button[data-mini-action=undo],.studio-palette>button[data-mini-action=save-picture]{grid-column:1/-1;padding:9px 5px;border:2px solid #fff2c6;background:#f3dcae;color:#93713e;border-radius:12px;font-size:10px;font-weight:800}.mini-world .level-picture>svg{width:100%;height:100%}.mini-world .mission-counter>svg{width:43px;height:39px}
@media(max-width:1150px){.games-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.mini-board{inset:264px 25px 164px 25px}.mini-world .mission-hud{left:25px}.mini-piece-tray{gap:10px}.toy-car{width:79px;height:74px}.parking-spaces{gap:12px 17px}.studio-layout{grid-template-columns:minmax(0,1fr) 132px;gap:14px}.sticker-pick{height:57px}.mini-world .activity-panel{width:min(640px,calc(100% - 40px))}}
@media(max-height:730px) and (min-width:761px){.mini-board{inset:230px 30px 143px 30px}.garden-tools{height:49px}.mini-tool{min-height:46px;padding:4px 10px}.mini-tool>svg{width:36px;height:32px}.flower-beds{top:62px}.plant-steps{height:19px}.plant-steps>i{height:19px;width:21px}.pair-grid{gap:9px}.parking-spaces{bottom:97px}.mini-piece-tray{min-height:83px;padding:5px}.toy-car{height:67px;width:77px}.studio-palette{gap:6px}.sticker-pick{height:51px}}
@media(max-width:760px){.games-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.games-dialog{padding:22px}.game-tile{min-height:183px;padding:13px 9px;gap:7px}.game-picture{width:88px;height:70px}.game-tile>strong{font-size:13px}.game-tile>small{font-size:9px}.game-tile>b{font-size:8px}.game-chooser{gap:6px;max-width:170px}.game-chooser>span{font-size:9px;max-width:63px;line-height:1.3;padding:0}.game-chooser .world-tab{font-size:9px;gap:4px;min-width:0;width:77px;padding:5px}.game-chooser .world-tab>span{width:25px;height:24px}.mini-board{inset:277px 15px 160px 15px}.mini-world .mission-hud{left:14px}.mini-world .activity-panel{width:auto;left:14px;right:14px}.mini-world .level-map-button{padding:7px 10px}.garden-tools{height:51px;gap:7px}.mini-tool{padding:5px 8px;font-size:9px;min-height:45px;border-width:2px;gap:4px;border-radius:13px}.mini-tool>svg{width:31px;height:29px}.flower-beds{top:61px;left:0;right:0;gap:9px}.flower-bed>svg{height:calc(100% - 19px)}.plant-steps{height:18px;gap:2px}.plant-steps>i{width:18px;height:18px;border-radius:5px;font-size:11px}.parking-spaces{inset:0 0 89px;gap:9px}.parking-space{border-width:3px;border-radius:17px;padding:3px}.parking-space>svg{width:57px;height:57px}.mini-piece-tray{left:0;right:0;gap:6px;padding:7px;min-height:75px}.car-piece{min-width:0;padding:3px;border-width:2px;border-radius:12px;flex:1}.toy-car{width:100%;max-width:70px;height:56px}.toy-car>i{width:13px;height:13px;border-width:3px}.toy-car>i:nth-of-type(1){left:7px}.toy-car>i:nth-of-type(2){right:7px}.pair-grid{gap:9px;height:calc(100% - 46px)}.pair-card{border-width:3px;border-radius:14px;padding:4px}.card-back{font-size:29px}.puzzle-layout{gap:11px}.puzzle-board{width:53%;max-height:260px;gap:3px;padding:4px;border-width:3px;border-radius:13px}.puzzle-side{width:44%;gap:10px}.picture-preview{height:23%;width:115px;min-height:53px;border-width:3px}.puzzle-pieces{gap:6px}.puzzle-piece{border-width:2px;min-height:36px;border-radius:6px}.studio-layout{grid-template-columns:minmax(0,1fr) 87px;gap:8px}.studio-picture{border-width:4px;border-radius:13px}.studio-palette{gap:6px;padding:3px 3px 6px}.sticker-pick{height:44px;padding:2px;border-width:2px;border-radius:10px}.studio-sticker{width:64px;height:59px}.brush-colors{gap:2px;padding:4px 0}.brush-colors>button{width:16px;height:16px;border-width:2px}.studio-palette>button[data-mini-action=undo],.studio-palette>button[data-mini-action=save-picture]{font-size:8px;padding:7px 2px}.mini-peek{font-size:10px;padding:8px 13px}}
@media(max-width:430px){.game-chooser>span{display:none}.game-chooser .world-tab{width:89px;font-size:10px}.game-chooser .world-tab>span{width:28px;height:24px}.mini-tool{padding:4px 6px;font-size:8px}.mini-tool>svg{width:27px}.mini-board{left:11px;right:11px}.flower-beds{gap:5px}.plant-steps>i{width:16px;height:17px}.puzzle-piece{min-height:31px}.studio-layout{grid-template-columns:minmax(0,1fr) 80px}}

/* Compact wordmark for gamesforkids.shop. */
.brand{font-size:29px;letter-spacing:-1px}.brand-name{line-height:1;white-space:nowrap}.brand .brand-name small{display:block;font-size:10px;letter-spacing:1px;margin-top:7px;color:#fffbe2}
@media(max-width:760px){.brand{font-size:20px;letter-spacing:-.6px}.brand .brand-name small{font-size:8px;letter-spacing:.3px;margin-top:4px}.brand-icon{width:34px;height:33px}}
@media(max-width:430px){.brand{font-size:17px}.brand-icon{display:none}.topbar{gap:6px}}
