/* Keiki Zone — kids' games. Builds on site.css tokens. */
.kz [hidden],.kz[hidden]{display:none!important}
.kz{--sun:#e8a92b;--sea:#2a7f9e;--leafk:#3f8f3a;--lava:#c8553d;--night:#1d2a4a;--plum:#6b4fa3;--cream:#fdf8ee}
.kf{font-family:'Baloo 2',Poppins,system-ui,sans-serif}
.kz-hero{position:relative;overflow:hidden;color:#fff;padding:96px 0 150px;background:linear-gradient(170deg,#2a7f9e 0%,#253551 75%)}
.kz-hero h1{color:#fff;font-family:'Baloo 2',Poppins,sans-serif;font-weight:800;font-size:clamp(44px,7vw,80px);line-height:1;margin-bottom:.25em}
.kz-hero p{font-size:clamp(17px,2vw,21px);max-width:620px;color:rgba(255,255,255,.92)}
.kz-hero .sunball{position:absolute;right:8%;top:60px;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle at 40% 40%,#ffe08a,#e8a92b);box-shadow:0 0 80px rgba(232,169,43,.6);animation:kzbob 6s ease-in-out infinite}
.kz-hero .waves{position:absolute;left:0;right:0;bottom:-2px;width:100%;height:120px}
@keyframes kzbob{50%{transform:translateY(12px)}}
@media (max-width:700px){.kz-hero .sunball{width:90px;height:90px;top:28px;right:6%}}

.kz-badges{position:relative;z-index:3;margin-top:-80px}
.kz-badges .card2{background:#fff;border-radius:22px;box-shadow:var(--shadow);padding:22px 26px;display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.kz-badges h2{font-family:'Baloo 2',Poppins,sans-serif;font-weight:800;font-size:26px;margin:0;color:var(--navy)}
.kz-badges p{margin:0;font-size:14.5px;color:var(--muted)}
.stamps{display:flex;gap:12px;margin-left:auto;flex-wrap:wrap}
.stamp{width:62px;height:62px;border-radius:50%;border:3px dashed #cfcfc6;display:grid;place-items:center;color:#cfcfc6;font-size:26px;transition:.3s}
.stamp svg{width:38px;height:38px;opacity:.35;filter:grayscale(1)}
.stamp.on{border-style:solid;border-color:var(--c);background:var(--c);transform:rotate(-8deg)}
.stamp.on svg{opacity:1;filter:none}
@media (max-width:700px){.stamps{margin-left:0}.stamp{width:52px;height:52px}.stamp svg{width:30px;height:30px}}

.kz-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}
.gcard{position:relative;border:0;text-align:left;cursor:pointer;border-radius:26px;padding:26px 26px 24px;color:#fff;background:var(--c);box-shadow:0 10px 30px rgba(0,0,0,.12);display:flex;flex-direction:column;gap:10px;min-height:260px;transition:transform .2s,box-shadow .2s;font:inherit;overflow:hidden}
.gcard:hover,.gcard:focus-visible{transform:translateY(-5px) rotate(-.5deg);box-shadow:0 18px 40px rgba(0,0,0,.18)}
.gcard .gi{width:84px;height:84px;border-radius:22px;background:rgba(255,255,255,.2);display:grid;place-items:center}
.gcard .gi svg{width:62px;height:62px}
.gcard h3{color:#fff;font-family:'Baloo 2',Poppins,sans-serif;font-weight:800;font-size:28px;margin:4px 0 0;line-height:1.05}
.gcard p{margin:0;font-size:15.5px;color:rgba(255,255,255,.93);line-height:1.5}
.gcard .meta{margin-top:auto;display:flex;justify-content:space-between;align-items:center;font-size:13.5px;font-weight:500}
.gcard .play{background:#fff;color:var(--ink);border-radius:99px;padding:9px 18px;font-weight:600;font-size:15px}
.gcard .done{position:absolute;top:18px;right:18px;background:#fff;color:var(--c);border-radius:99px;padding:5px 12px;font-size:12.5px;font-weight:700}

/* stage */
body.kz-open{overflow:hidden}
.stage{position:fixed;inset:0;z-index:80;background:var(--cream);display:flex;flex-direction:column}
.stage[hidden]{display:none}
.sbar{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--gc);color:#fff;flex:0 0 auto}
.sbar h2{color:#fff;font-family:'Baloo 2',Poppins,sans-serif;font-weight:800;font-size:clamp(20px,3vw,28px);margin:0 auto 0 6px;line-height:1}
.ibtn{border:0;background:rgba(255,255,255,.22);color:#fff;border-radius:14px;min-width:48px;height:48px;padding:0 14px;font:600 15px Poppins,sans-serif;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.ibtn:hover{background:rgba(255,255,255,.34)}
.sbody{flex:1;overflow:auto;padding:clamp(14px,2.5vw,28px);-webkit-overflow-scrolling:touch}
.sin{max-width:1100px;margin:0 auto}
.kbtn{border:0;cursor:pointer;border-radius:99px;min-height:58px;padding:0 28px;font:700 19px 'Baloo 2',Poppins,sans-serif;background:var(--gc,#253551);color:#fff;box-shadow:0 5px 0 rgba(0,0,0,.18);transition:transform .1s,box-shadow .1s,opacity .2s;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.kbtn:active{transform:translateY(4px);box-shadow:0 1px 0 rgba(0,0,0,.18)}
.kbtn:disabled{opacity:.4;cursor:not-allowed}
.kbtn.alt{background:#fff;color:var(--ink);box-shadow:0 5px 0 #d8d3c4}
.lead2{font-size:clamp(17px,2vw,21px);color:var(--ink);margin:0 0 14px}
.khead{font-family:'Baloo 2',Poppins,sans-serif;font-weight:800;color:var(--ink);font-size:clamp(24px,3.4vw,36px);margin:0 0 6px;line-height:1.1}
.say{min-height:56px;font-size:18px;color:var(--ink);background:#fff;border-radius:16px;padding:12px 16px;margin:12px 0;box-shadow:0 2px 0 #eadfca}
.say.good{background:#e6f3df}.say.bad{background:#fbe5df}
.row2{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
@keyframes kzshake{20%,60%{transform:translateX(-8px)}40%,80%{transform:translateX(8px)}}
.shake{animation:kzshake .4s}
@keyframes kzpop{0%{transform:scale(.4);opacity:0}70%{transform:scale(1.12)}100%{transform:scale(1);opacity:1}}
.pop{animation:kzpop .35s ease-out}

/* power */
.pw-scene{position:relative;max-width:min(100%,calc(56vh * 1.905));margin:0 auto;border-radius:20px;overflow:hidden;box-shadow:0 6px 0 #e3d8c2;background:#0f1b3d}
.pw-scene svg{display:block;width:100%;height:auto}
.pw-scene .sky{transition:fill 1.2s}
.blades{transform-origin:30px 26px;animation:kzspin 2s linear infinite}
@keyframes kzspin{to{transform:rotate(360deg)}}
.steam{animation:kzsteam 2.4s ease-out infinite}
@keyframes kzsteam{0%{transform:translateY(0) scale(.6);opacity:.9}100%{transform:translateY(-22px) scale(1.6);opacity:0}}
.win{transition:fill .6s}
.hog{position:absolute;transform:translate(var(--hx,-50%),-100%);border:0;border-radius:16px;background:#fff;box-shadow:0 0 0 4px #ffd34d,0 6px 16px rgba(0,0,0,.3);padding:6px 10px;font:700 14px 'Baloo 2',Poppins,sans-serif;cursor:pointer;animation:kzpulse 1s ease-in-out infinite;white-space:nowrap;min-height:44px}
.hog b{font-size:22px;vertical-align:middle}
@keyframes kzpulse{50%{box-shadow:0 0 0 9px rgba(255,211,77,.6),0 6px 16px rgba(0,0,0,.3)}}
.pw-build{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:14px 0}
@media (max-width:760px){.pw-build{grid-template-columns:repeat(3,1fr)}}
.ptype{border:0;background:#fff;border-radius:18px;padding:10px 8px 12px;cursor:pointer;box-shadow:0 4px 0 #e3d8c2;display:flex;flex-direction:column;align-items:center;gap:2px;font:600 15px Poppins,sans-serif;color:var(--ink);min-height:130px}
.ptype svg{width:58px;height:58px}
.ptype small{font-weight:400;color:var(--muted);font-size:12.5px}
.ptype:disabled{opacity:.4}
.ptype.flash{animation:kzpop .3s}
.slots{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.slot{width:74px;height:74px;border-radius:18px;border:3px dashed #cdbf9f;background:rgba(255,255,255,.6);display:grid;place-items:center;cursor:pointer;padding:0}
.slot.full{border-style:solid;border-color:var(--c);background:#fff}
.slot svg{width:54px;height:54px}
.meters{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
@media (max-width:640px){.meters{grid-template-columns:1fr}}
.meter{background:#fff;border-radius:16px;padding:12px 14px;box-shadow:0 3px 0 #e8dcc4}
.meter .lab{display:flex;justify-content:space-between;font-weight:600;font-size:15px;color:var(--ink)}
.bar{height:18px;border-radius:99px;background:#efe8d8;overflow:hidden;margin-top:6px}
.bar i{display:block;height:100%;border-radius:99px;transition:width .6s}
.clock{position:absolute;left:14px;top:12px;background:rgba(0,0,0,.45);color:#fff;border-radius:12px;padding:6px 12px;font:800 22px 'Baloo 2',Poppins,sans-serif}

/* grow */
.plot{background:linear-gradient(#bfe3f2,#e7f3d9 30%);border-radius:22px;padding:14px;box-shadow:0 6px 0 #d9caa6;display:grid;gap:10px}
.prow{background:rgba(255,255,255,.55);border-radius:16px;padding:8px 10px}
.prow h4{margin:0 0 6px;font:800 17px 'Baloo 2',Poppins,sans-serif;color:var(--ink)}
.prow h4 small{font:400 13px Poppins,sans-serif;color:var(--muted);margin-left:6px}
.spots{display:flex;gap:10px;flex-wrap:wrap}
.spot{flex:1 1 100px;min-width:96px;height:120px;border:3px dashed #b9a77f;border-radius:16px;background:#8a6a43 linear-gradient(#a07c50,#7b5a35);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:0 4px 6px;color:#fff;font:700 13px 'Baloo 2',Poppins,sans-serif;position:relative;overflow:visible}
.prow.r0 .spot{height:160px}
.spot.has{border-style:solid;border-color:#5c8a3c}
.spot svg{width:100%;height:calc(100% - 18px);transform-origin:50% 100%;transition:transform 1s cubic-bezier(.3,1.6,.5,1)}
.spot.sel-ok{border-color:#ffd34d;box-shadow:0 0 0 4px rgba(255,211,77,.5)}
.cards2{display:flex;gap:10px;overflow-x:auto;padding:10px 2px 12px;margin-top:8px}
.pcard{flex:0 0 auto;width:118px;border:0;background:#fff;border-radius:18px;box-shadow:0 4px 0 #e3d8c2;padding:10px 6px;cursor:pointer;display:flex;flex-direction:column;align-items:center;font:700 16px 'Baloo 2',Poppins,sans-serif;color:var(--ink);gap:0}
.pcard svg{width:56px;height:56px}
.pcard small{font:400 12px Poppins,sans-serif;color:var(--muted)}
.pcard.sel{outline:4px solid var(--gc);transform:translateY(-4px)}
.daysbig{font:800 clamp(48px,9vw,90px)/1 'Baloo 2',Poppins,sans-serif;color:var(--leafk);text-align:center}

/* sort */
.item{margin:0 auto;width:min(320px,80vw);aspect-ratio:1.15;background:#fff;border-radius:26px;box-shadow:0 8px 0 #e3d8c2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;transition:transform .35s,opacity .35s}
.item .em{font-size:clamp(70px,14vw,110px);line-height:1}
.item svg{width:clamp(80px,16vw,120px);height:auto}
.item .nm{font:800 clamp(22px,3.4vw,30px) 'Baloo 2',Poppins,sans-serif;color:var(--ink)}
.item.fly{opacity:0;transform:translateY(120px) scale(.3)}
.bins{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}
@media (max-width:640px){.bins{grid-template-columns:1fr 1fr}}
.bin{border:0;border-radius:20px 20px 26px 26px;cursor:pointer;color:#fff;background:var(--b);padding:14px 8px 16px;min-height:120px;font:800 18px/1.1 'Baloo 2',Poppins,sans-serif;box-shadow:0 6px 0 rgba(0,0,0,.2);display:flex;flex-direction:column;align-items:center;gap:6px}
.bin span{font-size:38px}
.bin small{font:400 12.5px Poppins,sans-serif;opacity:.95}
.bin:active{transform:translateY(4px);box-shadow:0 2px 0 rgba(0,0,0,.2)}
.dots{display:flex;gap:6px;justify-content:center;margin:6px 0 14px}
.dots i{width:12px;height:12px;border-radius:50%;background:#e0d6c0}
.dots i.ok{background:#3f8f3a}.dots i.no{background:#c8553d}.dots i.now{background:#253551}

/* ready kit */
.kit{display:grid;grid-template-columns:1fr 300px;gap:18px;align-items:start}
@media (max-width:820px){.kit{grid-template-columns:1fr}}
.items{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px}
.kitem{border:0;background:#fff;border-radius:18px;box-shadow:0 4px 0 #e3d8c2;cursor:pointer;padding:12px 6px;font:700 15px/1.15 'Baloo 2',Poppins,sans-serif;color:var(--ink);display:flex;flex-direction:column;align-items:center;gap:4px;min-height:112px}
.kitem .em{font-size:42px;line-height:1.1}
.kitem.in{opacity:.35;transform:scale(.95)}
.pack{background:var(--lava);border-radius:40px 40px 26px 26px;padding:22px 16px 18px;color:#fff;position:sticky;top:0;box-shadow:0 8px 0 #8a3a2a}
.pack h4{color:#fff;margin:0 0 10px;text-align:center;font:800 22px 'Baloo 2',Poppins,sans-serif}
.pslots{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.pslot{aspect-ratio:1;border-radius:14px;background:rgba(255,255,255,.18);border:2px dashed rgba(255,255,255,.5);display:grid;place-items:center;font-size:30px;cursor:pointer;padding:0;color:#fff}
.pslot.f{background:#fff;border-style:solid}
.storm{position:relative;border-radius:22px;overflow:hidden;background:#141c33;color:#fff;padding:28px 22px;min-height:220px}
.storm::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(105deg,rgba(255,255,255,.18) 0 2px,transparent 2px 22px);animation:kzrain .5s linear infinite;opacity:.6}
@keyframes kzrain{to{background-position:-40px 80px}}
.storm .flash{position:absolute;inset:0;background:#fff;opacity:0;animation:kzflash 3s 1}
@keyframes kzflash{8%{opacity:.9}12%{opacity:0}18%{opacity:.6}24%{opacity:0}}
.storm *{position:relative}
.res{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:8px}
.res li{background:rgba(255,255,255,.1);border-radius:14px;padding:10px 12px;display:flex;gap:10px;align-items:center;font-size:15.5px}
.res li b{font-size:26px}

/* quiz */
.qcard{background:#fff;border-radius:26px;box-shadow:0 8px 0 #e3d8c2;padding:clamp(20px,4vw,40px);text-align:center;max-width:760px;margin:0 auto}
.qcard .q{font:800 clamp(24px,3.6vw,36px)/1.2 'Baloo 2',Poppins,sans-serif;color:var(--ink);margin:6px 0 22px}
.tf{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.tf button{border:0;border-radius:22px;min-height:110px;font:800 30px 'Baloo 2',Poppins,sans-serif;color:#fff;cursor:pointer;box-shadow:0 6px 0 rgba(0,0,0,.2)}
.tf .t{background:#3f8f3a}.tf .f{background:#c8553d}
.tf button:disabled{opacity:.45}
.qn{color:var(--muted);font-weight:600}

/* end screen */
.k-end{max-width:720px;margin:10px auto;text-align:center}
.k-end .stars{font-size:clamp(46px,9vw,74px);letter-spacing:6px;line-height:1}
.k-end .stars i{font-style:normal;display:inline-block;animation:kzpop .4s both}
.k-end .stars i.off{filter:grayscale(1);opacity:.25}
.k-end h2{font:800 clamp(30px,5vw,48px)/1.05 'Baloo 2',Poppins,sans-serif;color:var(--ink);margin:12px 0 10px}
.k-end p{font-size:clamp(17px,2vw,20px);color:var(--ink)}
.k-fact{background:#fff;border-left:6px solid var(--gc);border-radius:14px;padding:14px 18px;text-align:left;margin:18px 0;font-size:16.5px;box-shadow:0 3px 0 #e8dcc4}
.k-fact b{font-family:'Baloo 2',Poppins,sans-serif;font-size:18px;color:var(--gc)}
.badge-got{display:inline-flex;align-items:center;gap:10px;background:#fff;border-radius:99px;padding:8px 18px 8px 8px;box-shadow:0 3px 0 #e8dcc4;font-weight:600;margin:6px 0 4px}
.badge-got .stamp{width:46px;height:46px}
.badge-got .stamp svg{width:28px;height:28px}

/* ranger + certificate */
.ranger{position:fixed;inset:0;z-index:90;background:rgba(20,28,51,.75);display:grid;place-items:center;padding:16px}
.ranger[hidden]{display:none}
.rbox{background:var(--cream);border-radius:28px;max-width:620px;width:100%;padding:28px;text-align:center;position:relative;max-height:92vh;overflow:auto}
.cert{border:6px double #2c5f2d;border-radius:18px;background:#fff;padding:26px 20px;margin:16px 0}
.cert .t1{font:800 34px/1 'Baloo 2',Poppins,sans-serif;color:#2c5f2d}
.cert .nm{font:800 32px 'Baloo 2',Poppins,sans-serif;color:var(--navy);border-bottom:2px solid #ccc;display:inline-block;min-width:60%;margin:12px 0 6px;padding:0 10px}
.cert input{font:700 18px Poppins,sans-serif;padding:10px 14px;border:2px solid #d6d0bf;border-radius:12px;width:100%;max-width:340px;text-align:center}
.confetti{position:fixed;inset:0;pointer-events:none;z-index:95;overflow:hidden}
.confetti i{position:absolute;top:-20px;width:10px;height:16px;border-radius:2px;animation:kzfall linear forwards}
@keyframes kzfall{to{transform:translateY(110vh) rotate(720deg)}}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:96;background:var(--navy);color:#fff;border-radius:99px;padding:12px 22px;font:700 17px 'Baloo 2',Poppins,sans-serif;box-shadow:0 8px 24px rgba(0,0,0,.25);animation:kzpop .3s}

/* fair / kiosk mode */
body.kz-fair .hdr,body.kz-fair .ftr,body.kz-fair .totop,body.kz-fair .skip,body.kz-fair .kz-adults{display:none!important}
.fairbar{display:none}
body.kz-fair .fairbar{display:flex;align-items:center;gap:12px;padding:10px 18px;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.08)}
.fairbar img{height:40px}
.fairbar b{font:800 22px 'Baloo 2',Poppins,sans-serif;color:var(--navy);margin-right:auto}
body.kz-fair .kz-hero{padding:46px 0 120px}
.attract{position:fixed;inset:0;z-index:99;background:linear-gradient(170deg,#2a7f9e,#253551);display:grid;place-items:center;text-align:center;color:#fff;cursor:pointer}
.attract[hidden]{display:none}
.attract h2{color:#fff;font:800 clamp(48px,10vw,110px)/1 'Baloo 2',Poppins,sans-serif;margin:0}
.attract p{font-size:clamp(20px,3vw,30px);margin:14px 0 30px}
.attract .tap{display:inline-block;background:#fff;color:var(--navy);border-radius:99px;padding:18px 40px;font:800 30px 'Baloo 2',Poppins,sans-serif;animation:kzpulse2 1.4s ease-in-out infinite}
@keyframes kzpulse2{50%{transform:scale(1.08)}}
.gloss{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.gloss div{background:#fff;border-radius:14px;padding:12px 14px;box-shadow:var(--shadow)}
.gloss b{font:800 20px 'Baloo 2',Poppins,sans-serif;color:var(--forest);display:block}

@media print{
  body.kz-printing *{visibility:hidden}
  body.kz-printing .cert,body.kz-printing .cert *{visibility:visible}
  body.kz-printing .cert{position:fixed;left:0;top:0;width:100%;margin:0;border-width:10px;padding:60px 30px}
  body.kz-printing .cert input{display:none}
}
/* water + pantry */
.fam{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
@media (max-width:640px){.fam{grid-template-columns:1fr 1fr}}
.who{background:#fff;border-radius:18px;box-shadow:0 4px 0 #e3d8c2;padding:12px 8px;display:flex;flex-direction:column;align-items:center;gap:4px;font:700 16px 'Baloo 2',Poppins,sans-serif;color:var(--ink)}
.who .em{font-size:44px;line-height:1}
.cnt{display:flex;align-items:center;gap:10px}
.cnt button{width:46px;height:46px;border-radius:50%;border:0;background:var(--gc);color:#fff;font:800 26px/1 Poppins,sans-serif;cursor:pointer}
.cnt span{font:800 28px 'Baloo 2',Poppins,sans-serif;min-width:26px;text-align:center}
.chip2{border:3px solid #d8cdb2;background:#fff;border-radius:99px;min-height:52px;padding:0 20px;font:800 18px 'Baloo 2',Poppins,sans-serif;cursor:pointer;color:var(--ink)}
.chip2.on{background:var(--gc);border-color:var(--gc);color:#fff}
.bignum{text-align:center;margin:10px 0;font:800 22px 'Baloo 2',Poppins,sans-serif;color:var(--ink)}
.bignum span{display:block;font-size:clamp(60px,12vw,110px);line-height:1;color:var(--gc)}
.bignum small{display:block;font:400 14px Poppins,sans-serif;color:var(--muted)}
.tankwrap{display:grid;grid-template-columns:170px 1fr;gap:20px;align-items:center}
@media (max-width:560px){.tankwrap{grid-template-columns:120px 1fr}}
.tank{position:relative;height:260px;border:6px solid #9fc3dc;border-radius:24px 24px 30px 30px;background:#fff;overflow:hidden}
.tank i{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(#5fb3d4,#1f6fa8);transition:height .5s}
.tank span{position:absolute;left:0;right:0;top:44%;text-align:center;font:800 20px 'Baloo 2',Poppins,sans-serif;color:var(--ink);text-shadow:0 0 6px #fff}
.jugs{display:grid;gap:12px}
.jug,.choice{border:0;background:#fff;border-radius:18px;box-shadow:0 4px 0 #e3d8c2;min-height:72px;padding:10px 16px;cursor:pointer;display:flex;align-items:center;gap:12px;font:700 19px 'Baloo 2',Poppins,sans-serif;color:var(--ink);text-align:left}
.jug .em,.choice .em{font-size:40px;line-height:1}
.jug.alt{background:#f3ede0}
.choices{display:grid;gap:12px;margin:10px 0}
.choice.right{background:#e6f3df;box-shadow:0 4px 0 #9cc68a}
.choice.wrong{background:#fbe5df;box-shadow:0 4px 0 #e0a090}
.choice:disabled{cursor:default}
.shelf{display:grid;grid-template-columns:repeat(9,1fr);gap:6px;background:#8a5a2b;border-radius:14px;padding:8px;margin-bottom:14px;box-shadow:0 5px 0 #5e3c1c}
.shelf span{aspect-ratio:1;background:#a87445;border-radius:8px;display:grid;place-items:center;font-size:clamp(18px,3.4vw,30px)}
/* fast facts */
.facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px}
.fact{background:#fff;border-radius:22px;padding:20px 22px;box-shadow:0 6px 0 #e3d8c2;border-top:8px solid var(--c)}
.fact .n{font:800 clamp(40px,5vw,54px)/1 'Baloo 2',Poppins,sans-serif;color:var(--c)}
.fact .n small{font-size:.45em}
.fact p{margin:8px 0 0;font-size:16px;color:var(--ink);line-height:1.45}
.fact .e{float:right;font-size:36px}
/* power game: oil plant smoke + townspeople */
.smoke{transform-box:fill-box;transform-origin:center;animation:kzsmoke 3.2s ease-out infinite}
@keyframes kzsmoke{0%{transform:translate(0,0) scale(.7);opacity:.95}100%{transform:translate(46px,-74px) scale(2.3);opacity:0}}
.folk-g{transition:opacity .6s}
.folk{animation-timing-function:linear;animation-iteration-count:infinite}
.folk .lg{transform-box:fill-box;transform-origin:50% 0;animation:kzleg .45s ease-in-out infinite alternate}
.folk .l2{animation-direction:alternate-reverse}
@keyframes kzleg{from{transform:rotate(-24deg)}to{transform:rotate(24deg)}}
.folk.w1{animation-name:kzw1;animation-duration:26s}
.folk.w2{animation-name:kzw2;animation-duration:34s;animation-delay:-12s}
.folk.w3{animation-name:kzw3;animation-duration:22s;animation-delay:-7s}
.folk.w4{animation-name:kzw4;animation-duration:40s}
.folk.w5{animation-name:kzw4;animation-duration:40s;animation-delay:-1.4s}
@keyframes kzw1{0%{transform:translate(548px,320px);opacity:0}3%{transform:translate(548px,327px);opacity:1}38%{transform:translate(684px,327px);opacity:1}42%{transform:translate(684px,320px);opacity:0}55%{transform:translate(684px,320px);opacity:0}58%{transform:translate(684px,327px);opacity:1}95%{transform:translate(548px,327px);opacity:1}99%,100%{transform:translate(548px,320px);opacity:0}}
@keyframes kzw2{0%{transform:translate(812px,328px)}47%,53%{transform:translate(522px,328px)}100%{transform:translate(812px,328px)}}
@keyframes kzw3{0%{transform:translate(616px,320px);opacity:0}4%{transform:translate(616px,326px);opacity:1}40%{transform:translate(752px,326px);opacity:1}45%{transform:translate(752px,320px);opacity:0}58%{transform:translate(752px,320px);opacity:0}62%{transform:translate(752px,326px);opacity:1}95%{transform:translate(616px,326px);opacity:1}99%,100%{transform:translate(616px,320px);opacity:0}}
@keyframes kzw4{0%{transform:translate(24px,390px)}48%,52%{transform:translate(424px,390px)}100%{transform:translate(24px,390px)}}
@media (prefers-reduced-motion:reduce){.folk,.folk .lg,.smoke{animation:none}.folk.w1{transform:translate(590px,327px)}.folk.w2{transform:translate(720px,328px)}.folk.w3{transform:translate(650px,326px)}.folk.w4{transform:translate(120px,390px)}.folk.w5{transform:translate(134px,390px)}}
