@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--pink:#ff4f9a;--ink:#321b2d;--muted:#8d6078;--paper:#fff9fd;--line:#f2d8e6;--blush:#ffe4f1}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px 'DM Sans',Arial,sans-serif}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button{border:0;background:none}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #b63d73;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1,h2,.serif{font-family:'Playfair Display',Georgia,serif;font-weight:400}h1{font-size:45px;line-height:1.18;margin-bottom:12px;letter-spacing:-1.5px}h2{font-size:29px;letter-spacing:-.5px}h3{font-size:17px}small{font-size:13px;color:var(--muted)}.sidebar{position:fixed;left:0;top:0;bottom:0;width:240px;border-right:1px solid var(--line);padding:42px 26px;display:flex;flex-direction:column;background:white}.brand img{width:109px;height:auto}.brand span{display:block;font-size:9px;letter-spacing:1.4px;margin-top:13px;color:#8d7b83}.sidebar nav{margin-top:56px;display:grid;gap:12px}.navitem{display:flex;align-items:center;gap:15px;text-align:left;padding:16px 19px;border-radius:13px;color:#82777c;font-size:15px}.navitem.active{background:var(--blush);color:#982b58}.navicon{font-size:23px;width:26px;text-align:center}.sidebottom{margin-top:auto}.mini-gia{padding:18px 4px 25px;border-bottom:1px solid var(--line)}.mini-gia img{width:48px;height:48px;object-fit:contain;border-radius:50%;margin-bottom:12px}.mini-gia b{font-size:12px}.mini-gia small{display:block;margin-top:5px;font-size:12px}.profile{display:flex;gap:10px;padding:23px 0 0;text-align:left;align-items:center;font-size:13px}.profile small{display:block;font-size:10px;margin-top:5px}.avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#efe5dd;font-size:13px;flex-shrink:0}.profile>span:last-child{margin-left:auto}main{margin-left:240px;padding:0 50px;max-width:1700px}header{height:103px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:600}.header-right{display:flex;gap:16px;align-items:center}.demo{font-size:9px;letter-spacing:1.2px;color:#90828a}.iconbutton{width:35px;height:35px;border-radius:50%;border:1px solid var(--line);font-size:22px}.mobilebrand{display:none}#view{padding-top:34px;min-height:75vh}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.intro h1{font-size:36px;margin-bottom:7px}.intro p{color:var(--muted);font-size:14px;margin:0}.date{text-align:right;font-size:13px;line-height:1.8}.date small{display:block}.homegrid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr);gap:23px}.companion{background:linear-gradient(135deg,#ffd4e8,#fff1f8);border-radius:22px;height:343px;position:relative;overflow:hidden;padding:32px;isolation:isolate}.companion .copy{position:relative;z-index:2;width:57%}.pill{display:inline-flex;padding:7px 10px;border:1px solid #d9aab9;border-radius:30px;letter-spacing:1px;font-size:9px;background:#fff8fa99}.companion h2{font-size:37px;line-height:1.16;margin:23px 0 13px}.companion h2 em{color:#ad436c}.companion p{font-size:13px;line-height:1.7;max-width:230px;color:#826571}.giahero{position:absolute;width:236px;height:236px;object-fit:contain;right:36px;bottom:42px;z-index:0}.primary{background:var(--ink);color:white;border-radius:30px;padding:13px 20px;font-size:13px;display:inline-flex;gap:14px;align-items:center;justify-content:center}.primary.pink{background:#ff4f9a}.secondary{border:1px solid #ded1d7;border-radius:30px;padding:12px 18px;background:white;font-size:13px}.gia-name{position:absolute;right:22px;bottom:19px;font-size:11px;background:#ffffffa8;backdrop-filter:blur(10px);padding:9px 15px;border-radius:20px}.todaycard{border:1px solid var(--line);border-radius:22px;padding:26px}.sectionhead{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:32px 0 18px}.sectionhead h2{margin:0;font-size:26px}.textbutton{font-size:12px;color:#84606f;padding:7px 0}.todaycard .sectionhead{margin:0 0 24px}.todaycard h2{font-size:24px}.event{display:flex;gap:14px;align-items:flex-start;margin:21px 0}.event time{font-size:11px;color:#9b8c92;padding-top:3px;width:38px;flex-shrink:0}.eventbody{padding:0 0 0 13px;border-left:2px solid #ed9bbb}.eventbody b{font-size:13px;display:block;margin-bottom:6px}.eventbody small{font-size:11px}.daynote{background:#faf6f8;border-radius:10px;padding:12px;margin-top:20px;font-size:12px;line-height:1.6;color:#937483}.quickgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:23px 0 5px}.quick{border:1px solid var(--line);border-radius:14px;text-align:left;padding:18px;display:flex;gap:12px;align-items:center;transition:.2s}.quick:hover{transform:translateY(-3px);background:var(--blush)}.quick>span{font-size:23px;color:#ae6380}.quick b{font-size:12px;display:block}.quick small{font-size:10px;display:block;margin-top:5px}.products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.product{position:relative;text-align:left}.productimage{width:100%;aspect-ratio:1.15;object-fit:cover;background:#f7f4f4;border-radius:13px;display:block}.product h3{font-size:12px;font-weight:500;margin:13px 0 5px}.product p{font-size:12px;color:#8e7a83;margin:0}.heart{position:absolute;top:10px;right:10px;width:29px;height:29px;background:white;border-radius:50%;z-index:1;font-size:19px}.heart.saved{color:#c5507d}.product .tag{position:absolute;top:12px;left:11px;background:white;padding:5px 8px;border-radius:3px;font-size:8px;letter-spacing:1px}.productopen{display:block;width:100%;padding:0;text-align:left}.collection-note{display:flex;justify-content:space-between;margin-top:24px;padding:20px 0;border-top:1px solid var(--line);font-size:12px;color:#9a7c89}.collection-note .serif{font-size:19px;color:#6a515c}footer{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:25px 0;margin-top:32px;font-size:10px;color:#9b8f94}footer a{text-decoration:underline}.bottomnav{display:none}.pageheading{margin-bottom:26px}.pageheading p{color:var(--muted);font-size:14px}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:25px}.panel{border:1px solid var(--line);border-radius:21px;padding:25px}.chatlayout{display:grid;grid-template-columns:300px 1fr;gap:25px}.gia-profile{background:var(--blush);border-radius:22px;overflow:hidden;text-align:center;padding-bottom:28px}.gia-profile img{width:180px;height:180px;object-fit:contain;margin:36px auto 0;display:block}.gia-profile h2{margin:18px 0 8px}.gia-profile p{font-size:13px;padding:0 25px;color:#806c75;line-height:1.7}.chatpanel{min-height:490px;display:flex;flex-direction:column}.messages{flex:1;max-height:410px;overflow-y:auto;padding:6px}.bubble{background:#f7eff2;border-radius:16px 16px 16px 3px;padding:16px;font-size:14px;line-height:1.7;max-width:88%;margin-bottom:16px}.bubble.user{background:#30282c;color:white;margin-left:auto;border-radius:16px 16px 3px 16px}.chatinput{display:flex;border:1px solid #e3d5dc;padding:6px;border-radius:30px;gap:8px}.chatinput input{border:0;outline:0;width:100%;padding:8px;background:none;font-size:14px}.chips{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.chip{border:1px solid var(--line);padding:10px 16px;font-size:12px;border-radius:30px;background:white}.chip.active{background:var(--ink);color:white;border-color:var(--ink)}.uploadbox{height:315px;border:1px dashed #dcb6c7;background:#fdf4f7;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:17px;gap:14px;overflow:hidden;position:relative;text-align:center;padding:20px}.uploadbox img{height:100%;width:100%;object-fit:contain}.uploadbox .uploadmark{font-size:46px;color:#c77c9b}.uploadbox p{font-size:13px;line-height:1.6;color:#987b88;margin:0}.uploadbox input{max-width:100%;font-size:12px}.steps{display:flex;gap:12px;margin-bottom:25px;font-size:12px;color:#a18a95}.steps span{padding:9px 12px;border-radius:20px;background:var(--blush)}.selectproducts{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.selectproduct{border:1px solid var(--line);border-radius:14px;padding:8px;font-size:11px;text-align:left}.selectproduct img{width:100%;height:110px;object-fit:cover;border-radius:8px}.selectproduct.selected{border:2px solid #df7da4;background:#fff2f7}.fullwidth{width:100%;margin-top:20px}.helper{font-size:12px;color:#8b7781;line-height:1.7;margin-top:14px}.lookresult{display:flex;align-items:center;gap:16px;margin-top:20px;background:var(--blush);padding:20px;border-radius:15px}.lookresult img{width:85px;border-radius:8px}.lookresult p{font-size:13px;line-height:1.6;margin:0}.week{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;margin-bottom:24px}.daybutton{border:1px solid var(--line);border-radius:15px;padding:14px 5px;display:grid;gap:9px;font-size:12px}.daybutton b{font-size:21px}.daybutton.active{background:#ff4f9a;color:white;border-color:#e887ac}.schedule .event{padding:20px;margin:0;border-bottom:1px solid var(--line)}.schedule .event time{width:55px;font-size:13px}.schedule .eventbody{flex:1}.schedule .eventbody b{font-size:15px}.done{opacity:.45}.formfield{display:grid;gap:8px;margin:18px 0;font-size:13px}.formfield input,.formfield select{border:1px solid #e5d4dc;padding:12px;border-radius:9px;min-width:0;width:100%;background:white}.call{text-align:center;padding:20px}.call img{width:190px;height:190px;border-radius:50%;object-fit:contain;box-shadow:0 0 0 15px #fbeef3,0 0 0 30px #fff7fa;margin:25px 0 40px}.wave{display:flex;justify-content:center;align-items:center;gap:5px;height:50px;margin:15px}.wave i{width:5px;height:20px;border-radius:4px;background:#de7ea4;animation:wave 1s infinite alternate}.wave i:nth-child(2n){animation-delay:.3s;height:36px}.wave i:nth-child(3n){animation-delay:.7s}.call .primary{background:#d75373}.callcontrols{display:flex;gap:12px;justify-content:center;margin-top:24px}@keyframes wave{to{height:8px}}dialog{border:0;border-radius:25px;box-shadow:0 20px 100px #49303a33;padding:35px;width:min(520px,92vw);max-height:90vh;color:var(--ink)}dialog::backdrop{background:#2e172955;backdrop-filter:blur(5px)}dialog .close{position:absolute;right:15px;top:10px;font-size:28px;z-index:3}dialog h2{margin-top:10px}.detailimg{width:100%;max-height:300px;object-fit:cover;border-radius:15px}.detailprice{color:#a7607d}.empty{padding:35px;text-align:center;color:#96838c;font-size:14px}.profilehero{text-align:center;background:var(--blush);padding:30px;border-radius:20px;margin-bottom:25px}.profilehero .avatar{width:68px;height:68px;font-size:24px;margin:auto auto 15px}.setting{display:flex;justify-content:space-between;padding:18px 0;border-bottom:1px solid var(--line);font-size:14px}.toggle{accent-color:#c95887;width:18px;height:18px}#toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%,20px);padding:14px 23px;border-radius:25px;background:#30272c;color:white;font-size:13px;opacity:0;pointer-events:none;transition:.2s;z-index:10}#toast.show{opacity:1;transform:translate(-50%,0)}@media(min-width:1500px){main{padding:0 70px}.companion{height:390px}.companion h2{font-size:44px}}@media(max-width:1150px){.sidebar{width:200px;padding:35px 18px}main{margin-left:200px;padding:0 28px}.homegrid{grid-template-columns:1.4fr 1fr}.companion{padding:24px}.companion h2{font-size:30px}.quick{padding:14px 10px;gap:8px}.quick small{display:none}.chatlayout{grid-template-columns:230px 1fr}}@media(max-width:800px){.sidebar{display:none}main{margin:0;padding:0 22px}header{height:79px}.desktop-label{display:none}.mobilebrand{display:block}.mobilebrand img{width:79px}.header-right{gap:10px}.demo{font-size:8px}.bottomnav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fffffff2;backdrop-filter:blur(15px);border-top:1px solid var(--line);z-index:5;justify-content:space-around;padding:9px 5px max(9px,env(safe-area-inset-bottom))}.bottomnav .navitem{display:flex;flex-direction:column;gap:3px;padding:5px 12px;font-size:10px;background:none;border-radius:0}.bottomnav .navitem.active{color:#bd4f7d}.navicon{font-size:22px}.bottomnav .navitem:nth-child(3) .navicon{background:#f6dbe6;border-radius:50%;width:42px;height:34px;display:grid;place-items:center;margin-top:-5px}.intro h1{font-size:30px}.date{font-size:11px}.intro p{font-size:12px}.homegrid{grid-template-columns:1fr}.companion{height:320px;padding:27px}.giahero{width:150px;height:150px;right:12px;bottom:28px}.companion h2{font-size:36px}.companion .copy{width:60%}.todaycard{padding:20px}.todaycard .sectionhead{margin-bottom:10px}.todaycard .event{display:inline-flex;width:49%;gap:6px;margin:13px 0}.todaycard .event:nth-of-type(4){display:none}.todaycard .daynote{margin-top:9px}.quickgrid{grid-template-columns:repeat(4,1fr);gap:8px}.quick{flex-direction:column;align-items:center;gap:9px;padding:15px 3px}.quick b{font-size:10px}.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 13px}.sectionhead h2{font-size:25px}.collection-note{gap:15px;align-items:center;line-height:1.6}.collection-note .serif{font-size:17px}footer{margin-bottom:90px;font-size:9px;flex-direction:column;line-height:1.7}.twocol,.chatlayout{grid-template-columns:1fr}.gia-profile{display:none}.chatpanel{min-height:65vh;padding:15px}.pageheading h1{font-size:34px}.panel{padding:20px}.steps{gap:5px;font-size:10px}.steps span{padding:8px}.uploadbox{height:260px}.week{gap:5px}.daybutton{font-size:10px}.daybutton b{font-size:18px}.todaycard .eventbody b{font-size:12px}.todaycard .eventbody small{font-size:10px}#toast{bottom:95px;width:max-content;max-width:90%;text-align:center}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* Barbie polish */
.brand img,.mobilebrand img{filter:saturate(1.2)}
.companion{box-shadow:inset 0 0 0 2px #ffffff88,0 12px 35px #e98bb933}
.giahero{filter:none}
.primary{box-shadow:0 7px 18px #dc5f9560}

/* Layout polish — no overlapping type */
.companion{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  height:auto;
  min-height:0;
  overflow:hidden;
  padding:32px 36px;
}
.companion .copy{
  width:auto;
  flex:1;
  min-width:0;
  z-index:2;
}
.companion h2{margin:18px 0 12px}
.companion p{max-width:280px}
.giahero{
  position:relative;
  width:200px;
  height:200px;
  right:auto;
  bottom:auto;
  flex-shrink:0;
  z-index:1;
}
.gia-name{
  position:static;
  display:inline-flex;
  margin-top:18px;
  right:auto;
  bottom:auto;
  max-width:100%;
  white-space:normal;
  line-height:1.4;
}
.intro{gap:16px;align-items:flex-start}
.intro h1{overflow-wrap:anywhere}
.sectionhead{flex-wrap:wrap}
.chatinput .primary{padding:10px 14px;gap:0;min-width:44px;flex-shrink:0;box-shadow:none}
.chatinput{align-items:center}
.chip{white-space:nowrap}
.week{min-width:0}
.daybutton{min-width:0}
.steps{flex-wrap:wrap}
.uploadbox input{width:100%;max-width:100%}
.lookresult{flex-wrap:wrap}
.lookresult img{max-width:100%;height:auto}
.callcontrols{flex-wrap:wrap}
dialog{overflow:auto}
.secondary.fullwidth{display:block;text-align:center;box-sizing:border-box}
.collection-note{flex-wrap:wrap;gap:12px}
.gia-profile h2{padding:0 20px}
.bubble{overflow-wrap:anywhere}
#toast{max-width:min(90vw,420px);text-align:center}

@media(min-width:1500px){
  .companion{height:auto;min-height:360px}
  .giahero{width:220px;height:220px}
}
@media(max-width:1150px){
  .companion{height:auto;padding:24px 28px}
  .giahero{width:160px;height:160px}
  .companion h2{font-size:28px}
}
@media(max-width:800px){
  .companion{
    height:auto;
    flex-direction:column;
    align-items:flex-start;
    padding:24px 22px 22px;
    gap:8px;
  }
  .companion .copy{width:100%;padding-right:112px}
  .companion h2{font-size:30px;margin:14px 0 10px}
  .giahero{
    position:absolute;
    width:104px;
    height:104px;
    right:16px;
    top:22px;
    bottom:auto;
  }
  .gia-name{margin-top:14px}
  .todaycard .event{display:flex;width:100%}
  .quickgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .quick{flex-direction:row;align-items:center;padding:14px 12px;text-align:left}
  .quick b{font-size:12px}
  .quick small{display:block}
  .intro{flex-direction:column}
  .date{text-align:left}
  .week{gap:6px}
  .daybutton{padding:10px 2px}
  .chatpanel{min-height:auto}
}

