:root {
  font-family: "Avenir Next", Avenir, ui-rounded, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #49363f; background: #fbf7f6; font-synthesis: none;
  --ink: #49363f; --muted: #806d75; --plum: #77485f; --berry: #9d5d75;
  --rose: #ead0d8; --blush: #f7e9ec; --cream: #fffdfb; --peach: #f4dfd5;
  --sage: #dce6df; --danger: #a14350; --line: #eadde1;
}
* { box-sizing: border-box }
body { margin: 0; min-height: 100vh; background: radial-gradient(circle at 90% -5%, #eed5dc 0, transparent 32%), radial-gradient(circle at -10% 60%, #f2e3d9 0, transparent 30%), #fbf7f6 }
button,input,select,textarea { font: inherit } button { cursor: pointer }
.shell { max-width: 900px; margin: auto; min-height: 100vh; padding: 0 22px 108px }
.topbar { display: flex; align-items: center; justify-content: space-between; padding: 28px 2px 20px }
.brand { display: flex; gap: 12px; align-items: center }
.mark { width: 45px; height: 45px; border-radius: 50% 50% 46% 54%; background: linear-gradient(145deg,var(--plum),var(--berry)); color: white; display: grid; place-items: center; font-family: Georgia,serif; font-size: 1.3rem; font-style: italic; box-shadow: 0 8px 22px #77485f38 }
.eyebrow { text-transform: uppercase; letter-spacing: .15em; font-size: .68rem; color: var(--berry); font-weight: 800 }
.topbar h1 { font: 600 1.25rem Georgia,serif; margin: 2px 0; letter-spacing: -.01em }
.privacy { font-size: .82rem; color: var(--muted); background: #ffffffa8; border: 1px solid var(--line); padding: 8px 12px; border-radius: 999px }
.privacy span { color: #7e9c84; font-size: .65rem; margin-right: 4px }
.hero { position: relative; overflow: hidden; background: linear-gradient(145deg,#704256,#986078); color: white; border-radius: 36px 36px 36px 12px; padding: 38px; box-shadow: 0 22px 55px #77485f30 }
.hero:after { content:""; position:absolute; width:260px; height:260px; border:1px solid #ffffff21; border-radius:50%; right:-90px; bottom:-150px }
.hero .eyebrow { color: #f5dce4 }.hero h2 { position:relative; font: 500 clamp(2.25rem,7vw,3.8rem)/1.02 Georgia,serif; margin: 10px 0 14px; letter-spacing:-.035em }.hero h2 em { color:#f3ced8; font-weight:400 }
.hero p { max-width: 540px; opacity: .88; line-height: 1.6; font-size: 1.03rem }
.petal { position:absolute; color:#f6dce4; opacity:.45; font-family:Georgia,serif }.p1{right:13%;top:20%;font-size:2.2rem}.p2{right:7%;top:5%;font-size:5rem}
.primary,.secondary,.ghost,.danger { border:0; border-radius:999px; padding:13px 18px; font-weight:750; transition:transform .15s,box-shadow .15s }
.primary:hover,.secondary:hover { transform:translateY(-1px) }.primary { background:#fff; color:var(--plum); box-shadow:0 8px 20px #4c26342b }.primary.dark { background:linear-gradient(135deg,var(--plum),var(--berry)); color:#fff }.primary:disabled { opacity:.45; cursor:not-allowed; transform:none }
.secondary { background:var(--blush); color:var(--plum); border:1px solid #e8cbd4 }.ghost,.text-link { background:transparent; color:var(--berry); padding-inline:4px }.danger { background:#f8e4e7; color:var(--danger) }
.hero-action { margin-top:12px; font-size:1.05rem; padding:14px 22px }.pause-symbol { display:inline-grid; place-items:center; width:26px;height:26px;background:var(--blush);border-radius:50%;margin-right:8px }
.grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:20px 0 }
.card { background:#fffdfbd9; backdrop-filter:blur(10px); border:1px solid var(--line); border-radius:24px 24px 24px 8px; padding:22px; box-shadow:0 10px 32px #6d46520d; margin:14px 0 }
.card h3,.card h2 { margin:0 0 8px }.card h3 { font-family:Georgia,serif;font-weight:600 }.card p { color:var(--muted);line-height:1.55 }.accent-card { display:flex; gap:16px; align-items:flex-start; margin:0 }.card-icon { flex:0 0 auto; display:grid; place-items:center; width:42px;height:42px;border-radius:50%;background:var(--blush);color:var(--berry);font-size:1.3rem }
.text-link { border:0; font-weight:750; padding:3px 0 }.progress-card { display:grid; grid-template-columns:1fr auto; align-items:center; gap:12px }.progress { height:7px;background:var(--blush);border-radius:99px;overflow:hidden;grid-column:1/-1}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--berry),#c58aa0);border-radius:99px}.progress-card .text-link{justify-self:end}
.metric { font:600 1.65rem Georgia,serif;color:var(--plum) }.section-title { display:flex;justify-content:space-between;align-items:end;margin:30px 2px 14px }.section-title h2 { font:500 2rem Georgia,serif;margin:3px 0 }.version,.pill { background:var(--blush);color:var(--plum);border-radius:999px;padding:7px 11px;font-size:.76rem;font-weight:800 }
.list { display:grid;gap:11px }.row { width:100%;display:flex;justify-content:space-between;gap:14px;align-items:center;text-align:left;background:#fffdfbde;padding:17px;border:1px solid var(--line);border-radius:19px 19px 19px 7px;color:var(--ink);box-shadow:0 6px 20px #6d46520a }.row:hover{border-color:#d8b9c3}.row strong{display:block}.meta{display:block;font-size:.84rem;color:var(--muted);margin-top:5px;line-height:1.35}.empty{text-align:center;padding:36px;color:var(--muted)}.module{border-left:4px solid #c38da1}.module.done{opacity:.7;border-left-color:#91a993}
.notice { background:#f8eee9;border:1px solid #efddd4;border-radius:16px 16px 16px 5px;padding:14px;color:#73594e }.install{background:linear-gradient(145deg,#f8eaed,#f7eee8)}
.nav { position:fixed;z-index:5;bottom:0;left:50%;transform:translateX(-50%);width:min(calc(100% - 24px),880px);display:flex;justify-content:space-around;background:#fffdfbeb;backdrop-filter:blur(20px);border:1px solid var(--line);border-bottom:0;border-radius:24px 24px 0 0;padding:8px 8px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -10px 30px #5b38440d }.nav button{border:0;background:none;color:#9b858e;padding:7px 8px;font-size:.7rem;display:grid;gap:2px;place-items:center;min-width:52px}.nav-icon{font-size:1.25rem;line-height:1.2}.nav button.active{color:var(--plum);font-weight:850}.nav button.active .nav-icon{background:var(--blush);min-width:36px;padding:3px 9px;border-radius:999px}
.modal { position:fixed;z-index:20;inset:0;background:#3f27339e;display:grid;place-items:end center;padding-top:30px;backdrop-filter:blur(5px) }.sheet{background:#fffaf9;width:min(100%,700px);max-height:94vh;overflow:auto;border-radius:34px 34px 0 0;padding:27px 25px calc(30px + env(safe-area-inset-bottom));box-shadow:0 -20px 60px #2e162441}.sheet-head{display:flex;justify-content:space-between;align-items:center}.sheet h2{font:500 2rem Georgia,serif;margin:5px 0 20px}.close{border:0;background:var(--blush);color:var(--plum);border-radius:50%;width:39px;height:39px;font-size:1.1rem}.field{display:grid;gap:7px;margin:16px 0}.field label{font-weight:750;color:#604b55}.field input,.field select,.field textarea{width:100%;border:1px solid #dccbd1;border-radius:14px;padding:13px;background:#fff;color:var(--ink);outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--berry);box-shadow:0 0 0 3px #ead0d879}.field textarea{min-height:94px;resize:vertical}.field input[type=range]{padding:0;accent-color:var(--berry)}.range-line{display:flex;justify-content:space-between}.actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}.timer{text-align:center;padding:30px 0}.timer-ring{width:190px;height:190px;margin:auto;border-radius:50%;border:14px solid var(--rose);box-shadow:inset 0 0 0 8px #fff;display:grid;place-items:center;font:500 3.5rem Georgia,serif;color:var(--plum);background:radial-gradient(circle,#fff 55%,var(--blush))}
.hidden{display:none!important}
@media(max-width:620px){.shell{padding-inline:14px}.topbar{padding-top:16px}.privacy{display:none}.grid{grid-template-columns:1fr}.home-grid{gap:12px}.hero{padding:27px 23px;border-radius:28px 28px 28px 10px}.hero h2{font-size:2.45rem}.card{border-radius:21px 21px 21px 7px;padding:18px}.nav{width:100%;border-radius:20px 20px 0 0}.nav button{min-width:0;padding-inline:4px}.progress-card{grid-template-columns:1fr}.progress-card .text-link{justify-self:start}.sheet{padding-inline:18px}.row{align-items:flex-start}.actions>*{flex:1}.section-title{align-items:center}.section-title h2{font-size:1.75rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
