@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');
:root{--ink:#4e3b48;--muted:#9c8093;--pink:#d979aa;--hot:#b84f85;--blush:#fff1f8;--line:#f2dce9;--white:#fffafd}*{box-sizing:border-box}body{margin:0;background:#fff7fb;color:var(--ink);font-family:DM Mono,monospace;min-height:100vh}body:before{content:'✦  ·  ♡  ·  ✧';position:fixed;top:10%;right:6%;color:#f0c4db;font-size:22px;letter-spacing:18px;pointer-events:none}.shell{width:min(100% - 32px,620px);margin:auto;padding:34px 0 70px}h1,h2{font-family:'Playfair Display',serif;font-weight:500;margin:0}h1{font-size:29px;line-height:1.1}h1 span,h2 em{color:var(--hot);font-style:italic}h1 i{color:var(--pink);font-style:normal;font-size:20px}.eyebrow{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--pink);margin:0 0 10px}.muted{font-size:11px;line-height:1.7;color:var(--muted)}.card,.hero{border:1px solid var(--line);border-radius:26px;background:rgba(255,250,253,.92);box-shadow:0 18px 50px #d88eb522}.login{padding:48px 30px;text-align:center;margin-top:12vh}.login .sparkle{font-size:38px;color:var(--pink);margin-bottom:12px}.login form{margin:30px auto 0;text-align:left;max-width:360px}label{display:block;color:var(--muted);font-size:10px;margin:15px 0}input,textarea{display:block;width:100%;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--ink);font:12px DM Mono;padding:13px;margin-top:7px;outline:none}textarea{min-height:80px;resize:vertical}input:focus,textarea:focus{border-color:var(--pink);box-shadow:0 0 0 3px #d979aa1c}button{border:0;border-radius:13px;background:var(--hot);color:white;padding:14px 18px;font:11px DM Mono;cursor:pointer;transition:.2s}button:hover{transform:translateY(-1px);filter:brightness(1.05)}.login button{width:100%;margin-top:13px}.login button span{float:right;font-size:15px}.error{color:#b84f64;font-size:10px;min-height:15px}header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:25px}.icon-btn{background:transparent;color:var(--muted);font-size:20px;padding:4px 0}.hero{display:flex;align-items:center;justify-content:space-between;padding:24px 25px;margin-bottom:30px;background:linear-gradient(135deg,#fff7fb,#ffe8f3)}.hero h2{font-size:29px;line-height:1.05}.orb{width:79px;height:79px;border-radius:50%;display:grid;place-items:center;background:#f5bbd5;color:white;font:35px 'Playfair Display';box-shadow:inset -8px -10px 20px #c66e9a55}.section-title{display:flex;justify-content:space-between;align-items:center;margin:0 3px 14px}.section-title h2{font-size:23px}.round-btn{height:37px;width:37px;padding:0;border-radius:50%;font-size:20px;background:#f5c0d9;color:var(--hot)}.tracker-list{display:grid;gap:12px}.tracker{background:var(--white);border:1px solid var(--line);border-radius:19px;padding:17px;display:grid;grid-template-columns:45px 1fr auto;gap:13px;align-items:center}.tracker-icon{width:45px;height:45px;border-radius:14px;background:var(--blush);display:grid;place-items:center;font-size:22px}.tracker h3{font:500 16px 'Playfair Display';margin:0 0 6px}.counter{font:22px 'Playfair Display';color:var(--hot)}.counter small{font:10px DM Mono;color:var(--muted)}.reset{background:var(--blush);color:var(--hot);font-size:10px;padding:9px}.empty{text-align:center;border:1px dashed var(--line);border-radius:18px;padding:28px;color:var(--muted);font-size:11px}.reminders-title{margin-top:32px}.reminders{display:grid;gap:8px}.reminder{background:#fff0f7;border-radius:14px;padding:13px 15px;font-size:10px;color:var(--muted)}.reminder strong{color:var(--ink);font-weight:500}.reminder b{float:right;color:var(--pink);font-weight:500}dialog{border:1px solid var(--line);border-radius:24px;color:var(--ink);width:min(100% - 32px,400px);padding:25px;background:var(--white);box-shadow:0 25px 80px #6a2d4c33}dialog::backdrop{background:#4e3b4855;backdrop-filter:blur(3px)}dialog h2{font-size:25px}.close{position:absolute;right:16px;top:13px;background:transparent;color:var(--muted);font-size:23px;padding:0}.primary{width:100%;margin-top:11px}
@media(min-width:600px){.shell{padding-top:60px}.tracker-list{grid-template-columns:1fr 1fr}.hero{padding:30px}}
