/* Earth Teasers extras: brighter backdrop, week strip, celebrations. */
body{background:linear-gradient(180deg,#3D9CFF 0,#7DFFF6 280px,#B8FF7A 70%,#FFE56A 100%) no-repeat #7DFFF6}
.brand{color:#C4004F;text-shadow:0 2px 0 #fff,0 0 12px rgba(255,208,0,.65)}
.preview-banner{background:#FF2E78;color:#fff;font-weight:700;text-align:center;border-radius:999px;padding:8px 14px;margin:0 0 12px;box-shadow:0 4px 0 #C4004F;font-size:.95rem}
.capnote{background:#FFF3A0;color:#16004A;font-weight:700;text-align:center;border-radius:18px;padding:10px 14px;margin:8px 0 4px;border:3px solid #FFD000;font-size:.95rem}
.hero .poss{max-height:190px}
.week-color{--tc:var(--week,#FF2E78)}
.day-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}
.day-btn{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:100px;padding:12px;border-radius:var(--r);border:3px solid #fff;background:var(--dc,#FF2E78);color:#fff;text-align:left;box-shadow:0 6px 0 rgba(0,0,0,.22);font-weight:700}
.day-btn b{font-size:1.15rem;line-height:1.1;text-shadow:0 2px 0 rgba(0,0,0,.2)}
.day-btn .d{font-size:.88rem;font-weight:600;opacity:.95}
.day-btn .hostpic{position:absolute;right:6px;bottom:4px;height:72px;width:auto;max-width:56px;object-fit:contain;filter:drop-shadow(0 3px 0 rgba(0,0,0,.2));pointer-events:none}
.day-btn{position:relative;overflow:hidden}
.day-btn.fritest{grid-column:1/-1;background:#00C2A8;min-height:88px;flex-direction:row;align-items:center;gap:12px}
.day-btn[disabled]{filter:saturate(.55);opacity:.8}
.day-btn .lock{position:absolute;top:8px;right:8px;background:#16004A;color:#fff;border-radius:999px;padding:2px 8px;font-size:.75rem}
.day-btn.done-flag{box-shadow:0 6px 0 rgba(0,0,0,.22),0 0 0 4px #00C853}
.week-list{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 12px;-webkit-overflow-scrolling:touch}
.week-chip{flex:0 0 auto;min-height:56px;border-radius:999px;border:3px solid #fff;color:#fff;font-weight:700;padding:8px 16px;box-shadow:0 4px 0 rgba(0,0,0,.2)}
.week-chip.on{box-shadow:0 4px 0 rgba(0,0,0,.2),0 0 0 4px #FFD000}
.week-chip[disabled]{opacity:.55}
.burst{position:absolute;inset:0;pointer-events:none;z-index:6;overflow:hidden}
.burst i{position:absolute;left:50%;top:40%;font-size:1.6rem;animation:burstfly .7s ease-out forwards}
@keyframes burstfly{to{transform:translate(var(--bx),var(--by)) scale(1.4);opacity:0}}
.choice.right{animation:popwin .45s cubic-bezier(.3,1.6,.5,1);box-shadow:0 0 0 4px #FFD000,0 6px 0 rgba(0,0,0,.2)}
@keyframes popwin{0%{transform:scale(.86)}60%{transform:scale(1.08)}100%{transform:scale(1)}}
.choice{min-height:70px;border-radius:var(--r);border:0;background:#fff;color:var(--ink);font-weight:700;font-size:1.15rem;padding:12px 14px;box-shadow:0 5px 0 var(--line);width:100%}
.choices{display:flex;flex-direction:column;gap:12px;width:100%}
.choice.dim{opacity:.35;filter:grayscale(.4)}
.choice.nudge{animation:hop .5s ease-in-out 1}
.choice.picked{outline:4px solid var(--sun);outline-offset:2px}
.binrow{display:flex;gap:10px;width:100%;flex-wrap:wrap}
.bin{flex:1;min-height:72px;min-width:120px;border-radius:var(--r);border:3px dashed #fff;background:var(--tile2);color:#16004A;font-weight:700;padding:8px}
.bin b{display:block;color:#fff;text-shadow:0 1px 0 rgba(0,0,0,.25);margin-bottom:4px}
.bin .chip{display:inline-block;background:#fff;border-radius:999px;padding:4px 10px;margin:3px;font-size:.9rem}
.sort-items{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;width:100%}
.sort-items .chipbtn{min-height:56px;border-radius:999px;border:0;background:var(--tile1);color:#fff;font-weight:700;padding:8px 16px;box-shadow:0 4px 0 rgba(0,0,0,.2)}
.sort-items .chipbtn.on{box-shadow:0 0 0 4px #FFD000,0 4px 0 rgba(0,0,0,.2)}
.diagram{width:100%;background:#fff;border-radius:var(--r);border:4px solid var(--tc,var(--acc));padding:8px;box-shadow:0 5px 0 var(--tc,var(--acc))}
.diagram svg{width:100%;height:auto;display:block}
.slotlab{fill:#16004A;font-family:var(--font);font-weight:700;font-size:18px}
.slotbox{cursor:pointer}
.slotbox.empty{stroke:#FF2E78;stroke-width:3;stroke-dasharray:6 5;fill:#FFE0F0}
.slotbox.filled{stroke:#00C853;stroke-width:3;fill:#C8FFD8}
.picbig{font-size:4.2rem;line-height:1;text-align:center;filter:drop-shadow(0 4px 0 rgba(22,0,74,.15))}
.celebrate{position:relative}
.wowtag{display:inline-block;background:#FFD000;color:#16004A;font-weight:800;border-radius:999px;padding:4px 12px;transform:rotate(-6deg);box-shadow:0 3px 0 #E09A00;animation:popwin .5s cubic-bezier(.3,1.6,.5,1)}
.starsbg{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.starsbg i{position:absolute;color:#FFD000;font-size:18px;opacity:.85;text-shadow:0 0 6px #fff}

/* Pet Pal + cards (from Fun Reading Skills reading.css) */
.petgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:10px}
.petgrid .petpick:last-child{grid-column:1/-1}
.petpick{font:inherit;background:#fff;border:3px solid var(--line);border-radius:var(--r);padding:12px;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;box-shadow:0 5px 0 var(--line);color:var(--ink)}
.petpick b{font-size:1.1rem}
.petpick .pbody{width:84px;height:84px;display:flex;align-items:center;justify-content:center}
.pimg{width:100%;height:100%;object-fit:contain;display:block}
.petstage{position:relative;display:flex;justify-content:center;align-items:flex-end;min-height:200px;margin:8px 0;background:rgba(255,255,255,.6);border-radius:var(--r)}
.petsay{color:var(--ink)!important;font-weight:600;font-size:1.2rem}
.petbtns{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}
.petcard{font:inherit;width:100%;display:flex;align-items:center;gap:12px;background:#fff;border:3px solid var(--line);border-radius:var(--r);padding:8px 14px;margin:12px 0 0;box-shadow:0 5px 0 var(--line);cursor:pointer;text-align:left;color:var(--ink)}
.petcard>span:nth-child(2){flex:1}.petcard .d{display:block;color:var(--mute);font-size:.95rem}
.petcard .go{margin-left:auto}
.capcard{display:flex;gap:10px;align-items:center;background:#fff;border:4px solid var(--week,var(--acc));border-radius:var(--r);padding:10px 12px;margin:4px 0 8px}
.capcard p{margin:2px 0 0;font-weight:600}
.pimg-sm{width:56px;height:56px}

/* Layout fixes */
#app{padding-bottom:calc(48px + env(safe-area-inset-bottom))}
.day-btn b,.day-btn .d{display:block;padding-right:58px}
.day-btn.fritest b,.day-btn.fritest .d{padding-right:70px}
.day-btn .lock{max-width:46%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;z-index:2}
.fb{flex-wrap:wrap}
.fb .who{display:block;width:100%;font-weight:800;font-size:.9rem;opacity:.9}
.coach .fb{align-items:flex-start}
.bookgrid .sticker{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:.72rem;font-weight:600;text-align:center;min-height:96px;background:#fff;border:3px solid var(--line);border-radius:22px;padding:8px}
.bookgrid .sticker img{max-width:70%;max-height:70px;object-fit:contain}
.petcard .pimg, .petcard img.pimg{width:56px;height:56px}
