
:root{--pink:#ff6fb1;--yellow:#ffd95a;--blue:#62d2ff;--green:#63d96c;--purple:#7957c8;--text:#334155;--panel:rgba(255,255,255,.88)}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}
html,body{width:100%;min-height:100%;overscroll-behavior:none}
body{min-height:100dvh;font-family:'Nunito',system-ui,sans-serif;color:var(--text);background:radial-gradient(circle at 10% 18%,rgba(255,217,90,.85) 0 7%,transparent 8%),radial-gradient(circle at 88% 16%,rgba(98,210,255,.75) 0 9%,transparent 10%),linear-gradient(135deg,#fff1f8 0%,#e8f8ff 48%,#fff8d8 100%);overflow-x:hidden}
.home-btn{position:fixed;top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));z-index:1000;display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:8px 15px;border-radius:999px;background:rgba(255,255,255,.88);border:3px solid rgba(255,255,255,.96);color:var(--purple);font-family:'Baloo 2',cursive;font-size:1rem;font-weight:800;text-decoration:none;box-shadow:0 7px 24px rgba(50,90,80,.18);backdrop-filter:blur(10px);touch-action:manipulation}
.home-btn:active{transform:scale(.94)}
.app{position:relative;z-index:1;width:min(980px,calc(100% - 18px));margin:0 auto;padding:max(16px,env(safe-area-inset-top)) 0 max(16px,env(safe-area-inset-bottom))}
.top{padding-right:112px;margin:8px 0 14px;text-align:center}
.badge{display:inline-flex;padding:7px 13px;border-radius:999px;background:#fff7cc;border:3px dashed #ffb703;color:#8a5a00;font-family:'Baloo 2';font-weight:800;font-size:.86rem;margin-bottom:6px}
h1{font-family:'Baloo 2';font-size:clamp(2.3rem,8vw,4.5rem);line-height:.9;color:#ff5e9f;text-shadow:3px 3px 0 #ffe45e,6px 6px 0 rgba(98,210,255,.55)}
.panel{background:var(--panel);border:5px solid #fff;border-radius:30px;box-shadow:0 16px 46px rgba(40,80,80,.16);padding:16px;margin-bottom:14px}
button{font-family:'Baloo 2',cursive;font-weight:800;cursor:pointer;touch-action:manipulation}
.primary-btn{border:0;border-radius:999px;padding:13px 24px;background:linear-gradient(135deg,#ff6fb1,#a78bfa);color:white;font-size:1.05rem;box-shadow:0 8px 24px rgba(160,90,190,.25)}
.primary-btn:active,.choice:active,.card:active{transform:scale(.94)}
.grid{display:grid;gap:12px}.hint{text-align:center;font-family:'Baloo 2';font-weight:800;color:#64748b;margin-top:8px}
.choice,.card{border:4px solid #fff;border-radius:22px;background:linear-gradient(145deg,#ffb3d9,#62d2ff);min-height:76px;color:white;font-size:1.05rem;text-shadow:1px 2px 0 rgba(0,0,0,.16);box-shadow:0 8px 18px rgba(50,80,120,.15)}
.sparkle{position:fixed;pointer-events:none;z-index:999;font-size:2rem;animation:spark .8s ease-out forwards}@keyframes spark{from{transform:scale(.4) translateY(0);opacity:1}to{transform:scale(1.7) translateY(-55px);opacity:0}}
@media(max-width:620px){.top{padding-right:66px}.home-btn{width:52px;height:52px;min-height:52px;padding:0;justify-content:center;border-radius:50%}.home-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}}
.stats{display:flex;gap:16px;align-items:center;justify-content:center;flex-wrap:wrap;font-family:'Baloo 2';font-weight:800;font-size:1.2rem}.cards{grid-template-columns:repeat(4,1fr)}.card{height:110px;font-size:3rem;display:grid;place-items:center;background:linear-gradient(145deg,#a78bfa,#62d2ff)}.card.open{background:white;color:#333;text-shadow:none}.card.done{background:linear-gradient(145deg,#7ee081,#ffd75e)}@media(max-width:650px){.cards{grid-template-columns:repeat(3,1fr)}.card{height:90px}}