:root{--paper:#f3ead7;--ink:#2b2b2b;--line:#4a4a4a;--soft:#e6dbc2;color:var(--ink);background:var(--paper);font-family:Segoe Print,Comic Neue,Bradley Hand,system-ui,sans-serif}*{box-sizing:border-box}body{background:var(--paper);margin:0}h1,h2{margin:.4em 0}h1{font-size:1.6rem}h2{margin-top:1.2em;font-size:1.15rem}.app{flex-direction:column;min-height:100dvh;display:flex}.screen{flex:1;width:100%;max-width:520px;margin:0 auto;padding:16px 16px 90px}.screen.center{text-align:center;padding-top:20vh}.loading{text-align:center;padding:40px}label{margin:10px 0;font-size:.95rem;display:block}label.inline{align-items:center;gap:8px;display:flex}input,textarea{width:100%;font:inherit;border:2px solid var(--line);background:#fffaf0;border-radius:6px 10px 7px 11px;margin-top:4px;padding:10px;display:block}input[type=checkbox]{width:22px;height:22px;margin:0}.row{align-items:center;gap:8px;display:flex}.btn{font:inherit;background:var(--ink);color:var(--paper);border:2px solid var(--ink);cursor:pointer;border-radius:8px 12px 9px 13px;min-height:44px;padding:10px 16px}.btn.danger{color:#8a1c1c;background:0 0;border-color:#8a1c1c;margin-top:24px}.note{background:var(--soft);border:2px dashed var(--line);border-radius:8px;padding:10px 12px;font-size:.9rem}.small{margin:4px 0;font-size:.85rem}.goal{margin:0 0 12px;font-style:italic}.progress{border:2px solid var(--line);background:#fffaf0;border-radius:10px;height:18px;overflow:hidden}.bar{background:repeating-linear-gradient(45deg,#555 0 3px,#777 3px 6px);height:100%;transition:width .3s}.grid{grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0;display:grid}.day{aspect-ratio:1;border:2px solid var(--line);background:#fffaf0;border-radius:10px 14px 11px 15px;flex-direction:column;justify-content:center;align-items:center;font-size:1.3rem;display:flex}.day small{font-size:.65rem}.day.completado{background:var(--soft)}.day.actual{border-width:4px}.day.bloqueado{opacity:.55}.log,.check{margin:6px 0;padding-left:18px}.check{padding:0;list-style:none}.banner{color:#fff;text-align:center;background:#8a1c1c;padding:8px;font-size:.9rem}.tabs{background:var(--paper);border-top:2px solid var(--line);padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;bottom:0;left:0;right:0}.tabs button{font:inherit;color:var(--ink);background:0 0;border:0;flex:1;min-height:48px;padding:14px 0}.tabs button.on{font-weight:700;text-decoration:underline}select{width:100%;font:inherit;border:2px solid var(--line);background:#fffaf0;border-radius:6px 10px 7px 11px;margin-top:4px;padding:10px;display:block}input[type=range]{border:0;padding:0}.stage{border:2px solid var(--line);background:#fffaf0;border-radius:12px 16px 13px 17px;justify-content:center;padding:8px;display:flex}.center-text{text-align:center}.home-head{align-items:center;gap:12px;display:flex}.chips{flex-wrap:wrap;gap:8px;margin:6px 0;display:flex}.chip{font:inherit;min-height:40px;color:var(--ink);border:2px solid var(--line);background:#fffaf0;border-radius:8px 12px 9px 13px;padding:8px 12px}.chip.on{background:var(--ink);color:var(--paper)}.swatch{border:2px solid var(--line);border-radius:50%;width:44px;height:44px}.swatch.on{outline:3px solid var(--ink);outline-offset:2px}.ear-waves{animation:1s ease-in-out infinite pulse}.think{animation:1.6s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.35}50%{opacity:1}}.small-stage{padding:4px}.msgs{flex-direction:column;gap:6px;min-height:120px;max-height:38dvh;margin:10px 0;display:flex;overflow-y:auto}.msg{border:2px solid var(--line);background:#fffaf0;border-radius:10px 14px 11px 15px;max-width:85%;margin:0;padding:8px 12px}.msg.tu{background:var(--soft);align-self:flex-end}.msg.interim{opacity:.6;font-style:italic}.banner-inline{background:#f2d9d9;border:2px solid #8a1c1c;border-radius:8px;margin:6px 0;padding:8px 12px;font-size:.9rem}.row{margin:8px 0}.row input{margin-top:0}.btn.mic.live{background:#8a1c1c;border-color:#8a1c1c}.btn:disabled{opacity:.5}.daycard{border:2px solid var(--line);background:#fffaf0;border-radius:12px 16px 13px 17px;margin:12px 0;padding:8px 14px 14px}.daycard h2{margin-top:6px}.alarm{background:#f2d9d9;border:3px solid #8a1c1c;border-radius:10px 14px 11px 15px;margin:10px 0;padding:12px 14px;font-weight:700}.timer{text-align:center;margin:4px 0;font-size:4.5rem;line-height:1}.timer small{font-size:1.2rem}.btn.sos{width:100%;margin-top:16px}.banner.offline{background:#4a4a4a}.banner.install{background:var(--soft);color:var(--ink);border-bottom:2px solid var(--line)}
