@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');
:root{--ivory:#fbf6ef;--cream:#f5eadf;--ink:#251d1d;--muted:#806f70;--rose:#d18a9d;--berry:#7b304b;--wine:#5b2438;--wine2:#9a506c;--plum:#4b263c;--gold:#b7955a;--line:#eadbd4;--white:#fffaf7;--shadow:0 18px 50px rgba(77,39,48,.11);--font-heading:'Playfair Display';--font-body:'DM Sans'}*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#fbf6ef,#f5e9df);color:var(--ink);font-family:var(--font-body),sans-serif}button,input,textarea,select{font:inherit}button{border:0;cursor:pointer;color:inherit}main{max-width:760px;margin:auto;padding:24px 18px 110px}.topline{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:25px}.eyebrow,.pill-label{font-size:10px;letter-spacing:.17em;font-weight:700;color:var(--berry)}h1,h2,h3,p{margin-top:0}.topline h1{font-family:var(--font-heading),serif;font-size:34px;line-height:1.05;margin:6px 0}.subtitle{color:var(--muted);margin:0}.mini-avatar{width:48px;height:48px;border-radius:50%;padding:0;overflow:hidden;background:#e6cbd2;box-shadow:0 7px 20px #6b304120}.mini-avatar img{width:100%;height:100%;object-fit:cover}.hero-home{border-radius:30px;padding:28px;min-height:300px;background:linear-gradient(110deg,rgba(38,22,27,.95),rgba(93,37,57,.78));box-shadow:var(--shadow);display:flex;align-items:flex-end;color:white;margin-bottom:30px}.hero-home h2{font:500 42px/1.03 var(--font-heading),serif;margin:10px 0}.hero-home h2 i{color:#f0c9d2}.hero-home p{color:#f4dfe4;max-width:420px}.btn{background:var(--berry);color:white;padding:13px 18px;border-radius:14px;font-weight:700;box-shadow:0 9px 25px #7b304b22}.btn.dark{background:#fff;color:var(--ink)}.btn.secondary{background:#ead8d0;color:var(--ink)}.btn.full{width:100%;margin-top:14px}.link{background:none;color:var(--berry);font-weight:700}.section-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:28px 0 13px}.section-head h2{font:600 22px var(--font-heading),serif;margin:0}.pillars{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.pillar{text-align:left;padding:17px;border-radius:22px;background:#fff8f4;border:1px solid var(--line);min-height:140px;transition:.2s;box-shadow:0 8px 25px rgba(60,30,35,.04)}.pillar:hover{transform:translateY(-2px)}.pillar .icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;font-size:20px;background:#efd8df;color:var(--berry);margin-bottom:13px}.pillar h3{font:600 19px var(--font-heading),serif;margin-bottom:5px}.pillar p{font-size:12px;color:var(--muted);margin:0}.money .icon{background:#ead9c4}.love .icon{background:#efd2d9}.beauty .icon{background:#ead9ec}.pleasure .icon{background:#f1d9cc}.experiences .icon{background:#dbe4e0}.becoming .icon{background:#ded9e9}.actions{display:grid;gap:9px}.action{display:flex;align-items:center;gap:12px;width:100%;padding:14px 15px;border-radius:16px;background:#fffaf7;border:1px solid var(--line);text-align:left}.action.done{background:#f1e0e4}.check{width:23px;height:23px;border-radius:50%;border:1.5px solid #bd8b99;background:transparent;display:grid;place-items:center;flex:0 0 auto}.done .check{background:var(--berry);color:#fff}.progress-row{display:flex;justify-content:space-between;color:var(--muted);font-size:13px}.progress{height:8px;background:#eadfd9;border-radius:99px;overflow:hidden;margin-top:10px}.progress div{height:100%;background:linear-gradient(90deg,var(--rose),var(--berry));border-radius:99px}.card{background:rgba(255,250,247,.9);border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:0 8px 30px rgba(65,35,40,.04);margin-top:12px}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.feature-grid button{padding:22px;border-radius:22px;text-align:left;background:linear-gradient(145deg,#f2d9df,#fff9f4);border:1px solid var(--line);min-height:140px}.feature-grid button:nth-child(2){background:linear-gradient(145deg,#e8d9ce,#f8eee7)}.feature-grid span,.ai-card span{display:block;font-size:10px;letter-spacing:.15em;font-weight:700;color:var(--berry);margin-bottom:12px}.feature-grid b{font:500 21px/1.15 var(--font-heading),serif}.three{grid-template-columns:repeat(3,1fr)}.life-intro{background:linear-gradient(135deg,var(--wine),var(--wine2));color:white;border-radius:28px;padding:28px;margin-bottom:20px}.life-intro .pill-label{color:#f2cbd5}.life-intro h2{font:500 34px/1.08 var(--font-heading),serif;margin:10px 0 0}.goal-top{display:flex;justify-content:space-between;gap:10px}.goal h3{font:500 20px var(--font-heading),serif;margin-bottom:4px}.goal p{color:var(--muted);font-size:13px}.tag{padding:5px 9px;border-radius:99px;background:#f0e1e1;color:var(--berry);font-size:10px;font-weight:700;height:max-content}.small{font-size:12px;color:var(--muted)}.ai-card{display:block;width:100%;margin-top:22px;padding:25px;border-radius:25px;text-align:left;color:white;background:radial-gradient(circle at 80% 10%,var(--wine2),var(--wine) 65%);box-shadow:var(--shadow)}.ai-card span{color:#f2ccd6}.ai-card h2{font:500 30px var(--font-heading),serif;margin:0 0 7px}.ai-card p{color:#f2dde2}.ai-card b{font-size:13px}.reset-hero{background:#ead3da;border-radius:25px;padding:25px;margin-bottom:14px}.reset-hero span{font-size:30px}.reset-hero h2{font:500 30px var(--font-heading),serif;margin:7px 0}.reset-q strong{font:600 14px}.reset-q textarea{margin-top:12px}.vision-card{background:linear-gradient(145deg,var(--wine),var(--wine2));color:#fff;padding:28px;border-radius:28px;box-shadow:var(--shadow)}.vision-card .pill-label{color:#f2ccd6}.vision-card h2{font:500 34px var(--font-heading),serif}.vision-card p{color:#ead9df}textarea,input,select{width:100%;border:1px solid var(--line);border-radius:14px;padding:13px;background:#fffdfb;color:var(--ink);outline:none;margin:7px 0}textarea{resize:vertical;min-height:90px}.vision-card textarea{background:#fffaf7;color:var(--ink)}.explore-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.explore-grid button{padding:19px;border-radius:22px;background:#fffaf7;border:1px solid var(--line);text-align:left;min-height:170px}.explore-grid span{font-size:27px;color:var(--berry)}.explore-grid small{display:block;color:var(--berry);letter-spacing:.14em;font-weight:700;font-size:9px;margin-top:15px}.explore-grid h3{font:500 21px var(--font-heading),serif;margin:6px 0}.explore-grid p{font-size:12px;color:var(--muted)}.profile-cover{height:220px;border-radius:28px 28px 0 0;background-position:center;background-size:cover;position:relative}.cover-actions{position:absolute;right:14px;top:14px}.cover-actions button{background:#fff8f4dd;border-radius:99px;padding:9px 13px;font-size:12px;font-weight:700}.profile-main{text-align:center;padding:0 14px 30px}.profile-photo{width:105px;height:105px;border-radius:50%;padding:0;overflow:hidden;border:5px solid var(--ivory);margin-top:-52px;position:relative}.profile-photo img{width:100%;height:100%;object-fit:cover}.profile-photo span{position:absolute;right:2px;bottom:2px;background:var(--berry);color:#fff;width:28px;height:28px;border-radius:50%;display:grid;place-items:center}.profile-main h1{font:500 34px var(--font-heading),serif;margin:8px 0 0}.handle,.bio{margin:4px 0}.handle{color:var(--berry);font-size:13px}.bio{font-size:14px}.chips{display:flex;justify-content:center;flex-wrap:wrap;gap:7px;margin:12px 0}.chips span,.chip{background:#f0e1df;color:var(--berry);padding:6px 10px;border-radius:99px;font-size:10px;font-weight:700}.stats{display:grid;grid-template-columns:repeat(3,1fr);margin:22px 0;background:#fff8f4;border:1px solid var(--line);border-radius:20px;padding:17px}.stats div{display:flex;flex-direction:column;gap:4px}.stats b{font:600 24px var(--font-heading),serif}.stats span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.profile-list{background:#fff8f4;border:1px solid var(--line);border-radius:20px;overflow:hidden;text-align:left}.profile-list button{width:100%;display:flex;justify-content:space-between;padding:17px 18px;background:transparent;border-bottom:1px solid var(--line)}.profile-list button:last-child{border:0}.profile-list b{color:var(--berry)}.wishlist{margin-top:15px}.wish{display:flex;justify-content:space-between}.wish>button,.style-card button{background:none;color:var(--berry);font-size:20px}.pleasure-menu{display:grid;gap:13px}.dark-card{background:linear-gradient(135deg,var(--plum),var(--wine2));color:#fff}.dark-card span{color:#f3ccd6;letter-spacing:.15em;font-size:10px;font-weight:700}.dark-card h2{font:500 33px var(--font-heading),serif}.dark-card p{color:#eadbe0}.pleasure-list{background:#fff8f4;border:1px solid var(--line);border-radius:22px;padding:18px}.pleasure-list h3{font:500 22px var(--font-heading),serif}.beauty-hero{background:linear-gradient(145deg,#f0d3db,#fff6ef);padding:25px;border-radius:25px;margin-bottom:15px}.beauty-hero>span{font-size:10px;letter-spacing:.16em;font-weight:700;color:var(--berry)}.beauty-hero h2{font:500 30px var(--font-heading),serif}.chip{border:0}.chip.selected{background:var(--berry);color:white}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-grid label{font-size:12px;font-weight:700}.form-grid textarea{min-height:90px;font-weight:400}.love-prompts{display:grid;gap:12px}.love-prompts textarea{margin-top:12px}.full-ai{border:0}.style-tabs{display:flex;gap:8px;overflow:auto;padding-bottom:8px}.style-tabs button{white-space:nowrap;padding:10px 13px;border-radius:99px;background:#fff8f4;border:1px solid var(--line);font-size:12px}.style-board{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:14px}.style-card{position:relative;background:#fff8f4;border:1px solid var(--line);border-radius:20px;padding:12px}.style-placeholder{height:145px;border-radius:14px;background:linear-gradient(135deg,var(--wine),#d7a0ae,#ead5c8);display:grid;place-items:center;color:white;font-size:35px;margin-bottom:10px}.style-card button{position:absolute;top:18px;right:16px;color:white}.timeline{margin-top:20px;border-left:1px solid #cdaeb8;padding-left:20px}.memory{position:relative;padding:0 0 28px}.memory-dot{position:absolute;left:-27px;top:3px;width:13px;height:13px;border-radius:50%;background:var(--berry);border:3px solid var(--ivory)}.memory small,.journal-list small{color:var(--muted)}.memory h3,.journal-list h3{font:500 23px var(--font-heading),serif;margin:6px 0}.memory p,.journal-list p{color:#65585a;font-size:14px}.memory button{background:none;color:var(--berry);font-size:11px}.journal-list{display:grid;gap:12px;margin-top:16px}.empty{padding:35px 20px;text-align:center;color:var(--muted);background:#fff8f4;border:1px dashed #d8bbb9;border-radius:22px;margin-top:15px}.bottom{position:fixed;z-index:10;left:50%;transform:translateX(-50%);bottom:12px;width:min(720px,calc(100% - 24px));background:#24191cF2;backdrop-filter:blur(18px);border-radius:24px;padding:8px;display:grid;grid-template-columns:repeat(5,1fr);box-shadow:0 18px 50px #0003}.nav-item{background:transparent;color:#bfaeb0;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 2px;font-size:9px}.nav-item span{font-size:18px}.nav-item.active{color:#fff}.nav-item.active span{color:#e9a9b9}.backdrop{position:fixed;z-index:30;inset:0;background:#1f1318a8;display:flex;align-items:flex-end;justify-content:center;padding:12px}.modal{width:min(620px,100%);max-height:90vh;overflow:auto;background:var(--ivory);border-radius:28px;padding:25px;position:relative;box-shadow:0 30px 80px #0005}.modal h2{font:500 30px var(--font-heading),serif;margin:10px 0}.close{position:absolute;right:17px;top:14px;width:34px;height:34px;border-radius:50%;background:#eadbd5;font-size:22px}.avatar-grid,.cover-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:12px 0}.avatar-grid button{background:transparent}.avatar-sample{aspect-ratio:1;border-radius:50%;display:grid;place-items:center;font:500 30px var(--font-heading),serif;color:#fff}.a1{background:#8c5a4e}.a2{background:#a96f78}.a3{background:#4c2b2d}.a4{background:#c39a82}.cover-grid{grid-template-columns:repeat(2,1fr)}.cover-grid button{height:90px;border-radius:16px;color:white;font-weight:700}.chat-head{padding-right:35px}.chat{display:grid;gap:9px;max-height:48vh;overflow:auto;padding:5px 0 12px}.bubble{max-width:88%;padding:12px 14px;border-radius:18px;font-size:14px;line-height:1.45}.bubble.ai{justify-self:start;background:#eee1e1}.bubble.user{justify-self:end;background:var(--berry);color:white}.chat-input{display:flex;gap:8px}.chat-input input{margin:0}.suggestions{display:flex;gap:7px;overflow:auto;padding:6px 0 10px}.suggestions button{white-space:nowrap;background:#f0e0e0;color:var(--berry);border-radius:99px;padding:7px 10px;font-size:10px}.toast{position:fixed;z-index:50;left:50%;bottom:95px;transform:translate(-50%,15px);opacity:0;background:#24191c;color:white;padding:11px 15px;border-radius:99px;font-size:12px;transition:.25s;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:560px){main{padding:20px 14px 105px}.topline h1{font-size:30px}.hero-home h2{font-size:37px}.three{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.explore-grid{grid-template-columns:1fr 1fr}.pillar{min-height:130px}.feature-grid{grid-template-columns:1fr 1fr}}
.price-box,.price-card{background:#fff8f4;border:1px solid var(--line);border-radius:18px;padding:16px;margin:10px 0}.price-box b{font:600 30px var(--font-heading),serif}.price-box span{color:var(--muted)}.price-box small{display:block;color:var(--berry);font-weight:700;margin-top:4px}.premium-hero{background:radial-gradient(circle at 85% 15%,var(--wine2),var(--wine) 60%);color:white;border-radius:30px;padding:30px;box-shadow:var(--shadow);margin-bottom:18px}.premium-hero .pill-label{color:#f3ccd6}.premium-hero h2{font:500 38px/1.05 var(--font-heading),serif;margin:10px 0}.premium-hero p{color:#f1dde2;max-width:500px}.premium-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.premium-grid>div{background:#fff8f4;border:1px solid var(--line);border-radius:20px;padding:18px;min-height:120px}.premium-grid b{font:500 20px var(--font-heading),serif}.premium-grid p{font-size:12px;color:var(--muted);margin:7px 0 0}.pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.price-card{margin:0}.price-card.featured{background:#f1dbe2;border-color:#d5a7b5}.price-card h3{font:600 34px var(--font-heading),serif;margin:8px 0 0}.price-card small{letter-spacing:.14em;color:var(--berry);font-weight:700}.about-card{background:linear-gradient(145deg,var(--wine),var(--wine2));color:#fff;padding:30px;border-radius:30px;box-shadow:var(--shadow)}.about-card .pill-label{color:#f3ccd6}.about-card h2{font:500 38px var(--font-heading),serif}.about-card p{color:#f0dfe3}.owner-credit{margin-top:25px;padding-top:18px;border-top:1px solid #ffffff40;display:grid;gap:5px}.owner-credit b{font-size:18px}.owner-credit span,.owner-credit small{color:#ead7dc;font-size:12px}.dark-card{background:linear-gradient(135deg,var(--plum),var(--wine2))!important;color:#fff}.dark-card span{color:#f3ccd6}.dark-card h2{font:500 32px var(--font-heading),serif}.full-ai{width:100%;border:0}.bottom{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(760px,100%);padding:9px 10px calc(9px + env(safe-area-inset-bottom));background:#fffaf7f2;backdrop-filter:blur(16px);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr);z-index:20}.nav-item{background:transparent;color:var(--muted);font-size:10px;display:flex;flex-direction:column;gap:3px;align-items:center}.nav-item span{font-size:20px;line-height:1}.nav-item.active{color:var(--berry);font-weight:700}.modal{max-height:90vh;overflow:auto}.backdrop{position:fixed;inset:0;background:#251d1db8;z-index:50;display:grid;place-items:end center;padding:15px}.modal{width:min(680px,100%);background:var(--ivory);border-radius:28px;padding:24px;box-shadow:0 30px 90px #0004;position:relative}.close{position:absolute;right:14px;top:12px;background:#ead8d0;width:35px;height:35px;border-radius:50%;font-size:22px}.chat{max-height:48vh;overflow:auto;padding:8px 0}.bubble{padding:12px 14px;border-radius:18px;margin:8px 0;max-width:88%;font-size:14px;line-height:1.45}.bubble.ai{background:#f0dfe3;margin-right:auto}.bubble.user{background:var(--berry);color:white;margin-left:auto}.chat-input{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.chat-input input{margin:0}.suggestions{display:flex;gap:7px;overflow:auto;padding:6px 0}.suggestions button{white-space:nowrap;border:1px solid var(--line);background:#fff8f4;border-radius:99px;padding:8px 10px;font-size:11px}.avatar-grid,.cover-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.avatar-sample{aspect-ratio:1;border-radius:50%;display:grid;place-items:center;font:600 28px var(--font-heading),serif;background:#efd8df;color:var(--berry)}.cover-grid{grid-template-columns:repeat(3,1fr)}.cover-grid button{min-height:85px;border-radius:16px;color:#fff;font-weight:700}.style-tabs{display:flex;gap:8px;overflow:auto;padding-bottom:10px}.style-tabs button{white-space:nowrap;background:#fff8f4;border:1px solid var(--line);padding:9px 12px;border-radius:99px;font-size:11px}.style-board{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.style-card{background:#fff8f4;border:1px solid var(--line);border-radius:20px;padding:14px;position:relative}.style-placeholder{height:140px;border-radius:14px;background:linear-gradient(145deg,#ead5da,#e6c4b0);display:grid;place-items:center;font-size:30px;color:#fff;margin-bottom:10px}.style-card button{position:absolute;right:8px;top:8px}.empty{padding:30px 20px;text-align:center;color:var(--muted);background:#fff8f4;border:1px dashed var(--line);border-radius:20px;margin-top:15px}@media(max-width:560px){main{padding-left:14px;padding-right:14px}.hero-home h2{font-size:36px}.three,.premium-grid,.pricing-grid,.form-grid{grid-template-columns:1fr 1fr}.profile-cover{height:180px}.modal{padding:20px}.explore-grid{gap:9px}.explore-grid button{min-height:155px}.premium-hero h2{font-size:33px}}

.item-actions{display:flex;gap:16px;align-items:center;margin-top:8px}.item-actions .link{font-size:12px}.style-card .item-actions{margin-top:2px}.style-card .item-actions button{position:static;color:var(--berry);font-size:12px;top:auto;right:auto}.wish .item-actions{flex-direction:column;align-items:flex-end;gap:8px}.own{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.own:last-child{border:0}.ef{display:block;font-size:12px;font-weight:700;margin-top:10px;text-align:left}.ef input,.ef textarea,.ef select{font-weight:400}
.lock-card{background:linear-gradient(145deg,#f5e6ea,#fff8f4);border:1px dashed #cf9fae;text-align:left}.lock-card h3{font:500 21px var(--font-heading),serif;margin:8px 0 6px}.lock-card p{font-size:13px;color:var(--muted)}
a.ai-card{text-decoration:none}.book-card{color:white;margin-bottom:6px;background:radial-gradient(circle at 80% 10%,#c99b7b,var(--wine) 65%)}.book-card h2,.book-card p,.book-card b{color:white}
.topics{display:grid;gap:10px}.topic{display:flex;flex-direction:column;gap:4px;text-align:left;padding:16px 18px;border-radius:18px;background:#fffaf7;border:1px solid var(--line);box-shadow:0 8px 25px rgba(60,30,35,.04)}.topic b{font:500 19px var(--font-heading),serif}.topic span{font-size:13px;color:var(--muted)}.guide-intro{background:linear-gradient(145deg,#f5e6ea,#fff8f4);margin-top:8px}.guide-intro p{font:italic 500 19px/1.5 var(--font-heading),serif;margin:8px 0 0}.guide-q{font:500 20px var(--font-heading),serif;margin:22px 0 10px}.steps{padding-left:20px}.steps li{margin-bottom:8px}
.premium-grid>button{background:#fff8f4;border:1px solid var(--line);border-radius:20px;padding:18px;min-height:120px;text-align:left}.premium-grid>button b{font:500 20px var(--font-heading),serif}
.daily{background:linear-gradient(145deg,#f5e6ea,#fff8f4);text-align:left}.daily p{font:italic 500 19px/1.5 var(--font-heading),serif;margin:8px 0 6px}

/* ---- richer colour ---- */
body{background:radial-gradient(1100px 560px at 100% -8%,rgba(231,196,167,.5),transparent 60%),radial-gradient(900px 520px at -12% 18%,rgba(209,138,157,.28),transparent 55%),linear-gradient(180deg,#fbf6ef,#f5e9df);background-attachment:fixed}
.topline h1,.section-head h2{color:#4b1f31}
.section-head h2::after{content:'';display:block;width:36px;height:2px;margin-top:7px;background:linear-gradient(90deg,#b7955a,transparent)}
.btn{background:linear-gradient(135deg,var(--berry),var(--wine));box-shadow:0 12px 28px rgba(91,36,56,.30)}
.btn.dark{background:#fff;color:var(--wine)}.btn.secondary{background:linear-gradient(135deg,#f6e6dc,#ecd6cb);color:#251d1d;box-shadow:none}
.card,.pillar,.topic,.explore-grid button,.action{border-color:rgba(183,149,90,.28)}
.hero-home{position:relative;overflow:hidden}
.hero-photo{position:absolute;right:14px;top:14px;background:rgba(255,255,255,.88);color:var(--wine);border-radius:99px;padding:8px 13px;font-size:12px;font-weight:700;box-shadow:0 6px 18px rgba(0,0,0,.18)}
.glow{color:var(--berry);font-weight:700}.plan-card{background:linear-gradient(145deg,#f7e8d8,#fff8f4);text-align:left}
.done-day{background:linear-gradient(145deg,#f1e0e4,#fff8f4)}
.mood{text-align:left}.mood-row{display:flex;gap:8px;justify-content:space-between;margin-top:8px}
.mood-row button{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 2px;background:#fffaf7;border:1px solid var(--line);border-radius:16px}
.mood-row button:active{transform:scale(.94)}.mood-row span{font-size:24px}.mood-row small{font-size:10px;color:var(--muted)}
/* ---- soft movement ---- */
@keyframes floatUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
main.enter>*{animation:floatUp .6s cubic-bezier(.2,.7,.2,1) both}
main.enter>*:nth-child(2){animation-delay:.05s}main.enter>*:nth-child(3){animation-delay:.1s}main.enter>*:nth-child(4){animation-delay:.15s}main.enter>*:nth-child(5){animation-delay:.2s}main.enter>*:nth-child(6){animation-delay:.25s}main.enter>*:nth-child(n+7){animation-delay:.3s}
.ai-card{position:relative;overflow:hidden}
.ai-card::after{content:'';position:absolute;inset:-40%;background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.14) 50%,transparent 60%);transform:translateX(-60%);animation:sheen 8s ease-in-out infinite;pointer-events:none}
@keyframes sheen{0%,55%{transform:translateX(-60%)}100%{transform:translateX(60%)}}
.pillar,.topic,.card,.action,.btn{transition:transform .25s ease,box-shadow .25s ease}
.pillar:active,.topic:active,.action:active{transform:scale(.98)}
.action.done .check{animation:pop .45s ease}@keyframes pop{0%{transform:scale(.6)}60%{transform:scale(1.25)}100%{transform:scale(1)}}
.modal{animation:sheetUp .38s cubic-bezier(.2,.7,.2,1)}@keyframes sheetUp{from{transform:translateY(44px);opacity:0}to{transform:none;opacity:1}}
.backdrop{animation:fadeIn .25s ease}@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.spark{position:fixed;bottom:110px;font-size:22px;pointer-events:none;z-index:60;animation:rise 1.6s ease-out forwards}
@keyframes rise{0%{opacity:0;transform:translateY(0) scale(.6)}20%{opacity:1}100%{opacity:0;transform:translateY(-280px) scale(1.2)}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
.hero-home .pill-label{color:#f6e3d0}
.back{display:block;background:none;color:var(--berry);font:700 14px var(--font-body),sans-serif;padding:0 0 8px}

/* ---- app color, five palettes ---- */
body[data-theme="pink"]{--wine:#8a3f5c;--wine2:#c98aa0;--plum:#6b2f45;--berry:#b6607d;--rose:#f0b8c8;--gold:#d9a26a}
body[data-theme="berry"]{--wine:#3d1329;--wine2:#7a2748;--plum:#2a0c1c;--berry:#8a1f45;--rose:#c9748f;--gold:#a67c3d}
body[data-theme="gold"]{--wine:#6b4a2f;--wine2:#c9a06a;--plum:#4a3320;--berry:#a97a3f;--rose:#e6c9a0;--gold:#c9a253}
body[data-theme="sage"]{--wine:#3f4f3a;--wine2:#7c9270;--plum:#2c3a29;--berry:#5c7350;--rose:#b7c9a8;--gold:#a99a5a}
.theme-row{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:12px}
.theme-row button{display:flex;flex-direction:column;align-items:center;gap:7px;background:none;padding:4px}
.theme-swatch{width:46px;height:46px;border-radius:50%;box-shadow:0 6px 16px rgba(60,20,30,.18);border:2px solid transparent}
.theme-row button.on .theme-swatch{border-color:var(--ink)}
.theme-row small{font-size:10px;color:var(--muted);font-weight:700}
#txtOut{margin-top:14px;display:grid;gap:10px}#txtOut .topic span{font:italic 500 16px/1.4 var(--font-heading),serif}

.book-quote p{font:italic 500 20px/1.5 var(--font-heading),serif}.book-quote cite{display:block;margin-top:8px;font-style:normal;font-size:11px;letter-spacing:.1em;color:var(--rose)}
.deck-card h2{font:500 26px/1.35 var(--font-heading),serif}
.pack-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}.pack-item input{width:auto;margin:0}
#cdDate{margin-top:8px}
.moves-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}
.move-tile{background:#fff8f4;border:1px solid var(--line);border-radius:16px;padding:14px;text-align:center}
.move-icon{color:var(--berry);margin-bottom:6px;display:flex;justify-content:center}
.move-tile b{display:block;font:500 15px var(--font-heading),serif;margin-bottom:4px}
.move-tile span{font-size:11.5px;color:var(--muted);line-height:1.4}
.tour-row{display:flex;gap:14px;align-items:flex-start;margin:14px 0}.tour-row span{font-size:20px;color:var(--berry);width:26px;text-align:center;flex:none}.tour-row b{display:block;font:500 17px var(--font-heading),serif}.tour-row p{font-size:13px;color:var(--muted);margin-top:2px}

/* ---- App font, four choices ---- */
body[data-font="soft"]{--font-heading:'Lora';--font-body:'Poppins'}
body[data-font="romantic"]{--font-heading:'Cormorant Garamond';--font-body:'Jost'}
body[data-font="bold"]{--font-heading:'Bodoni Moda';--font-body:'Manrope'}
.font-row{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:12px}
.font-row button{display:flex;flex-direction:column;align-items:center;gap:6px;background:#fffaf7;border:1px solid var(--line);border-radius:16px;padding:14px 8px}
.font-row button.on{border-color:var(--ink);background:#fff}
.font-swatch{font-size:26px;line-height:1}
.font-row small{font-size:10px;color:var(--muted);font-weight:700;text-align:center}
.move-tile{cursor:pointer;width:100%;text-align:center;border:none;font-family:inherit}
.move-more{display:block;margin-top:6px;font-size:10.5px;color:var(--berry);font-weight:700}
.story-reader p{margin-bottom:12px;line-height:1.7}
.story-nav{display:flex;justify-content:space-between;gap:10px;margin-top:16px}
.story-nav .btn{flex:1}
.wheel-dial{width:160px;height:160px;border-radius:50%;background:conic-gradient(from 0deg,#5b2438,#7a2748,#c9a06a,#5b2438,#7a2748,#c9a06a,#5b2438,#7a2748,#c9a06a,#5b2438,#7a2748,#c9a06a,#5b2438);display:flex;align-items:center;justify-content:center;border:4px solid #fffaf5;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.wheel-dial-inner{width:46px;height:46px;border-radius:50%;background:#fffaf5;display:flex;align-items:center;justify-content:center;font-size:22px;color:var(--berry)}
.home-more{margin-top:14px;border-radius:25px;padding:25px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.home-more::after{content:'';position:absolute;inset:-40%;background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.14) 50%,transparent 60%);transform:translateX(-60%);animation:sheen 8s ease-in-out infinite;pointer-events:none}
.home-more h2{font:500 26px var(--font-heading),serif;margin:4px 0 14px}
.home-more-list{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:16px;overflow:hidden}
.home-more-list button{border-bottom:1px solid rgba(255,255,255,.14);color:#fff}
.home-more-list button:last-child{border:0}
.home-more-list span{color:#f7e9ec}
.home-more-list b{color:#f0c9d2}
.home-more-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.home-more-tags button{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);color:#f7e2e7;font-size:12px;font-weight:600;padding:7px 12px;border-radius:99px;white-space:nowrap}
.home-more-link{background:none;border:0;color:#fff;font-weight:700;margin-top:14px;font-size:14px;display:block;padding:0;cursor:pointer}
.mic-btn{background:none;border:1px solid var(--line,#eadbd4);border-radius:50%;width:40px;height:40px;font-size:17px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;margin-right:6px;cursor:pointer}
.mic-btn.mic-on{background:#c0392b;color:#fff;border-color:#c0392b;animation:micpulse 1.2s ease-in-out infinite}
@keyframes micpulse{0%,100%{box-shadow:0 0 0 0 rgba(192,57,43,.4)}50%{box-shadow:0 0 0 8px rgba(192,57,43,0)}}

/* ---------- The Glow Room ---------- */
.glow-entry{display:block;width:100%;text-align:left;padding:24px;border-radius:26px;color:#fff;margin:20px 0;border:0;box-shadow:var(--shadow)}
.glow-entry h2{font:500 26px var(--font-heading),serif;margin:8px 0 6px}
.glow-entry p{color:rgba(255,255,255,.85);font-size:13px;margin:0}
.glow-entry.glow-dim{background:linear-gradient(135deg,#4b263c,#806f70)}
.glow-entry.glow-soft{background:linear-gradient(135deg,#5b2438,#c98aa0)}
.glow-entry.glow-warm{background:linear-gradient(135deg,#9a506c,#d18a9d)}
.glow-entry.glow-golden{background:linear-gradient(135deg,#5b2438,#b7955a)}
.glow-meter{border-radius:28px;padding:28px;color:#fff;box-shadow:var(--shadow);margin-bottom:18px}
.glow-meter h2{font:500 34px var(--font-heading),serif;margin:6px 0 14px}
.glow-meter.glow-dim{background:linear-gradient(135deg,#4b263c,#806f70)}
.glow-meter.glow-soft{background:linear-gradient(135deg,#5b2438,#c98aa0)}
.glow-meter.glow-warm{background:linear-gradient(135deg,#9a506c,#d18a9d)}
.glow-meter.glow-golden{background:linear-gradient(135deg,#5b2438,#b7955a)}
.glow-bar{height:10px;background:rgba(255,255,255,.25);border-radius:99px;overflow:hidden;margin:8px 0}
.glow-bar.small{height:6px;background:rgba(0,0,0,.08);margin-top:10px}
.glow-bar div{height:100%;background:#fff;border-radius:99px;transition:width .4s ease}
.glow-pillars{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:6px}
.glow-pillar{text-align:left;padding:17px;border-radius:22px;min-height:140px;border:1px solid var(--line);transition:.2s;color:#fff}
.glow-pillar .icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-size:18px;background:rgba(255,255,255,.22);margin-bottom:11px}
.glow-pillar h3{font:600 18px var(--font-heading),serif;margin-bottom:3px;color:#fff}
.glow-tag{font-size:10px;letter-spacing:.1em;font-weight:700;color:rgba(255,255,255,.85);text-transform:uppercase}
.glow-pillar.glow-dim{background:linear-gradient(145deg,#6b5a5b,#4b263c)}
.glow-pillar.glow-soft{background:linear-gradient(145deg,#9a506c,#5b2438)}
.glow-pillar.glow-warm{background:linear-gradient(145deg,#d18a9d,#9a506c)}
.glow-pillar.glow-golden{background:linear-gradient(145deg,#e7c4a7,#b7955a)}
.glow-theme-row{display:flex;gap:8px;overflow:auto;padding:4px 0 16px}
.glow-theme-chip{white-space:nowrap;padding:12px 16px;border-radius:99px;font-size:12px;font-weight:700;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.3);border:2px solid transparent}
.glow-theme-chip.on{border-color:var(--ink)}

/* ---------- Her World: avatar, shop, decor ---------- */
.avatar-card{display:block;width:100%;text-align:center;padding:26px;border-radius:26px;background:linear-gradient(145deg,#f2d9df,#fff9f4);border:1px solid var(--line);margin:16px 0}
.avatar-preview{font-size:46px;margin:10px 0;letter-spacing:4px}
.avatar-card b{color:var(--berry);font-size:14px}
.decor-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.decor-chip{background:#fff8f4;border:1px solid var(--line);border-radius:99px;padding:8px 13px;font-size:12px}
.shop-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.shop-item{text-align:left;padding:14px;border-radius:18px;background:#fff8f4;border:1px solid var(--line);min-height:100px}
.shop-item .shop-icon{font-size:24px;display:block;margin-bottom:6px}
.shop-item b{display:block;font-size:13px;font-weight:600;line-height:1.3;margin-bottom:6px}
.shop-item .shop-cost{font-size:11px;font-weight:700;color:var(--berry)}
.shop-item.owned{background:#f1e0e4;border-color:#d5a7b5}
.shop-item.owned .shop-cost{color:#5b2438}
.shop-item:disabled{opacity:.75;cursor:default}

/* ---------- Her World, refined: typography instead of emoji ---------- */
.avatar-preview{font:italic 500 19px/1.4 var(--font-heading),serif;color:var(--wine);margin:10px 0}
.avatar-preview-lg{font:italic 500 26px/1.4 var(--font-heading),serif;color:var(--wine);margin:10px 0 4px}
.shop-mark{display:block;color:var(--berry);font-size:15px;margin-bottom:8px;letter-spacing:.1em}

/* ---------- Her World avatar: a real portrait, a small emoji accent, and the written line ---------- */
.avatar-portrait{width:96px;height:96px;border-radius:50%;object-fit:cover;box-shadow:0 10px 25px rgba(91,36,56,.18);margin:4px auto 10px;display:block;border:3px solid #fff}
.avatar-portrait-lg{width:130px;height:130px}
.avatar-emoji-row{font-size:18px;letter-spacing:4px;margin:2px 0 6px}

/* ---------- Shop item personality lines ---------- */
.shop-item i{display:block;font:italic 400 11px/1.3 var(--font-heading),serif;color:var(--muted);margin:-2px 0 6px;font-style:italic}

/* ---------- Her Circle, and a little life ---------- */
.glow-pillar.glow-golden{animation:glowpulse 3.5s ease-in-out infinite}
@keyframes glowpulse{0%,100%{box-shadow:0 8px 25px rgba(60,30,35,.04)}50%{box-shadow:0 8px 30px rgba(183,149,90,.45)}}
.invite-code{font:600 32px/1 var(--font-heading),serif;letter-spacing:.12em;text-align:center;background:#fff8f4;color:var(--wine);border:1px dashed var(--line);border-radius:16px;padding:18px;margin:14px 0}

/* ---------- How this works ---------- */
.howto-row{text-align:left;padding:12px 0;border-bottom:1px solid var(--line)}
.howto-row:last-of-type{border-bottom:0}
.howto-row b{display:block;font:600 15px var(--font-body),sans-serif;color:var(--berry);margin-bottom:3px}
.howto-row p{margin:0}

/* ---------- Would You Rather ---------- */
.wyr-choice{display:block;width:100%;text-align:center;padding:20px;border-radius:18px;background:#fff8f4;border:1px solid var(--line);font:500 17px var(--font-heading),serif;transition:.15s}
.wyr-choice:active{transform:scale(.97);background:#f1dbe2}
.wyr-result{margin-top:6px}
.wyr-bar{height:16px;border-radius:99px;overflow:hidden;background:var(--rose);display:flex}
.wyr-bar div{height:100%;background:var(--berry)}
.wyr-pcts{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:6px;font-weight:700}

/* ---------- Real tap feedback on quiz answers ---------- */
.topic.selected{background:linear-gradient(145deg,#5b2438,#9a506c);border-color:#5b2438;box-shadow:0 10px 25px rgba(91,36,56,.25)}
.topic.selected b,.topic.selected span{color:#fff}
.topic.selected::after{content:'✓ Selected';display:block;font-size:11px;font-weight:700;letter-spacing:.06em;color:#f6e3d0;margin-top:4px}

/* ---------- My Cycle, a real working calendar ---------- */
.cycle-nav{display:flex;justify-content:space-between;align-items:center;margin:18px 0 10px}
.cycle-nav b{font:500 17px var(--font-heading),serif}
.cycle-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:4px}
.cycle-head div{text-align:center;font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.06em}
.cycle-day{aspect-ratio:1;border-radius:50%;border:1px solid var(--line);background:#fff8f4;font-size:13px;display:flex;align-items:center;justify-content:center;position:relative}
.cycle-day.today{border:2px solid var(--berry);font-weight:700}
.cycle-day.cycle-period{background:linear-gradient(145deg,#9a506c,#5b2438);color:#fff;border-color:#5b2438}
.cycle-day.cycle-spotting{background:#f1dbe2;border-color:#d5a7b5}
.cycle-legend{display:flex;gap:18px;margin:14px 0 18px;font-size:12px;color:var(--muted)}
.cycle-legend span{display:flex;align-items:center;gap:6px}
.cycle-dot{width:11px;height:11px;border-radius:50%;display:inline-block}
.cycle-dot.cycle-period{background:linear-gradient(145deg,#9a506c,#5b2438)}
.cycle-dot.cycle-spotting{background:#f1dbe2;border:1px solid #d5a7b5}
.ef-toggle{display:flex;align-items:center;gap:10px;font-size:14px;margin:10px 0;padding:10px 0;border-bottom:1px solid var(--line)}
.ef-toggle input{width:18px;height:18px}
.topic.small{padding:9px 13px;font-size:13px}
.topic.small b,.topic.small span{font-size:13px}

/* ---------- Fertility phase markers on the cycle calendar ---------- */
.cycle-day.cycle-fertile{background:#f5d9a8;border-color:#e0b36a}
.cycle-day.cycle-ovulation{background:linear-gradient(145deg,#e8c68d,#c9924f);border-color:#a9733a;color:#2a1a0e;font-weight:800}
.cycle-dot.cycle-fertile{background:#f5d9a8}
.cycle-dot.cycle-ovulation{background:linear-gradient(145deg,#e8c68d,#c9924f)}

/* ---------- Predicted period, visually distinct from a confirmed one ---------- */
.cycle-day.cycle-predicted{background:#fde9ef;border:2px dashed #c97e95;color:#7a3a4d}
.cycle-dot.cycle-predicted{background:#fde9ef;border:2px dashed #c97e95;width:9px;height:9px}
