:root{--bg:#151318;--text:#fff;--muted:rgba(255,255,255,.68);--faint:rgba(255,255,255,.12);--heart:#E53935;--orange:#FF6D3D;--safe-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}body{margin:0;min-height:100%;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:radial-gradient(circle at 20% -10%,rgba(255,109,61,.22),transparent 30%),linear-gradient(180deg,#17131c,#0f0d13);color:#fff}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}input,select,textarea{width:100%;border:1px solid var(--faint);background:#120f16;color:#fff;border-radius:18px;padding:14px 16px;outline:0}textarea{min-height:120px}label{display:grid;gap:8px;color:var(--muted);font-weight:650}.desktop-frame{min-height:100vh;display:flex;justify-content:center}.app-shell{width:100%;max-width:520px;padding:18px 16px calc(96px + var(--safe-bottom))}.btn{border:0;border-radius:999px;padding:14px 18px;font-weight:850;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}.btn-primary{background:linear-gradient(135deg,var(--orange),var(--heart));color:#fff;box-shadow:0 14px 28px rgba(229,57,53,.24)}.btn-secondary{background:rgba(255,255,255,.1);color:#fff;border:1px solid var(--faint)}.small{padding:10px 14px}.muted{color:var(--muted)}.center{text-align:center}.screen-header{padding:14px 4px 18px}.screen-header h1{margin:0 0 6px;font-size:32px}.screen-header p{margin:0;color:var(--muted)}.flash{position:fixed;top:14px;left:50%;transform:translateX(-50%);z-index:20;background:#292332;border:1px solid var(--faint);padding:12px 16px;border-radius:16px}.welcome-screen{min-height:100svh;display:grid;place-content:center;gap:24px;padding:28px;text-align:center}.brand-hero{display:flex;align-items:center;justify-content:center;gap:12px;font-size:34px;font-weight:950}.brand-hero img{width:48px;height:48px;border-radius:14px}.welcome-screen h1{font-size:clamp(38px,11vw,72px);line-height:.92;margin:0}.welcome-screen p{color:var(--muted);font-size:18px;max-width:560px;margin:0 auto}.auth-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.hero-card-stack{position:relative;height:220px;width:min(320px,80vw);margin:0 auto}.hero-card-stack div{position:absolute;inset:0;border-radius:36px;background:linear-gradient(135deg,rgba(255,109,61,.8),rgba(229,57,53,.8)),url('/assets/images/avatar_placeholder.jpg') center/cover}.hero-card-stack div:nth-child(2){transform:rotate(-8deg) translateX(-24px);opacity:.55}.hero-card-stack div:nth-child(3){transform:rotate(8deg) translateX(24px);opacity:.55}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-card,.upload-card,.legal-card,.settings-list{background:rgba(255,255,255,.065);border:1px solid var(--faint);border-radius:28px;padding:18px;display:grid;gap:16px}.settings-list a,.settings-list button{background:rgba(255,255,255,.06);border:1px solid var(--faint);border-radius:18px;padding:16px;color:#fff;text-align:left}.profile-hero,.profile-preview{background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.035));border:1px solid var(--faint);border-radius:34px;padding:20px;text-align:center}.profile-avatar img,.profile-preview img{width:140px;height:140px;border-radius:50%;object-fit:cover;margin:0 auto 14px;border:4px solid rgba(255,255,255,.18)}.profile-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.chips{display:flex;gap:8px;flex-wrap:wrap}.chips span{background:rgba(255,255,255,.14);padding:7px 10px;border-radius:999px;font-size:12px}.discover-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}.discover-tiles div{background:rgba(255,255,255,.06);border-radius:20px;padding:10px;min-height:120px;font-size:12px;font-weight:800}.discover-tiles img{height:68px;object-fit:contain;margin:auto}.discover-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.mini-card{background:rgba(255,255,255,.06);border:1px solid var(--faint);border-radius:22px;overflow:hidden;padding-bottom:12px}.mini-card img{height:190px;width:100%;object-fit:cover}.mini-card strong,.mini-card span{display:block;padding:8px 12px 0}.likes-list,.chat-list,.photo-grid{display:grid;gap:12px}.like-row,.chat-row{display:flex;gap:12px;align-items:center;background:rgba(255,255,255,.06);border:1px solid var(--faint);border-radius:22px;padding:12px}.like-row img,.chat-row img{width:62px;height:62px;border-radius:18px;object-fit:cover}.like-row div,.chat-row div{flex:1;min-width:0}.like-row span,.chat-row span{display:block;color:var(--muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-row b{background:var(--heart);border-radius:999px;min-width:24px;height:24px;display:grid;place-items:center;font-size:12px}.photo-grid{grid-template-columns:repeat(2,1fr)}.photo-grid figure{margin:0;background:rgba(255,255,255,.06);border-radius:20px;overflow:hidden}.photo-grid img{height:190px;width:100%;object-fit:cover}.photo-grid figcaption,.photo-grid button{margin:10px}.empty-state{text-align:center;margin:40px auto;color:var(--muted)}.empty-state img{max-width:180px;margin:0 auto 16px}.auth-shell{min-height:100svh;display:grid;place-items:center;padding:24px}@media (min-width:900px){.desktop-frame{max-width:1120px;margin:0 auto;justify-content:flex-start}.app-shell{max-width:760px;padding-left:28px;padding-right:28px}.sidebar-nav{display:flex!important}.bottom-nav{display:none!important}.discover-grid{grid-template-columns:repeat(3,1fr)}}

/* v4 mobile compact + zoom lock */
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  overscroll-behavior:none;
}
html,body{
  touch-action:pan-x pan-y;
}
@media (max-width:699px){
  :root{--mobile-ui-scale:.8;}
  body{overflow-x:hidden;}
  .desktop-frame{min-height:100svh;}
  .app-shell{
    max-width:none;
    padding:14px 12px calc(82px + var(--safe-bottom));
  }
  .screen-header{padding:10px 4px 14px;}
  .screen-header h1{font-size:28px;line-height:1.03;margin-bottom:5px;letter-spacing:-.035em;}
  .screen-header p{font-size:16px;line-height:1.25;}
  .form-card,.upload-card,.legal-card,.settings-list{
    border-radius:22px;
    padding:15px;
    gap:13px;
  }
  .btn{padding:12px 16px;font-size:15px;}
  input,select,textarea{font-size:16px;padding:12px 14px;border-radius:15px;}
  .discover-tiles{gap:8px;margin-bottom:14px;}
  .discover-tiles div{border-radius:18px;min-height:105px;padding:8px;font-size:11px;}
  .discover-tiles img{height:58px;}
  .like-row,.chat-row{border-radius:19px;padding:10px;gap:10px;}
  .like-row img,.chat-row img{width:52px;height:52px;border-radius:15px;}
  .empty-state{margin:32px auto;}
}

