:root{
  color-scheme:light;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Tahoma,sans-serif;
  --plum:#321832;--plum-soft:#4a2948;--olive:#6f7450;--cream:#f5efe6;
  --paper:#fffdf9;--gold:#b79255;--ink:#241c23;--muted:#70666d;--line:#ddd1c6;
}
*{box-sizing:border-box}html{background:var(--cream)}body{margin:0;background:var(--cream);color:var(--ink);line-height:1.7}
button,input,select{font:inherit}.hidden{display:none!important}.shell{width:min(100%,720px);margin:0 auto;padding:0 16px 56px;overflow-x:hidden}
.hero{padding:34px 4px 22px}.hero-controls{display:flex;align-items:center;justify-content:space-between;gap:12px}.beta-pill{display:inline-flex;border:1px solid var(--gold);border-radius:999px;padding:5px 10px;color:#785f32;background:#fff8ea;font-size:11px;font-weight:800;letter-spacing:.12em}
.parvalife-language-selector{display:inline-flex;direction:ltr;align-items:center;gap:6px;min-height:44px;border:1px solid var(--line);border-radius:999px;background:rgba(255,253,249,.86);padding:4px 6px;box-shadow:0 4px 12px rgba(50,24,50,.05)}.language-option{min-height:34px;border:0;border-radius:999px;background:transparent;color:var(--muted);padding:5px 10px;font-weight:750;cursor:pointer}.language-option[lang="fa"]{direction:rtl}.language-option.active{background:var(--plum);color:var(--paper);box-shadow:inset 0 1px 0 rgba(183,146,85,.38)}.language-option:focus-visible{outline:2px solid var(--olive);outline-offset:2px}.language-divider{color:var(--gold);font-size:12px;line-height:1}.brand{margin:16px 0 0;color:var(--plum);font-family:Georgia,"Times New Roman",serif;font-size:34px}.hero h1{margin:12px 0;color:var(--plum);font-size:30px;line-height:1.45}.lead,.muted{color:var(--muted)}
.panel{background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:22px 18px;margin-bottom:18px;box-shadow:0 16px 42px rgba(50,24,50,.07)}
.center{text-align:center}.spinner{width:28px;height:28px;margin:0 auto 10px;border:3px solid var(--line);border-top-color:var(--plum);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:22px;background:#f3ece4;border-radius:14px;padding:4px}.tab{border:0;border-radius:11px;background:transparent;padding:10px;color:var(--muted);font-weight:700}.tab.active{background:#fff;color:var(--plum);box-shadow:0 3px 10px rgba(0,0,0,.05)}
.section-heading{margin-bottom:18px}.eyebrow{margin:0;color:var(--olive);font-size:11px;font-weight:900;letter-spacing:.16em}.section-heading h2,.account-card h2{margin:4px 0;color:var(--plum);font-size:24px}.section-heading p{margin:0;color:var(--muted);font-size:14px}
form{display:grid;gap:15px}label{display:grid;gap:6px}label>span{color:var(--plum-soft);font-size:14px;font-weight:750}label em{font-style:normal;color:var(--muted);font-size:12px;font-weight:500}
input,select{width:100%;min-height:52px;border:1px solid var(--line);border-radius:15px;background:#fff;color:var(--ink);padding:11px 13px;outline:none;font-size:16px}input:focus,select:focus{border-color:var(--olive);box-shadow:0 0 0 3px rgba(111,116,80,.12)}
.two-column{display:grid;grid-template-columns:1fr 1fr;gap:10px}.money-field{position:relative}.money-field input{padding-inline-start:64px}.money-field small{position:absolute;inset-inline-start:13px;top:50%;transform:translateY(-50%);color:var(--muted)}
.primary{border:0;border-radius:16px;min-height:55px;background:var(--plum);color:#fff;padding:13px 18px;font-weight:850;font-size:16px;box-shadow:0 9px 22px rgba(50,24,50,.18)}.primary:disabled{opacity:.6}
.status{min-height:22px;margin:4px 0 0;color:#8a4f4f;font-size:13px;text-align:center}.text-button{border:0;background:transparent;color:var(--plum);font-weight:750;padding:8px}
.account-card{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.account-card p{margin:0}.quota{text-align:center;border:1px solid var(--line);border-radius:16px;padding:9px 12px;min-width:120px}.quota strong{display:block;color:var(--olive);font-size:26px}.quota span{display:block;color:var(--muted);font-size:10px}.account-card .text-button{grid-column:1/-1;justify-self:end}
.results{padding:10px 0 4px}.look-list{display:grid;gap:14px}.look-card{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:0 10px 28px rgba(50,24,50,.05)}.look-card.recommended{border:2px solid var(--olive);box-shadow:0 14px 34px rgba(111,116,80,.13)}
.look-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.look-number{margin:0;color:var(--olive);font-size:11px;font-weight:900;letter-spacing:.12em}.look-card h3{margin:2px 0;color:var(--plum);font-size:20px}.recommended-badge{border:1px solid var(--gold);border-radius:999px;background:#fff8ea;color:#755d32;padding:4px 8px;font-size:10px;font-weight:850}
.items{list-style:none;margin:14px 0 0;padding:0;border-top:1px solid var(--line)}.items li{display:grid;grid-template-columns:75px 1fr;gap:8px;padding:9px 0;border-bottom:1px solid var(--line);font-size:14px}.items span{color:var(--muted);font-size:11px;text-transform:capitalize}.rationale{margin:12px 0 0;color:var(--muted);font-size:13px}
.history-list{display:grid;gap:10px}.history-item{border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}.history-item summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:10px;padding:13px 14px;font-weight:750;color:var(--plum)}.history-item summary small{color:var(--muted);font-weight:500}.history-item .results{padding:0 14px 14px}.history-item .section-heading{display:none}
footer{text-align:center;color:var(--muted);font-size:11px;padding:18px 0 0}
@media(max-width:560px){.shell{padding:0 13px 42px}.hero{padding-top:25px}.hero h1{font-size:27px}.panel{border-radius:21px;padding:19px 15px}.two-column{grid-template-columns:1fr}.account-card{grid-template-columns:1fr auto}.look-top{flex-wrap:wrap}}

html[dir="rtl"] body{text-align:right}
html[dir="ltr"] body{text-align:left}
html[dir="rtl"] input[name="username"],html[dir="rtl"] input[name="inviteCode"]{direction:ltr;text-align:left}
html[dir="rtl"] input[type="number"]{direction:ltr;text-align:right}

/* ParvaLife Visual Foundation R1-A — ParvaLia-proven mobile engineering method, ParvaLife identity */
body:has(#welcome-view:not(.hidden)){
  overflow:hidden;
  overscroll-behavior:none;
}

body:has(#welcome-view:not(.hidden)) .shell{
  width:min(100%,430px);
  height:100svh;
  height:100dvh;
  min-height:100svh;
  margin:0 auto;
  padding:0;
  overflow:hidden;
}

.parvalife-phone-shell{
  width:min(100%,430px);
  height:100svh;
  height:100dvh;
  min-height:100svh;
  margin-inline:auto;
  overflow:hidden;
  background:var(--cream);
  color:var(--plum);
  isolation:isolate;
}

.parvalife-welcome-screen{
  --welcome-primary:var(--plum);
  --welcome-primary-soft:var(--plum-soft);
  --welcome-surface:var(--cream);
  --welcome-surface-light:var(--paper);
  --welcome-metal:var(--gold);
  --welcome-secondary:var(--olive);
  --welcome-neutral:var(--line);
}

.parvalife-welcome-shell{
  position:relative;
  display:grid;
  grid-template-rows:minmax(0,57%) minmax(0,18%) minmax(0,25%);
  grid-template-areas:
    "hero"
    "copy"
    "actions";
  width:100%;
  height:100%;
  min-height:0;
  overflow:hidden;
  background:var(--welcome-surface);
}

.parvalife-hero-stage{
  grid-area:hero;
  position:relative;
  min-width:0;
  min-height:0;
  overflow:hidden;
  background:var(--welcome-surface);
}

.parvalife-hero-picture{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
}

.parvalife-hero-image{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 5%;
  filter:none;
  transform:none;
  image-rendering:auto;
}

.parvalife-hero-fade{
  position:absolute;
  z-index:1;
  inset:auto 0 0;
  height:27%;
  pointer-events:none;
  background:linear-gradient(
    180deg,
    rgba(245,239,230,0) 0%,
    rgba(245,239,230,.10) 28%,
    rgba(245,239,230,.52) 72%,
    var(--welcome-surface) 100%
  );
}

.parvalife-brand-layer{
  grid-area:hero;
  z-index:3;
  align-self:start;
  justify-self:start;
  width:clamp(158px,42vw,181px);
  margin-top:calc(env(safe-area-inset-top) + clamp(14px,2.4svh,24px));
  margin-left:clamp(14px,4.7vw,20px);
  text-align:center;
  pointer-events:none;
}

.welcome-mark{
  display:block;
  width:clamp(42px,10.8vw,50px);
  height:clamp(39px,10vw,46px);
  margin:0 auto 2px;
  background:url("./assets/parvalife/parvalife-mark.webp") center/contain no-repeat;
}

.welcome-wordmark{
  margin:0;
  color:var(--welcome-primary);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(31px,8.8vw,39px);
  line-height:1;
  font-weight:500;
  letter-spacing:-.035em;
}

.welcome-beta{
  margin:clamp(5px,.8svh,8px) 0 0;
  color:var(--welcome-metal);
  font-family:Georgia,"Times New Roman",serif;
  font-size:9px;
  line-height:1.3;
  font-weight:700;
  letter-spacing:.25em;
}

.welcome-rule{
  display:block;
  width:29px;
  height:1px;
  margin:clamp(6px,.9svh,9px) auto clamp(5px,.8svh,8px);
  background:var(--welcome-metal);
}

.welcome-tagline{
  margin:0 auto;
  max-width:184px;
  color:var(--muted);
  font-size:clamp(8.5px,2.15vw,9.5px);
  line-height:1.45;
  font-weight:650;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.welcome-tagline>span{display:block;white-space:nowrap}

.welcome-language-toggle{
  grid-area:hero;
  z-index:4;
  align-self:start;
  justify-self:end;
  margin-top:calc(env(safe-area-inset-top) + clamp(14px,2.4svh,24px));
  margin-right:clamp(14px,4.2vw,18px);
  display:flex;
  align-items:center;
  gap:5px;
  min-width:44px;
  min-height:40px;
  border:0;
  border-bottom:1px solid var(--welcome-metal);
  border-radius:0;
  background:transparent;
  color:var(--welcome-surface-light);
  padding:4px 2px 6px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:15px;
  text-shadow:0 1px 7px rgba(50,24,50,.42);
}

.welcome-language-toggle:focus-visible,
.welcome-primary:focus-visible,
.welcome-secondary:focus-visible,
.welcome-account button:focus-visible{
  outline:2px solid var(--welcome-secondary);
  outline-offset:3px;
}
.welcome-language-chevron{font-family:system-ui,sans-serif;font-size:16px;line-height:1}

.parvalife-copy-layer{
  grid-area:copy;
  position:relative;
  z-index:4;
  display:grid;
  align-content:center;
  justify-items:center;
  min-width:0;
  min-height:0;
  padding:clamp(4px,.8svh,8px) clamp(10px,3vw,14px) 0;
  text-align:center;
  background:var(--welcome-surface);
}

.parvalife-copy-layer::before{
  content:"";
  position:absolute;
  z-index:-1;
  left:0;
  right:0;
  top:-54px;
  height:56px;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(245,239,230,0),var(--welcome-surface));
}

.parvalife-copy-layer h1{
  width:100%;
  max-width:405px;
  margin:0 auto;
  color:var(--welcome-primary);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(21px,5.35vw,23.5px);
  line-height:1.14;
  font-weight:600;
  letter-spacing:-.025em;
}
.parvalife-copy-layer h1>span,
.welcome-description>span{display:block;white-space:nowrap}

.welcome-description{
  width:100%;
  max-width:390px;
  margin:clamp(6px,.9svh,10px) auto 0;
  color:var(--muted);
  font-size:clamp(12px,3.05vw,13.2px);
  line-height:1.43;
}

.welcome-dots{
  display:flex;
  direction:ltr;
  justify-content:center;
  gap:9px;
  margin:clamp(5px,.7svh,8px) 0 0;
}
.welcome-dots span{
  width:8px;
  height:8px;
  border-radius:999px;
  background:var(--welcome-neutral);
}
.welcome-dots span.active{background:var(--welcome-primary)}
html[lang="en"] .welcome-dots{display:none}
html[lang="fa"] .welcome-dots{display:flex}

.parvalife-actions{
  grid-area:actions;
  position:relative;
  z-index:4;
  display:grid;
  align-content:start;
  justify-items:center;
  min-width:0;
  min-height:0;
  padding:
    clamp(5px,.8svh,8px)
    clamp(10px,3vw,14px)
    max(5px,calc(env(safe-area-inset-bottom) + 4px));
  overflow:hidden;
  background:linear-gradient(180deg,var(--welcome-surface),var(--welcome-surface-light));
}

.parvalife-actions::before,
.parvalife-actions::after{
  content:"";
  position:absolute;
  z-index:0;
  bottom:-24px;
  width:clamp(72px,21vw,96px);
  height:clamp(145px,22svh,205px);
  background-repeat:no-repeat;
  background-size:contain;
  background-position:center bottom;
  opacity:.28;
  filter:blur(1px);
  pointer-events:none;
}
.parvalife-actions::before{
  left:-24px;
  background-image:url("./assets/parvalife/welcome-r22-foliage-left.webp");
}
.parvalife-actions::after{
  right:-24px;
  background-image:url("./assets/parvalife/welcome-r22-foliage-right.webp");
}
.parvalife-actions>*{position:relative;z-index:1}

.welcome-primary,
.welcome-secondary{
  width:76%;
  max-width:325px;
  min-width:258px;
  margin-inline:auto;
  border-radius:999px;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}

.welcome-primary{
  position:relative;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  min-height:clamp(48px,6svh,54px);
  border:1px solid var(--welcome-primary);
  padding:0 21px;
  overflow:hidden;
  color:var(--welcome-surface-light);
  background:linear-gradient(180deg,var(--welcome-primary-soft),var(--welcome-primary) 58%,var(--welcome-primary-soft));
  box-shadow:
    inset 0 1px 0 rgba(183,146,85,.64),
    inset 0 -5px 14px rgba(50,24,50,.20),
    0 0 0 1px var(--welcome-metal),
    0 7px 18px rgba(50,24,50,.14);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(20px,5.1vw,23px);
  line-height:1.15;
}
.welcome-primary::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(108deg,rgba(245,239,230,0) 27%,rgba(245,239,230,.12) 48%,rgba(245,239,230,0) 66%);
}
.welcome-primary>span:first-child{grid-column:2}
.welcome-arrow{
  grid-column:3;
  justify-self:end;
  font-family:system-ui,sans-serif;
  font-size:28px;
  font-weight:200;
  line-height:1;
}

.welcome-secondary{
  display:block;
  min-height:clamp(45px,5.6svh,50px);
  margin-top:clamp(7px,1svh,10px);
  border:1px solid var(--welcome-metal);
  background:rgba(255,253,249,.54);
  color:var(--welcome-primary);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(18px,4.5vw,20px);
  font-weight:600;
}
.welcome-primary:active,
.welcome-secondary:active{transform:scale(.992)}

.welcome-account{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  flex-wrap:wrap;
  margin:clamp(4px,.7svh,8px) 0 0;
  color:var(--muted);
  font-size:clamp(11.8px,2.9vw,13px);
  line-height:1.2;
}
.welcome-account button{
  min-height:34px;
  border:0;
  background:transparent;
  color:var(--welcome-primary);
  padding:3px 2px;
  font:700 clamp(15px,3.7vw,16.5px) Georgia,"Times New Roman",serif;
}

/* RTL changes language flow only. Hero photography and art direction stay fixed. */
html[dir="rtl"] .parvalife-brand-layer{
  justify-self:end;
  margin-left:clamp(14px,4.7vw,20px);
  margin-right:0;
}
html[dir="rtl"] .welcome-language-toggle{
  justify-self:start;
  margin-right:clamp(14px,4.2vw,18px);
  margin-left:0;
}
html[dir="rtl"] .parvalife-hero-image{transform:none}
html[dir="rtl"] .welcome-tagline{
  text-transform:none;
  letter-spacing:0;
  font-family:Tahoma,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:clamp(12.5px,3.15vw,14px);
  line-height:1.42;
}
html[dir="rtl"] .parvalife-copy-layer h1{
  max-width:405px;
  font-family:Tahoma,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:clamp(19px,4.8vw,21px);
  line-height:1.34;
  font-weight:800;
  letter-spacing:-.01em;
}
html[dir="rtl"] .welcome-description{
  max-width:398px;
  font-family:Tahoma,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:clamp(11.8px,3vw,13px);
  line-height:1.62;
}
html[dir="rtl"] .welcome-primary,
html[dir="rtl"] .welcome-secondary{
  font-family:Tahoma,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
html[dir="rtl"] .welcome-primary{font-size:clamp(18.5px,4.7vw,20.5px);font-weight:650}
html[dir="rtl"] .welcome-secondary{font-size:clamp(17.5px,4.4vw,19.5px)}
html[dir="rtl"] .welcome-account button{
  font-family:Tahoma,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--welcome-metal);
}
html[dir="rtl"] .welcome-arrow{transform:scaleX(-1)}

@media(max-width:430px){
  .parvalife-phone-shell{max-width:430px}
}

@media(max-width:393px){
  .parvalife-welcome-shell{grid-template-rows:minmax(0,57%) minmax(0,18%) minmax(0,25%)}
  .parvalife-brand-layer{width:168px;margin-left:14px}
  html[dir="rtl"] .parvalife-brand-layer{margin-left:14px}
  .welcome-language-toggle{margin-right:14px}
  html[dir="rtl"] .welcome-language-toggle{margin-right:14px}
  .welcome-wordmark{font-size:34px}
  .parvalife-copy-layer{padding-inline:9px}
  .parvalife-copy-layer h1{font-size:20.5px}
  html[dir="rtl"] .parvalife-copy-layer h1{font-size:18.7px}
  .welcome-primary,.welcome-secondary{width:78%;min-width:255px}
}

@media(max-width:360px){
  .parvalife-welcome-shell{grid-template-rows:minmax(0,56%) minmax(0,19%) minmax(0,25%)}
  .parvalife-brand-layer{width:158px;margin-left:11px}
  html[dir="rtl"] .parvalife-brand-layer{margin-left:11px}
  .welcome-language-toggle{margin-right:11px}
  html[dir="rtl"] .welcome-language-toggle{margin-right:11px}
  .welcome-wordmark{font-size:31px}
  .welcome-tagline{font-size:8.4px}
  html[dir="rtl"] .welcome-tagline{font-size:12px}
  .parvalife-copy-layer h1{font-size:19px}
  html[dir="rtl"] .parvalife-copy-layer h1{font-size:17.5px}
  .welcome-description{font-size:11.5px}
  html[dir="rtl"] .welcome-description{font-size:11.3px}
  .welcome-primary,.welcome-secondary{width:80%;min-width:248px}
}

@media(max-height:760px){
  .parvalife-welcome-shell{grid-template-rows:minmax(0,58%) minmax(0,18%) minmax(0,24%)}
  .parvalife-brand-layer,
  .welcome-language-toggle{margin-top:calc(env(safe-area-inset-top) + 11px)}
  .welcome-wordmark{font-size:32px}
  .welcome-tagline{font-size:8.3px}
  html[dir="rtl"] .welcome-tagline{font-size:11.8px}
  .parvalife-copy-layer h1{font-size:19.5px}
  html[dir="rtl"] .parvalife-copy-layer h1{font-size:18px}
  .welcome-description{margin-top:5px;font-size:11.5px;line-height:1.36}
  html[dir="rtl"] .welcome-description{font-size:11.2px;line-height:1.5}
  .welcome-dots{margin-top:4px}
  .welcome-primary{min-height:47px}
  .welcome-secondary{min-height:44px;margin-top:6px}
  .welcome-account{margin-top:3px}
  .welcome-account button{min-height:32px}
}

@media(max-height:680px){
  .parvalife-welcome-shell{grid-template-rows:minmax(0,58%) minmax(0,19%) minmax(0,23%)}
  .welcome-mark{width:39px;height:36px}
  .welcome-wordmark{font-size:29px}
  .welcome-beta{margin-top:4px;font-size:8px}
  .welcome-rule{margin-block:5px}
  .parvalife-copy-layer h1{font-size:18px}
  html[dir="rtl"] .parvalife-copy-layer h1{font-size:16.8px}
  .welcome-description{font-size:10.8px}
  html[dir="rtl"] .welcome-description{font-size:10.6px}
  .welcome-primary{min-height:44px;font-size:19px}
  .welcome-secondary{min-height:42px}
  .welcome-account{font-size:11px}
}

@media(prefers-reduced-motion:reduce){
  .welcome-primary:active,.welcome-secondary:active{transform:none}
}


/* ParvaLife Auth Visual R1 — premium mobile auth shell; Welcome protected */
body:has(#auth-view:not(.hidden)){
  overflow-x:hidden;
  background:
    radial-gradient(circle at 88% 6%,rgba(183,146,85,.10),transparent 29%),
    linear-gradient(180deg,var(--cream) 0%,var(--paper) 100%);
}

body:has(#auth-view:not(.hidden)) .shell{
  width:min(100%,430px);
  min-height:100svh;
  min-height:100dvh;
  margin:0 auto;
  padding:
    max(10px,env(safe-area-inset-top))
    clamp(12px,3.6vw,16px)
    max(12px,env(safe-area-inset-bottom));
  overflow-x:hidden;
}

body:has(#auth-view:not(.hidden)) #legacy-hero,
body:has(#auth-view:not(.hidden)) #site-footer{
  display:none!important;
}

#auth-view.auth-panel{
  width:100%;
  min-height:calc(100svh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 22px);
  min-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 22px);
  margin:0;
  padding:0;
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.auth-shell{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-content:start;
  gap:clamp(9px,1.4svh,13px);
  width:100%;
  min-width:0;
}

.auth-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-width:0;
}

.auth-brand{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  color:var(--plum);
}

.auth-mark{
  flex:0 0 auto;
  width:31px;
  height:29px;
  background:url("./assets/parvalife/parvalife-mark.webp") center/contain no-repeat;
}

.auth-wordmark{
  overflow:hidden;
  color:var(--plum);
  font:500 clamp(22px,6vw,27px)/1 Georgia,"Times New Roman",serif;
  letter-spacing:-.035em;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.auth-language-selector{
  flex:0 0 auto;
  min-height:40px;
  padding:3px 5px;
  background:rgba(255,253,249,.78);
  border-color:rgba(183,146,85,.42);
  box-shadow:0 6px 20px rgba(50,24,50,.06);
}

.auth-language-selector .language-option{
  min-height:32px;
  padding:4px 9px;
  font-size:13px;
}

.auth-visual-strip{
  position:relative;
  height:clamp(68px,10.5svh,94px);
  overflow:hidden;
  border:1px solid rgba(183,146,85,.28);
  border-radius:20px;
  background:var(--cream);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.72),
    0 10px 28px rgba(50,24,50,.08);
}

.auth-visual-strip picture,
.auth-visual-strip img{
  display:block;
  width:100%;
  height:100%;
}

.auth-visual-strip img{
  object-fit:cover;
  object-position:50% 16%;
  transform:none;
  filter:none;
}

.auth-visual-fade{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(245,239,230,.20),transparent 28%,transparent 72%,rgba(50,24,50,.08)),
    linear-gradient(180deg,transparent 52%,rgba(245,239,230,.16));
}

.auth-tabs{
  margin:0;
  gap:5px;
  padding:4px;
  border:1px solid rgba(183,146,85,.22);
  border-radius:16px;
  background:rgba(221,209,198,.38);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.74);
}

.auth-tabs .tab{
  min-height:42px;
  border-radius:12px;
  padding:8px 12px;
  color:var(--muted);
  font-weight:760;
  transition:background-color .16s ease,color .16s ease,box-shadow .16s ease;
}

.auth-tabs .tab.active{
  background:linear-gradient(180deg,var(--paper),#fbf5ed);
  color:var(--plum);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    0 4px 12px rgba(50,24,50,.08);
}

.auth-tabs .tab:focus-visible{
  outline:2px solid var(--olive);
  outline-offset:2px;
}

#auth-view .section-heading{
  margin:1px 2px clamp(10px,1.4svh,14px);
  text-align:start;
}

#auth-view .section-heading .eyebrow{
  color:var(--gold);
  font-size:10px;
  line-height:1.35;
  letter-spacing:.17em;
}

#auth-view .section-heading h2{
  margin:3px 0 2px;
  color:var(--plum);
  font:600 clamp(24px,6.5vw,30px)/1.18 Georgia,"Times New Roman",serif;
  letter-spacing:-.025em;
}

