:root{--ink:#f9f4e8;--acid:#dfff4f;--night:#0b1515;--panel:rgba(22,38,37,.82)}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;min-height:100%;background:var(--night);color:var(--ink);overscroll-behavior:none}
body{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
button{font:inherit}
[hidden]{display:none!important}
.game{position:relative;min-height:100svh;max-width:720px;margin:0 auto;padding:max(18px,env(safe-area-inset-top)) 16px max(14px,env(safe-area-inset-bottom));overflow:hidden;background:radial-gradient(circle at 50% 110%,rgba(190,234,92,.1),transparent 40%),linear-gradient(155deg,#172a27 0%,#091212 56%,#0b1515 100%);display:grid;grid-template-rows:auto auto auto minmax(380px,1fr) auto;gap:12px;isolation:isolate;touch-action:manipulation;user-select:none}
.aurora{position:absolute;z-index:-1;width:260px;height:260px;border-radius:50%;filter:blur(90px);opacity:.16}.aurora-one{top:-140px;right:-80px;background:var(--acid)}.aurora-two{left:-130px;bottom:10%;background:#36beae}
.hud{display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;align-items:center;gap:10px}.brand-mark{display:grid;place-items:center;width:50px;height:50px;border:1px solid rgba(223,255,79,.3);border-radius:16px;color:var(--acid);background:rgba(223,255,79,.08);font-size:21px;transform:rotate(-4deg)}
.eyebrow,.hint{margin:0}.eyebrow{font-weight:850;font-size:clamp(15px,4.5vw,19px);letter-spacing:-.04em}.hint{margin-top:2px;color:rgba(249,244,232,.55);font-size:12px}
.sound-button{flex:0 0 auto;min-height:42px;padding:0 13px;border:1px solid rgba(249,244,232,.13);border-radius:99px;background:rgba(249,244,232,.07);color:var(--ink);font-size:12px;font-weight:750}
.scoreboard{display:grid;grid-template-columns:1.25fr .85fr .85fr;gap:8px}.score-card{min-width:0;padding:10px 12px;border:1px solid rgba(249,244,232,.1);border-radius:16px;background:var(--panel);box-shadow:inset 0 1px 0 rgba(255,255,255,.05);display:flex;align-items:baseline;justify-content:space-between;gap:6px}
.score-card span{color:rgba(249,244,232,.48);text-transform:uppercase;font-size:9px;font-weight:800;letter-spacing:.09em}.score-card strong{font-size:24px;line-height:1;letter-spacing:-.06em}.score-main{border-color:rgba(223,255,79,.25)}.score-main strong{color:var(--acid)}.best-card strong{color:#ffb199}
.controls{display:grid;gap:7px;padding:9px;border:1px solid rgba(249,244,232,.09);border-radius:18px;background:rgba(12,25,23,.76)}.control-row{display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:8px}.control-row>span{padding-left:3px;color:rgba(249,244,232,.45);font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.segmented{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:3px;border-radius:12px;background:rgba(249,244,232,.06)}.segmented button{min-width:0;min-height:32px;padding:0 5px;border:0;border-radius:9px;background:transparent;color:rgba(249,244,232,.58);font-size:clamp(9px,2.7vw,11px);font-weight:800}.segmented button.active{background:var(--acid);color:#142018;box-shadow:0 4px 14px rgba(223,255,79,.15)}
.playfield{position:relative;min-height:420px;overflow:hidden;border:1px solid rgba(223,255,79,.14);border-radius:28px;background:radial-gradient(circle at 50% 35%,rgba(43,83,73,.78),transparent 58%),linear-gradient(180deg,#10231f,#08110f);box-shadow:inset 0 0 70px rgba(0,0,0,.42),0 16px 50px rgba(0,0,0,.35);touch-action:none}
.playfield:before{content:"";position:absolute;inset:0;opacity:.08;background-image:radial-gradient(rgba(255,255,255,.8) .7px,transparent .7px);background-size:9px 9px}
.floor-grid{position:absolute;left:-20%;right:-20%;bottom:-15%;height:58%;opacity:.12;transform:perspective(220px) rotateX(58deg);background-image:linear-gradient(rgba(223,255,79,.45) 1px,transparent 1px),linear-gradient(90deg,rgba(223,255,79,.45) 1px,transparent 1px);background-size:34px 34px}
.cheese{position:absolute;display:grid;place-items:center;width:42px;height:31px;clip-path:polygon(0 100%,100% 100%,72% 0);background:#f3ce4a;color:#b89324;opacity:.28;font-size:12px}.cheese-one{left:8%;top:28%;transform:rotate(-15deg)}.cheese-two{right:7%;bottom:10%;transform:rotate(12deg) scale(.8)}
.mouse{position:absolute;z-index:2;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer;transition:opacity .18s,scale .18s}.mouse:active{scale:.88}.mouse-shadow{position:absolute;left:16%;right:4%;bottom:7%;height:20%;border-radius:50%;background:rgba(0,0,0,.4);filter:blur(4px)}
.animal-emoji{display:none;position:absolute;inset:0;place-items:center;font-size:clamp(48px,15vw,72px);line-height:1;filter:drop-shadow(0 8px 6px rgba(0,0,0,.34));transform:rotate(-6deg)}.mouse.mode-cats,.mouse.mode-pigeons{width:86px!important;height:86px!important}.mouse.mode-cats>:not(.animal-emoji):not(.spark),.mouse.mode-pigeons>:not(.animal-emoji):not(.spark){display:none}.mouse.mode-cats .animal-emoji,.mouse.mode-pigeons .animal-emoji{display:grid}.mouse.mode-pigeons .animal-emoji{transform:rotate(-3deg) scale(.94)}
.mouse-body{position:absolute;inset:24% 12% 15% 9%;border-radius:58% 43% 49% 54%;background:linear-gradient(135deg,#d7d4cc 0%,#878e88 54%,#5e6963 100%);box-shadow:inset 6px 7px 9px rgba(255,255,255,.22),0 5px 10px rgba(0,0,0,.25)}.mouse-body:after{content:"";position:absolute;right:10%;bottom:12%;width:42%;height:38%;border-radius:50%;background:rgba(255,255,255,.1)}
.ear{position:absolute;z-index:2;top:16%;width:29%;height:29%;border:4px solid #7d847f;border-radius:50%;background:#d68f8b;box-shadow:inset 0 0 0 2px rgba(255,255,255,.16)}.ear-left{left:20%}.ear-right{left:39%;top:13%}
.tail{position:absolute;right:-27%;top:54%;width:51%;height:35%;border-top:5px solid #c98d8c;border-radius:50%;transform:rotate(10deg)}.eye{position:absolute;z-index:3;left:28%;top:27%;width:7px;height:7px;border:2px solid #fff;border-radius:50%;background:#111}.nose{position:absolute;z-index:3;left:-5px;top:48%;width:9px;height:9px;border-radius:50%;background:#ff8d8d;box-shadow:0 0 8px rgba(255,141,141,.55)}
.whisker{position:absolute;z-index:3;left:-19px;width:24px;height:1px;background:rgba(255,255,255,.7);transform-origin:right}.whisker-one{top:49%;transform:rotate(12deg)}.whisker-two{top:57%;transform:rotate(-12deg)}
.spark{position:absolute;left:50%;top:6%;opacity:0;color:var(--acid);font-size:20px;font-weight:950;text-shadow:0 2px 12px rgba(223,255,79,.6)}.mouse.caught{opacity:0;scale:1.3}.mouse.caught .spark{animation:pop .28s ease-out}
.combo{position:absolute;z-index:5;top:8%;left:50%;padding:8px 16px;border-radius:99px;background:var(--acid);color:#142018;font-size:13px;font-weight:900;transform:translateX(-50%) rotate(-2deg);animation:combo-in .25s cubic-bezier(.2,1.5,.5,1);box-shadow:0 8px 24px rgba(223,255,79,.25)}
.game-over{position:absolute;z-index:20;inset:0;display:grid;place-content:center;justify-items:center;padding:24px;text-align:center;background:rgba(7,15,14,.86);backdrop-filter:blur(12px)}.game-over p{margin:0}.game-over-label{color:var(--acid);font-size:13px;font-weight:850;text-transform:uppercase;letter-spacing:.12em}.game-over strong{margin:8px 0 -4px;font-size:clamp(82px,28vw,132px);line-height:1;letter-spacing:-.1em}.game-over p:not(.game-over-label){color:rgba(249,244,232,.6)}
.game-over button{min-width:190px;min-height:56px;margin-top:24px;border:0;border-radius:18px;background:var(--acid);color:#142018;font-size:16px;font-weight:900;box-shadow:0 9px 30px rgba(223,255,79,.2)}
footer{display:flex;align-items:center;justify-content:center;gap:7px;color:rgba(249,244,232,.42);font-size:10px;font-weight:650;letter-spacing:.02em}.pulse-dot{width:6px;height:6px;border-radius:50%;background:var(--acid);box-shadow:0 0 10px var(--acid);animation:pulse 1.6s infinite}
@keyframes pop{0%{opacity:0;transform:translate(-50%,8px) scale(.5)}45%{opacity:1}100%{opacity:0;transform:translate(-50%,-28px) scale(1.25)}}@keyframes combo-in{from{opacity:0;transform:translateX(-50%) scale(.5) rotate(5deg)}}@keyframes pulse{50%{opacity:.25}}
@media(min-width:600px){.game{min-height:min(920px,100svh);border-left:1px solid rgba(255,255,255,.06);border-right:1px solid rgba(255,255,255,.06)}}
@media(max-height:680px){.game{grid-template-rows:auto auto auto minmax(320px,1fr);gap:8px}.playfield{min-height:320px}footer{display:none}}
@media(prefers-reduced-motion:reduce){.mouse,.combo,.pulse-dot{animation:none;transition:none}}
