:root{
  --v09-night-900:#071634;
  --v09-night-800:#0B1C3F;
  --v09-night-700:#122850;
  --v09-surface:rgba(255,255,255,.052);
  --v09-surface-2:rgba(255,255,255,.085);
  --v09-line:rgba(239,200,115,.20);
  --v09-line-2:rgba(239,200,115,.34);
  --v09-gold:#EFC873;
  --v09-gold-dim:#D8B65E;
  --v09-ivory:#F4EEE2;
  --v09-ink:#14213D;
  --v09-text:#EFEAE0;
  --v09-muted:rgba(239,234,224,.62);
  --v09-serif:"Charter","Bitstream Charter","Utopia",Georgia,serif;
  --v09-sans:"Carlito","Calibri","Noto Sans",system-ui,-apple-system,sans-serif;
  --v09-pad:20px;
  --v09-radius:14px;
}

body{
  background:var(--v09-night-900);
  color:var(--v09-text);
  font-family:var(--v09-sans);
  letter-spacing:0;
}

.screen{
  background:
    radial-gradient(70% 40% at 50% -10%, rgba(45,86,160,.55), transparent 70%),
    radial-gradient(90% 50% at 50% 108%, rgba(7,22,52,.9), transparent 70%),
    var(--v09-night-800) !important;
  color:var(--v09-text);
}

.chat-header,
#chat .chat-header,
#account .chat-header,
#sessions .chat-header,
#sessionSummary .chat-header,
#favorites .chat-header,
#editorialFavorites .chat-header,
#installHelp .chat-header{
  min-height:56px;
  padding:0 var(--v09-pad);
  border-bottom:1px solid rgba(255,255,255,.07);
  background:transparent;
  box-shadow:none;
}

.chat-title,
#chat .chat-title,
#account .chat-title,
#sessions .chat-title,
#sessionSummary .chat-title,
#favorites .chat-title,
#editorialFavorites .chat-title,
#installHelp .chat-title{
  color:var(--v09-text);
  font:400 19px/1.15 var(--v09-serif);
  letter-spacing:0;
}

.icon-btn,
#chat .icon-btn,
#account .icon-btn,
#sessions .icon-btn,
#sessionSummary .icon-btn,
#favorites .icon-btn,
#editorialFavorites .icon-btn,
#installHelp .icon-btn{
  width:24px;
  height:24px;
  color:var(--v09-gold);
  border:0;
  background:transparent;
  border-radius:0;
}

.end-btn{
  color:var(--v09-gold);
  border:0;
  border-bottom:1px solid var(--v09-line-2);
  border-radius:0;
  padding:0 0 2px;
  background:transparent;
  font-size:13px;
  font-weight:500;
}

#auth.center-screen{
  justify-content:flex-start;
  min-height:100svh;
  padding:0 var(--v09-pad);
}

#auth .card{
  width:100%;
  max-width:390px;
  min-height:100svh;
  margin:0 auto;
  padding:52px 0 24px;
  background:transparent;
  border:0;
  box-shadow:none;
  display:flex;
  flex-direction:column;
}

#auth .brand-logo{
  width:136px;
  max-height:none;
  margin:0 auto;
}

#auth .claim{
  margin:10px 0 46px;
  color:var(--v09-muted);
  font-size:12px;
  letter-spacing:.26em;
}

#auth .field-label{
  color:var(--v09-muted);
  font-size:12.5px;
  margin:0 0 7px;
}

#auth .field,
#auth .pw-wrap{
  height:52px;
  border-radius:var(--v09-radius);
  border:1px solid rgba(255,255,255,.11);
  background:#102A5C;
  color:#F4EEE2;
  -webkit-text-fill-color:#F4EEE2;
  caret-color:var(--v09-gold);
}

#auth .field{
  padding:0 16px;
  opacity:1;
  background:#102A5C !important;
  box-shadow:inset 0 0 0 1000px #102A5C;
}

#auth .pw-wrap .field{
  height:50px;
  border:0;
  background:transparent;
}

#auth .stack{
  gap:18px;
}