#auth-view .section-heading p{
  max-width:37ch;
  margin:0;
  color:var(--muted);
  font-size:clamp(12.5px,3.25vw,14px);
  line-height:1.48;
}

#auth-view form{
  gap:clamp(9px,1.2svh,12px);
}

#auth-view label{
  gap:5px;
}

#auth-view label>span{
  color:var(--plum-soft);
  font-size:clamp(12.5px,3.2vw,13.5px);
  line-height:1.35;
  font-weight:760;
}

#auth-view input{
  min-height:50px;
  border:1px solid rgba(183,146,85,.34);
  border-radius:15px;
  background:rgba(255,253,249,.94);
  color:var(--ink);
  padding:10px 13px;
  font-size:16px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.92),
    0 5px 14px rgba(50,24,50,.035);
  scroll-margin-block:96px;
}

#auth-view input:hover{
  border-color:rgba(183,146,85,.52);
}

#auth-view input:focus{
  border-color:var(--gold);
  box-shadow:
    0 0 0 3px rgba(183,146,85,.13),
    inset 0 1px 0 rgba(255,255,255,.92);
}

#auth-view .primary{
  min-height:52px;
  margin-top:2px;
  border:1px solid var(--plum);
  border-radius:999px;
  color:var(--paper);
  background:linear-gradient(180deg,var(--plum-soft),var(--plum) 58%,var(--plum-soft));
  box-shadow:
    inset 0 1px 0 rgba(183,146,85,.52),
    inset 0 -5px 14px rgba(50,24,50,.20),
    0 0 0 1px rgba(183,146,85,.72),
    0 8px 20px rgba(50,24,50,.14);
  font-size:15.5px;
  font-weight:800;
}

