:root{--red:#b3122e;--crimson:#8f0f26;--black:#111;--gold:#c9a227;--bg:#fff8f5;--card:#fff;--muted:#666}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--black)}
.top{background:var(--black);color:#fff;padding:14px 16px;position:sticky;top:0;z-index:5}
.top h1{margin:0;font-size:20px}.top p{margin:2px 0 0;color:#f3c6cc;font-size:13px}
.banner{padding:10px 16px;font-weight:700;color:#fff}.banner.mandraki{background:var(--crimson)}.banner.takeesha{background:var(--gold);color:#111}
main{max-width:520px;margin:0 auto;padding:12px 12px 90px}
.card{background:var(--card);border:1px solid #ecd9d9;border-radius:14px;padding:14px;margin:10px 0;box-shadow:0 1px 4px rgba(0,0,0,.06)}
button{background:var(--red);color:#fff;border:0;border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer}
button.secondary{background:#222}button.ghost{background:#fff;color:var(--red);border:1px solid var(--red)}
input,select,textarea{width:100%;padding:10px;border:1px solid #ccc;border-radius:10px;margin:6px 0}
label{font-size:13px;font-weight:600}.muted{color:var(--muted);font-size:13px}
.tabs{position:fixed;left:0;right:0;bottom:0;background:#111;display:flex;overflow-x:auto;gap:2px;padding:6px;z-index:5}
.tabs button{background:transparent;color:#ddd;border-radius:8px;padding:8px 10px;white-space:nowrap}.tabs button.active{background:var(--red);color:#fff}
.pill{display:inline-block;background:#ffe9ec;color:var(--crimson);border-radius:20px;padding:3px 9px;font-size:12px;font-weight:700;margin:2px}
.float{position:fixed;pointer-events:none;font-size:22px;animation:rise 6s linear infinite;opacity:.35}
@keyframes rise{from{transform:translateY(20px)}to{transform:translateY(-90vh)}}
@media(prefers-reduced-motion:reduce){.float{display:none}}
.grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.day{border:1px solid #ddd;border-radius:10px;padding:8px;text-align:center;font-size:13px}
.day.done{background:#ffe9ec}