#auth #loginBtn,
#auth .btn.gold{
  height:52px;
  margin-top:8px;
  border-radius:var(--v09-radius);
  background:var(--v09-gold);
  color:var(--v09-night-800);
  border:0;
  box-shadow:none;
  font-size:15.5px;
}

#auth .text-link.muted{
  align-self:flex-end;
  margin-top:11px;
  color:var(--v09-gold);
  border-bottom:1px solid var(--v09-line-2);
  border-radius:0;
  padding:0 0 2px;
  opacity:.88;
}

#auth .first-time-box{
  margin-top:38px;
  padding-top:20px;
  border-top:1px solid var(--v09-line);
  background:transparent;
  box-shadow:none;
}

#auth .first-time-title{
  color:var(--v09-muted);
  font-size:14px;
  text-align:center;
}

#auth .first-time-box .btn{
  height:auto;
  margin-top:9px;
  padding:0 0 3px;
  background:transparent;
  color:var(--v09-gold);
  border:0;
  border-bottom:1px solid var(--v09-line-2);
  border-radius:0;
  font:400 15px/1.3 var(--v09-serif);
  text-align:center;
}

#auth input:-webkit-autofill,
#auth input:-webkit-autofill:hover,
#auth input:-webkit-autofill:focus{
  -webkit-box-shadow:0 0 0 1000px #102A5C inset;
  -webkit-text-fill-color:#F4EEE2;
  caret-color:var(--v09-gold);
}

.author-studio-verified{
  color:var(--v09-gold);
  text-decoration:none;
  font-size:10.5px;
  letter-spacing:.17em;
  font-weight:700;
}

.author-studio-verified sup{
  font-size:.62em;
  line-height:0;
}

.author-studio-verified small{
  display:block;
  margin-top:6px;
  color:var(--v09-muted);
  font-size:11px;
  letter-spacing:.05em;
  font-weight:400;
}

#auth .footnote{
  margin-top:auto;
  padding-top:24px;
}

#home .angel-home-header{
  height:130px;
  min-height:130px;
  padding:24px var(--v09-pad) 8px;
  display:grid;
  grid-template-columns:40px 1fr 40px;
  align-items:center;
}

#home .angel-header-spacer{
  display:block;
  width:40px;
  height:40px;
}

#home .angel-home-brand{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-width:0;
}

#home .angel-home-logo{
  width:auto;
  height:86px;
  margin:0;
}

#home .angel-home-brand p{
  margin:8px 0 0;
  color:var(--v09-muted);
  font-size:10.5px;
  font-weight:700;
  letter-spacing:.22em;
}

#home .angel-profile-button{
  width:40px;
  height:40px;
  border-radius:50%;
  border:1px solid var(--v09-line);
  background:transparent;
  color:var(--v09-gold);
  box-shadow:none;
}

#home .home-body{
  min-height:calc(100svh - 130px);
  padding:8px var(--v09-pad) 26px;
  display:flex;
  flex-direction:column;
  max-width:390px;
  margin:0 auto;
}

.home-section-v09{
  display:block;
}

#home .home-card{
  width:100%;
  min-height:0;
  margin:0;
  padding:17px 0;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.075);
  border-radius:0;
  background:transparent;
  box-shadow:none;
  display:flex;
  flex-direction:row !important;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  text-align:left;
  color:var(--v09-text);
  text-decoration:none;
}

#home .home-card.primary{
  min-height:88px;
  margin-top:0;
  margin-bottom:24px;
  padding:20px;
  border:0;
  border-radius:var(--v09-radius);
  background:var(--v09-gold);
  color:var(--v09-night-800);
  flex-direction:row !important;
  justify-content:space-between;
}

.home-primary-app-icon{
  width:44px;
  height:44px;
  border-radius:11px;
  flex:none;
  object-fit:cover;
}

#home .home-card .hc-content{
  min-width:0;
  flex:1;
  text-align:left;
}

#home .home-card .hc-title{
  margin:0;
  font:400 17px/1.25 var(--v09-serif);
  color:var(--v09-text);
}

#home .home-card.primary .hc-title{
  font-size:23px;
  color:var(--v09-night-800);
}

#home .home-card .hc-sub{
  margin:3px 0 0;
  font-size:13px;
  line-height:1.4;
  color:var(--v09-muted);
}