#auth-view .primary:focus-visible,
#auth-view .text-button:focus-visible{
  outline:2px solid var(--olive);
  outline-offset:3px;
}

#auth-view .text-button{
  min-height:42px;
  justify-self:center;
  border:0;
  border-radius:999px;
  background:transparent;
  color:var(--plum);
  padding:7px 12px;
  font-size:13.5px;
  font-weight:760;
}

#auth-view .auth-status{
  min-height:20px;
  margin:2px 4px 0;
  color:#8a4f4f;
  font-size:12.5px;
  line-height:1.4;
  text-align:center;
}

html[dir="rtl"] #auth-view{
  text-align:right;
}

html[dir="rtl"] #auth-view .auth-topbar{
  direction:ltr;
}

html[dir="rtl"] #auth-view .auth-brand{
  direction:ltr;
}

html[dir="rtl"] #auth-view .section-heading,
html[dir="rtl"] #auth-view label{
  text-align:right;
}

html[dir="rtl"] #auth-view .section-heading h2,
html[dir="rtl"] #auth-view .section-heading p,
html[dir="rtl"] #auth-view .tabs,
html[dir="rtl"] #auth-view .primary,
html[dir="rtl"] #auth-view .text-button{
  font-family:Tahoma,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

html[dir="rtl"] #auth-view .auth-visual-strip img{
  transform:none;
}

