/* ZrozumFaceta Final Production Bundle CSS */

/* ==== css/base.css ==== */

:root{
  --bg:#0b0b0c;
  --fg:#f5f5f5;
  --muted:rgba(245,245,245,.68);
  --line:rgba(245,245,245,.14);
  --glass:rgba(12,12,13,.32);
  --glassStrong:rgba(12,12,13,.72);
  --gold:#b79a5a;
}

/* Step 4A – emphasize primary 1:1 option */
#callPrimary{width:100%;padding:14px 16px;font-size:16px}

*{box-sizing:border-box}
html,body{
  -webkit-text-size-adjust:100%;
height:100%}
body{
  -webkit-text-size-adjust:100%;

  margin:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial;
  background:var(--bg);
  color:var(--fg);
  overflow-x:hidden;
}

/* iOS/Safari safety: never allow horizontal drift */
html,body{width:100%;overflow-x:hidden}

/* --- Subpages: enforce clean links & readable layout (iOS tends to underline aggressively) --- */
.page--blog a,
.page--faq a,
.page--legal a{
  text-decoration: none !important;
  -webkit-text-decoration-skip: none;
}
.page--blog a:active,
.page--faq a:active,
.page--legal a:active{ opacity:.85; }

/* Footer credit alignment */
.siteCredit{ text-align:center; }

/* ===== Pages (blog/faq/legal) =====
   Na stronie głównej działamy jak "deck" (overflow hidden). Na podstronach musi być normalny scroll.
*/
html.page--blog, body.page--blog,
html.page--faq,  body.page--faq,
html.page--legal,body.page--legal{
  height:auto !important;
  min-height:100%;
  overflow:auto !important;
}

/* Wspólny wrapper pod fixed header (żeby header nie przykrywał treści) */
.pageMain{
  padding-top: calc(var(--topbar, 64px) + 18px + env(safe-area-inset-top));
  padding-left: calc(16px + env(safe-area-inset-left));
  padding-right: calc(16px + env(safe-area-inset-right));
  padding-bottom: calc(26px + env(safe-area-inset-bottom));
  width: min(100%, 860px);
  margin: 0 auto;
}

/* Blog: wymuś karty jako blok (na iOS anchor bywa "inline" i wygląda jak podkreślony tekst) */
.postList{ display:grid; gap:12px; }
.postCard{ display:block; text-decoration:none; }
.postCard *{ text-decoration:none; }
.postCard__top{ display:flex; justify-content:space-between; gap:12px; }
.postTitleLink{ display:block; }

/* Stopka (copyright) */
.siteCopyright{ text-align:center; }
.siteCredit{ text-align:center; }


/* ===== Topbar ===== */
.topbar{
  position:fixed;top:0;left:0;right:0;height:64px;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 14px;
  background:rgba(0,0,0,.22);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(245,245,245,.10);
  z-index:30;
}
.brand{display:flex;flex-direction:column;gap:2px;min-width:0}
.brandMain{font-weight:900;letter-spacing:.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brandAlt{opacity:.78;font-weight:800}
.brandSub{font-size:12px;color:rgba(245,245,245,.62);letter-spacing:.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.topbarRight{display:flex;align-items:center;gap:10px}
.topIcon{
  width:36px;height:36px;border-radius:999px;
  border:1px solid rgba(245,245,245,.10);
  background:rgba(0,0,0,.12);
  display:grid;place-items:center;
  color:rgba(245,245,245,.92);
  text-decoration:none;
}
.topIcon svg{width:18px;height:18px;fill:currentColor}
.topCta{
  height:36px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(183,154,90,.26);
  background:rgba(183,154,90,.18);
  color:rgba(245,245,245,.92);
  font-weight:900;
  letter-spacing:.06em;
  cursor:pointer;
}
.topCta:active{transform:scale(.98);opacity:.9}

.right{display:flex;gap:10px;align-items:center}
.icon{
  width:36px;height:36px;border-radius:999px;
  border:1px solid rgba(245,245,245,.10);
  background:rgba(0,0,0,.12);
  display:grid;place-items:center;
  color:rgba(245,245,245,.92);
  text-decoration:none;
}
.icon svg{width:18px;height:18px;fill:currentColor}
.icon:hover{background:rgba(245,245,245,.08)}
.icon:active{transform:scale(.98)}
.btnIcon{cursor:pointer}



/* ==== css/layout.css ==== */
/* ===== Hero ===== */
.hero{
  min-height:100svh;
  display:flex;
  justify-content:center;
  align-items:flex-end;
  position:relative;
  padding-top:64px;
  overflow:hidden;
}
.heroImg{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;
  object-position:50% 18%;
  z-index:0;
}
.heroShade{
  position:absolute;inset:0;
  background:radial-gradient(ellipse at center, rgba(0,0,0,.16), rgba(0,0,0,.62));
  pointer-events:none;
  z-index:1;
}
/* Apple-like bottom fade */
.hero::after{
  content:"";
  position:absolute;left:0;right:0;bottom:0;
  height:58svh;
  background:linear-gradient(to top, rgba(0,0,0,.78), rgba(0,0,0,.20) 40%, rgba(0,0,0,0) 78%);
  pointer-events:none;
  z-index:1;
}

.center{
  transform: translateY(-9svh);
position:relative;
  z-index:2;
  width:min(720px,92%);
  text-align:center;
  display:flex;flex-direction:column;align-items:center;
  padding:16px 10px calc(18px + env(safe-area-inset-bottom)); /* room for footer */
}

h1{
  margin:0 0 14px;
  font-size:clamp(30px,5vw,44px);
  font-weight:650;
  letter-spacing:-.6px;
}

.heroSub{
  margin:0 auto 18px;
  max-width:520px;
  font-size:clamp(15px,2.6vw,18px);
  line-height:1.35;
  color:rgba(245,245,245,.86);
  text-shadow:0 10px 30px rgba(0,0,0,.55);
}

/* ===== Search ===== */
.search{
  display:flex;align-items:center;gap:10px;
  padding:10px 10px 10px 14px;
  max-width:560px;
  margin:0 auto;
  border-radius:999px;
  border:1px solid rgba(245,245,245,.18);
  background:rgba(12,12,13,.32);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  box-shadow:
    0 18px 50px rgba(0,0,0,.45),
    0 2px 0 rgba(255,255,255,.04) inset;
  transition:box-shadow .18s ease,border-color .18s ease,background .18s ease;
}
.search input{
  flex:1;
  background:transparent;border:none;outline:none;
  color:rgba(245,245,245,.94);
  font-size:16px;
}
.search input::placeholder{color:rgba(245,245,245,.55)}
.search button{
  width:44px;height:44px;border-radius:999px;
  border:1px solid rgba(183,154,90,.28);
  background:rgba(183,154,90,.92);
  color:#111;font-weight:900;cursor:pointer;
  box-shadow:0 10px 26px rgba(0,0,0,.35);
}
.search:focus-within{
  border-color:rgba(245,245,245,.28);
  background:rgba(12,12,13,.42);
  box-shadow:
    0 26px 70px rgba(0,0,0,.55),
    0 0 0 6px rgba(183,154,90,.10),
    0 2px 0 rgba(255,255,255,.05) inset;
}
@media (prefers-reduced-motion: reduce){
  .search{transition:none}
}

/* Under buttons */
.under{margin-top:14px;display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap}
.ghost{
  border:1px solid rgba(245,245,245,.18);
  background:rgba(0,0,0,.12);
  color:rgba(245,245,245,.92);
  border-radius:999px;
  padding:10px 14px;
  cursor:pointer;
}
.ghost.small{padding:8px 12px;font-size:12px}
.sep{opacity:.6}

/* ===== Footer ===== */
.footer{
  position:fixed;left:0;right:0;bottom:0;
  padding:8px 14px calc(10px + env(safe-area-inset-bottom));
  z-index:40;
  display:flex;flex-direction:column;align-items:center;gap:4px;
  pointer-events:none;
}
.footLine{
  font-size:13px;
  color:rgba(245,245,245,.80);
  text-shadow:0 10px 30px rgba(0,0,0,.55);
}
.footMini{
  font-size:12px;color:rgba(245,245,245,.55);
  display:flex;gap:10px;flex-wrap:wrap;justify-content:center;
}
.dot{opacity:.6}
.footLink{color:rgba(245,245,245,.68);text-decoration:none;pointer-events:auto}
.footLink:hover{opacity:.9}



/* ==== css/chat.css ==== */
/* ===== Overlays: panels over hero (keep Oskar visible) ===== */
.overlay{
  position:fixed;inset:0;z-index:50;
  background:rgba(0,0,0,.26);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  display:grid;
  place-items:end center;
  padding:10px 0;
}
.overlay[hidden]{display:none !important}

/* Fullscreen chat (only when opened from header pencil) */
.overlay.fullscreen{
  place-items:stretch;
  padding:0;
  background:rgba(0,0,0,.34);
}
.overlay.fullscreen .panel{
  width:100%;
  height:100dvh;
  max-height:none !important;
  border-radius:0;
  margin:0;
}
.overlay.fullscreen .chatPanel{
  max-height:none !important;
}
.overlay.fullscreen .chatTop{
  padding-top:env(safe-area-inset-top);
}


.panel{
  width:min(760px,94%);
  margin-bottom:env(safe-area-inset-bottom);
  border-radius:22px 22px 0 0;
  border:1px solid rgba(245,245,245,.10);
  background:rgba(12,12,13,.62);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  box-shadow:0 28px 80px rgba(0,0,0,.55);
  overflow:hidden;
  transform:none;
  animation:panelIn .18s ease-out both;
}
@keyframes panelIn{from{transform:translateY(90px);opacity:0}to{transform:none;opacity:1}}
@media (prefers-reduced-motion: reduce){.panel{animation:none}}

.chatPanel{max-height:min(calc(100dvh - 64px - 34px),780px);display:flex;flex-direction:column}
.testPanel{max-height:min(calc(100dvh - 64px - 34px),740px);display:flex;flex-direction:column}

/* Chat inside panel */
/* Chat header: grid to prevent icon overlap on small screens */
.chatTop{
  height:60px;
  display:grid;
  grid-template-columns:44px 1fr auto;
  align-items:center;
  gap:10px;
  padding:0 10px;
  border-bottom:1px solid rgba(245,245,245,.10);
  background:rgba(0,0,0,.18);
}
.chatTop > .topBtn{ grid-column:1; }
.chatTitle{
  grid-column:2;
  font-weight:900;
  text-align:center;
  line-height:1.2;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  padding:0 6px;
}
.chatHeaderRight{ grid-column:3; display:flex; align-items:center; justify-content:flex-end; gap:12px; }
@media (max-width: 420px){
  /* Keep shortcuts visible on mobile; tighten spacing instead */
  .chatHeaderRight{ gap:8px; }
  .chatHeaderRight .actionIcon{ width:36px; height:36px; border-radius:12px; }
  .chatHeaderRight .actionIcon svg{ width:18px; height:18px; }
  .chatTitle{ padding:0 4px; }
}
.topBtn{
  width:44px;height:44px;border-radius:14px;
  border:1px solid rgba(245,245,245,.10);
  background:rgba(0,0,0,.12);
  color:rgba(245,245,245,.92);
  cursor:pointer;
  justify-self:center;
}
.chatTitle{font-weight:900;justify-self:center}
.chatBody{flex:1;overflow:auto;padding:14px 14px calc(170px + env(safe-area-inset-bottom, 0px))}
.msg{display:flex;flex-direction:column;align-items:flex-start;margin:10px 0}
.msg.me{align-items:flex-end}
.bubble{
  max-width:86%;
  padding:8px 10px;
  border-radius:16px;
  border:1px solid rgba(245,245,245,.12);
  background:rgba(0,0,0,.12);
  color:rgba(245,245,245,.92);
  font-size:14px;line-height:1.32;
  white-space:pre-wrap;
}

.msgActions{
  margin-top:6px;
  display:flex;
  gap:10px;
  align-items:center;
  opacity:.86;
}
.msgActions{align-self:flex-start}
.msg.me .msgActions{align-self:flex-end}
.followUps{align-self:flex-start}
.msg.me .followUps{align-self:flex-end}

.msgActions .actBtn{
  width:28px;height:28px;
  border-radius:12px;
  border:1px solid rgba(245,245,245,.08);
  background:rgba(255,255,255,.03);
  color:rgba(245,245,245,.74);
  display:grid;
  place-items:center;
  cursor:pointer;
}
.msgActions .actBtn svg{width:16px;height:16px;}
.msgActions .actBtn{opacity:.6;}
.msgActions .actBtn:hover{opacity:1;}
.msgActions .actBtn:hover{background:rgba(255,255,255,.06);}

.msgActions .actBtn:active{transform:translateY(1px);}
.actionMenu{
  position:fixed;
  right:0;
  top:28px;
  margin-top:0;
  margin-top:6px;
  min-width:180px;
  max-width:min(220px, calc(100vw - 20px));
  padding:8px;
  border-radius:14px;
  border:1px solid rgba(245,245,245,.16);
  background:rgba(18,18,20,.96);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow:0 22px 80px rgba(0,0,0,.70);
  z-index:50;
}

/* ===== Premium paywall (inline in chat) ===== */
.bubble.lockedAnswer{ position:relative; overflow:hidden; }
.bubble.lockedAnswer .lockedFade{
  position:absolute;
  left:0; right:0; bottom:0;
  height:56px;
  pointer-events:none;
  background: linear-gradient(to bottom, rgba(11,11,12,0), rgba(11,11,12,.92));
}

.bubble.paywallMessage{ background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.10); }

.premiumStatus{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 10px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
}
.premiumStatusMain{
  min-width:0;
  display:flex;
  align-items:center;
  gap:10px;
}
.premiumStatusText{ min-width:0; }
.premiumStatusTitle{
  font-size:13px;
  font-weight:700;
  letter-spacing:.01em;
}
.premiumStatusSub{
  margin-top:2px;
  font-size:11.5px;
  line-height:1.25;
  color:rgba(245,245,245,.66);
}
.statusDot{
  width:9px;
  height:9px;
  border-radius:999px;
  background:rgba(245,245,245,.34);
  box-shadow:0 0 0 4px rgba(255,255,255,.03);
  flex:0 0 auto;
}
.premiumStatus.premium{
  border-color:rgba(183,154,90,.28);
  background:rgba(183,154,90,.08);
}
.premiumStatus.premium .statusDot{
  background:rgba(183,154,90,.98);
  box-shadow:0 0 0 4px rgba(183,154,90,.14);
}
.statusCTA{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  border-radius:999px;
  padding:8px 12px;
  background:rgba(183,154,90,.16);
  color:rgba(183,154,90,.98);
  font:inherit;
  font-size:12.5px;
  font-weight:700;
  cursor:pointer;
  white-space:nowrap;
}
.statusCTA:hover{ opacity:.9; }
.statusCTA:active{ transform:translateY(1px); }

.paywallBox{
  background: rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:18px;
  padding:18px;
}
.paywallTitle{
  color:#C6A66A;
  font-weight:700;
  font-size:17px;
}
.paywallList{
  margin:10px 0 14px;
  padding-left:18px;
}
.paywallList li{
  margin:5px 0;
  line-height:1.35;
}
.paywallBtnMain{ color:#fff; }
.paywallBtnSub{ color:rgba(255,255,255,.8); }

.paywallBox{ display:flex; flex-direction:column; gap:10px; }
.paywallTitle{ font-weight:650; letter-spacing:0.01em; }
.paywallList{ margin:0; padding-left:18px; opacity:0.92; }
.paywallList li{ margin:4px 0; }
.paywallBtn{
  width:100%;
  border-radius:14px;
  border:1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.07);
  padding:12px 12px;
  text-align:left;
}
.paywallBtn:active{ transform: scale(0.99); }
.paywallBtnMain{ font-weight:700; }
.paywallBtnSub{ font-size:13px; opacity:0.8; margin-top:2px; }
.paywallAlt{ font-size:13px; opacity:0.82; }
.paywallAlt .inlineLink{ font-size:13px; }

/* Paywall inline "Mam kod" link should look on-brand (avoid default blue styles) */
.inlineLink{
  appearance:none;
  -webkit-appearance:none;
  background:transparent;
  border:0;
  padding:0;
  margin:0;
  color: rgba(183,154,90,.95);
  font-weight:650;
  cursor:pointer;
  text-decoration:none;
}
.inlineLink:hover{ opacity:0.85; }
.inlineLink:active{ transform:translateY(1px); }
.actionMenu button{
  width:100%;
  text-align:left;
  padding:10px 10px;
  border-radius:12px;
  border:0;
  background:transparent;
  color:rgba(245,245,245,.92);
  cursor:pointer;
}
.actionMenu button:hover{background:rgba(255,255,255,.06);}
.actionMenu .sep{height:1px;background:rgba(245,245,245,.10);margin:6px 0;}
.actionMenu{opacity:0;transform:translate3d(0,-6px,0) scale(.96);transform-origin:top right;transition:opacity .16s ease, transform .18s cubic-bezier(.2,.8,.2,1);will-change:transform,opacity;}
.actionMenu.isVisible{opacity:1;transform:translate3d(0,0,0) scale(1);}
.actionMenu.openUp{transform-origin:bottom right;transform:translate3d(0,6px,0) scale(.96);}
.actionMenu.anchorLeft{transform-origin:top left;}
.actionMenu.openUp.anchorLeft{transform-origin:bottom left;}
.actionMenu.anchorRight{transform-origin:top right;}

/* Onboarding text inside first message (reduce huge gaps on mobile) */
.onbText{display:flex;flex-direction:column;gap:8px;margin-top:8px;}
.onbText > div{margin:0;}
.onbText .onbNote{opacity:.9;}
.onbText .onbLegal{opacity:.85;font-size:13px;line-height:1.35;}

.msg.me .bubble{background:rgba(183,154,90,.14);border-color:rgba(183,154,90,.24)}

/* Typing indicator (Messenger/Apple-ish) */
.typingDots{display:inline-flex; gap:6px; align-items:center; height:12px}
.typingDots span{width:6px; height:6px; border-radius:999px; background:rgba(245,245,245,.72); display:inline-block; animation: typingBounce 1.1s infinite ease-in-out}
.typingDots span:nth-child(2){animation-delay:.15s}
.typingDots span:nth-child(3){animation-delay:.3s}
@keyframes typingBounce{0%,80%,100%{transform:translateY(0); opacity:.95} 40%{transform:translateY(-4px); opacity:1}}
.chipsRow{display:flex;gap:10px;flex-wrap:nowrap;margin:10px 0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-left:14px}
.chipsRow[hidden]{display:none !important}
.chipsRow::-webkit-scrollbar{display:none}
.chipsRow > .chip{flex:0 0 auto; white-space:nowrap;}

/* Mobile: chips przewijane poziomo (jak w komunikatorach) */
@media (max-width: 520px){
  .chipsRow{flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch;}
  .chipsRow > .chip{white-space:nowrap;}
  .row{flex-wrap:wrap;}
  .row .btn{flex:1 1 auto; min-width:140px;}
}

.chipsRow > .chip{white-space:nowrap;}
  .row{flex-wrap:wrap;}
  .row .btn{flex:1 1 auto; min-width:140px;}
}

/* subtle swipe cue */
.chipsRow{padding-right:18px; mask-image:linear-gradient(to right, transparent 0, #000 14px, #000 calc(100% - 26px), transparent 100%); -webkit-mask-image:linear-gradient(to right, transparent 0, #000 14px, #000 calc(100% - 26px), transparent 100%);}

.chip{
  border:1px solid rgba(245,245,245,.18);
  background:rgba(0,0,0,.12);
  color:rgba(245,245,245,.92);
  border-radius:999px;
  padding:9px 12px;
  font-size:13px;
  cursor:pointer;
  text-decoration:none;
  display:inline-flex;align-items:center;gap:8px;
}
.chip.gold{
  background:rgba(183,154,90,.92);
  border-color:rgba(183,154,90,.28);
  color:#111;font-weight:900;
}
.chatComposer{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:10px 10px calc(10px + env(safe-area-inset-bottom));
  border-top:1px solid rgba(245,245,245,.10);
  background:rgba(0,0,0,.18);
}

.chatQuick{
  margin-top:2px;
}
.chatQuick .chipsRow{
  margin:2px 0 0;
  padding-left:0;
}
.chatQuick .quickPanel{
  margin:8px 0 0;
}
.chatQuick #quickCustom{
  font-size:16px; /* iOS: no zoom */
}

.composerRow{
  width:100%;
  display:flex;
  align-items:center;
  gap:0;
}

/* Unified input pill (ChatGPT-like) */
.composerPill{
  width:100%;
  display:flex;
  align-items:center;
  gap:6px;
  padding:6px;
  border-radius:18px;
  border:1px solid rgba(245,245,245,.10);
  background:rgba(0,0,0,.14);
  box-shadow:0 10px 30px rgba(0,0,0,.28);
}
.composerPill .moreBtn,
.composerPill .mic,
.composerPill .send{
  width:40px;height:40px;
  border-radius:14px;
  border:1px solid rgba(245,245,245,.08);
  background:rgba(255,255,255,.04);
  color:rgba(245,245,245,.90);
  display:grid;
  place-items:center;
}
.composerPill .moreBtn{font-size:20px;}
.composerPill .mic svg{width:20px;height:20px;}
.composerPill .send{
  border-color:rgba(183,154,90,.28);
  background:rgba(183,154,90,.20);
}
.composerPill .send:active,
.composerPill .mic:active,
.composerPill .moreBtn:active{transform:translateY(1px);}

.composerPill textarea{
  padding:10px 8px;
}

.mic.listening{
  border-color:rgba(183,154,90,.38);
  background:rgba(183,154,90,.26);
  box-shadow:0 0 0 6px rgba(183,154,90,.10);
}

.moreBtn{
  width:44px;height:44px;border-radius:16px;
  border:1px solid rgba(245,245,245,.10);
  background:rgba(0,0,0,.12);
  color:rgba(245,245,245,.92);
  cursor:pointer;
  font-size:22px;
  line-height:1;
  display:grid;
  place-items:center;
}
.plus,.send{
  width:44px;height:44px;border-radius:16px;
  border:1px solid rgba(245,245,245,.10);
  background:rgba(0,0,0,.12);
  color:rgba(245,245,245,.92);
  cursor:pointer;
}
.send{border-color:rgba(183,154,90,.26);background:rgba(183,154,90,.18)}

/* Dictation button (styled like the rest of the theme — no emoji look) */
.mic{
  width:44px;height:44px;border-radius:16px;
  border:1px solid rgba(245,245,245,.10);
  background:rgba(0,0,0,.12);
  color:rgba(245,245,245,.86);
  cursor:pointer;
  display:grid;
  place-items:center;
}
.mic svg{width:20px;height:20px;opacity:.95}
.mic:hover{background:rgba(245,245,245,.06)}
.mic.isListening{
  border-color:rgba(183,154,90,.40);
  background:rgba(183,154,90,.14);
  color:rgba(245,245,245,.92);
  box-shadow:0 0 0 6px rgba(183,154,90,.10);
}
.chatComposer textarea{
  flex:1;
  min-height:44px;
  max-height:160px;
  border-radius:0;
  border:0;
  background:transparent;
  color:rgba(245,245,245,.92);
  padding:10px 8px;
  outline:none;
  font-size:16px; /* iOS: prevents focus-zoom */
  line-height:1.25;
  resize:none;
  overflow:hidden; /* JS switches to auto when reaching max-height */
  -webkit-appearance:none;
}

/* Mobile iOS zoom guard (Safari zooms inputs < 16px) */
@media (max-width:768px){
  input, textarea{ font-size:16px; }
}

/* Test panel */
.testTop{
  height:60px;
  display:grid;grid-template-columns:auto 1fr auto auto;
  align-items:center;gap:12px;
  padding:0 12px;
  border-bottom:1px solid rgba(245,245,245,.10);
  background:rgba(0,0,0,.18);
}
.prog{font-size:12px;color:rgba(245,245,245,.66);min-width:44px}
.bar{height:6px;border-radius:999px;background:rgba(245,245,245,.10);overflow:hidden}
.barFill{height:100%;width:0%;background:rgba(183,154,90,.92)}
.testWrap{padding:18px 14px calc(18px + env(safe-area-inset-bottom))}
.question{font-size:26px;font-weight:900;letter-spacing:-.4px;margin:16px 0 14px}
.answers{display:grid;gap:12px}
.answer{
  position:relative;
  padding:16px 56px 16px 16px;
  border-radius:18px;
  border:1px solid rgba(245,245,245,.10);
  background:rgba(245,245,245,.04);
  color:rgba(245,245,245,.94);
  cursor:pointer;
  text-align:left;
  font-size:16px;
}
.answer:hover{background:rgba(245,245,245,.06)}
.circle{
  position:absolute;right:16px;top:50%;transform:translateY(-50%);
  width:22px;height:22px;border-radius:999px;
  border:2px solid rgba(245,245,245,.34);
}
.answer.sel .circle{border-color:rgba(183,154,90,.90);box-shadow:0 0 0 7px rgba(183,154,90,.12)}
.answer.sel .circle:after{content:"";position:absolute;inset:5px;border-radius:999px;background:rgba(183,154,90,.95)}



/* ==== css/modals.css ==== */
/* ===== Menu sheet ===== */
.sheetBack{
  position:fixed;inset:0;z-index:60;
  background:rgba(0,0,0,.30);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  display:grid;place-items:end center;
  padding:10px 0;
}
.sheetBack[hidden]{display:none !important}
.sheet{
  width:min(720px,92%);
  background:rgba(12,12,13,.84);
  border:1px solid rgba(245,245,245,.10);
  border-radius:18px 18px 0 0;
  padding:14px 14px 18px;
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
}
.sheetTop{display:flex;justify-content:space-between;align-items:center}
.sheetTitle{font-weight:950}
.sheetGroup{display:grid;gap:10px;margin-top:12px; max-height: calc(100svh - 150px); overflow:auto; padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 10px); -webkit-overflow-scrolling: touch;}
.item{
  display:block;
  padding:14px;
  border-radius:14px;
  border:1px solid rgba(245,245,245,.12);
  background:rgba(245,245,245,.04);
  color:rgba(245,245,245,.92);
  text-decoration:none;
  text-align:left;
}
.item:hover{background:rgba(245,245,245,.055);border-color:rgba(245,245,245,.16)}
.item.primary{background:rgba(245,245,245,.06);border-color:rgba(245,245,245,.16);font-weight:900}
.item.danger{color:#ff4d57;border-color:rgba(255,77,87,.22)}
.item.danger:hover{background:rgba(255,77,87,.08);border-color:rgba(255,77,87,.26)}
.item.itemNav{display:flex;align-items:center;justify-content:space-between;gap:12px}
.itemLeft{display:flex;align-items:center;gap:10px;min-width:0}
.itemLeft span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.itemIcon{width:18px;height:18px;flex:0 0 18px;opacity:.92}
.itemRight{width:18px;height:18px;flex:0 0 18px;opacity:.95;display:flex;align-items:center;justify-content:center;font-size:20px;line-height:1}
.sheetFoot{margin-top:14px;display:flex;justify-content:center;gap:10px;flex-wrap:wrap;color:rgba(245,245,245,.72);font-size:13px}
.footlink{color:rgba(245,245,245,.80);text-decoration:none}
button.footlink{background:transparent;border:0;padding:0;font:inherit;cursor:pointer}
button.footlink:focus-visible{outline:2px solid rgba(255,255,255,.45);outline-offset:3px;border-radius:10px}

/* Ensure sheet items look the same for <a> and <button> */
button.item{
  appearance:none;
  -webkit-appearance:none;
  background: rgba(245,245,245,.04);
  border: 1px solid rgba(245,245,245,.12);
  width: 100%;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

button.item.primary{background:rgba(245,245,245,.06);border-color:rgba(245,245,245,.16);font-weight:900}

/* ===== Result modal ===== */
.modalBack{
  position:fixed;inset:0;z-index:70;
  background:rgba(0,0,0,.28);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  display:grid;place-items:center;
}
.modalBack[hidden]{display:none !important}
.modalCard{
  width:min(640px,92%);
  background:rgba(12,12,13,.72);
  border:1px solid rgba(245,245,245,.10);
  border-radius:18px;
  padding:16px;
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  box-shadow:0 28px 90px rgba(0,0,0,.55);
  max-height:calc(100dvh - 64px - 20px);overflow:auto;overflow-x:hidden;word-break:break-word;overflow-wrap:anywhere;
}
.shareCard{
  background:rgba(0,0,0,.22);
  border:1px solid rgba(245,245,245,.12);
  border-radius:16px;
  padding:14px;
  text-align:center;
}
.shareTop{font-size:12px;color:rgba(245,245,245,.62)}
.shareName{font-size:20px;font-weight:950;margin-top:4px;letter-spacing:-.2px}
.shareQuote{font-size:13px;color:rgba(245,245,245,.72);margin-top:6px;line-height:1.35}
.shareBrand{font-size:11px;color:rgba(245,245,245,.45);margin-top:10px;text-transform:uppercase;letter-spacing:.18em}
.mini{margin-top:12px;margin-bottom:10px;border:1px solid rgba(245,245,245,.10);background:rgba(245,245,245,.04);border-radius:14px;padding:12px}
.miniTitle{font-size:12px;color:rgba(245,245,245,.70);margin-bottom:6px}
.miniList{margin:0;padding-left:18px;color:rgba(245,245,245,.82);font-size:13px;line-height:1.5}
.btn{
  border:1px solid rgba(245,245,245,.10);
  background:rgba(0,0,0,.12);
  color:rgba(245,245,245,.92);
  border-radius:14px;
  padding:12px 12px;
  cursor:pointer;
  text-decoration:none;
  display:inline-flex;align-items:center;justify-content:center;
}
.btn.gold{
  border-color:rgba(183,154,90,.26);
  background:rgba(183,154,90,.92);
  color:#111;font-weight:950;
}
.btn.ghost{
  background: rgba(245,245,245,.04);
  border-color: rgba(245,245,245,.12);
  color: rgba(245,245,245,.82);
}
.row{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.row .btn{flex:1 1 210px}

/* About modal */
.aboutTop{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.aboutTitle{font-size:14px;font-weight:950;letter-spacing:-.2px;opacity:.92}
.aboutBody{padding-top:2px}
.aboutRow{display:flex;align-items:center;gap:12px}
.aboutAvatar{width:64px;height:64px;border-radius:18px;object-fit:cover;object-position:50% 18%;border:1px solid rgba(245,245,245,.14);background:rgba(245,245,245,.04)}
.aboutName{font-weight:950;letter-spacing:-.2px}
.aboutSub{margin-top:3px;font-size:12px;color:rgba(245,245,245,.62)}
.aboutText{margin:12px 0 0;font-size:13px;color:rgba(245,245,245,.74);line-height:1.45}


/* Intro card inside chat */
.bubble.intro{
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
}
.introTop{ font-weight:900; margin-bottom:6px; }
.introMini{ color: rgba(245,245,245,.78); font-size:13px; line-height:1.45; }
.introToggle{
  margin-top:10px;
  display:inline-flex;
  gap:8px;
  align-items:center;
  padding:10px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.10);
  color:rgba(245,245,245,.90);
  cursor:pointer;
  font-weight:850;
  font-size:12px;
}
.introMore{
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid rgba(255,255,255,.10);
  color: rgba(245,245,245,.74);
  font-size:13px;
  line-height:1.5;
}
.introMore[hidden]{ display:none !important; }

/* Notes modal */
.notesBody{ padding-top:6px; }
.notesHint{ font-size:12px; color:rgba(245,245,245,.62); line-height:1.4; }
.notesTools{ display:flex; gap:10px; align-items:center; margin-top:10px; }
.notesSearch{
  flex:1;
  height:40px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  color:rgba(245,245,245,.92);
  padding:0 12px;
  outline:none;
  font-size:14px;
}
.notesFilter{
  width:40px;height:40px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.10);
  color:rgba(245,245,245,.92);
  cursor:pointer;
  display:grid;place-items:center;
}
.notesFilter[aria-pressed="true"]{ background:rgba(183,154,90,.16); border-color:rgba(183,154,90,.30); }
.notesInput{
  width:100%;
  margin-top:10px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  color:rgba(245,245,245,.92);
  padding:12px;
  outline:none;
  resize:vertical;
}
.notesActions{ display:flex; gap:10px; flex-wrap:wrap; margin-top:10px; }
.notesActions .btn{ flex:1 1 160px; }
.notesList{ margin-top:12px; display:grid; gap:10px; }
.noteCard{
  border-radius:16px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.03);
  padding:12px;
}
.noteMeta{ font-size:12px; color:rgba(245,245,245,.58); display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap; }
.noteText{ margin-top:8px; color:rgba(245,245,245,.90); font-size:14px; line-height:1.55; white-space:pre-wrap; }
.noteBtns{ margin-top:10px; display:flex; gap:10px; }
.noteBtn{
  flex:1;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.10);
  color:rgba(245,245,245,.92);
  cursor:pointer;
  font-weight:850;
  font-size:12px;
}
.noteBtn.danger{ border-color:rgba(255,255,255,.10); background:rgba(255,255,255,.04); color:rgba(245,245,245,.80); }

@media (max-width:420px){
  .right{gap:8px}
  .icon{width:34px;height:34px}
}

input,textarea,select{font-size:16px}

#resPrimary{margin-top:12px}

.micro{margin:12px 0 0;font-size:14px;color:rgba(245,245,245,.72);text-shadow:0 10px 30px rgba(0,0,0,.55)}
.micro2{margin:6px 0 0;font-size:13px;color:rgba(245,245,245,.60)}

.testNav{
  display:flex;
  gap:10px;
  padding:12px 14px calc(14px + env(safe-area-inset-bottom));
  border-top:1px solid rgba(245,245,245,.10);
  background:rgba(0,0,0,.18);
}
.navBtn{
  flex:1;
  height:46px;
  border-radius:14px;
  border:1px solid rgba(245,245,245,.14);
  background:rgba(245,245,245,.05);
  color:rgba(245,245,245,.92);
  font-weight:800;
  cursor:pointer;
}
.navBtn:disabled{opacity:.45;cursor:not-allowed}
.navBtn.gold{
  border-color:rgba(183,154,90,.26);
  background:rgba(183,154,90,.92);
  color:#111;
}

.btnWide{width:100%}

.ctaHint{margin:12px 0 10px;font-size:13px;color:rgba(245,245,245,.72);line-height:1.35}

#resPrimary{margin-top:10px}

@media (max-height:720px){.center{transform:translateY(-6svh)}}

.analyze{
  position:sticky;
  top:0;
  margin:10px 14px 0;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(245,245,245,.14);
  background:rgba(245,245,245,.05);
  color:rgba(245,245,245,.82);
  font-weight:800;
  letter-spacing:.2px;
  display:flex;
  align-items:center;
  gap:10px;
  justify-content:center;
}
.analyze::after{
  content:"";
  width:14px;height:14px;
  border-radius:999px;
  border:2px solid rgba(245,245,245,.35);
  border-top-color:rgba(183,154,90,.95);
  animation:spin .5s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg)}}

.analyze[hidden]{display:none !important}

/* Analyze micro-animation: 0.9s (0.2 in, 0.5 hold, 0.2 out) */
.analyze{opacity:0; transform:translateY(4px);}
.analyze.run{
  animation:anRun .9s ease-in-out both;
}
@keyframes anRun{
  0%{opacity:0; transform:translateY(6px);}
  22%{opacity:1; transform:translateY(0px);}   /* ~0.2s */
  78%{opacity:1; transform:translateY(0px);}   /* ~0.7s */
  100%{opacity:0; transform:translateY(-2px);} /* ~0.9s */
}
@media (prefers-reduced-motion: reduce){
  .analyze.run{animation:none;opacity:1;transform:none}
}

.social{display:flex;gap:10px;align-items:center}
.soc{
  width:38px;height:38px;border-radius:999px;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.06);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  color:rgba(245,245,245,.92);
  text-decoration:none;
}
.soc span{font-weight:800;font-size:13px;opacity:.9}

.chatHelpBtn{
  margin-left:auto;
  width:42px;height:42px;border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.06);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  box-shadow: 0 10px 26px rgba(0,0,0,.35);
  color:rgba(245,245,245,.92);
  font-weight:950;
  cursor:pointer;
  display:grid;place-items:center;
}



/* Mini dock (chat) – iOS-like quick actions */
.miniDock{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 10px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.03);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
.dockBtn{
  flex:1 1 0;
  min-width:0;
  height:40px;
  padding:0 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
  color:rgba(255,255,255,.94);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  cursor:pointer;
  line-height:1;
}
.dockBtn svg{ width:18px;height:18px; display:block; opacity:.92; flex:0 0 auto;}
.dockLbl{
  font-size:12px;
  font-weight:800;
  letter-spacing:.02em;
  opacity:.92;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.dockBtn:active{ transform:scale(.99); opacity:.88; }
.dockBtn--more{ background:rgba(255,255,255,.05); }

@media (max-width:420px){
  .miniDock{ padding:8px 8px; gap:8px; }
  .dockBtn{ height:38px; padding:0 10px; }
  .dockLbl{ font-size:11px; }
}

/* iOS-like sheet (Więcej) */
.sheetBack{
  position:fixed;inset:0;z-index:12010;
  background:rgba(0,0,0,.30);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  display:grid;place-items:end center;
  padding:10px 0;
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease;
}
.sheetBack[hidden]{display:none !important}
.sheetBack.isOpen{opacity:1;pointer-events:auto;}
.sheet{
  width:min(520px,92%);
  background:rgba(12,12,13,.84);
  border:1px solid rgba(245,245,245,.10);
  border-radius:18px 18px 0 0;
  padding:14px 14px 18px;
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  box-shadow:0 30px 90px rgba(0,0,0,.60);
  transform:translateY(18px);
  transition:transform .22s ease;
  max-height: calc(100svh - 24px);
  overflow: hidden;
}
.sheetBack.isOpen .sheet{transform:translateY(0);}
.sheetGrab{width:44px;height:5px;border-radius:999px;margin:2px auto 10px;background:rgba(245,245,245,.22)}
.sheetTop{display:flex;justify-content:space-between;align-items:center}
.sheetTitle{font-weight:950;opacity:.92}
.sheetGroup{display:grid;gap:10px;margin-top:12px; max-height: calc(100svh - 150px); overflow:auto; padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 10px); -webkit-overflow-scrolling: touch;}
.item{
  display:block;
  width:100%;
  padding:14px;
  border-radius:14px;
  border:1px solid rgba(245,245,245,.12);
  background:rgba(245,245,245,.04);
  color:rgba(245,245,245,.92);
  text-decoration:none;
  text-align:left;
  font-weight:800;
  font-family: inherit;
  font-size:14px;
  line-height:1.2;
  appearance:none;
}
.item.primary{background:rgba(245,245,245,.06);border-color:rgba(245,245,245,.16);font-weight:950}
.item:active{opacity:.82}