#home .home-card.primary .hc-sub{
  font-size:13.5px;
  color:rgba(11,28,63,.72);
}

.home-section-label,
.account-section-label{
  display:flex;
  align-items:center;
  gap:10px;
  margin:26px 0 4px;
}

.home-section-label span,
.account-section-label span{
  color:var(--v09-muted);
  font-size:11.5px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.17em;
}

.home-section-label i,
.account-section-label i{
  flex:1;
  height:1px;
  background:rgba(255,255,255,.09);
}

.home-row-chevron{
  flex:none;
  color:var(--v09-muted);
  font-size:25px;
  line-height:1;
}

#home .home-verified-footer{display:none;}

#chat .chat-scroll{
  max-width:390px;
  margin:0 auto;
  padding:14px var(--v09-pad) 0;
  gap:8px;
}

#chat .chat-scroll::before{
  content:"HOY";
  display:flex;
  align-items:center;
  gap:12px;
  margin:2px 0 12px;
  color:var(--v09-muted);
  font-size:11px;
  letter-spacing:.19em;
  justify-content:center;
}

#chat .msg-row{
  margin-top:16px;
  gap:10px;
}

#chat .msg-avatar{
  width:26px;
  height:26px;
  border:1px solid var(--v09-line);
}

#chat .bubble{
  border-radius:var(--v09-radius);
  font-size:15.5px;
  line-height:1.52;
  box-shadow:none;
}

#chat .msg-row.assistant .bubble{
  max-width:288px;
  padding:13px 15px;
  border-bottom-left-radius:4px;
  background:var(--v09-ivory);
  color:var(--v09-ink);
}

#chat .msg-row.user .bubble{
  max-width:266px;
  padding:12px 15px;
  border:1px solid var(--v09-line-2);
  border-bottom-right-radius:4px;
  background:rgba(239,200,115,.055);
  color:var(--v09-text);
}

#chat .message-actions{
  margin:9px 0 0 36px;
  gap:6px;
}

#chat .message-action{
  width:34px;
  height:34px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.13);
  background:transparent;
  color:var(--v09-muted);
}

#chat .message-action.heart{
  font-size:19px;
}

#chat .message-action.active{
  border-color:var(--v09-line-2);
  background:rgba(239,200,115,.12);
  color:var(--v09-gold);
}

#chat .message-action.heart.active{
  color:var(--v09-gold);
  font-size:18px;
}

#chat .composer-wrap{
  max-width:390px;
  margin:0 auto;
  padding:10px var(--v09-pad) calc(22px + env(safe-area-inset-bottom));
  border-top:1px solid rgba(255,255,255,.07);
  background:rgba(7,22,52,.55);
}

#chat .composer{
  min-height:46px;
  padding:0 0 0 16px;
  border-radius:23px;
  border:1px solid rgba(255,255,255,.11);
  background:var(--v09-surface-2);
  box-shadow:none;
  gap:8px;
}

#chat textarea{
  min-height:44px;
  color:#F4EEE2;
  -webkit-text-fill-color:#F4EEE2;
  opacity:1;
  caret-color:var(--v09-gold);
  font-size:14.5px;
}

#chat .mic-lang-chip{
  min-width:34px;
  height:22px;
  padding:0 6px;
  border:0;
  border-radius:6px;
  background:var(--v09-gold);
  color:var(--v09-night-800);
  font-size:8.5px;
  font-weight:800;
}

#chat .mic-btn{
  width:30px;
  height:30px;
  border:0;
  background:transparent;
  color:var(--v09-muted);
}

#chat .send-btn{
  width:46px;
  height:46px;
  border-radius:50%;
  background:var(--v09-gold);
  color:var(--v09-night-800);
  box-shadow:none;
}

#chat .end-hint{display:none;}

#observationSheet.inline-observation{
  display:block;
  position:relative;
  inset:auto;
  margin:12px 0 0 36px;
  background:transparent;
}

#observationSheet.inline-observation .sheet-card{
  width:auto;
  max-width:304px;
  margin:0;
  padding:14px;
  border:1px solid var(--v09-line);
  border-radius:var(--v09-radius);
  background:rgba(255,255,255,.045);
  color:var(--v09-text);
  box-shadow:none;
}