@media(max-width:430px){
  body:has(#auth-view:not(.hidden)) .shell{
    max-width:430px;
  }
}

@media(max-width:393px){
  body:has(#auth-view:not(.hidden)) .shell{
    padding-inline:12px;
  }
  .auth-wordmark{font-size:23px}
  .auth-language-selector .language-option{padding-inline:8px;font-size:12.5px}
  .auth-visual-strip{height:72px;border-radius:18px}
  #auth-view .section-heading h2{font-size:25px}
  #auth-view input{min-height:49px}
}

@media(max-width:390px){
  .auth-topbar{gap:7px}
  .auth-mark{width:28px;height:26px}
  .auth-wordmark{font-size:22px}
  .auth-language-selector{gap:3px;padding-inline:4px}
  .auth-language-selector .language-option{padding-inline:7px}
  #auth-view .primary{min-height:50px}
}

@media(max-height:760px){
  body:has(#auth-view:not(.hidden)) .shell{
    padding-top:max(7px,env(safe-area-inset-top));
    padding-bottom:max(7px,env(safe-area-inset-bottom));
  }
  .auth-shell{gap:8px}
  .auth-visual-strip{height:60px}
  #auth-view .section-heading{margin-bottom:8px}
  #auth-view .section-heading p{font-size:12.5px}
  #auth-view form{gap:8px}
  #auth-view input{min-height:46px}
  #auth-view .primary{min-height:48px}
  #auth-view .text-button{min-height:38px;padding-block:5px}
}