/* Toolbox (only used inside chat modal) */
#toolboxSheet{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.22);
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  padding:16px;
  z-index:9999;
}
#toolboxSheet[hidden]{display:none !important}
.toolboxCard{
  width:min(320px, 86vw);
  border-radius:18px;
  padding:14px 16px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(18,18,20,.78);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  box-shadow:0 24px 70px rgba(0,0,0,.55);
}
.toolboxTitle{
  font-size:12px;
  letter-spacing:.2px;
  opacity:.72;
  margin-bottom:10px;
  font-weight:800;
}
.toolboxCard .tool{
  width:100%;
  text-align:left;
  border:0;
  background:transparent;
  color:rgba(245,245,245,.94);
  padding:12px 0;
  font-size:15px;
  border-top:1px solid rgba(255,255,255,.08);
}
.toolboxCard .tool:first-of-type{border-top:0}
.toolboxCard .tool:active{opacity:.6}

a{color:inherit}



/* ==== css/components.css ==== */
/* Apple-style modal */
.overlay{position:fixed; inset:0; display:flex; align-items:center; justify-content:center; background:rgba(0,0,0,.25); z-index:9998}
.overlay[hidden]{display:none !important}

/* Fullscreen chat (only when opened from header pencil) */
.overlay.fullscreen{
  place-items:stretch;
  padding:0;
  background:rgba(0,0,0,.34);
}
.overlay.fullscreen .panel{
  width:100%;
  height:100dvh;
  max-height:none !important;
  border-radius:0;
  margin:0;
}
.overlay.fullscreen .chatPanel{
  max-height:none !important;
}
.overlay.fullscreen .chatTop{
  padding-top:env(safe-area-inset-top);
}


/* Ensure service modals appear ABOVE chat overlay */
.modalBack{ z-index: 12020 !important; }
.sheetBack{ z-index: 12010 !important; }
.modal.appleModal{
  width:min(520px, 92vw);
  border-radius:22px;
  padding:18px 18px 16px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(18,18,20,.78);
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(22px);
  box-shadow: 0 30px 90px rgba(0,0,0,.6);
}
.modalClose{
  position:absolute; right:12px; top:12px;
  width:40px; height:40px; border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  color:rgba(255,255,255,.9);
  font-size:22px; line-height:38px;
}
.bioHead{display:flex; gap:12px; align-items:center; margin-top:8px}
.bioAvatar{width:56px;height:56px;border-radius:999px; object-fit:cover; border:1px solid rgba(255,255,255,.16)}
.bioName{font-weight:900; font-size:18px}
.bioTag{opacity:.7; font-size:13px; margin-top:2px}
.bioCopy{margin-top:14px; font-size:15px; line-height:1.35; opacity:.92}
.bioActions{display:flex; flex-direction:column; gap:10px; margin-top:16px}
.btnPrimary{
  width:100%; border:0; border-radius:16px;
  padding:14px 14px;
  background:rgba(190,160,90,.95);
  color:#111; font-weight:900; font-size:16px;
}
.btnPrimary:active{transform:scale(.99); opacity:.92}
.btnGhost{
  width:100%; border-radius:16px;
  padding:14px 14px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  color:rgba(255,255,255,.92);
  font-weight:800; font-size:15px;
}
.btnGhost:active{opacity:.7}

.social{max-width:62vw; overflow-x:auto; scrollbar-width:none}
.social::-webkit-scrollbar{display:none}

#toolboxBtn{
  width:44px; height:44px; border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  color:rgba(255,255,255,.92);
  font-size:22px; font-weight:900;
}

#toolboxBtn{
  width:44px;height:44px;border-radius:14px;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  color:rgba(255,255,255,.92);
  font-size:22px;font-weight:900;
}

/* v30: keep chat/test sheets docked to bottom (iOS) */
.overlay {
  align-items: flex-end !important;
}
.chatModal, .appleChatModal, .chatSheet, .modal.chat {
  margin: 0 auto env(safe-area-inset-bottom, 0) auto !important;
}
/* ensure modal doesn't float center */
.overlay[hidden]{display:none !important}

/* Fullscreen chat (only when opened from header pencil) */
.overlay.fullscreen{
  place-items:stretch;
  padding:0;
  background:rgba(0,0,0,.34);
}
.overlay.fullscreen .panel{
  width:100%;
  height:100dvh;
  max-height:none !important;
  border-radius:0;
  margin:0;
}
.overlay.fullscreen .chatPanel{
  max-height:none !important;
}
.overlay.fullscreen .chatTop{
  padding-top:env(safe-area-inset-top);
}


#chatOverlay, #testOverlay, #resultOverlay, #callOverlay, #bioOverlay{
  align-items:flex-end !important;
}

/* v30: chat header layout */
.chatHeader, .chatTopbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.chatHeaderRight{justify-self:end; display:flex; justify-content:flex-end; align-items:center;}

/* spacing between header icons (kawa + ?) */
.chatHeaderRight{ gap: 14px; }
.chatAvatarBtn{
  width:36px;height:36px;border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.06);
  overflow:hidden;
  display:flex;align-items:center;justify-content:center;
}
.chatAvatarBtn img{
  width:100%;height:100%;object-fit:cover;
  display:block;
}

/* v31: center chat title (overridden by flex layout above) */

.toolSection{margin-top:12px}
.toolSectionTitle{font-size:12px;opacity:.72;font-weight:900;margin-bottom:8px}
.toolHint{font-size:13px;line-height:1.35;opacity:.78;margin:0 0 10px}
.toolCoffee{border-top:0 !important;padding-top:10px}


/* ===== eBook shop modal (v31) ===== */
#shopModal .modalCard{ max-height: calc(100svh - 36px); overflow:hidden; }
#shopModal .shopGrid{
  margin-top: 10px;
  padding: 10px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.02);
  max-height: 46vh;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  display:flex;
  flex-direction:column;
  gap: 12px;
}
#shopModal .shopCard{
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03);
  border-radius: 16px;
  padding: 12px;
}
#shopModal .shopTitle{ font-weight: 650; font-size: 14px; line-height: 1.35; }
#shopModal .shopDesc{ margin-top: 8px; color: rgba(255,255,255,.72); font-size: 13px; line-height: 1.5; }
#shopModal .shopMetaRow{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top: 8px; }
#shopModal .shopPrice{ font-size: 13px; color: rgba(255,255,255,.78); }
#shopModal .shopBadge{
  font-size: 11px;
  padding: 5px 9px;
  border-radius: 999px;
  border: 1px solid rgba(183,154,90,.35);
  background: rgba(183,154,90,.10);
  color: rgba(255,255,255,.85);
  white-space: nowrap;
}
#shopModal .shopActions{ display:flex; gap: 10px; flex-wrap: wrap; margin-top: 10px; }
#shopModal .shopBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(183,154,90,.16);
  color: rgba(255,255,255,.92);
  font-size: 12px;
  text-decoration:none;
}
#shopModal .shopBtn--ghost{ background: rgba(255,255,255,.06); }

/* =========================
   Extras: credits, cookies, FAQ, legal
   ========================= */

.siteCredit{
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  bottom: 10px;
  z-index: 40;
  font-size: 11px;
  color: rgba(245,245,245,.35);
  letter-spacing: .03em;
  pointer-events: none;
  text-align: center;
  width: min(560px, calc(100% - 24px));
}

.cookieBanner{
  position: fixed;
  left: 12px;
  right: 12px;
  bottom: 64px;
  z-index: 12030;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(15,15,16,.78);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  padding: 12px;
  box-shadow: 0 18px 60px rgba(0,0,0,.5);
}
.cookieText{ color: rgba(245,245,245,.80); font-size: 13px; line-height: 1.35; }
.cookieActions{ display:flex; gap:10px; margin-top: 10px; flex-wrap: wrap; }
.cookieActions .btn{ flex: 1 1 auto; }

html.page--faq, body.page--faq,
html.page--legal, body.page--legal,
html.page--blog, body.page--blog{
  height:auto;
  min-height:100%;
  overflow:auto;
}
body.page--faq, body.page--legal, body.page--blog{ overflow:auto; }

/* Page wrapper so fixed topbar never covers content */
.pageMain{
  padding: calc(var(--topbar) + 18px) var(--pad) 70px;
  max-width: var(--max);
  margin: 0 auto;
}

.pageMain .prose{ width: 100%; }

.blogWrap{ width: min(900px, calc(100% - 28px)); margin: 0 auto; padding: 22px 0 60px; }
.blogIntro h1{ margin: 0; font-size: clamp(28px, 4.6vw, 44px); letter-spacing: -0.3px; }
.blogIntro .muted{ margin-top: 10px; color: rgba(245,245,245,.62); }

/* Simple header used by FAQ/Legal pages */
.topbar__left{ display:flex; align-items:center; gap:10px; padding: 14px; }
.topbar__right{ display:flex; align-items:center; justify-content:flex-end; gap:10px; padding: 14px; }
.name{ font-weight: 850; letter-spacing: .2px; font-size: 15px; color: rgba(245,245,245,.92); text-decoration:none; }
.topbar__social{ display:flex; gap:8px; align-items:center; }
.soc{
  width: 30px; height: 30px;
  border-radius: 999px;
  display:grid; place-items:center;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  color: rgba(255,255,255,.88);
}
.soc svg{ width: 14px; height: 14px; display:block; }

.faqWrap{ margin-top: 18px; }
.faqProlog{ border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.03); border-radius: 18px; padding: 14px; }
.faqLead{ margin: 0; color: rgba(245,245,245,.88); line-height: 1.55; }
.faqH{ margin: 18px 0 10px; font-size: 14px; letter-spacing: .10em; text-transform: uppercase; color: rgba(245,245,245,.55); }
.acc{ border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.03); border-radius: 16px; overflow:hidden; margin-bottom: 10px; }
.acc__sum{ list-style:none; cursor:pointer; padding: 14px 14px; display:flex; align-items:center; justify-content:space-between; gap: 12px; }
.acc__sum::-webkit-details-marker{ display:none; }
.acc__q{ color: rgba(245,245,245,.92); font-weight: 650; }
.acc__i{ width: 18px; height: 18px; border-radius: 999px; border: 1px solid rgba(255,255,255,.18); position: relative; opacity: .8; flex:0 0 auto; }
.acc__i::before, .acc__i::after{ content:""; position:absolute; inset: 0; margin:auto; background: rgba(245,245,245,.78); }
.acc__i::before{ width: 9px; height: 1.6px; border-radius: 999px; }
.acc__i::after{ width: 1.6px; height: 9px; border-radius: 999px; }
details[open] .acc__i::after{ opacity:0; }
.acc__a{ padding: 0 14px 14px; color: rgba(245,245,245,.78); line-height: 1.6; }
.acc__a p{ margin: 10px 0 0; }
.acc__a .muted{ color: rgba(245,245,245,.58); }

.legalWrap{ margin-top: 18px; display:grid; gap: 12px; }
.legalCard{ border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.03); border-radius: 18px; padding: 14px; }
.legalCard h2{ margin: 0; font-size: 16px; }
.legalCard p{ margin: 10px 0 0; color: rgba(245,245,245,.78); line-height: 1.6; }
.legalCard .muted{ color: rgba(245,245,245,.58); }
.legalFoot{ margin-top: 6px; font-size: 12px; color: rgba(245,245,245,.45); }


/* =========================
   Subpages: Blog / FAQ / Ważne informacje
   ========================= */
.pageMain{
  width: min(100%, 860px);
  margin: 0 auto;
  padding: calc(var(--topbar) + 22px) var(--pad) 70px;
}
.page--blog .pageMain,
.page--faq .pageMain,
.page--legal .pageMain{
  padding-top: calc(var(--topbar) + 22px + env(safe-area-inset-top));
}

.page--blog .prose, .page--faq .prose, .page--legal .prose{
  width: 100%;
  max-width: 860px;
}

/* Topbar pills */
.topPill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(244,244,244,.14);
  background: rgba(244,244,244,.05);
  color: rgba(244,244,244,.90);
  font-size: 12px;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.topPill:hover{ background: rgba(244,244,244,.08); border-color: rgba(244,244,244,.22); }
.topPill--info{
  width:34px;
  padding:0;
  font-weight:800;
  font-size: 14px;
}

/* Blog */
.blogHead{ margin-top: 6px; padding: 18px 0 14px; border-bottom: 1px solid rgba(244,244,244,.10); }
.blogKicker{ color: rgba(244,244,244,.58); font-size: 13px; margin-top: 6px; line-height:1.6; }
.postList{ display:grid; gap: 12px; margin-top: 16px; }
.postCard{ border-radius: 18px; border: 1px solid rgba(244,244,244,.12); background: rgba(244,244,244,.03); padding: 14px 14px; transition: transform .18s ease, background .18s ease; text-decoration:none; }
.postCard:hover{ background: rgba(244,244,244,.05); transform: translateY(-1px); }
.postCard__top{ display:flex; justify-content:space-between; gap: 12px; align-items:flex-start; }
.postTitleLink{ color: rgba(244,244,244,.94); font-weight: 650; font-size: 16px; line-height: 1.28; text-decoration:none; }
.postExcerpt{ color: rgba(244,244,244,.68); margin-top: 8px; line-height:1.55; }
.postMeta--plain{ margin-top: 10px; color: rgba(244,244,244,.56); font-size: 12px; display:flex; gap:8px; flex-wrap:wrap; }
.metaSep{ opacity:.6; }

/* FAQ */
.faq{ margin-top: 14px; display:grid; gap: 12px; }
.faqItem{
  border-radius: 18px;
  border: 1px solid rgba(244,244,244,.12);
  background: rgba(244,244,244,.03);
  padding: 12px 14px;
}
.faqItem summary{
  cursor:pointer;
  list-style:none;
  font-weight:650;
  color: rgba(244,244,244,.92);
}
.faqItem summary::-webkit-details-marker{ display:none; }
.faqItem summary::after{
  content:"›";
  float:right;
  opacity:.7;
  transform: rotate(90deg);
  transition: transform .18s ease;
}
.faqItem[open] summary::after{ transform: rotate(-90deg); }
.faqItem p{ margin: 10px 0 0; color: rgba(244,244,244,.72); line-height:1.6; font-size: 15px; }

/* Legal */
.legalDoc{ margin-top: 10px; display:grid; gap: 12px; }
.legalSection{
  border-radius: 18px;
  border: 1px solid rgba(244,244,244,.12);
  background: rgba(244,244,244,.03);
  padding: 14px 14px;
}
.legalSection h2{ margin:0 0 10px 0; font-size: 18px; }
.legalSection p, .legalSection li{ color: rgba(244,244,244,.72); line-height:1.6; font-size: 15px; }
.legalSection ul{ margin: 8px 0 0 18px; }

/* Center credit */
.siteCredit{ text-align:center; }

/* Chat: online dot */
.onlineDot{
  display:inline-block;
  width: 8px; height: 8px;
  border-radius: 999px;
  margin-left: 8px;
  background: rgba(63, 240, 140, .95);
  box-shadow: 0 0 0 3px rgba(63,240,140,.12);
  animation: onlinePulse 1.6s ease-in-out infinite;
  vertical-align: middle;
}
@keyframes onlinePulse{
  0%,100%{ transform: scale(1); opacity: .9; }
  50%{ transform: scale(1.25); opacity: 1; }
}

/* Simple cards list (Legal) */
.listCards{ display:grid; gap: 12px; }
.linkCard--static{
  border-radius: 18px;
  border: 1px solid rgba(244,244,244,.12);
  background: rgba(244,244,244,.03);
  padding: 14px 14px;
}
.linkCard__t{ font-weight:650; color: rgba(244,244,244,.92); }
.linkCard__s{ margin-top: 8px; color: rgba(244,244,244,.72); line-height:1.6; font-size: 15px; }

/* One-time subtle shimmer for header CTA */
.topPill--shimmer{ position: relative; overflow:hidden; }
.topPill--shimmer::after{
  content:"";
  position:absolute;
  inset:-10px;
  background: linear-gradient(120deg, transparent 0%, rgba(183,154,90,.35) 45%, transparent 65%);
  transform: translateX(-140%);
  opacity:0;
  animation: topPillShimmer 1.25s ease-out .35s 1;
}
@keyframes topPillShimmer{
  0%{ transform: translateX(-140%); opacity:0; }
  10%{ opacity:.95; }
  100%{ transform: translateX(140%); opacity:0; }
}

.siteCredit{ text-align:center; }



/* ===== v15: FAQ/LEGAL polish + header actions ===== */
body.page{ overflow:auto !important; height:auto !important; min-height:100vh !important; }
html,body{ scroll-padding-top: calc(var(--topbar) + env(safe-area-inset-top)); }

.faqList{ margin-top:16px; display:grid; gap:14px; }
.faqItem{ border-radius:22px; }
.faqItem summary{ padding:16px 16px; font-size:17px; }
.faqItem .faqBody{ padding: 0 16px 16px 16px; font-size:15px; }
.faqItem summary::after{
  content:"";
  width:18px;height:18px;flex:0 0 18px;
  background: radial-gradient(circle at 30% 30%, rgba(245,245,245,.95), rgba(245,245,245,.55));
  -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="black" d="M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6z"/></svg>') center/18px 18px no-repeat;
          mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="black" d="M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6z"/></svg>') center/18px 18px no-repeat;
  opacity:.75;
}
.faqItem[open] summary::after{
  -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="black" d="m7.41 15.41 4.59-4.58 4.59 4.58L18 14l-6-6-6 6z"/></svg>') center/18px 18px no-repeat;
          mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="black" d="m7.41 15.41 4.59-4.58 4.59 4.58L18 14l-6-6-6 6z"/></svg>') center/18px 18px no-repeat;
}

.pageCard{ border-radius:22px; padding:16px 16px; }
.pageCard h2{ font-size:18px; }
.pageCard p{ font-size:15px; }

.topbarRight{ display:flex; gap:10px; align-items:center; }
.actionIcon{
  width:40px;height:40px;border-radius:12px;
  border:1px solid rgba(245,245,245,.12);
  background: rgba(245,245,245,.04);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  line-height:1;
  color: rgba(245,245,245,.9);
}
.actionIcon svg{ width:18px;height:18px; opacity:.92; display:block; }
.actionIcon:active{ transform: translateY(1px); }


.siteCredit a, .siteCredit .creditLink{
  pointer-events:auto;
  color: rgba(245,245,245,.48);
  text-decoration:none;
  border-bottom: 1px solid rgba(245,245,245,.16);
}
.siteCredit a:hover{ opacity:.9; }


/* About (naffy-like) */
.aboutNaffy{
  width:min(860px, calc(100% - 24px));
  margin: 18px auto 0;
  display:grid;
  grid-template-columns: 120px 1fr;
  gap:16px;
  align-items:center;
  padding:16px;
  border-radius:24px;
  border:1px solid rgba(245,245,245,.12);
  background: rgba(12,12,13,.52);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow: 0 26px 70px rgba(0,0,0,.45);
}
.aboutNaffyAvatar{
  width:120px;height:120px;
  border-radius:28px;
  object-fit:cover;
  border:1px solid rgba(245,245,245,.14);
}
.aboutNaffyName{
  font-size:22px;
  font-weight:850;
  letter-spacing:-.01em;
}
.aboutNaffyProject{
  margin-top:2px;
  font-size:14px;
  color: rgba(245,245,245,.70);
}
.aboutNaffySocial{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:12px;
}
.socialIconBtn{
  width:42px;height:42px;
  border-radius:14px;
  border:1px solid rgba(245,245,245,.12);
  background: rgba(245,245,245,.04);
  display:grid;
  place-items:center;
  color: rgba(245,245,245,.90);
  text-decoration:none;
}
.socialIconBtn svg{ width:18px; height:18px; opacity:.95; }
.socialIconBtn:hover{ background: rgba(245,245,245,.06); }
.aboutNaffyPills{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:14px;
}
@media (max-width:520px){
  .aboutNaffy{ grid-template-columns: 1fr; }
  .aboutNaffyAvatar{ width:96px; height:96px; border-radius:24px; }
}


/* ===== Modals: FAQ & Legal (step2a) ===== */

.modalCard.modalWide{ max-width: 860px; width: min(860px, calc(100vw - 28px)); }
.faqList{ display:block; }
.faqItem{ border: 1px solid rgba(255,255,255,.10); border-radius: 14px; padding: 10px 12px; margin: 10px 0; background: rgba(255,255,255,.04); }
.faqItem > summary{ cursor:pointer; font-weight: 650; list-style:none; }
.faqItem > summary::-webkit-details-marker{ display:none; }
.faqA{ margin-top:8px; opacity:.92; line-height:1.5; }
.legalBody h3{ margin: 14px 0 6px; font-size: 14px; letter-spacing:.2px; }
.legalBody p{ margin: 0 0 10px; opacity:.92; line-height:1.6; }
.legalBody a{ text-decoration: underline; }


/* ===== About modal (v32) ===== */

.aboutGrid{ display:grid; grid-template-columns: 220px 1fr; gap:22px; align-items:start; }
@media (max-width:720px){ .aboutGrid{ grid-template-columns:1fr; } .aboutLeft{ display:flex; justify-content:center; } }
.aboutAvatar{ width:220px; height:220px; object-fit:cover; border-radius:24px; box-shadow:0 12px 40px rgba(0,0,0,.35); border:1px solid rgba(255,255,255,.12); }
.aboutKicker{ font-size:13px; letter-spacing:.12em; text-transform:uppercase; opacity:.75; margin-bottom:6px; }
.aboutName{ font-size:22px; font-weight:700; line-height:1.15; }
.aboutNick{ opacity:.75; font-weight:600; }
.aboutSocial{ display:flex; gap:10px; margin:12px 0 16px; }
.iconBtn{ width:40px; height:40px; display:inline-flex; align-items:center; justify-content:center; border-radius:14px; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.04); box-shadow: 0 10px 24px rgba(0,0,0,.18); }
.iconBtn svg{ width:20px; height:20px; }
.aboutText p{ margin:10px 0; }
.aboutList{ margin:10px 0 6px 18px; }
.aboutList li{ margin:6px 0; }
.aboutCtaRow{ margin-top:14px; display:flex; gap:10px; flex-wrap:wrap; }
.muted{ opacity:.8; }



/* ===== $100k Polish: motion, hit areas, micro-interactions ===== */
:root{
  --ease-apple: cubic-bezier(.2,.8,.2,1);
}

/* Bigger tap targets for header icons (iOS-friendly) */
.iconBtn, .topBtn, .chatHelpBtn, .hamburgerBtn{
  min-width:44px;
  min-height:44px;
  padding:10px;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

/* Micro-interactions */
.iconBtn, .topBtn, .btn, .topPill, .item{
  transition: transform .18s var(--ease-apple), filter .18s var(--ease-apple), opacity .18s var(--ease-apple);
}
.iconBtn:active, .topBtn:active, .btn:active, .topPill:active, .item:active{
  transform: translateY(1px) scale(.99);
  filter: brightness(.98);
}

/* Modal animations */
.modalBack{
  opacity:0;
  transition: opacity .22s var(--ease-apple);
  will-change: opacity;
}
.modalBack:not([hidden]){
  opacity:1;
}
.modalCard{
  transform: translateY(10px) scale(.985);
  opacity:0;
  transition: transform .28s var(--ease-apple), opacity .22s var(--ease-apple);
  will-change: transform, opacity;
}
.modalBack:not([hidden]) .modalCard{
  transform: translateY(0) scale(1);
  opacity:1;
}

/* Crisp typography in modals */
.modalCard{
  line-height:1.55;
  letter-spacing: .1px;
}
.modalCard h2, .modalCard .modalTitle, .shareTop{
  letter-spacing: .2px;
}
.miniTitle{
  margin-bottom:8px;
}
.miniList li{
  margin: 6px 0;
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce){
  .modalBack, .modalCard, .iconBtn, .topBtn, .btn, .topPill, .item{
    transition: none !important;
  }
}

/* POLISH_V1: modal polish, typography, buttons, hit-areas */
:root{
  --ease-apple: cubic-bezier(.2,.9,.2,1);
  --modal-dur: 220ms;
}

/* Header icons: 44x44 hit-area */
.topBtn, .iconBtn, #menuBtn, #newChatBtn{
  width:44px !important;
  height:44px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:12px !important;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

/* Unify modal backdrop + card animation */
.modalBack{
  opacity:0;
  pointer-events:none;
  transition: opacity var(--modal-dur) var(--ease-apple);
}
.modalBack[hidden]{
  display:block; /* keep for transition; JS toggles hidden, but we'll also set data-open */
}
.modalBack:not([hidden]){
  opacity:1;
  pointer-events:auto;
}
.modalCard{
  transform: translateY(10px) scale(.985);
  transition: transform var(--modal-dur) var(--ease-apple);
}
.modalBack:not([hidden]) .modalCard{
  transform: translateY(0) scale(1);
}

/* Modal typography */
.modalCard{
  font-size:16px;
  line-height:1.55;
}
.faqA, .legalBody, .aboutBody{
  line-height:1.7;
}
.aboutBody, .legalBody{
  font-size:16px;
}
/* Wider comfortable reading */
.modalWide .aboutBody, .modalWide .legalBody{
  max-width: 780px;
}

/* Modal header consistency */
.aboutTop, .modalHeader{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 14px 10px 14px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.aboutTitle, .modalTitle{
  font-size:18px;
  font-weight:650;
  letter-spacing:.01em;
}

/* Buttons system */
.btn{
  border-radius:14px;
  padding:12px 14px;
  font-weight:600;
  transition: transform 120ms var(--ease-apple), opacity 120ms var(--ease-apple);
}
.btn:active{ transform: scale(.98); }
.btnGold{ /* primary */
  font-weight:650;
}
.btnGhost{ /* ghost/secondary if present */
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
}

/* Scroll lock when modal open */
body.modalOpen{
  overflow:hidden !important;
  touch-action:none;
}


/* Info modal copy polish */
.infoIntro{
  font-size:15.5px;
  line-height:1.65;
  color:rgba(255,255,255,0.88);
}
.infoIntro p{
  margin:0 0 14px 0;
}
.infoIntro strong{
  font-weight:650;
  color:#fff;
}
.infoOutro{
  margin-top:18px;
  font-size:16px;
  letter-spacing:.01em;
}

/* INFO_IOS_ANIM_V1: ultra-clean iOS spacing + subtle text reveal */
#chatInfoModal .aboutBody{
  padding-top: 6px;
}

#chatInfoModal .infoIntro{
  font-size: 15.75px;
  line-height: 1.72;
  color: rgba(255,255,255,.88);
  letter-spacing: .01em;
}

#chatInfoModal .infoIntro p{
  margin: 0 0 16px 0;
}

#chatInfoModal .infoOutro{
  margin-top: 20px;
  font-size: 16px;
}

#chatInfoModal .infoPills{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 4px 0 18px 0;
}

#chatInfoModal .pill{
  display: inline-flex;
  align-items: center;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  font-size: 12.75px;
  font-weight: 650;
  color: rgba(255,255,255,.92);
}

/* Subtle stagger reveal when modal opens */
@media (prefers-reduced-motion: no-preference){
  #chatInfoModal.modalBack:not([hidden]) .infoIntro > *{
    opacity: 0;
    transform: translateY(6px);
    animation: infoFadeUp 420ms var(--ease-apple, cubic-bezier(.2,.9,.2,1)) forwards;
  }
  #chatInfoModal.modalBack:not([hidden]) .infoIntro > *:nth-child(1){ animation-delay: 20ms; }
  #chatInfoModal.modalBack:not([hidden]) .infoIntro > *:nth-child(2){ animation-delay: 80ms; }
  #chatInfoModal.modalBack:not([hidden]) .infoIntro > *:nth-child(3){ animation-delay: 140ms; }
  #chatInfoModal.modalBack:not([hidden]) .infoIntro > *:nth-child(4){ animation-delay: 200ms; }
  #chatInfoModal.modalBack:not([hidden]) .infoIntro > *:nth-child(5){ animation-delay: 260ms; }
  #chatInfoModal.modalBack:not([hidden]) .infoIntro > *:nth-child(6){ animation-delay: 320ms; }
}

/* v4: remove intro animation in chat info (requested) */
#chatInfoModal.modalBack:not([hidden]) .infoIntro > *{
  animation: none !important;
  opacity: 1 !important;
  transform: none !important;
}
@keyframes infoFadeUp{
  to{ opacity: 1; transform: translateY(0); }
}

/* Inline links inside chat bubbles (trust-first onboarding) */
.inline-link{
  color:#3b82f6;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* v4: onboarding line breaks inside first message */
.onbLine{ display:block; margin-top:2px; }
.inline-link:active{ opacity:.85; }

/* Embedded legal documents */
.legalFrame{
  width:100%;
  height:70vh;
  border:0;
  border-radius:14px;
  background:transparent;
}

.modalWide{ max-width: 920px; }

/* ===== Support Modal (Premium) ===== */
.supportModal{ max-width: 520px; }
.supportModal__top{ margin-bottom: 14px; }
.supportModal__kicker{
  font-size: 12px;
  opacity: .75;
  letter-spacing: .2px;
  font-weight: 700;
}
.supportModal__title{
  margin-top: 6px;
  font-size: 18px;
  line-height: 1.15;
  font-weight: 900;
  letter-spacing: .1px;
}
.supportModal__lead{
  margin-top: 10px;
  font-size: 13px;
  line-height: 1.45;
  opacity: .8;
}
.supportModal__card{
  margin-top: 12px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.16);
  padding: 14px;
}
.supportModal__cardTitle{
  font-weight: 800;
  font-size: 13px;
  letter-spacing: .1px;
  opacity: .9;
}
.supportModal__list{
  margin: 10px 0 0 0;
  padding-left: 18px;
  font-size: 12px;
  line-height: 1.55;
  opacity: .78;
}
.supportModal__note{
  margin-top: 10px;
  font-size: 12px;
  line-height: 1.45;
  opacity: .72;
}
.supportModal__cta{ width: 100%; }
.supportModal__micro{
  margin-top: 10px;
  text-align: center;
  font-size: 12px;
  line-height: 1.4;
  opacity: .62;
}
.supportModal__micro2{ display:block; margin-top: 6px; opacity: .75; }

/* ===== Form fields (modals) ===== */
.grid2{ display:grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 700px){
  .grid2{ grid-template-columns: 1fr; }
}

.textField{
  width:100%;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.16);
  color: rgba(255,255,255,.92);
  padding: 12px 12px;
  outline:none;
  font-size: 13px;
}
.textField:focus{ border-color: rgba(255,255,255,.22); }

/* ===== Sheets: section titles + primary items ===== */
.sheetSectionTitle{
  margin: 10px 0 6px 0;
  font-size: 11px;
  letter-spacing: .2px;
  opacity: .65;
  font-weight: 800;
  text-transform: uppercase;
}
.item.primary{
  font-weight: 900;
}

/* Reply generator output cards */
.replyCards{ display:grid; gap: 10px; margin-top: 12px; }
.replyCard{
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.16);
  padding: 12px;
}
.replyCardT{ font-weight: 900; font-size: 12px; opacity: .9; }
.replyCardB{ margin-top: 8px; font-size: 13px; line-height: 1.45; white-space: pre-wrap; }
.replyCardRow{ display:flex; gap: 10px; flex-wrap: wrap; margin-top: 10px; }

/* ===== Chat info: support block ===== */
.chatInfoSupport{
  margin-top: 14px;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.16);
}
.chatInfoSupport__title{
  font-weight: 900;
  font-size: 13px;
  letter-spacing: .1px;
}
.chatInfoSupport__text{
  margin-top: 8px;
  font-size: 12px;
  line-height: 1.45;
  opacity: .78;
}
.chatInfoSupport .btn{ width:100%; margin-top:10px; }

/* ===== Chat header coffee icon ===== */
.chatTop__icon{
  margin-left: 10px;
  width: 34px;
  height: 34px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.20);
  color: rgba(255,255,255,.92);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: .18s ease;
}
.chatTop__icon:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,.20);
}

/* Ensure coffee icon is clickable */
.chatTitle .chatTop__icon{ pointer-events:auto; }

/* ===== HYBRID ULTRA PATCH (composer legal + growth tools) ===== */
.composerLegal{padding:6px 14px 10px;font-size:11.5px;line-height:1.2;color:rgba(245,245,245,.55); text-align:center; width:100%; }
/* Override legacy "link blue" styling to keep on-brand (gold) */
.inlineLink{
  appearance:none;
  -webkit-appearance:none;
  background:transparent;
  border:0;
  padding:0;
  margin:0;
  color: rgba(183,154,90,.95);
  font-weight:650;
  cursor:pointer;
  text-decoration:none;
  font: inherit;
}
.inlineLink:hover{ opacity:0.85; }
.inlineLink:active{opacity:.75; transform:translateY(1px);}

.replyBox{
  width:100%;
  resize:vertical;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.04);
  color:inherit;
  border-radius:14px;
  padding:12px 12px;
  outline:none;
}

.replyOut{
  margin-top:12px;
  white-space:pre-wrap;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.03);
  border-radius:14px;
  padding:12px;
  font-size:14px;
  line-height:1.45;
}

.diagSummary{
  white-space:pre-wrap;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.03);
  border-radius:14px;
  padding:12px;
  font-size:13.5px;
  line-height:1.45;
  margin-top:10px;
}


.diagResult{
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  word-break:break-word;
  max-width:100%;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.03);
  border-radius:14px;
  padding:12px;
  font-size:13.5px;
  line-height:1.45;
  margin-top:10px;
}

/* ===== HUMAN V2 – Offer tiles + Chat Info cards ===== */
#chatInfoModal .infoFine{font-size:12.8px;line-height:1.55;color:var(--muted)}
#chatInfoModal .infoLead{margin:0 0 10px 0;opacity:.95}
#chatInfoModal .infoCards{display:grid;gap:10px;margin:10px 0 10px}
#chatInfoModal .infoCard{padding:12px 12px;border-radius:14px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.04)}
#chatInfoModal .infoCardT{font-size:12px;font-weight:750;letter-spacing:.2px;color:rgba(255,255,255,.88);margin-bottom:6px}
#chatInfoModal .infoCardD{font-size:12.6px;line-height:1.55;color:rgba(245,245,245,.78)}
#chatInfoModal .infoMicro{margin:10px 0 0;font-size:12px;opacity:.82}

/* Chat header coffee icon (round, like "?") */
#chatCoffeeBtn{width:38px;height:38px;border-radius:999px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.04);display:grid;place-items:center;font-size:16px}
#chatCoffeeBtn svg{width:18px;height:18px;opacity:.95}

/* Offer modal tiles */
.offerGrid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:6px}
.offerCard{text-align:left;padding:14px 14px 12px;border-radius:18px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.03);color:inherit}
.offerCard:active{transform:translateY(1px)}
.offerKicker{opacity:.72;font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.offerTitle{margin-top:6px;font-weight:700;font-size:16px}
.offerDesc{margin-top:6px;opacity:.82;font-size:13px;line-height:1.4}
.offerFoot{margin-top:12px;text-align:center;opacity:.72;font-size:12.5px;line-height:1.35}

@media (min-width: 740px){
  .offerGrid{grid-template-columns:1fr 1fr}
}

/* Saved chats */
.savedChatsList{display:grid;gap:10px}
.savedChatItem{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.03)}
.savedChatMeta{display:flex;flex-direction:column;gap:2px;min-width:0}
.savedChatTitle{font-weight:750;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.savedChatDate{opacity:.7;font-size:12px}
.savedChatActions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.savedChatActions .btn{padding:8px 10px;font-size:13px}

/* ===== Więcej: duże kafle (Apple/Stripe vibe) ===== */
.moreTiles{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin:6px 0 14px 0;
}
@media (max-width:520px){
  .moreTiles{ grid-template-columns:1fr; }
}
.moreTile{
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
  border-radius:16px;
  padding:14px;
  text-align:left;
  color:inherit;
}
.moreTile:active{ transform:translateY(1px); }
.moreTileTop{ font-size:12px; opacity:.8; }
.moreTileBig{ font-size:18px; font-weight:800; margin-top:2px; }
.moreTileSub{ font-size:12px; opacity:.78; margin-top:6px; line-height:1.25; }


/* === OSCANRE_MORE_MINIFY === */
/* Hide rarely-used items in the chat "Więcej" sheet if present.
   Keep: Oferta, Jak działam, Diagnoza, Co mu odpisać, Wesprzyj projekt. */
#menuSheet .menuItem[data-kind="rare"],
#menuSheet .menuItem.is-rare{
  display:none !important;
}

/* =====================================================================
   Minimal chat UI additions (Apple/Stripe vibe)
   ===================================================================== */


