:root{font-family:Inter,ui-rounded,SF Pro Rounded,Avenir Next,system-ui,-apple-system,sans-serif;color:#0b3140;background:#f5c84b;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #0b3140;--deep: #072f3e;--ocean: #0b5267;--blue: #1a7fab;--yellow: #f5c84b;--cream: #fff8dc;--paper: #fffdf2}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0}html{background:var(--deep);overscroll-behavior:none}body{min-width:320px;overflow:hidden;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}button,input{font:inherit}button{color:inherit;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible{outline:4px solid #ffffff;outline-offset:3px}.home-screen{width:100%;height:100dvh;overflow-x:hidden;overflow-y:auto;background:radial-gradient(circle at 88% 5%,rgba(255,255,255,.22) 0 9%,transparent 9.2%),var(--yellow);padding:max(22px,env(safe-area-inset-top)) max(28px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(28px,env(safe-area-inset-left))}.home-header{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;width:min(1180px,100%);margin:0 auto}.brand{display:inline-flex;gap:12px;align-items:center;color:var(--deep);font-size:clamp(1.2rem,2vw,1.55rem);font-weight:850;letter-spacing:-.04em;text-decoration:none}.brand-mark{position:relative;display:grid;width:38px;height:38px;place-items:center;color:var(--yellow);background:var(--deep);border-radius:13px 13px 16px 16px;font-size:13px}.brand-mark:before,.brand-mark:after{position:absolute;top:-3px;width:13px;height:14px;background:var(--deep);content:"";transform:rotate(45deg)}.brand-mark:before{left:3px;border-radius:3px 0 2px}.brand-mark:after{right:3px;border-radius:2px 3px 0 2px}.settings-button,.icon-button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;border:0;cursor:pointer}.settings-button{gap:9px;padding:0 18px;color:var(--cream);background:var(--deep);border-radius:999px;font-size:.95rem;font-weight:750;box-shadow:0 8px #072f3e24}.settings-button:active{transform:translateY(3px);box-shadow:0 4px #072f3e24}.hero{display:grid;width:min(1180px,100%);min-height:34vh;grid-template-columns:1.05fr .95fr;align-items:center;margin:0 auto;padding:clamp(24px,5vh,58px) 0 clamp(20px,3vh,38px)}.hero-copy{position:relative;z-index:2}.eyebrow{margin:0 0 10px;color:var(--blue);font-size:.72rem;font-weight:900;letter-spacing:.16em}.hero h1{max-width:700px;margin:0;color:var(--deep);font-size:clamp(3.1rem,7.2vw,6.5rem);font-weight:920;letter-spacing:-.085em;line-height:.88}.hero-description{max-width:470px;margin:24px 0 18px;color:#0b3140c2;font-size:clamp(1rem,1.7vw,1.18rem);font-weight:570;line-height:1.55}.tip-pill{display:inline-flex;gap:10px;align-items:center;padding:10px 14px;border:1px solid rgba(7,47,62,.2);border-radius:999px;font-size:.82rem;font-weight:750}.tip-pill span{font-size:1.15rem}.mascot{position:relative;width:min(39vw,390px);aspect-ratio:1.1;justify-self:center}.mascot-body{position:absolute;right:8%;bottom:0;width:72%;height:76%;background:var(--deep);border-radius:48% 48% 38% 38%;box-shadow:inset -16px -12px #0000001a;transform:rotate(5deg)}.mascot-ear{position:absolute;top:-14%;width:37%;height:38%;background:var(--deep);border-radius:12% 80% 20% 40%}.mascot-ear.left{left:5%;transform:rotate(16deg)}.mascot-ear.right{right:5%;transform:scaleX(-1) rotate(16deg)}.mascot-eye{position:absolute;top:39%;width:13%;height:19%;background:var(--yellow);border-radius:50%}.mascot-eye:after{position:absolute;top:16%;left:42%;width:18%;height:68%;background:var(--deep);border-radius:50%;content:""}.mascot-eye.left{left:25%}.mascot-eye.right{right:25%}.mascot-nose{position:absolute;top:61%;left:50%;color:#ef7990;font-size:clamp(11px,1.5vw,19px);transform:translate(-50%)}.mascot-whisker{position:absolute;top:66%;width:34%;height:2px;background:var(--yellow);opacity:.75}.mascot-whisker:after{position:absolute;top:11px;width:100%;height:2px;background:inherit;content:"";transform:rotate(10deg)}.mascot-whisker.left{left:-8%;transform:rotate(4deg)}.mascot-whisker.right{right:-8%;transform:rotate(176deg)}.mascot-tail{position:absolute;bottom:9%;left:2%;width:50%;height:26%;border:clamp(20px,3vw,34px) solid var(--deep);border-top-color:transparent;border-right-color:transparent;border-radius:50%;transform:rotate(-13deg)}.floating-ball{position:absolute;top:1%;right:3%;display:grid;width:19%;aspect-ratio:1;place-items:center;color:var(--cream);background:var(--blue);border:7px solid var(--cream);border-radius:50%;box-shadow:0 10px #072f3e21;font-size:clamp(10px,1vw,16px);animation:float-ball 2.2s ease-in-out infinite}@keyframes float-ball{0%,to{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-15px) rotate(7deg)}}.toy-section{width:min(1180px,100%);margin:0 auto}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:14px}.section-heading h2{margin:0;color:var(--deep);font-size:clamp(1.7rem,3vw,2.4rem);letter-spacing:-.055em}.section-heading>span{padding-bottom:4px;color:#0b3140ad;font-size:.83rem;font-weight:750}.toy-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.toy-card{position:relative;display:flex;min-width:0;min-height:clamp(136px,18vh,178px);flex-direction:column;align-items:flex-start;overflow:hidden;padding:14px;border:0;border-radius:22px;cursor:pointer;text-align:left;transition:transform .16s ease,box-shadow .16s ease}.toy-card:hover{transform:translateY(-5px);box-shadow:0 13px #072f3e1c}.toy-card:active{transform:scale(.97)}.toy-fish,.toy-ladybug,.toy-laser{color:var(--cream);background:var(--deep)}.toy-mouse,.toy-frog{color:var(--deep);background:var(--paper)}.toy-mix{color:var(--deep);background:var(--blue)}.toy-number{font-size:.65rem;font-weight:850;letter-spacing:.12em;opacity:.55}.toy-glyph{display:grid;min-height:58px;flex:1;align-items:center;align-self:center;font-size:clamp(2.3rem,4.5vw,4rem);filter:saturate(.85);transition:transform .18s ease}.toy-card:hover .toy-glyph{transform:rotate(-8deg) scale(1.08)}.toy-laser .toy-glyph{color:var(--yellow);text-shadow:0 0 15px var(--yellow),0 0 28px rgba(245,200,75,.75)}.toy-mix .toy-glyph{color:var(--cream)}.toy-copy{display:flex;flex-direction:column}.toy-copy strong{font-size:clamp(.98rem,1.5vw,1.16rem);letter-spacing:-.035em}.toy-copy small{margin-top:3px;font-size:.68rem;font-weight:650;opacity:.62}.play-arrow{position:absolute;right:13px;bottom:13px;font-size:1rem;font-weight:900;opacity:.55}.modal-backdrop{position:fixed;z-index:20;inset:0;display:grid;align-items:end;justify-items:center;padding:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));background:#072f3e94;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.settings-panel{width:min(570px,100%);padding:clamp(22px,4vw,34px);color:var(--ink);background:var(--paper);border-radius:30px;box-shadow:0 24px 80px #03181f4d;animation:panel-in .22s ease-out both}@keyframes panel-in{0%{opacity:0;transform:translateY(30px)}}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.panel-heading h2{margin:0;font-size:2rem;letter-spacing:-.055em}.icon-button{width:48px;color:var(--cream);background:var(--deep);border-radius:50%;font-size:1.65rem}.setting-group{margin:0 0 24px;padding:0;border:0}.setting-group legend,.setting-label{margin-bottom:12px;font-size:.9rem;font-weight:800}.setting-label{display:flex;align-items:center;justify-content:space-between}.setting-label strong{display:grid;width:34px;height:34px;place-items:center;color:var(--cream);background:var(--blue);border-radius:50%}input[type=range]{width:100%;height:10px;margin:8px 0;appearance:none;background:#d8e6e7;border-radius:999px;accent-color:var(--blue)}input[type=range]::-webkit-slider-thumb{width:34px;height:34px;appearance:none;background:var(--yellow);border:5px solid var(--deep);border-radius:50%}.range-labels{display:flex;justify-content:space-between;color:#0b314087;font-size:.7rem;font-weight:700}.segmented-control{display:grid;grid-template-columns:repeat(3,1fr);padding:5px;background:#e4eeee;border-radius:16px}.segmented-control label{display:grid;min-height:46px;place-items:center;border-radius:12px;cursor:pointer;font-size:.86rem;font-weight:800}.segmented-control label.selected{color:var(--cream);background:var(--deep);box-shadow:0 4px 12px #072f3e2e}.segmented-control input{position:absolute;opacity:0;pointer-events:none}.sound-toggle{display:flex;min-height:70px;align-items:center;justify-content:space-between;gap:20px;margin:0 0 24px;padding:12px 16px;background:#f1f5ee;border-radius:18px;cursor:pointer}.sound-toggle span{display:flex;flex-direction:column}.sound-toggle small{margin-top:4px;color:#0b314094;font-size:.7rem}.sound-toggle input{width:27px;height:27px;flex:0 0 auto;accent-color:var(--blue)}.primary-button{min-height:54px;border:0;color:var(--cream);background:var(--blue);border-radius:16px;cursor:pointer;font-weight:850}.panel-done{width:100%}.install-hint{position:fixed;z-index:10;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));display:grid;width:min(400px,calc(100vw - 40px));grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:14px;color:var(--cream);background:var(--deep);border:1px solid rgba(255,255,255,.12);border-radius:20px;box-shadow:0 18px 45px #072f3e4d}.install-icon{display:grid;width:42px;height:42px;place-items:center;color:var(--deep);background:var(--yellow);border-radius:13px;font-size:1.3rem;font-weight:900}.install-hint strong{font-size:.86rem}.install-hint p{margin:3px 0 0;color:#fff8dcb0;font-size:.72rem;line-height:1.4}.install-hint button{width:36px;height:36px;border:0;color:var(--cream);background:#ffffff1a;border-radius:50%;font-size:1.2rem}.game-screen{position:relative;width:100%;height:100dvh;min-height:100vh;overflow:hidden;background:var(--ocean);touch-action:none}.game-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;cursor:crosshair;touch-action:none}.game-hud{position:absolute;z-index:3;top:max(22px,calc(env(safe-area-inset-top) + 10px));right:max(22px,env(safe-area-inset-right));left:max(22px,env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;pointer-events:none}.score-pill,.hold-exit{min-height:56px;border:1px solid rgba(255,255,255,.18);color:var(--cream);background:#072f3ed1;border-radius:999px;box-shadow:0 8px 24px #00141c29;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.score-pill{display:flex;align-items:center;gap:11px;padding:7px 10px 7px 18px;font-size:.72rem;font-weight:750;letter-spacing:.06em}.score-pill strong{display:grid;width:40px;height:40px;place-items:center;color:var(--deep);background:var(--yellow);border-radius:50%;font-size:1.05rem}.hold-exit{position:relative;min-width:126px;overflow:hidden;padding:0 20px;cursor:pointer;pointer-events:auto;font-size:.76rem;font-weight:800;touch-action:none}.hold-exit:before{position:absolute;inset:0;width:0;background:var(--yellow);content:""}.hold-exit.holding{color:var(--deep)}.hold-exit.holding:before{width:100%;transition:width 1.2s linear}.hold-exit span{position:relative;z-index:1}@media(max-width:900px){.hero{grid-template-columns:1.15fr .85fr}.toy-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.toy-card{min-height:145px}}@media(max-width:620px){.home-screen{padding-right:max(18px,env(safe-area-inset-right));padding-left:max(18px,env(safe-area-inset-left))}.hero{min-height:auto;grid-template-columns:1fr}.hero h1{font-size:clamp(3.3rem,17vw,5.3rem)}.mascot{display:none}.toy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-heading>span{display:none}.toy-card{min-height:150px}}@media(orientation:landscape)and (max-height:640px){.home-screen{padding-top:max(20px,env(safe-area-inset-top))}.hero{min-height:auto;padding:18px 0}.hero h1{font-size:clamp(3.2rem,7vw,5.5rem)}.hero-description{margin:14px 0 12px}.mascot{width:min(31vw,280px)}.toy-card{min-height:132px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
