:root{--sky-top:#8fd0f0;--sky-bot:#d7f0fb;--ink:#33305a;--ink-soft:#6b6790;--panel:#fffdf8;--panel-edge:#f0e7d6;--sun:#ffcb45;--sun-deep:#f7b500;--btn:#ff7a9c;--btn-deep:#ef5c82;--ground:#eaf7ff}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:radial-gradient(900px 500px at 50% -10%, #8fd0f080, transparent 60%), var(--ground);color:var(--ink);-webkit-font-smoothing:antialiased;background-attachment:fixed;font-family:Nunito,system-ui,sans-serif}.wrap{flex-direction:column;max-width:560px;min-height:100dvh;margin:0 auto;padding:22px 16px 40px;display:flex}.brand{align-items:center;gap:8px;margin-bottom:18px;font-family:Fredoka;font-size:17px;font-weight:700;display:flex}.brand .b{font-size:22px}.brand .b-mark{vertical-align:-7px;width:28px;height:28px}.home{flex-direction:column;flex:1;justify-content:center;gap:16px;display:flex}.home h1{text-wrap:balance;margin:0;font-family:Fredoka;font-size:30px;font-weight:700;line-height:1.2}.home p.sub{color:var(--ink-soft);margin:0;font-size:15px;font-weight:700}.ask{gap:10px;margin-top:4px;display:flex}.ask input{border:2px solid var(--panel-edge);background:var(--panel);color:var(--ink);border-radius:16px;outline:none;flex:1;padding:15px 16px;font-family:Nunito;font-size:17px;font-weight:700}.ask input:focus{border-color:var(--btn)}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:2px solid var(--panel-edge);background:var(--panel);color:var(--ink);cursor:pointer;border-radius:999px;padding:8px 13px;font-family:Fredoka;font-size:14px;font-weight:600;transition:border-color .15s,transform 60ms}.chip:hover:not(:disabled){border-color:var(--btn)}.chip:active:not(:disabled){transform:translateY(1px)}.chip:disabled{opacity:.5;cursor:default}.btn{appearance:none;cursor:pointer;color:#fff;background:linear-gradient(180deg, var(--btn), var(--btn-deep));box-shadow:0 5px 0 var(--btn-deep);border:none;border-radius:16px;padding:14px 20px;font-family:Fredoka;font-size:19px;font-weight:600;transition:transform 80ms,box-shadow 80ms}.btn:active{box-shadow:0 2px 0 var(--btn-deep);transform:translateY(3px)}.btn:disabled{opacity:.55;cursor:default}.btn.soft{color:var(--ink);box-shadow:0 5px 0 var(--sun-deep);background:linear-gradient(#ffd76a,#ffbf3d)}.btn.soft:active{box-shadow:0 2px 0 var(--sun-deep)}.stage{aspect-ratio:4/3;background:linear-gradient(180deg, var(--sky-top), var(--sky-bot));border-radius:26px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden;box-shadow:0 14px 34px -18px #33305a80}.big-emoji{filter:drop-shadow(0 6px 10px #33305a2e);font-size:108px;line-height:1}.tap-target{cursor:pointer;background:0 0;border:none;animation:1.1s ease-in-out infinite nudge}@keyframes nudge{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}.reveal-emoji{animation:.5s both pop}@keyframes pop{0%{opacity:0;transform:scale(.3)}70%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.stage-pip{width:104px;height:104px;animation:2.6s ease-in-out infinite bob;position:absolute;bottom:8px;left:10px}.stage-pip-svg{object-fit:contain;filter:drop-shadow(0 5px 8px #33305a2e);width:100%;height:100%}.dialog{background:var(--panel);border:2px solid var(--panel-edge);border-radius:24px;align-items:flex-start;gap:13px;margin-top:14px;padding:14px 18px 16px;display:flex;position:relative;box-shadow:0 10px 26px -16px #33305a73}.dialog:before{content:"";background:var(--panel);border-left:2px solid var(--panel-edge);border-top:2px solid var(--panel-edge);border-top-left-radius:4px;width:16px;height:16px;position:absolute;top:-9px;left:30px;transform:rotate(45deg)}.avatar{object-fit:contain;flex:none;width:58px;height:58px}.speech{flex:1}.pip-name{color:var(--btn-deep);letter-spacing:.2px;margin-bottom:1px;font-family:Fredoka;font-size:12.5px;font-weight:700}.dialog p{text-wrap:balance;margin:2px 0 0;font-family:Fredoka;font-size:20px;font-weight:500;line-height:1.35}.controls{flex-direction:column;gap:10px;margin-top:14px;display:flex}.hint{text-align:center;color:var(--ink-soft);margin:0;font-size:14px;font-weight:700}.dots{justify-content:center;gap:6px;margin-top:14px;display:flex}.dot{background:#cfd8de;border-radius:50%;width:8px;height:8px;transition:transform .3s,background .3s}.dot.on{background:var(--btn);transform:scale(1.3)}.source{text-align:center;color:var(--ink-soft);margin-top:16px;font-size:13px;font-weight:700}.source a{color:var(--btn-deep)}.core{color:var(--ink-soft);text-align:center;background:#fff7e6;border:1px dashed #f0d9a6;border-radius:12px;margin-top:10px;padding:8px 12px;font-size:13px;font-weight:700}.notice{background:var(--panel);border:2px solid var(--panel-edge);text-align:center;border-radius:20px;padding:20px;font-family:Fredoka;font-size:18px;font-weight:500}.err{color:var(--btn-deep);font-weight:700}.loading{text-align:center;padding:40px 0}.loading .pip-bounce{object-fit:contain;width:140px;height:auto;animation:1.1s ease-in-out infinite bob}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.loading p{color:var(--ink-soft);margin-top:10px;font-family:Fredoka;font-weight:600}.spark{pointer-events:none;z-index:5;font-size:22px;position:fixed}@keyframes floatUp{0%{opacity:0;transform:translateY(10px)scale(.6)}20%{opacity:1}to{opacity:0;transform:translateY(-120px)scale(1.1)rotate(25deg)}}.doc{padding-bottom:30px;line-height:1.6}.doc-flag{color:var(--ink-soft);background:#fff7e6;border:1px dashed #f0d9a6;border-radius:12px;margin-bottom:22px;padding:12px 14px;font-size:13.5px;font-weight:700}.doc h1{margin:0 0 2px;font-family:Fredoka;font-size:27px}.doc-date{color:var(--ink-soft);margin:0 0 18px;font-size:13px;font-weight:700}.doc h2{margin:22px 0 6px;font-family:Fredoka;font-size:18px}.doc p,.doc li{font-size:15px}.doc ul{padding-left:20px}.doc a{color:var(--btn-deep);font-weight:700}.doc-back{margin-top:26px}.home-foot{margin-top:18px}.home-foot a{color:var(--ink-soft);font-size:13px;font-weight:700}:focus-visible{outline:3px solid var(--btn);outline-offset:3px;border-radius:10px}@media (prefers-reduced-motion:reduce){*,:before,:after{animation:none!important}}@media (max-width:420px){.home h1{font-size:25px}.dialog p{font-size:18px}}.home{justify-content:flex-start}.cards{grid-template-columns:1fr 1fr;gap:12px;margin-top:6px;display:grid}.card{background:var(--panel);border:2px solid var(--panel-edge);color:var(--ink);border-radius:20px;flex-direction:column;gap:2px;padding:16px 16px 18px;text-decoration:none;transition:transform 80ms,border-color .15s,box-shadow .15s;display:flex;box-shadow:0 8px 20px -14px #33305a80}.card:hover{border-color:var(--accent);transform:translateY(-2px)}.card:active{transform:translateY(1px)}.card-emoji{filter:drop-shadow(0 4px 6px #33305a26);font-size:38px;line-height:1}.card-t{margin-top:6px;font-family:Fredoka;font-size:18px;font-weight:700}.card-b{color:var(--ink-soft);font-family:Nunito;font-size:13px;font-weight:700}.card:nth-child(5){flex-direction:row;grid-column:1/-1;align-items:center;gap:12px}.card:nth-child(5) .card-emoji{font-size:32px}.card:nth-child(5) .card-t{margin-top:0}.ask-block{border-top:2px dashed var(--panel-edge);margin-top:22px;padding-top:18px}.ask-label{color:var(--ink);margin:0 0 8px;font-family:Fredoka;font-size:16px;font-weight:700}.ask-note{color:var(--ink-soft);margin:8px 2px 0;font-size:12.5px;font-weight:700}.stage{flex:none}.stagesvg{width:100%;height:100%;display:block;position:absolute;inset:0}.taplayer{cursor:pointer;z-index:3;background:0 0;border:none;padding:0;display:none;position:absolute;inset:0}.taplayer.armed{display:block}.tapRing{opacity:0;pointer-events:none;z-index:2;border:5px solid #ffffffd9;border-radius:50%;width:92px;height:92px;margin:-46px 0 0 -46px;position:absolute;top:44%;left:50%}.stage.arm .tapRing{opacity:1;animation:1.3s ease-out infinite ring}@keyframes ring{0%{opacity:.85;transform:scale(.55)}to{opacity:0;transform:scale(1.5)}}.say{color:#b3480f;background:linear-gradient(#ffd9a0,#ffbf6a);border-radius:8px;padding:1px 8px;font-weight:700}#pip{transform-origin:120px 470px;animation:2.6s ease-in-out infinite pipbob}@keyframes pipbob{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.stage.done #pip{animation:.5s ease-in-out infinite pipcheer}@keyframes pipcheer{0%,to{transform:translateY(0)rotate(-4deg)}50%{transform:translateY(-12px)rotate(4deg)}}#chamber,#conduitMagma{filter:url(#glow)}#chamber{transform-origin:400px 555px}.stage.building #chamber{animation:1.1s ease-in-out infinite vpulse}@keyframes vpulse{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}#conduitMagma{transition:transform 1.4s cubic-bezier(.4,0,.4,1);transform:translateY(120px)}.stage.building #conduitMagma,.stage.erupting #conduitMagma,.stage.done #conduitMagma{transform:translateY(0)}#mountain{transform-origin:400px 480px}.stage.building #mountain{animation:.18s linear infinite vrumble}.stage.erupting #mountain{animation:.12s linear infinite vrumble}@keyframes vrumble{0%{transform:translate(0)}25%{transform:translate(-1.5px)}50%{transform:translate(1.5px,.5px)}75%{transform:translate(-1px)}to{transform:translate(1px)}}#craterGlow{opacity:0;transition:opacity .6s}.stage.building #craterGlow{opacity:.5}.stage.erupting #craterGlow,.stage.done #craterGlow{opacity:1}#lavaBurst{opacity:0}.stage.erupting #lavaBurst,.stage.done #lavaBurst{opacity:1}.blob{transform-origin:bottom}.stage.erupting .blob{animation:1.5s ease-out infinite erupt}@keyframes erupt{0%{opacity:0;transform:translate(0)scale(.6)}10%{opacity:1}45%{transform:translate(var(--dx), var(--up)) scale(1)}to{transform:translate(calc(var(--dx) * 1.7), 120px) scale(.5);opacity:0}}.blob:first-child{--dx:-70px;--up:-190px;animation-delay:0s}.blob:nth-child(2){--dx:40px;--up:-230px;animation-delay:.15s}.blob:nth-child(3){--dx:10px;--up:-260px;animation-delay:.3s}.blob:nth-child(4){--dx:-30px;--up:-210px;animation-delay:.45s}.blob:nth-child(5){--dx:75px;--up:-180px;animation-delay:.6s}.blob:nth-child(6){--dx:-55px;--up:-240px;animation-delay:.75s}#ash{opacity:0;transform-origin:400px 150px;transition:opacity 1s,transform 1.4s ease-out;transform:translateY(20px)scale(.5)}.stage.erupting #ash,.stage.done #ash{opacity:.9;transform:translateY(0)scale(1)}#flowL,#flowR{stroke:#ff5a2a;stroke-width:16px;stroke-linecap:round;fill:none;filter:url(#glow);stroke-dasharray:300;stroke-dashoffset:300px}.stage.erupting #flowL,.stage.done #flowL,.stage.erupting #flowR,.stage.done #flowR{animation:1.6s ease-out forwards flow}.stage.erupting #flowR,.stage.done #flowR{animation-delay:.25s}@keyframes flow{to{stroke-dashoffset:0}}#dino{transition:opacity 1s,transform 1.2s ease-in}.stage.buried #dino,.stage.fossil #dino,.stage.revealed #dino,.stage.done #dino{opacity:0;transform:translateY(55px)}#fall{opacity:0}.stage.buried #fall{opacity:1}.stage.buried .grain{animation:1.3s linear infinite grainfall}@keyframes grainfall{0%{opacity:0;transform:translateY(-34px)}20%{opacity:1}to{opacity:0;transform:translateY(90px)}}.grain:first-child{animation-delay:0s}.grain:nth-child(2){animation-delay:.2s}.grain:nth-child(3){animation-delay:.45s}.grain:nth-child(4){animation-delay:.1s}.grain:nth-child(5){animation-delay:.35s}.grain:nth-child(6){animation-delay:.55s}.grain:nth-child(7){animation-delay:.7s}.grain:nth-child(8){animation-delay:.85s}#skeleton{opacity:0;transition:opacity 1s}.stage.buried #skeleton{opacity:.5}.stage.fossil #skeleton{opacity:.92;filter:url(#glow)}.stage.revealed #skeleton,.stage.done #skeleton{opacity:1;filter:url(#glow)}.bone{fill:none;stroke:#efe6cf;stroke-width:9px;stroke-linecap:round;stroke-linejoin:round;transition:stroke 1s}.boneDot{fill:#efe6cf;transition:fill 1s}.stage.fossil .bone,.stage.revealed .bone,.stage.done .bone{stroke:#cbc4b6}.stage.fossil .boneDot,.stage.revealed .boneDot,.stage.done .boneDot{fill:#cbc4b6}#dirtHaze{opacity:0;transition:opacity 1s}.stage.buried #dirtHaze{opacity:.6}.stage.fossil #dirtHaze{opacity:.4}#pit{opacity:0;transition:opacity .8s}.stage.revealed #pit,.stage.done #pit{opacity:1}#clods{opacity:0}.stage.revealed #clods,.stage.done #clods{opacity:1}.clod{transform-origin:50%}.stage.revealed .clod{animation:1s ease-out spray}@keyframes spray{0%{opacity:0;transform:translate(0)scale(.5)}15%{opacity:1}45%{transform:translate(var(--dx), var(--up)) scale(1)}to{transform:translate(calc(var(--dx) * 1.25), 70px) scale(.4);opacity:0}}.clod:first-child{--dx:-70px;--up:-120px;animation-delay:0s}.clod:nth-child(2){--dx:20px;--up:-150px;animation-delay:.1s}.clod:nth-child(3){--dx:70px;--up:-125px;animation-delay:.2s}.clod:nth-child(4){--dx:-30px;--up:-160px;animation-delay:.3s}.clod:nth-child(5){--dx:45px;--up:-135px;animation-delay:.15s}#museum{opacity:0;transition:opacity .7s}.stage.done #museum{opacity:1}.orb{transform-origin:400px 300px}.stage.spinning .orb1,.stage.earth .orb1,.stage.done .orb1{animation:7s linear infinite orbit}.stage.spinning .orb2,.stage.earth .orb2,.stage.done .orb2{animation:11s linear infinite orbit}.stage.spinning .orb3,.stage.earth .orb3,.stage.done .orb3{animation:16s linear infinite orbit}.stage.spinning .orb4,.stage.earth .orb4,.stage.done .orb4{animation:24s linear infinite orbit}@keyframes orbit{to{transform:rotate(360deg)}}#theSun{transform-origin:400px 300px}.stage.spinning #theSun,.stage.earth #theSun,.stage.done #theSun{animation:2.4s ease-in-out infinite sunpulse}@keyframes sunpulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}#earthGlow{transition:opacity .6s}.stage.earth #earthGlow,.stage.done #earthGlow{opacity:.75}.dimmable{transition:opacity .6s}.stage.earth .dimmable{opacity:.3}.stars circle{animation:3s ease-in-out infinite twinkle}.stars circle:nth-child(2n){animation-delay:1s}.stars circle:nth-child(3n){animation-delay:1.8s}@keyframes twinkle{0%,to{opacity:.35}50%{opacity:1}}#vapor{opacity:0}.stage.rising #vapor,.stage.cloud #vapor{opacity:1}.stage.rising .vap,.stage.cloud .vap{animation:2.2s ease-in infinite vaprise}@keyframes vaprise{0%{opacity:0;transform:translateY(0)}20%{opacity:.9}to{opacity:0;transform:translateY(-250px)}}.vap:nth-child(2n){animation-delay:.5s}.vap:nth-child(3n){animation-delay:1s}#cloud{opacity:0;transform-origin:440px 175px;transition:opacity .8s,transform 1s;transform:translateY(-8px)scale(.6)}.stage.cloud #cloud,.stage.raining #cloud,.stage.done #cloud{opacity:1;transform:none}#rain{opacity:0}.stage.raining #rain,.stage.done #rain{opacity:1}.stage.raining .drop,.stage.done .drop{animation:1s linear infinite raindrop}@keyframes raindrop{0%{opacity:0;transform:translateY(-6px)}20%{opacity:1}to{opacity:0;transform:translateY(74px)}}.drop:nth-child(2n){animation-delay:.35s}.drop:nth-child(3n){animation-delay:.6s}#rainSun{transform-origin:150px 120px}.stage.rising #rainSun,.stage.cloud #rainSun,.stage.raining #rainSun,.stage.done #rainSun{animation:2.4s ease-in-out infinite sunpulse}#rainbow{opacity:0;transition:opacity 1s}.stage.done #rainbow{opacity:.9}.bee{offset-path:path("M650 190 C 480 240 300 360 175 455 C 300 500 470 500 545 470 C 630 430 665 300 660 200");offset-rotate:0deg;offset-distance:0%}.stage.foraging .bee{animation:3.6s ease-in-out forwards fly}.stage.hive .bee,.stage.honey .bee,.stage.done .bee{offset-distance:100%}@keyframes fly{0%{offset-distance:0%}to{offset-distance:100%}}.bee .wing{transform-origin:50%;transform-box:fill-box;animation:.18s ease-in-out infinite flap}@keyframes flap{0%,to{transform:scaleY(1)}50%{transform:scaleY(.5)}}#comb .cell{fill:#efe0bd;transition:fill 1s}.stage.honey #comb .cell,.stage.done #comb .cell{fill:#ffb300}@media (prefers-reduced-motion:reduce){#flowL,#flowR{stroke-dashoffset:0}.bee{offset-distance:100%}}