/* Tools bar: Apple/Stripe segmented control, adapted to dark/glass */
.chatToolsBar{
  display:flex;
  align-items:center;
  gap:10px;
  justify-content:center;

  padding:12px 14px;
  border-bottom:1px solid rgba(245,245,245,.10);
  background:rgba(0,0,0,.06);
}
.chatToolsBar::before{
  content:"";
  display:block;
  height:0;
}
.chatToolsBar{
  display:flex;
  align-items:center;
  gap:10px;
  justify-content:center;

  display:flex;
  justify-content:center;
}
.chatToolsBar .toolSeg{
  width:min(520px, 100%);
  display:flex;
  gap:6px;
  padding:6px;
  border-radius:16px;
  border:1px solid rgba(245,245,245,.12);
  background:rgba(12,12,13,.55);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.toolLink{
  flex:1 1 0;
  appearance:none;
  border:0;
  background:transparent;
  color:rgba(245,245,245,.78);
  font-size:14px;
  font-weight:700;
  padding:10px 10px;
  border-radius:12px;
  cursor:pointer;
  transition:background .15s ease, color .15s ease;
}
.toolLink:hover{ background:rgba(245,245,245,.08); color:rgba(245,245,245,.92); }
.toolLink.isActive{ background:rgba(245,245,245,.10); color:rgba(245,245,245,.98); }
.toolLink:focus-visible{ outline:2px solid rgba(255,255,255,.22); outline-offset:2px; }

.toolLink--mini{
  margin-left:auto;
  border-radius:14px;
  padding:9px 12px;
  font-weight:800;
}


/* Situation context (v2: compact pill, no bullet list) */
.situationCard{
  width:min(520px, 100%);
  margin:10px auto 0;
  border-radius:18px;
  background:rgba(12,12,13,.48);
  border:1px solid rgba(245,245,245,.12);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  overflow:hidden;
}
.situationPill{
  padding:12px 14px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.situationPill__left{min-width:0;flex:1 1 auto}
.situationTitle{font-size:12px;letter-spacing:.28px;text-transform:uppercase;color:rgba(245,245,245,.55);font-weight:800;}
.situationText{
  margin-top:6px;
  color:rgba(245,245,245,.92);
  font-size:15px;
  line-height:1.25;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.situationEdit{
  appearance:none;
  border:1px solid rgba(245,245,245,.12);
  background:rgba(0,0,0,.12);
  color:rgba(245,245,245,.90);
  font-size:14px;
  font-weight:750;
  padding:8px 10px;
  border-radius:12px;
  cursor:pointer;
}
.situationEdit:hover{background:rgba(245,245,245,.08);}

@media (max-width: 520px){
  .chatToolsBar{
  display:flex;
  align-items:center;
  gap:10px;
  justify-content:center;
 padding:10px 10px; }
  .chatToolsBar .toolSeg{ border-radius:14px; padding:5px; }
  .toolLink{ font-size:13px; padding:9px 8px; }
}

/* === Confirm + Report modal helpers (minimal, themed) === */
.dangerBtn{
  background:rgba(209,26,42,.16) !important;
  border:1px solid rgba(209,26,42,.35) !important;
  color:rgba(245,245,245,.95) !important;
}
.dangerBtn:hover{ background:rgba(209,26,42,.22) !important; }

.formGrid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.formLabel{ display:flex; flex-direction:column; gap:8px; font-size:13px; color:rgba(245,245,245,.78); }
.formControl{
  width:100%;
  border-radius:14px;
  border:1px solid rgba(245,245,245,.14);
  background:rgba(0,0,0,.12);
  color:rgba(245,245,245,.92);
  padding:12px 12px;
  font-size:14px;
  outline:none;
}
.formControl:focus{ border-color:rgba(183,154,90,.40); box-shadow:0 0 0 3px rgba(183,154,90,.12); }
@media (max-width:520px){
  .formGrid{ grid-template-columns:1fr; }
}



/* === UX v1.0 additions === */
.tipWrap{ position:relative; display:inline-flex; align-items:center; margin-left:8px; }
.tipBtn{
  width:18px; height:18px; border-radius:50%;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.06);
  color:inherit; font-size:12px; line-height:1;
  display:inline-flex; align-items:center; justify-content:center;
  padding:0;
}
.tipText{
  position:absolute; top:24px; left:50%; transform:translateX(-50%);
  min-width:220px; max-width:260px;
  background:rgba(10,10,12,.92);
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  padding:10px 12px;
  font-size:13px;
  color:rgba(245,245,245,.92);
  box-shadow:0 12px 40px rgba(0,0,0,.55);
  display:none;
  z-index:50;
}
.tipWrap.open .tipText{ display:block; }

.quickPrompts{
  display:flex; gap:10px;
  flex-wrap:nowrap;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  padding:8px 14px 10px;
}
.quickPrompt{
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.04);
  color:rgba(245,245,245,.88);
  border-radius:999px;
  padding:10px 14px;
  font-size:13px;
}
.quickPrompt:active{ transform:translateY(1px); }

.menuHeader{
  display:grid;
  grid-template-columns:48px 1fr 48px;
  align-items:center;
  padding:10px 10px;
}
.menuTitle{
  text-align:center;
  font-weight:650;
  line-height:1.2;
}

.savedChatTitle{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:100%;
}
.fieldLabel{ display:block; margin-bottom:8px; color:rgba(245,245,245,.85); font-size:14px; }
.fieldInput{
  width:100%;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  padding:12px 12px;
  color:rgba(245,245,245,.92);
  outline:none;
}
.fieldInput:focus{
  border-color:rgba(183,154,90,.55);
  box-shadow:0 0 0 3px rgba(183,154,90,.12);
}

@media (max-width: 420px){
  .tipText{ left:auto; right:0; transform:none; }
  .quickPrompts{ padding:10px 12px 12px; gap:8px; }
  .quickPrompt{ padding:9px 12px; font-size:13px; }
}

.actionIcon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
}
.actionIcon svg{ display:block; }

/* === FINAL UX v1.0 (stable iOS) === */

/* Tools: segmented control (no tooltips inside) */
.toolTabs{
  display:flex;
  gap:8px;
  width:100%;
  max-width:100%;
  padding:10px;
  background:rgba(12,12,13,.55);
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  overflow:hidden;
}
.toolTab{
  flex:1 1 0;
  min-width:0;
  border:0;
  background:transparent;
  color:rgba(245,245,245,.78);
  border-radius:14px;
  padding:12px 10px;
  font-weight:650;
  text-align:center;
  -webkit-tap-highlight-color:transparent;
}
.toolTab[aria-selected="true"],
.toolTab.isActive{
  background:rgba(255,255,255,.08);
  color:rgba(245,245,245,.92);
}

/* Quick prompts: single horizontal rail, never causes overflow */
.quickPrompts{
  display:flex;
  gap:10px;
  flex-wrap:nowrap;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
  padding:10px 14px 10px;
  max-width:100%;
}
.quickPrompts::-webkit-scrollbar{ display:none; }
.quickPrompt{ flex:0 0 auto; white-space:nowrap; }

/* Remove legacy quick label if any */
.quickLabel{ display:none !important; }


/* === UX v1.0 polish (mobile first) === */
.toolLink{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  min-height:56px;
  padding:12px 34px 12px 12px; /* room for tooltip icon */
  line-height:1.15;
  white-space:normal;
}
.tipWrap{
  position:absolute;
  top:8px;
  right:8px;
  margin-left:0;
  z-index:5;
}
.tipBtn{
  -webkit-tap-highlight-color: transparent;
}
.tipText{
  z-index:60;
}
.quickPrompts{
  flex-wrap:nowrap;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.quickPrompts::-webkit-scrollbar{ display:none; }
.quickPrompt{ flex:0 0 auto; }

/* Make sure quick prompts don't look "everywhere" */
@media (max-width: 420px){
  .quickPrompts{ padding:10px 12px 8px; gap:8px; }
}



.quickLabel{
  padding:0 14px;
  margin-top:8px;
  font-size:12px;
  color:rgba(245,245,245,.55);
  text-align:left;
}


/* === UX v1.0: tool row + tap tooltips (iOS-friendly) === */
.toolRow{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:10px;
}
.toolItem{
  position:relative;
}
.toolBtn{
  width:100%;
  min-height:46px;
  border-radius:16px;
  border:1px solid rgba(245,245,245,.12);
  background:rgba(0,0,0,.18);
  color:rgba(245,245,245,.92);
  font-weight:750;
  letter-spacing:.1px;
}
.toolBtn[aria-selected="true"]{
  background:rgba(245,245,245,.10);
  border-color:rgba(245,245,245,.18);
}
.toolTip{
  position:absolute;
  top:8px;
  right:8px;
  width:18px;
  height:18px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.06);
  color:rgba(245,245,245,.90);
  font-size:12px;
  line-height:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  -webkit-tap-highlight-color:transparent;
}
.toolTipText{
  position:absolute;
  top:46px;
  left:0;
  right:0;
  margin:0 auto;
  width: min(280px, calc(100vw - 48px));
  background:rgba(10,10,12,.94);
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  padding:10px 12px;
  font-size:13px;
  color:rgba(245,245,245,.92);
  box-shadow:0 12px 40px rgba(0,0,0,.55);
  display:none;
  z-index:80;
}
.toolTipText.open{ display:block; }

@media (max-width: 420px){
  .toolBtn{ min-height:48px; border-radius:18px; }
  .toolTipText{ width: min(300px, calc(100vw - 28px)); }
}

/* --- Switch (privacy mode) --- */
.switch{position:relative;display:inline-flex;align-items:center;}
.switch input{position:absolute;opacity:0;pointer-events:none;}
.switch__track{width:44px;height:26px;border-radius:999px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14);display:inline-block;position:relative;transition:all .18s ease;}
.switch__track::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:999px;background:rgba(255,255,255,.82);transition:all .18s ease;}
.switch input:checked + .switch__track{background:rgba(193,154,79,.35);border-color:rgba(193,154,79,.45);}
.switch input:checked + .switch__track::after{left:21px;background:rgba(255,255,255,.92);}

.modalCard pre{white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;}


.cookieBanner{position:fixed;left:12px;right:12px;bottom:12px;z-index:12040;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-radius:20px;background:rgba(12,12,14,.96);border:1px solid rgba(255,255,255,.08);box-shadow:0 20px 60px rgba(0,0,0,.36);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);max-width:640px;margin:0 auto}
.cookieBanner[hidden]{display:none!important}
.cookieBanner__content{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.cookieBanner__title{font-size:13px;font-weight:700;color:#f6f3eb}
.cookieBanner__text{font-size:12px;line-height:1.45;color:rgba(255,255,255,.72);max-width:420px}
.cookieBanner__actions{display:flex;gap:8px;flex-shrink:0;align-items:center}
.cookieBanner__actions .btn{min-height:40px;padding:10px 14px;white-space:nowrap}
@media (max-width:680px){
  .cookieBanner{left:10px;right:10px;bottom:10px;flex-direction:column;align-items:stretch;padding:14px}
  .cookieBanner__content{gap:6px}
  .cookieBanner__actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .cookieBanner__actions .btn{width:100%;justify-content:center;padding:10px 8px;font-size:12px}
}
@media (max-width:420px){ .cookieBanner__actions{grid-template-columns:1fr;} }


/* ==== css/utilities.css ==== */

/* --- Toast (status) --- */
.toast{
  position:fixed;
  left:50%;
  bottom:calc(84px + env(safe-area-inset-bottom));
  transform:translateX(-50%) translateY(10px);
  max-width:calc(100vw - 28px);
  padding:10px 14px;
  border-radius:999px;
  background:rgba(0,0,0,.78);
  color:rgba(255,255,255,.92);
  font-size:14px;
  line-height:1.2;
  letter-spacing:.2px;
  box-shadow:0 10px 30px rgba(0,0,0,.35);
  opacity:0;
  pointer-events:none;
  z-index: 13050;
  transition:opacity .18s ease, transform .18s ease;
  text-align:center;
}
.toast.show{
  opacity:1;
  transform:translateX(-50%) translateY(0);
}

.toast--action{
  display:flex;
  align-items:center;
  gap:10px;
  padding-right:10px;
}
.toast__label{min-width:0;}
.toast__action{
  appearance:none;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.08);
  color:rgba(255,255,255,.96);
  border-radius:999px;
  padding:6px 10px;
  font:inherit;
  font-size:13px;
  font-weight:700;
}
.toast__action:active{transform:scale(.98);}

.btn[aria-busy='true'],
.btn[data-loading='1'],
.send[aria-busy='true'],
.send[data-loading='1']{
  position:relative;
  pointer-events:none;
  opacity:.88;
}
.btn[data-loading='1']::after,
.send[aria-busy='true']::after,
.send[data-loading='1']::after{
  content:'';
  width:14px;
  height:14px;
  border-radius:999px;
  border:2px solid currentColor;
  border-right-color:transparent;
  display:inline-block;
  box-sizing:border-box;
  vertical-align:-2px;
  animation: uiSpin .75s linear infinite;
  margin-left:8px;
}
.send[aria-busy='true'],
.send[data-loading='1']{
  color:transparent;
}
.send[aria-busy='true']::after,
.send[data-loading='1']::after{
  position:absolute;
  inset:50% auto auto 50%;
  transform:translate(-50%,-50%);
  margin-left:0;
  color:rgba(24,24,24,.9);
}

.savedChatsEmpty{
  display:flex;
  flex-direction:column;
  gap:10px;
  align-items:flex-start;
  padding:16px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.035);
}
.savedChatsEmptyTitle{
  font-size:16px;
  font-weight:760;
}
.savedChatsEmptyText{
  color:rgba(245,245,245,.68);
  line-height:1.45;
}

@keyframes uiSpin{to{transform:rotate(360deg);}}

/* --- Homepage: less choice overload --- */
.moreOptions{ display:inline-block; }
.moreOptions > summary{
  list-style:none;
  cursor:pointer;
  user-select:none;
  font-size:14px;
  color:rgba(255,255,255,.75);
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
}
.moreOptions > summary::-webkit-details-marker{ display:none; }
.moreOptions[open] > summary{ background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.18); }
.moreOptionsRow{ display:flex; gap:10px; margin-top:10px; justify-content:center; flex-wrap:wrap; }

/* --- Modal table of contents (long legal modal) --- */
.modalToc{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:2px 0 14px 0;
}
.modalToc a{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  color:rgba(255,255,255,.80);
  font-size:13px;
  text-decoration:none;
}
.modalToc a:hover{ background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.18); }


/* ===== Quick topic panel under hero input ===== */
.quickPanel{
  margin:10px 0 4px;
  padding:12px 12px;
  border:1px solid rgba(245,245,245,.14);
  background:rgba(10,10,12,.92);
  border-radius:16px;
  backdrop-filter: blur(10px);
  box-shadow: 0 18px 60px rgba(0,0,0,.60);
}
.quickPanelHead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.quickPanelTitle{
  font-weight:800;
  letter-spacing:.2px;
}
.quickPanelHint{
  margin:8px 0 10px;
  opacity:.78;
  font-size:13px;
  line-height:1.35;
}
.quickPanelCustom{
  margin-top:10px;
  display:flex;
  gap:10px;
  align-items:stretch;
}
#quickCustom{
  flex:1 1 auto;
  min-height:44px;
  max-height:160px;
  resize:none;
  overflow:hidden;
  border:1px solid rgba(245,245,245,.16);
  background:rgba(0,0,0,.55);
  color:rgba(245,245,245,.92);
  border-radius:14px;
  padding:10px 12px;
}
@media (max-width: 520px){
  .quickPanelCustom{flex-direction:column;}
}



/* Dim background behind the shortcuts panel (prevents "see-through" distraction) */
.chatQuick.panelOpen::after{
  content:"";
  position:absolute;
  left:-12px; right:-12px;
  top:-12px; bottom:-12px;
  background:rgba(0,0,0,.60);
  backdrop-filter: blur(6px);
  z-index:20;
  pointer-events:none;
}

/* --- Quick shortcuts panel (chat) fixes --- */
.chatComposer{ position:relative; } /* anchor for quick panel overlay */

.chatQuick{ position:relative; }

/* Make panel overlay instead of pushing footer down */
.quickPanel{
  position:absolute;
  left:0; right:0;
  bottom:0;
  transform: translateY(8px);
  z-index:30;
  max-height: min(60vh, 520px);
  overflow:auto;
  -webkit-overflow-scrolling: touch;
  margin: 0;
}

/* Ensure close button isn't iOS-blue */
.iconBtn{ color: rgba(255,255,255,.88); }
#quickPanelClose{ color: rgba(255,255,255,.88); }
#quickPanelClose:active{ opacity:.75; }

/* When panel is open, add some spacing so chips row stays visible */
.chatQuick.panelOpen{ padding-bottom: 12px; }

/* iOS no-zoom: keep composer inputs >=16px */
@media (max-width: 768px){
  .chatComposer textarea,
  .chatComposer input{
    font-size: 16px;
  }
}


/* Share conversation */
.sharePreview{
  position:relative;
  border-radius:16px;
  border:1px solid rgba(245,245,245,.12);
  background:rgba(255,255,255,.04);
  padding:14px;
  max-height:52vh;
  overflow:auto;
}
.sharePreviewInner{
  font-size:13px;
  line-height:1.35;
  color:rgba(245,245,245,.92);
  white-space:pre-wrap;
}
.shareWatermark{
  position:sticky;
  bottom:0;
  margin-top:12px;
  font-size:12px;
  opacity:.95;
  text-align:right;
}
.shareActions{
  display:flex;
  gap:10px;
  margin-top:12px;
}
@media (max-width:520px){
  .shareActions{flex-direction:column;}
}

.followUps{
  margin-top:10px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  opacity:.95;
}
.followUps .chip{display:inline-flex;align-items:center;justify-content:center;max-width:100%;
  border:1px solid rgba(245,245,245,.12);
  background:rgba(255,255,255,.04);
  color:rgba(245,245,245,.92);
  padding:8px 12px;
  border-radius:999px;
  font-size:13px;
}


/* --- Share modal header (matches other modals) --- */
.modalHead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px 10px;
  border-bottom:1px solid rgba(245,245,245,.08);
}
.modalTitle{font-size:15px;font-weight:600;color:rgba(245,245,245,.92);}
.modalBody{padding:14px 16px 16px;}

/* --- In-chat starter (reduces decision overload) --- */
.chatStarter{
  margin:12px 14px 2px;
  padding:12px 12px 10px;
  border-radius:16px;
  border:1px solid rgba(245,245,245,.10);
  background:rgba(255,255,255,.04);
}
.chatStarter .starterTitle{
  font-size:13px;
  color:rgba(245,245,245,.78);
  margin-bottom:10px;
}
.chatStarter .starterGrid{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}
.chatStarter .starterBtn{
  width:100%;
  text-align:left;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid rgba(245,245,245,.10);
  background:rgba(0,0,0,.22);
  color:rgba(245,245,245,.92);
  cursor:pointer;
  transition:transform .12s ease, border-color .12s ease, background .12s ease;
}
.chatStarter .starterBtn:hover{
  transform:translateY(-1px);
  border-color:rgba(183,154,90,.35);
  background:rgba(183,154,90,.08);
}
.chatStarter .starterLink{
  margin-top:10px;
  width:100%;
  padding:10px 12px;
  border-radius:12px;
  border:0;
  background:transparent;
  color:rgba(183,154,90,.95);
  cursor:pointer;
  text-align:left;
}
.chatStarter .starterLink:hover{ text-decoration:underline; }

@media (min-width: 520px){
  .chatStarter .starterGrid{ grid-template-columns:1fr 1fr; }
  .chatStarter .starterBtn[data-starter="analyze"]{ grid-column:1 / -1; }
}


/* ===== OSCANRE PREMIUM FINAL OVERRIDES ===== */
.inlineLink{ color: rgba(183,154,90,.95) !important; }
.paywall a, .paywallAlt a, .paywallBox a{
  color: rgba(183,154,90,.95) !important;
  text-decoration:none;
  font-weight:650;
}
.paywall a:hover, .paywallAlt a:hover, .paywallBox a:hover{ opacity:.85; }


/* Oscanre access system */
.premiumStatus{display:none !important;}
.toolAccessRow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;margin:8px 0 12px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);border-radius:16px;}
.toolAccessTitle{font-weight:700;color:#f3efe8;font-size:14px;}
.toolAccessSub{font-size:12px;line-height:1.4;color:rgba(255,255,255,.72);margin-top:3px;max-width:420px;}
.miniBtn{padding:10px 14px;border-radius:999px;white-space:nowrap;}
.itemMeta{margin-left:auto;margin-right:8px;font-size:11px;padding:5px 9px;border-radius:999px;border:1px solid rgba(255,255,255,.08);}
.freeMeta{color:rgba(255,255,255,.75);background:rgba(255,255,255,.04);}
.paidMeta{color:#d9bd84;background:rgba(198,166,106,.12);border-color:rgba(198,166,106,.22);}
.premiumFeatureList{display:grid;gap:6px;margin:0 0 12px;color:rgba(255,255,255,.92);}
.paywallBox{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:18px;}
.paywallTitle{color:#C6A66A;font-weight:700;font-size:18px;margin-bottom:8px;}
.paywallBtn{width:100%;text-align:left;background:linear-gradient(180deg, rgba(198,166,106,.22), rgba(198,166,106,.12));border:1px solid rgba(198,166,106,.25);border-radius:18px;padding:16px;margin-top:10px;color:#fff;}
.paywallBtnMain{font-weight:700;color:#fff;}
.paywallBtnSub{margin-top:6px;color:rgba(255,255,255,.72);font-size:13px;line-height:1.35;}
.paywallAlt .inlineLink, .inlineLink{color:#C6A66A !important;text-decoration:none;font-weight:600;}
@media (max-width: 640px){.toolAccessRow{align-items:flex-start;flex-direction:column}.miniBtn{width:100%;justify-content:center}}

/* --- Oscanre final production overrides --- */
.sheet{display:flex;flex-direction:column;max-height:calc(100svh - 12px) !important;}
.sheetGroup{flex:1 1 auto;min-height:0;max-height:none !important;overflow-y:auto !important;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 24px) !important;}
.actionMenu{z-index:3000 !important;}
.msgActions, .msgActions *{position:relative;}
.listLine{display:block;margin-top:6px;line-height:1.5;}
.menuBadge{display:inline-flex;align-items:center;justify-content:center;margin-left:8px;font-size:11px;padding:4px 8px;border-radius:999px;vertical-align:middle;}
#menuSheet .btn{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.diagQuizHead{margin-bottom:12px;}
.diagQuizProgress{font-size:12px;color:rgba(255,255,255,.66);margin-bottom:6px;}
.diagQuizQuestion{font-size:18px;font-weight:700;line-height:1.35;}
.diagAnswers{display:grid;gap:10px;}
.diagAnswers .answer{position:relative;padding:16px 50px 16px 16px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);text-align:left;color:#fff;}
.diagAnswers .answerText{max-width:90%;line-height:1.4;}
.diagSummary strong{font-size:13px;}
#premiumValueStage .pageCard, #premiumHowStage .pageCard{background:rgba(255,255,255,.04);}
#accessBtn{display:grid;place-items:center;}
#accessBtn svg{width:18px;height:18px;}


.toolAccessHint{margin-top:6px;font-size:11px;line-height:1.45;color:rgba(255,255,255,.56);max-width:520px}
.uploadCard{display:block;padding:16px;border-radius:18px;border:1px dashed rgba(198,166,106,.38);background:rgba(198,166,106,.08);cursor:pointer}
.uploadCardTitle{font-weight:700;color:#f3efe8;margin-bottom:4px}
.uploadCardSub{font-size:12px;color:rgba(255,255,255,.72);line-height:1.4}
.screensPreviewWrap{margin-top:12px;border:1px solid rgba(255,255,255,.08);border-radius:16px;overflow:hidden;background:rgba(255,255,255,.03)}
.screensPreviewImg{display:block;width:100%;height:auto;max-height:320px;object-fit:contain;background:#111}
#screensOut{white-space:normal}
#screensOut .listLine{display:block;margin-top:6px}


/* Final polish v3 */
#confirmModal{z-index:13080 !important;}
#savedChatsModal{z-index:12020 !important;}
.msgActions{position:relative;align-items:flex-start;flex-wrap:nowrap;}
.msgActions .actBtn{flex:0 0 auto;}
.msgActionMore{position:relative;display:inline-flex;flex:0 0 auto;}
.msgActions, .msgActions *{position:static;}
.msgActionMore{position:relative;display:inline-flex;flex:0 0 auto;}
.msgActionMore > .actBtn{position:relative;}
.actionMenu{z-index:13040 !important;}
.toolAccessRow{align-items:flex-start;}
.toolAccessSub{max-width:none;}
.paidMeta{display:inline-flex;align-items:center;gap:6px;color:#d9bd84;background:rgba(198,166,106,.10);border-color:rgba(198,166,106,.22);}
.paidMeta::before{content:"";width:12px;height:12px;border-radius:999px;border:1.5px solid currentColor;display:inline-block;box-sizing:border-box;position:relative;top:0;background:transparent;box-shadow:inset 0 0 0 2px rgba(0,0,0,.15);}
.paidMeta.active{color:#70d58b;background:rgba(66,168,99,.12);border-color:rgba(66,168,99,.28);}
.paidMeta.active::before{content:"✓";width:14px;height:14px;border:none;display:inline-grid;place-items:center;font-size:11px;font-weight:800;background:rgba(66,168,99,.16);border-radius:999px;box-shadow:none;}
.itemRight{opacity:.95;}
button[data-tool-open] .itemRight{display:none !important;}
#menuSheet .menuBadge.paidMeta{margin-left:auto;}
#menuSheet .btn .menuBadge.paidMeta::before{width:10px;height:10px;}
#menuSheet .btn .menuBadge.paidMeta.active::before{width:14px;height:14px;}
#toolSheet .item[data-tool-open]{align-items:center;}
#toolSheet .item[data-tool-open] .itemMeta{margin-right:0;}
#toolSheet .item[data-tool-open] .itemLeft span, #menuSheet [data-tool-open]{font-weight:600;}
.premiumCodeStatus.isError{color:#ff8c8c;}
.premiumCodeStatus.isSuccess{color:#78d69a;}
#accessBtn.isUnlocked{color:#78d69a;border-color:rgba(120,214,154,.35);background:rgba(120,214,154,.08);}
#accessBtn.isUnlocked svg{stroke:currentColor;}
.onbLegal .inline-link, .composerLegal .inlineLink{color:#C6A66A !important;}


/* ==== Premium status icons: refined apple/stripe-like states ==== */
:root{
  --status-lock-ink:#d6b377;
  --status-lock-bg:rgba(198,166,106,.10);
  --status-lock-br:rgba(198,166,106,.22);
  --status-ok-ink:#7ed9a1;
  --status-ok-bg:rgba(75,184,117,.12);
  --status-ok-br:rgba(75,184,117,.26);
}

#accessBtn{
  width:38px;
  height:38px;
  border-radius:14px;
  background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.10);
  color:var(--status-lock-ink);
  box-shadow:0 8px 24px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.04);
  transition:transform .16s ease, background .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease;
}
#accessBtn:hover{
  border-color:rgba(198,166,106,.28);
  background:linear-gradient(180deg, rgba(198,166,106,.12), rgba(255,255,255,.03));
  box-shadow:0 10px 28px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.06);
}
#accessBtn svg{width:18px;height:18px;display:block;}
#accessBtn.isUnlocked{
  color:var(--status-ok-ink);
  border-color:var(--status-ok-br);
  background:linear-gradient(180deg, rgba(75,184,117,.14), rgba(255,255,255,.03));
  box-shadow:0 10px 28px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.06);
}

#toolAccessBtn{
  position:relative;
  padding-left:14px;
  padding-right:14px;
  border-radius:999px;
  border:1px solid var(--status-lock-br);
  background:linear-gradient(180deg, rgba(198,166,106,.12), rgba(198,166,106,.07));
  color:#f2dfb0;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
#toolAccessBtn::before{
  content:"";
  width:16px;
  height:16px;
  display:inline-block;
  vertical-align:-3px;
  margin-right:8px;
  border-radius:999px;
  background:var(--status-lock-bg);
  border:1px solid var(--status-lock-br);
  background-repeat:no-repeat;
  background-position:center;
  background-size:10px 10px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d6b377' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='7' y='11' width='10' height='8' rx='2'/%3E%3Cpath d='M9 11V9a3 3 0 1 1 6 0v2'/%3E%3C/svg%3E");
}
#toolAccessBtn.isUnlocked{
  border-color:var(--status-ok-br);
  background:linear-gradient(180deg, rgba(75,184,117,.14), rgba(75,184,117,.08));
  color:#dff6e7;
}
#toolAccessBtn.isUnlocked::before{
  background:var(--status-ok-bg);
  border-color:var(--status-ok-br);
  background-size:10px 10px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237ed9a1' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 12.5l3.2 3.2L17.5 8.5'/%3E%3C/svg%3E");
}

.paidMeta,
.menuBadge.paidMeta{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:28px;
  padding:5px 10px 5px 8px;
  border-radius:999px;
  border:1px solid var(--status-lock-br);
  background:linear-gradient(180deg, rgba(198,166,106,.10), rgba(198,166,106,.06));
  color:#eed29d;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
  font-size:11px;
  font-weight:700;
  letter-spacing:.01em;
}
.paidMeta::before,
.menuBadge.paidMeta::before{
  content:"";
  flex:0 0 16px;
  width:16px;
  height:16px;
  border-radius:999px;
  background:var(--status-lock-bg);
  border:1px solid var(--status-lock-br);
  background-repeat:no-repeat;
  background-position:center;
  background-size:10px 10px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d6b377' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='7' y='11' width='10' height='8' rx='2'/%3E%3Cpath d='M9 11V9a3 3 0 1 1 6 0v2'/%3E%3C/svg%3E");
  box-sizing:border-box;
}
.paidMeta.active,
.menuBadge.paidMeta.active{
  color:#dff6e7;
  border-color:var(--status-ok-br);
  background:linear-gradient(180deg, rgba(75,184,117,.14), rgba(75,184,117,.08));
}
.paidMeta.active::before,
.menuBadge.paidMeta.active::before{
  background:var(--status-ok-bg);
  border-color:var(--status-ok-br);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237ed9a1' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 12.5l3.2 3.2L17.5 8.5'/%3E%3C/svg%3E");
}
#menuSheet .menuBadge.paidMeta{margin-left:auto;}
#menuSheet .btn .menuBadge.paidMeta{padding:4px 9px 4px 7px; min-height:26px;}
#menuSheet .btn .menuBadge.paidMeta::before{width:14px;height:14px;flex-basis:14px;background-size:9px 9px;}


/* Final polish v4 */
#accessBtn{width:40px;height:40px;border-radius:14px;padding:0;}
#accessBtn svg{width:21px;height:21px;display:block;}
#accessBtn.isUnlocked svg{stroke:currentColor;}

#toolAccessBtn::before,
.paidMeta::before,
.menuBadge.paidMeta::before{
  background-size:11px 11px;
}
#toolAccessBtn.isUnlocked::before,
.paidMeta.active::before,
.menuBadge.paidMeta.active::before{
  background-size:11px 11px;
}

.screenTransferMsg{display:flex;align-items:flex-start;gap:12px;min-width:0;}
.screenTransferThumb{width:84px;height:84px;object-fit:cover;border-radius:14px;border:1px solid rgba(255,255,255,.10);background:#111;flex:0 0 auto;}
.screenTransferBody{min-width:0;display:flex;flex-direction:column;gap:4px;}
.screenTransferTitle{font-weight:700;color:#fff;}
.screenTransferMeta{font-size:12px;line-height:1.45;color:rgba(255,255,255,.72);white-space:pre-wrap;word-break:break-word;}


/* --- Patch v3: anchored 3-dot menu + lock icon consistency --- */
.actionMenu{
  --menu-origin-x: 100%;
  --menu-origin-y: 0%;
  transform-origin: var(--menu-origin-x) var(--menu-origin-y);
}
.actionMenu.anchorRight:not(.openUp){ transform:translate3d(8px,-8px,0) scale(.94); }
.actionMenu.anchorLeft:not(.openUp){ transform:translate3d(-8px,-8px,0) scale(.94); }
.actionMenu.openUp.anchorRight{ transform:translate3d(8px,8px,0) scale(.94); }
.actionMenu.openUp.anchorLeft{ transform:translate3d(-8px,8px,0) scale(.94); }
.actionMenu.isVisible{ transform:translate3d(0,0,0) scale(1); }

#accessBtn{
  width:42px;
  height:42px;
  border-radius:14px;
  padding:0;
  display:grid;
  place-items:center;
}
#accessBtn svg{
  width:22px;
  height:22px;
  display:block;
}
#accessBtn:not(.isUnlocked){
  color:rgba(245,245,245,.94);
}
#accessBtn.isUnlocked{
  color:#82dba2;
  border-color:rgba(120,214,154,.38);
  background:rgba(120,214,154,.08);
}
#toolAccessBtn::before,
.paidMeta::before,
.menuBadge.paidMeta::before{
  background-size:10px 10px;
}
#toolAccessBtn,
.paidMeta,
.menuBadge.paidMeta{
  letter-spacing:0;
}


/* === Final polish v5 === */
:root{
  --status-pill-h:32px;
  --status-pill-px:12px;
  --status-pill-gap:6px;
  --status-pill-icon:16px;
}

#menuSheet .panel{max-width:560px;}
#menuSheet .pageCard.menuCard{padding:14px 10px 12px;}
#menuSheet .menuGrid{display:grid;gap:10px;}
#menuSheet .menuGrid--secondary{margin-top:2px;}
#menuSheet .menuSectionLabel{
  margin:10px 4px 10px;
  font-size:12px;
  line-height:1;
  letter-spacing:.08em;
  font-weight:800;
  color:rgba(255,255,255,.56);
}
#menuSheet .menuSectionLabel:first-child{margin-top:0;}
#menuSheet .menuGrid + .menuSectionLabel{margin-top:18px;}
#menuSheet .btn.ghost{min-height:54px;justify-content:flex-start;}

#menuSheet .btn,
#toolSheet .item,
#toolAccessBtn,
.topBtn,
.actionIcon{
  transition:transform .08s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease, opacity .18s ease;
}
#menuSheet .btn:active,
#toolSheet .item:active,
#toolAccessBtn:active,
.topBtn:active,
.actionIcon:active{transform:scale(.98);}

.topBtn{width:36px;height:36px;border-width:1px;opacity:.78;}
.topBtn:hover{opacity:1;}

#accessBtn{
  width:44px;
  height:44px;
  border-radius:14px;
  padding:0;
}
#accessBtn svg{width:22px;height:22px;display:block;}

#toolAccessBtn,
.paidMeta,
.menuBadge.paidMeta{
  min-height:var(--status-pill-h);
  padding:0 var(--status-pill-px);
  gap:var(--status-pill-gap);
  border-radius:999px;
  font-size:14px;
  font-weight:700;
  letter-spacing:0;
}
#toolAccessBtn::before,
.paidMeta::before,
.menuBadge.paidMeta::before{
  width:var(--status-pill-icon);
  height:var(--status-pill-icon);
  flex-basis:var(--status-pill-icon);
  background-size:10px 10px;
}
#toolAccessBtn{padding-left:14px;padding-right:14px;}
#toolAccessBtn::before{margin-right:0;}
.paidMeta, .menuBadge.paidMeta{
  color:#e8cf9e;
  border-color:rgba(198,166,106,.24);
  background:linear-gradient(180deg, rgba(198,166,106,.10), rgba(198,166,106,.05));
}
.paidMeta.active, .menuBadge.paidMeta.active, #toolAccessBtn.isUnlocked{
  color:#dff4e7;
  border-color:rgba(98,204,133,.24);
  background:linear-gradient(180deg, rgba(67,168,101,.12), rgba(67,168,101,.07));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
#menuSheet .btn .menuBadge.paidMeta{padding:0 12px;min-height:var(--status-pill-h);}
#menuSheet .btn .menuBadge.paidMeta::before{width:var(--status-pill-icon);height:var(--status-pill-icon);flex-basis:var(--status-pill-icon);background-size:10px 10px;}

#toolAccessSub{max-width:36ch;}
#toolAccessBtn{margin-top:2px;}

.actionMenu{
  min-width:192px;
  border-radius:16px;
  padding:8px;
  border:1px solid rgba(255,255,255,.09);
  background:rgba(11,12,15,.98);
  box-shadow:0 18px 40px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.04);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  opacity:0;
  transform:translate3d(0,4px,0) scale(.95);
  transition:transform .14s ease, opacity .14s ease;
}
.actionMenu.anchorRight:not(.openUp){transform:translate3d(6px,4px,0) scale(.95);}
.actionMenu.anchorLeft:not(.openUp){transform:translate3d(-6px,4px,0) scale(.95);}
.actionMenu.openUp.anchorRight{transform:translate3d(6px,-4px,0) scale(.95);}
.actionMenu.openUp.anchorLeft{transform:translate3d(-6px,-4px,0) scale(.95);}
.actionMenu.isVisible{opacity:1;transform:translate3d(0,0,0) scale(1);}
.actionMenu button{min-height:42px;border-radius:12px;font-size:14px;font-weight:600;padding:0 12px;text-align:left;}
.actionMenu .sep{margin:6px 2px;}

.screenTransferMsg{align-items:center;}
.screenTransferThumb{width:88px;height:88px;border-radius:16px;}
.screenTransferTitle{font-size:15px;}
.screenTransferMeta{font-size:12px;line-height:1.45;color:rgba(255,255,255,.68);}


/* v6 polish: anchored menu, calmer status pills, screens flow */
.actionIcon svg{width:20px;height:20px;}
#accessBtn svg{width:23px;height:23px;}
#accessBtn{box-shadow:inset 0 1px 0 rgba(255,255,255,.03);}
#accessBtn.isUnlocked{color:#89d7a3;border-color:rgba(120,214,154,.28);background:linear-gradient(180deg, rgba(76,170,107,.10), rgba(76,170,107,.05));}
#toolAccessBtn.isUnlocked,
.paidMeta.active,
.menuBadge.paidMeta.active{color:#e6f7ec;border-color:rgba(98,204,133,.20);background:linear-gradient(180deg, rgba(67,168,101,.11), rgba(67,168,101,.06));box-shadow:inset 0 1px 0 rgba(255,255,255,.025);}
.actionMenu{will-change:transform,opacity;}
.actionMenu button{display:flex;align-items:center;}
#toolSheet .sheet{overflow:hidden;}
#toolSheet .toolAccessRow{position:relative;z-index:2;flex:0 0 auto;margin-bottom:14px;}
#toolSheet .sheetGroup{padding-top:2px;}
#toolSheet .sheetSectionTitle{letter-spacing:.08em;}
#toolSheet .item{min-height:72px;}
#toolSheet .item .itemMeta{margin-left:auto;}
#toolSheet .item[data-open-modal="chatInfoModal"],
#toolSheet .item[data-open-modal="consultModal"],
#toolSheet .item[data-open-modal="mastermindModal"],
#toolSheet .item[data-open-modal="groupModal"],
#toolSheet .item[data-open-modal="legalModal"]{background:rgba(255,255,255,.03);}
.screenTransferMsg{align-items:center;gap:14px;}
.screenTransferThumb{width:92px;height:92px;object-fit:cover;border-radius:18px;}
.screenTransferBody{gap:6px;}
.screenTransferTitle{font-size:16px;line-height:1.2;}
.screenTransferMeta{max-width:42ch;}


/* ===== v7 final mobile/UI polish ===== */
:root{
  --ui-radius-sm: 14px;
  --ui-radius-md: 18px;
  --ui-radius-lg: 26px;
  --ui-border-subtle: rgba(255,255,255,.10);
  --ui-border-strong: rgba(255,255,255,.14);
  --ui-surface-1: rgba(255,255,255,.03);
  --ui-surface-2: rgba(255,255,255,.045);
  --ui-green-fill: linear-gradient(180deg, rgba(61,146,91,.10), rgba(61,146,91,.05));
  --ui-green-border: rgba(98,204,133,.18);
  --ui-green-text: #e8f7ed;
}

.topBtn,
.actionIcon,
.iconBtn,
#menuBtn,
#newChatBtn,
#chatCoffeeBtn,
#accessBtn{
  border-radius: 16px;
  border-color: var(--ui-border-subtle);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}
