.fp-controls{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;z-index:1;position:absolute;inset:0}.fp-stick{border:var(--stroke-regular) solid #ffffff8c;background:color-mix(in srgb, var(--color-backdrop) 35%, transparent);opacity:0;pointer-events:none;width:112px;height:112px;transition:opacity var(--motion-fast) var(--motion-ease);border-radius:50%;position:absolute;top:0;left:0}.fp-stick.on{opacity:1}.fp-stick-knob{background:#fffc;border-radius:50%;width:52px;height:52px;position:absolute;top:30px;left:30px;box-shadow:0 3px #00000059}button.fp-fire{right:max(var(--space-5), env(safe-area-inset-right));bottom:max(var(--space-6), env(safe-area-inset-bottom));border:var(--stroke-regular) solid #ffffffb3;background:color-mix(in srgb, var(--color-backdrop) 45%, transparent);color:#fff;touch-action:none;border-radius:50%;width:88px;height:88px;min-height:88px;padding:0;position:absolute;box-shadow:0 4px #0000004d}button.fp-fire.down{background:color-mix(in srgb, var(--color-accent) 70%, transparent);transform:translateY(3px)scale(.95);box-shadow:0 1px #0000004d}.fp-hint{pointer-events:none;font-family:var(--font-display);color:#ffffffbf;text-align:center;text-shadow:0 2px #00000080;transition:opacity var(--motion-base) var(--motion-ease);grid-template-columns:1fr 1fr;font-weight:800;display:grid;position:absolute;inset:62% 0 auto}.fp-hint.gone{opacity:0}.fp-hud{z-index:2;padding:max(var(--space-2), env(safe-area-inset-top)) max(var(--space-3), env(safe-area-inset-right)) 0 max(var(--space-3), env(safe-area-inset-left));align-items:center;gap:var(--space-2) var(--space-3);pointer-events:none;flex-wrap:wrap;display:flex;position:absolute;inset:0 0 auto}.fp-hud>button{pointer-events:auto}.fp-paint{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--color-backdrop) 60%, transparent);border:var(--stroke-thin) solid #fff9;flex:96px;max-width:220px;height:14px;position:relative;overflow:hidden}.fp-paint-fill{transform-origin:0;transition:transform var(--motion-fast) var(--motion-ease);position:absolute;inset:0}.fp-paint.low{animation:shake .36s var(--motion-ease) infinite alternate}.fp-keys{filter:drop-shadow(0 2px #0006);gap:2px;display:flex}.fp-key{display:inline-flex}.fp-msg{z-index:2;left:50%;top:calc(max(var(--space-2), env(safe-area-inset-top)) + 64px);max-width:min(90vw,420px);padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--color-backdrop) 80%, transparent);color:var(--color-ink-on-backdrop);font-family:var(--font-display);text-align:center;opacity:0;pointer-events:none;transition:opacity var(--motion-base) var(--motion-ease), transform var(--motion-base) var(--motion-ease);font-weight:800;position:absolute;transform:translate(-50%,-8px)}.fp-msg.show{opacity:1;transform:translate(-50%)}