@media(max-height:680px){
  .auth-visual-strip{height:48px}
  .auth-tabs .tab{min-height:38px;padding-block:6px}
  #auth-view .section-heading .eyebrow{font-size:9px}
  #auth-view .section-heading h2{font-size:22px}
  #auth-view .section-heading p{font-size:11.8px}
  #auth-view input{min-height:44px}
  #auth-view .primary{min-height:46px}
}


/* ParvaLife Home Visual R1 — post-login only; Welcome/Auth protected */
body:has(#app-view:not(.hidden)){
  overflow-x:hidden;
  background:
    radial-gradient(circle at 12% 2%,rgba(183,146,85,.10),transparent 27%),
    linear-gradient(180deg,#f8f2e9 0%,var(--cream) 42%,#f3ece4 100%);
}
body:has(#app-view:not(.hidden)) .shell{
  width:min(100%,430px);
  min-height:100svh;
  min-height:100dvh;
  margin:0 auto;
  padding:max(10px,env(safe-area-inset-top)) clamp(12px,3.6vw,16px) max(22px,env(safe-area-inset-bottom));
  overflow-x:hidden;
}
body:has(#app-view:not(.hidden)) #legacy-hero,
body:has(#app-view:not(.hidden)) #site-footer{display:none!important}
#app-view.home-view{width:100%;min-width:0;margin:0;padding:0;overflow:visible}
.home-shell{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;width:100%;min-width:0}
.home-topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}
.home-brand{display:flex;align-items:center;gap:8px;min-width:0;direction:ltr}
.home-mark{flex:0 0 auto;width:31px;height:29px;background:url("./assets/parvalife/parvalife-mark.webp") center/contain no-repeat}
.home-wordmark{overflow:hidden;color:var(--plum);font:500 clamp(23px,6.3vw,28px)/1 Georgia,"Times New Roman",serif;letter-spacing:-.035em;white-space:nowrap;text-overflow:ellipsis}
.home-language-selector{flex:0 0 auto;min-height:40px;padding:3px 5px;border-color:rgba(183,146,85,.42);background:rgba(255,253,249,.82);box-shadow:0 6px 18px rgba(50,24,50,.055)}
.home-language-selector .language-option{min-height:32px;padding:4px 8px;font-size:12.5px}
.home-greeting{min-width:0;padding:4px 4px 1px}
.home-greeting .eyebrow{color:var(--gold);font-size:10px}
.home-greeting h1{margin:4px 0 3px;color:var(--plum);font:600 clamp(26px,7.2vw,32px)/1.15 Georgia,"Times New Roman",serif;letter-spacing:-.025em;overflow-wrap:anywhere}
.home-greeting>p:last-child{max-width:38ch;margin:0;color:var(--muted);font-size:13px;line-height:1.5}
.home-hero-card{position:relative;min-width:0;min-height:178px;overflow:hidden;border:1px solid rgba(183,146,85,.35);border-radius:25px;background:var(--plum);box-shadow:0 18px 38px rgba(50,24,50,.15);isolation:isolate}
.home-hero-media{position:absolute;inset:0;z-index:-2}
.home-hero-media,.home-hero-media img{display:block;width:100%;height:100%}
.home-hero-media img{object-fit:cover;object-position:50% 31%;transform:none;filter:none}
.home-hero-fade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(38,18,37,.92) 0%,rgba(50,24,50,.78) 48%,rgba(50,24,50,.18) 100%)}
.home-hero-copy{display:grid;align-content:center;gap:4px;min-height:178px;width:min(76%,300px);padding:20px;color:var(--paper)}
.home-hero-copy .eyebrow{color:#dcc18e;font-size:9.5px}
.home-hero-copy h2{margin:0;font:600 clamp(22px,6vw,27px)/1.12 Georgia,"Times New Roman",serif;letter-spacing:-.02em}
.home-hero-copy>p:not(.eyebrow){margin:2px 0 10px;color:rgba(255,253,249,.84);font-size:12px;line-height:1.45}
.home-primary-cta{display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-height:46px;border:1px solid rgba(229,205,158,.82);border-radius:999px;padding:9px 17px;background:rgba(255,253,249,.96);color:var(--plum);text-decoration:none;font-size:14px;font-weight:850;box-shadow:0 8px 18px rgba(25,10,24,.18)}
.home-primary-cta:focus-visible,.home-quick-link:focus-visible,.home-logout:focus-visible{outline:2px solid var(--olive);outline-offset:3px}
.home-account-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;min-width:0}
.home-status-card,.home-account-card{min-width:0;border:1px solid rgba(183,146,85,.25);border-radius:20px;background:rgba(255,253,249,.90);padding:14px;box-shadow:0 10px 24px rgba(50,24,50,.055)}
.home-card-label{margin:0 0 7px;color:var(--gold);font-size:9.5px;font-weight:900;letter-spacing:.13em}
.home-quota{display:flex;align-items:flex-end;gap:8px;min-width:0}
.home-quota strong{flex:0 0 auto;color:var(--plum);font:600 32px/1 Georgia,"Times New Roman",serif}
.home-quota span{color:var(--muted);font-size:10.5px;line-height:1.25}
.home-username{display:block;overflow:hidden;color:var(--plum);font-size:13px;line-height:1.35;white-space:nowrap;text-overflow:ellipsis;direction:ltr;text-align:left}
.home-logout{min-height:44px;margin-top:4px;padding:7px 0;font-size:12.5px}
.home-existing-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;min-width:0}
.home-quick-link{display:flex;align-items:center;justify-content:center;min-width:0;min-height:46px;border:1px solid rgba(111,116,80,.28);border-radius:15px;background:rgba(255,253,249,.72);color:var(--plum);padding:8px 10px;text-align:center;text-decoration:none;font-size:12.5px;font-weight:780;line-height:1.3}
#style-request-panel,#result-section,#home-history-panel{scroll-margin-top:14px}
#app-view .panel{min-width:0;margin-bottom:0;border-color:rgba(183,146,85,.24);border-radius:23px;background:rgba(255,253,249,.94);box-shadow:0 13px 32px rgba(50,24,50,.065)}
#app-view .section-heading h2{font:600 24px/1.18 Georgia,"Times New Roman",serif;letter-spacing:-.018em}
#app-view input,#app-view select{min-width:0;font-size:16px}
.home-result-section:not(.hidden){min-width:0}
.home-history-panel{margin-bottom:2px!important}
html[dir="rtl"] #app-view{text-align:right;font-family:Tahoma,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
html[dir="rtl"] #app-view .home-topbar,
html[dir="rtl"] #app-view .home-brand,
html[dir="rtl"] #app-view .home-language-selector{direction:ltr}
html[dir="rtl"] #app-view .home-greeting h1,
html[dir="rtl"] #app-view .home-hero-copy h2,
html[dir="rtl"] #app-view .section-heading h2,
html[dir="rtl"] #app-view .home-quota strong{font-family:Tahoma,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
html[dir="rtl"] #app-view .home-hero-media img{transform:none}
html[dir="rtl"] #app-view .home-hero-fade{background:linear-gradient(270deg,rgba(38,18,37,.92) 0%,rgba(50,24,50,.78) 48%,rgba(50,24,50,.18) 100%)}
html[dir="rtl"] #app-view .home-username{direction:ltr;text-align:right}
@media(max-width:430px){body:has(#app-view:not(.hidden)) .shell{max-width:430px}}
@media(max-width:428px){.home-shell{gap:13px}.home-hero-card,.home-hero-copy{min-height:174px}}
@media(max-width:393px){body:has(#app-view:not(.hidden)) .shell{padding-inline:12px}.home-wordmark{font-size:23px}.home-language-selector .language-option{padding-inline:7px;font-size:12px}.home-hero-copy{width:80%;padding:18px}.home-account-grid{gap:8px}.home-status-card,.home-account-card{padding:12px}}
@media(max-width:390px){.home-topbar{gap:7px}.home-mark{width:28px;height:26px}.home-wordmark{font-size:22px}.home-hero-card,.home-hero-copy{min-height:168px}.home-hero-copy{width:83%}.home-existing-actions{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){#app-view{scroll-behavior:auto}}


/* ParvaLife App Navigation Shell R1 — authenticated screens + iPhone-safe bottom nav */
body:has(#app-view:not(.hidden)) .shell{
  padding-bottom:calc(98px + env(safe-area-inset-bottom));
}

#app-view .app-shell{
  display:block;
  width:100%;
  min-width:0;
}

#app-view .app-screen{
  width:100%;
  min-width:0;
  scroll-margin-top:10px;
}

#style-screen,
#saved-screen,
#profile-screen{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:14px;
}

#style-screen #style-request-panel,
#saved-screen #home-history-panel{
  margin:0;
}

#style-screen #result-section:not(.hidden){
  margin-top:0;
}

.profile-brand-row{
  display:flex;
  align-items:center;
  min-height:44px;
  padding-inline:3px;
}

.profile-panel{
  display:grid;
  gap:18px;
}

.profile-panel .section-heading{
  margin-bottom:0;
}

.profile-facts{
  display:grid;
  gap:10px;
}

.profile-fact{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);
  align-items:center;
  gap:12px;
  min-height:58px;
  border:1px solid rgba(183,146,85,.24);
  border-radius:16px;
  background:rgba(255,253,249,.76);
  padding:11px 13px;
}

