/* Space School — Harvest Baskets (flat daytime farm, side view) */
.hv{position:relative;min-height:clamp(500px,52vw,640px);padding:14px 16px 18px;border-radius:24px;overflow:hidden;user-select:none;-webkit-user-select:none;touch-action:none;
	background:linear-gradient(180deg,#bfe7f7 0%,#e3f4f9 36%,#f2f8e8 50%,#9bd46f 50.2%,#86c75a 100%)}
.hv-sky{position:absolute;left:0;right:0;top:0;height:52%;pointer-events:none}
.hv-sun{position:absolute;left:8%;top:12%;width:70px;height:70px;border-radius:50%;background:radial-gradient(circle at 40% 38%,#fffbe6,#ffe08a);box-shadow:0 0 0 14px rgba(255,236,170,.35),0 0 60px rgba(255,214,120,.5)}
.hv .tr-cloud{position:absolute;height:32px;border-radius:32px;background:#fff;animation:hvcloud linear infinite}
.hv .tr-cloud::before,.hv .tr-cloud::after{content:"";position:absolute;bottom:10px;border-radius:50%;background:#fff}
.hv .tr-cloud::before{left:18%;width:46px;height:46px}.hv .tr-cloud::after{left:50%;width:60px;height:60px}
.hv .tr-cloud.a{width:150px;top:14%;left:-180px;animation-duration:64s}
.hv .tr-cloud.b{width:120px;top:30%;left:-150px;animation-duration:84s;animation-delay:-40s;opacity:.85}
@keyframes hvcloud{to{left:110%}}
.hv-hills{position:absolute;left:0;right:0;bottom:0;width:100%;height:42%}
.hv-barn{position:absolute;right:4%;bottom:0;width:clamp(110px,14vw,170px)}
.hv-barn svg{display:block;width:100%;height:auto}
.hv-fence{position:absolute;left:0;right:22%;bottom:0;height:34px;background:repeating-linear-gradient(90deg,#c69c6d 0 10px,transparent 10px 40px),linear-gradient(180deg,transparent 6px,#c69c6d 6px 12px,transparent 12px 20px,#c69c6d 20px 26px,transparent 26px)}

/* question sign (wooden board) */
.hv-sign{position:relative;z-index:2;max-width:640px;margin:0 auto;padding:10px 16px;border-radius:14px;background:linear-gradient(180deg,#d9a066,#b97a43);border:4px solid #8b5a2b;text-align:center;color:#fff;box-shadow:0 8px 0 rgba(0,0,0,.12)}
.hv-sign small{display:block;color:#fff3cf;font:800 12px "Nunito Sans",sans-serif;text-transform:uppercase;letter-spacing:.4px}
.hv-sign b{display:block;margin-top:2px;font:700 clamp(18px,2.2vw,24px)/1.25 Fredoka,sans-serif;color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.18)}
.hv-img{display:block;max-height:100px;margin:8px auto 0;border-radius:12px}

/* table with crates */
.hv-table{position:relative;z-index:2;max-width:820px;margin:clamp(18px,3vw,34px) auto 0;padding-bottom:22px}
.hv-top{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;min-height:76px;padding:12px;border-radius:12px;background:linear-gradient(180deg,#c8915a,#a86f3d);box-shadow:0 8px 0 #7a4b25,0 14px 24px rgba(0,0,0,.15)}
.hv-leg{position:absolute;bottom:0;width:14px;height:30px;background:#7a4b25;border-radius:0 0 4px 4px}
.hv-leg.a{left:8%}.hv-leg.b{right:8%}
.hv-crate{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:96px;max-width:170px;padding:8px 10px 8px;border:0;border-radius:8px;cursor:grab;
	background:repeating-linear-gradient(0deg,#e0b47a 0 9px,#d4a46a 9px 11px);box-shadow:inset 0 0 0 3px #a8743f,0 5px 0 rgba(0,0,0,.18);touch-action:none;transition:transform .2s cubic-bezier(.2,1.4,.4,1),box-shadow .2s;animation:hvin .45s cubic-bezier(.2,1.5,.4,1) both;animation-delay:calc(var(--d) * 60ms)}
@keyframes hvin{from{opacity:0;transform:translateY(-24px)}}
.hv-crate:hover{transform:translateY(-3px)}
.hv-fruit{font-size:22px;line-height:1}
.hv-t{padding:3px 8px;border-radius:6px;background:#fff8e7;color:#5b3a1a;font:800 clamp(12px,1.2vw,14.5px)/1.2 "Nunito Sans",sans-serif;text-align:center;overflow-wrap:anywhere}
.hv-crate.is-pick{transform:translateY(-8px);box-shadow:inset 0 0 0 3px #a8743f,0 0 0 4px #fff,0 0 24px rgba(255,255,255,.8)}
.hv-crate.is-drag{z-index:20;cursor:grabbing;transition:none;box-shadow:inset 0 0 0 3px #a8743f,0 18px 26px rgba(0,0,0,.3)}
.hv-crate.is-in{animation:hvdrop .4s cubic-bezier(.2,1.6,.4,1)}
@keyframes hvdrop{from{transform:translateY(-30px) scale(1.1)}}
.hv-crate.is-right{box-shadow:inset 0 0 0 3px #16a34a,0 0 16px rgba(34,197,94,.7)}
.hv-crate.is-right .hv-t::after{content:" ✓";color:#16a34a}
.hv-crate.is-wrong{box-shadow:inset 0 0 0 3px #dc2626,0 0 16px rgba(239,68,68,.7);animation:hvno .45s}
@keyframes hvno{25%,75%{transform:translateX(-7px)}50%{transform:translateX(7px)}}
.hv-crate.is-fix{box-shadow:inset 0 0 0 3px #16a34a;animation:hvdrop .5s cubic-bezier(.2,1.6,.4,1)}
.hv-crate.is-lockd{cursor:default;box-shadow:inset 0 0 0 3px #16a34a}
.hv-crate.is-lockd .hv-t::after{content:" 🔒";font-size:11px}
.hv-crate.is-back{animation:hvdrop .45s}

/* baskets */
.hv-baskets{position:relative;z-index:2;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;max-width:900px;margin:22px auto 0}
.hv-basket{position:relative;min-height:150px;padding:40px 10px 14px;border-radius:12px 12px 46px 46px;cursor:pointer;
	background:repeating-linear-gradient(90deg,rgba(0,0,0,.08) 0 3px,transparent 3px 14px),repeating-linear-gradient(0deg,#d8a35b 0 8px,#c48a44 8px 16px);box-shadow:inset 0 -10px 0 rgba(0,0,0,.12),0 10px 0 rgba(0,0,0,.12);transition:transform .2s}
.hv-basket::before{content:"";position:absolute;left:-6px;right:-6px;top:-6px;height:16px;border-radius:10px;background:#a8743f;box-shadow:inset 0 -4px 0 rgba(0,0,0,.15)}
.hv-tag{position:absolute;left:50%;top:-22px;transform:translateX(-50%);padding:5px 14px;border-radius:999px;background:var(--bc,#3fa7ff);color:#fff;font:800 15px "Nunito Sans",sans-serif;white-space:nowrap;box-shadow:0 4px 0 rgba(0,0,0,.15);max-width:96%;overflow:hidden;text-overflow:ellipsis}
.hv-basket.b0{--bc:#3fa7ff}.hv-basket.b1{--bc:#f39c12}.hv-basket.b2{--bc:#27ae60}.hv-basket.b3{--bc:#e74c3c}
.hv-in{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;position:relative;z-index:1}
.hv-in .hv-crate{min-width:0;padding:5px 7px;transform:scale(.92)}
.hv-in .hv-fruit{font-size:16px}
.hv-basket.is-near,.hv-basket:hover{transform:translateY(-4px)}
.hv-basket.is-near{box-shadow:inset 0 -10px 0 rgba(0,0,0,.12),0 0 0 4px #fff,0 0 30px rgba(255,255,255,.7)}
.hv-basket.is-bounce{animation:hvbounce .35s}
@keyframes hvbounce{40%{transform:scale(1.05,.95)}}
.hv-basket.is-full{animation:hvjoy .6s cubic-bezier(.2,1.8,.4,1) 2}
@keyframes hvjoy{50%{transform:translateY(-10px)}}

/* round flashes */
.hv.is-win::after,.hv.is-lose::after,.hv.is-part::after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;border-radius:24px;animation:hvflash .9s ease-out forwards}
.hv.is-win::after{box-shadow:inset 0 0 0 6px #22c55e,inset 0 0 60px rgba(34,197,94,.35)}
.hv.is-lose::after{box-shadow:inset 0 0 0 6px #ef4444,inset 0 0 60px rgba(239,68,68,.3)}
.hv.is-part::after{box-shadow:inset 0 0 0 6px #f59e0b,inset 0 0 60px rgba(245,158,11,.3)}
@keyframes hvflash{to{opacity:0}}
.ssa.is-mode .ssa-answers.t-mode{display:block}

@media (max-width:640px){
	.hv{padding:10px 8px 14px;min-height:560px}
	.hv-barn{width:90px}
	.hv-crate{min-width:84px}
	.hv-baskets{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 10px}
}
@media (prefers-reduced-motion:reduce){.hv *{animation:none!important}}
.hv{min-height:clamp(440px,42vw,560px);padding-bottom:22px}

/* ================= themes ================= */
.th-post .hv-sun,.th-post .tr-cloud,.th-post .hv-hills,.th-post .hv-barn,.th-post .hv-fence,
.th-market .hv-sun,.th-market .tr-cloud,.th-market .hv-hills,.th-market .hv-barn,.th-market .hv-fence,
.th-library .hv-sun,.th-library .tr-cloud,.th-library .hv-hills,.th-library .hv-barn,.th-library .hv-fence{display:none}
/* 📬 post office */
.hv.th-post{background:linear-gradient(180deg,#bfdbfe 0%,#dbeafe 55%,#94a3b8 55.2%,#64748b 100%)}
.hv-wall{position:absolute;inset:0 0 45% 0;background:repeating-linear-gradient(90deg,transparent 0 120px,rgba(30,64,175,.08) 120px 124px)}
.hv-clock{position:absolute;right:8%;top:10%;font-size:44px}
.hv-counter{position:absolute;left:0;right:0;bottom:45%;height:18px;background:linear-gradient(180deg,#a16207,#78350f)}
.th-post .hv-sign{background:linear-gradient(180deg,#ef4444,#b91c1c);border-color:#fff}
.th-post .hv-top{background:linear-gradient(180deg,#e2e8f0,#cbd5e1);box-shadow:0 8px 0 #64748b}
.th-post .hv-crate{background:#fff;box-shadow:inset 0 0 0 2px #cbd5e1,0 5px 0 rgba(0,0,0,.15);border-radius:4px}
.th-post .hv-crate::after{content:"";position:absolute;inset:0;background:linear-gradient(155deg,transparent 48%,#e2e8f0 49% 51%,transparent 52%),linear-gradient(25deg,transparent 48%,#e2e8f0 49% 51%,transparent 52%);pointer-events:none;border-radius:4px}
.th-post .hv-t{position:relative;z-index:1;background:#fff;color:#1e293b}
.th-post .hv-basket{border-radius:22px 22px 12px 12px;background:linear-gradient(180deg,var(--bc),color-mix(in srgb,var(--bc) 70%,#000));box-shadow:0 10px 0 rgba(0,0,0,.18)}
.th-post .hv-basket::before{display:none}
.hv-slot{position:absolute;left:20%;right:20%;top:18px;height:8px;border-radius:4px;background:#0f172a}
.th-post .hv-crate.is-right::before,.th-post .hv-crate.is-lockd::before{content:"SENT";position:absolute;right:-6px;top:-8px;z-index:2;padding:0 5px;border:2px solid #16a34a;border-radius:4px;color:#16a34a;font:800 10px "Nunito Sans";transform:rotate(12deg);background:#fff}
/* 🥕 Egyptian market */
.hv.th-market{background:linear-gradient(180deg,#fde68a 0%,#fef3c7 50%,#d6b98c 50.2%,#b08968 100%)}
.th-market .hv-sky{background-image:linear-gradient(45deg,rgba(0,0,0,.04) 25%,transparent 25%)}
.hv-awn{position:absolute;top:0;height:46px;width:34%;background:repeating-linear-gradient(90deg,#ef4444 0 20px,#fff 20px 40px);border-radius:0 0 18px 18px;box-shadow:0 6px 0 rgba(0,0,0,.15)}
.hv-awn.a{left:0}.hv-awn.b{left:33%;background:repeating-linear-gradient(90deg,#16a34a 0 20px,#fff 20px 40px)}.hv-awn.c{right:0;background:repeating-linear-gradient(90deg,#2563eb 0 20px,#fff 20px 40px)}
.hv-lamps{position:absolute;left:0;right:0;top:56px;height:24px;background:radial-gradient(circle,#f59e0b 6px,transparent 7px) 0 0/90px 24px repeat-x;filter:drop-shadow(0 0 8px #f59e0b)}
.th-market .hv-sign{margin-top:70px}
.th-market .hv-basket{border-radius:10px;padding-bottom:30px;background:repeating-linear-gradient(90deg,#a16207 0 18px,#92400e 18px 20px);box-shadow:inset 0 -8px 0 rgba(0,0,0,.2),0 26px 0 -14px #44403c}
.th-market .hv-basket::before{background:#78350f}
.hv-wheels{position:absolute;left:12%;right:12%;bottom:-20px;display:flex;justify-content:space-between}
.hv-wheels i{width:34px;height:34px;border-radius:50%;background:radial-gradient(circle,#78350f 30%,#a16207 32% 60%,#451a03 62%);box-shadow:0 0 0 3px #451a03}
/* 📚 library */
.hv.th-library{background:linear-gradient(180deg,#78350f 0%,#92400e 50%,#a16207 50.2%,#854d0e 100%)}
.hv-shelves{position:absolute;inset:0 0 50% 0;background:repeating-linear-gradient(180deg,transparent 0 70px,#451a03 70px 80px),repeating-linear-gradient(90deg,#dc2626 0 14px,#2563eb 14px 26px,#16a34a 26px 40px,#ca8a04 40px 52px,#7c3aed 52px 64px,transparent 64px 90px);opacity:.35}
.hv-window{position:absolute;right:6%;top:8%;width:90px;height:110px;border-radius:45px 45px 6px 6px;background:linear-gradient(180deg,#bae6fd,#e0f2fe);box-shadow:0 0 0 8px #451a03,0 0 40px rgba(254,240,138,.5)}
.th-library .hv-sign{background:linear-gradient(180deg,#14532d,#052e16);border-color:#ca8a04}
.th-library .hv-crate{border-radius:3px 8px 8px 3px;background:linear-gradient(90deg,rgba(0,0,0,.25) 0 6px,transparent 6px),var(--bk,#dc2626);box-shadow:0 5px 0 rgba(0,0,0,.25)}
.th-library .hv-crate:nth-child(4n+2){--bk:#2563eb}.th-library .hv-crate:nth-child(4n+3){--bk:#16a34a}.th-library .hv-crate:nth-child(4n){--bk:#ca8a04}
.th-library .hv-t{background:#fffbeb;color:#422006}
.th-library .hv-basket{border-radius:6px;background:linear-gradient(180deg,#a16207,#713f12);box-shadow:inset 0 -12px 0 #451a03,inset 0 0 0 4px #451a03,0 10px 0 rgba(0,0,0,.2)}
.th-library .hv-basket::before{background:#451a03;height:12px;border-radius:3px}
.th-library .hv-top{background:linear-gradient(180deg,#a16207,#713f12);box-shadow:0 8px 0 #451a03}
