/* Ruby’s Lounge · KAWAII KIT (v20261101kw2): palette, outline, shadow, sparkles. See kawaii.js and README.md. */
:root{--kw-ink:#5a2f4f;--kw-line:4px;--kw-line-s:3px;--kw-r:28px;--kw-shadow:0 6px 0 #5a2f4f;--kw-shadow-s:0 4px 0 #5a2f4f;
 --kw-pink:#ff6fae;--kw-hotpink:#ff4fa3;--kw-peach:#ffb38a;--kw-coral:#ff7a85;--kw-lemon:#ffd84d;--kw-mint:#7fe0b8;--kw-sky:#7cc8ff;--kw-blue:#5b9dff;
 --kw-lilac:#b99cff;--kw-grape:#9b7bff;--kw-grass:#6fd16f;--kw-cream:#fff6ea;--kw-blush:#ff9cb8;--kw-skin:#f6e3cf;
 --kw-font:ui-rounded,"SF Pro Rounded","Arial Rounded MT Bold","Nunito",system-ui,sans-serif;
 --kw-sparkle:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cpath d='M20 2c1.6 9.4 8.6 16.4 18 18-9.4 1.6-16.4 8.6-18 18-1.6-9.4-8.6-16.4-18-18 9.4-1.6 16.4-8.6 18-18z' fill='%23fff' stroke='%235a2f4f' stroke-width='2.4' stroke-linejoin='round'/%3E%3C/svg%3E");
 --kw-dots:radial-gradient(circle,rgba(255,255,255,.4) 3px,transparent 3.5px) 0 0/22px 22px}
/* reusable bits */
.kw-card{background:#fff;border:var(--kw-line) solid var(--kw-ink);border-radius:var(--kw-r);box-shadow:var(--kw-shadow)}
.kw-btn{border:var(--kw-line-s) solid var(--kw-ink);border-radius:999px;box-shadow:var(--kw-shadow-s);background:var(--kw-pink);color:#fff;font:800 20px/1 var(--kw-font);transition:transform .1s,box-shadow .1s}
.kw-btn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--kw-ink)}
.kw-dots{background-image:var(--kw-dots)}
.kw-sparkle{display:inline-block;width:28px;height:28px;background:no-repeat center/contain var(--kw-sparkle);animation:kw-tw 2.6s ease-in-out infinite}
.kw-outline [fill]:not([fill=none]):not([fill^="url"]){stroke:var(--kw-ink);stroke-width:1.1;paint-order:stroke fill;stroke-linejoin:round}
@keyframes kw-tw{0%,100%{transform:scale(.6) rotate(0);opacity:.55}50%{transform:scale(1) rotate(20deg);opacity:1}}
/* the sparkle overlay over a game (never takes a tap) */
#kw-fx{position:fixed;inset:0;z-index:45;pointer-events:none;overflow:hidden}
#kw-fx i{display:block;position:absolute;width:30px;height:30px;background:no-repeat center/contain var(--kw-sparkle);animation:kw-tw 2.6s ease-in-out infinite}
#kw-fx .s1{right:16px;top:calc(60px + env(safe-area-inset-top))}#kw-fx .s2{right:52px;top:calc(96px + env(safe-area-inset-top));width:18px;height:18px;animation-delay:-.9s}
#kw-fx .s3{left:14px;bottom:calc(120px + env(safe-area-inset-bottom));width:22px;height:22px;animation-delay:-1.6s}#kw-fx .s4{right:20px;bottom:calc(150px + env(safe-area-inset-bottom));width:16px;height:16px;animation-delay:-.4s}
.kw-skin-lite canvas{filter:saturate(1.18)}
/* data-depth: a soft picture-book light (warm from the top-left) and a gentle plum vignette over the scene; under the controls, never takes a tap */
#kw-vig{position:fixed;inset:0;z-index:44;pointer-events:none;
 background:radial-gradient(120% 90% at 22% 0%,rgba(255,249,228,.20) 0%,rgba(255,249,228,0) 46%),
  radial-gradient(130% 120% at 50% 46%,rgba(90,47,79,0) 62%,rgba(90,47,79,.07) 82%,rgba(90,47,79,.15) 100%)}
@media (prefers-reduced-motion:reduce){#kw-fx i,.kw-sparkle{animation:none}}
