*{box-sizing:border-box} :root{font-family:'Trebuchet MS','Arial Rounded MT Bold',sans-serif;color:#56351f;background:#e8c69d;font-synthesis:none}body{margin:0;min-height:100svh;display:grid;place-items:center}button,input{font:inherit}button{cursor:pointer;color:#57361e;font-weight:800;border:2px solid #bc9164;border-radius:20px;background:linear-gradient(#fff6e4eF,#f5dab4ef);box-shadow:0 4px 0 #aa795d55,inset 0 2px 0 #fff9;transition:transform .18s,filter .18s,box-shadow .18s;padding:12px 22px;min-height:46px}button:hover{filter:brightness(1.06);transform:translateY(-3px)}button:active{transform:translateY(1px);box-shadow:0 1px 0 #aa795d55}button:focus-visible,input:focus-visible{outline:4px solid #5a7950;outline-offset:3px}button:disabled{cursor:wait;opacity:.6}button.primary{background:linear-gradient(#91ac60,#718e48);color:#fffef3;border-color:#648043;text-shadow:0 1px 1px #536932}.large{font-size:clamp(18px,2.6vmin,29px);width:100%;margin:7px 0;padding:18px 28px;display:flex;justify-content:space-between;align-items:center}#app{position:relative;isolation:isolate;width:min(100vw,100svh);min-height:min(100vw,100svh);aspect-ratio:1;overflow:hidden;background:#edce9e url('assets/background.png') center/cover;border-radius:12px;box-shadow:0 15px 70px #70492240;display:flex;flex-direction:column;padding:1.4% 5% 1.2%}header{height:15%;min-height:85px;position:relative;display:flex;justify-content:center;align-items:center}.logo{width:64%;height:100%;object-fit:contain;filter:drop-shadow(0 3px 0 #fff9)}.icon-button{position:absolute;right:-2%;top:10%;padding:0;width:clamp(38px,5vmin,56px);height:clamp(38px,5vmin,56px);font-size:30px;border-radius:50%}.glass{background:#fff4ddda;border:2px solid #d4ac7e;border-radius:24px;box-shadow:0 4px 15px #61321116,inset 0 2px 0 #fff9;backdrop-filter:blur(5px)}.screen{flex:1;animation:enter .4s ease both}.screen[hidden]{display:none!important}#menu,#difficulty{display:flex;align-items:center;justify-content:center;padding-bottom:5%}.menu-card{width:60%;padding:7% 5% 5%;text-align:center;position:relative}.menu-card h1{font-size:clamp(17px,2.5vmin,27px);line-height:1.4;margin:14px 0 22px}.menu-card p{font-size:clamp(14px,1.8vmin,20px);margin:22px 0 0}.menu-cats{display:flex;justify-content:center;gap:5%;margin-top:-25%}.menu-cats img{width:29%;object-fit:contain;filter:drop-shadow(0 4px 1px #65452920);animation:float 4s ease-in-out infinite}.menu-cats img:nth-child(2){animation-delay:-1.3s;transform:translateY(-10px)}.menu-cats img:nth-child(3){animation-delay:-2.6s}.choice-card{width:91%;text-align:center;padding:4%}.choice-card h1{font-size:clamp(22px,3.4vmin,35px);margin:0 0 12px}.choice-card p{line-height:1.5}.choices{display:flex;gap:12px;margin:22px 0}.choices button{flex:1;min-width:0;padding:20px 6px;display:flex;align-items:center;flex-direction:column;gap:10px}.choices img{width:72%;height:100px;object-fit:contain}.choices strong{font-size:clamp(14px,2vmin,22px)}.choices span{font-size:14px;font-weight:400}.small{font-size:14px;color:#78553a}#game{display:flex;flex-direction:column;align-items:center;gap:1.1vmin;min-height:0}.status{display:flex;justify-content:space-around;align-items:center;gap:7px;width:80%;padding:8px 10px;font-size:clamp(12px,1.8vmin,20px);font-weight:bold;min-height:35px}#lives{color:#bd625c;white-space:nowrap}#board{width:72%;aspect-ratio:1;display:grid;grid-template-columns:repeat(var(--n),1fr);border:6px solid #68432b;border-radius:20px;overflow:hidden;box-shadow:0 0 0 5px #ffedcad9,0 8px 18px #57341426;background:#fff4;backdrop-filter:blur(1px)}.cell{border-radius:0;box-shadow:none;border:0;border-right:1px solid #704c4266;border-bottom:1px solid #704c4266;padding:0;min-height:0;background:var(--color);position:relative;display:grid;place-items:center;transition:background .2s,filter .2s;aspect-ratio:1;touch-action:manipulation}.cell:hover{transform:none;filter:brightness(1.12);box-shadow:inset 0 0 0 3px #fff9;z-index:1}.cell.region-right{border-right:4px solid #76503bd9}.cell.region-bottom{border-bottom:4px solid #76503bd9}.cell img{width:82%;height:82%;object-fit:contain;pointer-events:none;animation:pop .32s cubic-bezier(.2,1.7,.4,1)}.cell .cross{font-size:clamp(22px,4vmin,44px);color:#805b42;line-height:1}.cell.invalid{animation:shake .4s;background:#f29893}.rule{margin:0;text-align:center;font-weight:bold;padding:7px 14px;font-size:clamp(12px,1.7vmin,18px);border:0;min-height:32px}.toolbar{display:flex;gap:10px;width:85%;justify-content:center}.toolbar button{padding:6px 12px;flex:1;border-radius:17px;font-size:clamp(12px,1.7vmin,18px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;white-space:nowrap}.toolbar b{font-size:clamp(20px,3vmin,34px);line-height:1.1}footer{font-size:12px;text-align:center;margin-top:auto;padding-top:10px;color:#64452b;text-shadow:0 1px 5px white}dialog{color:#56351f;border:3px solid #c49b71;border-radius:30px;background:linear-gradient(135deg,#fff8e9,#f8e4c8);box-shadow:0 20px 80px #42291570;width:min(440px,90vw);padding:32px;text-align:center;animation:pop .3s ease}dialog::backdrop{background:#52342065;backdrop-filter:blur(5px)}dialog h2{font-size:28px;margin:5px 0 20px}dialog p{line-height:1.5}.close{position:absolute;right:10px;top:10px;padding:0;width:36px;min-height:36px;border:none;background:transparent;box-shadow:none;font-size:26px}.setting{display:flex;text-align:left;justify-content:space-between;align-items:center;padding:20px 0;border-bottom:1px solid #d9bb93;font-size:20px;gap:20px}.setting small{display:block;font-size:13px;margin-top:6px;color:#826247}.setting input{appearance:none;width:52px;height:30px;border-radius:20px;background:#bea381;position:relative;cursor:pointer;flex-shrink:0;transition:background .2s}.setting input:before{content:'';position:absolute;width:24px;height:24px;top:3px;left:3px;border-radius:50%;background:#fff7e8;box-shadow:0 2px 4px #63472e50;transition:transform .2s}.setting input:checked{background:#839d57}.setting input:checked:before{transform:translateX(22px)}#end-cat{width:110px;height:100px;object-fit:contain;animation:float 3s ease-in-out infinite}.final-score{background:#eddfbc;border-radius:20px;padding:18px;margin:20px 0}.final-score small{display:block}.final-score strong{font-size:44px;display:block}.end-actions{display:flex;gap:12px;justify-content:center}.end-actions button{flex:1}.sunbeam{position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(130deg,transparent 30%,#fff5cd18 45%,transparent 65%);animation:sun 10s ease-in-out infinite}.sparkle{position:absolute;pointer-events:none;font-size:24px;z-index:5;animation:celebrate 1.5s ease-out forwards}@keyframes enter{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes pop{from{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}@keyframes float{50%{transform:translateY(-7px) rotate(2deg)}}@keyframes sun{50%{opacity:.4}}@keyframes shake{20%,60%{transform:translateX(-3px)}40%,80%{transform:translateX(3px)}}@keyframes celebrate{to{transform:translateY(-240px) rotate(130deg);opacity:0}}@media(max-width:600px){#app{width:100vw;min-height:100svh;aspect-ratio:auto;padding:3% 3% 2%;border-radius:0}header{height:16vh;min-height:92px}.logo{width:77%}.menu-card{width:86%;padding:14% 8% 8%}.choice-card{width:100%;padding:20px 12px}.choices{gap:6px}.choices img{height:70px}.choices button{padding:12px 4px}.choices strong{font-size:14px}.choices span{font-size:12px}#game{justify-content:center;gap:12px}#board{width:94%;border-width:4px}.status{width:98%;font-size:12px}.toolbar{width:98%;gap:5px}.toolbar button{padding:10px 3px;font-size:12px}.rule{font-size:12px;width:96%}.cell .cross{font-size:32px}footer{padding:18px 0 2px}dialog{padding:28px 20px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
/* Clean artwork: no white plaque, blend filters, or polygon cutouts. */
.logo{height:auto;aspect-ratio:4.5;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;filter:none;clip-path:none;mix-blend-mode:normal}
.menu-cats img,.choices img,.cell img,#end-cat{background:transparent;filter:none;clip-path:none;mix-blend-mode:normal}
/* The playfield contains only opaque pastel squares and quiet cell separators. */
#board{border:0;border-radius:14px;background:#fff7e9;backdrop-filter:none;box-shadow:0 5px 18px #68432b26}
.cell,.cell.region-right,.cell.region-bottom{border-right:1px solid #725f4938;border-bottom:1px solid #725f4938}

.choices small{font-size:13px;font-weight:normal;line-height:1.35;max-width:150px}.cell .cross{opacity:.7;font-size:clamp(18px,3.2vmin,34px)}

.cell.given:after{content:"♥";position:absolute;right:7%;bottom:5%;font-size:12px;color:#a06c53;pointer-events:none}.cell.given{cursor:default}

#gear{--gear-size:clamp(40px,5vmin,56px);width:var(--gear-size);height:var(--gear-size);min-width:var(--gear-size);min-height:var(--gear-size);max-width:var(--gear-size);max-height:var(--gear-size);aspect-ratio:1;border-radius:50%;padding:0;display:grid;place-items:center;line-height:1;flex:none}#gear svg{width:55%;height:55%;display:block;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
