:root{
  --bg:#fbf8f5;
  --surface:#ffffff;
  --ink:#23202c;
  --muted:#6d6678;
  --line:#ece5f3;
  --primary:#6f63ff;
  --primary-dark:#4f46cf;
  --lavender:#eeeaff;
  --peach:#ffe8dc;
  --mint:#e5f7ee;
  --sky:#e9f2ff;
  --rose:#fff1f4;
  --gold:#fff2cf;
  --shadow:0 18px 45px rgba(61,45,95,.11);
  --soft-shadow:0 10px 28px rgba(61,45,95,.08);
  --radius:24px;
  --radius-sm:18px;
  --safe-bottom:env(safe-area-inset-bottom, 0px);
}
*{box-sizing:border-box}
html{min-height:100%;background:var(--bg)}
body{margin:0;min-height:100%;font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;color:var(--ink);background:
  radial-gradient(circle at 20% -10%, rgba(255,214,224,.55), transparent 33%),
  radial-gradient(circle at 90% 0%, rgba(218,235,255,.72), transparent 30%),
  linear-gradient(180deg,#fffaf5 0%,#f8f5fb 100%);}
button,input,textarea{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:transparent}
a{color:inherit}
.app-shell{max-width:520px;margin:0 auto;min-height:100dvh;position:relative;padding:76px 16px calc(92px + var(--safe-bottom));}
.topbar{position:fixed;top:0;left:50%;transform:translateX(-50%);z-index:40;width:min(520px,100%);height:64px;padding:10px 14px;display:flex;align-items:center;gap:10px;background:rgba(255,250,246,.82);backdrop-filter:blur(18px);border-bottom:1px solid rgba(236,229,243,.72)}
.icon-button,.install-button,.brand-chip{height:42px;border-radius:999px;background:rgba(255,255,255,.82);box-shadow:var(--soft-shadow);border:1px solid rgba(255,255,255,.85)}
.icon-button{width:42px;font-size:22px;display:grid;place-items:center}.brand-chip{flex:1;display:flex;align-items:center;gap:9px;padding:0 12px;font-weight:800;min-width:0}.brand-chip span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-orb{width:30px;height:30px;border-radius:12px;background:linear-gradient(135deg,#7a6cff,#f0b68b);color:#fff;display:grid;place-items:center;font-weight:900;box-shadow:0 10px 18px rgba(111,99,255,.24)}
.install-button{padding:0 14px;background:#23202c;color:#fff;font-weight:800;box-shadow:0 12px 26px rgba(35,32,44,.2)}
.screen{outline:0;animation:fadeIn .2s ease both}@keyframes fadeIn{from{opacity:.35;transform:translateY(6px)}to{opacity:1;transform:none}}
.drawer{position:fixed;inset:0;z-index:80;background:rgba(35,32,44,.28);backdrop-filter:blur(5px);display:none}.drawer.open{display:block}.drawer-panel{width:min(86vw,360px);height:100%;background:var(--surface);padding:18px;box-shadow:var(--shadow);border-radius:0 28px 28px 0}.drawer-head{display:flex;gap:12px;align-items:center;margin-bottom:16px}.drawer-head p{margin:2px 0 0;color:var(--muted);font-size:.9rem}.drawer-nav{display:grid;gap:8px}.drawer-nav button{padding:14px 14px;text-align:left;border-radius:16px;background:#f7f3fa;color:var(--ink);font-weight:750}.drawer-nav button:hover{background:var(--lavender)}
.hero-card,.card,.soft-card{background:rgba(255,255,255,.88);border:1px solid rgba(255,255,255,.86);border-radius:var(--radius);box-shadow:var(--shadow)}.hero-card{padding:22px;margin-bottom:16px;overflow:hidden;position:relative}.hero-card:before{content:"";position:absolute;right:-42px;top:-46px;width:150px;height:150px;border-radius:48px;background:linear-gradient(135deg,rgba(111,99,255,.18),rgba(255,187,145,.28));transform:rotate(20deg)}.hero-card>*{position:relative}.eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.09em;font-weight:900;color:var(--primary);margin:0 0 10px}.hero-card h1,.screen-title h1{font-size:2.25rem;line-height:1.02;margin:0 0 12px;letter-spacing:-.05em}.hero-card p,.screen-title p,.card p,.soft-card p{color:var(--muted);line-height:1.48}.hero-card p{margin:0 0 18px}.row{display:flex;gap:10px;flex-wrap:wrap}.grid{display:grid;gap:12px}.grid.two{grid-template-columns:1fr 1fr}.card{padding:16px}.soft-card{padding:15px;background:rgba(255,255,255,.66);box-shadow:var(--soft-shadow)}.screen-title{margin:4px 0 16px}.screen-title h1{font-size:2rem}.section-label{display:flex;align-items:center;justify-content:space-between;margin:22px 2px 10px}.section-label h2{margin:0;font-size:1.05rem}.section-label small{color:var(--muted);font-weight:700}.button,.primary,.secondary,.ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:12px 16px;font-weight:850;text-decoration:none}.primary{background:var(--primary);color:#fff;box-shadow:0 14px 30px rgba(111,99,255,.28)}.primary:active{transform:scale(.99)}.secondary{background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:var(--soft-shadow)}.ghost{background:#f6f1fa;color:var(--ink)}.full{width:100%}.danger-soft{background:#fff3f1;color:#6d2f26}.tiny{font-size:.82rem}.muted{color:var(--muted)}.tile-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tile{border-radius:22px;padding:16px;text-align:left;min-height:126px;box-shadow:var(--soft-shadow);border:1px solid rgba(255,255,255,.76);position:relative;overflow:hidden;background:#fff}.tile:after{content:"";position:absolute;width:70px;height:70px;border-radius:24px;right:-20px;bottom:-24px;background:rgba(255,255,255,.42)}.tile strong{display:block;font-size:1.02rem;margin:8px 0 4px;letter-spacing:-.02em}.tile small{color:rgba(35,32,44,.68);line-height:1.35;display:block}.tile .bubble-icon,.home-icon{width:38px;height:38px;border-radius:16px;display:grid;place-items:center;background:rgba(255,255,255,.72);font-weight:900}.tile.peach{background:var(--peach)}.tile.mint{background:var(--mint)}.tile.sky{background:var(--sky)}.tile.lavender{background:var(--lavender)}.tile.gold{background:var(--gold)}.tile.rose{background:var(--rose)}
.home-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.action-card{padding:16px;border-radius:22px;background:#fff;box-shadow:var(--soft-shadow);border:1px solid rgba(236,229,243,.85);text-align:left}.action-card .top{display:flex;align-items:center;gap:10px;margin-bottom:8px}.action-card h3{margin:0;font-size:1rem}.action-card p{margin:0;color:var(--muted);font-size:.92rem}.progress-pill{height:10px;border-radius:999px;background:#eee7f5;overflow:hidden;margin-top:12px}.progress-pill i{display:block;height:100%;width:0;background:linear-gradient(90deg,#6f63ff,#ffb68d);border-radius:999px}.program-card{padding:17px;border-radius:24px;background:#fff;box-shadow:var(--soft-shadow);border:1px solid rgba(236,229,243,.9)}.program-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.program-head h3{margin:0;font-size:1.12rem;letter-spacing:-.03em}.tag{display:inline-flex;border-radius:999px;background:var(--lavender);color:var(--primary-dark);font-weight:850;font-size:.75rem;padding:6px 9px;white-space:nowrap}.tag.free{background:var(--mint);color:#247048}.tag.locked{background:#f2edf7;color:#70637f}.program-meta{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.program-meta span{font-size:.78rem;background:#f7f3fa;border-radius:999px;padding:6px 9px;color:#5d546a;font-weight:750}.step-card{padding:18px;border-radius:24px;background:#fff;box-shadow:var(--shadow);border:1px solid rgba(236,229,243,.9)}.step-card h2{margin:.2rem 0 .4rem;font-size:1.45rem;letter-spacing:-.04em}.step-card p{line-height:1.55;color:#514a5e}.step-count{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.input,textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:18px;padding:13px 14px;outline:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}textarea{min-height:112px;resize:vertical}.field{margin:12px 0}.field label{display:block;font-size:.85rem;font-weight:850;margin-bottom:6px;color:#514a5e}.choice-list{display:grid;gap:8px;margin:12px 0}.choice-list button{padding:12px 13px;border-radius:16px;text-align:left;background:#f8f4fa;border:1px solid var(--line);font-weight:750}.choice-list button.selected{background:var(--lavender);border-color:#c7bdff}.paywall-card{padding:20px;border-radius:28px;background:linear-gradient(135deg,#fff,#f1edff 62%,#ffe9dc);box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.86)}.price{display:flex;align-items:flex-end;gap:4px;margin:10px 0}.price strong{font-size:2.5rem;letter-spacing:-.06em}.check-list{display:grid;gap:9px;margin:14px 0}.check-list div{display:flex;gap:9px;color:#4e4759}.check-list div:before{content:"✓";width:23px;height:23px;border-radius:9px;background:var(--mint);color:#1f7a4f;display:grid;place-items:center;font-weight:900;flex:0 0 auto}.journal-entry{padding:14px;border-radius:18px;background:#fff;border:1px solid var(--line);margin-top:10px}.journal-entry small{color:var(--muted)}.bottom-nav{position:fixed;z-index:50;left:50%;transform:translateX(-50%);bottom:0;width:min(520px,100%);display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:9px 12px calc(9px + var(--safe-bottom));background:rgba(255,250,246,.88);backdrop-filter:blur(18px);border-top:1px solid rgba(236,229,243,.85)}.nav-item{min-width:0;min-height:58px;border-radius:20px;background:rgba(255,255,255,.65);display:flex;flex-direction:column;gap:3px;align-items:center;justify-content:center;color:#675d72;font-weight:800}.nav-item span{font-size:1.12rem}.nav-item small{font-size:.72rem}.nav-item.active{background:#fff;color:var(--primary);box-shadow:var(--soft-shadow)}.nav-reset{background:linear-gradient(180deg,#6f63ff,#5a4ee8)!important;color:#fff!important;box-shadow:0 12px 26px rgba(111,99,255,.26)}.modal-backdrop{position:fixed;inset:0;z-index:100;background:rgba(35,32,44,.34);display:grid;place-items:end center;padding:16px}.modal{position:relative;width:min(520px,100%);max-height:86dvh;overflow:auto;background:#fff;border-radius:30px;padding:22px;box-shadow:0 28px 80px rgba(35,32,44,.28)}.modal-close{position:absolute;right:14px;top:12px;width:38px;height:38px;border-radius:999px;background:#f6f1fa;font-size:24px}.timer{font-size:3rem;font-weight:900;letter-spacing:-.05em;text-align:center;margin:18px 0;color:var(--primary)}.notice{padding:12px 14px;border-radius:17px;background:#fff7e5;color:#6f5822;border:1px solid #faeac0}.safety-note{font-size:.9rem;line-height:1.5;color:#5c5368;background:#fff;border-radius:22px;padding:16px;border:1px solid var(--line)}
@media(max-width:390px){.app-shell{padding-left:12px;padding-right:12px}.hero-card h1{font-size:2rem}.grid.two,.tile-grid,.home-actions{grid-template-columns:1fr}.topbar{padding-left:10px;padding-right:10px}.install-button{padding:0 11px}.brand-chip{font-size:.92rem}.bottom-nav{gap:5px;padding-left:8px;padding-right:8px}.nav-item{border-radius:17px}.nav-item small{font-size:.68rem}}
