.talk-bar{z-index:40;flex-direction:column;gap:8px;width:min(560px,100vw - 32px);display:flex;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.talk-chips{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.talk-chip{color:#6b4f3a;font:inherit;cursor:pointer;background:#fff8ec;border:0;border-radius:999px;padding:6px 12px;font-size:14px;box-shadow:0 2px #6b4f3a40}.talk-chip:hover{background:#ffe9c7}.talk-form{background:#fff8ec;border-radius:999px;gap:8px;padding:6px 6px 6px 16px;display:flex;box-shadow:0 4px #6b4f3a40}.talk-input{font:inherit;color:#4a3728;background:0 0;border:0;outline:none;flex:1;min-width:0;font-size:16px}.talk-send{color:#fff;font:inherit;cursor:pointer;background:#7cc6a4;border:0;border-radius:999px;padding:8px 18px;font-weight:700}.talk-toast{color:#6b4f3a;z-index:41;background:#fff8ec;border-radius:12px;max-width:calc(100vw - 32px);padding:8px 16px;position:absolute;top:72px;left:50%;transform:translate(-50%);box-shadow:0 3px #6b4f3a40}.pi-bubble.talk-player{color:#2f4a63;background:#dff0ff}.pi-bubble.talk-dots{gap:5px;padding:10px 14px;display:flex}.talk-dots span{background:#a08670;border-radius:50%;width:7px;height:7px;animation:.9s ease-in-out infinite talk-dot}.talk-dots span:nth-child(2){animation-delay:.15s}.talk-dots span:nth-child(3){animation-delay:.3s}@keyframes talk-dot{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.landing-continue{text-align:left;background:#fff8ec;border-radius:16px;align-items:center;gap:12px;margin:8px 0 14px;padding:12px 14px;display:flex;box-shadow:0 3px #6b4f3a33}.landing-continue-swatch{border:3px solid #fff;border-radius:50%;flex:none;width:36px;height:36px;box-shadow:0 0 0 1px #6b4f3a40}.landing-continue-info{color:#6b4f3a;flex:1;min-width:0;font-size:14px}.landing-continue-info strong{color:#4a3728;font-size:17px;display:block}@media (width<=600px),(height<=500px){.talk-bar{width:auto!important;left:8px!important;right:8px!important;bottom:calc(8px + env(safe-area-inset-bottom))!important;transform:none!important}.talk-chips{scrollbar-width:none;-webkit-overflow-scrolling:touch;touch-action:pan-x;overflow-x:auto;flex-wrap:nowrap!important}.talk-chips::-webkit-scrollbar{display:none}.talk-chip{white-space:nowrap;flex:none}.talk-input{font-size:16px}}.landing{--claude:#d97757;--claude-deep:#b85c3e;background:0 0;overflow:hidden}.lp-sky,.reading:before{background-color:#0000;background-image:radial-gradient(60% 50% at 78% 38%,#fff4d6f2 0%,#fff4d600 70%),radial-gradient(50% 45% at 12% 88%,#d9c8f58c 0%,#d9c8f500 70%),radial-gradient(45% 40% at 6% 8%,#bfeccf99 0%,#bfeccf00 70%),linear-gradient(170deg,#bfe4ff 0%,#d9efff 40%,#fdeedd 78%,#ffe2cf 100%);background-position:0 0,0 0,0 0,0 0;background-repeat:repeat,repeat,repeat,repeat;background-size:140% 140%;background-attachment:scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box;animation:26s ease-in-out infinite alternate lp-sky;position:absolute;inset:0}.reading:before{content:""}.lp-sun{background:radial-gradient(circle,#fff6d6 0%,#ffe9b0 55%,#ffe9b000 72%);border-radius:50%;width:150px;height:150px;animation:8s ease-in-out infinite lp-sun;position:absolute;top:9%;right:12%}@keyframes lp-sky{0%{background-position:0 0}to{background-position:100% 60%}}@keyframes lp-sun{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.landing .sample-scene,.reading .sample-scene{z-index:0}.lp-sparkles{pointer-events:none;z-index:1;position:absolute;inset:0}.lp-spark{clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);filter:drop-shadow(0 0 6px #ffd66be6);background:#fff6c8;animation:2.4s ease-in-out infinite twinkle,7s ease-in-out infinite lp-drift;position:absolute}@keyframes lp-drift{0%,to{translate:0}50%{translate:6px -14px}}.lp-scroll{z-index:2;pointer-events:none;flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden auto}.lp-col{pointer-events:auto;flex-direction:column;align-items:flex-start;width:min(580px,46vw);margin:auto 0 auto clamp(24px,6vw,110px);padding:36px 0 20px;display:flex}.lp-in{animation:.42s cubic-bezier(.34,1.4,.64,1) both lp-rise}@keyframes lp-rise{0%{opacity:0;transform:translateY(18px)scale(.97)}to{opacity:1;transform:none}}.lp-kicker{font-family:var(--font-display);letter-spacing:1.5px;text-transform:uppercase;color:var(--brown-soft);background:#fff8ead9;border-radius:999px;align-items:center;gap:8px;padding:6px 14px 6px 10px;font-size:14px;font-weight:600;display:inline-flex;box-shadow:0 3px #5b463614}.lp-kicker-dot{background:var(--mint);border-radius:50%;width:10px;height:10px;animation:2s ease-in-out infinite lp-pulse;box-shadow:0 0 0 3px #8fd07a59}@keyframes lp-pulse{50%{box-shadow:0 0 0 6px #8fd07a1a}}.lp-logo{letter-spacing:-1px;flex-wrap:wrap;column-gap:.26em;margin:10px 0 4px;font-size:clamp(56px,7.6vw,112px);font-weight:700;line-height:.92;display:flex;position:relative}.lp-logo-word{white-space:nowrap;display:inline-flex}.lp-letter{--c:#ff9b73;color:var(--c);text-shadow:0 1px 0 color-mix(in srgb, var(--c) 82%, #5b4636), 0 2px 0 color-mix(in srgb, var(--c) 78%, #5b4636), 0 3px 0 color-mix(in srgb, var(--c) 74%, #5b4636), 0 4px 0 color-mix(in srgb, var(--c) 70%, #5b4636), 0 5px 0 color-mix(in srgb, var(--c) 66%, #5b4636), 0 6px 0 color-mix(in srgb, var(--c) 62%, #5b4636), 0 12px 18px #5b463638;-webkit-text-stroke:.06em #fffaf0;paint-order:stroke fill;animation:.52s cubic-bezier(.34,1.7,.64,1) both lp-letter-in,3.2s ease-in-out infinite lp-wave;animation-delay:calc(.12s + var(--i) * 45ms), calc(.9s + var(--i) * .12s);display:inline-block;position:relative}@keyframes lp-letter-in{0%{opacity:0;transform:translateY(40px)scale(.6)rotate(-8deg)}to{opacity:1;transform:none}}@keyframes lp-wave{0%,60%,to{translate:0}30%{translate:0 -8px}}.lp-leaf{filter:drop-shadow(0 2px #5b463626);transform-origin:10% 90%;width:.34em;animation:3s ease-in-out infinite lp-leaf;position:absolute;top:-.2em;right:-.12em;transform:rotate(-12deg)}@keyframes lp-leaf{0%,to{transform:rotate(-12deg)}50%{transform:rotate(6deg)}}.lp-paw{width:.4em;animation:.42s cubic-bezier(.34,1.7,.64,1) .8s both lp-rise;position:absolute;top:.05em;right:-.5em;transform:rotate(18deg)}.lp-tagline{color:var(--brown);max-width:30em;margin:14px 0 20px;font-size:clamp(17px,1.5vw,21px);font-weight:700;line-height:1.4}.lp-tag-claude{color:var(--claude-deep);background:linear-gradient(#0000 62%,#d9775738 62%);border-radius:4px;display:inline-block}.lp-continue{background:var(--cream);border-radius:20px;grid-template-columns:auto 1fr auto;align-items:center;gap:4px 14px;width:100%;margin-bottom:16px;padding:14px 16px;display:grid;box-shadow:0 5px #5b46361a,0 14px 30px #5b46361f}.lp-continue-swatch{border-radius:16px;width:46px;height:46px;box-shadow:inset 0 -5px #5b463624,0 0 0 4px #fffdf8}.lp-continue-info{flex-direction:column;min-width:0;line-height:1.2;display:flex}.lp-continue-label{font-family:var(--font-display);letter-spacing:1.2px;text-transform:uppercase;color:var(--brown-soft);font-size:12px;font-weight:600}.lp-continue-info strong{font-family:var(--font-display);font-size:20px}.lp-continue-where{color:var(--brown-soft);font-size:13px}.btn.lp-continue-btn{background:var(--mint);white-space:nowrap;padding:11px 18px;font-size:16px}.lp-fresh{grid-column:1/-1;justify-self:start;padding:2px 0 0;font-size:13px}.lp-picks{perspective:900px;grid-template-columns:1fr 1fr;gap:16px;width:100%;display:grid}.lp-card{--rx:0deg;--ry:0deg;--gx:50%;--gy:30%;--edge:#f1e3cf;cursor:pointer;background:var(--edge);transform-style:preserve-3d;border-radius:22px;outline:none;padding:6px;transition:transform .26s cubic-bezier(.34,1.4,.64,1),box-shadow .2s,background .2s;position:relative;box-shadow:0 6px #5b46361a,0 18px 34px #5b463624}.lp-card.lp-in{animation-name:lp-card-in}@keyframes lp-card-in{0%{opacity:0;transform:translateY(30px)rotate(-3deg)}to{opacity:1;transform:none}}.lp-card:hover,.lp-card:focus-visible{transform:rotateX(var(--rx)) rotateY(var(--ry)) translateY(-6px);transition:transform 90ms linear;box-shadow:0 10px #5b46361a,0 28px 40px #5b46362e}.lp-card-claude{--edge:#f6c3ad}.lp-card-pet{--edge:#ddd0f2}.lp-card-claude.is-picked{--edge:var(--claude)}.lp-card-pet.is-picked{--edge:#b9a6d6}.lp-card.is-picked:after{content:"";border:3px dashed color-mix(in srgb, var(--edge) 55%, transparent);pointer-events:none;border-radius:27px;animation:12s linear infinite lp-march;position:absolute;inset:-7px}@keyframes lp-march{to{transform:rotate(.001deg)}}.lp-card-inner{text-align:center;background:radial-gradient(120% 70% at 50% 0,#fff3e6 0%,#fff3e600 70%),#fffaf1;border-radius:17px;flex-direction:column;align-items:center;height:100%;padding:12px 14px 14px;display:flex;position:relative;overflow:hidden}.lp-card-pet .lp-card-inner{background:radial-gradient(120% 70% at 50% 0,#f1eaff 0%,#f1eaff00 70%),#fffaf1}.lp-card-top{width:100%;font-family:var(--font-display);justify-content:space-between;align-items:center;font-size:12px;font-weight:600;display:flex}.lp-card-no{color:var(--brown-soft);letter-spacing:1px}.lp-card-badge{color:var(--claude-deep);background:#fde4d8;border-radius:999px;padding:3px 9px}.lp-badge-pet{color:#8a70b3;background:#efe7fb}.lp-card-art{background:radial-gradient(circle at 50% 60%, #ffffffe6 0 30%, #fff0 60%), repeating-conic-gradient(from 0deg at 50% 60%, #ffc9a847 0 10deg, #ffc9a800 10deg 20deg);border-radius:14px;justify-content:center;width:100%;margin:6px 0 2px;padding:10px 0 4px;display:flex}.lp-card-pet .lp-card-art{background:radial-gradient(circle at 50% 60%, #ffffffe6 0 30%, #fff0 60%), repeating-conic-gradient(from 0deg at 50% 60%, #d9c8f559 0 10deg, #d9c8f500 10deg 20deg)}.lp-card:hover .lp-card-art{animation:6s linear infinite lp-rays}@keyframes lp-rays{to{background-position:0 0}}.lp-art{width:108px;height:86px;transition:transform .26s cubic-bezier(.34,1.7,.64,1);overflow:visible}.lp-card:hover .lp-art{transform:translateY(-4px)scale(1.08)translateZ(30px)}.lp-art-bob{transform-origin:50% 100%;animation:1.6s ease-in-out infinite lp-bob}@keyframes lp-bob{0%,to{transform:translateY(0)scaleY(1)}50%{transform:translateY(-2px)scaleY(1.02)}}.lp-blink{transform-origin:50% 24px;animation:4s infinite lp-blink}@keyframes lp-blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}.lp-fill{transition:transform .52s cubic-bezier(.34,1.2,.64,1);transform:translateY(100%)}.lp-card-pet:hover .lp-fill,.lp-card-pet.is-picked .lp-fill{transform:translateY(0)}.lp-shine-bar{opacity:0}.lp-card-pet:hover .lp-shine-bar{opacity:1;animation:1.4s ease-in-out infinite lp-shine}@keyframes lp-shine{0%{transform:skew(-18deg)translate(0)}to{transform:skew(-18deg)translate(150px)}}.lp-q{transition:opacity .2s}.lp-card-pet:hover .lp-q,.lp-card-pet.is-picked .lp-q{opacity:0}.lp-tail{transform-origin:66px 58px;animation:.9s ease-in-out infinite lp-wag}@keyframes lp-wag{0%,to{transform:rotate(-8deg)}50%{transform:rotate(10deg)}}.lp-card-name{font-family:var(--font-display);font-size:26px;font-weight:700;line-height:1.1}.lp-card-text{color:var(--brown-soft);flex:1;margin:4px 0 12px;font-size:14px;line-height:1.35}.btn.lp-card-btn{white-space:nowrap;background:var(--lilac);width:100%;padding:12px 14px;font-size:18px}.btn.lp-card-btn-claude{background:var(--claude);color:#fff8ea;box-shadow:0 5px 0 var(--claude-deep)}.btn.lp-card-btn-claude:active{box-shadow:0 2px 0 var(--claude-deep)}.lp-card-shine{pointer-events:none;border-radius:inherit;background:radial-gradient(circle at var(--gx) var(--gy), #ffffff8c, #fff0 45%);opacity:0;mix-blend-mode:soft-light;transition:opacity .2s;position:absolute;inset:0}.lp-card:hover .lp-card-shine{opacity:1}.lp-drop-hint{color:var(--brown-soft);align-self:center;margin:12px 0 0;font-size:13px;font-weight:700}.lp-preview{background:#fff8eaeb;border-radius:20px;align-items:center;gap:26px;width:100%;padding:18px 20px;display:flex;box-shadow:0 6px #5b46361a,0 18px 34px #5b463624}.lp-polaroid{flex:none;animation:3s ease-in-out infinite float}.lp-polaroid img{width:170px;height:170px}.lp-polaroid-caption{text-align:center;font-family:var(--font-display);color:var(--brown-soft);font-size:14px;font-weight:600;position:absolute;bottom:6px;left:0;right:0}.lp-tape{z-index:1;background:#bfeccfd9;border-radius:3px;width:70px;height:22px;margin-left:-35px;position:absolute;top:-10px;left:50%;transform:rotate(4deg)}.lp-preview-actions{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.lp-preview-note{margin:0;font-weight:700;line-height:1.4}.btn.lp-meet{padding:14px 34px;font-size:22px}.lp-steps{grid-template-columns:repeat(3,1fr);gap:10px;width:100%;margin:22px 0 0;padding:0;list-style:none;display:grid}.lp-step{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--brown-soft);background:#fff8eac7;border-radius:18px;align-items:center;gap:10px;padding:10px 12px 10px 10px;font-size:12.5px;line-height:1.25;display:flex}.lp-step strong{font-family:var(--font-display);white-space:nowrap;color:var(--brown);align-items:center;gap:5px;font-size:15px;font-weight:600;display:flex}.lp-step-n{background:var(--brown);width:17px;height:17px;color:var(--cream);border-radius:50%;place-items:center;font-size:11px;display:inline-grid}.lp-step-art{flex:none;width:42px;height:42px}.lp-footer{pointer-events:auto;font-family:var(--font-display);color:var(--brown-soft);background:#fff8ead9;border-radius:999px;padding:7px 16px;font-size:14px;font-weight:600;position:absolute;bottom:16px;right:22px;box-shadow:0 3px #5b463614}.lp-footer-claude{color:var(--claude-deep)}.lp-dropzone{z-index:5;border:5px dashed var(--peach);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;pointer-events:none;background:#fff8ea8c;border-radius:28px;place-items:center;transition:opacity .16s;display:grid;position:absolute;inset:14px}.landing.is-dragging .lp-dropzone{opacity:1}.lp-dropzone-card{background:var(--cream);font-family:var(--font-display);border-radius:24px;flex-direction:column;align-items:center;gap:8px;padding:24px 36px;font-size:26px;font-weight:700;transition:transform .22s cubic-bezier(.34,1.7,.64,1);display:flex;transform:scale(.9);box-shadow:0 8px #5b46361a}.landing.is-dragging .lp-dropzone-card{transform:scale(1)}.reading{background:0 0}.reading .reading-stack{z-index:2;justify-content:flex-start;padding-top:9vh}.reading .polaroid-float img{width:230px;height:230px}.reading .polaroid-float:before{content:"";background:#d9c8f5d9;border-radius:3px;width:76px;height:22px;margin-left:-38px;position:absolute;top:-11px;left:50%;transform:rotate(-4deg)}.reading .reading-status{align-items:center;gap:10px;padding:14px 24px 14px 16px;display:flex}.reading-claude{flex:none;width:34px;height:34px;animation:6s linear infinite lp-spin;display:block}@keyframes lp-spin{to{transform:rotate(360deg)}}.reading-progress{z-index:2;gap:8px;display:flex;position:absolute;bottom:5vh;left:50%;transform:translate(-50%)}.reading-progress i{background:#fff8eacc;border-radius:50%;width:10px;height:10px;transition:background .3s,transform .3s;box-shadow:0 2px #5b46361a}.reading-progress i.on{background:var(--claude,#d97757);transform:scale(1.2)}@media (width<=900px){.lp-col{text-align:center;align-items:center;width:min(560px,100% - 32px);margin:34vh auto 0;padding-top:0;padding-bottom:80px}.lp-logo{justify-content:center;font-size:clamp(52px,15vw,96px)}.lp-tagline{background:#fff8eabf;border-radius:16px;margin:10px 0 16px;padding:8px 14px}.lp-footer{align-self:center;margin:0 0 18px;position:static}.lp-sun{width:110px;height:110px;top:4%;right:6%}}@media (width<=560px){.lp-col{margin-top:40vh}.lp-kicker{font-size:12px}.lp-paw{display:none}.lp-tagline{font-size:16px}.lp-continue{text-align:left;grid-template-columns:auto 1fr}.btn.lp-continue-btn{grid-column:1/-1}.lp-picks{gap:10px}.lp-card-inner{padding:10px 10px 12px}.lp-card-top{font-size:10px}.lp-card-badge{display:none}.lp-art{width:84px;height:66px}.lp-card-name{font-size:21px}.lp-card-text{font-size:12.5px}.btn.lp-card-btn{padding:10px 8px;font-size:15px}.lp-steps{grid-template-columns:1fr}.lp-step{text-align:left}.lp-preview{flex-direction:column;gap:16px}.lp-preview-actions{text-align:center;align-items:center}.reading .polaroid-float img{width:190px;height:190px}}@media (prefers-reduced-motion:reduce){.landing *,.landing :before,.landing :after,.reading *,.reading:before{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}@media (pointer:coarse){.lp-drop-hint{display:none}}.reveal{background:radial-gradient(circle at 30% 38%,#fffaf0 0%,#fffaf000 46%),linear-gradient(#d4ecff 0%,#e9f4ff 48%,#fff1dc 100%)}.reveal canvas{position:absolute;inset:0}.reveal-card{opacity:0;pointer-events:none;text-align:center;width:min(380px,100vw - 32px);padding:28px 30px 26px;transition:opacity .32s,transform .42s cubic-bezier(.34,1.56,.64,1);position:absolute;top:50%;right:clamp(24px,6vw,96px);transform:translateY(-50%)scale(.92)}.reveal-card.is-ready{opacity:1;pointer-events:auto;transform:translateY(-50%)scale(1)}.reveal-kicker{font-family:var(--font-display);letter-spacing:1.5px;text-transform:uppercase;color:var(--brown-soft);font-size:15px;font-weight:600}.reveal-name{color:var(--brown);margin:2px 0 12px;font-size:56px;line-height:1.05}.reveal-chips{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:18px;display:flex}.reveal-chip{font-family:var(--font-display);background:var(--accent);color:var(--brown);border-radius:999px;padding:5px 14px;font-size:15px;font-weight:600}.reveal-bubble{background:#fff;border-radius:18px;margin:0 4px 16px;padding:14px 18px;font-size:17px;font-weight:700;line-height:1.4;position:relative;box-shadow:0 3px #5b46361a}.reveal-bubble:before{content:"";border:10px solid #0000;border-top:0;border-bottom-color:#fff;margin-left:-10px;position:absolute;top:-9px;left:50%}.reveal-island{color:var(--brown-soft);margin:0 0 18px;font-size:16px}.reveal-island strong{color:var(--brown)}.reveal-go{min-width:180px}.reveal-confidence{color:var(--brown-soft);margin:14px 0 0;font-size:13px}.reveal-sound{font-family:var(--font-display);color:var(--brown-soft);cursor:pointer;background:#fff8eacc;border:none;border-radius:999px;padding:7px 14px;font-size:14px;font-weight:600;position:absolute;top:16px;left:16px}@media (width<=820px){.reveal-card{padding:18px 20px;top:auto;bottom:16px;right:50%;transform:translate(50%)scale(.92)}.reveal-card.is-ready{transform:translate(50%)scale(1)}.reveal-name{font-size:40px}}.hud{--hud-accent:var(--mint)}.hud .panel{background:var(--cream);color:var(--brown);border-radius:20px;box-shadow:0 4px #5b463614,0 10px 24px #5b46361a}.hud-card{border-left:6px solid var(--hud-accent);pointer-events:auto;transition:transform .15s cubic-bezier(.34,1.56,.64,1)}.hud-card:hover{transform:translateY(-2px)}.hud-name{font-family:var(--font-display);font-weight:600}.hud-traits{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.hud-trait{background:var(--hud-accent);color:var(--brown);border-radius:999px;padding:1px 9px;font-size:12px}.hud-mode{background:var(--cream);border:2px solid var(--hud-accent)}.hud-buttons{pointer-events:auto;gap:8px;animation:.3s cubic-bezier(.34,1.56,.64,1) hud-pop;display:flex;position:absolute;bottom:46px;right:16px}.hud-btn{background:var(--cream);width:42px;height:42px;color:var(--brown);cursor:pointer;border:none;border-radius:14px;place-items:center;transition:transform .15s cubic-bezier(.34,1.56,.64,1),background .15s,box-shadow .15s;display:grid;position:relative;box-shadow:0 3px #5b46361f,0 6px 14px #5b46361a}.hud-btn:hover{transform:translateY(-3px)scale(1.04);box-shadow:0 5px #5b46361f,0 10px 18px #5b463624}.hud-btn:active{transform:translateY(0)scale(.94)}.hud-btn.on{background:var(--hud-accent)}.hud-btn-key{background:var(--brown);min-width:16px;height:16px;color:var(--cream);font-family:var(--font-display);border-radius:6px;padding:0 3px;font-size:10px;font-weight:600;line-height:16px;position:absolute;top:-4px;right:-4px}.hud-hint{transition:transform .15s}body.photo-mode [data-testid=play]>:not(:first-child):not(.juice-photo),body.photo-mode .hud,body.photo-mode .play-overlay,body.photo-mode .talk-overlay{transition:opacity .15s;opacity:0!important;pointer-events:none!important}.juice-photo{pointer-events:none;z-index:30;position:absolute;inset:0}.juice-count{width:96px;height:96px;color:var(--brown);font-family:var(--font-display);background:#fff8eae6;border-radius:50%;place-items:center;margin:-48px 0 0 -48px;font-size:52px;font-weight:600;animation:.32s cubic-bezier(.34,1.56,.64,1) both juice-count;display:grid;position:absolute;top:50%;left:50%;box-shadow:0 8px 24px #5b46362e}@keyframes juice-count{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.juice-flash{background:#fffdf6;animation:.5s ease-out both juice-flash;position:absolute;inset:0}@keyframes juice-flash{0%{opacity:.95}to{opacity:0}}.juice-toast{font-family:var(--font-display);background:var(--cream);color:var(--brown);border-radius:20px;padding:10px 22px;font-size:18px;font-weight:600;animation:2.2s cubic-bezier(.34,1.56,.64,1) both juice-toast;position:absolute;top:72px;left:50%;box-shadow:0 10px 24px #5b463624}@keyframes juice-toast{0%{opacity:0;transform:translate(-50%,-12px)scale(.85)}10%,85%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%,-6px)scale(.97)}}@media (width<=640px){.hud-buttons{right:12px}.hud-hints{display:none}}.hud-buttons{align-items:stretch;gap:10px!important;bottom:44px!important;right:16px!important}.hud-buttons .hud-btn{border-radius:18px!important;width:52px!important;height:52px!important}.hud-dock{height:52px;align-items:stretch!important;bottom:44px!important;right:140px!important}.hud-dock .jn-button{box-sizing:border-box;justify-content:center;width:132px;font-size:16px;border-radius:18px!important;height:52px!important;padding:0 14px!important}.pg-pill{box-sizing:border-box;align-items:center;border-radius:18px!important;height:52px!important;padding-top:0!important;padding-bottom:0!important;bottom:44px!important;right:282px!important}.hud-hints{max-width:calc(100% - 700px)!important}@media (width<=1150px){.hud-hints{display:none!important}}@media (width<=760px){.hud-dock{bottom:106px!important;right:16px!important}.pg-pill{bottom:168px!important;right:16px!important}}html.is-touch .hud-hints,html.is-touch .hud-btn-key,html.is-touch .hud-dock .jn-button kbd,html.is-touch .pg-pill kbd,html.is-touch .hud-seed{display:none!important}@media (width<=600px){.hud-card{max-width:calc(100vw - 190px);top:calc(10px + env(safe-area-inset-top))!important;padding:8px 12px!important;left:12px!important}.hud-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:18px!important}.hud-traits .hud-trait:nth-child(n+2){display:none}.hud-mode{white-space:nowrap;top:calc(76px + env(safe-area-inset-top))!important;padding:5px 10px!important;font-size:12px!important;left:12px!important;transform:none!important}}html.is-touch .hud-buttons{bottom:calc(236px + env(safe-area-inset-bottom))!important;right:calc(12px + env(safe-area-inset-right))!important;gap:8px!important}html.is-touch .hud-buttons .hud-btn{border-radius:16px!important;width:46px!important;height:46px!important}html.is-touch .hud-dock{height:46px;bottom:calc(182px + env(safe-area-inset-bottom))!important;right:calc(12px + env(safe-area-inset-right))!important}html.is-touch .hud-dock .jn-button{width:100px;font-size:15px;border-radius:16px!important;height:46px!important}html.is-touch .pg-pill{transform-origin:0 100%;left:calc(12px + env(safe-area-inset-left))!important;right:auto!important;bottom:calc(182px + env(safe-area-inset-bottom))!important;border-radius:16px!important;height:46px!important}html.is-touch .pi-hint{max-width:calc(100vw - 32px);bottom:calc(300px + env(safe-area-inset-bottom))!important}@media (height<=500px){.hud-card{top:calc(8px + env(safe-area-inset-top))!important;left:calc(12px + env(safe-area-inset-left))!important;padding:6px 12px!important}.hud-name{font-size:17px!important}.hud-traits{display:none!important}.hud-mode{top:calc(8px + env(safe-area-inset-top))!important;padding:5px 12px!important;font-size:12px!important}html.is-touch .hud-buttons{bottom:calc(12px + env(safe-area-inset-bottom))!important;right:calc(196px + env(safe-area-inset-right))!important}html.is-touch .hud-dock{bottom:calc(12px + env(safe-area-inset-bottom))!important;right:calc(304px + env(safe-area-inset-right))!important}html.is-touch .pg-pill{left:auto!important;right:calc(412px + env(safe-area-inset-right))!important;bottom:calc(12px + env(safe-area-inset-bottom))!important}html.is-touch .pi-hint{bottom:calc(72px + env(safe-area-inset-bottom))!important}}.pause-backdrop{z-index:80;-webkit-backdrop-filter:blur(6px)saturate(1.1);backdrop-filter:blur(6px)saturate(1.1);background:#cfeaff73;place-items:center;animation:.18s pause-fade;display:grid;position:absolute;inset:0}.pause-card{text-align:center;width:min(460px,100% - 32px);padding:26px 26px 20px;animation:.24s cubic-bezier(.34,1.56,.64,1) pause-pop}.pause-kicker{font-family:var(--font-display);letter-spacing:2px;text-transform:uppercase;color:var(--brown-soft);font-size:13px;font-weight:600}.pause-title{margin:4px 0 6px;font-size:34px;line-height:1.1}.pause-sub{color:var(--brown-soft);margin:0 0 16px;font-weight:700}.pause-resume{width:100%;margin-bottom:14px;font-size:22px}.pause-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.pause-item{background:var(--cream-2);color:var(--brown);font-family:var(--font-display);cursor:pointer;border:none;border-radius:16px;flex-direction:column;align-items:center;gap:6px;padding:12px 6px 10px;font-size:15px;font-weight:600;transition:transform .12s,background .12s;display:flex;box-shadow:0 3px #5b463624}.pause-item:hover{background:#fde6c9;transform:translateY(-2px)}.pause-key{background:var(--brown);min-width:28px;color:var(--cream);border-radius:999px;padding:2px 8px;font-size:12px}.pause-danger{background:#ffd9d2}.pause-note{color:var(--brown-soft);margin:10px 0 0;font-size:13px;font-weight:700}.pause-controls{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:16px;display:flex}.pause-controls span{background:#5b463612;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700}.pause-seed{color:var(--brown-soft);margin-top:12px;font-size:12px}@keyframes pause-fade{0%{opacity:0}to{opacity:1}}@keyframes pause-pop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}body.photo-mode .pause-backdrop{display:none}@media (width<=600px),(height<=500px){.pause-card{box-sizing:border-box;max-width:440px;max-height:calc(100vh - 24px);overflow-y:auto;width:calc(100vw - 24px)!important;padding:18px!important}.pause-grid{grid-template-columns:1fr 1fr!important}}@media (pointer:coarse){.pause-controls,.pause-key{display:none!important}}.pi-play{pointer-events:none;font-family:var(--font-display,"Fredoka", "Nunito", sans-serif);color:var(--brown,#5b4636);z-index:30;position:absolute;inset:0}.pi-pills{gap:8px;display:flex;position:absolute;top:16px;right:16px}.pi-pill{background:var(--cream,#fff8ea);border-radius:999px;align-items:center;gap:6px;padding:6px 12px 6px 8px;font-size:16px;font-weight:700;display:flex;box-shadow:0 4px #5b46361f}.pi-pill-count{text-align:right;min-width:1ch}.pi-pop{animation:.38s cubic-bezier(.3,1.6,.5,1) pi-pop}@keyframes pi-pop{0%{transform:scale(1)}35%{background:#fff1c2;transform:scale(1.28)}to{transform:scale(1)}}.pi-quests{flex-direction:column;gap:6px;max-width:min(320px,100vw - 32px);display:flex;position:absolute;top:64px;right:16px}.pi-quest{background:var(--cream,#fff8ea);border-left:5px solid var(--lilac,#d9c8f5);border-radius:16px;align-items:center;gap:8px;padding:8px 14px 8px 10px;font-size:14px;font-weight:600;animation:.26s ease-out pi-slide;display:flex;box-shadow:0 4px #5b46361a}.pi-quest.done{border-left-color:var(--mint,#bfeccf);color:var(--brown-soft,#8a7260)}.pi-quest-icon{display:flex}@keyframes pi-slide{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}.pi-hint{background:var(--cream,#fff8ea);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:8px 16px 8px 8px;font-size:15px;font-weight:600;animation:.15s ease-out pi-hint-in;display:flex;position:absolute;bottom:96px;left:50%;transform:translate(-50%);box-shadow:0 4px #5b46361f}.pi-hint kbd{background:var(--peach,#ffc9a8);color:var(--brown,#5b4636);border-radius:999px;padding:3px 9px;font-family:inherit;font-size:12px;font-weight:700}@keyframes pi-hint-in{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}.pi-tag-wrap{font-family:var(--font-display,"Fredoka", "Nunito", sans-serif);color:var(--brown,#5b4636);-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:4px;display:flex}.pi-nametag{white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:13px;font-weight:700;box-shadow:0 2px #5b463626}.pi-talk-hint{background:var(--cream,#fff8ea);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;animation:.15s ease-out pi-hint-fade}.pi-glyph{background:var(--cream,#fff8ea);color:#f2a33a;border-radius:50%;place-items:center;width:30px;height:30px;font-size:19px;font-weight:700;animation:.15s cubic-bezier(.3,1.6,.5,1) pi-bubble-pop;display:grid;box-shadow:0 2px #5b463626}@keyframes pi-hint-fade{0%{opacity:0}to{opacity:1}}.pi-bubble-anchor{pointer-events:none;position:absolute;bottom:0;left:0;transform:translate(-50%)}.pi-bubble{color:#5b4636;transform-origin:50% 100%;background:#fff8ea;border-radius:20px;width:max-content;max-width:260px;margin-bottom:14px;padding:14px 16px 12px;font-family:Fredoka,Nunito,system-ui,sans-serif;font-size:15px;font-weight:500;line-height:1.35;position:relative;box-shadow:0 4px #5b463624}.pi-bubble.pi-bubble-in{animation:.15s cubic-bezier(.3,1.6,.5,1) pi-bubble-pop}.pi-bubble:after{content:"";background:#fff8ea;border-radius:3px;width:18px;height:18px;position:absolute;bottom:-9px;left:50%;transform:translate(-50%)rotate(45deg)}.pi-bubble-name{background:var(--peach,#ffc9a8);white-space:nowrap;border-radius:999px;padding:1px 10px;font-size:12px;font-weight:700;position:absolute;top:-11px;left:14px}.pi-bubble-ghost{visibility:hidden}@keyframes pi-bubble-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.pi-tag-anchor{position:absolute;bottom:0;left:0;transform:translate(-50%)}.pi-hidden{display:none!important}.pi-label{will-change:transform;width:0;height:0;position:absolute;top:0;left:0}@media (width<=600px){.pi-pills{transform-origin:100% 0;transform:scale(.86);top:calc(10px + env(safe-area-inset-top))!important;gap:6px!important;right:12px!important}.pi-quests{font-size:13px;top:calc(112px + env(safe-area-inset-top))!important;max-width:calc(100vw - 150px)!important;left:12px!important;right:auto!important}.pi-hint{white-space:normal;text-align:center;font-size:14px}}@media (height<=500px){.pi-pills{transform-origin:100% 0;transform:scale(.86);top:calc(8px + env(safe-area-inset-top))!important;right:calc(120px + env(safe-area-inset-right))!important}.pi-quests{font-size:12px;top:calc(60px + env(safe-area-inset-top))!important;left:calc(12px + env(safe-area-inset-left))!important;max-width:240px!important;right:auto!important}}.minimap-root{pointer-events:none;font-family:var(--font-body);color:var(--brown);position:absolute;inset:0}.minimap-root.is-expanded{z-index:30}.minimap{pointer-events:auto}.minimap-compact{background:var(--cream);cursor:pointer;border-radius:28px;width:170px;height:170px;padding:6px;transition:transform .15s;position:absolute;top:110px;left:16px;box-shadow:0 6px 18px #5b463638}.minimap-compact:hover{transform:scale(1.03)}.minimap-compact .minimap-body,.minimap-compact .minimap-frame{width:100%;height:100%}.minimap-frame{background:#7ed3e6;border-radius:22px;position:relative;overflow:hidden}.minimap-canvas{aspect-ratio:1;width:100%;display:block}.minimap-north{background:var(--cream);width:20px;height:20px;font-family:var(--font-display);text-align:center;border-radius:50%;font-size:12px;font-weight:700;line-height:20px;position:absolute;top:6px;left:50%;transform:translate(-50%);box-shadow:0 1px 4px #5b463640}.minimap-hint{background:var(--cream);min-width:24px;height:24px;font-family:var(--font-display);text-align:center;border-radius:12px;padding:0 6px;font-size:13px;font-weight:700;line-height:24px;position:absolute;bottom:-4px;right:-4px;box-shadow:0 2px 6px #5b463640}.minimap-backdrop{pointer-events:auto;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#5b463647;animation:.15s minimap-fade;position:absolute;inset:0}.minimap-expanded{background:var(--cream);border-radius:20px;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);padding:16px 18px 18px;animation:.15s cubic-bezier(.34,1.56,.64,1) minimap-pop;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 12px 40px #5b46364d}.minimap-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.minimap-title{font-family:var(--font-display);font-size:22px;font-weight:600}.minimap-close{background:var(--peach);color:var(--brown);font-family:var(--font-display);cursor:pointer;border:none;border-radius:999px;padding:6px 16px;font-size:15px;font-weight:600;transition:transform .12s}.minimap-close:hover{transform:scale(1.05)}.minimap-expanded .minimap-body{align-items:flex-start;gap:16px;display:flex}.minimap-expanded .minimap-frame{flex:none;width:min(80vh - 70px,80vw - 190px,720px)}.minimap-legend{flex-direction:column;gap:8px;min-width:140px;margin:0;padding:0;font-size:15px;font-weight:700;list-style:none;display:flex}.minimap-legend li{align-items:center;gap:8px;display:flex}.mm-key{border:2px solid var(--brown);border-radius:50%;flex:none;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.mm-you{flex:none;width:18px;height:18px}.mm-villager{border:2px solid var(--cream-2);width:22px;height:22px;font-family:var(--font-display);font-size:11px;font-weight:700}.mm-item{background:#fffdf5;border-width:1px;width:10px;height:10px;margin:0 4px}.mm-home{background:#e9967a;border-color:#8a7260;border-radius:4px}.mm-quest{width:18px;height:18px;font-family:var(--font-display);background:#ffcf3f;border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:800;display:inline-flex}@media (width<=640px){.minimap-expanded .minimap-body{flex-direction:column}.minimap-expanded .minimap-frame{width:min(100vw - 68px,60vh)}.minimap-legend{flex-flow:wrap}}@keyframes minimap-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.92)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes minimap-fade{0%{opacity:0}to{opacity:1}}body.photo-mode .minimap,body.photo-mode .minimap-root{display:none}@media (width<=600px){.minimap-compact{top:calc(56px + env(safe-area-inset-top))!important;width:110px!important;height:110px!important;left:auto!important;right:12px!important}}@media (height<=500px){.minimap-compact{top:calc(8px + env(safe-area-inset-top))!important;left:auto!important;right:calc(12px + env(safe-area-inset-right))!important;width:100px!important;height:100px!important}.minimap-expanded .minimap-frame{width:min(100vh - 110px,60vw)!important}}.hud-dock{z-index:35;flex-direction:row-reverse;gap:8px;display:flex;position:absolute;bottom:96px;right:16px}.jn-button{background:var(--cream,#fff8ea);color:var(--brown,#5b4636);font:700 15px var(--font-display,"Fredoka", "Nunito", sans-serif);cursor:pointer;border:0;border-radius:999px;align-items:center;gap:6px;padding:6px 12px 6px 10px;display:flex;box-shadow:0 4px #5b46361f}.jn-button:hover{background:#fff1d6}.jn-button kbd,.jn-keys kbd{font:700 12px var(--font-display,"Fredoka", sans-serif);background:#f5e6cf;border-radius:6px;padding:1px 6px}.jn-panel{z-index:36;color:#5b4636;width:min(380px,100vw - 32px);max-height:calc(100vh - 260px);font-family:var(--font-display,"Fredoka", "Nunito", sans-serif);pointer-events:auto;background:#fff8ea;border-radius:22px;flex-direction:column;animation:.22s cubic-bezier(.3,1.4,.5,1) jn-in;display:flex;position:absolute;bottom:142px;right:16px;box-shadow:0 8px #5b463624,0 16px 40px #5b46362e}@keyframes jn-in{0%{opacity:0;transform:translateY(-8px)scale(.96)}to{opacity:1;transform:none}}.jn-top{align-items:center;gap:10px;padding:14px 16px 6px;display:flex}.jn-top h2{flex:1;margin:0;font-size:22px}.jn-bells{background:#ffe7a3;border-radius:999px;padding:3px 10px;font-size:14px;font-weight:700}.jn-close,.jn-clear{color:#5b4636;cursor:pointer;background:#f5e6cf;border:0;border-radius:999px;padding:4px 12px;font:600 13px inherit}.jn-tabs{gap:6px;padding:4px 16px 8px;display:flex}.jn-tabs button{color:#8a7260;cursor:pointer;background:#f5e6cf;border:0;border-radius:12px;flex:1;padding:7px 0;font:700 14px inherit}.jn-tabs button.on{color:#5b4636;background:#ffc9a8}.jn-body{padding:0 16px 16px;overflow-y:auto}.jn-body h3{text-transform:uppercase;letter-spacing:.06em;color:#a08670;margin:10px 0 6px;font-size:13px}.jn-body ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.jn-quest,.jn-folk{background:#fff;border-radius:14px;padding:10px 12px;box-shadow:0 2px #5b463614}.jn-done{opacity:.65}.jn-quest-head{align-items:center;gap:8px;display:flex}.jn-quest-head strong{font-size:16px}.jn-species{color:#4d7a5a;background:#e6f4ea;border-radius:999px;padding:1px 8px;font-size:12px}.jn-progress{background:#ffe7a3;border-radius:999px;margin-left:auto;padding:1px 8px;font-size:13px;font-weight:700}.jn-hearts{gap:1px;margin-left:auto;display:inline-flex}.jn-objective{margin-top:4px;font-size:14px;line-height:1.35}.jn-meta{color:#a08670;flex-wrap:wrap;gap:4px 12px;margin-top:4px;font-size:12px;display:flex}.jn-guide{color:#2f5a4a;cursor:pointer;background:#9ad6c0;border:0;border-radius:999px;margin-top:8px;padding:5px 14px;font:700 13px inherit}.jn-guide:hover{background:#86ccb3}.jn-clear{margin-top:12px}.jn-keys{border-collapse:collapse;width:100%;font-size:14px}.jn-keys td{padding:5px 4px}.jn-keys td:first-child{width:90px}.jn-arrow{z-index:31;pointer-events:none;width:1px;height:1px;font-family:var(--font-display,"Fredoka", "Nunito", sans-serif);position:absolute;top:0;left:0}.jn-arrow-tip{width:28px;height:28px;transform:rotate(var(--rot,0deg));background:#ffcf3f;border-radius:50%;position:absolute;top:-14px;left:-14px;box-shadow:0 3px #5b463633}.jn-arrow-tip:after{content:"";border:7px solid #0000;border-bottom:11px solid #ffcf3f;position:absolute;top:-9px;left:7px}.jn-arrow[data-off="0"] .jn-arrow-tip{display:none}.jn-arrow-label{white-space:nowrap;color:#5b4636;background:#fff8ea;border-radius:999px;padding:2px 10px;font-size:13px;font-weight:700;position:absolute;top:20px;left:0;transform:translate(-50%);box-shadow:0 3px #5b46361f}@media (width<=600px),(height<=500px){.jn-panel{overflow-y:auto;left:8px!important;right:8px!important;bottom:calc(8px + env(safe-area-inset-bottom))!important;z-index:45!important;border-radius:20px!important;width:auto!important;max-height:72vh!important}}@media (height<=500px){.jn-panel{max-height:calc(100vh - 16px)!important;left:25%!important;right:25%!important}}.pg-root{--pg-accent:var(--hud-accent,#ffb38a);--pg-cream:#fff8ea;--pg-cream-2:#fdf0d8;--pg-brown:#5b4636;--pg-soft:#8a7260;pointer-events:none;font-family:var(--font-body,"Nunito", sans-serif);color:var(--pg-brown);z-index:30;position:absolute;inset:0}.pg-root button{font-family:var(--font-display,"Fredoka", sans-serif);color:var(--pg-brown)}@keyframes pg-pop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pg-pop-center{0%{opacity:0;transform:translate(-50%,-50%)scale(.9)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.pg-pill{pointer-events:auto;background:var(--pg-cream);cursor:pointer;border:0;border-radius:999px;align-items:center;gap:10px;padding:4px 12px 4px 4px;font-size:15px;font-weight:700;transition:transform .15s cubic-bezier(.34,1.56,.64,1);animation:.3s cubic-bezier(.34,1.56,.64,1) pg-pop;display:flex;position:absolute;bottom:96px;right:150px;box-shadow:0 3px #5b46361f,0 6px 14px #5b46361a}.pg-pill:hover{transform:translateY(-2px)scale(1.03)}.pg-pill:active{transform:scale(.96)}.pg-pill kbd{font:700 12px var(--font-display,"Fredoka", sans-serif);background:#f5e6cf;border-radius:6px;padding:1px 6px}.pg-ring{place-items:center;width:38px;height:38px;display:grid;position:relative}.pg-ring svg{position:absolute;inset:0}.pg-ring svg circle:last-child{transition:stroke-dasharray .4s}.pg-ring b{font:700 16px var(--font-display,"Fredoka", sans-serif)}.pg-pill-stat{align-items:center;gap:4px;display:inline-flex}.pg-pill-stat.pg-all{color:#3f8a5a}.pg-passport{pointer-events:auto;background:var(--pg-cream);border:3px solid var(--pg-accent);z-index:40;border-radius:20px;flex-direction:column;width:min(460px,100vw - 32px);max-height:min(600px,100vh - 140px);animation:.15s cubic-bezier(.34,1.56,.64,1) pg-pop-center;display:flex;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 6px #5b463624,0 18px 40px #5b463638}.pg-passport-head{background:repeating-linear-gradient(135deg, var(--pg-cream-2) 0 10px, var(--pg-cream) 10px 20px);justify-content:space-between;align-items:center;padding:14px 16px 6px 20px;display:flex}.pg-passport-head h2{font:700 24px var(--font-display,"Fredoka", sans-serif);margin:0}.pg-close{cursor:pointer;background:#f5e6cf;border:0;border-radius:12px;place-items:center;width:32px;height:32px;display:grid}.pg-close:hover{background:#f0d9b8}.pg-tabs{background:var(--pg-cream-2);gap:4px;padding:6px 12px 0;display:flex}.pg-tabs button{cursor:pointer;color:var(--pg-soft);background:0 0;border:0;border-radius:14px 14px 0 0;flex:1;padding:8px 4px;font-size:14px;font-weight:600}.pg-tabs button:hover{background:#ffffff80}.pg-tabs button.pg-tab-on{background:var(--pg-cream);color:var(--pg-brown)}.pg-body{padding:14px 18px 18px;overflow-y:auto}.pg-tab{flex-direction:column;gap:10px;display:flex}.pg-muted{color:var(--pg-soft)}.pg-small{font-size:12px}.pg-grow{flex:1;min-width:0}.pg-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.pg-list li{background:#fff;border-radius:14px;align-items:center;gap:10px;padding:9px 12px;font-size:14px;font-weight:700;display:flex;box-shadow:0 2px #5b463614}.pg-list li.pg-got{background:#eefbf2}.pg-chip{font:700 12px var(--font-display,"Fredoka", sans-serif);background:var(--pg-accent);border-radius:999px;padding:2px 8px}.pg-dot{border:2.5px solid #e6d3b6;border-radius:50%;flex:none;width:16px;height:16px}.pg-reward{align-items:center;gap:4px;font-size:13px;display:inline-flex}.pg-reward .pg-small{margin-left:4px}.pg-mini-bar{background:#f3e6d2;border-radius:999px;height:6px;margin-top:5px;display:block;overflow:hidden}.pg-mini-bar span,.pg-bar span{background:var(--pg-accent);border-radius:999px;height:100%;transition:width .3s;display:block}.pg-bar{background:#f3e6d2;border-radius:999px;height:14px;overflow:hidden}.pg-bond-head{align-items:center;gap:14px;display:flex}.pg-bond-level{background:var(--pg-accent);width:56px;height:56px;font:700 28px var(--font-display,"Fredoka", sans-serif);border-radius:50%;place-items:center;display:grid;box-shadow:inset 0 -4px #5b46361f}.pg-bond-title{font:700 22px var(--font-display,"Fredoka", sans-serif)}.pg-streak-row{background:#fff1e0;border-radius:14px;align-items:center;gap:8px;padding:8px 12px;font-size:14px;display:flex}.pg-goal{background:#eef6ff;border-radius:14px;margin:0;padding:8px 12px;font-size:14px;font-weight:700}.pg-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.pg-card{text-align:center;background:#fff;border-radius:16px;flex-direction:column;align-items:center;gap:2px;padding:10px 4px 8px;display:flex;box-shadow:0 2px #5b463614}.pg-card-rare{background:linear-gradient(160deg,#fffbe8,#fff)}.pg-card-rare:not(.pg-locked){box-shadow:0 0 0 2px #ffe07a,0 2px #5b463614}.pg-locked{opacity:.75}.pg-card-name{font:600 13px var(--font-display,"Fredoka", sans-serif);line-height:1.1}.pg-stamps{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.pg-stamp{text-align:center;background:#fffdf8;border:2px dashed #e6d3b6;border-radius:16px;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;display:flex}.pg-stamp-got{border:2px solid var(--pg-accent);transform:rotate(var(--tilt));background:#fff}.pg-stamp-name{font:600 13px var(--font-display,"Fredoka", sans-serif)}.pg-btn,.pg-btn-sm{cursor:pointer;background:var(--pg-accent);border:0;font-weight:700;transition:transform .15s cubic-bezier(.34,1.56,.64,1);box-shadow:0 3px #5b463629}.pg-btn{border-radius:999px;padding:10px 22px;font-size:17px}.pg-btn-sm{border-radius:999px;align-items:center;gap:4px;padding:5px 12px;font-size:14px;display:inline-flex}.pg-btn:hover,.pg-btn-sm:hover:not(:disabled){transform:translateY(-1px)scale(1.04)}.pg-btn-sm:disabled{opacity:.45;cursor:default;box-shadow:none}.pg-welcome{pointer-events:auto;background:var(--pg-cream);border:3px solid var(--pg-accent);text-align:center;z-index:41;border-radius:20px;width:min(380px,100vw - 32px);padding:18px 22px 20px;animation:.2s cubic-bezier(.34,1.56,.64,1) pg-pop-center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 6px #5b463624,0 18px 40px #5b463638}.pg-welcome h2{font:700 28px var(--font-display,"Fredoka", sans-serif);margin:6px 0 2px}.pg-welcome-top{background:#fff1e0;border-radius:999px;align-items:center;gap:6px;padding:4px 12px 4px 8px;display:inline-flex}.pg-streak{font:700 15px var(--font-display,"Fredoka", sans-serif);color:#c0662a}.pg-sub{color:var(--pg-soft);margin:0 0 10px;font-weight:700}.pg-away{text-align:left;flex-direction:column;gap:6px;margin:0 0 10px;padding:0;list-style:none;display:flex}.pg-away li{background:#fff;border-radius:12px;align-items:center;gap:8px;padding:7px 12px;font-size:14px;font-weight:700;display:flex}.pg-welcome .pg-goal{text-align:left;margin-bottom:14px}.pg-celebrate{pointer-events:auto;text-align:center;background:var(--pg-cream);z-index:42;cursor:pointer;border:4px solid #ffd65c;border-radius:24px;padding:16px 34px 18px;animation:.26s cubic-bezier(.34,1.56,.64,1) pg-pop-center;position:absolute;top:22%;left:50%;transform:translate(-50%,-50%);box-shadow:0 6px #5b463624,0 18px 40px #5b463638}.pg-celebrate-kicker{font:700 16px var(--font-display,"Fredoka", sans-serif);color:#c99a2e;letter-spacing:.04em}.pg-celebrate-title{font:700 34px var(--font-display,"Fredoka", sans-serif);line-height:1.1}.pg-celebrate-reward{color:var(--pg-soft);margin-top:6px;font-weight:800}.pg-confetti{width:0;height:0;position:absolute;top:50%;left:50%}.pg-confetti span{--a:calc(var(--i) * 25.7deg);animation:1.1s cubic-bezier(.2,.8,.3,1) forwards pg-burst;position:absolute}@keyframes pg-burst{0%{transform:rotate(var(--a)) translateY(0) rotate(calc(-1 * var(--a))) scale(.4);opacity:1}to{transform:rotate(var(--a)) translateY(-150px) rotate(calc(-1 * var(--a))) scale(1.2);opacity:0}}.pg-notice{background:var(--pg-cream);font:700 15px var(--font-display,"Fredoka", sans-serif);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;max-width:calc(100vw - 32px);padding:8px 16px;animation:.22s cubic-bezier(.34,1.56,.64,1) pg-notice;display:flex;position:absolute;top:128px;left:50%;transform:translate(-50%);box-shadow:0 3px #5b46361f,0 6px 14px #5b46361a}.pg-notice.pg-rare{background:linear-gradient(90deg,#fff4c2,#ffe3f0,#dff2ff);border:2px solid #ffd65c}@keyframes pg-notice{0%{opacity:0;transform:translate(-50%)scale(.85)}to{opacity:1;transform:translate(-50%)scale(1)}}@media (width<=720px){.pg-pill{bottom:150px;right:16px}.pg-notice{white-space:normal}}@media (width<=600px),(height<=500px){.pg-welcome,.pg-passport{box-sizing:border-box;overflow-y:auto;width:calc(100vw - 24px)!important;max-height:calc(100vh - 24px)!important}.pg-pill{transform-origin:0 100%;transform:scale(.9)}}@media (height<=500px){.pg-welcome{width:min(460px,100vw - 24px)!important;padding-top:14px!important;padding-bottom:14px!important}.pg-celebrate{top:30%!important}}html.is-touch,html.is-touch body{overscroll-behavior:none;-webkit-tap-highlight-color:transparent}html.is-touch [data-testid=play]{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.tc-root{pointer-events:none;z-index:6;font-family:Fredoka,Nunito,system-ui,sans-serif;position:absolute;inset:0}.tc-stick{left:calc(18px + env(safe-area-inset-left));bottom:calc(26px + env(safe-area-inset-bottom));pointer-events:auto;touch-action:none;background:radial-gradient(circle,#fff8ea47 0%,#fff8ea80 100%);border:3px solid #fff8ead9;border-radius:50%;place-items:center;width:132px;height:132px;transition:background .15s;display:grid;position:absolute;box-shadow:0 6px 18px #5b46362e}.tc-stick.active{background:radial-gradient(circle,#fff8ea66 0%,#fff8eaa8 100%)}.tc-knob{will-change:transform;background:#fff8ea;border:3px solid #e9d9bd;border-radius:50%;width:60px;height:60px;box-shadow:0 4px 10px #5b463640}.tc-stick.running .tc-knob{background:#ffe7b8;border-color:#f0b85c}.tc-actions{right:calc(16px + env(safe-area-inset-right));bottom:calc(22px + env(safe-area-inset-bottom));pointer-events:none;width:170px;height:150px;position:absolute}.tc-btn{color:#5b4636;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;background:#fff8ead1;border:3px solid #ffffffe6;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:1px;width:58px;height:58px;padding:0;font:600 10px/1 Fredoka,Nunito,system-ui,sans-serif;transition:transform 80ms,background 80ms;display:flex;position:absolute;box-shadow:0 5px 14px #5b463633}.tc-btn:active{background:#ffe7b8f2;transform:scale(.9)}.tc-btn svg{width:22px;height:22px}.tc-btn.big{background:#ffeecde6;width:80px;height:80px;font-size:12px;bottom:0;right:0}.tc-btn.big svg{width:30px;height:30px}.tc-btn:nth-child(2){bottom:4px;right:92px}.tc-btn:nth-child(3){bottom:90px;right:20px}.tc-label{pointer-events:none}.tc-root.hidden{display:none}@media (height<=500px){.tc-stick{width:116px;height:116px;left:calc(16px + env(safe-area-inset-left));bottom:calc(14px + env(safe-area-inset-bottom))}.tc-knob{width:52px;height:52px}.tc-actions{bottom:calc(10px + env(safe-area-inset-bottom))}}:root{--cream:#fff8ea;--cream-2:#fdf0d8;--brown:#5b4636;--brown-soft:#8a7260;--peach:#ffc9a8;--lilac:#d9c8f5;--mint:#bfeccf;--sky:#cfeaff;--accent:var(--peach);--radius:20px;--font-display:"Fredoka", "Nunito", system-ui, sans-serif;--font-body:"Nunito", "Fredoka", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{background:var(--sky);width:100%;height:100%;color:var(--brown);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;overflow:hidden}canvas{touch-action:none;display:block}.screen{position:absolute;inset:0}.panel{background:var(--cream);border-radius:var(--radius);color:var(--brown);box-shadow:0 6px #5b46361f,0 12px 30px #5b46361f}.btn{font-family:var(--font-display);color:var(--brown);background:var(--accent);cursor:pointer;border:none;border-radius:999px;padding:14px 32px;font-size:20px;font-weight:600;transition:transform .12s,box-shadow .12s;box-shadow:0 5px #5b463638}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(3px);box-shadow:0 2px #5b463638}.btn:disabled{opacity:.6;cursor:default}.title{font-family:var(--font-display);letter-spacing:.5px;font-weight:700}.hud-seed{font-family:var(--font-display);color:var(--brown-soft);pointer-events:none;background:#fff8eacc;border-radius:999px;padding:4px 12px;font-size:13px;position:absolute;bottom:12px;right:16px}.link{color:var(--brown-soft);font-family:var(--font-body);cursor:pointer;background:0 0;border:none;font-size:14px;font-weight:700;text-decoration:underline}.sample-scene{inset:0;position:absolute!important}.landing,.reading{background:linear-gradient(#cfeaff 0%,#e8f6ff 55%,#fff4dc 100%)}.landing.is-dragging .landing-card{outline:4px dashed var(--peach);outline-offset:6px}.landing-card{text-align:center;width:min(420px,100% - 32px);padding:26px 28px 24px;animation:.32s cubic-bezier(.34,1.56,.64,1) pop-in;position:absolute;bottom:7vh;left:50%;transform:translate(-50%)}.landing-kicker{font-family:var(--font-display);letter-spacing:2px;text-transform:uppercase;color:var(--brown-soft);font-size:13px;font-weight:600}.landing-title{margin:2px 0 6px;font-size:52px;line-height:1}.landing-sub{margin:0 0 18px;line-height:1.4}.landing-upload{padding:16px 40px;font-size:22px}.landing-hint{color:var(--brown-soft);margin:10px 0 0;font-size:13px}.landing-error{color:#b6504a;margin:12px 0 0;font-weight:700}.landing-preview{flex-direction:column;align-items:center;gap:12px;display:flex}.polaroid{background:#fffdf8;border-radius:6px;padding:10px 10px 30px;position:relative;transform:rotate(-3deg);box-shadow:0 8px 22px #5b463633}.polaroid img{object-fit:cover;border-radius:3px;width:180px;height:180px;display:block}.reading-stack{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:26px;display:flex;position:absolute;inset:0}.polaroid-float{animation:2.4s ease-in-out infinite float}.polaroid-float img{width:220px;height:220px}.reading-status{font-family:var(--font-display);padding:14px 26px;font-size:20px;font-weight:600}.dots{gap:4px;margin-left:6px;display:inline-flex}.dots i{background:var(--brown);border-radius:50%;width:6px;height:6px;animation:1s ease-in-out infinite bounce}.dots i:nth-child(2){animation-delay:.15s}.dots i:nth-child(3){animation-delay:.3s}.sparkle{clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);background:#ffd66b;width:14px;height:14px;animation:1.6s ease-in-out infinite twinkle;position:absolute}.sparkle.s1{top:-8px;right:-6px}.sparkle.s2{animation-delay:.5s;bottom:40px;left:-10px}.sparkle.s3{width:10px;height:10px;animation-delay:1s;top:40%;right:-14px}@keyframes float{0%,to{transform:translateY(0)rotate(-3deg)}50%{transform:translateY(-12px)rotate(2deg)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes twinkle{0%,to{opacity:.4;transform:scale(.4)rotate(0)}50%{opacity:1;transform:scale(1.1)rotate(45deg)}}@keyframes pop-in{0%{opacity:0;transform:translate(-50%)scale(.9)}to{opacity:1;transform:translate(-50%)scale(1)}}.hud{pointer-events:none;font-family:var(--font-body);position:absolute;inset:0}.hud-card{padding:10px 18px 12px;animation:.3s cubic-bezier(.34,1.56,.64,1) hud-pop;position:absolute;top:16px;left:16px}.hud-name{font-size:26px;line-height:1.1}.hud-traits{color:var(--brown-soft);font-size:14px;font-weight:700}.hud-mode{font-family:var(--font-display);border-radius:999px;padding:8px 20px;font-size:17px;font-weight:600;transition:background .2s;position:absolute;top:16px;left:50%;transform:translate(-50%)}.hud-mode.mode-pet{background:#ffe7d6}.hud-hints{flex-wrap:wrap;gap:6px;max-width:calc(100% - 260px);display:flex;position:absolute;bottom:12px;left:16px}.hud-hint{color:var(--brown);background:#fff8eae0;border-radius:999px;padding:4px 12px;font-size:13px;font-weight:700}@keyframes hud-pop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}
