:root{--ink: #5b4a6b;--ink-soft: #8a7a9a;--glass: rgba(255, 255, 255, .72);--glass-edge: rgba(255, 255, 255, .95);--pink: #ff9db5;--pink-deep: #f27a9b;--shadow: 0 6px 0 rgba(120, 90, 150, .18), 0 10px 24px rgba(120, 90, 150, .18);--font: "Fredoka", ui-rounded, "Segoe UI", system-ui, sans-serif}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;background:#bfe6ff;font-family:var(--font);color:var(--ink);-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}#stage{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;image-rendering:pixelated;cursor:none;touch-action:none}.hud{position:fixed;top:max(12px,env(safe-area-inset-top));left:12px;right:12px;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;align-items:flex-start;pointer-events:none}.pill{pointer-events:auto;background:var(--glass);border:2px solid var(--glass-edge);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:999px;box-shadow:var(--shadow);padding:6px 14px;font-weight:600;display:flex;align-items:center;gap:6px}.title{font-size:18px}.title-flower{display:inline-block;animation:spin 6s linear infinite}.name{color:var(--pink-deep);outline:none;border-radius:8px;padding:0 2px;min-width:1ch;cursor:text;user-select:text;-webkit-user-select:text}.name:focus{background:#ff9db52e}.stats{font-size:14px;gap:12px}.stats b{font-weight:700}.stats b.bump{display:inline-block;animation:bump .4s ease}.toolbar{position:fixed;left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translate(-50%);display:flex;gap:6px;padding:6px;background:var(--glass);border:2px solid var(--glass-edge);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:24px;box-shadow:var(--shadow);max-width:calc(100vw - 24px)}.toolbar button{font:inherit;color:var(--ink);border:none;background:#fff;border-radius:18px;width:58px;height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;cursor:pointer;box-shadow:0 3px #eadff2;transition:transform .15s cubic-bezier(.3,1.6,.5,1),box-shadow .15s,background .2s}.toolbar button .ico{font-size:22px;line-height:1}.toolbar button small{font-size:11px;font-weight:600;color:var(--ink-soft)}.toolbar button:hover{transform:translateY(-3px) rotate(-3deg);background:#fff5f8}.toolbar button:nth-child(2n):hover{transform:translateY(-3px) rotate(3deg)}.toolbar button:active{transform:translateY(2px) scale(.94);box-shadow:0 1px #eadff2}.toolbar button.on{background:#ffe3ec;box-shadow:0 3px #ffc1d3}.toolbar button:focus-visible{outline:3px solid var(--pink);outline-offset:2px}.hint,.toast{position:fixed;left:50%;transform:translate(-50%);background:var(--glass);border:2px solid var(--glass-edge);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:999px;box-shadow:var(--shadow);padding:8px 16px;font-size:14px;font-weight:600;text-align:center;pointer-events:none;max-width:calc(100vw - 32px)}.hint{top:38%;white-space:nowrap;transition:opacity .8s,transform .8s;animation:float 3s ease-in-out infinite}.hint.gone{opacity:0}.toast{bottom:calc(max(12px,env(safe-area-inset-bottom)) + 80px);opacity:0;transition:opacity .3s,transform .3s cubic-bezier(.3,1.6,.5,1);transform:translate(-50%) translateY(10px) scale(.9)}.toast.show{opacity:1;transform:translate(-50%) translateY(0) scale(1)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes bump{50%{transform:scale(1.5);color:var(--pink-deep)}}@keyframes float{50%{margin-top:-6px}}@media(max-width:480px){.title{font-size:15px}.stats{font-size:12px;gap:8px}.hint{font-size:13px;border-radius:22px}.toolbar{gap:4px;padding:5px;border-radius:20px}.toolbar button{width:48px;height:48px;border-radius:15px}.toolbar button .ico{font-size:19px}.toolbar button small{font-size:9.5px}}@media(prefers-reduced-motion:reduce){.title-flower,.hint{animation:none}}