.topBtn,
.actionIcon{
  width: 38px;
  height: 38px;
  opacity: .84;
}
.topBtn svg,
.actionIcon svg,
#menuBtn svg,
#newChatBtn svg,
#chatCoffeeBtn svg{
  width: 20px;
  height: 20px;
}
.topBtn:hover,
.actionIcon:hover{opacity:1;}

.btn,
.item,
.fieldInput,
.offerCard,
.moreTile,
.savedChatItem,
.modalCard,
#chatInputWrap,
.chatComposer .composerRow,
.chatComposer .composerMain{
  border-radius: var(--ui-radius-md);
}
.modalCard{ border-color: var(--ui-border-subtle); }

/* calmer and more consistent access badges */
.paidMeta,
.menuBadge.paidMeta,
#toolAccessBtn,
#accessBtn{
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}
.paidMeta.active,
.menuBadge.paidMeta.active,
#toolAccessBtn.isUnlocked{
  color: var(--ui-green-text);
  border-color: var(--ui-green-border);
  background: var(--ui-green-fill);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.02);
}
.paidMeta.active::before,
.menuBadge.paidMeta.active::before{
  background: rgba(71,166,104,.16);
  color: #91dfaa;
}
#accessBtn.isUnlocked{
  color:#8fd7a6;
  background: var(--ui-green-fill);
  border-color: rgba(98,204,133,.24);
}
#accessBtn svg{ width:24px; height:24px; }

/* 3-dot menu: a bit more native on mobile */
.actionMenu{
  border-radius: 16px;
  border-color: rgba(255,255,255,.11);
  box-shadow: 0 22px 60px rgba(0,0,0,.44), inset 0 1px 0 rgba(255,255,255,.04);
}
.actionMenu button{
  min-height: 44px;
  border-radius: 13px;
  font-weight: 600;
}

/* transferred screenshot card in chat */
.screenTransferMsg{
  align-items: center;
  gap: 12px;
}
.screenTransferThumb{
  width: 82px;
  height: 82px;
  border-radius: 16px;
  border-color: rgba(255,255,255,.11);
}
.screenTransferBody{
  min-width: 0;
  gap: 5px;
}
.screenTransferTitle{
  font-size: 16px;
  font-weight: 760;
}
.screenTransferMeta{
  max-width: 34ch;
  color: rgba(255,255,255,.66);
}

/* composer polish */
.chatComposer .composerRow,
.chatComposer .composerMain{
  align-items: center;
}
#plusBtn,
#micBtn,
#sendBtn{
  width: 46px;
  height: 46px;
  border-radius: 16px;
}
#sendBtn{ box-shadow: inset 0 1px 0 rgba(255,255,255,.16); }

/* saved chats - robust mobile layout */
#savedChatsModal .modalCard{
  max-width: min(720px, calc(100vw - 24px));
}
.savedChatsList{
  display: grid;
  gap: 10px;
}
.savedChatItem{
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 13px;
  border: 1px solid var(--ui-border-strong);
  background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.025));
}
.savedChatMeta{
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.savedChatTitle{
  min-width: 0;
  max-width: 100%;
  font-size: 14px;
  line-height: 1.35;
  white-space: normal;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.savedChatDate{
  font-size: 12px;
  line-height: 1.25;
  color: rgba(245,245,245,.64);
}
.savedChatActions{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-shrink: 0;
  flex-wrap: nowrap;
}
.savedChatActions .btn{
  min-width: 84px;
  padding: 9px 12px;
  font-size: 13px;
  white-space: nowrap;
}

/* mobile-friendly stack for long saved chat names */
@media (max-width: 560px){
  .savedChatItem{
    grid-template-columns: minmax(0,1fr);
    align-items: stretch;
  }
  .savedChatActions{
    width: 100%;
    justify-content: flex-start;
    padding-top: 2px;
  }
  .savedChatActions .btn{
    flex: 0 0 auto;
    min-width: 96px;
  }
}

/* menu sheet hierarchy and info buttons */
#menuSheet .pageCard.menuCard{
  gap: 14px;
}
#menuSheet .menuSectionLabel{
  margin: 10px 0 8px;
  color: rgba(245,245,245,.64);
  letter-spacing: .12em;
}
#menuSheet .menuGrid{ gap: 12px; }
#menuSheet .btn.ghost{
  min-height: 56px;
  justify-content: flex-start;
  background: rgba(255,255,255,.025);
}

/* tighten helper copy a bit */
.toolAccessText,
#toolSheet .toolAccessCopy,
#toolSheet .toolAccessSub,
#toolSheet .toolAccessDesc{
  line-height: 1.42;
  color: rgba(245,245,245,.74);
}

.savedChatActions .btn:disabled{opacity:.72;}
#savedChatsGoChat{align-self:flex-start;}


/* --- Access status button on home --- */
#accessBtn{display:none !important;}
.accessStatusBtn{
  position:fixed;
  top:calc(env(safe-area-inset-top) + 78px);
  right:16px;
  z-index:35;
  display:inline-flex;
  align-items:center;
  gap:12px;
  min-height:52px;
  padding:10px 14px 10px 12px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.12);
  background:
    linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.025)),
    rgba(12,12,15,.76);
  color:rgba(255,255,255,.97);
  box-shadow:
    0 16px 34px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.04);
  backdrop-filter:blur(16px) saturate(125%);
  -webkit-backdrop-filter:blur(16px) saturate(125%);
  text-align:left;
  overflow:hidden;
  isolation:isolate;
}
.accessStatusBtn::before{
  content:'';
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  padding:1px;
  background:linear-gradient(115deg, rgba(255,255,255,0), rgba(241,205,118,.52), rgba(255,255,255,0));
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
          mask-composite:exclude;
  animation:accessBorderShimmer 4.8s linear infinite;
  opacity:.9;
  pointer-events:none;
}
.accessStatusBtn::after{
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(120px 50px at 100% 0%, rgba(241,205,118,.10), transparent 60%);
  pointer-events:none;
  z-index:-1;
}
.accessStatusBtn__iconWrap{
  width:30px;
  height:30px;
  flex:0 0 30px;
  border-radius:11px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
.accessStatusBtn__icon{
  width:16px;
  height:16px;
  position:relative;
  display:block;
}
.accessStatusBtn__icon::before,
.accessStatusBtn__icon::after{
  content:'';
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  box-sizing:border-box;
}
.accessStatusBtn__icon::before{
  width:12px;
  height:8px;
  bottom:1px;
  border:1.8px solid currentColor;
  border-radius:3px;
}
.accessStatusBtn__icon::after{
  width:7px;
  height:6px;
  top:0;
  border:1.8px solid currentColor;
  border-bottom:none;
  border-radius:7px 7px 0 0;
}
.accessStatusBtn__content{
  display:flex;
  flex-direction:column;
  min-width:0;
  gap:2px;
}
.accessStatusBtn__title{
  font-size:13px;
  font-weight:760;
  letter-spacing:.01em;
  line-height:1.05;
  white-space:nowrap;
}
.accessStatusBtn__sub{
  font-size:11px;
  line-height:1.1;
  color:rgba(255,255,255,.68);
  white-space:nowrap;
}
.accessStatusBtn[data-state="active"]{
  background:
    linear-gradient(180deg, rgba(104,218,150,.08), rgba(255,255,255,.02)),
    rgba(12,20,15,.80);
  border-color:rgba(104,218,150,.18);
}
.accessStatusBtn[data-state="active"]::before{
  background:linear-gradient(115deg, rgba(255,255,255,0), rgba(126,245,180,.46), rgba(255,255,255,0));
  opacity:.82;
}
.accessStatusBtn[data-state="active"]::after{
  background:radial-gradient(120px 50px at 100% 0%, rgba(126,245,180,.14), transparent 60%);
}
.accessStatusBtn[data-state="active"] .accessStatusBtn__iconWrap{
  background:rgba(111,235,168,.10);
  border-color:rgba(111,235,168,.18);
}
.accessStatusBtn[data-state="active"] .accessStatusBtn__icon::before,
.accessStatusBtn[data-state="active"] .accessStatusBtn__icon::after{
  border-color:rgba(196,255,220,.98);
}
.accessStatusBtn[data-state="active"] .accessStatusBtn__sub{
  color:rgba(203,255,225,.74);
}
@keyframes accessBorderShimmer{
  0%{transform:translateX(-26%);}
  100%{transform:translateX(26%);}
}
@media (max-width:420px){
  .accessStatusBtn{
    top:calc(env(safe-area-inset-top) + 74px);
    right:12px;
    min-height:50px;
    padding:9px 12px 9px 11px;
  }
  .accessStatusBtn__title{font-size:12px;}
  .accessStatusBtn__sub{font-size:10px;}
}
@media (min-width:740px){
  .accessStatusBtn{top:94px;right:20px;}
}
.toast.show{pointer-events:auto;}
.toast__action{pointer-events:auto;touch-action:manipulation;}



/* Cleanup v12 */
.freeMeta{display:none !important;}
.accessStatusBtn{top:calc(env(safe-area-inset-top) + 88px);right:16px;min-height:44px;padding:8px 12px 8px 10px;border-radius:16px;gap:10px;max-width:min(78vw,320px);}
.accessStatusBtn__iconWrap{width:28px;height:28px;flex-basis:28px;border-radius:10px;}
.accessStatusBtn__title{font-size:12.5px;font-weight:780;}
.accessStatusBtn__sub{font-size:10.5px;line-height:1.12;}
.accessStatusBtn::before{animation:accessBorderShimmer 5.2s linear infinite;opacity:.72;}
.accessStatusBtn[data-state="active"]{background:linear-gradient(180deg, rgba(71,176,118,.07), rgba(255,255,255,.02)), rgba(12,20,15,.72);}
@media (max-width:420px){.accessStatusBtn{top:calc(env(safe-area-inset-top) + 82px);right:12px;min-height:42px;padding:8px 11px 8px 10px;max-width:calc(100vw - 24px);} .accessStatusBtn__title{font-size:12px;} .accessStatusBtn__sub{font-size:10px;}}
.toolAccessRow{align-items:center;}
#toolSheet .paidMeta.active{background:rgba(75,171,110,.14);border-color:rgba(75,171,110,.28);color:#c8ffd8;}
#toolSheet .paidMeta{font-size:11px;}
#toolSheet .toolAccessSub{max-width:34ch;}
#toolSheet .miniBtn{min-width:154px;}
.premiumCodeStatus{line-height:1.45;}
.supportModal__lead,.supportModal__note,.supportModal__micro{line-height:1.45;}


/* --- Hero examples modal entry --- */
.heroExamplesWrap--modal{
  width:auto;
  margin:12px auto 0;
}
.heroExamplesModalBtn{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:38px;
  padding:0 15px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025));
  color:rgba(245,245,245,.88);
  font-size:12.5px;
  font-weight:620;
  letter-spacing:.01em;
  box-shadow:0 12px 32px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.04);
  backdrop-filter:blur(16px) saturate(120%);
  -webkit-backdrop-filter:blur(16px) saturate(120%);
  overflow:hidden;
}
.heroExamplesModalBtn::before{
  content:'';
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  padding:1px;
  background:linear-gradient(120deg, rgba(196,154,92,0), rgba(214,178,110,.65), rgba(196,154,92,0));
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
          mask-composite:exclude;
  animation:accessBorderShimmer 6.4s linear infinite;
  opacity:.9;
  pointer-events:none;
}
.heroExamplesModalBtn:hover{background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.035));}
.heroExamplesModalBtn:active{transform:scale(.985);}

.exampleModalCard{max-width:min(760px, calc(100vw - 22px));}
.exampleModalBody{display:flex;flex-direction:column;gap:18px;}
.exampleIntro{margin:0;color:rgba(245,245,245,.74);line-height:1.6;}
.exampleStack{display:grid;gap:12px;}
.exampleTalkCard{
  border-radius:22px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025));
  padding:16px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
.exampleTalkCard__eyebrow{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(245,245,245,.44);margin-bottom:8px;}
.exampleTalkCard h3{margin:0 0 10px;font-size:17px;line-height:1.28;}
.exampleBubble{
  border-radius:18px;
  padding:14px 15px;
  background:rgba(8,10,12,.46);
  border:1px solid rgba(255,255,255,.08);
  color:rgba(245,245,245,.82);
  line-height:1.68;
}
.exampleTalkCard--gated{position:relative;overflow:hidden;}
.exampleBubble--gated{position:relative;max-height:206px;overflow:hidden;}
.exampleBubble--gated::after{
  content:'';position:absolute;left:0;right:0;bottom:0;height:96px;
  background:linear-gradient(to bottom, rgba(8,10,12,0), rgba(8,10,12,.84) 68%, rgba(8,10,12,.98));
}
.exampleGate{margin-top:10px;font-size:12.5px;color:rgba(245,245,245,.58);}

.exampleFlow{
  border-radius:22px;
  padding:15px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.03);
}
.exampleFlow__header{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:rgba(245,245,245,.46);margin-bottom:12px;}
.exampleFlow__steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.exampleStep{border-radius:18px;background:rgba(8,10,12,.42);border:1px solid rgba(255,255,255,.07);padding:13px;display:flex;flex-direction:column;gap:6px;}
.exampleStep span{width:24px;height:24px;border-radius:999px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.14);color:rgba(245,245,245,.82);font-size:12px;}
.exampleStep strong{font-size:14px;line-height:1.35;}
.exampleStep em{font-style:normal;color:rgba(245,245,245,.62);font-size:12.5px;line-height:1.45;}

.examplePaths{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;}
.examplePathCard{border-radius:22px;border:1px solid rgba(255,255,255,.10);background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.02));padding:16px;display:flex;flex-direction:column;gap:10px;}
.examplePathCard--premium{border-color:rgba(183,154,90,.26);background:linear-gradient(180deg, rgba(183,154,90,.11), rgba(255,255,255,.025));}
.examplePathCard__label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(245,245,245,.46);}
.examplePathCard h4{margin:0;font-size:17px;line-height:1.28;}
.examplePathCard p{margin:0;color:rgba(245,245,245,.74);line-height:1.58;}
.examplePathBtn{width:100%;margin-top:2px;}

@media (max-width:720px){
  .exampleFlow__steps,.examplePaths{grid-template-columns:1fr;}
}
@media (max-width:640px){
  .heroExamplesWrap--modal{margin-top:10px;}
  .heroExamplesModalBtn{min-height:36px;padding:0 14px;font-size:12px;}
  .exampleTalkCard,.exampleFlow,.examplePathCard{padding:14px;}
  .exampleTalkCard h3,.examplePathCard h4{font-size:16px;}
  .exampleBubble{font-size:14px;line-height:1.62;}
}



/* v1 safe patch */
#moreOptions{display:none !important;}


/* === STEP4: home menu cleanup + safe mobile close button === */
#menuSheet{
  padding: 10px 10px calc(10px + env(safe-area-inset-bottom, 0px));
}
#menuSheet .panel{
  width: min(560px, calc(100vw - 20px)) !important;
  max-width: min(560px, calc(100vw - 20px)) !important;
  margin: 0 auto env(safe-area-inset-bottom, 0px) auto;
}
#menuSheet .menuHeader{
  position: sticky;
  top: 0;
  z-index: 2;
  padding: 8px 4px 12px;
  background: linear-gradient(180deg, rgba(12,12,13,.96) 0%, rgba(12,12,13,.84) 100%);
  grid-template-columns: 44px 1fr 44px;
}
#closeMenu{
  justify-self: start;
  align-self: center;
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  line-height: 1;
  padding: 0;
}
#menuSheet .pageCard.menuCard{
  padding: 14px 10px 12px;
}
#menuSheet .menuGrid{
  gap: 10px;
}
#menuSheet .btn,
#menuSheet .btn.ghost{
  min-height: 52px;
}
@media (max-width: 380px){
  #menuSheet{ padding-left: 8px; padding-right: 8px; }
  #menuSheet .panel{
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
  }
  #menuSheet .menuHeader{
    grid-template-columns: 40px 1fr 40px;
    padding: 8px 0 12px;
  }
  #closeMenu{
    width: 38px;
    height: 38px;
    font-size: 26px;
  }
}


/* step21 premium conversion polish */
.heroHelper{font-size:13px;line-height:1.35;opacity:.58;max-width:420px;margin:0 auto 14px;letter-spacing:.01em;}
.search{max-width:620px;background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.045));border:1px solid rgba(255,255,255,.12);border-radius:24px;box-shadow:0 10px 30px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.04);padding:7px;}
.search input{padding:15px 16px;background:transparent;border:none;}
.search button{width:44px;height:44px;border-radius:16px;background:linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.07));border:1px solid rgba(255,255,255,.10);box-shadow:none;}
.search button:hover{background:linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,.09));}
.search:focus-within{box-shadow:0 14px 34px rgba(0,0,0,.2), 0 0 0 1px rgba(255,255,255,.14), inset 0 1px 0 rgba(255,255,255,.05);transform:none;}
.heroExamplesWrap--modal{margin-top:16px;}
.heroExamplesModalBtn{background:rgba(255,255,255,.038);border:1px solid rgba(255,255,255,.09);box-shadow:inset 0 1px 0 rgba(255,255,255,.04);}
.heroExamplesModalBtn::before{display:none!important;}

.heroExamplesModalBtn.btn-shimmer{position:relative;overflow:hidden;isolation:isolate;}
.heroExamplesModalBtn.btn-shimmer::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  padding:1px;
  background:conic-gradient(
    from 0deg,
    rgba(196,154,92,0) 0deg,
    rgba(196,154,92,0) 342deg,
    rgba(230,195,126,.12) 348deg,
    rgba(242,214,160,.34) 352deg,
    rgba(196,154,92,.10) 356deg,
    rgba(196,154,92,0) 360deg
  );
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  animation:heroBorderOrbit 12s linear infinite;
  pointer-events:none;
  opacity:.62;
}
@keyframes heroBorderOrbit{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.toolBadgePro{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:20px;margin-left:8px;padding:0 7px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.09);font-size:10px;font-weight:700;letter-spacing:.08em;vertical-align:middle;opacity:.86;}
.premiumPreviewModal .aboutTop{align-items:flex-start;}
.premiumPreviewKicker{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.55;margin-bottom:6px;}
.premiumPreviewLead{margin:0 0 14px;line-height:1.55;opacity:.82;}
.premiumPreviewExample{padding:14px 15px;border-radius:18px;background:linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.08);margin-bottom:12px;}
.premiumPreviewExample__label{font-size:11px;letter-spacing:.11em;text-transform:uppercase;opacity:.48;margin-bottom:8px;}
.premiumPreviewExample__body{font-size:14px;line-height:1.65;color:rgba(255,255,255,.9);}
.premiumPreviewTrust{padding:14px 15px;margin:12px 0 8px;border-radius:18px;}
.premiumPreviewTrust__title{font-weight:700;margin-bottom:6px;}
.premiumPreviewActions{margin-top:14px;gap:10px;flex-wrap:wrap;justify-content:flex-end;}
.premiumPreviewActions .btn.gold{min-width:220px;}
.premiumPreviewNote{margin-top:10px;text-align:right;}
.exampleBubble.isTyping{position:relative;}
.exampleBubble.isTyping::after{content:"";display:inline-block;width:7px;height:1.1em;vertical-align:-.15em;margin-left:4px;border-radius:2px;background:currentColor;opacity:.7;animation:caretBlink 1s steps(1) infinite;}
@keyframes caretBlink{50%{opacity:0;}}
@media (max-width:768px){
  .heroHelper{margin-bottom:12px;font-size:12px;}
  .search{border-radius:22px;padding:6px;}
  .search input{padding:14px 14px;font-size:15px;}
  .search button{width:42px;height:42px;border-radius:15px;}
  .premiumPreviewActions{justify-content:stretch;}
  .premiumPreviewActions .btn, .premiumPreviewActions a.btn{width:100%;}
  .premiumPreviewNote{text-align:left;}
}

/* step22 premium conversion flow polish */
.itemMeta.paidMeta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  height:22px;
  padding:0 8px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
  font-size:10px;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:700;
  color:rgba(255,255,255,.82);
}
.premiumPreviewOffer,
.premiumCodeOffer{
  margin:12px 0;
  padding:16px 16px 14px;
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.premiumPreviewOffer__price,
.premiumCodeOffer__price{
  font-size:28px;
  line-height:1;
  font-weight:700;
  letter-spacing:-.03em;
  color:#fff;
}
.premiumPreviewOffer__price span,
.premiumCodeOffer__price span{
  font-size:12px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  opacity:.58;
  margin-left:8px;
}
.premiumPreviewOffer__meta,
.premiumCodeOffer__meta{
  margin-top:8px;
  font-size:14px;
  line-height:1.55;
  opacity:.84;
}
.premiumPreviewOffer__chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}
.premiumPreviewOffer__chips span{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.08);
  font-size:12px;
  opacity:.82;
}
.premiumPreviewActions .btn,
.premiumPreviewActions a.btn{
  min-height:46px;
}
.premiumPreviewActions .btn.gold,
#premiumBuyBtn{
  box-shadow:0 10px 30px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.12);
}
.premiumPreviewTrust,
.premiumCodeOffer + .pageCard{
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.028));
  border:1px solid rgba(255,255,255,.08);
}
@media (max-width:768px){
  .premiumPreviewOffer__price,
  .premiumCodeOffer__price{font-size:24px;}
  .premiumPreviewOffer__price span,
  .premiumCodeOffer__price span{display:block;margin:6px 0 0;}
}


/* STEP23 premium polish */
.toolAccessRow{align-items:flex-start;gap:12px;}
#toolAccessBtn{white-space:nowrap;}
#toolSheet .itemMeta.paidMeta,
#menuSheet .menuBadge.paidMeta{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  margin-left:auto;
  min-width:42px;
  min-height:24px;
  padding:0 9px;
  border-radius:999px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#f3d7a2;
  background:linear-gradient(180deg, rgba(198,166,106,.18), rgba(198,166,106,.10));
  border:1px solid rgba(198,166,106,.30);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
#toolSheet .itemMeta.paidMeta::before,
#menuSheet .menuBadge.paidMeta::before{
  content:none !important;
  display:none !important;
}
#toolSheet .itemMeta.paidMeta.active,
#menuSheet .menuBadge.paidMeta.active{
  color:#dff7e6;
  background:linear-gradient(180deg, rgba(67,168,101,.18), rgba(67,168,101,.10));
  border-color:rgba(67,168,101,.30);
}
.premiumPreviewOffer__price,
.premiumCodeOffer__price{font-size:30px;font-weight:700;letter-spacing:-.03em;}
.premiumPreviewOffer__price span,
.premiumCodeOffer__price span{font-size:14px;font-weight:600;opacity:.72;margin-left:4px;}
.premiumPreviewOffer__chips{gap:8px;}
.premiumPreviewOffer__chips .chip{border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.04);}
.premiumPreviewActions .btn.gold,
#premiumBuyBtn{box-shadow:0 10px 28px rgba(198,166,106,.16), inset 0 1px 0 rgba(255,255,255,.08);}
.premiumPreviewActions .btn.gold:hover,
#premiumBuyBtn:hover{transform:translateY(-1px);}
.premiumPreviewNote{opacity:.78;}


/* STEP24 menu + premium consistency polish */
#menuSheet .menuHeader{padding:10px 8px 14px 10px;grid-template-columns:48px 1fr 48px;}
#closeMenu{margin-left:4px;border-radius:14px;}
@media (max-width: 380px){
  #menuSheet .menuHeader{padding:10px 6px 14px 8px;grid-template-columns:44px 1fr 44px;}
  #closeMenu{margin-left:2px;}
}
#toolSheet .toolAccessRow{align-items:center;gap:14px;flex-wrap:wrap;}
#toolSheet .toolAccessCopy{flex:1 1 240px;min-width:0;}
#toolSheet #toolAccessTitle{font-size:14px;font-weight:700;letter-spacing:.01em;}
#toolSheet #toolAccessSub{font-size:12px;line-height:1.45;opacity:.74;max-width:38ch;}
#toolAccessBtn{min-height:40px;padding:0 14px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.01em;white-space:nowrap;}
#toolAccessBtn.isUnlocked{background:linear-gradient(180deg, rgba(67,168,101,.18), rgba(67,168,101,.10));border-color:rgba(67,168,101,.34);color:#e9fff0;}
#toolSheet .itemMeta.paidMeta,
#menuSheet .menuBadge.paidMeta{min-width:46px;min-height:25px;padding:0 10px;font-size:10px;font-weight:800;letter-spacing:.08em;opacity:1;}
#toolSheet .itemMeta.paidMeta.active,
#menuSheet .menuBadge.paidMeta.active{color:#dff7e6;}