.profile-fact>span,
.profile-control-label{
  color:var(--muted);
  font-size:12px;
  font-weight:700;
}

.profile-fact>strong{
  min-width:0;
  overflow-wrap:anywhere;
  color:var(--plum);
  font-size:14px;
  text-align:end;
}

.profile-quota-fact>strong{
  color:var(--olive);
  font:700 24px/1 Georgia,"Times New Roman",serif;
}

.profile-username{
  direction:ltr;
}

.profile-language-block{
  display:grid;
  gap:8px;
}

.profile-language-selector{
  justify-self:start;
  min-height:44px;
  border-color:rgba(183,146,85,.38);
  background:rgba(255,253,249,.88);
}

.profile-signout{
  min-height:50px;
  border:1px solid rgba(50,24,50,.22);
  border-radius:999px;
  background:transparent;
  color:var(--plum);
  padding:10px 16px;
  font-weight:800;
}

.profile-signout:focus-visible{
  outline:2px solid var(--olive);
  outline-offset:3px;
}

.app-bottom-nav{
  position:fixed;
  z-index:60;
  left:50%;
  bottom:0;
  width:min(100%,430px);
  max-width:100vw;
  transform:translateX(-50%);
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:4px;
  padding:8px 10px max(8px,env(safe-area-inset-bottom));
  border-top:1px solid rgba(183,146,85,.30);
  background:rgba(255,253,249,.96);
  box-shadow:0 -10px 30px rgba(50,24,50,.10);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

.app-nav-item{
  position:relative;
  display:grid;
  justify-items:center;
  align-content:center;
  gap:3px;
  min-width:0;
  min-height:58px;
  border:0;
  border-radius:17px;
  background:transparent;
  color:#8b8087;
  padding:6px 3px;
  font-size:10.5px;
  font-weight:760;
  line-height:1.15;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}

.app-nav-item>span{
  max-width:100%;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.app-nav-icon{
  width:22px;
  height:22px;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.app-nav-item.active,
.app-nav-item[aria-current="page"]{
  color:var(--plum);
  background:linear-gradient(180deg,rgba(183,146,85,.13),rgba(50,24,50,.055));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.80);
}

.app-nav-item.active::before,
.app-nav-item[aria-current="page"]::before{
  content:"";
  position:absolute;
  top:3px;
  width:18px;
  height:2px;
  border-radius:999px;
  background:var(--gold);
}

.app-nav-item:focus-visible{
  outline:2px solid var(--olive);
  outline-offset:-1px;
}

html[dir="rtl"] #app-view .app-bottom-nav{
  direction:rtl;
}

html[dir="rtl"] #app-view .app-nav-item,
html[dir="rtl"] #app-view .profile-panel{
  font-family:Tahoma,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

html[dir="rtl"] #app-view .profile-username{
  direction:ltr;
  text-align:left;
}

html[dir="rtl"] #app-view .profile-quota-fact>strong{
  font-family:Tahoma,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

@media(max-width:430px){
  .app-bottom-nav{max-width:430px}
}

@media(max-width:428px){
  #style-screen,#saved-screen,#profile-screen{gap:13px}
}

@media(max-width:393px){
  .app-bottom-nav{gap:3px;padding-inline:8px}
  .app-nav-item{min-height:57px;font-size:10px}
  .profile-fact{padding-inline:12px}
}

@media(max-width:390px){
  .app-bottom-nav{padding-inline:7px}
  .app-nav-item{border-radius:15px;font-size:9.5px}
  .app-nav-icon{width:21px;height:21px}
}

