:root{--accent:#8cd7b6;--on-accent:#0d2a20;--ground:#1d2d3d;--ink:#15123a;--surface:#15123ad1;--surface-solid:#1f1c4d;--surface-hi:#2b2766;--text:#fff;--muted:#c9c6f0;--outline:#ffffff2e;--coin:#ffd54a;--go:#6ee07f;--radius:24px;--font-ui:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-title:"Chakra Petch", "IBM Plex Sans", system-ui, sans-serif;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--ground);height:100%;color:var(--text);font-family:var(--font-ui);overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;margin:0;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0}button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}[hidden]{display:none!important}#app{position:fixed;inset:0}#scene{width:100%;height:100%;display:block;position:absolute;inset:0}#touch{display:none;position:absolute;inset:0}body.playing #touch{display:block}#stick{pointer-events:none;opacity:0;background:#ffffff1f;border:2px solid #ffffff59;border-radius:50%;width:128px;height:128px;margin:-64px 0 0 -64px;transition:opacity .15s;position:absolute;top:calc(100% - 140px);left:110px}body.playing #stick{opacity:.35}#stick.active{opacity:1!important}#knob{background:var(--accent);border-radius:50%;width:56px;height:56px;position:absolute;top:36px;left:36px;box-shadow:0 4px 14px #00000059}.screen{touch-action:pan-y;padding:calc(24px + var(--safe-t)) 16px calc(24px + var(--safe-b));background:radial-gradient(circle at 20% 15%, #8cd7b640, transparent 40%), radial-gradient(circle at 80% 85%, #b9a5ff40, transparent 45%), var(--ground);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex;position:absolute;inset:0;overflow-y:auto}.wordmark{font-family:var(--font-title);letter-spacing:6px;color:var(--accent);text-shadow:0 6px #00000040;margin:0;font-size:clamp(44px,12vw,84px);font-weight:700}.tagline{letter-spacing:2px;color:#9ad2fe;margin-top:-10px;font-size:11px}.who{margin-top:8px;font-size:22px;font-weight:700}.ver{color:var(--muted);font-size:12px}.profiles{flex-wrap:wrap;justify-content:center;gap:14px;max-width:640px;display:flex}.profile{border-radius:var(--radius);background:var(--surface-hi);border:2px solid var(--outline);flex-direction:column;align-items:center;gap:4px;width:140px;padding:12px 8px 14px;transition:transform .12s;display:flex}.profile:active{transform:scale(.95)}.profile.new{border-style:dashed;justify-content:center;min-height:176px}.plus{color:var(--accent);font-size:64px;line-height:1}.profile-name{font-size:18px;font-weight:700}.profile-coins{color:var(--coin);font-size:14px}.svg-wrap{display:flex}.svg-wrap svg{display:block}.loading{flex-direction:column;align-items:center;gap:12px;font-size:20px;font-weight:700;animation:1.2s ease-in-out infinite bob;display:flex}@keyframes bob{50%{transform:translateY(-10px)}}.back{top:calc(14px + var(--safe-t));background:var(--surface-hi);border-radius:50%;width:56px;height:56px;font-size:26px;position:absolute;left:14px}.creator-preview{animation:2s ease-in-out infinite bob}.name-row{gap:10px;display:flex}.name-btn{font-family:var(--font-title);background:var(--surface-hi);border:2px solid var(--outline);border-radius:999px;padding:8px 22px;font-size:28px;font-weight:700}.type-btn{background:var(--surface-hi);border-radius:50%;width:56px;font-size:22px}.pick-row{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.pick{background:var(--surface-hi);border:3px solid #0000;border-radius:18px;padding:6px}.pick.on{border-color:var(--accent)}.swatch{border:4px solid #ffffff40;border-radius:50%;width:54px;height:54px;font-size:20px}.swatch.on{border-color:#fff;transform:scale(1.12)}.big-btn{background:var(--surface-hi);border:2px solid var(--outline);border-radius:999px;min-width:96px;min-height:72px;padding:0 24px;font-size:34px;font-weight:700}.big-btn.go{background:var(--go);color:#0b2a12;border-color:#0000;box-shadow:0 6px #3a9e4a}.big-btn.go:active{transform:translateY(4px);box-shadow:0 2px #3a9e4a}.big-btn.wide{min-width:240px;font-size:22px}.hud{pointer-events:none;position:absolute;inset:0}.hud button,.hud .modal-wrap{pointer-events:auto}.top{top:calc(10px + var(--safe-t));left:calc(10px + var(--safe-l));right:calc(10px + var(--safe-r));flex-wrap:wrap;align-items:flex-start;gap:10px;display:flex;position:absolute}.chips{flex-direction:column;gap:6px;display:flex}.chip{background:var(--surface);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:18px;font-weight:700;display:inline-flex}.chip.icon-only{justify-content:center;width:52px;height:52px;margin-left:auto;padding:0;font-size:24px}.banner{background:var(--surface);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:2px solid var(--accent);border-radius:999px;flex:1;align-items:center;gap:8px;min-width:0;max-width:520px;margin:0 auto;padding:6px 8px 6px 12px;display:flex}.banner.hidden{visibility:hidden}.banner.flash{animation:.6s ease-out flash}@keyframes flash{0%{background:var(--accent);transform:scale(1.08)}}.banner-icon,.banner-step-icon{font-size:26px}.banner-step{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:15px;font-weight:700;overflow:hidden}.banner .say,.banner .quit{background:#ffffff1f;border-radius:50%;flex-shrink:0;width:40px;height:40px;font-size:18px}.toasts{top:calc(80px + var(--safe-t));flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;left:0;right:0}.toast{background:var(--surface);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:999px;align-items:center;gap:10px;max-width:calc(100vw - 32px);padding:10px 18px;font-size:16px;font-weight:700;transition:opacity .4s,transform .4s;animation:.3s ease-out pop;display:flex}.toast.out{opacity:0;transform:translateY(-10px)}.toast-icon{font-size:26px}@keyframes pop{0%{opacity:0;transform:scale(.6)}70%{transform:scale(1.06)}}.coin-pop{top:calc(16px + var(--safe-t));left:calc(110px + var(--safe-l));color:var(--coin);text-shadow:0 2px 6px #00000080;font-size:24px;font-weight:700;animation:1.4s ease-out forwards rise;position:absolute}@keyframes rise{to{opacity:0;transform:translateY(-40px)}}.pads{right:calc(12px + var(--safe-r));bottom:calc(14px + var(--safe-b));width:250px;height:230px;position:absolute}.pad{background:var(--surface);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);touch-action:none;border:3px solid #ffffff4d;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:84px;height:84px;transition:transform 80ms;display:flex;position:absolute}.pad.down{background:var(--surface-hi);transform:scale(.9)}.pad-icon{font-size:36px;line-height:1}.pad-label{margin-top:2px;font-size:12px;font-weight:700}.pad-jump,.pad-up{border-color:var(--accent);width:100px;height:100px;bottom:0;right:0}.pad-grab,.pad-down{bottom:0;right:112px}.pad-grab.dim{opacity:.45}.pad-grab.on{border-color:var(--coin);background:#ffd54a40}.pad-flop{width:70px;height:70px;bottom:112px;right:8px}.pad-flop .pad-icon{font-size:30px}.pad-action{border-color:var(--coin);background:#1f1c4deb;width:96px;height:96px;bottom:100px;right:96px}.pad-action.pulse{border-color:#ff5fa2;animation:.5s ease-in-out infinite alternate pulse}@keyframes pulse{to{transform:scale(1.14);box-shadow:0 0 24px #ff5fa2}}.emote-btn{padding:4px 12px;font-size:22px}.emote-row{background:var(--surface);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:20px;flex-wrap:wrap;gap:6px;max-width:220px;padding:6px;display:flex}.emote-row button{pointer-events:auto;background:#ffffff1f;border-radius:50%;width:56px;height:56px;font-size:30px}.coop-box{border:1px solid var(--outline);background:#8cd7b614;border-radius:20px;flex-direction:column;align-items:center;gap:10px;width:100%;padding:14px 16px;display:flex}.coop-note{text-align:center;font-weight:600}.coop-family{flex-direction:column;align-items:center;gap:8px;width:100%;display:flex}.coop-note.small{color:var(--muted);font-size:13px}.invite-code{font-family:var(--font-title);letter-spacing:3px;background:var(--surface-hi);border:2px solid var(--accent);-webkit-user-select:text;user-select:text;border-radius:16px;padding:10px 18px;font-size:34px;font-weight:700}.family-input{font:inherit;font-family:var(--font-title);letter-spacing:2px;text-transform:uppercase;text-align:center;border:2px solid var(--accent);background:var(--surface-hi);width:min(320px,90vw);color:var(--text);-webkit-user-select:text;user-select:text;border-radius:14px;padding:12px;font-size:26px}.link-btn{color:var(--muted);font-size:13px;font-weight:600;text-decoration:underline}.choices{left:50%;bottom:calc(24px + var(--safe-b));gap:14px;display:flex;position:absolute;transform:translate(-50%)}.choice{pointer-events:auto;border:5px solid #fff;border-radius:50%;width:76px;height:76px;transition:transform 80ms;box-shadow:0 6px 16px #00000059}.choice.down{transform:scale(.88)}@media (max-width:600px){.choices{bottom:calc(260px + var(--safe-b));gap:10px}.choice{width:64px;height:64px}}.big-btn.dim,.pet-pick.dim{opacity:.45}.pet-row{flex-wrap:wrap;justify-content:center}.pet-pick{background:var(--surface-hi);border:3px solid var(--outline);border-radius:24px;width:96px;height:96px}.modal-wrap{padding:calc(16px + var(--safe-t)) 16px calc(16px + var(--safe-b));background:#080a1e8c;justify-content:center;align-items:center;animation:.15s fade;display:flex;position:absolute;inset:0}@keyframes fade{0%{opacity:0}}.card{touch-action:pan-y;background:var(--surface-solid);border:2px solid var(--outline);border-radius:28px;flex-direction:column;align-items:center;gap:14px;width:min(460px,100%);max-height:100%;padding:26px 20px 22px;animation:.25s ease-out pop;display:flex;position:relative;overflow-y:auto;box-shadow:0 16px 40px #00000073}.card h2{font-family:var(--font-title);margin:0;font-size:26px}.modal-x{background:#ffffff1a;border-radius:50%;width:44px;height:44px;font-size:18px;position:absolute;top:10px;right:10px}.row{gap:14px;display:flex}.job-big{font-size:84px;line-height:1}.job-pay,.shop-coins{color:var(--coin);font-size:22px;font-weight:700}.tabs{gap:8px;display:flex}.tab{background:var(--surface-hi);border:2px solid #0000;border-radius:999px;width:72px;height:52px;font-size:26px}.tab.on{border-color:var(--accent)}.shop-grid{grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:10px;width:100%;display:grid}.item{aspect-ratio:1;background:var(--surface-hi);border:3px solid #0000;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}.item.wearing{border-color:var(--accent)}.item.poor{opacity:.5}.item.locked{opacity:.4}.item-icon{font-size:38px}.item-price{color:var(--coin);min-height:18px;font-size:14px;font-weight:700}.swatch-row{flex-wrap:wrap;grid-column:1/-1;justify-content:center;gap:12px;display:flex}.stats{gap:16px;font-size:20px;font-weight:700;display:flex}.settings{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.setting{background:var(--surface-hi);opacity:.6;border:2px solid #0000;border-radius:999px;align-items:center;gap:8px;padding:10px 16px;font-weight:600;display:flex}.setting.on{border-color:var(--accent);opacity:1}.about{border:1px solid var(--outline);background:#ffffff0d;border-radius:20px;width:100%;margin-top:6px;padding:14px 16px}.about-label{letter-spacing:2px;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:700}.about-row{justify-content:space-between;align-items:center;padding:10px 0;display:flex}.about-name{font-size:15px;font-weight:700}.about-ver{color:var(--muted);margin-top:2px;font-size:12px}.about-icon{border:1px solid var(--outline);border-radius:12px;flex-shrink:0;width:44px;height:44px}.about-tm{letter-spacing:2px;color:var(--muted);margin-top:4px;font-size:11px}.about-legal{border-top:1px solid var(--outline);gap:20px;margin-top:14px;padding-top:14px;display:flex}.about-legal a{color:var(--accent);font-size:13px;font-weight:600;text-decoration:none}@media (max-width:600px){.banner{flex-basis:100%;order:3;max-width:none}.banner-step{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.2;display:-webkit-box}.toasts{top:calc(150px + var(--safe-t))}}@media (max-width:420px){.pads{transform-origin:100% 100%;transform:scale(.88)}.banner-step{font-size:13px}}@media (prefers-reduced-motion:reduce){.creator-preview,.loading,.pad-action.pulse,.banner.flash{animation:none}}
