:root{--bg:#fbf7f0;--card:#ece6f8;--card-border:#ddd3f2;--text:#2b2730;--muted:#6b6474;--blue:#2d4fd1;--blue-dark:#223fae;--line:#e8e1d6;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5}*{box-sizing:border-box}body{background:var(--bg);margin:0;font-size:17px}.page{text-align:center;max-width:560px;margin:0 auto;padding:32px 20px 48px}.brand{letter-spacing:.06em;text-transform:uppercase;color:var(--blue);margin:0 0 8px;font-size:16px;font-weight:600}h1{margin:0 0 10px;font-size:clamp(26px,6.5vw,34px);font-weight:700;line-height:1.2}.instruction{color:var(--muted);margin:0 0 24px;font-size:17px}.pills{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:20px;display:flex}.pill{border:1px solid var(--card-border);min-height:40px;color:var(--text);font:inherit;cursor:pointer;background:#fff;border-radius:999px;padding:8px 16px;font-size:16px}.pill:hover{border-color:var(--blue)}.pill.active{background:var(--blue);border-color:var(--blue);color:#fff}.card{background:var(--card);border:1px solid var(--card-border);border-radius:24px;padding:36px 24px;box-shadow:0 6px 24px #503c8214}.date{color:var(--muted);margin:0 0 18px;font-size:16px;font-weight:500}.affirmation{overflow-wrap:anywhere;margin:0;font-size:clamp(24px,6.5vw,32px);font-weight:600;line-height:1.35}.affirmation.empty{color:var(--muted);font-size:20px;font-weight:500}.tag{color:var(--muted);margin:20px 0 0;font-size:16px}.actions{flex-direction:column;gap:12px;margin-top:24px;display:flex}.btn{min-height:52px;font:inherit;cursor:pointer;border-radius:14px;padding:12px 20px;font-size:18px;font-weight:600}.btn:disabled{cursor:default}.btn.primary{background:var(--blue);color:#fff;border:2px solid var(--blue)}.btn.primary:hover:not(:disabled){background:var(--blue-dark);border-color:var(--blue-dark)}.actions .btn.primary:disabled{color:var(--blue-dark);background:#e3e9fb;border-color:#e3e9fb}.add-form .btn.primary:disabled{opacity:.45}.btn.outline{color:var(--blue);border:2px solid var(--blue);background:0 0}.btn.outline:hover:not(:disabled){background:#eef2fd}.btn.outline:disabled{opacity:.45}.btn.small{min-height:48px;padding:10px 18px;font-size:16px}.streak{color:var(--muted);margin:14px 0 0;font-size:16px}.fade{opacity:1;transition:opacity .3s}.fade.out{opacity:0}.calendar{border:1px solid var(--line);background:#fff;border-radius:20px;margin-top:32px;padding:20px 16px}.cal-head{text-align:left;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.cal-head h2{margin:0;font-size:20px}.cal-count{color:var(--muted);font-size:16px}.cal-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.cal-dow{color:var(--muted);padding-bottom:4px;font-size:14px;font-weight:600}.cal-cell{aspect-ratio:1;color:var(--text);border-radius:50%;justify-content:center;align-items:center;font-size:16px;display:flex}.cal-cell.done{background:var(--blue);color:#fff;font-weight:700}.cal-cell.today{border:2px solid var(--blue)}.cal-cell.today:not(.done){background:var(--card);font-weight:700}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.mine{border-top:1px solid var(--line);text-align:left;margin-top:48px;padding-top:32px}.mine h2{margin:0 0 16px;font-size:22px}.add-form textarea{border:1px solid var(--card-border);width:100%;font:inherit;color:var(--text);resize:vertical;background:#fff;border-radius:14px;padding:14px;font-size:17px}.add-form textarea:focus{outline:2px solid var(--blue);outline-offset:1px}.add-row{justify-content:space-between;align-items:center;gap:12px;margin-top:10px;display:flex}.count{color:var(--muted);font-size:16px}.list{margin:20px 0 0;padding:0;list-style:none}.list li{border:1px solid var(--line);background:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;padding:14px 16px;display:flex}.list li span{overflow-wrap:anywhere;flex:1;font-size:17px}.btn.delete{color:#a33a3a;background:0 0;border:1px solid #e6c9c9;flex-shrink:0;min-height:44px;padding:8px 14px;font-size:16px}.btn.delete:hover{background:#fbefef}.empty-list{text-align:center;color:var(--muted);border:1px dashed var(--card-border);background:#fff;border-radius:14px;margin:20px 0 0;padding:20px}.footer{border-top:1px solid var(--line);color:var(--muted);margin-top:48px;padding-top:24px;font-size:16px}.footer p{margin:0 0 12px}.btn.text{color:#a33a3a;background:0 0;border:none;font-size:16px;text-decoration:underline}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
