:root{--font-display: "Nunito", system-ui, sans-serif;--font-body: "Nunito", system-ui, sans-serif;--z-modal-setup: 3000;--z-modal-legal: 3200;--color-sky-top: #b8e4f5;--color-sky-mid: #d4eef8;--color-mint: #c8f0e0;--color-cream: #f5f0e8;--color-peach: #ffe8d6;--color-peach-warm: #ffd4b8;--color-lavender: #e8d4f0;--color-panel: #ffffff;--color-panel-soft: rgba(255, 255, 255, .92);--color-text: #2d3a4a;--color-text-muted: #5a6a7a;--color-text-light: #ffffff;--color-green: #5cd65c;--color-green-dark: #3cb83c;--color-orange: #ff8c42;--color-orange-dark: #e07030;--color-blue: #5eb8f0;--color-blue-dark: #3a9ad9;--color-red: #ff6b6b;--color-yellow: #ffd93d;--color-purple: #b388eb;--color-letter-1: #ff6b6b;--color-letter-2: #ff9f43;--color-letter-3: #ffd93d;--color-letter-4: #5cd65c;--color-letter-5: #5eb8f0;--color-letter-6: #b388eb;--card-blue: #b3e5fc;--card-green: #c8e6c9;--card-orange: #ffe0b2;--card-purple: #e1bee7;--card-yellow: #fff9c4;--radius-sm: 12px;--radius-md: 20px;--radius-lg: 28px;--radius-xl: 36px;--radius-pill: 999px;--radius-panel: 32px;--shadow-soft: 0 8px 32px rgba(100, 140, 180, .15);--shadow-panel: 0 12px 40px rgba(100, 140, 180, .18), 0 4px 12px rgba(100, 140, 180, .08);--shadow-btn: 0 6px 0 rgba(0, 0, 0, .12), 0 8px 20px rgba(0, 0, 0, .1);--shadow-btn-pressed: 0 2px 0 rgba(0, 0, 0, .12), 0 4px 8px rgba(0, 0, 0, .08);--shadow-pill-inset: inset 0 2px 6px rgba(0, 0, 0, .06), inset 0 -1px 2px rgba(255, 255, 255, .8);--shadow-pill: 0 2px 8px rgba(100, 140, 180, .1);--focus-ring-color: #3a9ad9;--focus-ring: 0 0 0 3px rgba(58, 154, 217, .45);--touch-target-min: 44px;--theme-color: #b8e4f5;--app-frame-max: 480px;--marketing-frame-max: 768px;--safe-inset-top: env(safe-area-inset-top, 0px);--safe-inset-right: env(safe-area-inset-right, 0px);--safe-inset-bottom: env(safe-area-inset-bottom, 0px);--safe-inset-left: env(safe-area-inset-left, 0px);--safe-edge-top: max(.75rem, env(safe-area-inset-top, 0px));--safe-edge-right: max(.75rem, env(safe-area-inset-right, 0px));--safe-edge-bottom: max(.75rem, env(safe-area-inset-bottom, 0px));--safe-edge-left: max(.75rem, env(safe-area-inset-left, 0px));--safe-pad-top: max(1rem, env(safe-area-inset-top, 0px));--safe-pad-right: max(1rem, env(safe-area-inset-right, 0px));--safe-pad-bottom: max(1rem, env(safe-area-inset-bottom, 0px));--safe-pad-left: max(1rem, env(safe-area-inset-left, 0px));--safe-pad-lg-top: max(1.5rem, env(safe-area-inset-top, 0px));--safe-pad-lg-right: max(1.5rem, env(safe-area-inset-right, 0px));--safe-pad-lg-bottom: max(1.5rem, env(safe-area-inset-bottom, 0px));--safe-pad-lg-left: max(1.5rem, env(safe-area-inset-left, 0px))}.soft-bg{position:relative;min-height:calc(var(--vh, 1vh) * 100);background:linear-gradient(180deg,var(--color-sky-top) 0%,var(--color-sky-mid) 35%,var(--color-mint) 70%,var(--color-cream) 100%);overflow-x:hidden}.soft-bg--peach{background:linear-gradient(180deg,var(--color-peach-warm) 0%,var(--color-peach) 40%,var(--color-cream) 100%)}.soft-bg--lavender{background:linear-gradient(180deg,var(--color-lavender) 0%,var(--color-sky-mid) 50%,var(--color-sky-top) 100%)}.soft-bg__decor{position:absolute;inset:0;pointer-events:none;overflow:hidden}.soft-bg__clouds{position:absolute;inset:0;background-image:url(/assets/ui/bg-clouds.png);background-image:image-set(url(/assets/ui/bg-clouds.webp) type("image/webp"),url(/assets/ui/bg-clouds.png) type("image/png"));background-size:cover;background-position:center;opacity:.6}.soft-bg__stars{position:absolute;inset:0;background-image:url(/assets/ui/bg-stars.png);background-image:image-set(url(/assets/ui/bg-stars.webp) type("image/webp"),url(/assets/ui/bg-stars.png) type("image/png"));background-size:cover;background-position:center;opacity:.5}.soft-panel{background:var(--color-panel);border-radius:var(--radius-panel);box-shadow:var(--shadow-panel);padding:1.25rem}.soft-panel--frosted{background:var(--color-panel-soft);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.soft-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:#ffffff59;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:var(--radius-lg);margin-bottom:.75rem}.soft-header__title{font-family:var(--font-display);font-weight:700;font-size:1.1rem;color:var(--color-text);text-align:center;flex:1}.soft-header__title--light{color:var(--color-text-light);text-shadow:0 1px 3px rgba(0,0,0,.15)}.soft-icon-btn{display:flex;align-items:center;justify-content:center;width:var(--touch-target-min);height:var(--touch-target-min);min-width:var(--touch-target-min);min-height:var(--touch-target-min);border:none;border-radius:var(--radius-md);background:#ffffffd9;box-shadow:var(--shadow-pill);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;font-size:1.2rem;color:var(--color-text)}.soft-icon-btn:active{transform:scale(.95);box-shadow:var(--shadow-btn-pressed)}.soft-icon-btn:focus{outline:none}.soft-icon-btn:focus-visible{outline:none;box-shadow:var(--shadow-pill),var(--focus-ring)}.soft-icon-btn--circle{border-radius:50%;border:3px solid rgba(255,255,255,.9)}.jelly-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-display);font-weight:700;font-size:1.1rem;border:none;border-radius:var(--radius-pill);padding:.85rem 2rem;min-height:var(--touch-target-min);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;position:relative;color:#fff;text-transform:uppercase;letter-spacing:.02em}.jelly-btn:focus{outline:none}.jelly-btn:focus-visible{outline:none;box-shadow:var(--shadow-btn),var(--focus-ring)}.jelly-btn:active{transform:translateY(3px);box-shadow:var(--shadow-btn-pressed)}.jelly-btn--green{background:linear-gradient(180deg,var(--color-green) 0%,var(--color-green-dark) 100%);box-shadow:var(--shadow-btn),inset 0 2px #ffffff59}.jelly-btn--orange{background:linear-gradient(180deg,var(--color-orange) 0%,var(--color-orange-dark) 100%);box-shadow:var(--shadow-btn),inset 0 2px #ffffff59}.jelly-btn--blue{background:linear-gradient(180deg,var(--color-blue) 0%,var(--color-blue-dark) 100%);box-shadow:var(--shadow-btn),inset 0 2px #ffffff59}.jelly-btn--gray{background:linear-gradient(180deg,#c8d0d8,#a8b4c0);box-shadow:var(--shadow-btn),inset 0 2px #ffffff59;color:var(--color-text)}.jelly-btn--danger{background:linear-gradient(180deg,#e85d6a,#c82333);box-shadow:var(--shadow-btn),inset 0 2px #ffffff59}.jelly-btn--wide{width:100%;max-width:280px}.jelly-btn--compact{font-size:.95rem;padding:.62rem 1.35rem}.jelly-btn--wide.jelly-btn--compact{max-width:240px}.jelly-btn--square{width:56px;height:56px;padding:0;border-radius:var(--radius-md)}.stat-pill{display:flex;align-items:center;gap:.4rem;padding:.5rem .85rem;background:#f0f4f8;border-radius:var(--radius-pill);box-shadow:var(--shadow-pill-inset);min-width:72px;justify-content:center}.stat-pill__icon{font-size:1rem;line-height:1}.stat-pill__icon-img{width:22px;height:22px;object-fit:contain;flex-shrink:0;display:block}.stat-pill__value{font-family:var(--font-display);font-weight:700;font-size:.95rem;color:var(--color-text)}.stat-pills{display:flex;gap:.6rem;justify-content:center;width:100%;margin-bottom:1rem}.game-hint-target{position:relative;z-index:2;box-shadow:0 0 0 4px #ffd54f,0 0 16px #ffc1078c;animation:game-hint-target-pulse 1.2s ease-in-out infinite}@keyframes game-hint-target-pulse{0%,to{box-shadow:0 0 0 4px #ffd54f,0 0 12px #ffc10773}50%{box-shadow:0 0 0 6px #ffca28,0 0 22px #ffc107b3}}.game-hint{position:absolute;pointer-events:none;z-index:50;display:flex;flex-direction:column;align-items:center;gap:.25rem}.game-hint--center{top:50%;left:50%;transform:translate(-50%,-50%)}.game-hint--top{top:-8px;left:50%;transform:translate(-50%)}.game-hint__hand{font-size:clamp(2rem,10vw,2.75rem);filter:drop-shadow(0 2px 6px rgba(0,0,0,.35));line-height:1}.game-hint__count-dots{display:flex;gap:.35rem}.game-hint__dot{width:10px;height:10px;border-radius:50%;background:var(--color-yellow, #f9ca24);box-shadow:0 0 0 2px #ffffffe6}.game-hint--tap .game-hint__hand,.game-hint--tapSequence .game-hint__hand{animation:game-hint-tap 1.2s ease-in-out infinite}.game-hint--drag .game-hint__hand{animation:game-hint-drag 1.6s ease-in-out infinite}.game-hint--scrub .game-hint__hand{animation:game-hint-scrub 1.4s ease-in-out infinite}.game-hint--watchThenTap .game-hint__hand{animation:game-hint-watch-tap 2s ease-in-out infinite}.game-hint--countAlong .game-hint__hand{animation:game-hint-tap 1s ease-in-out infinite}.game-hint--reduced .game-hint__hand{animation:game-hint-hand-pulse 1.5s ease-in-out infinite}@keyframes game-hint-tap{0%,to{transform:translateY(0) scale(1);opacity:1}50%{transform:translateY(8px) scale(.9);opacity:.9}}@keyframes game-hint-drag{0%,to{transform:translate(-20px)}50%{transform:translate(20px,-10px)}}@keyframes game-hint-scrub{0%,to{transform:translate(-12px) rotate(-8deg)}25%{transform:translate(12px,-4px) rotate(8deg)}50%{transform:translate(-12px,4px) rotate(-8deg)}75%{transform:translate(12px) rotate(8deg)}}@keyframes game-hint-watch-tap{0%,40%{opacity:.35;transform:scale(.9)}60%,to{opacity:1;transform:scale(1)}}@keyframes game-hint-hand-pulse{0%,to{opacity:.75}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.game-hint-target{animation:none;outline:3px solid #ffca28;outline-offset:3px}.game-hint:not(.game-hint--reduced) .game-hint__hand{animation:game-hint-hand-pulse 1.5s ease-in-out infinite}}.rainbow-title{font-family:var(--font-display);font-weight:700;line-height:1.2}.rainbow-title span:nth-child(1){color:var(--color-letter-1)}.rainbow-title span:nth-child(2){color:var(--color-letter-2)}.rainbow-title span:nth-child(3){color:var(--color-letter-3)}.rainbow-title span:nth-child(4){color:var(--color-letter-4)}.rainbow-title span:nth-child(5){color:var(--color-letter-5)}.rainbow-title span:nth-child(6){color:var(--color-letter-6)}.soft-game-card{border-radius:var(--radius-lg);border:2px solid rgba(45,58,74,.12);padding:.75rem;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-height:140px;position:relative;overflow:hidden}.soft-game-card:active{transform:scale(.97)}.soft-game-card__title{font-family:var(--font-display);font-weight:700;font-size:.85rem;color:var(--color-text);text-align:center;margin-top:.5rem}.timer-pill{display:flex;align-items:center;gap:.35rem;padding:.35rem .75rem;background:#ffffffe6;border-radius:var(--radius-pill);font-family:var(--font-display);font-weight:600;font-size:.85rem;color:var(--color-text);box-shadow:var(--shadow-pill)}.timer-pill--warning{color:var(--color-red);animation:pulse-timer 1s ease infinite}@keyframes pulse-timer{0%,to{opacity:1}50%{opacity:.7}}.star-rating{display:flex;gap:.25rem;justify-content:center;align-items:center}.star-rating__star{font-size:1.5rem;color:#ddd;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.star-rating__star--filled{color:var(--color-yellow)}.star-rating__star--empty{color:transparent;-webkit-text-stroke:2px var(--color-orange);text-stroke:2px var(--color-orange)}.star-rating__trophy{width:36px;height:36px;object-fit:contain;margin-left:.15rem;filter:drop-shadow(0 3px 6px rgba(180,120,0,.35))}:root{font-family:var(--font-body);line-height:1.5;font-weight:400;color-scheme:light;color:var(--color-text);background-color:var(--color-sky-top);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--vh: 1vh;--vw: 1vw}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}html{background:linear-gradient(180deg,var(--color-sky-top) 0%,var(--color-sky-mid) 40%,var(--color-mint) 100%);background-attachment:fixed}body{margin:0;padding:0;padding-top:var(--safe-inset-top);padding-right:var(--safe-inset-right);padding-bottom:var(--safe-inset-bottom);padding-left:var(--safe-inset-left);min-height:calc(var(--vh, 1vh) * 100);width:100%;max-width:100%;overflow-x:hidden;background:transparent}html.native-app,html.native-app body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}html.native-app img,html.native-app picture,html.native-app svg,html.native-app a{-webkit-user-drag:none;user-drag:none}html.native-app input,html.native-app textarea,html.native-app select,html.native-app [contenteditable=true],html.native-app .allow-user-select,html.native-app .allow-user-select *{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus{outline:none}button:focus-visible{outline:none;box-shadow:var(--focus-ring, 0 0 0 3px rgba(58, 154, 217, .45))}#root{width:100%;min-height:calc(var(--vh, 1vh) * 100);margin:0 auto;padding:0;position:relative;overflow-x:hidden}.app{width:100%;min-height:calc(var(--vh, 1vh) * 100);margin:0;padding:0;overflow-x:hidden;position:relative}@media(pointer:fine){.app{max-width:var(--app-frame-max, 480px);margin-left:auto;margin-right:auto;transform:translateZ(0);box-shadow:0 0 0 1px #648cb414,0 12px 48px #3c5a8224;min-height:100vh}.landing,.blog-page,.legal-page{width:100%;max-width:min(var(--marketing-frame-max, 768px),calc(100% - 2.5rem));margin-left:auto;margin-right:auto;transform:translateZ(0);box-shadow:0 0 0 1px #648cb40f,0 8px 40px #3c5a821a;min-height:100vh}}