#observationSheet.inline-observation h2{
  font:400 15px/1.3 var(--v09-serif);
  margin:0 0 9px;
}

#observationSheet.inline-observation #observationCopy,
#observationSheet.inline-observation .sheet-close{
  display:none;
}

#sessions .sessions-body,
#sessionSummary .session-summary-body,
#favorites .favorites-body,
#editorialFavorites .favorites-body,
#account .account-screen-body,
#installHelp .install-page{
  width:100%;
  max-width:390px;
  margin:0 auto;
  padding:18px var(--v09-pad) calc(28px + env(safe-area-inset-bottom));
  overflow:auto;
}

#sessions,
#sessionSummary,
#sessions::before,
#sessions::after,
#sessionSummary::before,
#sessionSummary::after{
  background:#0B1C3F !important;
  background-image:none !important;
}

#sessions .sessions-list{
  display:block;
}

#sessions .sessions-list::before{
  content:"Cada conversación se guarda al terminarla. Puedes retomarla justo donde la dejaste.";
  display:block;
  margin:0 0 4px;
  color:var(--v09-muted);
  font-size:13.5px;
  line-height:1.5;
}

#sessions .session-item{
  position:relative;
  display:flex;
  align-items:center;
  gap:14px;
  width:100%;
  min-height:0;
  padding:17px 0;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.075);
  border-radius:0;
  background:transparent;
  box-shadow:none;
  cursor:pointer;
}

#sessions .si-copy{
  min-width:0;
  flex:1;
}

#sessions .si-title{
  margin:0;
  color:var(--v09-text);
  font:400 17px/1.25 var(--v09-serif);
}

#sessions .si-summary{
  margin:3px 0 0;
  color:var(--v09-muted);
  font-size:13px;
  line-height:1.4;
}

#sessions .si-date{
  margin:6px 0 0;
  color:var(--v09-gold);
  opacity:.8;
  font-size:13px;
}

#sessions .si-arrow{
  color:var(--v09-muted);
  font-size:25px;
}

#sessions .si-activity{display:none;}

#sessionSummary .session-summary-date{
  color:var(--v09-gold);
  opacity:.82;
  font-size:13px;
}

#sessionSummary h1{
  margin:12px 0 16px;
  color:var(--v09-text);
  font:400 25px/1.18 var(--v09-serif);
}

#sessionSummary .session-summary-text{
  color:var(--v09-muted);
  font-size:15px;
  line-height:1.58;
}

#sessionSummary .session-summary-text p+p{
  margin-top:12px;
}

#sessionSummary .session-summary-back,
.account-logout-button{
  width:100%;
  height:48px;
  margin-top:26px;
  border-radius:var(--v09-radius);
  border:1px solid rgba(255,255,255,.16);
  background:transparent;
  color:var(--v09-muted);
  font-size:14.5px;
  font-weight:700;
}

#account .account-panel{
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
}

#account .account-profile-card{
  display:flex;
  align-items:center;
  gap:15px;
  padding:8px 0 22px;
  border:0;
  border-bottom:1px solid var(--v09-line);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

#account .account-profile-card::before,
#account .account-profile-card::after{
  display:none !important;
}

#account .account-avatar{
  width:52px;
  height:52px;
  border-radius:50%;
  border:1px solid var(--v09-line-2);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--v09-gold);
  font:400 22px/1 var(--v09-serif);
}

#account .account-profile-copy h1{
  margin:0;
  color:var(--v09-text);
  font:400 21px/1.15 var(--v09-serif);
}

#account .account-profile-copy p{
  margin:3px 0 0;
  color:var(--v09-muted);
  font-size:13.5px;
}

#account .account-row{
  width:100%;
  min-height:0;
  padding:17px 0;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.075);
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:var(--v09-text);
  display:flex;
  align-items:center;
  gap:12px;
  text-align:left;
}

#account .account-row span{
  min-width:0;
  flex:1;
}

#account .account-row strong{
  display:block;
  color:var(--v09-text);
  font:400 17px/1.25 var(--v09-serif);
}

