:root{--cream:#FFF8F0;--coral:#FF6B57;--teal:#0E7C7B;--mint:#BFEAD9;--sun:#FFC53D;--ink:#22303A;--card:#fff;--radius:20px}
*{box-sizing:border-box}body{margin:0;font-family:ui-rounded,"Nunito",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--cream);color:var(--ink)}
.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:10px 18px;background:rgba(255,248,240,.95);border-bottom:2px solid var(--mint)}
.brand{font-weight:800;font-size:1.25rem;display:flex;gap:8px;align-items:center}.mascot{font-size:1.6rem}
nav{display:flex;gap:14px;flex-wrap:wrap;margin-left:auto}nav a{color:var(--teal);font-weight:700;text-decoration:none}
.lang-btn{margin-left:8px;background:var(--teal);color:#fff;border:0;border-radius:999px;padding:10px 18px;font-weight:800;cursor:pointer;min-height:44px}
.hero{text-align:center;padding:48px 18px 28px;max-width:820px;margin:0 auto}.hero-owl{font-size:4.2rem}
.hero h1{font-size:clamp(1.9rem,5vw,3rem);line-height:1.1;margin:8px 0}
.hero p{font-size:1.1rem}.hero-note{color:#5a6b74;font-size:.95rem}
.btn{display:inline-block;background:var(--coral);color:#fff;border:0;border-radius:999px;padding:12px 22px;font-weight:800;cursor:pointer;text-decoration:none;min-height:48px;font-size:1rem}
.btn.ghost{background:#fff;color:var(--teal);border:2px solid var(--teal)}.btn.big{font-size:1.1rem;padding:14px 26px;margin:4px}
.btn.danger{background:#fff;color:#b3261e;border:2px solid #b3261e}
.panel{max-width:1000px;margin:18px auto;padding:22px;background:var(--card);border-radius:var(--radius);box-shadow:0 4px 18px rgba(34,48,58,.07)}
.panel h2{margin-top:0}.sub{color:#42545e}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.card{border:2px solid var(--mint);border-radius:16px;padding:14px;background:#FFFEFB}
.card h3{margin:4px 0}.tag{display:inline-block;background:var(--mint);border-radius:999px;padding:2px 10px;font-size:.78rem;font-weight:700;margin-right:6px}
.card details{margin-top:8px}.card summary{cursor:pointer;font-weight:700;color:var(--teal);min-height:32px}
.marks{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.mark{border:2px solid var(--teal);background:#fff;color:var(--teal);border-radius:999px;padding:8px 12px;cursor:pointer;font-weight:700;min-height:44px}
.mark.on{background:var(--teal);color:#fff}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.today-list{display:grid;gap:10px}
.today-item{display:flex;gap:12px;align-items:center;border:2px dashed var(--sun);border-radius:14px;padding:10px 14px;background:#FFFDF5}
.today-num{background:var(--sun);border-radius:50%;width:38px;height:38px;display:flex;align-items:center;justify-content:center;font-weight:900;flex:none}
.game{border-top:2px solid var(--cream);padding:18px 0}
.game-board{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0;min-height:56px}
.tile{width:72px;height:72px;font-size:2rem;border-radius:16px;border:2px solid var(--teal);background:var(--mint);cursor:pointer;display:flex;align-items:center;justify-content:center;min-width:56px;min-height:56px}
.tile.open{background:#fff}.tile.done{background:var(--sun);border-color:var(--sun)}
.big-emoji{font-size:2.6rem;align-items:center}
.swatch{width:64px;height:64px;border-radius:16px;border:3px solid rgba(0,0,0,.12);cursor:pointer;min-width:56px;min-height:56px}
.game-msg{font-weight:700;min-height:1.4em}
.dash-summary,.dash-domains{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin:12px 0}
.stat{border:2px solid var(--mint);border-radius:14px;padding:12px}.stat b{font-size:1.4rem;display:block}
textarea{width:100%;border:2px solid var(--mint);border-radius:12px;padding:10px;font:inherit}
.notes-label{font-weight:800}.dash-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.privacy{background:#F2FBF7}.fine{color:#5a6b74;font-size:.9rem}
footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:20px;max-width:1000px;margin:0 auto}
@media (max-width:600px){nav{margin-left:0}.tile{width:64px;height:64px}}