/* v7 themes: default black, classic as option, full light as option */
body.theme-black{
  --bg:#000;
  --text:#fff;
  --muted:rgba(255,255,255,.68);
  --faint:rgba(255,255,255,.13);
  background:#000!important;
  color:#fff;
}
body.theme-black .form-card,
body.theme-black .upload-card,
body.theme-black .legal-card,
body.theme-black .settings-list,
body.theme-black .profile-hero,
body.theme-black .profile-preview,
body.theme-black .discover-tiles div,
body.theme-black .mini-card,
body.theme-black .like-row,
body.theme-black .chat-row,
body.theme-black .photo-grid figure{
  background:#09090c!important;
  border-color:rgba(255,255,255,.11)!important;
}
body.theme-black input,
body.theme-black select,
body.theme-black textarea{background:#050506!important;color:#fff!important;border-color:rgba(255,255,255,.16)!important;}

body.theme-classic{
  background:radial-gradient(circle at 20% -10%,rgba(255,109,61,.22),transparent 30%),linear-gradient(180deg,#17131c,#0f0d13);
  color:#fff;
}

body.theme-light{
  --bg:#fff;
  --text:#111;
  --muted:rgba(0,0,0,.62);
  --faint:rgba(0,0,0,.12);
  background:#fff!important;
  color:#111!important;
}
body.theme-light a,
body.theme-light .screen-header h1,
body.theme-light .brand-hero,
body.theme-light .account-topbar h1{color:#111!important;}
body.theme-light .screen-header p,
body.theme-light .muted{color:rgba(0,0,0,.62)!important;}
body.theme-light input,
body.theme-light select,
body.theme-light textarea{background:#fff!important;color:#111!important;border-color:rgba(0,0,0,.22)!important;}
body.theme-light .form-card,
body.theme-light .upload-card,
body.theme-light .legal-card,
body.theme-light .settings-list,
body.theme-light .profile-hero,
body.theme-light .profile-preview,
body.theme-light .discover-tiles div,
body.theme-light .mini-card,
body.theme-light .like-row,
body.theme-light .chat-row,
body.theme-light .photo-grid figure{
  background:#fff!important;
  border-color:rgba(0,0,0,.12)!important;
  box-shadow:0 14px 40px rgba(0,0,0,.08);
}
body.theme-light .btn-secondary,
body.theme-light .settings-list a,
body.theme-light .settings-list button{background:#f3f3f5!important;color:#111!important;border-color:rgba(0,0,0,.12)!important;}
body.theme-light .flash{background:#fff;color:#111;border-color:rgba(0,0,0,.14);box-shadow:0 12px 30px rgba(0,0,0,.12)}


.feed-brand,
.brand-mini,
.brand-hero-lockup{
  display:inline-flex;
  align-items:center;
}
.feed-brand img,
.brand-mini img{
  display:block;
  width:auto;
  height:48px;
  object-fit:contain;
}
.brand-mini{
  margin-bottom:18px;
}
.brand-mini img{
  height:54px;
}
.welcome-screen-v2{
  padding:24px 18px;
}
.welcome-hero-card{
  width:min(100%, 520px);
  display:grid;
  gap:22px;
  padding:24px;
  border-radius:34px;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.035));
  box-shadow:0 28px 80px rgba(0,0,0,.34);
  backdrop-filter:blur(20px);
}
.brand-hero-lockup{
  justify-content:center;
}
.brand-hero-logo{
  width:min(100%, 280px);
  height:auto;
  border-radius:28px;
  box-shadow:0 18px 44px rgba(0,0,0,.22);
}
.welcome-copy{
  display:grid;
  gap:12px;
}
.hero-eyebrow{
  display:inline-flex;
  width:max-content;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.08);
  color:rgba(255,255,255,.72);
  font-size:12px;
  font-weight:800;
  letter-spacing:.03em;
  text-transform:uppercase;
}
.welcome-screen-v2 h1{
  font-size:clamp(34px,10vw,58px);
  line-height:.95;
  letter-spacing:-.045em;
  margin:0;
}
.welcome-screen-v2 p{
  max-width:none;
  margin:0;
  color:rgba(255,255,255,.72);
  font-size:17px;
  line-height:1.5;
}
.welcome-primary-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.playstore-banner{
  display:flex;
  align-items:center;
  gap:14px;
  padding:16px 18px;
  border-radius:24px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.09);
  box-shadow:0 18px 50px rgba(0,0,0,.2);
}
.playstore-banner:hover{
  background:rgba(255,255,255,.08);
}
.playstore-banner.is-disabled{
  cursor:default;
}
.playstore-badge-icon{
  width:54px;
  height:54px;
  flex:0 0 auto;
  border-radius:18px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg, rgba(255,109,61,.22), rgba(133,96,255,.22));
  border:1px solid rgba(255,255,255,.08);
}
.playstore-badge-icon svg{
  width:28px;
  height:28px;
  fill:#fff;
}
.playstore-copy{
  display:grid;
  gap:3px;
}
.playstore-copy strong{
  font-size:18px;
  font-weight:900;
  letter-spacing:-.02em;
}
.playstore-copy span{
  color:rgba(255,255,255,.68);
  font-size:14px;
  font-weight:700;
}
@media (max-width: 560px){
  .welcome-hero-card{
    padding:20px;
    border-radius:28px;
    gap:18px;
  }
  .brand-hero-logo{
    width:min(100%, 230px);
    border-radius:24px;
  }
  .welcome-primary-actions{
    grid-template-columns:1fr;
  }
  .feed-brand img{height:42px;}
}

/* Push notification prompt shown after login; does not request native permission until user clicks. */
.truo-push-prompt[hidden]{display:none!important;}
.truo-push-prompt{
  position:fixed;
  inset:0;
  z-index:140;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(0,0,0,.68);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.truo-push-dialog{
  position:relative;
  width:min(100%, 430px);
  border-radius:32px;
  border:1px solid rgba(255,255,255,.14);
  background:linear-gradient(180deg, rgba(35,31,42,.96), rgba(20,18,25,.98));
  box-shadow:0 30px 90px rgba(0,0,0,.55), 0 0 70px rgba(255,80,110,.14);
  padding:30px 24px 24px;
  text-align:center;
  color:#fff;
}
.truo-push-close{
  position:absolute;
  top:12px;
  right:12px;
  width:42px;
  height:42px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:30px;
  line-height:1;
  cursor:pointer;
}
.truo-push-icon{
  width:74px;
  height:74px;
  margin:0 auto 18px;
  display:grid;
  place-items:center;
  border-radius:24px;
  background:linear-gradient(135deg,#ff6d3d,#ff3d6e 55%,#8d5dff);
  box-shadow:0 18px 46px rgba(255,61,110,.32);
  font-size:38px;
  color:#fff;
}
.truo-push-dialog h2{
  margin:0 0 10px;
  font-size:clamp(28px, 7vw, 38px);
  line-height:1;
  letter-spacing:-.045em;
  font-weight:950;
}
.truo-push-dialog p{
  margin:0;
  color:rgba(255,255,255,.72);
  font-size:16px;
  line-height:1.45;
  font-weight:700;
}
.truo-push-actions{
  display:grid;
  gap:10px;
  margin-top:22px;
}
.truo-push-primary,
.truo-push-secondary{
  min-height:54px;
  border:0;
  border-radius:999px;
  padding:0 18px;
  font-size:16px;
  font-weight:950;
  cursor:pointer;
}
.truo-push-primary{
  color:#fff;
  background:linear-gradient(135deg,#ff6d3d,#ff3d6e);
  box-shadow:0 18px 42px rgba(255,61,82,.28);
}
.truo-push-primary:disabled{
  cursor:progress;
  opacity:.72;
}
.truo-push-secondary{
  color:#fff;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.1);
}
.truo-push-dialog small{
  display:block;
  min-height:18px;
  margin-top:12px;
  color:rgba(255,255,255,.66);
  font-size:13px;
  line-height:1.35;
  font-weight:800;
}
body.truo-push-prompt-open{overflow:hidden!important;}
body.theme-light .truo-push-prompt{background:rgba(15,15,20,.44);}
body.theme-light .truo-push-dialog{
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(244,242,248,.98));
  color:#17131d;
  border-color:rgba(15,15,20,.1);
}
body.theme-light .truo-push-close,
body.theme-light .truo-push-secondary{
  background:rgba(0,0,0,.06);
  border-color:rgba(0,0,0,.08);
  color:#17131d;
}
body.theme-light .truo-push-dialog p,
body.theme-light .truo-push-dialog small{color:rgba(23,19,29,.66);}
@media (max-width:560px){
  .truo-push-prompt{align-items:end;padding:14px 14px calc(14px + env(safe-area-inset-bottom));}
  .truo-push-dialog{border-radius:30px;padding:28px 20px 22px;}
  .truo-push-icon{width:68px;height:68px;border-radius:22px;font-size:35px;}
  .truo-push-dialog h2{font-size:31px;}
}


/* Location permission prompt shown after login; native browser permission is requested only after user taps the primary button. */
.truo-location-prompt[hidden]{display:none!important;}
.truo-location-prompt{
  position:fixed;
  inset:0;
  z-index:145;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(0,0,0,.68);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.truo-location-dialog{
  position:relative;
  width:min(100%,430px);
  border-radius:32px;
  border:1px solid rgba(255,255,255,.14);
  background:linear-gradient(180deg,rgba(35,31,42,.96),rgba(20,18,25,.98));
  box-shadow:0 30px 90px rgba(0,0,0,.55),0 0 70px rgba(255,109,61,.12);
  padding:30px 24px 24px;
  text-align:center;
  color:#fff;
}
.truo-location-close{
  position:absolute;
  top:12px;
  right:12px;
  width:42px;
  height:42px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:30px;
  line-height:1;
  cursor:pointer;
}
.truo-location-icon{
  width:74px;
  height:74px;
  margin:0 auto 18px;
  display:grid;
  place-items:center;
  border-radius:24px;
  background:linear-gradient(135deg,#ff6d3d,#ff3d6e 55%,#8d5dff);
  box-shadow:0 18px 46px rgba(255,109,61,.28);
  font-size:38px;
  color:#fff;
}
.truo-location-dialog h2{
  margin:0 0 10px;
  font-size:clamp(28px,7vw,38px);
  line-height:1;
  letter-spacing:-.045em;
  font-weight:950;
}
.truo-location-dialog p{
  margin:0;
  color:rgba(255,255,255,.72);
  font-size:16px;
  line-height:1.45;
  font-weight:700;
}
.truo-location-actions{
  display:grid;
  gap:10px;
  margin-top:22px;
}
.truo-location-primary,
.truo-location-secondary{
  min-height:54px;
  border:0;
  border-radius:999px;
  padding:0 18px;
  font-size:16px;
  font-weight:950;
  cursor:pointer;
}
.truo-location-primary{
  color:#fff;
  background:linear-gradient(135deg,#ff6d3d,#ff3d6e);
  box-shadow:0 18px 42px rgba(255,61,82,.28);
}
.truo-location-primary:disabled{cursor:progress;opacity:.72;}
.truo-location-secondary{
  color:#fff;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.1);
}
.truo-location-dialog small{
  display:block;
  min-height:18px;
  margin-top:12px;
  color:rgba(255,255,255,.66);
  font-size:13px;
  line-height:1.35;
  font-weight:800;
}
body.truo-location-prompt-open{overflow:hidden!important;}
body.theme-light .truo-location-prompt{background:rgba(15,15,20,.44);}
body.theme-light .truo-location-dialog{
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(244,242,248,.98));
  color:#17131d;
  border-color:rgba(15,15,20,.1);
}
body.theme-light .truo-location-close,
body.theme-light .truo-location-secondary{
  background:rgba(0,0,0,.06);
  border-color:rgba(0,0,0,.08);
  color:#17131d;
}
body.theme-light .truo-location-dialog p,
body.theme-light .truo-location-dialog small{color:rgba(23,19,29,.66);}
@media (max-width:560px){
  .truo-location-prompt{align-items:end;padding:14px 14px calc(14px + env(safe-area-inset-bottom));}
  .truo-location-dialog{border-radius:30px;padding:28px 20px 22px;}
  .truo-location-icon{width:68px;height:68px;border-radius:22px;font-size:35px;}
  .truo-location-dialog h2{font-size:31px;}
}

/* Site footer */
.truo-site-footer{
  width:100%;
  margin:10px auto 0;
  padding:18px 16px calc(28px + var(--safe-bottom));
  color:#fff;
  font-size:14px;
  line-height:1.45;
}
.truo-site-footer-inner{
  width:min(100%,520px);
  margin:0 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  text-align:center;
}
.truo-site-footer-copy p{
  margin:4px 0;
}
.truo-site-footer-links{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px 18px;
}
.truo-site-footer a{
  color:#fff;
  font-weight:850;
  text-decoration:underline;
  text-underline-offset:3px;
}
body.theme-light .truo-site-footer,
body.theme-light .truo-site-footer a{
  color:#fff;
}
body.app-body{
  min-height:100svh;
  display:flex;
  flex-direction:column;
}
body.app-body .desktop-frame{
  width:100%;
  min-height:0;
  flex:1 0 auto;
}
.truo-site-footer--app{
  flex:0 0 auto;
  width:min(100%,520px);
  margin:0 auto;
  padding:18px 16px calc(98px + var(--safe-bottom));
}
@media (min-width:900px){
  .truo-site-footer-inner{
    width:min(100%,900px);
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    text-align:center;
  }
  .truo-site-footer-copy{
    grid-column:2;
    justify-self:center;
    text-align:center;
  }
  .truo-site-footer-links{
    grid-column:3;
    justify-self:end;
    justify-content:flex-end;
    text-align:right;
  }
  .truo-site-footer--app{
    padding-bottom:30px;
  }
}
@media (max-width:699px){
  .truo-site-footer--app{
    padding-top:10px;
    padding-bottom:calc(92px + var(--safe-bottom));
  }
}


/* Footer fix: în aplicația mobilă autentificată nu afișăm copyright-ul peste ecranele native */
@media (max-width:899px){
  .truo-site-footer--app{
    display:none!important;
  }
}

/* Truo custom modal: înlocuiește alert/confirm nativ în zona non-admin. */
.truo-modal-open{
  overflow:hidden;
}
.truo-modal-overlay{
  position:fixed;
  inset:0;
  z-index:2147483000;
  display:grid;
  place-items:center;
  padding:calc(18px + env(safe-area-inset-top)) calc(18px + env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) calc(18px + env(safe-area-inset-left));
  background:rgba(7,6,11,.72);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.truo-modal-overlay[hidden]{
  display:none!important;
}
.truo-modal-card{
  width:min(420px, 100%);
  max-height:calc(100dvh - 40px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  overflow:auto;
  position:relative;
  padding:28px 22px 20px;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.12);
  background:
    radial-gradient(circle at 18% 0%, rgba(255,91,109,.18), transparent 40%),
    linear-gradient(180deg, rgba(34,32,43,.98), rgba(18,16,24,.98));
  color:#fff;
  box-shadow:0 28px 80px rgba(0,0,0,.52), inset 0 1px 0 rgba(255,255,255,.05);
  text-align:center;
  transform:translateY(8px) scale(.97);
  opacity:0;
  animation:truo-modal-in .18s ease-out forwards;
  outline:none;
}
@keyframes truo-modal-in{
  to{transform:translateY(0) scale(1);opacity:1;}
}
.truo-modal-close{
  position:absolute;
  top:12px;
  right:12px;
  width:40px;
  height:40px;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:rgba(255,255,255,.88);
  font-size:26px;
  line-height:1;
  cursor:pointer;
}
.truo-modal-close:hover,
.truo-modal-close:focus-visible{
  background:rgba(255,255,255,.14);
}
.truo-modal-icon{
  width:64px;
  height:64px;
  margin:0 auto 14px;
  display:grid;
  place-items:center;
  border-radius:22px;
  background:linear-gradient(135deg, #ff5b6d, #ff7a45);
  box-shadow:0 18px 40px rgba(255,91,109,.25);
  font-size:29px;
}
.truo-modal-card h2{
  margin:0 0 8px;
  font-size:clamp(24px, 6vw, 31px);
  line-height:1.08;
  letter-spacing:-.035em;
}
.truo-modal-card p{
  margin:0 auto 22px;
  max-width:32ch;
  color:rgba(255,255,255,.78);
  font-size:16px;
  line-height:1.45;
}
.truo-modal-actions{
  display:flex;
  gap:12px;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
}
.truo-modal-primary,
.truo-modal-secondary{
  min-height:48px;
  min-width:128px;
  padding:0 20px;
  border:0;
  border-radius:999px;
  font-weight:900;
  font-size:15px;
  cursor:pointer;
}
.truo-modal-primary{
  color:#fff;
  background:linear-gradient(135deg, #ff5b6d, #ff3f37);
  box-shadow:0 14px 34px rgba(255,63,55,.30);
}
.truo-modal-secondary{
  color:rgba(255,255,255,.86);
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.10);
}
.truo-modal-primary:focus-visible,
.truo-modal-secondary:focus-visible,
.truo-modal-close:focus-visible{
  outline:3px solid rgba(255,112,117,.45);
  outline-offset:3px;
}
@media (max-width:520px){
  .truo-modal-overlay{
    align-items:end;
    padding:16px calc(14px + env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) calc(14px + env(safe-area-inset-left));
  }
  .truo-modal-card{
    width:100%;
    border-radius:30px;
    padding:28px 18px 18px;
  }
  .truo-modal-actions{
    flex-direction:column-reverse;
    gap:10px;
  }
  .truo-modal-primary,
  .truo-modal-secondary{
    width:100%;
    min-height:52px;
    font-size:16px;
  }
}

.truo-language-switcher {
    position: fixed;
    top: calc(12px + env(safe-area-inset-top));
    right: calc(12px + env(safe-area-inset-right));
    z-index: 1200;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 999px;
    background: rgba(15, 13, 18, .72);
    backdrop-filter: blur(12px);
    box-shadow: 0 12px 28px rgba(0, 0, 0, .24);
}
.truo-language-link {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 11px;
    border-radius: 999px;
    color: #fff;
    text-decoration: none;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .01em;
}
.truo-language-link[aria-current="true"] {
    background: rgba(255, 255, 255, .18);
}
.truo-language-link--secondary {
    color: rgba(255, 255, 255, .72);
}
@media (max-width: 760px) {
    .truo-language-switcher--app {
        top: auto;
        right: auto;
        left: calc(12px + env(safe-area-inset-left));
        bottom: calc(104px + env(safe-area-inset-bottom));
        z-index: 60;
    }
    .app-shell.chat-shell ~ .truo-language-switcher--app {
        bottom: calc(188px + env(safe-area-inset-bottom));
    }
    .truo-language-switcher--auth,
    .truo-language-switcher--landing {
        top: auto;
        right: auto;
        left: calc(14px + env(safe-area-inset-left));
        bottom: calc(18px + env(safe-area-inset-bottom));
    }
    .truo-language-link {
        min-height: 28px;
        padding: 0 9px;
        font-size: 12px;
    }
}