#account .account-row small{
  display:block;
  margin-top:3px;
  color:var(--v09-muted);
  font-size:13px;
  line-height:1.4;
}

#account .account-row b{
  color:var(--v09-gold);
  font-size:13px;
  white-space:nowrap;
}

#account .account-row em{
  color:var(--v09-muted);
  font-style:normal;
  font-size:25px;
}

.favorites-filters{
  display:flex;
  gap:8px;
  margin-bottom:14px;
}

.favorites-filters select,
.favorites-filters input{
  min-width:0;
  flex:1;
  height:40px;
  border-radius:11px;
  border:1px solid rgba(255,255,255,.13);
  background:var(--v09-surface);
  color:var(--v09-text);
  padding:0 11px;
}

.favorite-item{
  padding:16px 0;
  border-bottom:1px solid rgba(255,255,255,.075);
}

.favorite-marker,
.favorite-meta{
  color:var(--v09-gold);
  font-size:12px;
  opacity:.85;
}

.favorite-question{
  margin:5px 0 8px;
  color:var(--v09-muted);
  font-size:13px;
  line-height:1.45;
}

.favorite-answer{
  margin:0;
  padding:13px 15px;
  border-radius:var(--v09-radius);
  background:var(--v09-ivory);
  color:var(--v09-ink);
  font-size:15px;
  line-height:1.5;
}

.favorite-meta{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:9px;
}

.favorite-remove{
  margin-top:10px;
  padding:0 0 2px;
  border:0;
  border-bottom:1px solid var(--v09-line-2);
  background:transparent;
  color:var(--v09-gold);
  font-weight:700;
}

#installHelp .install-page{
  padding-top:78px;
  margin-top:0;
}

.install-intro{
  margin:0 0 20px;
  color:var(--v09-muted);
  font-size:14.5px;
  line-height:1.55;
}

.install-segment{
  display:flex;
  overflow:hidden;
  margin:0 0 10px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:11px;
}

.install-segment button{
  flex:1;
  height:40px;
  border:0;
  background:transparent;
  color:var(--v09-muted);
  font-size:14px;
}

.install-segment button.active{
  background:rgba(239,200,115,.13);
  color:var(--v09-gold);
  font-weight:700;
}

#installHelp .install-platform-card{
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  display:block;
}

#installHelp .install-platform-card[hidden]{
  display:none !important;
}

#installHelp .install-platform-heading{
  display:none;
}

#installHelp .install-real-steps{
  list-style:none;
  margin:0;
  padding:0;
  display:block;
}

#installHelp .install-real-steps li{
  min-height:0;
  padding:16px 0;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.075);
  display:flex;
  grid-template-columns:none;
  align-items:center;
  gap:14px;
  background:transparent;
  color:var(--v09-text);
}

#installHelp .real-step-icon{
  width:34px;
  height:34px;
  flex:0 0 34px;
  border-radius:10px;
  border:1px solid var(--v09-line);
  background:rgba(239,200,115,.08);
  color:var(--v09-gold);
}

#installHelp .real-step-icon::after{
  display:none;
}

#installHelp .install-real-steps span:last-child{
  color:var(--v09-text);
  font-size:14.5px;
  line-height:1.45;
}

.install-home-preview{
  width:112px;
  margin:22px auto 0;
  text-align:center;
}

.install-home-preview img{
  display:block;
  width:62px;
  height:62px;
  margin:0 auto;
  border-radius:15px;
}

.install-home-preview span{
  display:block;
  margin-top:8px;
  color:var(--v09-muted);
  font-size:11.5px;
}

#installHelp .install-final-note{
  margin:20px 0 0;
  color:var(--v09-muted);
  text-align:center;
  font-size:13px;
  line-height:1.5;
}

@media (min-width:720px){
  #auth .card,
  #home .home-body,
  #chat .chat-scroll,
  #chat .composer-wrap,
  #sessions .sessions-body,
  #sessionSummary .session-summary-body,
  #favorites .favorites-body,
  #editorialFavorites .favorites-body,
  #account .account-screen-body,
  #installHelp .install-page{
    max-width:390px;
  }
}