/* === STEP25: premium header + return flow polish === */
#menuSheet .menuHeader{padding:12px 10px 16px 16px;grid-template-columns:52px 1fr 48px;}
#closeMenu{margin-left:8px;justify-self:start;}
@media (max-width: 380px){#menuSheet .menuHeader{padding:12px 8px 16px 14px;}#closeMenu{margin-left:6px;}}

#toolSheet .toolAccessRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px 16px 14px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));box-shadow:inset 0 1px 0 rgba(255,255,255,.04);}
#toolSheet .toolAccessCopy{min-width:0;}
#toolSheet .toolAccessEyebrow{margin-bottom:9px;}
.accessState{display:inline-flex;align-items:center;gap:8px;min-height:28px;padding:0 12px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;border:1px solid rgba(255,255,255,.12);}
.accessState::before{content:"";width:8px;height:8px;border-radius:999px;background:currentColor;box-shadow:0 0 0 4px rgba(255,255,255,.04);}
.accessState--locked{color:#d9bd84;background:rgba(198,166,106,.10);border-color:rgba(198,166,106,.20);}
.accessState--active{color:#b9f4c9;background:rgba(66,168,99,.12);border-color:rgba(66,168,99,.24);}
#toolSheet #toolAccessTitle{font-size:15px;font-weight:760;letter-spacing:-.01em;line-height:1.2;}
#toolSheet #toolAccessSub{margin-top:6px;max-width:42ch;font-size:12px;line-height:1.5;opacity:.78;}
#toolSheet .toolAccessActions{display:flex;flex-direction:column;align-items:flex-end;gap:8px;}
#toolAccessBtn{min-height:44px;padding:0 16px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.01em;white-space:nowrap;}
#toolAccessBtn.isUnlocked{background:linear-gradient(180deg, rgba(67,168,101,.20), rgba(67,168,101,.10));border-color:rgba(67,168,101,.32);color:#ecfff2;}
#toolSheet .toolAccessHint{font-size:11px;line-height:1.35;color:rgba(255,255,255,.56);text-align:right;}
#toolSheet .itemMeta.paidMeta,#menuSheet .menuBadge.paidMeta{display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:26px;padding:0 10px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.08em;opacity:1;}
#toolSheet .itemMeta.paidMeta::before,#menuSheet .menuBadge.paidMeta::before{display:none;}
#toolSheet .itemMeta.paidMeta.active,#menuSheet .menuBadge.paidMeta.active{color:#dff7e6;background:rgba(66,168,99,.16);border-color:rgba(66,168,99,.28);}
@media (max-width: 640px){#toolSheet .toolAccessRow{grid-template-columns:1fr;gap:12px;}#toolSheet .toolAccessActions{align-items:stretch;}#toolSheet .toolAccessHint{text-align:left;}#toolAccessBtn{width:100%;justify-content:center;}}

.savedChatsIntro{padding:10px 2px 14px;}
.savedChatsIntroTitle{font-size:13px;font-weight:700;color:#f4efe6;margin-bottom:4px;}
.savedChatsIntroText{font-size:12px;line-height:1.45;color:rgba(255,255,255,.68);}
.savedChatActions .btn{min-width:106px;}


/* ==== css/account-dark.css ==== */
.actionIcon--account{display:inline-flex;align-items:center;gap:10px;padding:0 14px;width:auto;min-width:44px}
.actionIcon--account .actionIconLabel{font-size:14px;font-weight:650;letter-spacing:-.01em}
.accountModalCard{max-width:640px;background:linear-gradient(180deg,#0f0f10,#0b0b0c)!important;border:1px solid rgba(255,255,255,.08)!important;box-shadow:0 28px 60px rgba(0,0,0,.45)!important}
.accountModalCard .aboutBody{padding-top:14px}
.accountPanel,.accountStepCard,.accountStatCard,.accountRecentCard{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.08);border-radius:24px;color:#f4efe8;box-shadow:inset 0 1px 0 rgba(255,255,255,.02)}
.accountStepCard{padding:22px}.accountStepCard + .accountStepCard{margin-top:14px}
.accountEyebrow,.accountStepEyebrow,.accountSectionTitle{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#b79a6f;margin-bottom:8px}
.accountStepTitle,.accountDashTitle{font-size:24px;line-height:1.14;font-weight:730;color:#f6f2ec;margin:0 0 10px}
.accountIntro,.accountDashText,.accountLegal,.accountCodeHelp,.accountEmptyText{color:#a9998b;line-height:1.65}
.accountModalCard .fieldLabel{color:#c7b49c;margin-top:14px}.accountModalCard .fieldInput{background:#151516;border:1px solid rgba(255,255,255,.10);color:#f6f2ec;border-radius:18px;padding:16px 18px;box-shadow:none}.accountModalCard .fieldInput::placeholder{color:#7d746b}.accountModalCard .fieldInput:focus{border-color:rgba(200,169,106,.55);box-shadow:0 0 0 4px rgba(200,169,106,.12)}
.accountCodeInput{text-align:center;letter-spacing:.34em;font-size:30px;font-weight:780}
.accountStatus{min-height:1.4em;margin-top:10px;font-size:14px}.accountStatus.isError{color:#ef7272}.accountStatus.isOk{color:#8fd7a1}
.accountInlineLink{appearance:none;border:0;background:none;padding:0;margin-top:12px;color:#d3b17b;font-weight:650;cursor:pointer}.accountInlineLink:hover{text-decoration:underline}
.accountLegal{margin-top:16px;font-size:12px}.accountLegal .inlineLink{color:#d3b17b}
.accountPanel{padding:22px}
.accountHeroTop{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.accountEmailValue{font-size:18px;font-weight:650;color:#fff;margin-top:6px;word-break:break-word}.accountDashText{margin-top:8px}
.accountStatGrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.accountStatCard{padding:18px;border-radius:22px;background:#f7f3ee;color:#171411;border-color:rgba(20,14,8,.08)}.accountStatLabel{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#9a835f;margin-bottom:10px}.accountStatValue{font-size:44px;line-height:1;font-weight:760;color:#111}.accountStatValue--small{font-size:18px;line-height:1.25}
.accountDashActions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.accountDashActions .btn{flex:1 1 180px}
.accountRecentList{display:grid;gap:12px;margin-top:12px}.accountRecentCard{padding:16px 18px}.accountRecentTop{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.accountRecentTitle{font-size:16px;font-weight:700;color:#f6f2ec}.accountRecentDate{font-size:13px;color:#988b7e;margin-top:6px}
.accountEmpty{padding:24px;border-radius:24px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.015));text-align:center}.accountEmptyTitle{font-size:18px;font-weight:700;color:#f6f2ec;margin-bottom:8px}
#savedChatsModal .miniNote{color:#a9998b!important}
@media (max-width:640px){.actionIcon--account .actionIconLabel{display:none}.actionIcon--account{padding:0;width:44px}.accountStepTitle,.accountDashTitle{font-size:22px}.accountHeroTop{flex-direction:column}.accountStatGrid{grid-template-columns:1fr}.accountDashActions .btn{width:100%;flex:1 1 100%}}


/* stage2 final polish */
.accountModalCard{background:linear-gradient(180deg,#0f1012 0%,#0b0c0e 100%)!important;border:1px solid rgba(255,255,255,.08)!important;box-shadow:0 24px 90px rgba(0,0,0,.45)!important}
.accountModalCard .aboutBody{background:transparent!important}
.accountStepCard,.accountPanel,.accountRecentCard,.accountEmpty{background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.015))!important;border:1px solid rgba(255,255,255,.08)!important;box-shadow:none!important}
.accountStepCard{padding:22px;border-radius:24px}
.accountStatCard{padding:18px;border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02))!important;color:#f4efe8!important;border:1px solid rgba(255,255,255,.08)!important}
.accountStatLabel{color:#bda57f!important}
.accountStatValue,.accountStatValue--small{color:#f5efe8!important}
.accountEmailValue{color:#f7f2ea!important}
#accountModal .fieldInput{background:#151618!important;border:1px solid rgba(255,255,255,.1)!important;color:#f7f2ea!important}
#accountModal .fieldLabel,#accountModal .miniNote,#accountModal .accountIntro,#accountModal .accountCodeHelp,#accountModal .accountLegal{color:#a99c8d!important}
#accountModal .accountStepTitle,#accountModal .accountDashTitle,#accountModal .aboutTitle,#accountModal .accountSectionTitle,#accountModal .accountEmptyTitle,#accountModal .accountRecentTitle{color:#f7f2ea!important}
#accountModal .accountStatus{min-height:22px}
#accountModal .accountStatus.isError{color:#ff8d8d!important}
#accountModal .accountStatus.isOk{color:#8fd3a0!important}
#accountModal .btn{border-radius:16px}
#accountModal .btn.ghost{background:rgba(255,255,255,.02)!important;border:1px solid rgba(255,255,255,.08)!important;color:#f0ebe4!important}
#accountModal .btn.gold{background:#c8a96a!important;color:#111!important;border:none!important}
#accountModal .topBtn{background:rgba(255,255,255,.02)!important;border:1px solid rgba(255,255,255,.08)!important;color:#f0ebe4!important}
#accountModal .accountInlineLink,#accountModal .inlineLink{color:#d7b77d!important}
.actionIcon--account{display:inline-flex!important;align-items:center;gap:8px;min-width:44px}
.actionIcon--account .actionIconLabel{font-size:13px;font-weight:700}
#savedChatsModal .miniNote{color:#a99c8d!important}
.accountRemoteSection{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}
.accountRemoteTitle{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#bda57f;margin-bottom:10px}
.remoteSavedItem{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.remoteSavedItem:last-child{border-bottom:none}
.remoteSavedMeta{min-width:0}
.remoteSavedName{font-size:16px;font-weight:700;color:#f4efe8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.remoteSavedDate{font-size:13px;color:#9f9386;margin-top:6px}
.remoteSavedActions{display:flex;gap:10px;flex-wrap:wrap}
.remoteSavedActions .btn{padding:10px 14px}
@media (max-width:640px){.accountStepCard,.accountPanel{padding:18px}.actionIcon--account .actionIconLabel{display:none}}

/* Stage 2 FINAL preview + saved chats */
.savedChatPreviewBody{display:grid;gap:10px;max-height:min(60vh,520px);overflow:auto;padding-right:4px}
.savedPreviewBubble{padding:14px 16px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);color:#f4efe8;line-height:1.65}
.savedPreviewBubble.is-ai{background:rgba(211,177,123,.08);border-color:rgba(211,177,123,.18)}
.savedPreviewBubble strong{color:#d8bb8c}
#savedChatsModal .savedChatActions{flex-wrap:wrap}
#savedChatsModal .savedChatActions .btn{min-width:102px}
#savedChatsModal .aboutBody,#savedChatPreviewModal .aboutBody{background:transparent!important}
#savedChatsModal .modalCard,#savedChatPreviewModal .modalCard{background:linear-gradient(180deg,#0f1012 0%,#0b0c0e 100%)!important;border:1px solid rgba(255,255,255,.08)!important;box-shadow:0 24px 90px rgba(0,0,0,.45)!important}

/* Stage 2.1 auth gating + saved chats mobile polish */
.itemLeft--stack{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.itemHint{font-size:11px;line-height:1.25;color:rgba(255,255,255,.5);white-space:normal}
.item.isAuthLocked .itemRight{opacity:.72}
.item.isAuthLocked .itemHint{color:#d3b17b}
#savedChatsModal .miniNote{margin-bottom:12px;color:#a99c8d!important}


/* Stage 2.1.1 header account + saved chats cleanup */
#accessBtn.actionIcon--account{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  min-width:44px;
  padding:0;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.025)), rgba(12,12,15,.78);
  color:#f5efe8;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04), 0 12px 28px rgba(0,0,0,.22);
  backdrop-filter:blur(14px) saturate(120%);
  -webkit-backdrop-filter:blur(14px) saturate(120%);
}
#accessBtn.actionIcon--account:hover{transform:translateY(-1px);border-color:rgba(211,177,123,.34);}
#accessBtn.actionIcon--account svg{width:20px;height:20px;display:block;stroke:currentColor;}
#accessBtn.actionIcon--account .actionIconLabel{display:none !important;}
#savedChatsModal .aboutBody{display:flex;flex-direction:column;gap:12px;}
#savedChatsModal .row{display:flex;flex-wrap:wrap;gap:10px;}
#savedChatsModal .row .btn{flex:1 1 140px;}
#savedChatsModal .savedChatsList{display:grid;gap:12px;}
#savedChatsModal .savedChatItem{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px 18px;border-radius:20px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.018));}
#savedChatsModal .savedChatMeta{min-width:0;display:grid;gap:8px;}
#savedChatsModal .savedChatTitle{font-size:15px;font-weight:700;color:#f7f2ea;line-height:1.35;word-break:break-word;}
#savedChatsModal .savedChatDateLine{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:#a99c8d;font-size:12px;}
#savedChatsModal .savedChatDot{opacity:.55;}
#savedChatsModal .savedChatActions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;}
#savedChatsModal .savedChatBtn{min-height:40px;padding:0 14px;border-radius:12px;}
#savedChatsModal .savedChatBtn--primary{background:#c8a96a!important;color:#14110d!important;border-color:transparent!important;}
#savedChatsModal .savedChatBtn--danger{color:#ffb2b2!important;border-color:rgba(255,110,110,.18)!important;}
#savedChatsModal .savedChatsEmpty,
#savedChatsModal .savedChatsIntro{padding:18px;border-radius:20px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.015));}
@media (max-width:640px){
  #savedChatsModal .savedChatItem{grid-template-columns:1fr;gap:12px;padding:15px;}
  #savedChatsModal .savedChatActions{justify-content:stretch;display:grid;grid-template-columns:1fr 1fr;}
  #savedChatsModal .savedChatActions .savedChatBtn:last-child{grid-column:1 / -1;}
  #savedChatsModal .row .btn{flex:1 1 100%;}
}

/* Stage 2.2 polish */
.accountGuestView{display:grid;gap:14px}
.accountStepCard--stage{position:relative}
.accountStepCard[hidden]{display:none!important}
.accountInlineActions{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px}
#accountCodeSentToWrap{display:inline}
.accountSectionTitle--recent{margin-top:18px;padding-top:4px}
.accountInsightCard{margin:14px 0 0;padding:18px 20px;border-radius:22px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(211,177,123,.10),rgba(255,255,255,.02));box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.accountInsightTitle{font-size:16px;font-weight:720;color:#f6f0e8;margin-bottom:6px}
.accountInsightText{font-size:13px;line-height:1.6;color:#c8baad;max-width:58ch}
.modalBodyPrep{opacity:0;transform:translateY(6px);transition:opacity .16s ease,transform .16s ease}
.modalBack.isReady .modalBodyPrep{opacity:1;transform:none}
.accountModalCard .aboutBody{min-height:300px}
@media (max-width:640px){
  .accountInsightCard{padding:16px 16px 17px}
  .accountSectionTitle--recent{margin-top:16px}
}


/* Stage 2.2a fix-first */
#saveTitleModal .aboutBody,
#savedChatsModal .aboutBody,
#accountModal .aboutBody{opacity:1;transform:none}
#saveTitleModal .aboutBody.modalBodyPrep,
#savedChatsModal .aboutBody.modalBodyPrep{transition:none}
#savedChatsModal .savedChatsList{min-height:72px}
.accountSectionTitle--recent{padding-top:10px}


.accountGuestView[hidden],
.accountUserView[hidden]{display:none!important}



/* Stage 2.2a.1 anti-flicker + clear saved */
#savedChatsModal.isHydrating .aboutBody,
#saveTitleModal.isHydrating .aboutBody{opacity:.01;transform:none}
#savedChatsModal .savedChatsSkeleton{display:grid;gap:10px;padding:6px 0}
#savedChatsModal .savedChatsSkeletonLine{height:52px;border-radius:18px;background:linear-gradient(90deg,rgba(255,255,255,.05),rgba(255,255,255,.08),rgba(255,255,255,.05));background-size:200% 100%;animation:zfShimmer 1.15s linear infinite}
#savedChatsModal .savedChatsSkeletonLine--short{height:18px;width:42%;border-radius:999px}
#saveTitleInput::placeholder{color:#7d746b;opacity:.72}
@keyframes zfShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

.accountDashActions--tools{margin-top:10px}
.accountSectionTitle--tools{margin-top:18px}
#accountLastToolText{opacity:.92}


/* Stage 3.4.3 premium dashboard redesign-lite */
#accountModal .accountUserView{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:16px;align-items:start}
#accountModal .accountPanel{position:relative;overflow:hidden}
#accountModal .accountPanel::before{content:"";position:absolute;inset:0 0 auto 0;height:120px;background:radial-gradient(circle at top right, rgba(211,177,123,.18), transparent 55%);pointer-events:none}
#accountModal .accountStatGrid{grid-template-columns:repeat(3,minmax(0,1fr))}
#accountModal .accountDashActions .btn{min-height:48px}
#accountModal .accountInsightCard{margin:0;align-self:start}
#accountModal .accountSectionTitle--recent,#accountModal #accountRecentList{grid-column:1/-1}
#accountModal .accountSectionTitle--recent{margin-top:0;padding-top:0}
#accountModal .accountRecentList{grid-template-columns:1fr}
#accountModal .accountDashTitle{max-width:18ch}
#accountModal .accountDashText{max-width:56ch}
#accountModal .accountSectionTitle--tools{margin-top:20px}
#accountModal .accountDashActions--tools .btn{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08)}
#accountModal .accountStatCard{min-height:112px;display:flex;flex-direction:column;justify-content:space-between}
#accountModal .accountInsightText{font-size:14px}
@media (max-width:820px){#accountModal .accountUserView{grid-template-columns:1fr}#accountModal .accountStatGrid{grid-template-columns:1fr}#accountModal .accountSectionTitle--recent{margin-top:2px}}


.accountNotesCard{margin-top:14px;padding:16px 18px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:linear-gradient(180deg,rgba(18,18,20,.96),rgba(13,13,15,.9));box-shadow:0 14px 40px rgba(0,0,0,.18)}
.accountNotesInput{min-height:110px;width:100%;margin:12px 0 10px;resize:vertical}
.accountDashActions .btn,.accountDashActions--tools .btn{min-height:46px}
.accountInsightCard{margin-bottom:14px}
@media (min-width: 980px){
  #accountUserView{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.95fr);gap:18px;align-items:start}
  #accountUserView .accountPanel{grid-column:1}
  #accountUserView .accountSectionTitle--recent{grid-column:2;order:2;margin-top:0}
  #accountUserView .accountInsightCard{grid-column:2;order:1;margin-top:0}
  #accountUserView .accountNotesCard{grid-column:2;order:3;margin-top:0}
  #accountUserView .accountRecentList{grid-column:1 / -1;order:4}
}


/* Stage 3.5.1 hero + dashboard real pass */
.heroSub{margin-top:6px}
.heroHelper{max-width:560px}
#searchInput::placeholder,#chatInput::placeholder{letter-spacing:0}
#accountModal .accountUserView{gap:18px}
#accountModal .accountPanel{padding:24px 24px 22px}
#accountModal .accountDashTitle{font-size:28px;max-width:14ch}
#accountModal .accountDashText{font-size:15px;line-height:1.65;color:#c8bbaf}
#accountModal .accountStatGrid{margin-top:20px;gap:12px}
#accountModal .accountStatCard{background:linear-gradient(180deg,#f7f2ea,#efe4d6);border-color:rgba(17,11,5,.08);box-shadow:0 12px 30px rgba(0,0,0,.12)}
#accountModal .accountStatLabel{color:#8f7450}
#accountModal .accountDashActions .btn,#accountModal .accountDashActions--tools .btn{min-height:50px;border-radius:16px;font-weight:700}
#accountModal .accountDashActions--tools{display:grid;grid-template-columns:1fr 1fr;gap:10px}
#accountModal .accountDashActions--tools .btn{background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.025));border:1px solid rgba(255,255,255,.08)}
#accountModal .accountInsightCard,#accountModal .accountNotesCard{padding:18px 18px 16px;border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.022));border:1px solid rgba(255,255,255,.08)}
#accountModal .accountRecentList{display:grid;gap:12px}
#accountModal .accountRecentList .accountRecentCard{padding:18px 18px 16px;border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018))}
#accountModal .accountSectionTitle--recent{font-size:12px;letter-spacing:.14em;color:#c7a66d}
@media (max-width:820px){
  #accountModal .accountDashActions--tools{grid-template-columns:1fr}
  #accountModal .accountDashTitle{font-size:24px}
}


/* Stage 3.6 retention engine */
.heroSampleCard{width:min(100%,560px);margin:12px auto 0;padding:14px 16px;border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.022));border:1px solid rgba(255,255,255,.08);box-shadow:0 18px 48px rgba(0,0,0,.18);text-align:left}
.heroSampleEyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#c7a66d;margin-bottom:8px}
.heroSampleQuote{font-size:15px;font-weight:700;color:#f3ede4;line-height:1.45;margin-bottom:8px}
.heroSampleMeaning{font-size:13px;color:#ccbfb2;line-height:1.55}
#accountModal .accountRetentionGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0 0}
#accountModal .accountMiniCard{padding:18px;border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));border:1px solid rgba(255,255,255,.08)}
#accountModal .accountMiniTitle{font-size:16px;font-weight:700;color:#f4ede5;margin:4px 0 10px}
#accountModal .accountMiniBody{font-size:14px;line-height:1.6;color:#cdc0b4}
#accountModal .accountToolChip{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);margin:0 8px 8px 0;color:#f3ede4;font-size:13px;font-weight:600}
#accountModal .accountInsightCard{box-shadow:0 20px 48px rgba(0,0,0,.18)}
#accountModal .accountPanel,#accountModal .accountNotesCard,#accountModal .accountRecentCard,#accountModal .accountMiniCard{box-shadow:0 18px 44px rgba(0,0,0,.16)}
#accountModal .accountPanel{background:linear-gradient(180deg,#111112,#0d0d0f);border:1px solid rgba(255,255,255,.08);border-radius:24px}
#accountModal .accountDashActions{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:10px}
#accountModal .accountDashActions .btn.gold{box-shadow:0 14px 36px rgba(198,166,106,.16)}
@media (max-width:820px){
  .heroSampleCard{padding:13px 14px;margin-top:10px}
  #accountModal .accountRetentionGrid{grid-template-columns:1fr}
  #accountModal .accountDashActions{grid-template-columns:1fr}
}


/* Stage 3.8 dashboard audit pass */
#accountModal{z-index:12020!important}
#savedChatsModal,#savedChatPreviewModal,#saveTitleModal,#analysisModal,#replyGenModal,#consultModal,#consultDetailModal{z-index:12040!important}
#accountModal .modalCard.accountModalCard{width:min(720px,calc(100vw - 20px));max-height:calc(100dvh - 20px);padding:0;overflow:auto;border-radius:30px;background:linear-gradient(180deg,#0f1012 0%,#0b0c0f 100%)!important}
#accountModal .aboutTop{position:sticky;top:0;z-index:3;margin:0;padding:22px 22px 18px;background:linear-gradient(180deg, rgba(15,16,18,.98) 0%, rgba(15,16,18,.94) 72%, rgba(15,16,18,.78) 100%);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
#accountModal .aboutBody{padding:18px 18px 24px;background:transparent!important}
#accountModal .accountUserView{display:grid;grid-template-columns:1fr;gap:14px}
#accountModal .accountPanel,#accountModal .accountOfferCard,#accountModal .accountInsightCard,#accountModal .accountMiniCard,#accountModal .accountRecentCard,#accountModal .accountEmpty{background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018))!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:26px!important;box-shadow:0 22px 54px rgba(0,0,0,.22)!important}
#accountModal .accountPanel,#accountModal .accountOfferCard,#accountModal .accountInsightCard,#accountModal .accountMiniCard,#accountModal .accountRecentCard,#accountModal .accountEmpty{padding:20px}
#accountModal .accountHeroTop{display:grid;grid-template-columns:1fr;gap:14px;align-items:start}
#accountModal .accountDashTitle{font-size:28px;line-height:1.05;font-weight:760;max-width:10ch;margin-bottom:8px}
#accountModal .accountDashText{font-size:15px;line-height:1.62;color:#c8beb3;max-width:30ch}
#accountModal #accountLogoutBtn{width:100%;min-height:48px;border-radius:18px}
#accountModal .accountStatGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}
#accountModal .accountStatCard{min-height:112px;padding:18px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.025))!important;color:#f7f1e8!important}
#accountModal .accountStatCard:nth-child(3){grid-column:1 / -1;min-height:auto}
#accountModal .accountStatLabel{color:#c5a673!important;letter-spacing:.14em;margin-bottom:0}
#accountModal .accountStatValue{font-size:40px;line-height:1;color:#f7f1e8!important}
#accountModal .accountStatValue--small{font-size:17px;line-height:1.35;word-break:normal}
#accountModal .accountDashActions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
#accountModal .accountDashActions .btn{width:100%;min-width:0;min-height:52px;padding:0 14px;border-radius:18px;font-weight:720}
#accountModal #accountSaveCurrentBtn{grid-column:1 / -1}
#accountModal #accountRefreshChatsBtn{display:none!important}
#accountModal .accountOfferCard{background:linear-gradient(180deg,rgba(211,177,123,.12),rgba(255,255,255,.02))!important}
#accountModal .accountMiniTitle,#accountModal .accountInsightTitle{font-size:18px;line-height:1.24;margin:6px 0 8px}
#accountModal .accountMiniBody,#accountModal .accountInsightText{font-size:15px;line-height:1.6;color:#c8beb3}
#accountModal .accountDashActions--consults{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
#accountModal .accountDashActions--consults .btn{min-height:50px}
#accountModal .accountDashActions--consults .btn.gold{grid-column:1 / -1}
#accountModal .accountMiniCard--resume{display:grid;gap:10px}
#accountModal .accountSectionTitle--recent{margin:2px 4px 0;color:#f3ede4!important;letter-spacing:.16em}
#accountModal .accountRecentList{display:grid;gap:12px;margin-top:0}
#accountModal .accountRecentTop{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}
#accountModal .accountNotesCard,#accountModal .accountRetentionGrid,.accountSectionTitle--tools,#accountPatternsText,#accountNotesInput{display:none!important}
@media (max-width:420px){
  #accountModal .accountStatGrid,#accountModal .accountDashActions,#accountModal .accountDashActions--consults{grid-template-columns:1fr}
  #accountModal .accountStatCard:nth-child(3),#accountModal #accountSaveCurrentBtn,#accountModal .accountDashActions--consults .btn.gold{grid-column:auto}
}

/* Stage 3 final dashboard */
#accountModal .modalCard.accountModalCard{width:min(760px,calc(100vw - 20px));border-radius:32px;background:
  radial-gradient(circle at top left, rgba(211,177,123,.10), transparent 32%),
  linear-gradient(180deg,#111215 0%,#0b0c0f 100%)!important}
#accountModal .aboutBody{padding:16px 16px 22px}
#accountModal .accountUserView{gap:12px}
#accountModal .accountPanel,
#accountModal .accountOfferCard,
#accountModal .accountInsightCard,
#accountModal .accountMiniCard,
#accountModal .accountRecentCard,
#accountModal .accountEmpty{
  border-radius:28px!important;
  border:1px solid rgba(255,255,255,.08)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02))!important;
  box-shadow:0 24px 60px rgba(0,0,0,.24)!important;
}
#accountModal .accountPanel{padding:22px;background:
  radial-gradient(circle at top left, rgba(211,177,123,.13), transparent 34%),
  linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02))!important}
#accountModal .accountEyebrow,
#accountModal .accountStepEyebrow,
#accountModal .accountStatLabel,
#accountModal .accountSectionTitle--recent{
  color:#c8a46a!important;
  letter-spacing:.16em;
  text-transform:uppercase;
}
#accountModal .accountHeroTop{grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start}
#accountModal .accountDashTitle{font-size:30px;line-height:1.02;font-weight:780;letter-spacing:-.03em;max-width:9ch;margin-bottom:10px}
#accountModal .accountDashText{font-size:14px;line-height:1.65;color:#c9c0b7;max-width:34ch}
#accountModal .accountEmailValue{margin-top:4px;font-size:15px;color:#f3ede4;word-break:break-word}
#accountModal #accountLogoutBtn{width:auto;min-width:116px;min-height:46px;padding:0 16px;border-radius:16px;align-self:start}
#accountModal .accountStatGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}
#accountModal .accountStatCard{min-height:104px;padding:16px;border-radius:22px;justify-content:space-between;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.028))!important}
#accountModal .accountStatCard:nth-child(3){grid-column:auto;min-height:104px}
#accountModal .accountStatValue{font-size:36px}
#accountModal .accountStatValue--small{font-size:15px;line-height:1.45;color:#f6efe5}
#accountModal .accountDashActions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
#accountModal .accountDashActions .btn{min-height:54px;padding:0 14px;border-radius:18px;font-weight:730;justify-content:center}
#accountModal #accountSaveCurrentBtn{grid-column:1 / -1;min-height:56px}
#accountModal .accountInsightCard,#accountModal .accountMiniCard{padding:18px 20px}
#accountModal .accountInsightTitle,#accountModal .accountMiniTitle{font-size:19px;line-height:1.2;margin:6px 0 8px;color:#f6efe5}
#accountModal .accountInsightText,#accountModal .accountMiniBody{font-size:14px;line-height:1.65;color:#cbc1b7}
#accountModal .accountToolChip{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.06);margin:0 6px 6px 0}
#accountModal .accountOfferCard{padding:18px 20px;background:
  radial-gradient(circle at top left, rgba(211,177,123,.12), transparent 34%),
  linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02))!important}
#accountModal .accountDashActions--consults{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
#accountModal .accountDashActions--consults .btn{min-height:48px;border-radius:16px}
#accountModal .accountDashActions--consults .btn.gold{grid-column:span 3}
#accountModal .accountSectionTitle--recent{margin:2px 6px 0;font-size:11px}
#accountModal .accountRecentList{gap:10px}
#accountModal .accountRecentCard,#accountModal .accountEmpty{padding:18px 18px 16px}
#accountModal .accountRecentTitle{font-size:16px;line-height:1.3;color:#f6efe5}
#accountModal .accountRecentDate{font-size:12px;color:#bfb4a8}
#accountModal .accountRecentCard .btn{min-height:40px;padding:0 14px;border-radius:14px}
#accountModal .accountEmptyTitle{font-size:17px;color:#f6efe5;margin-bottom:6px}
#accountModal .accountEmptyText{font-size:14px;line-height:1.6;color:#c9c0b7}
#accountModal .accountNotesCard,#accountModal .accountRetentionGrid,.accountSectionTitle--tools,#accountPatternsText,#accountNotesInput{display:none!important}

@media (max-width:640px){
  #accountModal .modalCard.accountModalCard{width:min(100vw - 16px,760px);max-height:calc(100dvh - 12px);border-radius:28px}
  #accountModal .aboutTop{padding:20px 18px 16px}
  #accountModal .aboutBody{padding:14px 14px 20px}
  #accountModal .accountPanel,#accountModal .accountOfferCard,#accountModal .accountInsightCard,#accountModal .accountMiniCard,#accountModal .accountRecentCard,#accountModal .accountEmpty{padding:18px}
  #accountModal .accountHeroTop{grid-template-columns:1fr;gap:14px}
  #accountModal .accountDashTitle{font-size:28px;max-width:10ch}
  #accountModal #accountLogoutBtn{width:100%;min-height:46px}
  #accountModal .accountStatGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  #accountModal .accountStatCard:nth-child(3){grid-column:1 / -1;min-height:auto}
  #accountModal .accountDashActions{grid-template-columns:repeat(2,minmax(0,1fr))}
  #accountModal #accountSaveCurrentBtn{grid-column:1 / -1}
  #accountModal .accountDashActions--consults{grid-template-columns:repeat(2,minmax(0,1fr))}
  #accountModal .accountDashActions--consults .btn.gold{grid-column:1 / -1}
}
@media (max-width:420px){
  #accountModal .accountStatGrid,#accountModal .accountDashActions,#accountModal .accountDashActions--consults{grid-template-columns:1fr}
  #accountModal .accountStatCard:nth-child(3),#accountModal #accountSaveCurrentBtn,#accountModal .accountDashActions--consults .btn.gold{grid-column:auto}
  #accountModal .accountStatValue{font-size:34px}
}


#accountModal .accountRelationshipList{display:grid;gap:10px;margin-top:14px}
#accountModal .accountRelationshipCard{border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.024));border-radius:22px;padding:16px}
#accountModal .accountRelationshipTop{display:flex;gap:10px;justify-content:space-between;align-items:flex-start}
#accountModal .accountRelationshipName{font-size:17px;font-weight:760;color:#f6efe5;line-height:1.2}
#accountModal .accountRelationshipMeta{font-size:12px;color:#baae9f;margin-top:4px}
#accountModal .accountRelationshipScore{min-width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:rgba(211,177,123,.12);border:1px solid rgba(211,177,123,.18);font-weight:800;color:#f6efe5}
#accountModal .accountRelationshipSummary{font-size:14px;line-height:1.6;color:#cbc1b7;margin-top:10px}
#accountModal .accountRelationshipNext{font-size:13px;line-height:1.6;color:#f0e7db;margin-top:10px;padding:10px 12px;border-radius:16px;background:rgba(255,255,255,.04)}
#accountModal .accountRelationshipActions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
#accountModal .accountRelationshipActions .btn{min-height:40px;border-radius:14px;padding:0 12px}
#accountModal .accountRelationshipEmpty{padding:14px 16px;border:1px dashed rgba(255,255,255,.14);border-radius:18px;color:#cbc1b7;font-size:14px;line-height:1.6}
#accountModal .accountFocusBadge{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:rgba(211,177,123,.12);border:1px solid rgba(211,177,123,.16);font-size:12px;color:#f5ecdf;margin-top:10px}
@media (max-width:640px){
  #accountModal .accountRelationshipTop{align-items:stretch}
  #accountModal .accountRelationshipScore{min-width:48px;height:48px}
}

.relationshipDetailModalCard{max-width:1100px}
.relationshipDetailBody{display:flex;flex-direction:column;gap:14px}
.relationshipDetailHero{display:grid;grid-template-columns:120px 1fr;gap:14px;align-items:center}
.relationshipDetailScoreWrap{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:14px;text-align:center}
.relationshipDetailScore{font-size:34px;font-weight:800;line-height:1}
.relationshipDetailSummary{font-size:15px;line-height:1.55}
.relationshipDetailNextStep{margin-top:8px;font-size:14px;line-height:1.5}
.relationshipDetailGrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.relationshipDetailGrid--columns{align-items:start}
.relationshipDetailGrid--form{grid-template-columns:1fr 1fr}
.relationshipDetailSection{min-height:100%}
.relationshipMemoryList{margin:10px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:8px}
.relationshipTimelineList,.relationshipDetailList{display:flex;flex-direction:column;gap:10px;margin-top:8px}
.relationshipTimelineItem{display:grid;grid-template-columns:120px 1fr;gap:10px;align-items:start}
.relationshipTimelineDate{font-size:12px;color:var(--muted,#a9a9b3);padding-top:4px}
.relationshipTimelineCard,.relationshipDetailItem{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:12px}
.relationshipDetailItem{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.relationshipDetailItemTitle{font-weight:700;font-size:14px}
.relationshipDetailItemMeta{font-size:12px;color:var(--muted,#a9a9b3);margin-top:4px}
.relationshipDetailItemBody,.relationshipTimelineBody{font-size:14px;line-height:1.55;margin-top:6px;white-space:pre-wrap}
.relationshipTimelineTitle{font-size:14px;font-weight:700}
@media (max-width: 820px){
  .relationshipDetailHero,.relationshipDetailGrid,.relationshipDetailGrid--form,.relationshipTimelineItem{grid-template-columns:1fr}
  .relationshipDetailItem{flex-direction:column}
}


.accountChipRow{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.relationshipDetailItemBody{white-space:pre-wrap}


/* Production Modal Pass */
[hidden]{display:none !important}
#accountModal{z-index:12050!important}
#accountModal .modalCard.accountModalCard{
  width:min(680px, calc(100vw - 16px));
  max-height:min(92dvh, 860px);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border-radius:30px;
  background:
    radial-gradient(circle at top left, rgba(211,177,123,.12), transparent 28%),
    linear-gradient(180deg,#101114 0%,#0b0c0f 100%) !important;
}
#accountModal .aboutTop{
  position:sticky; top:0; z-index:5;
  padding:20px 20px 16px;
  background:linear-gradient(180deg, rgba(16,17,20,.98) 0%, rgba(16,17,20,.94) 72%, rgba(16,17,20,.82) 100%);
  border-bottom:1px solid rgba(255,255,255,.08);
  backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
}
#accountModal .aboutBody{padding:14px; overflow-y:auto; overscroll-behavior:contain;}
#accountModal .accountGuestView,
#accountModal .accountUserView{display:grid; gap:14px;}
#accountModal .accountStepCard,
#accountModal .accountPanel,
#accountModal .accountOfferCard,
#accountModal .accountInsightCard,
#accountModal .accountMiniCard,
#accountModal .accountRecentCard,
#accountModal .accountEmpty{
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02)) !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:24px !important;
  box-shadow:0 18px 44px rgba(0,0,0,.22) !important;
}
#accountModal .accountStepCard,
#accountModal .accountPanel,
#accountModal .accountOfferCard,
#accountModal .accountInsightCard,
#accountModal .accountMiniCard,
#accountModal .accountRecentCard,
#accountModal .accountEmpty{padding:18px !important;}
#accountModal .accountPanel{display:grid; gap:16px;}
#accountModal .accountHeroTop{display:grid; grid-template-columns:1fr auto; gap:14px; align-items:start;}
#accountModal .accountDashTitle{font-size:28px; line-height:1.02; font-weight:780; letter-spacing:-.03em; max-width:11ch; margin-bottom:8px;}
#accountModal .accountDashText{font-size:14px; line-height:1.6; color:#c8beb2; max-width:38ch;}
#accountModal .accountEmailValue{font-size:15px; color:#f4ede4; word-break:break-word;}
#accountModal .accountStatGrid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:0;}
#accountModal .accountStatCard{min-height:96px; padding:16px; border-radius:20px; background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025)) !important;}
#accountModal .accountStatLabel{color:#c8a46a !important; letter-spacing:.14em; text-transform:uppercase; font-size:11px;}
#accountModal .accountStatValue{font-size:32px; line-height:1.05; color:#f6efe6 !important;}
#accountModal .accountStatValue--small{font-size:15px; line-height:1.45;}
#accountModal .accountDashActions{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:0;}
#accountModal #accountSaveCurrentBtn{grid-column:1 / -1;}
#accountModal .accountDashActions--consults{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px;}
#accountModal .accountDashActions--confirm{grid-template-columns:1fr; margin-top:12px;}
#accountModal .btn,
#accountModal .fieldInput,
#accountModal select.fieldInput,
#accountModal textarea.fieldInput{min-height:50px; border-radius:16px;}
#accountModal .fieldInput,
#accountModal select.fieldInput,
#accountModal textarea.fieldInput{
  width:100%; background:#12141a; color:#f5eee4; border:1px solid rgba(255,255,255,.10);
  padding:14px 16px; font-size:16px; box-shadow:none;
}
#accountModal textarea.fieldInput{min-height:108px; resize:vertical;}
#accountModal .fieldInput::placeholder{color:#8f8476;}
#accountModal .fieldInput:focus,
#accountModal select.fieldInput:focus,
#accountModal textarea.fieldInput:focus{
  border-color:rgba(211,177,123,.5); outline:none; box-shadow:0 0 0 4px rgba(211,177,123,.12);
}
#accountModal .accountStatus{margin-top:10px; min-height:20px; font-size:13px; line-height:1.5; color:#d8cabd;}
#accountModal .accountStatus.isOk{color:#b7ddc4;}
#accountModal .accountInlineActions{display:flex; flex-wrap:wrap; gap:8px; margin-top:10px;}
#accountModal .accountInlineLink,
#accountModal .inlineLink{color:#d5b079; background:none; border:0; padding:0;}
#accountModal .accountStepEyebrow,
#accountModal .accountEyebrow,
#accountModal .accountSectionTitle--recent{color:#c8a46a !important; text-transform:uppercase; letter-spacing:.16em; font-size:11px;}
#accountModal .accountMiniTitle,
#accountModal .accountInsightTitle{font-size:18px; line-height:1.25; color:#f6efe5; margin:6px 0 8px;}
#accountModal .accountMiniBody,
#accountModal .accountInsightText,
#accountModal .accountRelationshipSummary,
#accountModal .accountRelationshipNext,
#accountModal .accountEmptyText{font-size:14px; line-height:1.6; color:#cbc1b7;}
#accountModal .accountRecentList{display:grid; gap:10px;}
#accountModal .accountRecentTop{display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:start;}
#accountModal #accountConsultCard,
#accountModal #accountInsightCard,
#accountModal .accountMiniCard--resume{display:none !important;}
#accountModal .accountDeleteConfirmBox{margin-top:14px; padding:16px; border-radius:18px; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.08);}
#accountModal .accountDeleteConfirmTitle{font-size:16px; font-weight:700; color:#f5ede2; margin-bottom:6px;}
#accountModal .accountDeleteConfirmText{font-size:14px; line-height:1.6; color:#cbc1b7; margin-bottom:12px;}
#accountModal .accountDeleteConfirmInput{text-transform:uppercase; letter-spacing:.16em; text-align:center; font-weight:700;}
#accountModal .btn.danger{background:linear-gradient(180deg,#8e2e34,#6e1f25); border:1px solid rgba(255,255,255,.08); color:#fff;}
#accountModal .btn.ghost{background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); color:#f4ede4;}
#accountModal .btn{justify-content:center;}
#accountModal .miniNote{color:#a89b8d;}
#accountModal .accountRelationshipList{margin-top:12px;}
#accountModal .accountRelationshipCard{border-radius:20px; padding:15px;}
#accountModal .accountRelationshipActions .btn{min-height:42px; border-radius:14px;}
@media (max-width:640px){
  #accountModal{align-items:flex-end;}
  #accountModal .modalCard.accountModalCard{width:calc(100vw - 10px); max-height:94dvh; border-radius:28px 28px 18px 18px;}
  #accountModal .aboutTop{padding:18px 16px 14px;}
  #accountModal .aboutBody{padding:12px;}
  #accountModal .accountHeroTop{grid-template-columns:1fr;}
  #accountModal #accountLogoutBtn{width:100%;}
}
@media (max-width:430px){
  #accountModal .accountStatGrid,
  #accountModal .accountDashActions,
  #accountModal .accountDashActions--consults{grid-template-columns:1fr;}
  #accountModal #accountSaveCurrentBtn{grid-column:auto;}
  #accountModal .accountDashTitle{font-size:26px;}
  #accountModal .accountStatValue{font-size:30px;}
}


/* Production Modal Pass fix: centered account modal + proper nested modal stacking */
#accountModal{display:grid;place-items:center !important;padding:12px;}
#accountModal .modalCard.accountModalCard{margin:0 auto;align-self:center;justify-self:center;}
@media (max-width:640px){
  #accountModal{place-items:center !important;padding:10px;}
  #accountModal .modalCard.accountModalCard{width:min(680px, calc(100vw - 16px));max-height:min(92dvh, 860px);border-radius:28px;}
}
#relationshipModal,
#relationshipDetailModal,
#savedChatsModal,
#savedChatPreviewModal,
#saveTitleModal,
#termsModal,
#privacyModal,
#confirmModal{z-index:12100;}


/* Production blockers fix pass */
#accountModal{z-index:12020 !important;}
#relationshipModal,#relationshipDetailModal,#savedChatsModal,#savedChatPreviewModal,#saveTitleModal,#confirmModal,#supportModal,#contactModal,#premiumPreviewModal,#analysisModal,#replyGenModal{z-index:13020 !important;}
#accountModal .aboutTop{z-index:2 !important;}
#accountSaveCurrentBtn{display:none !important;}


/* Final production blockers pass */
.modalBack:not(#accountModal){z-index:12150!important;}
#relationshipModal,#relationshipDetailModal,#savedChatsModal,#savedChatPreviewModal,#saveTitleModal,#confirmModal,#contactModal,#premiumPreviewModal{z-index:12160!important;}
.relationshipScoreLegend{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-right:8px;vertical-align:middle}
.relationshipScoreLegend.isGood{background:rgba(85,183,116,.14);border:1px solid rgba(85,183,116,.28);color:#bfe8c8}
.relationshipScoreLegend.isMid{background:rgba(200,169,106,.14);border:1px solid rgba(200,169,106,.24);color:#f0d9ac}
.relationshipScoreLegend.isWarn{background:rgba(255,158,76,.12);border:1px solid rgba(255,158,76,.22);color:#ffd1a0}
.relationshipScoreLegend.isRisk{background:rgba(255,107,107,.12);border:1px solid rgba(255,107,107,.24);color:#ffc1c1}
#relationshipDetailSummary .relationshipScoreLegend{margin-bottom:8px}
#contactFeedback.isOk{color:#9ad1a7!important}
#contactFeedback.isError{color:#ff9b9b!important}


/* ==== css/stage23-freeze.css ==== */
:root{
  --zf-action-size:42px;
  --zf-action-radius:14px;
  --zf-action-border:rgba(255,255,255,.11);
  --zf-action-bg:linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.022));
  --zf-action-surface:rgba(12,12,15,.82);
  --zf-action-ink:#f5efe8;
  --zf-action-ink-soft:rgba(245,239,232,.92);
  --zf-action-shadow:inset 0 1px 0 rgba(255,255,255,.04), 0 14px 32px rgba(0,0,0,.24);
  --zf-action-hover-border:rgba(211,177,123,.34);
  --zf-action-hover-bg:linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.028));
}

.topbarRight{
  gap:10px !important;
}

.topbarRight .actionIcon,
.chatHeaderRight .actionIcon,
#accessBtn.actionIcon--account{
  width:var(--zf-action-size) !important;
  height:var(--zf-action-size) !important;
  min-width:var(--zf-action-size) !important;
  padding:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:var(--zf-action-radius) !important;
  border:1px solid var(--zf-action-border) !important;
  background:var(--zf-action-bg), var(--zf-action-surface) !important;
  color:var(--zf-action-ink) !important;
  box-shadow:var(--zf-action-shadow) !important;
  backdrop-filter:blur(14px) saturate(120%);
  -webkit-backdrop-filter:blur(14px) saturate(120%);
  transition:transform .16s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

.topbarRight .actionIcon svg,
.chatHeaderRight .actionIcon svg,
#accessBtn.actionIcon--account svg{
  width:19px !important;
  height:19px !important;
  display:block !important;
  opacity:1 !important;
  stroke:currentColor;
}

.topbarRight .actionIcon:hover,
.chatHeaderRight .actionIcon:hover,
#accessBtn.actionIcon--account:hover{
  transform:translateY(-1px);
  border-color:var(--zf-action-hover-border) !important;
  background:var(--zf-action-hover-bg), rgba(12,12,15,.88) !important;
}

.topbarRight .actionIcon:focus-visible,
.chatHeaderRight .actionIcon:focus-visible,
#accessBtn.actionIcon--account:focus-visible{
  outline:none;
  border-color:rgba(211,177,123,.45) !important;
  box-shadow:0 0 0 3px rgba(211,177,123,.12), var(--zf-action-shadow) !important;
}

#accessBtn.actionIcon--account{
  color:var(--zf-action-ink) !important;
}

#accessBtn.actionIcon--account .actionIconLabel{
  display:none !important;
}

.topbarRight .actionIcon:active,
.chatHeaderRight .actionIcon:active,
#accessBtn.actionIcon--account:active{
  transform:translateY(0) scale(.985);
}

#accountModal .aboutTitle,
#savedChatsModal .aboutTitle,
#saveTitleModal .aboutTitle,
#savedChatPreviewModal .aboutTitle{
  letter-spacing:-.02em;
}

#accountModal .modalCard,
#savedChatsModal .modalCard,
#saveTitleModal .modalCard,
#savedChatPreviewModal .modalCard{
  border-radius:26px !important;
}

.accountSectionTitle--recent{
  margin-top:22px !important;
  margin-bottom:12px !important;
  padding-top:0 !important;
}

.accountInsightCard{
  margin-top:0 !important;
  padding:18px 20px !important;
}

.accountInsightTitle{
  font-size:15px !important;
}

.accountInsightText{
  font-size:13px !important;
  line-height:1.6 !important;
  color:#cfc0b2 !important;
}

#savedChatsModal .savedChatItem,
#accountModal .accountRecentCard,
#accountModal .accountEmpty,
#savedChatsModal .savedChatsEmpty{
  border-radius:22px !important;
}

#savedChatsModal .savedChatTitle,
#accountModal .accountRecentTitle{
  letter-spacing:-.01em;
}

#savedChatsModal .savedChatActions .btn,
#accountModal .accountDashActions .btn,
#accountModal .accountRecentCard .btn{
  min-height:40px;
}

#savedChatsModal .savedChatBtn,
#accountModal .btn,
#saveTitleModal .btn,
#savedChatPreviewModal .btn{
  border-radius:14px !important;
}

#savedChatsModal .savedChatsEmptyText,
#savedChatsModal .savedChatsIntroText,
#accountModal .accountDashText,
#accountModal .accountIntro,
#accountModal .accountInsightText{
  text-wrap:pretty;
}

@media (max-width:640px){
  .topbarRight{gap:8px !important;}
  .topbarRight .actionIcon,
  .chatHeaderRight .actionIcon,
  #accessBtn.actionIcon--account{
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    border-radius:13px !important;
  }
  .topbarRight .actionIcon svg,
  .chatHeaderRight .actionIcon svg,
  #accessBtn.actionIcon--account svg{
    width:18px !important;
    height:18px !important;
  }
  .accountSectionTitle--recent{
    margin-top:18px !important;
  }
  .accountInsightCard{
    padding:16px 16px 17px !important;
  }
}


/* ==== css/stage24-runtime-cleanup.css ==== */
/* Stage 2.4 — runtime cleanup + asset prune */
:root{
  --zf-header-action-size:42px;
  --zf-header-icon-size:19px;
  --zf-button-radius:14px;
}

#accessBtn.actionIcon--account,
.topbarRight .actionIcon,
.chatHeaderRight .actionIcon{
  box-sizing:border-box;
}

#accessBtn.actionIcon--account svg,
.topbarRight .actionIcon svg,
.chatHeaderRight .actionIcon svg{
  vector-effect:non-scaling-stroke;
  shape-rendering:geometricPrecision;
}

.btn,
.savedChatBtn,
.accountDashActions .btn,
.savedChatActions .btn{
  min-height:42px;
}

.btn.btnSmall,
.accountRecentCard .btn,
.savedChatActions .btn.btnSmall{
  min-height:38px;
}

#accountModal .accountStepTitle,
#savedChatsModal .savedChatsTitle,
#saveTitleModal .saveTitleModalTitle{
  text-wrap:balance;
}

@media (max-width:640px){
  .btn,
  .savedChatBtn,
  .accountDashActions .btn,
  .savedChatActions .btn{
    min-height:44px;
  }
}

/* Stage 2.5 feedback polish */
.reportReasons{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:12px;
}
.reportReasonChip{
  appearance:none;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  color:rgba(255,245,236,.92);
  border-radius:999px;
  padding:10px 14px;
  font:inherit;
  font-size:13px;
  font-weight:650;
  line-height:1;
  cursor:pointer;
  transition:border-color .18s ease, background .18s ease, transform .18s ease, color .18s ease;
}
.reportReasonChip:hover{ border-color:rgba(209,174,116,.34); background:rgba(209,174,116,.08); }
.reportReasonChip.isSelected{
  border-color:rgba(209,174,116,.52);
  background:rgba(209,174,116,.16);
  color:#f8ead1;
}

.send[aria-busy='true']::after,
.send[data-loading='1']::after{
  width:16px;
  height:16px;
  border-width:1.75px;
  border-color:rgba(23,21,16,.88);
  border-right-color:transparent;
  animation: uiSpin .9s linear infinite;
}

.btn[data-loading='1']::after{
  width:13px;
  height:13px;
  border-width:1.75px;
}


#sendBtn{
  position:relative;
  width:46px;
  min-width:46px;
  height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
}
#sendBtn[aria-busy='true'],
#sendBtn[data-loading='1']{
  transform:none !important;
}
#sendBtn[aria-busy='true']::after,
#sendBtn[data-loading='1']::after{
  width:15px;
  height:15px;
  border-width:1.6px;
  border-color:rgba(20,18,14,.92);
  border-top-color:transparent;
  border-right-color:transparent;
  animation: uiSpin 1s linear infinite;
}
.reportReasons{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:10px;
}
#reportModal .row .btn{
  min-height:44px;
}


