:root{
  --bg:#120b12;--bg2:#0e0b10;--card:#1b141d;--card2:#211724;--text:#f6efe9;
  --muted:#b7aab5;--gold:#d7b070;--rose:#d98b9f;--violet:#a98bd8;--teal:#78b8ad;
  --copper:#c8875f;--line:#392c3c;--danger:#d58686;
  color-scheme:dark;font:16px/1.55 Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:
radial-gradient(circle at 80% -10%,#3b183b66,transparent 38%),
radial-gradient(circle at -10% 30%,#2c223b55,transparent 35%),var(--bg);color:var(--text);min-height:100vh}
button,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}
.topbar{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:14px 20px;background:#120b12e8;backdrop-filter:blur(16px);border-bottom:1px solid #ffffff10}
.brand{border:0;background:none;color:var(--text);display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.08em;font-size:12px}
.brand-mark{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(145deg,#d7b070,#8f6232);color:#17100e;font-family:Georgia,serif;font-size:20px;box-shadow:0 10px 30px #0005}
.top-actions{display:flex;align-items:center;gap:9px}.space-chip{font-size:11px;color:var(--gold);border:1px solid #634f3f;border-radius:30px;padding:6px 10px}.icon-btn{background:#211724;border:1px solid var(--line);color:#fff;border-radius:12px;width:40px;height:40px}
main{min-height:calc(100vh - 70px)}.view{display:none}.view.active{display:block;animation:fade .25s ease}.shell{max-width:1040px;margin:auto;padding:42px 24px 120px}.narrow{max-width:720px}.center{text-align:center}
@keyframes fade{from{opacity:.25;transform:translateY(5px)}to{opacity:1;transform:none}}
.eyebrow{color:var(--gold);font-size:11px;letter-spacing:.18em;font-weight:800;text-transform:uppercase;margin-bottom:10px}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:500;line-height:1.08;margin:0 0 14px}
h1{font-size:clamp(46px,8vw,76px)}h2{font-size:clamp(34px,5vw,52px)}h3{font-size:26px}
em{color:#e2a0b1;font-weight:500}.lead{font-size:18px;max-width:650px;color:#d9cfd8}.muted,.micro{color:var(--muted)}.micro{font-size:12px}.ritual-line{font-family:Georgia,serif;font-size:19px;color:#eadccf;margin:20px 0}
.pill{border:1px solid var(--line);border-radius:999px;padding:12px 18px;background:#211724;color:#fff;font-weight:750;min-height:46px}.pill.primary{background:linear-gradient(135deg,#e0c089,#c29150);color:#19100c;border-color:#d4ad70}.pill.ghost{background:#1d151f}.pill.danger{border-color:#87585c;color:#ffc8c8;background:#2b171b}.full{width:100%}.cta-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.center-row{justify-content:center}
.welcome-wrap{max-width:1120px;margin:auto;padding:55px 24px 35px;display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center}.hero-art{background:linear-gradient(145deg,#2d1b2e,#161016);border:1px solid var(--line);border-radius:28px;overflow:hidden;box-shadow:0 28px 80px #0007}.hero-art img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}.hero-caption{padding:17px 20px;display:flex;justify-content:space-between;gap:15px;align-items:center}.hero-caption span{color:var(--muted);font-size:12px}.quote-band{margin:0 auto 70px;max-width:1120px;padding:22px 24px;border-block:1px solid #ffffff13;text-align:center;font-family:Georgia,serif;font-size:20px;color:#e5d7e1}
.space-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}.space-card{position:relative;text-align:left;min-height:210px;border-radius:24px;padding:23px;border:1px solid var(--line);color:white;overflow:hidden}.space-card span{font-size:11px;letter-spacing:.16em}.space-card h3{margin-top:32px}.space-card p{color:#eadfe6;font-size:13px;max-width:260px}.space-card.mama{background:linear-gradient(145deg,#5a2638,#24141d)}.space-card.dad{background:linear-gradient(145deg,#5b321e,#221614)}.space-card.girl{background:linear-gradient(145deg,#65274e,#24131f)}.space-card.boy{background:linear-gradient(145deg,#5c481d,#211c12)}
.home-hero{display:grid;grid-template-columns:1fr 230px;gap:18px;align-items:stretch}.progress-card{border:1px solid #5a4532;background:linear-gradient(150deg,#2a201d,#1b141a);border-radius:22px;padding:20px}.progress-card span,.progress-card small{display:block;color:var(--muted);font-size:11px}.progress-card strong{display:block;font-family:Georgia,serif;font-size:48px;color:var(--gold);line-height:1}.progress-track{height:7px;background:#ffffff12;border-radius:20px;margin-top:18px;overflow:hidden}.progress-track i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--rose),var(--gold));border-radius:20px}
.daily-card{margin:18px 0;padding:28px;border:1px solid #5d465f;border-radius:24px;background:radial-gradient(circle at top right,#5d274a55,transparent 42%),linear-gradient(145deg,#211622,#171117)}.daily-card h3{font-size:31px;max-width:760px}
.action-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.action-card{min-height:170px;text-align:left;border-radius:22px;padding:19px;border:1px solid #ffffff14;color:#fff;display:flex;flex-direction:column;gap:7px;justify-content:flex-end}.action-card span{font-size:26px;margin-bottom:auto}.action-card b{font-family:Georgia,serif;font-size:20px}.action-card small{color:#f5eaf1cc}.rose{background:linear-gradient(145deg,#532437,#21131b)}.gold{background:linear-gradient(145deg,#5b461c,#201911)}.violet{background:linear-gradient(145deg,#41265d,#1d1525)}.teal{background:linear-gradient(145deg,#214c48,#131e1e)}.unwind{background:linear-gradient(145deg,#37315c,#171523)}
.release-banner{margin-top:18px;padding:26px;border-radius:24px;border:1px solid #725a40;background:linear-gradient(120deg,#251820,#1c1714);display:flex;justify-content:space-between;align-items:center;gap:25px}.release-banner p{color:var(--muted);max-width:650px}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px}.mood-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:25px 0}.mood{min-height:140px;border:1px solid #ffffff16;border-radius:22px;padding:18px;color:#fff;text-align:left;display:flex;flex-direction:column;justify-content:space-between}.mood span{font-size:28px}.mood b{font-size:15px}.mood small{color:#eee9}.mood-result{position:relative;margin-top:20px;border:1px solid #5b4760;background:linear-gradient(145deg,#241929,#171219);border-radius:26px;padding:28px}.mood-result .close{position:absolute;right:14px;top:12px;background:none;border:0;color:#fff;font-size:26px}.mood-icon{font-size:38px;margin-bottom:12px}.mood-result p{color:#d5c9d2}.reset-steps{display:grid;gap:8px;margin:18px 0}.reset-step{background:#ffffff0a;border:1px solid #ffffff10;border-radius:14px;padding:12px 14px;color:#ded5dc}
.back,.text-btn{background:none;border:0;color:var(--gold);padding:0}.prompt-strip{border-left:3px solid var(--rose);background:#21151f;padding:14px 16px;margin:18px 0;border-radius:0 14px 14px 0;color:#eadde5}
textarea{width:100%;min-height:330px;resize:vertical;border:1px solid #4a394d;border-radius:20px;background:#171117;color:#fff;padding:20px;font:20px/1.65 Georgia,serif;outline:none}textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px #d7b07016}.editor-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;margin:7px 4px 20px}
.drop-stage{height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center}.paper{width:150px;background:#f7efe5;color:#17100e;padding:26px;transform:rotate(-4deg);animation:drop 1s ease forwards}.box{width:245px;padding:35px 10px;border:2px solid #7a613c;border-radius:14px;color:var(--gold);font-family:Georgia,serif}@keyframes drop{from{transform:translateY(-45px) rotate(-4deg)}to{transform:translateY(22px) rotate(2deg);opacity:.35}}
.decision-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:26px 0}.decision{background:#1c151d;color:#fff;border:1px solid var(--line);border-radius:18px;padding:17px}.decision strong,.decision span{display:block}.decision strong{font-size:12px;color:var(--gold);margin-bottom:7px}.decision span{font-size:12px;color:var(--muted)}
.reset-card{width:min(360px,100%);min-height:410px;margin:30px auto;border:1px solid #765f3d;border-radius:30px;padding:30px;background:radial-gradient(circle at top,#4b342555,transparent 45%),linear-gradient(150deg,#211820,#141014);box-shadow:0 30px 80px #0008;display:flex;flex-direction:column;justify-content:space-between}.reset-card span{letter-spacing:.18em;color:var(--gold);font-size:11px}.reset-card p{font:31px/1.25 Georgia,serif}
.filter-row{display:flex;gap:8px;margin:22px 0;flex-wrap:wrap}.filter{border-radius:999px;border:1px solid var(--line);background:#1a131b;color:#cbbec8;padding:8px 13px}.filter.active{background:#f1dfc8;color:#1d1216;border-color:#f1dfc8}.vault-stats{color:var(--muted);font-size:13px;margin-bottom:12px}.vault-entries{display:grid;gap:12px}.vault-note{border:1px solid #3d303f;background:linear-gradient(145deg,#1c151d,#151015);border-radius:20px;padding:18px}.vault-note.released{border-color:#35514d;background:linear-gradient(145deg,#15201f,#121616)}.vault-note .meta{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:11px}.vault-note p{white-space:pre-wrap;overflow-wrap:anywhere;color:#e8dee5}.note-actions{display:flex;gap:8px;flex-wrap:wrap}.note-actions button{border:1px solid #403343;background:transparent;color:#ddd;border-radius:10px;padding:7px 10px;font-size:12px}
.challenge-hero{display:grid;grid-template-columns:1fr 180px;gap:25px;align-items:center;padding:28px;border-radius:26px;background:linear-gradient(120deg,#321d31,#1b161b);border:1px solid #57405a}.big-progress{text-align:center}.big-progress strong{font:64px/1 Georgia,serif;color:var(--gold)}.big-progress span{color:var(--muted)}
.challenge-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.challenge-card{border:1px solid var(--line);background:#191319;border-radius:20px;padding:18px}.challenge-card>span{color:var(--gold);font-size:11px}.challenge-card h3{font-size:21px;margin-top:25px}.challenge-card p{font-size:13px;color:var(--muted)}
.year-end-event{margin-top:18px;border:1px solid #806848;border-radius:28px;padding:30px;background:radial-gradient(circle at top right,#6f452944,transparent 42%),linear-gradient(145deg,#25191b,#151113)}.event-badge{display:inline-block;border:1px solid #806848;color:var(--gold);border-radius:999px;padding:6px 10px;font-size:10px;letter-spacing:.14em}.year-end-event>p{color:#cfc2c8;max-width:800px}.event-timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0}.event-timeline div{background:#ffffff08;border:1px solid #ffffff10;border-radius:14px;padding:14px;display:flex;gap:10px}.event-timeline b{color:var(--gold)}.event-timeline span{font-size:13px}
.safety-card{margin-top:24px;border-left:3px solid var(--gold);background:#1d161c;padding:20px;border-radius:0 18px 18px 0}.settings-card{border:1px solid var(--line);border-radius:20px;background:#1a131b;margin:22px 0}.settings-card>div{display:flex;justify-content:space-between;gap:15px;padding:16px;border-bottom:1px solid #ffffff0d}.settings-card>div:last-child{border-bottom:0}
.bottom-nav{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(640px,100%);z-index:30;display:grid;grid-template-columns:repeat(6,1fr);background:#100b11ed;backdrop-filter:blur(18px);border:1px solid #ffffff12;border-bottom:0;border-radius:20px 20px 0 0;padding:8px 6px max(10px,env(safe-area-inset-bottom));box-shadow:0 -12px 45px #0007}.bottom-nav button{background:none;border:0;color:#a99aa7;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10px}.bottom-nav button span{font-size:17px;color:#d2c3ce}.bottom-nav button.active,.bottom-nav button.active span{color:var(--gold)}
.toast{position:fixed;left:50%;bottom:92px;transform:translateX(-50%);z-index:50;background:#2b1d27;border:1px solid #715846;color:#fff;padding:12px 16px;border-radius:12px;box-shadow:0 15px 50px #0008}.toast.hidden{display:none}
dialog{width:min(460px,92vw);border:1px solid #765b61;border-radius:22px;background:#1a131b;color:#fff;padding:24px}dialog::backdrop{background:#000b}
@media(max-width:820px){
 .welcome-wrap{grid-template-columns:1fr;padding-top:32px}.hero-art{max-width:520px}.action-grid,.mood-grid,.challenge-grid{grid-template-columns:1fr 1fr}.home-hero{grid-template-columns:1fr}.progress-card{max-width:300px}.release-banner{display:block}.release-banner button{margin-top:8px}.event-timeline{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
 .topbar{padding:12px 14px}.brand{font-size:10px}.space-chip{display:none}.shell{padding:28px 16px 100px}.welcome-wrap{padding:28px 16px 24px;gap:26px}.space-grid,.decision-grid{grid-template-columns:1fr}.action-grid{grid-template-columns:1fr 1fr}.mood-grid{grid-template-columns:1fr 1fr}.challenge-grid{grid-template-columns:1fr 1fr}.event-timeline{grid-template-columns:1fr}.daily-card{padding:21px}.daily-card h3{font-size:25px}.section-head{display:block}.section-head>button{margin-top:8px}.bottom-nav{border-radius:16px 16px 0 0}.hero-caption{display:block}.hero-caption span{display:block;margin-top:4px}
}

.unwind-shell{max-width:880px}
.unwind-hero{text-align:center;max-width:700px;margin:0 auto 28px}
.unwind-hero p{color:var(--muted);font-size:17px}
.unwind-player{position:relative;overflow:hidden;border:1px solid #51486b;border-radius:30px;padding:32px;background:
 radial-gradient(circle at 50% 0%,#5a4b8650,transparent 36%),
 radial-gradient(circle at 10% 100%,#284c5a35,transparent 35%),
 linear-gradient(160deg,#1f1a2b,#151018);box-shadow:0 30px 90px #0007;text-align:center}
.breath-orb{width:150px;height:150px;margin:0 auto 24px;border-radius:50%;display:grid;place-items:center;
 background:radial-gradient(circle at 35% 30%,#ecd8c8,#b69cc7 35%,#625778 75%,#2b283a);
 box-shadow:0 0 60px #aa8dd74a, inset 0 0 25px #fff3;animation:breathe 8s ease-in-out infinite}
.breath-orb span{font-family:Georgia,serif;color:#21182b;font-size:19px}
@keyframes breathe{0%,100%{transform:scale(.86);filter:brightness(.88)}50%{transform:scale(1.08);filter:brightness(1.08)}}
.unwind-player.playing .breath-orb{animation-duration:10s}
.unwind-copy{max-width:650px;margin:auto}.unwind-copy h3{font-size:34px}.unwind-copy p{font:19px/1.75 Georgia,serif;color:#e8dde7}
.unwind-controls{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:22px}
.voice-note{font-size:11px;color:#9f93a5;margin-top:12px}
.unwind-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}
.unwind-choice{min-height:135px;text-align:left;border-radius:20px;padding:17px;border:1px solid #3e364c;color:#fff;background:#1a1621;display:flex;flex-direction:column;gap:5px}
.unwind-choice span{font-size:23px;margin-bottom:auto;color:#d7c1e4}.unwind-choice b{font-family:Georgia,serif;font-size:17px}.unwind-choice small{color:#b8adbd}
.unwind-choice.active{border-color:#b59ac6;background:linear-gradient(145deg,#31253c,#1a1620)}
.unwind-bottom{text-align:center;margin-top:26px}.unwind-bottom>p{color:var(--muted)}
@media(max-width:820px){.unwind-grid{grid-template-columns:1fr 1fr}.action-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:520px){.unwind-grid{grid-template-columns:1fr 1fr}.action-grid{grid-template-columns:1fr 1fr}.unwind-player{padding:23px 17px}.breath-orb{width:125px;height:125px}.unwind-copy h3{font-size:28px}.unwind-copy p{font-size:17px}}


/* Privacy disclosure */
.privacy-notice{
  margin:18px 0;
  padding:16px 18px;
  border:1px solid #715846;
  border-left:4px solid var(--gold);
  border-radius:14px;
  background:linear-gradient(145deg,#211920,#171217);
  color:#eadfe6;
}
.privacy-notice strong{
  display:block;
  color:var(--gold);
  font-size:13px;
  letter-spacing:.04em;
  margin-bottom:6px;
}
.privacy-notice p{
  margin:0;
  color:#cfc2cc;
  font-size:12px;
  line-height:1.6;
}
.privacy-notice-welcome{
  max-width:700px;
}
.privacy-notice-vault{
  margin-top:18px;
}