@media(prefers-reduced-motion:reduce){
  .app-nav-item{scroll-behavior:auto}
}

/* ParvaLife Real Catalog Results Visual R1 */
#app-view .result-items{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:10px;
  margin:14px 0 0;
  padding:0;
  border-top:0;
  list-style:none;
  min-width:0;
}
#app-view .result-items .result-item-card{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:0;
  min-width:0;
  overflow:hidden;
  padding:0;
  border:1px solid rgba(183,146,85,.28);
  border-radius:17px;
  background:rgba(255,253,249,.94);
  box-shadow:0 8px 22px rgba(50,24,50,.045);
}
#app-view .result-item-image{
  display:block;
  width:100%;
  height:auto;
  max-height:240px;
  object-fit:cover;
  background:var(--cream);
}
#app-view .result-item-body{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:5px;
  min-width:0;
  padding:12px 13px 13px;
}
#app-view .result-item-category{
  margin:0;
  color:var(--gold);
  font-size:9.5px;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}
#app-view .result-item-body h4{
  min-width:0;
  margin:0 0 2px;
  color:var(--plum);
  font-size:15px;
  line-height:1.45;
  overflow-wrap:anywhere;
}
#app-view .result-item-provider,
#app-view .result-item-price,
#app-view .result-item-reference{
  min-width:0;
  margin:0;
  color:var(--muted);
  font-size:11.5px;
  line-height:1.5;
  overflow-wrap:anywhere;
}
#app-view .result-item-provider span,
#app-view .result-item-price span{
  color:var(--plum-soft);
  font-weight:800;
}
#app-view .result-item-reference{
  color:#84745a;
  font-size:10px;
}
#app-view .result-item-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:fit-content;
  max-width:100%;
  min-height:42px;
  margin-top:4px;
  border:1px solid rgba(111,116,80,.34);
  border-radius:999px;
  background:rgba(111,116,80,.08);
  color:var(--plum);
  padding:7px 13px;
  text-decoration:none;
  font-size:11.5px;
  font-weight:850;
  overflow-wrap:anywhere;
}
#app-view .result-item-link:focus-visible{
  outline:2px solid var(--olive);
  outline-offset:2px;
}
#app-view .result-items .legacy-item{
  display:grid;
  grid-template-columns:75px minmax(0,1fr);
  gap:8px;
  min-width:0;
  padding:9px 0;
  border-bottom:1px solid var(--line);
  font-size:14px;
  overflow-wrap:anywhere;
}
#app-view .result-items .legacy-item span{
  color:var(--muted);
  font-size:11px;
  text-transform:capitalize;
}
html[dir="rtl"] #app-view .result-item-body{
  text-align:right;
}
html[dir="rtl"] #app-view .result-item-link{
  font-family:Tahoma,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
@media(max-width:430px){
  #app-view .result-item-body{padding-inline:12px}
}
@media(max-width:428px){
  #app-view .result-items{gap:9px}
}
@media(max-width:393px){
  #app-view .result-item-body h4{font-size:14.5px}
  #app-view .result-item-provider,
  #app-view .result-item-price{font-size:11px}
}
@media(max-width:390px){
  #app-view .result-item-link{width:100%}
}


/* ParvaLife Real Look Match R1 — design-first + truthful shop matches */
#app-view .designed-look-kicker{
  margin:2px 0 5px;
  color:var(--gold);
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
}
#app-view .designed-result-items{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:12px;
  min-width:0;
}
#app-view .designed-item-card{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:10px;
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(183,146,85,.30);
  border-radius:19px;
  background:rgba(255,253,249,.96);
  box-shadow:0 9px 24px rgba(50,24,50,.05);
}
#app-view .designed-item-copy{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:4px;
  min-width:0;
  padding:13px 13px 12px;
  border-bottom:1px solid rgba(183,146,85,.19);
  background:linear-gradient(180deg,rgba(183,146,85,.075),rgba(255,253,249,.75));
}
#app-view .designed-item-kicker,
#app-view .shop-match-heading,
#app-view .shop-match-state{
  margin:0;
  font-size:9px;
  line-height:1.35;
  font-weight:900;
  letter-spacing:.09em;
}
#app-view .designed-item-kicker{
  color:var(--plum-soft);
}
#app-view .designed-item-copy h4{
  min-width:0;
  margin:1px 0 0;
  color:var(--plum);
  font-size:15.5px;
  line-height:1.45;
  overflow-wrap:anywhere;
}
#app-view .designed-item-description{
  min-width:0;
  margin:2px 0 0;
  color:var(--muted);
  font-size:11.5px;
  line-height:1.55;
  overflow-wrap:anywhere;
}
#app-view .shop-match-section{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:7px;
  min-width:0;
  padding:0 10px 10px;
}
#app-view .shop-match-heading{
  color:var(--olive);
}
#app-view .shop-match-card{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(111,116,80,.22);
  border-radius:14px;
  background:rgba(247,244,237,.8);
}
#app-view .shop-match-card .result-item-body{
  padding:11px 12px 12px;
}
#app-view .shop-match-state{
  width:fit-content;
  max-width:100%;
  border-radius:999px;
  padding:4px 8px;
  background:rgba(111,116,80,.10);
  color:var(--olive);
}
#app-view .shop-match-state[data-match-state="EXACT"]{
  background:rgba(183,146,85,.14);
  color:var(--plum);
}
#app-view .shop-match-empty{
  min-width:0;
  border:1px dashed rgba(111,116,80,.28);
  border-radius:13px;
  padding:11px 12px;
  color:var(--muted);
  background:rgba(255,253,249,.56);
  font-size:11.5px;
  line-height:1.5;
  overflow-wrap:anywhere;
}
#app-view .synthetic-demo-block{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:8px;
  min-width:0;
  margin:12px 0 2px;
  overflow:hidden;
  border:1px solid rgba(183,146,85,.28);
  border-radius:18px;
  background:rgba(255,253,249,.9);
}
#app-view .synthetic-demo-block figcaption{
  display:grid;
  gap:2px;
  min-width:0;
  padding:11px 12px 0;
}
#app-view .synthetic-demo-block figcaption strong{
  color:var(--plum);
  font-size:12.5px;
}
#app-view .synthetic-demo-block figcaption span{
  color:var(--muted);
  font-size:10.5px;
}
#app-view .synthetic-demo-block img{
  display:block;
  width:100%;
  height:auto;
  max-height:520px;
  object-fit:cover;
}
html[dir="rtl"] #app-view .designed-item-copy,
html[dir="rtl"] #app-view .shop-match-section,
html[dir="rtl"] #app-view .synthetic-demo-block{
  text-align:right;
}
@media(max-width:430px){
  #app-view .designed-item-copy{padding-inline:12px}
  #app-view .shop-match-section{padding-inline:9px}
}
@media(max-width:428px){
  #app-view .designed-result-items{gap:11px}
}
@media(max-width:393px){
  #app-view .designed-item-copy h4{font-size:15px}
  #app-view .designed-item-description,
  #app-view .shop-match-empty{font-size:11px}
}
@media(max-width:390px){
  #app-view .shop-match-card .result-item-link{width:100%}
}


