*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body,#app{overscroll-behavior:none;height:100%;overflow:hidden}#rotate-hint{bottom:calc(14px + env(safe-area-inset-bottom));color:var(--text,#e8e6df);z-index:60;pointer-events:none;background:#14161fe0;border-radius:999px;padding:9px 20px;font-size:14px;display:none;position:fixed;left:50%;transform:translate(-50%)}@media (orientation:portrait) and (pointer:coarse){#rotate-hint{display:block}}body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-user-select:none;user-select:none;touch-action:manipulation}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}.screen{padding:max(20px, env(safe-area-inset-top)) 32px max(20px, env(safe-area-inset-bottom));background:var(--bg);flex-direction:column;justify-content:center;align-items:center;animation:.5s cubic-bezier(.22,1,.36,1) screenIn;display:flex;position:absolute;inset:0;overflow:hidden}@keyframes screenIn{0%{opacity:0;transform:scale(1.03)}to{opacity:1;transform:none}}h1.title{text-align:center;font-size:clamp(28px,4.6vw,46px)}p.subtitle{opacity:.75;text-align:center;margin-top:10px;font-size:clamp(15px,2vw,20px);line-height:1.6}.btn{border-radius:var(--radius-btn);background:var(--panel);min-width:160px;min-height:64px;color:var(--text);border:var(--btn-border);box-shadow:var(--btn-shadow);padding:16px 34px;font-size:clamp(18px,2.4vw,24px);font-weight:700;transition:transform .12s;position:relative}.btn:active{transform:scale(.96)}.btn.primary{background:var(--accent);color:var(--accent-text)}.option-btn{border-radius:var(--radius-btn);background:var(--panel);border:var(--btn-border);width:clamp(96px,16vw,168px);height:clamp(96px,16vw,168px);box-shadow:var(--btn-shadow);justify-content:center;align-items:center;font-size:clamp(48px,9vw,84px);transition:transform .14s,opacity .3s;display:flex}.option-btn:active{transform:scale(.94)}.option-btn.dimmed{opacity:.35;pointer-events:none;transform:scale(.9)}.option-btn.correct{border-color:var(--good);animation:.5s cubic-bezier(.34,1.56,.64,1) popCorrect}@keyframes popCorrect{0%{transform:scale(1)}40%{transform:scale(1.14)}to{transform:scale(1)}}@keyframes pop{0%{opacity:0;transform:scale(.4)}70%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.pop{animation:.45s cubic-bezier(.34,1.56,.64,1) both pop}@keyframes gentleShake{0%,to{transform:translate(0)}25%{transform:translate(6px)}75%{transform:translate(-6px)}}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.floaty{animation:3s ease-in-out infinite floaty}@keyframes spinSlow{to{transform:rotate(360deg)}}.svg-asset{display:block}.svg-asset svg{width:100%;height:100%;display:block}.dots{gap:10px;margin:14px 0;display:flex}.dots span{background:var(--panel);border:var(--btn-border);border-radius:50%;width:14px;height:14px}.dots span.on{background:var(--accent)}.parent-btn{top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));z-index:60;background:var(--panel);border:var(--btn-border);width:46px;height:46px;box-shadow:var(--btn-shadow);opacity:.5;border-radius:50%;justify-content:center;align-items:center;font-size:21px;transition:opacity .2s,transform .12s;display:flex;position:fixed}.parent-btn:active{opacity:.95;transform:scale(.9)}.egg-stage{width:min(780px,88vw);margin-top:5vh;position:relative}.egg-row{z-index:1;justify-content:center;align-items:flex-end;gap:clamp(8px,4vw,44px);display:flex;position:relative}.egg-nest{z-index:0;width:110%;animation:4.2s ease-in-out infinite nestBreath;position:absolute;bottom:-30px;left:50%;transform:translate(-50%)}@keyframes nestBreath{0%,to{transform:translate(-50%)scale(1)}50%{transform:translate(-50%)scale(1.025,1.06)}}.egg-pick{--i:0;width:clamp(150px,21vw,230px);animation:.7s cubic-bezier(.34,1.56,.64,1) backwards eggIn;animation-delay:calc(var(--i) * .22s + .15s);position:relative}.egg-pick:first-child{transform:rotate(7deg)translateY(-10px)}.egg-pick:nth-child(2){transform:translateY(-20px)scale(1.08)}.egg-pick:last-child{transform:rotate(-7deg)translateY(-10px)}.egg-pick svg>g:first-of-type{animation-delay:calc(var(--i) * .5s)}.egg-pick.peek .svg-asset{animation:.7s peekNudge}.egg-pick:first-child .svg-asset{--peek:7deg}.egg-pick:last-child .svg-asset{--peek:-7deg}@keyframes peekNudge{0%,to{transform:none}35%{transform:translateY(-12px) rotate(var(--peek,0deg))}}.egg-pick:active .svg-asset{transition:transform .12s;transform:scale(.93)}@keyframes eggIn{0%{opacity:0;transform:translateY(46px)scale(.55)}}.egg-star{z-index:0;pointer-events:none;color:#ffd23f;opacity:0;font-size:15px;animation:4s ease-in infinite starDrift;position:absolute;bottom:30%}@keyframes starDrift{0%{opacity:0;transform:translateY(0)scale(.6)}25%{opacity:.95}to{opacity:0;transform:translateY(-90px)scale(1.1)rotate(20deg)}}.egg-star.twinkle{opacity:.9;animation:2.4s ease-in-out infinite starTwinkle}@keyframes starTwinkle{0%,to{opacity:.45;transform:scale(.65)}50%{opacity:1;transform:scale(1.2)}}.shake-egg{animation:.85s ease-in both hatchShake}@keyframes hatchShake{0%,to{transform:rotate(0)}10%{transform:rotate(-9deg)}20%{transform:rotate(8deg)}30%{transform:rotate(-11deg)}40%{transform:rotate(10deg)}50%{transform:rotate(-7deg)}60%{transform:rotate(6deg)}70%{transform:rotate(-4deg)scaleY(.97)}85%{transform:rotate(2deg)scaleY(1.03)}}.sparkle{pointer-events:none;font-size:clamp(22px,3vw,34px);animation:.9s ease-out both sparkleFly;position:absolute}@keyframes sparkleFly{0%{opacity:0;transform:translate(0)scale(.4)}25%{opacity:1}to{transform:translate(var(--dx), var(--dy)) scale(1.2);opacity:0}}.confetti-piece{border-radius:3px;width:12px;height:18px;animation:linear both confettiFall;position:absolute}@keyframes confettiFall{0%{opacity:1;transform:translateY(-40px)rotate(0)}to{opacity:.6;transform:translateY(105vh)rotate(720deg)}}.card{background:var(--panel);border:var(--btn-border);border-radius:var(--radius);box-shadow:var(--btn-shadow);max-width:560px;padding:20px 26px}.card h3{margin-bottom:8px;font-size:clamp(17px,2.2vw,22px)}.card p{color:var(--text-dim);font-size:clamp(14px,1.9vw,17px);line-height:1.7}.card .tag{background:var(--accent);color:var(--accent-text);border-radius:999px;margin-bottom:8px;padding:3px 12px;font-size:13px;font-weight:700;display:inline-block}.companion{transition:transform .15s}.companion:active{transform:scale(.95)}.parent-panel{z-index:50;color:#e8e6df;background:#0a0c14f0;padding:28px;font-family:PingFang SC,sans-serif;position:fixed;inset:0;overflow-y:auto}.parent-panel h2{color:#ffd23f;margin-bottom:6px;font-size:22px}.parent-panel .row{background:#1f2230;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;margin:10px 0;padding:14px 18px;display:flex}.parent-panel .row label{font-size:15px;line-height:1.5}.parent-panel .row small{color:#9aa0ae;margin-top:2px;display:block}.parent-panel input[type=text]{color:#e8e6df;background:#14161f;border:1px solid #333747;border-radius:8px;width:200px;padding:8px 12px;font-size:15px}.parent-panel input[type=range]{width:180px}.parent-panel textarea{color:#9fe8e5;background:#14161f;border:1px solid #333747;border-radius:8px;width:100%;height:120px;padding:10px;font-family:ui-monospace,monospace;font-size:12px}.parent-panel .danger{color:#ff8a80}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}.map-stage{width:min(860px,92vw);height:clamp(240px,38vh,380px);margin-top:8px;position:relative}.map-path{background:radial-gradient(closest-side at 20% 75%, var(--panel) 0%, transparent 0%);position:absolute;inset:0}.map-path:before{content:"";border:5px dashed var(--accent);opacity:.55;border-radius:46% 54% 60% 40%/60% 45% 55% 40%;width:78%;height:52%;position:absolute;top:70%;left:8%;transform:rotate(-6deg)}.map-bar{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:8px;display:flex}.map-bar-chip{background:var(--panel);border:var(--btn-border);box-shadow:var(--btn-shadow);border-radius:999px;padding:6px 16px;font-size:15px;font-weight:700}.map-bar-chip.gold{color:#6b4e23;background:#f5d782}.map-node{z-index:2;flex-direction:column;align-items:center;gap:3px;display:flex;position:absolute;transform:translate(-50%,-50%)}.map-node-icon{background:var(--panel);border:var(--btn-border);width:clamp(58px,8vw,84px);height:clamp(58px,8vw,84px);box-shadow:var(--btn-shadow);border-radius:50%;justify-content:center;align-items:center;font-size:clamp(28px,4vw,40px);transition:transform .15s;display:flex}.map-node:not(.locked):active .map-node-icon{transform:scale(.9)}.map-node.current .map-node-icon{border-color:var(--accent);border-width:5px}.map-node.done .map-node-icon{background:#f5d782}.map-node.locked .map-node-icon{opacity:.55;filter:grayscale(.6)}.map-node-label{background:var(--panel);border:var(--btn-border);border-radius:10px;padding:2px 10px;font-size:clamp(12px,1.6vw,15px);font-weight:700}.map-node-chip{background:var(--accent);color:var(--accent-text);border-radius:999px;padding:2px 10px;font-size:clamp(10px,1.4vw,13px);font-weight:700}.map-node-chip.gold{color:#6b4e23;background:#f5d782}.map-node-ring{border:3px solid var(--accent);pointer-events:none;border-radius:50%;width:clamp(58px,8vw,84px);height:clamp(58px,8vw,84px);animation:1.8s ease-out infinite nodePulse;position:absolute;top:calc(clamp(58px,8vw,84px)/-2 - 6px)}@keyframes nodePulse{0%{opacity:.8;transform:scale(.9)}to{opacity:0;transform:scale(1.45)}}.foil:after{content:"";pointer-events:none;background:linear-gradient(115deg,#0000 42%,#ffe082a6 50%,#0000 58%);animation:2.6s ease-in-out infinite foilShine;position:absolute;inset:-30%}@keyframes foilShine{0%{transform:translate(-70%)}55%,to{transform:translate(70%)}}.foil{border-color:#e8c86e!important}@keyframes crowFlyAway{0%{opacity:1;transform:translate(0)rotate(0)}30%{transform:translate(-14px,8px)rotate(-8deg)}to{opacity:0;transform:translate(150px,-180px)rotate(18deg)}}.album-card:active{transform:scale(.94)}:root{--bg:radial-gradient(120% 100% at 50% 0%, #232848 0%, #14161f 70%);--panel:#232633;--text:#e8e6df;--text-dim:#9aa0ae;--accent:#ffd23f;--accent-text:#1f2430;--good:#6fce6f;--radius:16px;--radius-btn:18px;--btn-border:2px solid #333747;--btn-shadow:0 6px 18px #00000059;--font:"PingFang SC", "Chalkboard SE", sans-serif}[data-theme=fox]{--bg:radial-gradient(140% 110% at 20% 0%, #fdf6e5 0%, #f7ead0 60%, #f2e0bd 100%);--panel:#fffdf6;--text:#5b3a29;--text-dim:#8a6a4f;--accent:#e8853c;--accent-text:#fff7ec;--good:#7fa06f;--radius:16px;--radius-btn:22px;--btn-border:2.5px solid #e0cdaf;--btn-shadow:0 8px 22px #966e3c38;--font:"Chalkboard SE", "Comic Sans MS", "PingFang SC", cursive}[data-theme=dragon]{--bg:linear-gradient(180deg, #8ed0f2 0%, #c8e9fc 55%, #fff2d4 100%);--panel:#fff;--text:#4a4173;--text-dim:#6c639a;--accent:#ff9db8;--accent-text:#fff;--good:#57c78a;--radius:26px;--radius-btn:30px;--btn-border:none;--btn-shadow:0 10px 24px #4a5aa047;--font:"Baloo 2", "Chalkboard SE", "PingFang SC", rounded, sans-serif}[data-theme=robot]{--bg:linear-gradient(160deg, #12b5b0 0%, #17a39d 40%, #ff8a7e 100%);--panel:#fff;--text:#1f2430;--text-dim:#4b5563;--accent:#ff6b5e;--accent-text:#fff;--good:#0e9f6e;--radius:14px;--radius-btn:18px;--btn-border:4px solid #1f2430;--btn-shadow:6px 6px 0 #1f2430;--font:"Futura", "Avenir Next", "PingFang SC", sans-serif}
