
:root{
  --bg:#F7EFE7;
  --surface:#FFFDF9;
  --surface-2:#F2E7DC;
  --surface-3:#E8D8C9;
  --terracotta:#D98D66;
  --terracotta-dark:#B96843;
  --sage:#AAB89F;
  --sky:#A6CFDC;
  --sand:#D6B58B;
  --ink:#3F3A36;
  --muted:#7A726B;
  --line:rgba(63,58,54,.12);
  --shadow:0 18px 48px rgba(88,66,50,.12);
  --soft-shadow:0 10px 28px rgba(88,66,50,.08)
}
*{box-sizing:border-box}
body{margin:0;background:linear-gradient(180deg,#FBF6F1 0%,#F0E4D8 100%);color:var(--ink);font-family:Manrope,sans-serif}
button,input,select{font:inherit}.hidden{display:none!important}
h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Outfit,sans-serif}p{color:var(--muted);line-height:1.6}
.welcome{min-height:100vh;display:grid;place-items:center;padding:24px}
.welcome-card{width:min(100%,440px);text-align:center;padding:42px 30px 34px;border-radius:34px;background:rgba(255,253,249,.88);box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.8)}
.welcome-logo{width:150px;max-width:56%;margin-bottom:12px}.brand{letter-spacing:.18em;font-size:.78rem;font-weight:700;color:var(--muted)}
.welcome h1{font-size:clamp(2.1rem,8vw,3.25rem);line-height:1.08;margin-bottom:18px}.welcome-copy{max-width:325px;margin:0 auto 28px}
.primary-button,.secondary-button{border:0;border-radius:999px;padding:13px 20px;font-weight:700}.primary-button{background:linear-gradient(135deg,var(--terracotta),#E4A07B);color:white;box-shadow:0 10px 22px rgba(217,141,102,.22)}.secondary-button{background:var(--surface-2);color:var(--ink)}
.app{width:min(100%,760px);min-height:100vh;margin:0 auto;padding:14px 16px 102px;background:rgba(255,255,255,.2)}
.topbar{padding:6px 2px 18px}.identity{display:flex;align-items:center;gap:10px}.identity img{width:48px;height:48px;object-fit:contain}.identity strong{display:block;letter-spacing:.12em;font-family:Outfit,sans-serif;font-size:.78rem}.identity span{display:block;font-size:.73rem;color:var(--muted);margin-top:3px}
.page{display:none;animation:fade .22s ease}.page.active{display:block}@keyframes fade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.intro{padding:8px 2px 16px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.74rem;color:var(--terracotta-dark);font-weight:700;margin-bottom:8px}.intro h2{font-size:clamp(2rem,7vw,3rem);line-height:1.12;margin-bottom:10px}
.need-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.need-card{min-height:132px;padding:20px;border:1px solid var(--line);border-radius:22px;background:rgba(255,253,249,.9);box-shadow:var(--soft-shadow);text-align:left;color:var(--ink);transition:.2s ease}.need-card:hover,.need-card.selected{transform:translateY(-2px);border-color:rgba(217,141,102,.45)}.need-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;margin-bottom:18px;font-size:1.2rem}.need-card strong{font-size:1.03rem;line-height:1.35}
.recommendation{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-top:22px;padding:24px;border-radius:25px;background:linear-gradient(135deg,#F2E4D5,#FAF3EC);border:1px solid var(--line);box-shadow:var(--soft-shadow)}.recommendation-copy{max-width:78%}.recommendation h3{font-size:1.4rem;margin-bottom:8px}.recommendation-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.7);color:var(--terracotta-dark);font-size:1.4rem;flex:0 0 auto}
.filters{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 18px}.filters input,.filters select{width:100%;padding:13px 14px;border-radius:15px;border:1px solid var(--line);background:var(--surface);color:var(--ink)}
.practice-list{display:grid;gap:12px}.practice-card{display:grid;grid-template-columns:64px 1fr auto;gap:14px;align-items:center;padding:12px;border-radius:20px;background:rgba(255,253,249,.9);border:1px solid var(--line);box-shadow:var(--soft-shadow)}.thumb{height:64px;border-radius:15px;display:grid;place-items:center;color:white;font-size:1.4rem}.practice-card h3{font-size:1rem;margin:0 0 5px}.meta{font-size:.8rem;color:var(--muted)}.card-actions{display:flex;flex-direction:column;gap:6px}.icon-button{width:38px;height:38px;border:0;border-radius:50%;background:var(--surface-2);color:var(--ink)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:4px 0 22px}.stats article{text-align:center;padding:18px 8px;border-radius:19px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--soft-shadow)}.stats strong{display:block;font-size:1.6rem;margin-bottom:4px}.stats span{font-size:.78rem;color:var(--muted)}
.about-card{display:flex;gap:15px;padding:20px;border-radius:22px;background:var(--surface);border:1px solid var(--line)}.about-card img{width:76px;height:76px;object-fit:contain}.about-card h3{margin-bottom:5px}.about-card a{color:var(--terracotta-dark);font-weight:700}
.bottom-nav{position:fixed;left:50%;bottom:12px;transform:translateX(-50%);width:min(calc(100% - 24px),720px);display:grid;grid-template-columns:repeat(4,1fr);gap:3px;padding:8px;border-radius:22px;background:rgba(255,253,249,.94);backdrop-filter:blur(17px);box-shadow:0 14px 38px rgba(88,66,50,.16);z-index:20}.nav-button{border:0;background:transparent;border-radius:14px;padding:8px 4px;color:var(--muted);font-size:.69rem}.nav-button span{display:block;font-size:1.15rem;margin-bottom:3px}.nav-button.active{background:var(--surface-2);color:var(--terracotta-dark);font-weight:700}
.modal{position:fixed;inset:0;display:grid;place-items:end center;padding:14px;background:rgba(44,38,34,.5);z-index:50}.player-card{position:relative;width:min(100%,720px);max-height:94vh;overflow:auto;padding:22px;border-radius:30px;background:var(--surface);box-shadow:var(--shadow)}.close-button{position:absolute;top:16px;right:16px;width:40px;height:40px;border:0;border-radius:50%;background:rgba(255,255,255,.84);font-size:1.35rem}.player-art{height:220px;border-radius:22px;display:grid;place-items:center;color:white;font-size:3rem;margin-bottom:18px}.player-card audio{width:100%;margin:12px 0}.player-actions{display:flex;gap:10px;flex-wrap:wrap}.gentle-note{text-align:center;font-size:.86rem;margin:18px 0 0}.toast{position:fixed;left:50%;bottom:92px;transform:translateX(-50%);padding:11px 17px;border-radius:999px;background:var(--ink);color:white;z-index:80}
@media(max-width:560px){.need-grid{grid-template-columns:1fr 1fr}.need-card{min-height:118px;padding:16px}.filters{grid-template-columns:1fr}.practice-card{grid-template-columns:56px 1fr auto}.thumb{height:56px}.recommendation-copy{max-width:74%}}