/* ==== css/stage32-mobile-app-shell.css ==== */
.micro--hero{margin-top:12px}
.heroTrust{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:10px;color:rgba(245,240,234,.76);font-size:12.5px;letter-spacing:.01em;text-shadow:0 10px 24px rgba(0,0,0,.32)}
.heroTrustDot{width:4px;height:4px;border-radius:999px;background:rgba(255,255,255,.38);flex:0 0 4px}
.heroExamplesWrap--modal{margin-top:14px}



/* ==== css/stage33-conversion-v6.css ==== */
.heroTrust{margin-top:10px;padding:0 18px}
.heroTrustItem{white-space:normal;max-width:360px;text-align:center;line-height:1.35}



.edgeDock{position:fixed;right:0;top:56%;transform:translateY(-50%);pointer-events:none;z-index:9800;transition:opacity .18s ease,transform .18s ease}
.edgeDock.is-hidden{opacity:0;pointer-events:none}
.edgeDock.is-open{transform:translateY(-50%) translateX(-6px)}
.edgeDockBtn{pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;padding:0;border-radius:18px 0 0 18px;border:1px solid rgba(211,177,123,.28);border-right:none;background:linear-gradient(180deg,rgba(18,18,22,.96),rgba(12,12,15,.94));color:#d7b67d;box-shadow:0 18px 40px rgba(0,0,0,.32);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transition:right .18s ease,transform .18s ease,box-shadow .18s ease,border-color .18s ease,opacity .18s ease}
.edgeDockBtn--peek{position:relative;right:-12px!important}
.edgeDockBtn--peek:active,.edgeDockBtn--peek:focus-visible{right:0!important;transform:none}
.edgeDockBtn.is-active{right:0!important;border-color:rgba(211,177,123,.38);box-shadow:0 20px 44px rgba(0,0,0,.34)}
.edgeDockBtn__icon{display:inline-flex;align-items:center;justify-content:center;width:19px;min-width:19px;font-size:0}
.edgeDockBtn__icon svg{width:19px;height:19px;display:block}
.edgeDockBtn__label{display:none}

.edgeDrawer{position:fixed;right:14px;z-index:12024;width:min(290px,calc(100vw - 28px));transform:none}
.edgeDrawer[hidden]{display:none!important}
.edgeDrawerCard{background:rgba(14,14,17,.94);border:1px solid rgba(255,255,255,.08);box-shadow:0 28px 60px rgba(0,0,0,.36);border-radius:24px;padding:16px;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
.edgeDrawerHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.edgeDrawerEyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#caa96a}
.edgeDrawerTitle{font-size:19px;font-weight:700;color:#f7f1e8;line-height:1.1;margin-top:4px}
.edgeDrawerOption{display:flex;width:100%;flex-direction:column;align-items:flex-start;text-align:left;padding:14px 15px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);color:#f7f1e8;margin-top:10px}
.edgeDrawerOption__title{font-size:15px;font-weight:700}
.edgeDrawerOption__meta{font-size:12.5px;color:rgba(247,241,232,.7);margin-top:4px}
.edgeDrawerOpenAll{width:100%;margin-top:12px}

.search{position:relative}
.searchGhost{position:absolute;left:16px;right:58px;top:50%;transform:translateY(-50%);pointer-events:none;color:rgba(245,245,245,.6);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:15.5px;line-height:1.2;transition:opacity .18s ease}
.searchGhost.is-hidden{opacity:0}
.searchGhost.has-caret::after{content:"";display:inline-block;width:1px;height:1.05em;margin-left:3px;vertical-align:-0.12em;background:rgba(245,245,245,.62);animation:zfCaret 1s steps(1,end) infinite}
@keyframes zfCaret{50%{opacity:0}}
.search input{position:relative;z-index:1}
.search input::placeholder{color:transparent!important}

@media (max-width:640px){
  .heroTrustItem{max-width:320px;font-size:12px}
  .edgeDock{top:56%}
  .edgeDockBtn--peek{right:-10px!important}
  .edgeDrawer{right:10px;width:min(286px,calc(100vw - 20px))}
  .searchGhost{left:14px;right:54px;font-size:15px}
}
@media (max-width:390px){
  .searchGhost{font-size:14px}
}




.heroExample{margin:8px 0 0;font-size:13px;line-height:1.45;color:rgba(255,255,255,.62);max-width:320px;text-align:center}.heroTrust{margin-top:10px}.heroTrustItem{font-size:12px;letter-spacing:.01em;color:rgba(255,255,255,.6)}.premiumPayTrust{margin-top:10px;text-align:center;font-size:12px;color:rgba(255,255,255,.62)}

.heroExample{display:none!important;}
.premiumOfferFeatured{border-color:rgba(232,201,143,.42)!important;box-shadow:0 0 0 1px rgba(232,201,143,.18), inset 0 1px 0 rgba(255,255,255,.05), 0 12px 32px rgba(0,0,0,.18)!important;background:linear-gradient(180deg, rgba(232,201,143,.09), rgba(255,255,255,.035))!important;}
.premiumOfferFeatured .premiumPreviewOffer__price, .premiumOfferFeatured .premiumCodeOffer__price{color:#fff7e7;}
.premiumOfferFeatured .premiumPreviewOffer__chips span{border-color:rgba(232,201,143,.22);background:rgba(232,201,143,.08);}


/* ==== css/stage1-theme-foundation-v2.css ==== */
:root{
  --zf-bg:#070809;
  --zf-bg-elev:#0d0f12;
  --zf-bg-soft:#121418;
  --zf-surface-1:rgba(15,17,21,.78);
  --zf-surface-2:rgba(255,255,255,.045);
  --zf-surface-3:rgba(255,255,255,.072);
  --zf-border-soft:rgba(255,255,255,.08);
  --zf-border-strong:rgba(255,255,255,.14);
  --zf-text-1:#f6f1ea;
  --zf-text-2:rgba(246,241,234,.74);
  --zf-text-3:rgba(246,241,234,.54);
  --zf-gold:#d4b078;
  --zf-gold-strong:#e0bf8e;
  --zf-gold-deep:#9b7648;
  --zf-danger:#b1525a;
  --zf-shadow-lg:0 26px 80px rgba(0,0,0,.42);
  --zf-shadow-md:0 18px 48px rgba(0,0,0,.26);
  --zf-shadow-sm:0 12px 28px rgba(0,0,0,.16);
  --zf-radius-xl:28px;
  --zf-radius-lg:22px;
  --zf-radius-md:18px;
  --zf-radius-sm:14px;
  --zf-blur:22px;
  --zf-focus:0 0 0 3px rgba(212,176,120,.20);
  --zf-topbar-bg:rgba(7,8,10,.56);
}

html,body{background:
  radial-gradient(circle at top, rgba(212,176,120,.06), transparent 30%),
  linear-gradient(180deg,#070809 0%,#090b0d 100%);
  color:var(--zf-text-1);
}
body{
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing:-.011em;
}

/* stage 1 foundation: unify premium shell */
.topbar{
  height:68px;
  padding:0 max(14px,env(safe-area-inset-left)) 0 max(14px,env(safe-area-inset-right));
  background:linear-gradient(180deg, rgba(7,8,10,.78), var(--zf-topbar-bg));
  border-bottom:1px solid rgba(255,255,255,.06);
  box-shadow:0 10px 30px rgba(0,0,0,.12);
  backdrop-filter:blur(18px) saturate(120%);
  -webkit-backdrop-filter:blur(18px) saturate(120%);
}
.brandMain{
  font-size:15px;
  font-weight:720;
  letter-spacing:-.02em;
  color:var(--zf-text-1);
}
.brandAlt{color:var(--zf-text-2);font-weight:680}
.brandSub{
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(246,241,234,.48);
}
.topbarRight{gap:8px}

.topbarRight .actionIcon,
.chatHeaderRight .actionIcon,
#accessBtn.actionIcon--account,
.topBtn,
.iconBtn,
#menuBtn,
#newChatBtn{
  width:42px;
  min-width:42px;
  height:42px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025));
  color:var(--zf-text-1);
  box-shadow:0 10px 22px rgba(0,0,0,.14);
  transition:transform .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease, opacity .16s ease;
}
.topbarRight .actionIcon:hover,
.chatHeaderRight .actionIcon:hover,
#accessBtn.actionIcon--account:hover,
.topBtn:hover,
.iconBtn:hover,
#menuBtn:hover,
#newChatBtn:hover{
  border-color:rgba(212,176,120,.24);
  background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.035));
  box-shadow:0 14px 28px rgba(0,0,0,.18);
  transform:translateY(-1px);
}
.topbarRight .actionIcon:focus-visible,
.chatHeaderRight .actionIcon:focus-visible,
#accessBtn.actionIcon--account:focus-visible,
.topBtn:focus-visible,
.iconBtn:focus-visible,
#menuBtn:focus-visible,
#newChatBtn:focus-visible,
.search button:focus-visible,
.btn:focus-visible,
.chip:focus-visible,
input:focus-visible,
textarea:focus-visible,
.edgeDockBtn:focus-visible,
.edgeDrawerOption:focus-visible{
  outline:none;
  box-shadow:var(--zf-shadow-sm), var(--zf-focus);
}
.topbarRight .actionIcon svg,
.chatHeaderRight .actionIcon svg,
#accessBtn.actionIcon--account svg,
.topBtn svg,
.iconBtn svg,
#menuBtn svg,
#newChatBtn svg{width:19px;height:19px;opacity:.96}

.hero{padding-top:68px}
.heroImg{filter:saturate(.94) contrast(1.02) brightness(.92)}
.heroShade{
  background:
    linear-gradient(180deg, rgba(6,7,9,.16) 0%, rgba(6,7,9,.34) 35%, rgba(6,7,9,.72) 100%),
    radial-gradient(circle at 50% 18%, rgba(212,176,120,.10), transparent 36%);
}
.hero::after{
  height:62svh;
  background:linear-gradient(to top, rgba(6,7,9,.9), rgba(6,7,9,.38) 44%, rgba(6,7,9,0) 78%);
}
.center{
  width:min(720px,92vw);
  transform:translateY(-8svh);
  padding:18px 12px calc(20px + env(safe-area-inset-bottom));
}
#heroText,
h1{
  margin:0 0 10px;
  font-size:clamp(34px,6vw,48px);
  line-height:1.02;
  font-weight:760;
  letter-spacing:-.04em;
  text-wrap:balance;
  color:var(--zf-text-1);
  text-shadow:0 18px 44px rgba(0,0,0,.34);
}
.heroHelper{
  margin:0 0 18px;
  max-width:36ch;
  font-size:16px;
  line-height:1.5;
  color:var(--zf-text-2);
  text-shadow:0 12px 28px rgba(0,0,0,.28);
}
.micro--hero{
  color:var(--zf-text-3);
  font-size:12.5px;
  letter-spacing:.01em;
}
.heroTrust,
.heroTrustItem{
  color:rgba(246,241,234,.62);
}
.heroExamplesWrap--modal{margin-top:16px}

.search{
  width:min(100%,560px);
  min-height:64px;
  padding:10px 10px 10px 16px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg, rgba(14,16,19,.84), rgba(10,12,15,.74));
  box-shadow:var(--zf-shadow-lg), inset 0 1px 0 rgba(255,255,255,.04);
  backdrop-filter:blur(var(--zf-blur)) saturate(110%);
  -webkit-backdrop-filter:blur(var(--zf-blur)) saturate(110%);
}
.search:focus-within{
  border-color:rgba(212,176,120,.24);
  background:linear-gradient(180deg, rgba(16,18,22,.92), rgba(11,13,17,.82));
  box-shadow:0 28px 85px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.05), var(--zf-focus);
}
.search input,
.searchGhost{font-size:15.5px}
.search input{
  color:var(--zf-text-1);
  padding-right:4px;
}
.searchGhost{color:rgba(246,241,234,.48)}
.search button,
.btn.gold,
.btn-shimmer,
.btnGold,
.btnPrimary,
.edgeDrawerOpenAll{
  background:linear-gradient(180deg, var(--zf-gold-strong), var(--zf-gold));
  color:#14110c !important;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 12px 30px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.3);
}
.search button{
  width:46px;
  height:46px;
  border-radius:16px;
  font-size:18px;
}
.search button:hover,
.btn.gold:hover,
.btn-shimmer:hover,
.btnGold:hover,
.btnPrimary:hover,
.edgeDrawerOpenAll:hover{
  filter:brightness(1.02);
  transform:translateY(-1px);
}

.btn,
.btnGhost,
.btn.ghost,
.ghost,
.edgeDrawerOption,
.chip,
.topCta,
.topPill,
.item{
  min-height:44px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.024));
  color:var(--zf-text-1);
  box-shadow:var(--zf-shadow-sm);
}
.btn,
.btnGhost,
.btn.ghost,
.ghost,
.topCta,
.topPill,
.item{
  padding:11px 16px;
  font-weight:620;
  letter-spacing:-.01em;
}
.btn.ghost:hover,
.btnGhost:hover,
.ghost:hover,
.edgeDrawerOption:hover,
.chip:hover,
.topCta:hover,
.topPill:hover,
.item:hover{
  border-color:rgba(212,176,120,.18);
  background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03));
}

.chip{
  min-height:38px;
  padding:9px 14px;
  border-radius:999px;
  font-size:13px;
  color:var(--zf-text-2);
  box-shadow:none;
  background:rgba(255,255,255,.04);
}
.chip.gold{
  background:linear-gradient(180deg, rgba(212,176,120,.22), rgba(212,176,120,.14));
  color:var(--zf-text-1);
  border-color:rgba(212,176,120,.24);
}

.panel,
.modalCard,
.modal.appleModal,
.edgeDrawerCard,
.accountPanel,
.accountInsightCard,
.accountNotesCard,
.accountRecentCard,
.savedChatCard,
.savedChatPreview,
.quickPanel,
.sheetPanel,
.premiumPreviewModal .modalCard,
#reportModal .modalCard,
#savedChatsModal .modalCard,
#savedChatPreviewModal .modalCard,
#saveTitleModal .modalCard,
#accountModal .modalCard.accountModalCard{
  background:linear-gradient(180deg, rgba(16,18,22,.96), rgba(10,12,15,.92)) !important;
  border:1px solid rgba(255,255,255,.08) !important;
  box-shadow:0 24px 80px rgba(0,0,0,.34) !important;
  backdrop-filter:blur(24px) saturate(110%);
  -webkit-backdrop-filter:blur(24px) saturate(110%);
}
.modalCard,
.modal.appleModal,
#accountModal .modalCard.accountModalCard{border-radius:28px}
.panel,
.edgeDrawerCard,
.accountPanel,
.accountInsightCard,
.accountNotesCard,
.accountRecentCard,
.quickPanel{border-radius:24px}
.modalBack,
.sheetBack,
.overlay{background:rgba(5,7,10,.58)}

.chatPanel{
  border-radius:30px;
  overflow:hidden;
}
.chatTop{
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0));
  border-bottom:1px solid rgba(255,255,255,.06);
}
.chatTitle{
  color:var(--zf-text-1);
  font-weight:700;
  letter-spacing:-.02em;
}
.composerPill{
  min-height:58px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  box-shadow:0 14px 34px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.03);
}
.composerPill textarea{
  color:var(--zf-text-1);
}
.composerPill textarea::placeholder,
#quickCustom::placeholder{color:rgba(246,241,234,.42)}
.composerPill .moreBtn,
.composerPill .mic,
.composerPill .send{
  width:40px;
  height:40px;
  border-radius:14px;
}
.composerPill .send{
  background:linear-gradient(180deg, var(--zf-gold-strong), var(--zf-gold));
  color:#14110c;
}
.chatBody{scroll-behavior:smooth}

input,
textarea,
select{
  border-radius:16px;
}
input,
textarea{
  transition:border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
textarea,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"]{
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.06);
  color:var(--zf-text-1);
}
textarea:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="number"]:focus{
  border-color:rgba(212,176,120,.2);
  box-shadow:var(--zf-focus);
  outline:none;
}

.edgeDockBtn{
  width:54px;
  height:54px;
  border-radius:20px 0 0 20px;
  border-color:rgba(212,176,120,.26);
  background:linear-gradient(180deg, rgba(18,20,24,.96), rgba(11,13,16,.94));
  color:var(--zf-gold-strong);
  box-shadow:0 18px 42px rgba(0,0,0,.28);
}
.edgeDrawerTitle{letter-spacing:-.03em}
.edgeDrawerOption__meta{color:var(--zf-text-3)}

.aboutTitle,
.modalTitle,
.shareTop,
.quickPanelTitle,
.accountDashTitle,
.accountStepTitle{
  color:var(--zf-text-1);
  letter-spacing:-.03em;
}
.aboutSub,
.quickPanelHint,
.accountDashText,
.accountInsightText,
.accountMiniBody,
.faqA,
.composerLegal,
.inlineHint,
.premiumPayTrust{
  color:var(--zf-text-2);
}
.heroTrustItem,
.aboutText,
.faqItem summary,
.edgeDrawerTitle,
.edgeDrawerOption__title,
.accountMiniTitle,
.accountStatValue,
.accountRecentTitle{
  color:var(--zf-text-1);
}
.heroSampleEyebrow,
.edgeDrawerEyebrow,
.accountSectionTitle--recent,
.accountSectionTitle--tools,
.accountStatLabel,
.accountMiniEyebrow,
.accountInsightTitle{
  color:var(--zf-gold-strong);
}

.inlineLink,
a{transition:opacity .16s ease,color .16s ease}
.inlineLink,
.modalCard a,
.composerLegal a{color:#f0d0a0}
.inlineLink:hover,
.modalCard a:hover,
.composerLegal a:hover{opacity:.9}

@media (max-width:820px){
  .topbar{height:64px}
  .hero{padding-top:64px}
  .center{transform:translateY(-6svh)}
  #heroText,h1{font-size:clamp(32px,10vw,42px)}
  .heroHelper{font-size:15px;max-width:30ch}
  .search{min-height:60px;border-radius:22px;padding-left:14px}
  .search button{width:44px;height:44px}
  .panel,
  .modalCard,
  #accountModal .modalCard.accountModalCard{border-radius:26px}
}

@media (max-width:480px){
  .topbarRight .actionIcon,
  .chatHeaderRight .actionIcon,
  #accessBtn.actionIcon--account,
  .topBtn,
  .iconBtn,
  #menuBtn,
  #newChatBtn{width:40px;min-width:40px;height:40px;border-radius:14px}
  .center{width:min(100%,calc(100vw - 22px));padding-left:0;padding-right:0}
  .micro--hero{max-width:28ch;text-align:center}
  .heroTrustItem{max-width:300px}
  .edgeDrawerCard{padding:15px}
  .btn,
  .btnGhost,
  .btn.ghost,
  .ghost{min-height:42px}
}

@media (prefers-reduced-motion: reduce){
  .topbarRight .actionIcon,
  .chatHeaderRight .actionIcon,
  #accessBtn.actionIcon--account,
  .topBtn,
  .iconBtn,
  #menuBtn,
  #newChatBtn,
  .search,
  .btn,
  .chip,
  .edgeDockBtn{transition:none}
}


/* ==== css/stage2-mobile-shell-discipline-v1.css ==== */
:root{
  --zf-shell-max: 720px;
  --zf-mobile-pad: 14px;
  --zf-mobile-pad-tight: 12px;
  --zf-topbar-h: 64px;
  --zf-chat-header-h: 62px;
  --zf-composer-gap: 10px;
}

html{
  -webkit-text-size-adjust:100%;
  scroll-padding-top:calc(var(--zf-topbar-h) + env(safe-area-inset-top));
}
body{
  overscroll-behavior-y:none;
  -webkit-tap-highlight-color:transparent;
}

.topbar{
  padding-top:max(0px, env(safe-area-inset-top));
}
.hero,
.center,
.panel,
.modalCard,
.edgeDrawerCard,
.chatComposer,
.chatBody,
.sheet,
.modalCard,
#accountModal .modalCard.accountModalCard{
  box-sizing:border-box;
}

.hero{
  min-height:100dvh;
}
.center{
  width:min(var(--zf-shell-max), calc(100vw - 28px));
  margin-inline:auto;
}
.search{
  width:min(100%, 580px);
}
#searchInput{
  min-width:0;
}

.overlay.fullscreen,
.overlay{
  padding-left:max(10px, env(safe-area-inset-left));
  padding-right:max(10px, env(safe-area-inset-right));
  padding-bottom:max(10px, env(safe-area-inset-bottom));
}

.chatPanel{
  width:min(var(--zf-shell-max), calc(100vw - 20px));
  margin-inline:auto;
}
.chatTop{
  min-height:var(--zf-chat-header-h);
  padding-left:12px;
  padding-right:12px;
}
.chatTitle{
  min-width:0;
  font-size:15px;
}
.chatBody{
  padding:14px 14px calc(188px + env(safe-area-inset-bottom, 0px));
  overscroll-behavior:contain;
}
.msg{margin:12px 0}
.bubble{
  max-width:min(84%, 520px);
  padding:10px 12px;
  line-height:1.42;
}
.msgActions{gap:8px}

.chatComposer{
  position:sticky;
  bottom:0;
  z-index:3;
  padding:10px 12px calc(12px + env(safe-area-inset-bottom, 0px));
  background:linear-gradient(180deg, rgba(7,8,10,0), rgba(7,8,10,.76) 18%, rgba(7,8,10,.96) 100%);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.chatQuick{
  margin-bottom:var(--zf-composer-gap);
}
.chatQuick .chipsRow{
  margin:0 0 8px;
  padding-left:2px;
  padding-right:2px;
  mask-image:none;
  -webkit-mask-image:none;
}
.composerRow{
  margin:0;
}
.composerPill{
  min-height:60px;
  padding:8px;
  gap:8px;
}
.composerPill textarea{
  min-height:24px;
  max-height:140px;
  padding:11px 0;
  font-size:15px;
  line-height:1.4;
}
.composerPill .moreBtn,
.composerPill .mic,
.composerPill .send{
  flex:0 0 auto;
}
.composerLegal{
  padding:8px 6px 0;
  max-width:42ch;
  margin:0 auto;
}

.quickPanel{
  width:100%;
  left:0;
  right:0;
  bottom:calc(100% + 10px);
}
.quickPanelCustom{
  gap:10px;
}
#quickCustom{
  min-height:84px;
}

.edgeDrawer{
  bottom:max(14px, calc(env(safe-area-inset-bottom) + 10px));
}

@media (max-width: 820px){
  .topbar{
    height:auto;
    min-height:64px;
    padding-left:max(12px, env(safe-area-inset-left));
    padding-right:max(12px, env(safe-area-inset-right));
  }
  .brandMain{font-size:14px}
  .brandSub{font-size:10px}

  .hero{
    align-items:flex-end;
  }
  .center{
    width:calc(100vw - 24px);
    transform:translateY(-4svh);
    padding:16px 2px calc(18px + env(safe-area-inset-bottom));
  }
  #heroText,
  h1{
    max-width:10ch;
    margin-bottom:8px;
  }
  .heroHelper{
    max-width:28ch;
    margin-bottom:16px;
  }
  .search{
    min-height:60px;
    padding:8px 8px 8px 14px;
    border-radius:22px;
  }
  .search button{
    width:44px;
    height:44px;
  }
  .heroExamplesWrap--modal{
    width:100%;
    display:flex;
    justify-content:center;
  }
  .heroExamplesModalBtn{
    width:min(100%, 320px);
  }

  .panel,
  .modalCard,
  #accountModal .modalCard.accountModalCard{
    width:min(100%, calc(100vw - 12px)) !important;
    max-width:min(var(--zf-shell-max), calc(100vw - 12px)) !important;
  }

  .chatPanel{
    max-height:calc(100dvh - 10px);
    border-radius:28px;
  }
  .chatTop{
    grid-template-columns:42px 1fr auto;
    gap:8px;
  }
  .chatHeaderRight{
    gap:6px;
  }
  .chatHeaderRight .actionIcon,
  .topBtn{
    width:38px;
    min-width:38px;
    height:38px;
    border-radius:13px;
  }
  .chatHeaderRight .actionIcon svg,
  .topBtn svg{
    width:17px;
    height:17px;
  }
  .bubble{
    max-width:88%;
  }

  .edgeDock{
    top:auto;
    right:12px;
    bottom:max(88px, calc(env(safe-area-inset-bottom) + 76px));
    transform:none;
  }
  .edgeDock.is-open,
  .edgeDock.is-hidden{
    transform:none;
  }
  .edgeDockBtn{
    width:56px;
    height:56px;
    border-radius:18px;
    border-right:1px solid rgba(212,176,120,.26);
    box-shadow:0 18px 46px rgba(0,0,0,.34);
  }
  .edgeDockBtn--peek,
  .edgeDockBtn--peek:active,
  .edgeDockBtn--peek:focus-visible,
  .edgeDockBtn.is-active{
    right:0 !important;
    transform:none;
  }
  .edgeDrawer{
    right:10px;
    left:10px;
    width:auto;
    z-index:12024;
  }
}

@media (max-width: 560px){
  .topbar{
    min-height:62px;
  }
  .topbarRight{
    gap:6px;
  }
  .topbarRight .actionIcon,
  #accessBtn.actionIcon--account,
  #menuBtn,
  #newChatBtn{
    width:38px;
    min-width:38px;
    height:38px;
    border-radius:13px;
  }

  .hero{
    min-height:100svh;
  }
  .center{
    width:calc(100vw - 20px);
    transform:translateY(-2svh);
    padding-bottom:calc(22px + env(safe-area-inset-bottom));
  }
  #heroText,
  h1{
    font-size:clamp(30px, 10vw, 38px);
  }
  .heroHelper{
    font-size:14.5px;
    line-height:1.45;
    max-width:24ch;
  }
  .micro--hero,
  .heroTrust{
    padding-inline:8px;
  }
  .search{
    width:100%;
    min-height:58px;
    padding-left:12px;
    border-radius:20px;
  }
  .search input,
  .searchGhost{
    font-size:15px;
  }
  .search button{
    width:42px;
    height:42px;
    border-radius:14px;
  }

  .overlay{
    padding-left:max(6px, env(safe-area-inset-left));
    padding-right:max(6px, env(safe-area-inset-right));
    padding-bottom:max(6px, env(safe-area-inset-bottom));
  }
  .chatPanel{
    width:calc(100vw - 12px);
    max-height:calc(100dvh - 6px);
    border-radius:24px;
  }
  .chatTop{
    min-height:58px;
    padding-left:10px;
    padding-right:10px;
  }
  .chatBody{
    padding:12px 12px calc(204px + env(safe-area-inset-bottom, 0px));
  }
  .msg{margin:10px 0}
  .bubble{
    max-width:90%;
    font-size:13.5px;
    border-radius:15px;
  }
  .chatComposer{
    padding:8px 10px calc(10px + env(safe-area-inset-bottom, 0px));
  }
  .composerPill{
    min-height:56px;
    border-radius:20px;
    padding:7px;
  }
  .composerPill textarea{
    font-size:14.5px;
    padding:10px 0;
  }
  .composerPill .moreBtn,
  .composerPill .mic,
  .composerPill .send{
    width:38px;
    height:38px;
    border-radius:13px;
  }
  .chatQuick .chipsRow{
    gap:8px;
  }
  .chip{
    min-height:36px;
    padding:8px 12px;
    font-size:12.5px;
  }
  .quickPanel{
    border-radius:20px;
    padding:14px;
  }
  .quickPanelTitle{font-size:15px}
  .quickPanelHint{font-size:12.5px}

  .sheet,
  .modalCard{
    width:calc(100vw - 10px) !important;
    max-height:calc(100dvh - 10px) !important;
    border-radius:26px 26px 18px 18px !important;
  }
  .modalBack,
  .sheetBack{
    align-items:flex-end;
    padding:5px;
  }

  .edgeDock{
    right:10px;
    bottom:max(84px, calc(env(safe-area-inset-bottom) + 70px));
  }
  .edgeDockBtn{
    width:54px;
    height:54px;
    border-radius:17px;
  }
  .edgeDrawer{
    right:6px;
    left:6px;
    bottom:max(10px, calc(env(safe-area-inset-bottom) + 6px));
  }
  .edgeDrawerCard{
    border-radius:22px;
    padding:14px;
  }
}

@media (max-width: 380px){
  .brandMain{font-size:13.5px}
  .brandSub{display:none}
  .center{
    width:calc(100vw - 16px);
  }
  .heroHelper{max-width:22ch}
  .topbarRight .actionIcon,
  #accessBtn.actionIcon--account,
  #menuBtn,
  #newChatBtn,
  .chatHeaderRight .actionIcon,
  .topBtn{
    width:36px;
    min-width:36px;
    height:36px;
    border-radius:12px;
  }
  .chatHeaderRight{gap:5px}
  .chatTitle{font-size:14px}
  .composerPill .moreBtn,
  .composerPill .mic,
  .composerPill .send{
    width:36px;
    height:36px;
  }
}

@media (hover:none) and (pointer:coarse){
  .topbarRight .actionIcon:hover,
  .chatHeaderRight .actionIcon:hover,
  #accessBtn.actionIcon--account:hover,
  .topBtn:hover,
  .iconBtn:hover,
  #menuBtn:hover,
  #newChatBtn:hover,
  .search button:hover,
  .btn.gold:hover,
  .btn-shimmer:hover,
  .btnGold:hover,
  .btnPrimary:hover,
  .edgeDrawerOpenAll:hover,
  .btn.ghost:hover,
  .btnGhost:hover,
  .ghost:hover,
  .edgeDrawerOption:hover,
  .chip:hover,
  .topCta:hover,
  .topPill:hover,
  .item:hover{
    transform:none;
  }
}


/* ===== Stage 2 hotfix: mobile shell stability ===== */
@media (max-width: 820px){
  .center{
    transform:translateY(-2svh);
    padding-top:20px;
  }
  .overlay.fullscreen{
    padding:0 !important;
  }
  .overlay.fullscreen .chatPanel{
    width:100vw;
    height:100dvh;
    max-height:100dvh !important;
    border-radius:0;
    margin:0;
  }
  .overlay.fullscreen .chatTop{
    min-height:calc(62px + env(safe-area-inset-top));
    padding-top:calc(env(safe-area-inset-top) + 4px);
    padding-left:max(12px, env(safe-area-inset-left));
    padding-right:max(12px, env(safe-area-inset-right));
  }
  .overlay.fullscreen .chatBody{
    padding-top:16px;
    padding-bottom:calc(196px + env(safe-area-inset-bottom, 0px));
  }
  .overlay.fullscreen .chatComposer{
    padding-left:max(12px, env(safe-area-inset-left));
    padding-right:max(12px, env(safe-area-inset-right));
  }
  .edgeDock{
    bottom:max(98px, calc(env(safe-area-inset-bottom) + 82px));
  }
}

@media (max-width: 560px){
  .hero{
    align-items:flex-end;
    padding-top:62px;
  }
  .center{
    transform:none;
    padding-top:18px;
    padding-bottom:calc(26px + env(safe-area-inset-bottom));
  }
  .overlay.fullscreen .chatTop{
    min-height:calc(58px + env(safe-area-inset-top));
    padding-top:calc(env(safe-area-inset-top) + 2px);
  }
  .overlay.fullscreen .chatBody{
    padding-top:14px;
    padding-bottom:calc(210px + env(safe-area-inset-bottom, 0px));
  }
  .composerLegal{
    max-width:34ch;
    padding-top:7px;
  }
  .edgeDock{
    right:12px;
    bottom:max(94px, calc(env(safe-area-inset-bottom) + 78px));
  }
}

@media (max-width: 380px){
  .center{
    width:calc(100vw - 18px);
    padding-top:16px;
  }
  .overlay.fullscreen .chatTop{
    padding-left:max(10px, env(safe-area-inset-left));
    padding-right:max(10px, env(safe-area-inset-right));
  }
}


/* ==== css/stage3-hero-polish-v1.css ==== */

:root{
  --zf-hero-shell: min(620px, 100%);
  --zf-hero-text-shadow: 0 20px 48px rgba(0,0,0,.38);
}

/* ===== Stage 3: hero polish without structural rebuild ===== */
.heroShade{
  background:
    linear-gradient(180deg, rgba(6,7,9,.18) 0%, rgba(6,7,9,.34) 24%, rgba(6,7,9,.74) 100%),
    radial-gradient(circle at 50% 14%, rgba(212,176,120,.14), transparent 34%),
    radial-gradient(circle at 50% 58%, rgba(255,255,255,.05), transparent 40%);
}
.hero::after{
  background:linear-gradient(to top, rgba(6,7,9,.92), rgba(6,7,9,.52) 42%, rgba(6,7,9,0) 76%);
}
.center{
  width:min(760px, 92vw);
}
#heroText,
h1{
  max-width:11ch;
  margin-bottom:12px;
  text-shadow:var(--zf-hero-text-shadow);
}
.heroHelper{
  max-width:34ch;
  margin-bottom:20px;
  color:rgba(246,241,234,.78);
}
.search{
  position:relative;
  width:var(--zf-hero-shell);
}
.search::before{
  content:"";
  position:absolute;
  inset:1px;
  border-radius:inherit;
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0));
  pointer-events:none;
}
.searchGhost{opacity:.86}
.micro--hero{
  margin-top:12px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:28px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(9,11,14,.28);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.heroExamplesWrap--modal{
  margin-top:14px;
  width:var(--zf-hero-shell);
}
.heroExamplesModalBtn{
  width:100%;
  min-height:48px;
  border-radius:18px;
  font-weight:700;
  letter-spacing:-.015em;
  justify-content:center;
}
.heroTrust{
  margin-top:12px;
  display:flex;
  justify-content:center;
  width:var(--zf-hero-shell);
}
.heroTrustItem{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.06);
  background:rgba(255,255,255,.028);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
  font-size:12.5px;
  line-height:1.2;
  text-align:center;
}

@media (max-width: 820px){
  .hero{
    padding-top:max(64px, calc(58px + env(safe-area-inset-top)));
  }
  .center{
    width:calc(100vw - 24px);
    padding-left:4px;
    padding-right:4px;
  }
  #heroText,
  h1{
    max-width:10ch;
    margin-bottom:10px;
  }
  .heroHelper{
    max-width:26ch;
    margin-bottom:18px;
  }
  .heroExamplesWrap--modal,
  .heroTrust,
  .search{
    width:min(100%, 560px);
  }
}

@media (max-width: 560px){
  .hero::after{
    height:64svh;
  }
  .center{
    width:calc(100vw - 20px);
    gap:0;
  }
  #heroText,
  h1{
    max-width:9.5ch;
    font-size:clamp(30px, 10.2vw, 38px);
  }
  .heroHelper{
    font-size:14.5px;
    max-width:23ch;
  }
  .search{
    min-height:60px;
  }
  .micro--hero{
    margin-top:11px;
    min-height:30px;
    padding:0 11px;
    font-size:12px;
  }
  .heroExamplesWrap--modal{
    margin-top:12px;
  }
  .heroExamplesModalBtn{
    min-height:46px;
    border-radius:17px;
  }
  .heroTrust{
    margin-top:10px;
  }
  .heroTrustItem{
    width:100%;
    padding:9px 14px;
    min-height:unset;
  }
}

@media (max-width: 380px){
  .center{
    width:calc(100vw - 18px);
  }
  .micro--hero,
  .heroTrustItem{
    font-size:11.5px;
  }
}


/* ==== css/stage4-core-flow-cleanup-v1.css ==== */
:root{
  --zf-stage4-shell-max: 720px;
}

/* ===== Stage 4: core flow cleanup + stage2/stage3 corrective pass ===== */

/* Home hero: quieter trust/micro surfaces and lighter premium CTA */
.micro--hero,
.heroTrustItem{
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  padding-inline:0 !important;
}

.micro--hero{
  min-height:auto;
  margin-top:10px;
  color:rgba(246,241,234,.72);
}

.heroTrust{
  margin-top:8px;
}
.heroTrustItem{
  min-height:auto;
  width:auto;
  font-size:12.5px;
  color:rgba(246,241,234,.66);
}

.heroExamplesWrap--modal{
  margin-top:10px;
}
.heroExamplesModalBtn{
  width:auto;
  min-width:170px;
  max-width:220px;
  min-height:44px;
  padding:0 18px;
  margin-inline:auto;
  border-radius:16px;
}

/* Chat shell corrective pass */
.overlay,
.overlay.fullscreen{
  padding-top:max(10px, env(safe-area-inset-top));
}

.chatPanel{
  overflow:hidden;
}

.chatTop{
  padding-top:max(10px, env(safe-area-inset-top));
}

.chatBody{
  padding-top:12px;
  padding-bottom:calc(164px + env(safe-area-inset-bottom, 0px));
}

.chatComposer{
  gap:0;
  padding-top:8px;
}

.chatQuick{
  margin-bottom:6px;
}