/* ParvaLife Exact Product Variant Match R1 — bounded Shop Match clarification */
#app-view .result-item-variant,
#app-view .result-item-variant-instruction,
#app-view .result-item-default-note{
  min-width:0;
  margin:0;
  overflow-wrap:anywhere;
}
#app-view .result-item-variant{
  color:var(--plum);
  font-size:11.5px;
  line-height:1.45;
}
#app-view .result-item-variant strong{
  font-weight:850;
}
#app-view .result-item-variant-instruction{
  margin-top:2px;
  border-inline-start:2px solid rgba(183,146,85,.62);
  padding-inline-start:8px;
  color:var(--plum-soft);
  font-size:11.5px;
  font-weight:760;
  line-height:1.5;
}
#app-view .result-item-default-note{
  color:var(--muted);
  font-size:10px;
  line-height:1.45;
}
#app-view .shop-match-empty.variant-none{
  border-color:rgba(111,116,80,.32);
  background:rgba(247,244,237,.62);
}
html[dir="rtl"] #app-view .result-item-variant-instruction{
  border-inline-start:2px solid rgba(183,146,85,.62);
  padding-inline-start:8px;
}
@media(max-width:430px){
  #app-view .result-item-variant-instruction{font-size:11.25px}
}
@media(max-width:428px){
  #app-view .result-item-default-note{font-size:9.9px}
}
@media(max-width:393px){
  #app-view .result-item-variant,
  #app-view .result-item-variant-instruction{font-size:11px}
}
@media(max-width:390px){
  #app-view .result-item-default-note{font-size:9.7px}
}


/* ParvaLife Synthetic Try-On Demo R1 — LookSpec-grounded comparison only */
#app-view .synthetic-demo-comparison{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:14px;
  min-width:0;
  padding:0 10px 10px;
}
#app-view .synthetic-demo-frame{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  justify-items:center;
  gap:5px;
  min-width:0;
}
#app-view .synthetic-demo-frame img{
  display:block;
  width:auto;
  max-width:min(100%,310px);
  height:auto;
  /* Reserve space for the fixed bottom navigation, safe area and caption. */
  max-height:calc(100svh - 180px - env(safe-area-inset-bottom));
  max-height:calc(100dvh - 180px - env(safe-area-inset-bottom));
  aspect-ratio:auto;
  object-fit:contain;
  border-radius:12px;
  background:rgba(247,244,237,.82);
}
#app-view .synthetic-demo-frame span{
  min-width:0;
  color:var(--muted);
  font-size:11px;
  line-height:1.35;
  text-align:center;
  overflow-wrap:anywhere;
}
html[dir="rtl"] #app-view .synthetic-demo-frame span{
  text-align:center;
}
@media(max-width:430px){
  #app-view .synthetic-demo-comparison{padding-inline:9px}
}
@media(max-width:428px){
  #app-view .synthetic-demo-frame span{font-size:10.8px}
}
@media(max-width:393px){
  #app-view .synthetic-demo-comparison{gap:12px}
}
@media(max-width:390px){
  #app-view .synthetic-demo-frame span{font-size:10.6px}
}


/* ParvaLife Real-User Selfie Local Intake R1 — browser-local only */
.visually-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

#app-view .selfie-local-intake{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:14px;
  min-width:0;
  margin:0;
  overflow:hidden;
  border:1px solid rgba(183,146,85,.28);
  border-radius:20px;
  background:rgba(255,253,249,.94);
}

#app-view .selfie-local-intake.hidden{
  display:none;
}

#app-view .selfie-photo-guide{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:7px;
  min-width:0;
  border-radius:16px;
  background:rgba(247,244,237,.78);
  padding:12px 13px;
}

#app-view .selfie-photo-guide>strong{
  color:var(--plum);
  font-size:12px;
}

#app-view .selfie-photo-guide ul{
  display:grid;
  gap:5px;
  min-width:0;
  margin:0;
  padding-inline-start:18px;
  color:var(--muted);
  font-size:11.5px;
  line-height:1.5;
}

#app-view .selfie-consent-row{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  gap:10px;
  min-width:0;
  cursor:pointer;
}

#app-view .selfie-consent-row input{
  width:20px;
  height:20px;
  margin:1px 0 0;
  accent-color:var(--plum);
}

#app-view .selfie-consent-row span{
  min-width:0;
  color:var(--plum);
  font-size:12px;
  font-weight:700;
  line-height:1.55;
  overflow-wrap:anywhere;
}

#app-view .selfie-local-disclosure,
#app-view .selfie-size-note{
  min-width:0;
  margin:0;
  overflow-wrap:anywhere;
}

#app-view .selfie-local-disclosure{
  border-inline-start:2px solid rgba(111,116,80,.55);
  padding-inline-start:9px;
  color:var(--olive);
  font-size:11.5px;
  font-weight:800;
  line-height:1.45;
}

#app-view .selfie-size-note{
  color:var(--muted);
  font-size:10.5px;
  line-height:1.45;
}

#app-view .selfie-actions,
#app-view .selfie-preview-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  min-width:0;
}

#app-view .selfie-choose{
  min-height:48px;
  border:1px solid rgba(50,24,50,.24);
  border-radius:999px;
  background:rgba(50,24,50,.045);
  color:var(--plum);
  padding:10px 16px;
  font:inherit;
  font-weight:800;
}

#app-view .selfie-choose:disabled{
  opacity:.45;
  cursor:not-allowed;
}

#app-view .selfie-choose:focus-visible,
#app-view .selfie-preview-actions button:focus-visible,
#app-view .selfie-consent-row input:focus-visible{
  outline:2px solid var(--olive);
  outline-offset:3px;
}

#app-view .selfie-preview-wrap{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:10px;
  min-width:0;
}

#app-view .selfie-preview{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  max-height:calc(100dvh - 190px - env(safe-area-inset-bottom));
  object-fit:contain;
  object-position:center;
  border-radius:16px;
  background:rgba(247,244,237,.88);
}

#app-view .selfie-preview-state{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:2px;
  min-width:0;
}

#app-view .selfie-preview-state strong{
  color:var(--plum);
  font-size:12px;
}

#app-view .selfie-preview-state span{
  color:var(--olive);
  font-size:10.5px;
  font-weight:750;
}

#app-view .selfie-preview-actions .text-button{
  min-height:44px;
  padding-inline:0;
}

#app-view .selfie-status{
  min-height:18px;
  margin:0;
  color:var(--muted);
  font-size:10.5px;
  line-height:1.45;
}

html[dir="rtl"] #app-view .selfie-local-intake,
html[dir="rtl"] #app-view .selfie-photo-guide,
html[dir="rtl"] #app-view .selfie-preview-state{
  text-align:right;
}

@media(max-width:430px){
  #app-view .selfie-local-intake{gap:13px}
}

@media(max-width:428px){
  #app-view .selfie-photo-guide{padding-inline:12px}
}

@media(max-width:393px){
  #app-view .selfie-consent-row span{font-size:11.5px}
  #app-view .selfie-local-disclosure{font-size:11px}
}

@media(max-width:390px){
  #app-view .selfie-actions{display:grid;grid-template-columns:minmax(0,1fr)}
  #app-view .selfie-choose{width:100%}
}
