:root{--bg:#fffaeb;--ink:#5b3a1e;--accent:#f4a93b;--accent-dark:#d9851a;--stop:#b48ce0;--soft:#f3e6c4;color:var(--ink);background:var(--bg);font-family:Avenir Next,Nunito,system-ui,sans-serif}*{box-sizing:border-box}body{background:var(--bg);-webkit-tap-highlight-color:transparent;margin:0}.screen{min-height:100dvh;padding:max(24px, env(safe-area-inset-top)) 16px max(24px, env(safe-area-inset-bottom));text-align:center;flex-direction:column;justify-content:space-evenly;align-items:center;gap:16px;display:flex}.avatar{aspect-ratio:1;object-fit:cover;border-radius:50%;width:min(70vw,340px);transition:transform .3s}.avatar-speaking{animation:.6s ease-in-out infinite alternate talk}@keyframes talk{0%{transform:scale(1)rotate(-2deg)}to{transform:scale(1.06)rotate(2deg)}}.status{min-height:2em;margin:0;font-size:1.4rem;font-weight:600}.talk{background:var(--accent);width:min(85vw,360px);box-shadow:0 6px 0 var(--accent-dark);color:#fff;font:inherit;cursor:pointer;border:none;border-radius:999px;padding:22px 16px;font-size:1.6rem;font-weight:700}.talk:active{box-shadow:0 2px 0 var(--accent-dark);transform:translateY(4px)}.talk-stop{background:var(--stop);box-shadow:0 6px #8f63c2}.progress{width:100%;max-width:420px}.streak{margin:0 0 12px;font-size:1.2rem;font-weight:600}.week{grid-template-columns:repeat(7,1fr);gap:6px;margin:0;padding:0;list-style:none;display:grid}.day{flex-direction:column;align-items:center;gap:4px;display:flex}.day-mark{background:var(--soft);border-radius:50%;place-items:center;width:40px;height:40px;font-size:1.3rem;display:grid}.day-done .day-mark{background:#ffe7a3}.day-today .day-mark{outline:3px solid var(--accent)}.day-rest{opacity:.5}.day-name{font-size:.9rem}