.composerLegal{
  max-width:none;
  margin:4px auto 0;
  padding:4px 4px 0;
  font-size:11.5px;
  line-height:1.2;
  text-align:center;
  color:rgba(244,238,229,.5);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.composerLegal .inlineLink{
  white-space:nowrap;
}

/* Footer / floating surfaces discipline */
.edgeDock{
  bottom:max(82px, calc(env(safe-area-inset-bottom) + 70px));
}
.edgeDrawer{
  bottom:max(12px, calc(env(safe-area-inset-bottom) + 8px));
}

@media (max-width: 820px){
  .center{
    transform:translateY(-2.2svh);
  }
  .chatPanel{
    max-height:calc(100dvh - 6px);
    border-radius:26px;
  }
  .chatTop{
    min-height:58px;
    padding-left:12px;
    padding-right:12px;
  }
  .chatBody{
    padding-left:12px;
    padding-right:12px;
    padding-bottom:calc(158px + env(safe-area-inset-bottom, 0px));
  }
  .chatComposer{
    padding-left:12px;
    padding-right:12px;
    padding-bottom:calc(10px + env(safe-area-inset-bottom, 0px));
  }
  .composerPill{
    min-height:58px;
  }
  .composerLegal{
    font-size:10.8px;
    margin-top:3px;
  }
  .heroExamplesModalBtn{
    max-width:200px;
    min-height:42px;
  }
}

@media (max-width: 560px){
  .center{
    width:calc(100vw - 20px);
    transform:translateY(-1.2svh);
  }
  .micro--hero{
    font-size:11.5px;
  }
  .heroTrustItem{
    width:auto;
    padding:0;
    font-size:11.5px;
  }
  .heroExamplesWrap--modal{
    margin-top:9px;
  }
  .heroExamplesModalBtn{
    min-width:160px;
    max-width:190px;
    padding-inline:16px;
  }
  .chatTop{
    padding-top:max(8px, env(safe-area-inset-top));
  }
  .chatHeaderRight{
    gap:4px;
  }
  .chatHeaderRight .actionIcon,
  .topBtn{
    width:36px;
    min-width:36px;
    height:36px;
  }
  .composerLegal{
    letter-spacing:-.01em;
  }
}

@media (max-width: 390px){
  .micro--hero,
  .heroTrustItem{
    font-size:11px;
  }
  .composerLegal{
    font-size:10.4px;
  }
}


/* ==== css/stage5-paywall-premium-v1.css ==== */
:root{
  --zf-stage5-paywall-width: min(540px, 100%);
}

/* ===== Stage 5: paywall & premium conversion + QA polish ===== */

/* Hero: keep the core one-screen layout, but tighten rhythm and keep copy on one line */
#heroText,
h1{
  max-width:none !important;
  white-space:nowrap;
  text-wrap:nowrap;
  letter-spacing:-.03em;
}
.heroHelper{
  max-width:none !important;
  white-space:nowrap;
  text-wrap:nowrap;
  letter-spacing:-.015em;
}
.heroExamplesWrap--modal{
  margin-top:8px;
  width:auto;
}
.heroExamplesModalBtn{
  min-width:154px;
  max-width:188px;
  min-height:40px;
  padding:0 15px;
  border-radius:15px;
  font-size:13px;
  box-shadow:0 10px 24px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.24);
}
.micro--hero{
  margin-top:8px;
}
.heroTrust{
  margin-top:6px;
}

/* Home input shell: make sure animated ghost never visually fights with the border/button */
.search{
  min-height:62px;
  padding:9px 9px 9px 16px;
}
.searchGhost{
  left:18px;
  right:64px;
  line-height:1.15;
}
.search input{
  position:relative;
  z-index:1;
  min-height:24px;
  line-height:1.2;
}
.search button{
  width:44px;
  height:44px;
  border-radius:15px;
}

/* Chat composer: remove the visual feeling of border touching the placeholder/text */
.chatComposer{
  padding-top:6px;
}
.composerRow{
  align-items:stretch;
}
.composerPill{
  min-height:60px;
  padding:8px;
  gap:8px;
  border-color:rgba(255,255,255,.075);
}
.composerPill textarea,
.chatComposer textarea{
  min-height:26px;
  padding:12px 2px 11px;
  line-height:1.34;
}
#chatInput::placeholder,
.composerPill textarea::placeholder{
  line-height:1.34;
}
.composerLegal{
  margin:2px auto 0 !important;
  padding:2px 2px 0 !important;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  white-space:nowrap;
  max-width:min(100%, 560px);
}
.composerLegal a{ white-space:nowrap; }

/* Home floating consultation bubble: calmer placement, closer to a premium app FAB */
.edgeDock{
  top:auto !important;
  bottom:max(96px, calc(env(safe-area-inset-bottom) + 78px)) !important;
  right:12px;
  transform:none !important;
}
.edgeDock.is-open,
.edgeDock.is-hidden{
  transform:none !important;
}
.edgeDockBtn{
  width:56px;
  height:56px;
  border-radius:18px;
}
.edgeDrawer{
  max-width:min(380px, calc(100vw - 20px));
  right:12px;
  left:auto;
}

/* Premium modal: slightly sharper conversion framing without changing the system */
.premiumPreviewModal .modalCard,
#premiumPreviewModal .modalCard{
  border-color:rgba(212,176,120,.18);
}
.premiumPreviewLead{
  max-width:62ch;
  color:rgba(246,241,234,.82);
}
.premiumPreviewActions{
  gap:10px;
}
#premiumPreviewBuyBtn,
#premiumPreviewBuyAnnualBtn{
  min-height:48px;
  border-radius:18px;
}
#premiumPreviewBuyAnnualBtn{
  box-shadow:0 18px 34px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.28);
}
.premiumPreviewOffer--annual{
  border-color:rgba(212,176,120,.24);
  box-shadow:0 18px 44px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.04);
}

@media (max-width: 820px){
  #heroText,
  h1{
    font-size:clamp(31px, 8.2vw, 40px);
  }
  .heroHelper{
    font-size:clamp(13.5px, 3.9vw, 15px);
  }
  .heroExamplesModalBtn{
    min-width:148px;
    max-width:180px;
    min-height:39px;
    font-size:12.8px;
  }
  .search{
    min-height:60px;
  }
  .searchGhost{
    left:16px;
    right:60px;
  }
  .composerPill{
    min-height:58px;
  }
  .composerPill textarea,
  .chatComposer textarea{
    padding-top:11px;
    padding-bottom:10px;
  }
}

@media (max-width: 560px){
  #heroText,
  h1{
    font-size:clamp(28px, 8.8vw, 34px);
  }
  .heroHelper{
    font-size:clamp(12.8px, 3.65vw, 14px);
  }
  .micro--hero,
  .heroTrustItem{
    font-size:11.5px;
  }
  .heroExamplesWrap--modal{
    margin-top:7px;
  }
  .heroExamplesModalBtn{
    min-width:144px;
    max-width:172px;
    min-height:38px;
    padding-inline:14px;
  }
  .search{
    min-height:58px;
    padding-left:14px;
  }
  .searchGhost{
    left:15px;
    right:58px;
    font-size:14px;
  }
  .composerLegal{
    font-size:10.3px !important;
    letter-spacing:-.012em;
  }
  .edgeDock{
    right:10px;
    bottom:max(90px, calc(env(safe-area-inset-bottom) + 74px)) !important;
  }
  .edgeDockBtn{
    width:54px;
    height:54px;
    border-radius:17px;
  }
  .edgeDrawer{
    max-width:calc(100vw - 16px);
    right:8px;
  }
}

@media (max-width: 390px){
  #heroText,
  h1{
    font-size:clamp(26px, 8.7vw, 30px);
  }
  .heroHelper{
    font-size:12.2px;
  }
  .composerLegal{
    font-size:9.8px !important;
  }
}


/* ==== css/stage6-brand-authority-v1.css ==== */
:root{
  --zf-stage6-gap: 14px;
}

/* ===== Stage 6: brand authority + stability pass ===== */

body.zf-stage6-ready .brandSub,
body.zf-stage6-ready .edgeDrawerEyebrow,
body.zf-stage6-ready .premiumPreviewKicker,
body.zf-stage6-ready #consultDetailKicker,
body.zf-stage6-ready .accountIntroEyebrow{
  letter-spacing:.12em;
}

/* Keep hero premium, single-line and centered */
#heroText,
#heroHelper{
  text-align:center;
}
#heroText{
  display:block;
  width:100%;
  white-space:nowrap;
  text-wrap:nowrap;
}
#heroHelper{
  white-space:nowrap;
  text-wrap:nowrap;
  max-width:none !important;
  margin-inline:auto;
}

/* Stronger brand surface without adding new sections */
.micro--hero,
.heroTrustItem{
  color:rgba(246,241,234,.72);
}

/* Chat composer: the whole input row should feel like one surface */
.composerRow{
  position:relative;
}
.composerPill{
  position:relative;
  align-items:flex-end;
  min-height:62px;
  padding:8px;
  gap:8px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.085);
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025));
  box-shadow:0 16px 38px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.04);
}
.composerPill:focus-within{
  border-color:rgba(212,176,120,.24);
  box-shadow:0 18px 44px rgba(0,0,0,.28), 0 0 0 5px rgba(212,176,120,.08), inset 0 1px 0 rgba(255,255,255,.05);
}
.composerPill textarea,
#chatInput{
  flex:1 1 auto;
  width:auto;
  min-height:44px;
  max-height:144px;
  margin:0;
  padding:11px 2px 10px;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  outline:none;
}
#chatInput::placeholder,
.composerPill textarea::placeholder{
  color:rgba(246,241,234,.44);
}
.composerPill .moreBtn,
.composerPill .mic,
.composerPill .send{
  align-self:flex-end;
  margin:0;
}

/* More air between shortcuts panel and composer */
.chatQuick{
  margin-bottom:10px;
}
.chatQuick.panelOpen{
  padding-bottom:18px;
}
.quickPanel{
  bottom:calc(100% + var(--zf-stage6-gap)) !important;
  margin:0 !important;
}
.chatQuick .quickPanel{
  margin-top:0 !important;
}
#quickCustom{
  min-height:88px;
}

/* Legal line tighter and stable */
.composerLegal{
  margin-top:3px !important;
  padding-top:1px !important;
}

/* Home floating consult bubble: prevent overlap with hero input CTA */
.edgeDock{
  right:14px !important;
  bottom:max(118px, calc(env(safe-area-inset-bottom) + 96px)) !important;
}
.edgeDock.edgeDock--avoid-input{
  bottom:max(138px, calc(env(safe-area-inset-bottom) + 112px)) !important;
}
.edgeDockBtn{
  box-shadow:0 18px 42px rgba(0,0,0,.30);
}
.edgeDrawer{
  right:14px;
  bottom:max(16px, calc(env(safe-area-inset-bottom) + 12px));
}

/* Slightly stronger brand context in premium / consult flows */
.premiumPreviewLead,
.consultDetailLead,
.consultModalNote{
  color:rgba(246,241,234,.82);
}

@media (max-width: 820px){
  .composerPill{
    min-height:60px;
  }
  .quickPanel{
    bottom:calc(100% + 16px) !important;
  }
  .edgeDock{
    right:12px !important;
    bottom:max(112px, calc(env(safe-area-inset-bottom) + 90px)) !important;
  }
  .edgeDock.edgeDock--avoid-input{
    bottom:max(132px, calc(env(safe-area-inset-bottom) + 106px)) !important;
  }
}

@media (max-width: 560px){
  :root{
    --zf-stage6-gap: 18px;
  }
  #heroText{
    font-size:clamp(27px, 8.6vw, 34px);
  }
  #heroHelper{
    font-size:clamp(12.6px, 3.55vw, 14px);
  }
  .composerPill{
    min-height:58px;
    border-radius:20px;
    padding:7px;
    gap:7px;
  }
  #chatInput,
  .composerPill textarea{
    min-height:42px;
    padding-top:10px;
    padding-bottom:9px;
  }
  .chatQuick{
    margin-bottom:12px;
  }
  .quickPanel{
    bottom:calc(100% + 18px) !important;
    border-radius:18px;
  }
  .edgeDock{
    right:10px !important;
    bottom:max(108px, calc(env(safe-area-inset-bottom) + 86px)) !important;
  }
  .edgeDock.edgeDock--avoid-input{
    bottom:max(128px, calc(env(safe-area-inset-bottom) + 102px)) !important;
  }
  .edgeDockBtn{
    width:52px;
    height:52px;
    border-radius:17px;
  }
  .edgeDrawer{
    right:8px;
    max-width:calc(100vw - 16px);
  }
}

@media (max-width: 390px){
  #heroText{
    font-size:clamp(25px, 8.2vw, 29px);
  }
  #heroHelper{
    font-size:12px;
  }
  .composerLegal{
    font-size:9.8px !important;
  }
}


/* ==== css/stage7-consultations-retention-v1.css ==== */
:root{
  --zf-stage7-quick-gap: 12px;
  --zf-stage7-hero-air: 14px;
}

/* ===== Stage 7: consultations & retention layer ===== */

/* Home hero: more breathing room without changing one-screen structure */
.micro--hero{
  margin-top:14px !important;
}
.heroExamplesWrap,
.heroExamplesWrap--modal{
  margin-top:14px !important;
}
.heroTrust{
  margin-top:18px !important;
}
.heroTrustItem{
  display:inline-block;
  line-height:1.32;
}

/* Chat: clear gap between composer and quick topics */
.chatQuick{
  margin-top:var(--zf-stage7-quick-gap) !important;
  margin-bottom:8px !important;
}
.chatQuick .chipsRow{
  margin:0 !important;
  padding-top:0 !important;
  padding-bottom:2px;
}
.chatQuick.panelOpen{
  padding-bottom:16px !important;
}
.quickPanel{
  bottom:calc(100% + 18px) !important;
}
.quickPanel .chipsRow{
  margin-top:10px !important;
}

/* Composer: + / mic / send aligned and visually consistent */
.composerPill{
  align-items:center !important;
}
#toolBtn,
#micBtn,
#sendBtn,
.composerPill .moreBtn,
.composerPill .mic,
.composerPill .send{
  width:42px !important;
  min-width:42px !important;
  height:42px !important;
  min-height:42px !important;
  border-radius:14px !important;
  display:grid !important;
  place-items:center !important;
  padding:0 !important;
}
#toolBtn,
.composerPill .moreBtn{
  font-size:20px !important;
  line-height:1 !important;
  letter-spacing:0 !important;
}
#micBtn svg,
.composerPill .mic svg{
  width:19px !important;
  height:19px !important;
}
#sendBtn,
.composerPill .send{
  font-size:18px !important;
}
#chatInput,
.composerPill textarea{
  padding-left:2px !important;
  padding-right:2px !important;
}

/* Floating consult trigger: keep on the right, but visually aligned higher on home */
.edgeDock{
  top:auto !important;
  bottom:auto !important;
  transform:none !important;
}
.edgeDock.is-open,
.edgeDock.is-hidden{
  transform:none !important;
}
.edgeDockBtn--peek{
  right:-8px !important;
}
.edgeDrawer{
  right:14px;
}

/* Retention / consultation copy surfaces */
.consultModalNote,
.consultDetailLead,
.edgeDrawerLead,
.accountDashMeta{
  color:rgba(246,241,234,.78);
}

@media (max-width: 820px){
  .micro--hero{
    margin-top:13px !important;
  }
  .heroExamplesWrap,
  .heroExamplesWrap--modal{
    margin-top:13px !important;
  }
  .heroTrust{
    margin-top:16px !important;
  }
  .chatQuick{
    margin-top:12px !important;
  }
  .quickPanel{
    bottom:calc(100% + 17px) !important;
  }
}

@media (max-width: 560px){
  :root{
    --zf-stage7-quick-gap: 13px;
  }
  .micro--hero{
    margin-top:15px !important;
    font-size:12px;
  }
  .heroExamplesWrap,
  .heroExamplesWrap--modal{
    margin-top:15px !important;
  }
  .heroTrust{
    margin-top:17px !important;
  }
  .heroTrustItem{
    font-size:12px;
    max-width:30ch;
  }
  .chatQuick{
    margin-top:13px !important;
    margin-bottom:6px !important;
  }
  .chatQuick .chipsRow{
    padding-left:2px !important;
    padding-right:12px !important;
  }
  .quickPanel{
    bottom:calc(100% + 18px) !important;
    border-radius:18px;
  }
  #toolBtn,
  #micBtn,
  #sendBtn,
  .composerPill .moreBtn,
  .composerPill .mic,
  .composerPill .send{
    width:41px !important;
    min-width:41px !important;
    height:41px !important;
    min-height:41px !important;
    border-radius:13px !important;
  }
  .edgeDrawer{
    right:10px;
    max-width:calc(100vw - 20px);
  }
}

@media (max-width: 390px){
  .micro--hero{
    font-size:11.5px;
  }
  .heroTrustItem{
    font-size:11.5px;
  }
}


/* ==== css/stage8-production-hardening-v1.css ==== */
:root{
  --zf-stage8-hero-gap-1: 16px;
  --zf-stage8-hero-gap-2: 16px;
  --zf-stage8-hero-gap-3: 20px;
  --zf-stage8-composer-gap: 14px;
}

/* Final QA + production hardening */
#micro,
.heroTrustItem{
  white-space:nowrap;
  text-wrap:nowrap;
}

.micro--hero{
  margin-top:var(--zf-stage8-hero-gap-1) !important;
  line-height:1.15;
}
.heroExamplesWrap,
.heroExamplesWrap--modal{
  margin-top:var(--zf-stage8-hero-gap-2) !important;
}
.heroTrust{
  margin-top:var(--zf-stage8-hero-gap-3) !important;
}

.chatQuick{
  margin-top:var(--zf-stage8-composer-gap) !important;
}
.chatQuick .chipsRow{
  gap:8px !important;
}
#quickCats{
  margin-top:2px !important;
}
.quickPanel{
  bottom:calc(100% + 20px) !important;
}

.composerPill{
  min-height:60px !important;
  padding:8px !important;
  gap:8px !important;
  align-items:center !important;
}
#toolBtn,
#micBtn,
#sendBtn,
.composerPill .moreBtn,
.composerPill .mic,
.composerPill .send{
  width:42px !important;
  min-width:42px !important;
  height:42px !important;
  min-height:42px !important;
  border-radius:14px !important;
}
#chatInput,
.composerPill textarea{
  min-height:42px !important;
  padding:10px 2px !important;
}
.composerLegal{
  margin-top:2px !important;
}

.edgeDock{
  right:12px !important;
  z-index:9800 !important;
}
.edgeDockBtn{
  width:52px !important;
  height:52px !important;
}

@media (max-width: 560px){
  :root{
    --zf-stage8-hero-gap-1: 18px;
    --zf-stage8-hero-gap-2: 18px;
    --zf-stage8-hero-gap-3: 22px;
    --zf-stage8-composer-gap: 15px;
  }
  #micro,
  .heroTrustItem,
  #heroText,
  #heroHelper{
    white-space:nowrap;
    text-wrap:nowrap;
  }
  #heroText{
    font-size:clamp(26px, 7.8vw, 32px) !important;
    line-height:1.04 !important;
  }
  #heroHelper{
    font-size:clamp(12px, 3.3vw, 13.5px) !important;
    line-height:1.12 !important;
  }
  .chatQuick{
    margin-top:15px !important;
  }
  .quickPanel{
    bottom:calc(100% + 21px) !important;
    border-radius:18px;
  }
  #toolBtn,
  #micBtn,
  #sendBtn,
  .composerPill .moreBtn,
  .composerPill .mic,
  .composerPill .send{
    width:41px !important;
    min-width:41px !important;
    height:41px !important;
    min-height:41px !important;
    border-radius:13px !important;
  }
  .edgeDock{
    right:10px !important;
  }
}

@media (max-width: 390px){
  #micro,
  .heroTrustItem{
    font-size:11.25px !important;
  }
  .micro--hero,
  .heroTrust{
    width:100%;
    display:flex;
    justify-content:center;
  }
}


/* ==== css/stage9-product-clarity-v1.css ==== */

.heroDecisionStrip{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:14px auto 0;max-width:720px}
.heroDecisionChip{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#f4efe8;border-radius:999px;padding:10px 14px;font-size:.92rem;line-height:1.2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:transform .18s ease,border-color .18s ease,background .18s ease}
.heroDecisionChip:active,.heroDecisionChip:hover{transform:translateY(-1px);border-color:rgba(226,182,96,.55);background:rgba(255,255,255,.065)}
.heroDecisionChip--premium{border-color:rgba(226,182,96,.34);box-shadow:inset 0 0 0 1px rgba(226,182,96,.12)}
.premiumPreviewLead,.toolAccessSub,.miniNote{text-wrap:pretty}
.premiumPreviewModal .premiumPreviewOffer{border-color:rgba(255,255,255,.08)}
.premiumPreviewModal .premiumPreviewTrust{border:1px solid rgba(255,255,255,.08)}
@media (max-width:640px){.heroDecisionStrip{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;margin-left:-2px;margin-right:-2px}.heroDecisionChip{white-space:nowrap;flex:0 0 auto}}


/* ==== css/stage10-retention-dashboard-v1.css ==== */

.accountRetentionGrid{display:grid;grid-template-columns:1.1fr .9fr;gap:14px;margin-top:14px}
.accountReturnCard,.accountDashboardCard{background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.01));border:1px solid rgba(255,255,255,.06);border-radius:22px;padding:16px}
.accountMiniStats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.accountMiniStat{border:1px solid rgba(255,255,255,.06);border-radius:18px;padding:12px;background:rgba(255,255,255,.02)}
.accountMiniStatLabel{font-size:12px;color:#9a9187;margin-bottom:6px}
.accountMiniStatValue{font-size:24px;font-weight:700;letter-spacing:-.03em}
.accountCasesList,.accountReturnList{display:grid;gap:10px;margin-top:12px}
.accountCaseItem{display:flex;gap:12px;justify-content:space-between;align-items:flex-start;border:1px solid rgba(255,255,255,.06);border-radius:18px;padding:12px;background:rgba(255,255,255,.02)}
.accountCaseBody{min-width:0;flex:1}
.accountCaseTitle{font-size:15px;font-weight:700;color:#f3ede4;line-height:1.25}
.accountCaseMeta{font-size:12px;color:#9a9187;margin-top:5px}
.accountCaseDesc{font-size:13px;color:#c9c1b6;line-height:1.5;margin-top:8px}
.accountCaseActions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;margin-left:10px}
.accountCasePill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 10px;font-size:12px;border:1px solid rgba(211,177,123,.24);background:rgba(211,177,123,.08);color:#e8cf9b}
.accountCasePill.isRisk{border-color:rgba(255,111,97,.28);background:rgba(255,111,97,.08);color:#ffb2a8}
.accountCasePill.isGood{border-color:rgba(92,196,151,.28);background:rgba(92,196,151,.08);color:#b6f0d4}
.accountCasePill.isMid{border-color:rgba(122,160,255,.26);background:rgba(122,160,255,.08);color:#c6d6ff}
.accountDashboardFocus{margin-top:12px;padding:12px 14px;border-radius:18px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06)}
.accountDashboardFocusTitle{font-size:12px;color:#9a9187;text-transform:uppercase;letter-spacing:.08em}
.accountDashboardFocusBody{font-size:14px;color:#f3ede4;line-height:1.5;margin-top:6px}
.accountDashboardColumns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.accountPatternBox{margin-top:10px;font-size:13px;color:#c9c1b6;line-height:1.55}
.accountRecentList--expanded .accountRecentCard{padding:14px;border-radius:20px}
@media (max-width: 860px){
  .accountRetentionGrid{grid-template-columns:1fr}
  .accountDashboardColumns,.accountMiniStats{grid-template-columns:1fr 1fr}
}
@media (max-width: 560px){
  .accountCaseItem{flex-direction:column}
  .accountCaseActions{width:100%;justify-content:stretch;margin-left:0}
  .accountCaseActions .btn{flex:1}
  .accountDashboardColumns,.accountMiniStats{grid-template-columns:1fr}
}


/* ==== css/stage4-retention-engine.css ==== */

.retentionRibbon{
  margin-top:14px;
  display:grid;
  gap:10px;
}
.retentionRibbonCard,
.retentionHubCard,
.retentionModalCard .pageCard{
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  border-radius:20px;
  padding:14px;
  box-shadow:0 16px 40px rgba(0,0,0,.22);
}
.retentionRibbonTop,
.retentionHubTop{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.retentionEyebrow{
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#d7bf7e;
  margin-bottom:6px;
}
.retentionTitle{
  font-weight:800;
  font-size:16px;
  line-height:1.25;
}
.retentionNote{
  font-size:13px;
  color:rgba(255,255,255,.72);
  line-height:1.45;
  margin-top:6px;
}
.retentionBadge{
  padding:7px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
  background:rgba(215,191,126,.16);
  color:#f4e2a8;
  border:1px solid rgba(215,191,126,.24);
}
.retentionStats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:12px;
}
.retentionStat{
  padding:10px;
  border-radius:16px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.06);
}
.retentionStatLabel{
  font-size:11px;
  color:rgba(255,255,255,.62);
  margin-bottom:4px;
}
.retentionStatValue{
  font-size:18px;
  font-weight:800;
}
.retentionActions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}
.retentionActions .btn{ flex:1 1 160px; }
.retentionTimeline{
  display:grid;
  gap:8px;
  margin-top:12px;
}
.retentionTimelineItem{
  border:1px solid rgba(255,255,255,.06);
  background:rgba(255,255,255,.04);
  border-radius:16px;
  padding:11px 12px;
}
.retentionTimelineMeta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  font-size:12px;
  color:rgba(255,255,255,.62);
  margin-bottom:6px;
}
.retentionTimelineText{
  font-size:13px;
  line-height:1.45;
}
.retentionInsight{
  margin-top:12px;
  padding:12px;
  border-radius:16px;
  border:1px solid rgba(215,191,126,.24);
  background:rgba(215,191,126,.08);
  font-size:13px;
  line-height:1.5;
}
.retentionForm{
  display:grid;
  gap:10px;
  margin-top:12px;
}
.retentionForm textarea,
.retentionForm input,
.retentionForm select{
  width:100%;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.05);
  color:#fff;
  padding:12px 13px;
  font:inherit;
}
.retentionForm textarea{ min-height:96px; resize:vertical; }
.retentionGrid2{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.retentionEmpty{
  padding:14px;
  border-radius:18px;
  border:1px dashed rgba(255,255,255,.14);
  color:rgba(255,255,255,.68);
  text-align:center;
}
.retentionHubMount{ margin-top:14px; }
.retentionTiny{
  font-size:12px;
  color:rgba(255,255,255,.6);
  margin-top:8px;
}
@media (max-width: 720px){
  .retentionStats{ grid-template-columns:1fr 1fr; }
  .retentionGrid2{ grid-template-columns:1fr; }
  .retentionActions .btn{ flex:1 1 100%; }
}


/* ==== css/stage5-growth-machine.css ==== */

.growthStrip, .lifecycleMount { margin-top: 18px; }
.growthCard, .lifecycleCard, .growthStickyCard {
  border: 1px solid rgba(255,255,255,.08);
  background: linear-gradient(180deg, rgba(22,22,24,.96), rgba(14,14,16,.98));
  border-radius: 22px;
  box-shadow: 0 18px 40px rgba(0,0,0,.26);
}
.growthCard { padding: 16px; }
.growthTop, .lifecycleTop { display:flex; gap:14px; justify-content:space-between; align-items:flex-start; }
.growthEyebrow, .lifecycleEyebrow { font-size: 11px; text-transform: uppercase; letter-spacing: .12em; color: rgba(255,255,255,.58); margin-bottom: 6px; }
.growthTitle, .lifecycleTitle { font-size: 18px; line-height: 1.15; font-weight: 700; color:#fff; }
.growthNote, .lifecycleNote { font-size: 13px; line-height: 1.5; color: rgba(255,255,255,.72); margin-top: 4px; }
.growthBadge, .lifecycleBadge {
  min-width: 84px; text-align:center; padding: 10px 12px; border-radius: 16px;
  background: rgba(212, 175, 55, .14); color: #f0d88f; font-size: 12px; font-weight: 700;
}
.growthStats, .lifecycleStats { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:10px; margin-top: 14px; }
.growthStat, .lifecycleStat {
  padding: 12px; border-radius: 16px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.06);
}
.growthStatLabel, .lifecycleStatLabel { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.52); }
.growthStatValue, .lifecycleStatValue { margin-top: 4px; color:#fff; font-size: 16px; font-weight: 700; }
.growthActions, .lifecycleActions { display:flex; flex-wrap:wrap; gap:10px; margin-top: 14px; }
.growthTiny, .lifecycleTiny { margin-top: 12px; font-size: 12px; color: rgba(255,255,255,.56); }
.lifecycleCard { padding: 16px; margin-top: 14px; }
.lifecycleSteps { display:grid; gap: 10px; margin-top: 14px; }
.lifecycleStep {
  padding: 12px 14px; border-radius: 16px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.06);
}
.lifecycleStepTop { display:flex; justify-content:space-between; gap:12px; }
.lifecycleStepTitle { color:#fff; font-size:14px; font-weight:700; }
.lifecycleStepMeta { font-size:12px; color: rgba(255,255,255,.56); }
.lifecycleStepText { margin-top:6px; color: rgba(255,255,255,.72); font-size: 13px; line-height:1.45; }
.growthSticky {
  position: fixed; left: 12px; right: 12px; bottom: 14px; z-index: 120; pointer-events:none;
}
.growthStickyCard { pointer-events:auto; padding: 14px; display:flex; gap: 12px; align-items:flex-start; }
.growthStickyBody { flex:1; min-width:0; }
.growthStickyTitle { color:#fff; font-size:15px; font-weight:700; }
.growthStickyText { color: rgba(255,255,255,.72); font-size:13px; margin-top:4px; line-height:1.45; }
.growthStickyActions { display:flex; gap:8px; flex-wrap:wrap; margin-top:10px; }
.growthSticky .btn { min-height: 40px; }
.growthDismiss { width:36px; height:36px; border:none; background: rgba(255,255,255,.06); color:#fff; border-radius: 12px; }
@media (min-width: 768px) {
  .growthSticky { left: auto; right: 18px; width: min(420px, calc(100vw - 36px)); }
}
@media (max-width: 640px) {
  .growthStats, .lifecycleStats { grid-template-columns: 1fr; }
  .growthTop, .lifecycleTop { flex-direction: column; }
  .growthBadge, .lifecycleBadge { width: 100%; }
}


/* ==== css/stage6-monetization-2.css ==== */
.stage6SegmentWrap {
  margin: 14px 0 8px;
  display: grid;
  gap: 10px;
}
.stage6SegmentTitle {
  color: #fff;
  font-size: 15px;
  font-weight: 700;
}
.stage6SegmentGrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.stage6SegmentCard {
  position: relative;
  padding: 14px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.04);
}
.stage6SegmentCard--featured {
  border-color: rgba(212,175,55,.38);
  background: linear-gradient(180deg, rgba(212,175,55,.12), rgba(255,255,255,.04));
  box-shadow: 0 12px 28px rgba(0,0,0,.22);
}
.stage6SegmentLabel {
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height: 28px;
  padding: 5px 10px;
  border-radius: 999px;
  font-size: 11px;
  line-height: 1;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(255,255,255,.72);
  background: rgba(255,255,255,.06);
}
.stage6SegmentLabel--gold {
  background: rgba(212,175,55,.16);
  color: #f3df9a;
}
.stage6SegmentPrice {
  margin-top: 10px;
  font-size: 22px;
  line-height: 1.1;
  color: #fff;
  font-weight: 800;
}
.stage6SegmentPrice span { font-size: 12px; color: rgba(255,255,255,.62); font-weight: 600; }
.stage6SegmentCopy { margin-top: 8px; color: rgba(255,255,255,.72); font-size: 13px; line-height: 1.45; }
.stage6SegmentMini { margin-top: 10px; color: rgba(255,255,255,.56); font-size: 12px; line-height: 1.4; }
.stage6AnnualBadge {
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-bottom:10px;
  padding:6px 10px;
  border-radius:999px;
  background: rgba(212,175,55,.16);
  color:#f3df9a;
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.stage6AnnualMeta {
  margin-top: 10px;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(212,175,55,.18);
  background: rgba(212,175,55,.08);
  color: rgba(255,255,255,.82);
  font-size: 13px;
  line-height: 1.5;
}
.stage6AnnualMeta strong { color:#fff; }
.stage6ConsultUpsell {
  margin-top: 12px;
  padding: 14px;
  border-radius: 18px;
  border: 1px solid rgba(125, 196, 255, .18);
  background: linear-gradient(180deg, rgba(50,72,96,.28), rgba(255,255,255,.04));
}
.stage6ConsultUpsell__top {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.stage6ConsultUpsell__eyebrow {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: rgba(255,255,255,.56);
  margin-bottom: 6px;
}
.stage6ConsultUpsell__title {
  color:#fff;
  font-size:16px;
  font-weight:700;
  line-height:1.2;
}
.stage6ConsultUpsell__text {
  margin-top:6px;
  color: rgba(255,255,255,.74);
  font-size: 13px;
  line-height: 1.5;
}
.stage6ConsultUpsell__tag {
  min-width: 82px;
  text-align:center;
  padding: 8px 10px;
  border-radius: 14px;
  background: rgba(125,196,255,.12);
  color: #cfe7ff;
  font-size: 11px;
  font-weight: 700;
}
.stage6ConsultUpsell__actions {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top: 12px;
}
.stage6AnnualHint {
  margin-top: 10px;
  font-size: 12px;
  color: rgba(255,255,255,.58);
}
.stage6MonthlyNote {
  margin-top: 8px;
  color: rgba(255,255,255,.58);
  font-size: 12px;
}
@media (max-width: 720px) {
  .stage6SegmentGrid { grid-template-columns: 1fr; }
  .stage6ConsultUpsell__top { flex-direction: column; }
  .stage6ConsultUpsell__tag { width: 100%; }
}


/* ==== css/stage7-category-leadership.css ==== */
.stage7AuthorityBar{margin:14px 0 0;padding:14px 14px 12px;border:1px solid rgba(255,255,255,.10);background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.03));border-radius:20px;backdrop-filter:blur(10px)}
.stage7AuthorityBar__top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.stage7AuthorityBar__kicker{font-size:12px;letter-spacing:.08em;text-transform:uppercase;opacity:.8;margin-bottom:6px}
.stage7AuthorityBar__title{font-size:18px;line-height:1.2;font-weight:800;margin:0 0 6px}
.stage7AuthorityBar__text{font-size:14px;line-height:1.45;opacity:.88;margin:0}
.stage7AuthorityBar__btn{white-space:nowrap}
.stage7AuthorityStats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
.stage7AuthorityStat{padding:12px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.stage7AuthorityStat strong{display:block;font-size:15px;line-height:1.25;margin-bottom:4px}
.stage7AuthorityStat span{display:block;font-size:12px;line-height:1.35;opacity:.8}
.stage7AuthorityProof{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px}
.stage7AuthorityProof .chip{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);font-size:12px;line-height:1.2}
.stage7CategoryCard{margin-top:14px;padding:16px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04)}
.stage7CategoryCard__title{font-size:17px;font-weight:800;margin:0 0 8px}
.stage7CategoryCard__text{font-size:14px;line-height:1.5;opacity:.88;margin:0 0 12px}
.stage7CategoryGrid{display:grid;grid-template-columns:1fr;gap:10px}
.stage7CategoryItem{padding:12px;border-radius:14px;background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.07)}
.stage7CategoryItem strong{display:block;font-size:14px;margin-bottom:4px}
.stage7CategoryItem span{display:block;font-size:12px;line-height:1.4;opacity:.8}
.stage7MarketPosition{margin-top:14px;padding:16px;border-radius:18px;background:linear-gradient(180deg,rgba(214,177,92,.18),rgba(214,177,92,.08));border:1px solid rgba(214,177,92,.22)}
.stage7MarketPosition__title{font-size:16px;font-weight:800;margin-bottom:6px}
.stage7MarketPosition__text{font-size:14px;line-height:1.45;opacity:.92}
.stage7MarketPosition__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.stage7AuthorityModal .modalBody{display:grid;gap:14px}
.stage7AuthorityModal .pageCard{padding:14px}
.stage7AuthorityModal__grid{display:grid;gap:10px}
.stage7AuthorityModal__grid .pageCard strong{display:block;margin-bottom:4px}
.stage7AuthorityModal__foot{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
@media (max-width:760px){
  .stage7AuthorityStats{grid-template-columns:1fr}
  .stage7AuthorityBar__top{flex-direction:column}
  .stage7AuthorityBar__btn{width:100%}
}


/* ==== css/stage9-data-layer-upgrade.css ==== */
.stage9DataCard{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);border-radius:18px;padding:16px 16px 14px;margin-top:14px}
.stage9DataRow{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:10px;flex-wrap:wrap}
.stage9DataLabel{font-size:12px;letter-spacing:.08em;text-transform:uppercase;opacity:.68}
.stage9DataValue{font-size:14px;font-weight:700}
.stage9Pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700;background:rgba(212,175,55,.14);border:1px solid rgba(212,175,55,.2)}
.stage9MiniList{margin:10px 0 0;padding-left:18px;opacity:.9}
.stage9MiniList li{margin:4px 0}


/* ==== css/stage10-ia-cleanup.css ==== */

body.stage10-cleanup main.hero{padding-bottom:18px;}
body.stage10-cleanup .edgeDock,
body.stage10-cleanup .edgeDrawer,
body.stage10-cleanup .growthStrip,
body.stage10-cleanup .stage7AuthorityStrip,
body.stage10-cleanup .retentionRibbon,
body.stage10-cleanup .heroDecisionStrip,
body.stage10-cleanup [data-seo-hub-mount],
body.stage10-cleanup .supportModalTrigger,
body.stage10-cleanup .supportTeaser,
body.stage10-cleanup .buyCoffeeInline,
body.stage10-cleanup .stage7AuthorityInline,
body.stage10-cleanup .categoryLeadershipBar{display:none !important;}
body.stage10-cleanup .hero{min-height:auto;}
body.stage10-cleanup .heroExamplesWrap{margin-top:14px;}
body.stage10-cleanup .guideGateCard{margin-top:14px;padding:14px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(255,255,255,.03);}
body.stage10-cleanup .guideGateCard__title{font-weight:700;margin-bottom:6px;}
body.stage10-cleanup .guideGateCard__note{font-size:13px;line-height:1.45;opacity:.86;margin-bottom:10px;}
body.stage10-cleanup .guidePreviewBadge{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;background:rgba(255,255,255,.08);font-size:11px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px;}
body.stage10-cleanup .rg-article .rg-lockFade{position:relative;max-height:220px;overflow:hidden;}
body.stage10-cleanup .rg-article .rg-lockFade:after{content:"";position:absolute;left:0;right:0;bottom:0;height:90px;background:linear-gradient(180deg,rgba(12,12,14,0),rgba(12,12,14,.98));}
body.stage10-cleanup .rg-card.is-locked{opacity:.92;}
body.stage10-cleanup .rg-card.is-locked .rg-link{background:rgba(255,255,255,.08);}
body.stage10-cleanup .toolSheetCompactNote{font-size:12px;line-height:1.4;opacity:.72;margin:8px 0 0;}


/* ==== css/final-audit-fixes-v1.css ==== */
:root{
  --zf-final-hero-gap-a: 18px;
  --zf-final-hero-gap-b: 18px;
  --zf-final-hero-gap-c: 22px;
  --zf-final-chip-gap: 14px;
}

#micro,
.heroTrustItem{
  white-space:nowrap;
  text-wrap:nowrap;
}

.micro--hero{ margin-top:var(--zf-final-hero-gap-a) !important; }
.heroExamplesWrap,
.heroExamplesWrap--modal{ margin-top:var(--zf-final-hero-gap-b) !important; }
.heroTrust{ margin-top:var(--zf-final-hero-gap-c) !important; }

.chatQuick{
  margin-top:var(--zf-final-chip-gap) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.chatQuick .chipsRow,
.quickPanel .chipsRow{
  mask-image:none !important;
  -webkit-mask-image:none !important;
  padding-left:0 !important;
}
#quickCats{ margin-top:0 !important; }

.composerPill{
  min-height:60px !important;
  padding:8px !important;
  gap:8px !important;
  align-items:center !important;
}
#toolBtn,
#micBtn,
#sendBtn,
.composerPill .moreBtn,
.composerPill .mic,
.composerPill .send{
  width:42px !important;
  min-width:42px !important;
  height:42px !important;
  min-height:42px !important;
  border-radius:14px !important;
  display:grid !important;
  place-items:center !important;
}
#toolBtn{ font-size:20px !important; line-height:1 !important; }

.edgeDock{
  right:12px !important;
  z-index:9800 !important;
  opacity:1 !important;
}
.edgeDock.is-hidden{
  opacity:0 !important;
}
.edgeDockBtn{
  width:52px !important;
  height:52px !important;
}

#premiumPreviewBuyBtn{
  color:#111 !important;
}

@media (max-width:560px){
  #heroText,
  #heroHelper,
  #micro,
  .heroTrustItem{
    white-space:nowrap;
    text-wrap:nowrap;
  }
  #heroText{ font-size:clamp(26px, 7.8vw, 32px) !important; line-height:1.04 !important; }
  #heroHelper{ font-size:clamp(12px, 3.25vw, 13.5px) !important; line-height:1.12 !important; }
  .chatQuick{ margin-top:15px !important; }
}


/* ==== css/stage11-growth-paywall-v1.css ==== */
:root{
  --zf-stage11-dark-btn-bg: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.035));
  --zf-stage11-dark-btn-border: rgba(255,255,255,.12);
  --zf-stage11-dark-btn-text: #f7f1e8;
}

/* Etap 4 — growth/paywall/conversion polish */
#premiumPreviewTitle,
#premiumToolExplain,
.premiumPreviewLead{
  max-width: 60ch;
}

.premiumConsultCard{
  margin-top: 12px;
  padding: 14px;
  border: 1px solid rgba(212,176,120,.18);
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03));
}
.premiumConsultCard__title{
  font-size: 15px;
  font-weight: 800;
  margin-bottom: 6px;
  color: rgba(255,246,231,.96);
}
.premiumConsultCard__actions{
  margin-top: 10px;
  display: flex;
  justify-content: flex-start;
}
.premiumConsultHint{
  margin-top: 10px !important;
  text-align: center;
}

/* Monthly buttons: dark surface + jasny tekst */
#premiumPreviewBuyBtn,
#premiumNotifyBtn,
#premiumBuyBtn,
#codeModal .row .btn:not(.gold),
#premiumPreviewModal .premiumPreviewActions .btn:not(.gold){
  background: var(--zf-stage11-dark-btn-bg) !important;
  color: var(--zf-stage11-dark-btn-text) !important;
  border: 1px solid var(--zf-stage11-dark-btn-border) !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.06);
}
#premiumPreviewBuyBtn:hover,
#premiumNotifyBtn:hover,
#premiumBuyBtn:hover,
#codeModal .row .btn:not(.gold):hover,
#premiumPreviewModal .premiumPreviewActions .btn:not(.gold):hover{
  background: linear-gradient(180deg, rgba(255,255,255,.11), rgba(255,255,255,.05)) !important;
}

/* Annual button remains clearly premium */
#premiumPreviewBuyAnnualBtn,
#premiumAnnualBtn{
  min-height: 50px;
}

/* tighten chat footer gap */
.chatQuick{
  margin-top: 8px !important;
}
.chatQuick[hidden]{
  display: none !important;
}
.composerLegal{
  margin: 0 auto !important;
  padding: 2px 4px 0 !important;
}
.chatComposer{
  gap: 4px;
}

/* Fix broken send spinner centering after Enter */
@keyframes zfSendSpin {
  from { transform: translate(-50%, -50%) rotate(0deg); }
  to   { transform: translate(-50%, -50%) rotate(360deg); }
}
#sendBtn[aria-busy='true']::after,
#sendBtn[data-loading='1']::after,
.send[aria-busy='true']::after,
.send[data-loading='1']::after{
  animation: zfSendSpin .85s linear infinite !important;
  transform: translate(-50%, -50%) rotate(0deg) !important;
}

/* Small growth touches */
.premiumPreviewOffer__chips span,
.heroTrustItem{
  letter-spacing: -.01em;
}
.premiumPayTrust{
  margin-top: 12px;
  font-weight: 650;
}

@media (max-width: 560px){
  .premiumPreviewActions{
    gap: 8px;
  }
  #premiumPreviewBuyBtn,
  #premiumPreviewBuyAnnualBtn,
  #premiumNotifyBtn,
  #premiumAnnualBtn{
    width: 100%;
  }
  .premiumConsultCard__actions .btn{
    width: 100%;
  }
}


/* ==== css/stage12-production-cleanup-v1.css ==== */
/* Stage 12 — production cleanup */

/* Final source of truth for premium CTA contrast */
#premiumPreviewBuyBtn,
#premiumPreviewBuyAnnualBtn,
#premiumBuyBtn,
#premiumAnnualBtn,
#toolAccessBtn,
#premiumPreviewModal .btn,
#toolSheet .btn{
  color:#fff !important;
}

#premiumPreviewBuyBtn *,
#premiumPreviewBuyAnnualBtn *,
#premiumBuyBtn *,
#premiumAnnualBtn *,
#toolAccessBtn *{
  color:inherit !important;
}

/* Tighten the legal line under chat */
.chatComposer{
  gap:4px !important;
}
.composerLegal{
  margin-top:0 !important;
  padding-top:2px !important;
  padding-bottom:4px !important;
  font-size:11px !important;
  line-height:1.15 !important;
}
.composerRow{
  margin-bottom:0 !important;
}

/* Stable send button loader */
#sendBtn, .send{
  position:relative;
  overflow:hidden;
}
#sendBtn[aria-busy='true'],
#sendBtn[data-loading='1'],
.send[aria-busy='true'],
.send[data-loading='1']{
  color:transparent !important;
}
#sendBtn[aria-busy='true']::after,
#sendBtn[data-loading='1']::after,
.send[aria-busy='true']::after,
.send[data-loading='1']::after{
  content:'';
  position:absolute;
  left:50%;
  top:50%;
  width:16px;
  height:16px;
  margin-left:-8px;
  margin-top:-8px;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.35);
  border-top-color:#fff;
  animation:zfStage12Spin .75s linear infinite;
}
@keyframes zfStage12Spin{
  from{ transform:rotate(0deg); }
  to{ transform:rotate(360deg); }
}

/* Dashboard retention blocks */
.relationshipDashboard,
.savedCasesSection{
  scroll-margin-top:90px;
}


/* ==== css/theme-final-polish-v5.css ==== */

/* Final polish v5 — scoped overrides on stage5-ready */
#heroHelper{max-width:none;font-size:15px;line-height:1.35;color:rgba(255,255,255,.74);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:640px){#heroHelper{font-size:14px;max-width:min(92vw,340px)}}
.heroDecisionStrip{display:none !important}
.searchGhost,.searchGhost.has-caret{opacity:.78}
.searchGhost.has-caret::after,.exampleBubble.isTyping::after{content:"";display:inline-block;width:7px;height:1.05em;vertical-align:-.16em;margin-left:4px;border-radius:2px;background:currentColor;opacity:.72;animation:caretBlink 1s steps(1) infinite}
/* chat quick pills */
.chatQuick,.chatQuick .chipsRow,#quickCats,.quickPanel,#subChips{mask-image:none !important;-webkit-mask-image:none !important;backdrop-filter:none !important;-webkit-backdrop-filter:none !important;filter:none !important}
.chatQuick{margin-top:10px}
.chatQuick .chipsRow{padding-right:0 !important;overflow-x:auto;gap:8px;background:transparent !important}
.chatQuick .chip{background:rgba(255,255,255,.06) !important;border:1px solid rgba(255,255,255,.10) !important;color:#efe7dc !important;box-shadow:none !important}
.chatQuick .chip.gold{background:rgba(191,154,87,.18) !important;border-color:rgba(191,154,87,.28) !important;color:#f7ead3 !important}
.quickPanel{background:rgba(17,17,20,.98) !important;border:1px solid rgba(255,255,255,.08) !important;box-shadow:0 16px 38px rgba(0,0,0,.28) !important}
.composerLegal{margin-top:6px !important;font-size:11.5px !important;line-height:1.35;color:rgba(255,255,255,.48) !important}
/* composer focus calmer */
.composerPill{box-shadow:none !important;border-color:rgba(255,255,255,.10) !important;transition:border-color .18s ease, box-shadow .18s ease, background .18s ease}
.composerPill:hover{border-color:rgba(255,255,255,.14) !important}
.composerPill:focus-within{border-color:rgba(201,170,109,.42) !important;box-shadow:0 0 0 3px rgba(201,170,109,.10) !important}
/* send loader */
#sendBtn[data-loading='1'], .send[data-loading='1']{position:relative;color:transparent !important}
#sendBtn[data-loading='1']::before, .send[data-loading='1']::before{content:"";position:absolute;inset:50% auto auto 50%;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:999px;border:2px solid rgba(255,255,255,.22);border-top-color:#fff;animation:zfspin .7s linear infinite}
#sendBtn[data-loading='1']::after, .send[data-loading='1']::after{content:none !important}
@keyframes zfspin{to{transform:rotate(360deg)}}
/* consult bubble visible and aligned */
#edgeDock{display:block !important;opacity:1 !important;visibility:visible !important;top:50% !important;right:0 !important;transform:translateY(-50%) !important;z-index:9800 !important;pointer-events:none}
#edgeDock.is-hidden{opacity:0 !important;visibility:hidden !important}
#edgeDock .edgeDockBtn{pointer-events:auto;right:0 !important;opacity:1 !important;display:inline-flex !important}
@media (max-width:768px){#edgeDock{top:47% !important}}
/* premium modal visual cleanup */
#premiumPreviewModal .premiumPreviewTrust{display:none !important}
#premiumPreviewModal .premiumConsultCard .miniNote,
#premiumPreviewModal .premiumPreviewNote,
#codeModal .premiumConsultHint,
.premiumPayTrust{font-size:11.5px !important;line-height:1.35 !important;color:rgba(255,255,255,.54) !important}
#premiumPreviewModal .premiumPreviewNote{max-width:34rem;margin:8px auto 0 !important;text-align:center}
#premiumPreviewBuyAnnualBtn,#premiumAnnualBtn{background:linear-gradient(180deg,#d9c7a3 0%,#cdb183 100%) !important;color:#161311 !important;border-color:rgba(255,255,255,.14) !important;box-shadow:0 10px 22px rgba(0,0,0,.18) !important;text-shadow:none !important}
#premiumPreviewBuyAnnualBtn:hover,#premiumAnnualBtn:hover{filter:saturate(.98) brightness(.99)}
#premiumPreviewBuyBtn,#premiumNotifyBtn{background:#17171a !important;color:#f5efe6 !important;border-color:rgba(255,255,255,.12) !important}
.premiumOfferFeatured,.premiumPreviewOffer--annual,.premiumCodeOffer--annual{background:rgba(255,255,255,.035) !important;border-color:rgba(214,189,140,.20) !important;box-shadow:none !important}
.premiumPreviewOffer__chips span,.premiumCodeOffer__meta,.premiumPreviewOffer__meta{font-size:12px !important}
.premiumPayTrust{margin-top:8px !important}
/* remove AI wording emphasis in some cards if injected by JS remains */
.premiumConsultCard .miniNote,.consultModalNote,.consultDetailLead{word-break:normal}


/* ==== relationship-guide/guide-ui.css ==== */
:root{--rg-bg:#0f1115;--rg-panel:#151922;--rg-panel-2:#1b2130;--rg-text:#e8ebf1;--rg-muted:#aab3c5;--rg-line:#293246;--rg-accent:#d8c7ff}
.rg-shell,.rc-shell,.rd-shell,.rs-shell{background:var(--rg-bg);color:var(--rg-text);border:1px solid var(--rg-line);border-radius:24px;padding:24px;box-shadow:0 14px 40px rgba(0,0,0,.24)}
.rg-header h2{margin:0 0 8px}.rg-header p{margin:0;color:var(--rg-muted)}
.rg-modules,.rg-reco-list{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}
.rg-chip,.rg-link,.rg-card--mini,.rd-pill{background:var(--rg-panel);color:var(--rg-text);border:1px solid var(--rg-line);border-radius:999px;padding:10px 14px;cursor:pointer}
.rg-chip span{color:var(--rg-muted);margin-left:6px}
.rg-topics{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:16px}
.rg-card,.rd-card,.rc-card,.rs-card{background:var(--rg-panel);border:1px solid var(--rg-line);border-radius:20px;padding:18px}
.rg-card h3,.rd-card h3,.rc-card h3,.rs-card h3{margin:0 0 8px}
.rg-card p,.rd-card p,.rc-card p,.rs-card p,.rd-meta,.rc-note,.rs-note{color:var(--rg-muted)}
.rg-article h2{margin:4px 0 10px}.rg-eyebrow{color:var(--rg-accent);font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.rg-lead{font-size:18px;color:#fff}.rg-copy{line-height:1.75}.rg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:18px 0}
.rg-grid section{background:var(--rg-panel);border:1px solid var(--rg-line);border-radius:18px;padding:16px}
.rg-back{background:transparent;border:none;color:var(--rg-accent);cursor:pointer;padding:0 0 10px}
.rg-note{margin-top:18px;font-style:italic;color:#c6d0e3}
.rd-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.rd-timeline{display:grid;gap:10px}.rd-timeline-item{display:grid;grid-template-columns:90px 1fr auto;gap:12px;align-items:center;background:var(--rg-panel);padding:14px;border:1px solid var(--rg-line);border-radius:18px}
.rd-alert{background:#24181a;border:1px solid #55313a;border-radius:18px;padding:14px}
.rc-lines{display:grid;gap:10px}.rc-line{background:var(--rg-panel);border:1px solid var(--rg-line);border-radius:16px;padding:14px}
.rs-options{display:grid;gap:12px}.rs-option{background:var(--rg-panel);border:1px solid var(--rg-line);border-radius:18px;padding:16px}
.rs-badge{display:inline-block;background:var(--rg-panel-2);border:1px solid var(--rg-line);border-radius:999px;padding:4px 10px;font-size:12px;color:var(--rg-accent)}


/* ==== css/final-production-pass-v1.css ==== */

/* Final production pass */
#heroHelper{max-width:min(92vw,34rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px;line-height:1.35;color:rgba(255,255,255,.78)}
@media (max-width:640px){#heroHelper{font-size:13px;max-width:min(90vw,19.5rem)}}
.heroDecisionStrip{display:none!important}
.heroTrust{margin-top:12px!important}
.heroExamplesWrap--modal{margin-top:14px!important}
#micro{margin-top:10px!important}
.search{position:relative}
.searchGhost{pointer-events:none;opacity:.86}
.searchGhost.is-hidden{opacity:0}
.searchGhost.has-caret::after,.exampleBubble.isTyping::after{content:"";display:inline-block;width:7px;height:1.05em;vertical-align:-.16em;margin-left:4px;border-radius:2px;background:currentColor;opacity:.72;animation:caretBlink 1s steps(1) infinite}
.chatQuick,#quickCats,#subChips,.quickPanel,.chipsRow{mask-image:none!important;-webkit-mask-image:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;filter:none!important}
.chatQuick{margin-top:10px!important}
.chatQuick .chipsRow{background:transparent!important;padding-right:0!important;overflow-x:auto;gap:8px}
.chatQuick .chip{background:rgba(255,255,255,.07)!important;border:1px solid rgba(255,255,255,.12)!important;color:#f1e8dc!important;box-shadow:none!important;opacity:1!important}
.chatQuick .chip.gold{background:rgba(191,154,87,.18)!important;border-color:rgba(191,154,87,.32)!important;color:#f7ead3!important}
.quickPanel{background:rgba(17,17,20,.985)!important;border:1px solid rgba(255,255,255,.08)!important;box-shadow:0 18px 40px rgba(0,0,0,.30)!important}
.composerLegal{margin-top:6px!important;font-size:11px!important;line-height:1.35!important;color:rgba(255,255,255,.46)!important}
.composerPill{box-shadow:none!important;border-color:rgba(255,255,255,.10)!important;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.composerPill:hover{border-color:rgba(255,255,255,.16)!important}
.composerPill:focus-within{border-color:rgba(201,170,109,.38)!important;box-shadow:0 0 0 3px rgba(201,170,109,.10)!important}
#toolBtn,.mic,.send{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;border-radius:999px!important}
#sendBtn[data-loading='1'], .send[data-loading='1']{position:relative;color:transparent!important}
#sendBtn[data-loading='1']::before,.send[data-loading='1']::before{content:"";position:absolute;left:50%;top:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border:2px solid rgba(255,255,255,.24);border-top-color:#fff;border-radius:50%;animation:zfspin .7s linear infinite}
#sendBtn[data-loading='1']::after,.send[data-loading='1']::after{content:none!important}
@keyframes zfspin{to{transform:rotate(360deg)}}
#edgeDock{display:block!important;opacity:1!important;visibility:visible!important;top:50%!important;right:0!important;transform:translateY(-50%)!important;z-index:9800!important;pointer-events:none}
#edgeDock.is-hidden{opacity:0!important;visibility:hidden!important}
#edgeDock .edgeDockBtn{pointer-events:auto;opacity:1!important;display:inline-flex!important}
@media (max-width:768px){#edgeDock{top:46.5%!important}}
#premiumPreviewModal .premiumPreviewTrust{display:none!important}
#premiumPreviewModal .premiumConsultCard .miniNote,
#premiumPreviewModal .premiumPreviewNote,
#codeModal .premiumConsultHint,
.premiumPayTrust{font-size:11px!important;line-height:1.35!important;color:rgba(255,255,255,.54)!important}
#premiumPreviewModal .premiumPreviewNote{max-width:34rem;margin:8px auto 0!important;text-align:center}
#premiumPreviewBuyAnnualBtn,#premiumAnnualBtn{background:linear-gradient(180deg,#d9c7a3 0%,#ccb183 100%)!important;color:#171310!important;border-color:rgba(255,255,255,.14)!important;box-shadow:0 8px 18px rgba(0,0,0,.16)!important;text-shadow:none!important}
#premiumPreviewBuyBtn,#premiumNotifyBtn{background:#17171a!important;color:#f5efe6!important;border-color:rgba(255,255,255,.12)!important}
.premiumOfferFeatured,.premiumPreviewOffer--annual,.premiumCodeOffer--annual{background:rgba(255,255,255,.035)!important;border-color:rgba(214,189,140,.18)!important;box-shadow:none!important}
.payment-note,.premiumPayTrust,.subscription-note,.premiumPreviewNote,.premiumConsultHint{font-size:11px!important;opacity:.56!important}
.guideModalCard{max-width:min(980px,calc(100vw - 22px))}
#relationshipGuideRecommendations[hidden]{display:none!important}
#relationshipGuideRecommendations .rg-reco{margin-top:10px;padding:14px;border:1px solid rgba(255,255,255,.08);border-radius:20px;background:rgba(16,16,18,.92)}
#relationshipGuideRecommendations .rg-reco h3{margin:0 0 10px;font-size:14px;color:#f4eee6}
#relationshipGuideRecommendations .rg-reco-list{display:grid;gap:8px}
#relationshipGuideRecommendations .rg-card{width:100%;text-align:left;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:12px;color:#f4eee6}
#relationshipGuideRecommendations .rg-card span{display:block;margin-top:4px;font-size:12px;color:rgba(255,255,255,.62)}
@media (max-width:640px){#relationshipGuideRecommendations .rg-reco{padding:12px;border-radius:16px}}


/* ==== css/final-consolidation-v1.css ==== */

/* Final consolidation v1 */
[data-seo-hub-mount], .heroDecisionStrip{display:none !important}
.hero{min-height:100svh;padding-top:112px;padding-bottom:56px;overflow:hidden}
.heroImg{object-position:center 24% !important;opacity:.82}
.heroShade{background:linear-gradient(180deg, rgba(8,8,10,.24) 0%, rgba(8,8,10,.62) 34%, rgba(8,8,10,.92) 100%) !important}
.center{max-width:680px;padding-inline:20px}
#heroText{font-size:clamp(38px,8vw,64px);line-height:1.03;letter-spacing:-.03em;margin-bottom:10px}
.heroHelper{max-width:34ch;margin:0 auto 18px;font-size:15px;line-height:1.45;color:rgba(255,255,255,.78)}
.search{margin-top:18px}
.search input{padding-right:58px}
.micro--hero{margin-top:12px;font-size:12px;color:rgba(255,255,255,.62)}
.heroExamplesWrap--modal{margin-top:16px}
.heroExamplesModalBtn{min-height:42px;padding:0 16px;font-size:14px}
.heroTrust{margin-top:16px}
.heroTrustItem{font-size:12px;color:rgba(255,255,255,.56)}
.edgeDock{display:flex !important;opacity:1 !important;visibility:visible !important}
.edgeDockBtn{width:54px;height:54px;border-radius:18px;box-shadow:0 16px 36px rgba(0,0,0,.28)}
.edgeDrawer{z-index:1002}
/* chat */
.chipsRow,.chatQuick .chipsRow,#quickCats,#subChips,.quickPanel{mask-image:none !important;-webkit-mask-image:none !important;backdrop-filter:none !important;-webkit-backdrop-filter:none !important;filter:none !important;background-image:none !important}
.chatQuick{gap:8px}
.chatQuick .chipsRow{padding-left:0 !important;padding-right:0 !important;gap:8px !important;margin-top:8px !important}
.composerLegal{margin-top:6px !important;font-size:11px !important;line-height:1.35 !important;color:rgba(255,255,255,.52)!important}
.composerPill{min-height:54px;padding:6px 8px !important;border:1px solid rgba(255,255,255,.10)!important;box-shadow:none!important;background:rgba(16,16,19,.88)!important;transition:border-color .16s ease, box-shadow .16s ease, background .16s ease}
.composerPill:hover{border-color:rgba(255,255,255,.14)!important}
.composerPill:focus-within{border-color:rgba(201,170,109,.34)!important;box-shadow:0 0 0 2px rgba(201,170,109,.10)!important}
.composerPill .moreBtn,.composerPill .mic,.composerPill .send{width:40px !important;height:40px !important;min-width:40px !important;border-radius:12px !important;font-size:18px !important;display:grid;place-items:center;flex:0 0 40px}
.composerPill .moreBtn{font-size:20px !important;line-height:1 !important}
.composerPill .mic svg{width:18px!important;height:18px!important}
.composerPill textarea{min-height:40px !important;padding:10px 2px !important;font-size:15px !important;line-height:1.4 !important}
.send.is-loading,.send[aria-busy="true"]{color:transparent !important;position:relative}
.send.is-loading::after,.send[aria-busy="true"]::after{content:"";position:absolute;inset:11px;border:2px solid rgba(255,255,255,.28);border-top-color:#fff;border-radius:999px;animation:zfspin .8s linear infinite}
@keyframes zfspin{to{transform:rotate(360deg)}}
/* premium */
.premiumPayTrust,.payment-note{font-size:11px !important;line-height:1.35 !important;color:rgba(255,255,255,.52)!important;margin-top:8px !important}
.premiumPreviewNote,.subscription-note,.premiumConsultHint{font-size:10.5px !important;line-height:1.45 !important;color:rgba(255,255,255,.48)!important}
#premiumPreviewBuyAnnualBtn,#premiumAnnualBtn{background:linear-gradient(180deg,#f3f0e8,#e9dfca)!important;color:#171717!important;border:1px solid rgba(255,255,255,.22)!important;box-shadow:0 10px 24px rgba(0,0,0,.18)!important}
#premiumPreviewBuyAnnualBtn:hover,#premiumAnnualBtn:hover{filter:brightness(.98)}
/* account mobile */
@media (max-width: 720px){
  .accountStatsGrid,.accountInsightGrid,.relationshipDetailGrid,.accountRelationshipActions{grid-template-columns:1fr !important}
  .accountSection .pageCard:nth-of-type(n+4){display:none}
}
/* guide teaser for free */
.guideTeaserLock{margin-top:18px;padding:14px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(255,255,255,.03)}
.guideTeaserLock__title{font-weight:700;margin-bottom:6px}
.guideTeaserLock__note{font-size:13px;line-height:1.5;color:rgba(255,255,255,.68);margin-bottom:10px}
@media (max-width: 640px){
  .hero{padding-top:98px;padding-bottom:42px}
  #heroText{font-size:40px}
  .heroHelper{font-size:14px;max-width:28ch}
  .heroImg{object-position:center 20% !important}
  .search{max-width:100%}
  .edgeDock{right:14px !important;bottom:118px !important}
}


/* ==== css/final-step30.css ==== */
/* Final stable polish built on step25 */
#menuSheet .sheetTop .topBtn,
#toolSheet .sheetTop .topBtn{
  margin-left: 6px;
}

#toolSheet .toolAccessRow{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  padding:14px 16px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}
#toolSheet .toolAccessCopy{min-width:0;}
#toolSheet .toolAccessEyebrow{margin-bottom:7px;}
#toolSheet .accessState{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:0 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.04em;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
  color:rgba(255,255,255,.82);
}
#toolSheet .accessState.is-active{
  color:#def7e6;
  border-color:rgba(98,204,133,.26);
  background:linear-gradient(180deg, rgba(67,168,101,.18), rgba(67,168,101,.08));
}
#toolSheet .toolAccessTitle{font-size:15px;font-weight:750;}
#toolSheet .toolAccessSub{font-size:12px;line-height:1.45;color:rgba(255,255,255,.72);max-width:42ch;}
#toolSheet .toolAccessActions{display:flex;flex-direction:column;align-items:flex-end;gap:6px;}
#toolAccessBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:40px;
  padding:0 14px;
  border-radius:999px;
  font-size:13px;
  font-weight:700;
}
#toolAccessBtn .btnIcon{
  width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 16px;
}
#toolAccessBtn .btnIcon svg{width:16px;height:16px;display:block;}
#toolAccessBtn.isUnlocked{
  color:#e8f9ee;
  border-color:rgba(98,204,133,.26);
  background:linear-gradient(180deg, rgba(67,168,101,.20), rgba(67,168,101,.10));
}
#toolSheet .toolAccessHint{font-size:11px;line-height:1.35;color:rgba(255,255,255,.56);text-align:right;max-width:24ch;}
#toolSheet .itemMeta.paidMeta,
#menuSheet .menuBadge.paidMeta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:50px;
  min-height:26px;
  padding:0 10px;
  border-radius:999px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  opacity:1;
}
#toolSheet .itemMeta.paidMeta::before,
#menuSheet .menuBadge.paidMeta::before{display:none !important;}
#toolSheet .itemMeta.paidMeta.active,
#menuSheet .menuBadge.paidMeta.active{
  color:#dff7e6;
  background:rgba(66,168,99,.16);
  border-color:rgba(66,168,99,.28);
}
@media (max-width:640px){
  #toolSheet .toolAccessRow{grid-template-columns:1fr;align-items:flex-start;}
  #toolSheet .toolAccessActions{align-items:stretch;width:100%;}
  #toolAccessBtn{width:100%;}
  #toolSheet .toolAccessHint{text-align:left;max-width:none;}
}

.savedChatsIntro{
  margin-bottom:10px;
  padding:2px 2px 10px;
}
.savedChatsIntroTitle{font-size:13px;font-weight:700;color:#f4efe6;margin-bottom:4px;}
.savedChatsIntroText{font-size:12px;line-height:1.45;color:rgba(255,255,255,.68);}
.savedChatsList{display:grid;gap:10px;}
.savedChatItem{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:14px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.025));
}
.savedChatItem.isRecent{
  border-color:rgba(198,166,106,.26);
  background:linear-gradient(180deg, rgba(198,166,106,.10), rgba(255,255,255,.03));
}
.savedChatMeta{display:flex;flex-direction:column;gap:5px;min-width:0;}
.savedChatTopline{display:flex;align-items:center;gap:8px;min-width:0;}
.savedChatTitle{font-weight:760;font-size:14px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.savedChatTag{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:22px;padding:0 8px;border-radius:999px;
  font-size:10px;font-weight:800;letter-spacing:.08em;
  color:#d9bd84;background:rgba(198,166,106,.10);border:1px solid rgba(198,166,106,.20);
}
.savedChatDate{opacity:.68;font-size:12px;}
.savedChatSnippet{font-size:12px;line-height:1.45;color:rgba(255,255,255,.72);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.savedChatActions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.savedChatActions .btn{min-width:96px;}
.savedChatsEmpty{padding:18px 6px 8px;text-align:center;}
.savedChatsEmptyTitle{font-size:15px;font-weight:720;margin-bottom:6px;}
.savedChatsEmptyText{font-size:13px;line-height:1.5;color:rgba(255,255,255,.68);max-width:32ch;margin:0 auto 14px;}

.homeResumeCard{
  margin:16px auto 0;
  width:min(100%, 560px);
  padding:14px 16px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.028));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
  text-align:left;
}
.homeResumeKicker{font-size:11px;font-weight:800;letter-spacing:.08em;color:rgba(255,255,255,.55);text-transform:uppercase;margin-bottom:6px;}
.homeResumeTitle{font-size:15px;font-weight:720;color:#f5efe7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.homeResumeMeta{font-size:12px;color:rgba(255,255,255,.6);margin-top:3px;}
.homeResumeSnippet{font-size:13px;line-height:1.45;color:rgba(255,255,255,.74);margin-top:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.homeResumeActions{display:flex;gap:8px;justify-content:flex-start;flex-wrap:wrap;margin-top:12px;}
.homeResumeActions .btn{min-width:148px;}

.premiumPreviewModal .premiumPreviewOffer__meta,
#codeModal .premiumCodeOffer__meta{max-width:34ch;margin-inline:auto;}
.premiumPreviewNote{opacity:.78;}

#toolAccessBtn::before{display:none!important;content:none!important;}
#toolAccessBtn{gap:8px;}
#toolAccessBtn > span:first-child{display:inline-flex;align-items:center;justify-content:center;width:16px;min-width:16px;}

/* Stage 2.1 list polish */
.savedChatDateLine{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;min-width:0;color:rgba(255,255,255,.68);font-size:12px}
.savedChatDate,.savedChatTime{white-space:nowrap}
.savedChatDot{opacity:.45;line-height:1}
.savedChatBtn{min-height:40px;padding:10px 14px;font-size:13px;border-radius:14px}
.savedChatBtn--primary{font-weight:700}
.savedChatBtn--danger{border-color:rgba(255,255,255,.10)}
@media (max-width:640px){
  .savedChatItem{grid-template-columns:1fr;align-items:stretch}
  .savedChatMeta{gap:7px}
  .savedChatTitle{white-space:normal}
  .savedChatDateLine{gap:6px}
  .savedChatActions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;justify-content:stretch}
  .savedChatActions .btn,.savedChatBtn{width:100%;min-width:0;padding:10px 8px}
}
@media (max-width:420px){
  .savedChatActions{grid-template-columns:1fr}
}

/* Stage 2.2 anti-flicker + saved chats */
#savedChatsModal .aboutBody,
#saveTitleModal .aboutBody{min-height:150px}
#savedChatsModal .aboutTitle,
#saveTitleModal .aboutTitle,
#accountModal .aboutTitle{min-height:32px}
#savedChatsModal .row{align-items:stretch}
#savedChatsModal .row .btn{min-height:42px}


/* ==== relationship-guide/relationship-dashboard.css ==== */
:root{--rg-bg:#0f1115;--rg-panel:#151922;--rg-panel-2:#1b2130;--rg-text:#e8ebf1;--rg-muted:#aab3c5;--rg-line:#293246;--rg-accent:#d8c7ff}
.rg-shell,.rc-shell,.rd-shell,.rs-shell{background:var(--rg-bg);color:var(--rg-text);border:1px solid var(--rg-line);border-radius:24px;padding:24px;box-shadow:0 14px 40px rgba(0,0,0,.24)}
.rg-header h2{margin:0 0 8px}.rg-header p{margin:0;color:var(--rg-muted)}
.rg-modules,.rg-reco-list{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}
.rg-chip,.rg-link,.rg-card--mini,.rd-pill{background:var(--rg-panel);color:var(--rg-text);border:1px solid var(--rg-line);border-radius:999px;padding:10px 14px;cursor:pointer}
.rg-chip span{color:var(--rg-muted);margin-left:6px}
.rg-topics{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:16px}
.rg-card,.rd-card,.rc-card,.rs-card{background:var(--rg-panel);border:1px solid var(--rg-line);border-radius:20px;padding:18px}
.rg-card h3,.rd-card h3,.rc-card h3,.rs-card h3{margin:0 0 8px}
.rg-card p,.rd-card p,.rc-card p,.rs-card p,.rd-meta,.rc-note,.rs-note{color:var(--rg-muted)}
.rg-article h2{margin:4px 0 10px}.rg-eyebrow{color:var(--rg-accent);font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.rg-lead{font-size:18px;color:#fff}.rg-copy{line-height:1.75}.rg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:18px 0}
.rg-grid section{background:var(--rg-panel);border:1px solid var(--rg-line);border-radius:18px;padding:16px}
.rg-back{background:transparent;border:none;color:var(--rg-accent);cursor:pointer;padding:0 0 10px}
.rg-note{margin-top:18px;font-style:italic;color:#c6d0e3}
.rd-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.rd-timeline{display:grid;gap:10px}.rd-timeline-item{display:grid;grid-template-columns:90px 1fr auto;gap:12px;align-items:center;background:var(--rg-panel);padding:14px;border:1px solid var(--rg-line);border-radius:18px}
.rd-alert{background:#24181a;border:1px solid #55313a;border-radius:18px;padding:14px}
.rc-lines{display:grid;gap:10px}.rc-line{background:var(--rg-panel);border:1px solid var(--rg-line);border-radius:16px;padding:14px}
.rs-options{display:grid;gap:12px}.rs-option{background:var(--rg-panel);border:1px solid var(--rg-line);border-radius:18px;padding:16px}
.rs-badge{display:inline-block;background:var(--rg-panel-2);border:1px solid var(--rg-line);border-radius:999px;padding:4px 10px;font-size:12px;color:var(--rg-accent)}


/* ==== css/stage2-relationship-suite-v9.css ==== */
#relationshipSignalsDashboard{margin-top:18px} 
#relationshipSignalsDashboard .rd-shell{background:rgba(14,16,20,.86);border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:18px}
#relationshipSignalsDashboard .rd-card,#relationshipSignalsDashboard .rc-line,#relationshipSignalsDashboard .rd-timeline-item{background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.08)}
.zfSimSection{margin-top:16px;padding:18px;border:1px solid rgba(255,255,255,.08);border-radius:22px;background:rgba(14,16,20,.78)}
.zfSimButtons{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.zfSimButtons .btn{min-height:38px}
.zfSimCard{display:grid;gap:10px;padding:14px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(255,255,255,.03)}
.zfSimRow{display:grid;gap:4px}
.zfSimRow strong{font-size:13px;color:#f4eee6}
.zfSimRow span{font-size:14px;color:rgba(255,255,255,.78);line-height:1.5}
.zfSimGuard{font-size:12px;color:rgba(255,255,255,.52)}
@media (max-width:640px){#relationshipSignalsDashboard .rd-shell{padding:14px}.zfSimSection{padding:14px}}


/* ==== css/stage1-runtime-stabilization.css ==== */
html.zf-scroll-lock, html.zf-scroll-lock body {
  overflow: hidden;
  overscroll-behavior: contain;
}

body.modalOpen {
  touch-action: none;
}

.modalBack.zf-top-layer,
.sheetBack.zf-top-layer,
.overlay.zf-top-layer {
  isolation: isolate;
}

.savedChatPreviewBody,
#savedChatsList,
.modalCard {
  -webkit-overflow-scrolling: touch;
}

.rg-standalone {
  max-width: 980px;
  margin: 0 auto;
  padding: 20px 16px 48px;
}

.rg-standalone__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 18px;
}

.rg-standalone__back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  color: #fff;
  text-decoration: none;
  font-weight: 600;
}

.rg-standalone__lead {
  color: rgba(255,255,255,.78);
  margin: 0 0 12px;
}



/* production-fix-home-interactions */
#searchBtn, #heroPremiumBtn, .heroExamplesModalBtn, .examplePathBtn, .btn, .topBtn, .actionIcon { -webkit-tap-highlight-color: transparent; }
#searchBtn:active, #heroPremiumBtn:active, .heroExamplesModalBtn:active, .examplePathBtn:active, .btn:active { filter: none !important; box-shadow: inherit; }
#searchBtn:focus, #heroPremiumBtn:focus, .heroExamplesModalBtn:focus { outline: none; }
#heroPremiumBtn.btn-shimmer::after, .heroExamplesModalBtn.btn-shimmer::after { display: none !important; animation: none !important; }
#heroPremiumBtn, .heroExamplesModalBtn { overflow: visible; }
