/* Ángel PWA — dirección visual celestial v0.7 (aprobada 2026-08-02)
   Implementa las pantallas aprobadas sin alterar motor, autenticación ni APIs. */
:root {
  --celestial-navy-950:#061632;
  --celestial-navy-900:#0A1E43;
  --celestial-navy-850:#0E2855;
  --celestial-navy-800:#143363;
  --celestial-panel:#162E5C;
  --celestial-panel-raised:#1A386B;
  --celestial-gold:#E5B866;
  --celestial-gold-light:#F4D38D;
  --celestial-gold-deep:#C99037;
  --celestial-ivory:#FFF6E6;
  --celestial-cream:#F7E8CB;
  --celestial-white:#FFFFFF;
  --celestial-blue-field:#EAF1FF;
  --celestial-muted:#C9D0DF;
  --celestial-line:rgba(229,184,102,.48);
  --celestial-shadow:0 18px 42px rgba(0,8,30,.34);
  --celestial-serif:Georgia,"Times New Roman",serif;
  --celestial-sans:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --angel-blue:#102A5B;
  --angel-blue-deep:#071A3D;
  --angel-blue-panel:#162E5C;
  --angel-blue-raised:#1A386B;
  --angel-yellow:#E5B866;
  --angel-yellow-soft:#F4D38D;
  --angel-true-gold:#C99037;
  --angel-cream:#FFF6E6;
  --angel-pale:#EAF1FF;
  --navy:var(--angel-blue);
  --navy-deep:var(--angel-blue-deep);
  --gold:var(--angel-yellow);
}

html,body { background:var(--celestial-navy-950); }
body {
  color:var(--celestial-white);
  font-family:var(--celestial-sans);
  background:
    radial-gradient(circle at 50% -8%,rgba(229,184,102,.15),transparent 23rem),
    linear-gradient(180deg,var(--celestial-navy-900),var(--celestial-navy-950));
}
.screen {
  background:
    radial-gradient(circle at 50% -6%,rgba(229,184,102,.13),transparent 24rem),
    linear-gradient(180deg,var(--celestial-navy-900),var(--celestial-navy-950));
}
.header-spacer { width:42px; height:42px; }

/* ───────────────────────── Auth ───────────────────────── */
#auth {
  min-height:100dvh;
  align-items:flex-start;
  overflow-y:auto;
  padding:calc(30px + env(safe-area-inset-top)) 18px calc(28px + env(safe-area-inset-bottom));
  background:
    radial-gradient(circle at 50% 4%,rgba(229,184,102,.17),transparent 17rem),
    linear-gradient(180deg,#0B214B 0%,#081A3D 60%,#061632 100%);
}
#auth .card {
  width:min(720px,100%);
  max-width:720px;
  margin:0 auto;
  padding:0 clamp(4px,2vw,14px);
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
}
#auth .brand-logo {
  width:min(430px,74vw) !important;
  max-height:140px !important;
  margin:24px auto 5px !important;
  filter:drop-shadow(0 7px 18px rgba(229,184,102,.13));
}
#auth .claim {
  margin:0 0 clamp(48px,8vh,82px) !important;
  color:#F2E8D5 !important;
  font:500 clamp(13px,2.1vw,18px)/1.1 var(--celestial-sans) !important;
  letter-spacing:.32em !important;
}
#auth .stack { gap:22px; }
#auth .field-label {
  margin:0 0 10px;
  color:#FFF8EA;
  font:400 clamp(18px,3vw,25px)/1.2 var(--celestial-sans);
}
#auth .field {
  width:100%;
  min-height:72px;
  padding:0 24px;
  border:1px solid rgba(229,184,102,.72);
  border-radius:22px;
  color:#182A4B;
  background:var(--celestial-ivory);
  box-shadow:0 10px 24px rgba(0,8,30,.20),inset 0 1px rgba(255,255,255,.7);
  font:400 clamp(20px,3.2vw,28px)/1 var(--celestial-sans);
}
#auth input[type="email"] { background:var(--celestial-blue-field); }
#auth .field::placeholder { color:#8F918F; opacity:1; }
#auth .field:focus {
  border-color:var(--celestial-gold-light);
  box-shadow:0 0 0 3px rgba(229,184,102,.17),0 12px 26px rgba(0,8,30,.24);
  outline:none;
}
#auth .field:not(:placeholder-shown),
#auth .field:autofill { background:var(--celestial-blue-field); }
#auth .field:-webkit-autofill,
#auth .field:-webkit-autofill:hover,
#auth .field:-webkit-autofill:focus,
#auth .field:-webkit-autofill:active {
  -webkit-text-fill-color:#182A4B !important;
  caret-color:#182A4B;
  -webkit-box-shadow:0 0 0 1000px var(--celestial-blue-field) inset !important;
  box-shadow:0 0 0 1000px var(--celestial-blue-field) inset !important;
  border-color:rgba(229,184,102,.72) !important;
}
#auth .pw-eye { right:20px; color:#8D8376; }
#auth .btn {
  min-height:70px;
  margin-top:12px;
  border:1px solid rgba(255,229,178,.6);
  border-radius:999px;
  background:linear-gradient(100deg,#D9A95B,#F0CB83,#DFAE60);
  color:#fff;
  box-shadow:0 14px 30px rgba(0,8,30,.25),inset 0 1px rgba(255,255,255,.35);
  font:500 clamp(20px,3vw,27px)/1 var(--celestial-sans);
}
#auth .btn:hover { filter:brightness(1.035); }
#auth .text-link {
  display:block;
  margin:28px auto 0;
  color:var(--celestial-gold);
  font:400 clamp(16px,2.5vw,21px)/1.3 var(--celestial-sans);
  text-decoration:underline;
  text-underline-offset:5px;
}
#auth .first-time-box {
  margin:70px 0 0;
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
}
#auth .first-time-title {
  margin:0 0 22px;
  color:#fff;
  font:400 clamp(24px,4vw,34px)/1.2 var(--celestial-sans);
}
#auth .first-time-box .btn {
  margin:0;
  background:transparent;
  border:2px solid var(--celestial-gold);
  color:var(--celestial-gold);
  box-shadow:none;
}
#auth .footnote { margin:66px 0 0 !important; }
#auth .author-studio-verified {
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  gap:7px;
  color:var(--celestial-gold) !important;
  font-family:var(--celestial-sans) !important;
  text-decoration:none !important;
}
#auth .author-studio-verified > span {
  font-size:clamp(11px,1.8vw,14px);
  font-weight:500;
  letter-spacing:.04em;
}
#auth .author-studio-verified small {
  font-size:clamp(12px,1.9vw,15px);
  font-weight:400;
  text-decoration:underline;
  text-underline-offset:4px;
  letter-spacing:0;
  text-transform:none;
}
.verified-badge {
  display:inline-grid;
  place-items:center;
  width:21px;
  height:21px;
  margin-left:5px;
  border-radius:45% 55% 48% 52%;
  background:var(--celestial-gold);
  color:var(--celestial-navy-900);
  font-size:12px;
  font-weight:800;
}
.auth-mode-emblem {
  width:76px;
  height:58px;
  margin:4px auto 12px;
  color:var(--celestial-gold);
}
.auth-mode-emblem svg {
  width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:2.2;
  stroke-linecap:round; stroke-linejoin:round;
}
.auth-mode-title {
  margin:0 0 12px;
  color:#FFF3DC;
  font:400 clamp(35px,6vw,50px)/1.05 var(--celestial-serif);
}
.auth-mode-copy {
  max-width:560px;
  margin:0 auto 42px;
  color:#F2E6D1;
  font:400 clamp(17px,2.6vw,23px)/1.45 var(--celestial-sans);
}
#authForgot .footnote,#authCreate .footnote,#authReset .footnote { margin-top:40px; }
#forgotSuccess.success-box {
  color:#18305D;
  background:var(--celestial-ivory);
  border:1px solid var(--celestial-gold);
}
#auth .form-error { color:#FFD3D3; }
#auth .form-info { color:#DDE8FF; }

/* ───────────────────────── Home ───────────────────────── */
#home {
  min-height:100dvh;
  overflow-y:auto;
  background:
    radial-gradient(circle at 50% 0%,rgba(229,184,102,.20),transparent 18rem),
    linear-gradient(180deg,#0D2857 0%,#081A3C 100%);
}
#home::before,#home::after { display:none !important; }
#home .angel-home-header {
  display:grid;
  grid-template-columns:48px minmax(0,1fr) 48px;
  width:min(800px,100%);
  max-width:800px;
  min-height:auto;
  padding:calc(32px + env(safe-area-inset-top)) 28px 24px;
  background:transparent;
  border:0;
}
#home .angel-header-spacer { width:48px; height:48px; }
#home .angel-home-logo {
  width:min(430px,62vw);
  max-height:125px;
  filter:drop-shadow(0 8px 18px rgba(229,184,102,.16));
}
#home .angel-profile-button {
  width:46px;
  height:46px;
  justify-self:end;
  border:2px solid var(--celestial-gold);
  color:var(--celestial-gold);
  background:rgba(6,22,50,.28);
}
#home .home-body {
  width:min(800px,100%);
  max-width:800px;
  padding:12px 22px calc(44px + env(safe-area-inset-bottom));
}
.celestial-home-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
#home .home-card {
  width:100%;
  min-width:0;
  min-height:190px;
  margin:0;
  padding:28px 24px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:20px;
  text-align:left;
  border:1px solid rgba(112,144,203,.20);
  border-radius:28px;
  background:linear-gradient(145deg,rgba(28,58,109,.98),rgba(15,39,80,.98));
  box-shadow:0 16px 32px rgba(0,8,30,.27),inset 0 1px rgba(255,255,255,.035);
  color:#fff;
}
#home button.home-card { cursor:pointer; }
#home .home-card:hover { transform:translateY(-1px); border-color:rgba(229,184,102,.45); }
#home .home-card-wide { grid-column:1/-1; }
#home .home-card.primary {
  min-height:280px;
  padding:38px 34px;
  background:linear-gradient(125deg,#F2D79E 0%,#E3B86C 100%);
  border-color:rgba(255,236,194,.82);
  color:#071A3D;
  box-shadow:0 20px 40px rgba(0,8,30,.34),inset 0 1px rgba(255,255,255,.56);
}
#home .home-card.primary:hover { background:linear-gradient(125deg,#F4DCA8,#E7BD73); }
#home .home-card .home-icon {
  display:grid;
  place-items:center;
  width:50px;
  height:50px;
  flex:0 0 auto;
  margin:0;
  border:0;
  border-radius:0;
  color:var(--celestial-gold);
  background:transparent;
  box-shadow:none;
}
#home .home-card .home-icon svg {
  width:42px;
  height:42px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
}
#home .home-card.primary .home-icon { color:#B47B23; }
#home .home-card.primary .home-icon-wings { width:76px; height:56px; }
#home .home-card.primary .home-icon-wings svg { width:76px; height:56px; stroke-width:2; }
#home .hc-content { display:block; min-width:0; }
#home .hc-title {
  margin:0 0 10px;
  color:#fff;
  font:650 clamp(22px,3.2vw,31px)/1.14 var(--celestial-sans);
}
#home .hc-sub {
  margin:0;
  color:#F1E8D6;
  font:400 clamp(15px,2.1vw,20px)/1.36 var(--celestial-sans);
}
#home .home-card.primary .hc-title {
  color:#071A3D;
  font-size:clamp(30px,4.2vw,40px);
}
#home .home-card.primary .hc-sub { color:#111D31; font-size:clamp(18px,2.7vw,24px); }
#home .home-card-compact { min-height:235px; }
#home .home-card-install {
  min-height:145px;
  flex-direction:row;
  align-items:center;
  gap:26px;
}
#home .home-card-install .home-icon { width:62px; height:62px; }
#home .home-card-install .home-icon svg { width:50px; height:50px; }
#home .home-resource-card { cursor:default; }
#home .home-card .hc-arrow { display:none; }

/* ───────────────────────── Shared headers ───────────────────────── */
#chat .chat-header,#account .chat-header,#sessions .chat-header,#installHelp .chat-header,#memoryDelete .chat-header {
  display:grid;
  grid-template-columns:48px minmax(0,1fr) 48px;
  align-items:center;
  width:100%;
  min-height:84px;
  padding:calc(10px + env(safe-area-inset-top)) 18px 10px;
  background:rgba(7,26,61,.96);
  border-bottom:1px solid rgba(229,184,102,.24);
  box-shadow:none;
}
#chat .chat-title,#account .chat-title,#sessions .chat-title,#installHelp .chat-title,#memoryDelete .chat-title {
  color:#F5E3BF;
  font:400 clamp(26px,4.5vw,38px)/1 var(--celestial-serif);
  text-align:center;
}
#chat .icon-btn,#account .icon-btn,#sessions .icon-btn,#installHelp .icon-btn,#memoryDelete .icon-btn {
  color:var(--celestial-gold-light);
}
#chat .end-btn {
  justify-self:end;
  min-width:104px;
  padding:13px 22px;
  border:1px solid rgba(255,234,190,.55);
  border-radius:999px;
  color:#fff;
  background:linear-gradient(100deg,#D9A85B,#EBC77E);
  font:500 clamp(16px,2.5vw,20px)/1 var(--celestial-sans);
}

/* ───────────────────────── Chat ───────────────────────── */
#chat {
  background:
    radial-gradient(circle at 30% 15%,rgba(73,118,200,.10),transparent 23rem),
    linear-gradient(180deg,#102B59 0%,#071A3D 100%);
}
#chat .chat-scroll {
  width:min(860px,100%);
  max-width:860px;
  padding:70px 26px 36px;
  background:transparent;
}
#chat .msg-row { gap:18px; margin-bottom:30px; align-items:flex-end; }
#chat .msg-avatar {
  width:58px;
  height:58px;
  flex:0 0 58px;
  padding:0;
  overflow:hidden;
  border:0;
  border-radius:50%;
  background:#102B59;
  box-shadow:0 10px 24px rgba(0,8,30,.27);
}
#chat .angel-chat-avatar {
  width:100%; height:100%; object-fit:cover; border-radius:50%; transform:scale(1.04);
}
#chat .bubble {
  max-width:min(73%,580px);
  padding:24px 28px;
  border-radius:32px;
  color:#111;
  font:400 clamp(18px,2.8vw,26px)/1.4 var(--celestial-sans);
  box-shadow:0 14px 28px rgba(0,8,30,.23);
}
#chat .msg-row.assistant .bubble {
  background:linear-gradient(135deg,#FFF8E9,#F4E3C5);
  color:#111;
  border:1px solid rgba(255,240,210,.8);
  border-bottom-left-radius:4px;
}
#chat .msg-row.user .bubble {
  background:#fff;
  color:#111;
  border:1px solid rgba(255,255,255,.85);
  border-bottom-right-radius:4px;
}
#chat .composer-wrap {
  padding:14px 18px calc(16px + env(safe-area-inset-bottom));
  background:linear-gradient(180deg,rgba(7,26,61,.25),#071A3D 35%);
  border-top:0;
}
#chat .composer {
  width:min(860px,100%);
  max-width:860px;
  min-height:72px;
  padding:7px 8px 7px 26px;
  border:1px solid rgba(229,184,102,.35);
  border-radius:999px;
  background:#fff;
  box-shadow:0 12px 28px rgba(0,8,30,.26);
}
#chat .composer textarea {
  color:#172746;
  font:400 clamp(17px,2.5vw,22px)/1.35 var(--celestial-sans);
}
#chat .composer textarea::placeholder { color:#9A9CA2; }
#chat .round-btn { width:56px; height:56px; flex:0 0 56px; }
#chat .mic-btn { color:#888; background:transparent; border:0; }
#chat .send-btn {
  color:#fff;
  background:linear-gradient(145deg,#EBC77E,#D59E4D);
  border:1px solid rgba(255,237,199,.75);
  box-shadow:0 8px 18px rgba(0,8,30,.2);
}
#chat .end-hint { display:none; }
#chat .mic-lang-wrap {
  width:min(860px,100%);
  max-width:860px;
  margin-bottom:10px;
  color:#fff;
  background:rgba(20,51,99,.94);
  border:1px solid rgba(229,184,102,.30);
}
#chat .mic-lang-label { color:var(--celestial-gold-light); }
#chat .mic-lang-select { color:#fff; background:#102B59; border-color:rgba(229,184,102,.35); }

/* ───────────────────────── Sessions ───────────────────────── */
#sessions {
  overflow-y:auto;
  background:
    radial-gradient(circle at 50% 0%,rgba(229,184,102,.13),transparent 18rem),
    linear-gradient(180deg,#0C244F,#071A3D);
}
#sessions .sessions-body {
  width:min(800px,100%);
  max-width:800px;
  padding:62px 24px calc(52px + env(safe-area-inset-bottom));
}
#sessions .sessions-list { display:grid; gap:24px; }
#sessions .session-item {
  position:relative;
  padding:30px 76px 27px 30px;
  border:1px solid rgba(110,145,205,.19);
  border-radius:25px;
  background:linear-gradient(145deg,rgba(27,57,107,.98),rgba(15,39,80,.98));
  box-shadow:0 16px 30px rgba(0,8,30,.25),inset 0 1px rgba(255,255,255,.03);
}
#sessions .session-item .si-title {
  margin:0 0 18px;
  color:#FFF4DE;
  font:600 clamp(27px,4vw,38px)/1.12 var(--celestial-serif);
}
#sessions .session-item .si-summary {
  margin:0;
  color:#F2E8D7;
  font:400 clamp(17px,2.5vw,23px)/1.46 var(--celestial-sans);
}
#sessions .session-item .si-meta {
  margin-top:20px;
  padding-top:17px;
  border-top:1px solid rgba(229,184,102,.22);
}
#sessions .session-item .si-date {
  color:var(--celestial-gold);
  font:400 clamp(16px,2.3vw,21px)/1 var(--celestial-sans);
}
#sessions .session-item .si-arrow {
  position:absolute;
  right:28px;
  top:50%;
  transform:translateY(-50%);
  color:var(--celestial-gold-light);
  font:300 58px/1 var(--celestial-sans);
}
#sessions .session-item .si-activity { display:none; }
#sessions .empty-note { color:#E9E1D2; }

/* ───────────────────────── Memory ───────────────────────── */
#memoryDelete {
  overflow-y:auto;
  background:
    radial-gradient(circle at 50% 8%,rgba(229,184,102,.13),transparent 18rem),
    linear-gradient(180deg,#0C244F,#071A3D);
}
.memory-delete-body {
  width:min(750px,100%);
  max-width:750px;
  padding:42px 24px calc(52px + env(safe-area-inset-bottom));
}
.memory-logo {
  display:block;
  width:min(390px,68vw);
  max-height:120px;
  margin:0 auto 36px;
  object-fit:contain;
  filter:drop-shadow(0 7px 16px rgba(229,184,102,.13));
}
.memory-delete-card {
  padding:50px 42px;
  border:1px solid rgba(255,235,196,.78);
  border-radius:34px;
  background:linear-gradient(145deg,#FFF9ED,#F4E3C4);
  box-shadow:0 22px 42px rgba(0,8,30,.30),inset 0 1px rgba(255,255,255,.7);
  text-align:center;
}
.memory-delete-icon {
  width:105px;
  height:105px;
  margin:0 auto 26px;
  color:#D2A04E;
  background:transparent;
  border:0;
  box-shadow:none;
}
.memory-delete-icon svg { width:82px; height:82px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.memory-delete-card h1 {
  margin:0 0 36px;
  color:#0B214A;
  font:400 clamp(39px,6vw,56px)/1.05 var(--celestial-serif);
}
.memory-delete-copy,.memory-account-safe {
  max-width:560px;
  margin:0 auto;
  color:#142A50;
  font:400 clamp(18px,2.8vw,25px)/1.55 var(--celestial-sans);
}
.memory-account-safe { margin-top:22px; }
.memory-delete-primary,.memory-delete-secondary {
  min-height:72px;
  border-radius:999px;
  font:500 clamp(20px,3vw,27px)/1 var(--celestial-sans);
}
.memory-delete-primary {
  margin-top:42px;
  border:1px solid rgba(255,235,196,.65);
  background:linear-gradient(100deg,#D8A75A,#ECC57B,#DCA85B);
  color:#fff;
  box-shadow:0 14px 28px rgba(0,8,30,.24);
}
.memory-delete-secondary {
  margin-top:20px;
  border:2px solid var(--celestial-gold);
  background:transparent;
  color:var(--celestial-gold);
}
.memory-delete-status {
  min-height:20px;
  margin:16px 0 0;
  padding:0;
  border:0;
  color:#E8D7B9;
  background:transparent;
  text-align:center;
}

/* ───────────────────────── Account ───────────────────────── */
#account {
  overflow-y:auto;
  background:
    radial-gradient(circle at 50% 100%,rgba(229,184,102,.14),transparent 22rem),
    linear-gradient(180deg,#0C244F,#071A3D);
}
.account-screen-body {
  width:min(800px,100%);
  max-width:800px;
  padding:62px 24px calc(70px + env(safe-area-inset-bottom));
}
#account .account-panel { display:grid; gap:25px; }
.account-profile-card {
  position:relative;
  min-height:260px;
  padding:38px 36px;
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  align-items:center;
  gap:30px;
  overflow:hidden;
  border:1px solid rgba(110,145,205,.19);
  border-radius:30px;
  background:linear-gradient(145deg,rgba(27,57,107,.98),rgba(15,39,80,.98));
  box-shadow:var(--celestial-shadow);
}
.account-profile-card::after {
  content:"";
  position:absolute;
  width:460px;
  height:460px;
  right:-260px;
  bottom:-330px;
  border:1px solid rgba(229,184,102,.17);
  border-radius:50%;
}
.account-avatar {
  width:138px;
  height:138px;
  display:grid;
  place-items:center;
  border:3px solid var(--celestial-gold);
  border-radius:50%;
  color:var(--celestial-gold);
  background:rgba(7,26,61,.38);
}
.account-avatar svg { width:78px; height:78px; fill:currentColor; stroke:currentColor; stroke-width:1.2; }
.account-profile-copy h1 {
  margin:0 0 10px;
  color:#fff;
  font:500 clamp(38px,6vw,56px)/1 var(--celestial-sans);
}
.account-profile-copy p {
  margin:0;
  color:#F2E4C9;
  font:400 clamp(17px,2.5vw,24px)/1.35 var(--celestial-sans);
  overflow-wrap:anywhere;
}
.account-card-stars { position:absolute; right:34px; top:35px; color:var(--celestial-gold); opacity:.9; letter-spacing:10px; }
.account-action-card {
  min-height:148px;
  padding:28px 30px;
  display:grid;
  grid-template-columns:78px minmax(0,1fr) 52px 28px;
  align-items:center;
  gap:24px;
  border:1px solid rgba(110,145,205,.19);
  border-radius:27px;
  background:linear-gradient(145deg,rgba(27,57,107,.98),rgba(15,39,80,.98));
  box-shadow:0 14px 28px rgba(0,8,30,.24);
}
.account-action-card:nth-of-type(3) { grid-template-columns:78px minmax(0,1fr) 28px; }
.account-action-icon {
  width:72px;
  height:72px;
  display:grid;
  place-items:center;
  border:1px solid rgba(145,174,227,.35);
  border-radius:50%;
  color:var(--celestial-gold);
  background:rgba(19,50,98,.75);
}
.account-action-icon svg { width:43px; height:43px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.account-action-card strong {
  display:block;
  color:#fff;
  font:600 clamp(22px,3.5vw,31px)/1.2 var(--celestial-sans);
}
.account-action-card small {
  display:block;
  margin-top:7px;
  color:#F2E4C9;
  font:400 clamp(16px,2.4vw,22px)/1.35 var(--celestial-sans);
}
.account-verified-badge {
  width:45px;
  height:45px;
  display:grid;
  place-items:center;
  border-radius:47% 53% 44% 56%;
  background:var(--celestial-gold);
  color:#0B214A;
  font-size:25px;
  font-weight:800;
}
.account-action-arrow { color:var(--celestial-gold-light); font:300 48px/1 var(--celestial-sans); }
.account-logout-button {
  width:86%;
  min-height:72px;
  margin:24px auto 0;
  border:1px solid rgba(255,235,196,.65);
  border-radius:999px;
  background:linear-gradient(100deg,#D8A75A,#ECC57B,#DCA85B);
  color:#fff;
  box-shadow:0 14px 28px rgba(0,8,30,.24);
  font:500 clamp(20px,3vw,27px)/1 var(--celestial-sans);
  cursor:pointer;
}
.account-subscribe-box,.account-manage,.account-help { display:none !important; }

/* ───────────────────────── Install ───────────────────────── */
#installHelp {
  overflow-y:auto;
  background:
    radial-gradient(circle at 50% 0%,rgba(229,184,102,.14),transparent 22rem),
    linear-gradient(180deg,#071D43,#04142F);
}
#installHelp::before { display:none !important; }
#installHelp .install-back-header {
  position:absolute;
  top:0;
  left:0;
  z-index:4;
  background:transparent;
  border:0;
}
.install-page {
  width:min(920px,100%);
  margin:0 auto;
  padding:calc(74px + env(safe-area-inset-top)) 24px calc(42px + env(safe-area-inset-bottom));
}
.install-logo {
  display:block;
  width:min(410px,62vw);
  max-height:118px;
  margin:0 auto 5px;
  object-fit:contain;
}
.install-byline {
  margin:0 0 34px;
  color:var(--celestial-gold);
  text-align:center;
  font:500 clamp(11px,1.8vw,15px)/1 var(--celestial-sans);
  letter-spacing:.28em;
}
.install-page > h1 {
  margin:0;
  color:#FFF3DD;
  text-align:center;
  font:400 clamp(38px,6vw,60px)/1.06 var(--celestial-serif);
}
.install-title-ornament {
  display:flex;
  align-items:center;
  gap:18px;
  width:190px;
  margin:20px auto 34px;
  color:var(--celestial-gold);
}
.install-title-ornament::before,.install-title-ornament::after { content:""; flex:1; height:1px; background:var(--celestial-gold); }
.install-platform-card {
  margin:0 0 28px;
  padding:30px;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(230px,.85fr);
  align-items:stretch;
  gap:28px;
  border:1.5px solid var(--celestial-gold-deep);
  border-radius:32px;
  background:linear-gradient(145deg,rgba(11,40,82,.96),rgba(5,25,58,.96));
  box-shadow:0 18px 36px rgba(0,8,30,.28);
}
.install-platform-heading { display:flex; align-items:center; gap:18px; margin-bottom:18px; }
.install-platform-heading h2 { margin:0; color:var(--celestial-gold); font:650 clamp(28px,4vw,39px)/1 var(--celestial-sans); }
.platform-mark { width:56px; height:56px; color:var(--celestial-gold); }
.platform-mark svg { width:100%; height:100%; fill:currentColor; stroke:currentColor; stroke-width:1.2; stroke-linecap:round; stroke-linejoin:round; }
.platform-mark-apple svg { fill:currentColor; stroke:none; }
.install-real-steps { list-style:none; margin:0; padding:0; display:grid; gap:15px; }
.install-real-steps li {
  display:grid;
  grid-template-columns:88px minmax(0,1fr);
  align-items:center;
  gap:22px;
  min-height:88px;
  color:#fff;
  font:400 clamp(16px,2.2vw,21px)/1.38 var(--celestial-sans);
}
.real-step-icon {
  position:relative;
  width:78px;
  height:78px;
  display:grid;
  place-items:center;
  border:1.5px solid var(--celestial-gold-deep);
  border-radius:17px;
  color:#55B9FF;
  background:#0A2B59;
  box-shadow:inset 0 0 20px rgba(41,126,212,.16);
}
.real-step-icon::after {
  content:"";
  position:absolute;
  left:50%;
  top:calc(100% + 2px);
  height:16px;
  border-left:2px dotted rgba(229,184,102,.75);
}
.install-real-steps li:last-child .real-step-icon::after { display:none; }
.real-step-icon svg { width:46px; height:46px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.device-mockup {
  position:relative;
  width:min(285px,100%);
  min-height:500px;
  justify-self:center;
  overflow:hidden;
  border:7px solid #11161F;
  border-radius:45px;
  background:
    radial-gradient(circle at 70% 70%,rgba(229,184,102,.12),transparent 8rem),
    linear-gradient(180deg,#0B2C5E,#071B3F);
  box-shadow:0 18px 35px rgba(0,0,0,.45),inset 0 0 0 2px #4D515A;
}
.device-ios::before { content:""; position:absolute; top:9px; left:50%; width:105px; height:28px; transform:translateX(-50%); border-radius:20px; background:#02050A; }
.device-android::before { content:""; position:absolute; top:10px; left:50%; width:12px; height:12px; transform:translateX(-50%); border-radius:50%; background:#02050A; }
.device-status { height:44px; padding:15px 19px 0; display:flex; justify-content:space-between; color:#fff; font:600 11px/1 var(--celestial-sans); }
.device-app { position:absolute; top:70px; left:24px; display:grid; justify-items:center; gap:5px; color:#fff; font:500 12px/1 var(--celestial-sans); }
.device-app img { width:68px; height:68px; border-radius:17px; box-shadow:0 6px 18px rgba(0,0,0,.35); }
.device-dots { position:absolute; bottom:92px; left:0; right:0; display:flex; justify-content:center; gap:8px; }
.device-dots i { width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,.45); }
.device-dots i:nth-child(2) { background:#fff; }
.device-dock { position:absolute; left:16px; right:16px; bottom:15px; height:67px; display:flex; align-items:center; justify-content:space-around; border-radius:23px; background:rgba(206,218,242,.18); backdrop-filter:blur(8px); }
.device-dock i { width:42px; height:42px; border-radius:12px; box-shadow:inset 0 1px rgba(255,255,255,.45); }
.device-android .device-dock { background:transparent; }
.device-android .device-dock i { border-radius:50%; }
.dock-green { background:#2ED162; }.dock-blue { background:#258AF3; }.dock-red { background:#F04C5C; }.dock-white { background:#E8E8E8; }
.dock-chrome { background:conic-gradient(#E84335 0 33%,#FBC229 0 66%,#2AAE61 0); border:5px solid #2682E6; }
.install-final-note { margin:10px 0 0; color:#F4E8D2; text-align:center; font:400 clamp(14px,2vw,18px)/1.4 var(--celestial-sans); }
.install-final-note span { color:var(--celestial-gold); margin-right:8px; }

/* ───────────────────────── Other existing screens ───────────────────────── */
#onboarding,#complete,#paywall,#exit {
  background:
    radial-gradient(circle at 50% 0%,rgba(229,184,102,.13),transparent 20rem),
    linear-gradient(180deg,#0C244F,#071A3D);
}
#onboarding .card,#complete .card,#exit .card {
  color:#12264B;
  background:var(--celestial-ivory);
  border-color:rgba(229,184,102,.65);
}
#onboarding .brand-logo,#complete .brand-logo { width:min(390px,70vw); }

/* ───────────────────────── Mobile refinements ───────────────────────── */
@media (max-width:650px) {
  #auth { padding-left:20px; padding-right:20px; }
  #auth .brand-logo { width:min(320px,78vw) !important; margin-top:14px !important; }
  #auth .claim { margin-bottom:44px !important; font-size:11px !important; }
  #auth .field { min-height:62px; padding:0 18px; border-radius:18px; font-size:20px; }
  #auth .field-label { font-size:18px; }
  #auth .btn { min-height:61px; font-size:20px; }
  #auth .first-time-box { margin-top:58px; }
  #auth .first-time-title { font-size:25px; }
  #auth .footnote { margin-top:54px !important; }
  .auth-mode-title { font-size:38px; }
  .auth-mode-copy { margin-bottom:34px; font-size:17px; }

  #home .angel-home-header {
    grid-template-columns:42px minmax(0,1fr) 42px;
    padding:calc(22px + env(safe-area-inset-top)) 18px 18px;
  }
  #home .angel-header-spacer { width:42px; height:42px; }
  #home .angel-home-logo { width:min(310px,66vw); max-height:92px; }
  #home .angel-profile-button { width:40px; height:40px; }
  #home .home-body { padding:10px 14px calc(35px + env(safe-area-inset-bottom)); }
  .celestial-home-grid { gap:12px; }
  #home .home-card { padding:20px 16px; border-radius:20px; gap:13px; }
  #home .home-card.primary { min-height:220px; padding:28px 22px; }
  #home .home-card-compact { min-height:205px; }
  #home .home-card-install { min-height:126px; padding:19px 17px; gap:15px; }
  #home .home-card .home-icon { width:38px; height:38px; }
  #home .home-card .home-icon svg { width:34px; height:34px; }
  #home .home-card.primary .home-icon-wings { width:58px; height:44px; }
  #home .home-card.primary .home-icon-wings svg { width:58px; height:44px; }
  #home .home-card-install .home-icon { width:48px; height:48px; }
  #home .home-card-install .home-icon svg { width:41px; height:41px; }
  #home .hc-title { font-size:20px; }
  #home .hc-sub { font-size:14px; }
  #home .home-card.primary .hc-title { font-size:28px; }
  #home .home-card.primary .hc-sub { font-size:17px; }
  #home .home-resource-card .hc-title { font-size:18px; }
  #home .home-resource-card .hc-sub { font-size:13px; }

  #chat .chat-header,#account .chat-header,#sessions .chat-header,#installHelp .chat-header,#memoryDelete .chat-header {
    grid-template-columns:42px minmax(0,1fr) 42px;
    min-height:70px;
    padding-left:11px;
    padding-right:11px;
  }
  #chat .chat-title,#account .chat-title,#sessions .chat-title,#memoryDelete .chat-title { font-size:25px; }
  #chat .end-btn { min-width:auto; padding:11px 15px; font-size:15px; }
  #chat .chat-scroll { padding:48px 12px 24px; }
  #chat .msg-row { gap:9px; margin-bottom:26px; }
  #chat .msg-avatar { width:43px; height:43px; flex-basis:43px; }
  #chat .bubble { max-width:78%; padding:17px 19px; border-radius:23px; font-size:17px; }
  #chat .composer-wrap { padding-left:9px; padding-right:9px; }
  #chat .composer { min-height:60px; padding-left:18px; }
  #chat .round-btn { width:48px; height:48px; flex-basis:48px; }

  #sessions .sessions-body { padding:36px 14px calc(40px + env(safe-area-inset-bottom)); }
  #sessions .sessions-list { gap:16px; }
  #sessions .session-item { padding:22px 55px 20px 20px; border-radius:20px; }
  #sessions .session-item .si-title { font-size:27px; margin-bottom:12px; }
  #sessions .session-item .si-summary { font-size:15px; }
  #sessions .session-item .si-meta { margin-top:15px; padding-top:13px; }
  #sessions .session-item .si-date { font-size:14px; }
  #sessions .session-item .si-arrow { right:18px; font-size:44px; }

  .memory-delete-body { padding:30px 14px calc(42px + env(safe-area-inset-bottom)); }
  .memory-logo { width:min(300px,68vw); margin-bottom:24px; }
  .memory-delete-card { padding:36px 22px; border-radius:26px; }
  .memory-delete-icon { width:80px; height:80px; margin-bottom:20px; }
  .memory-delete-icon svg { width:67px; height:67px; }
  .memory-delete-card h1 { margin-bottom:24px; font-size:39px; }
  .memory-delete-copy,.memory-account-safe { font-size:16px; }
  .memory-delete-primary,.memory-delete-secondary { min-height:61px; font-size:20px; }
  .memory-delete-primary { margin-top:28px; }

  .account-screen-body { padding:35px 14px calc(50px + env(safe-area-inset-bottom)); }
  #account .account-panel { gap:16px; }
  .account-profile-card { min-height:190px; padding:25px 20px; grid-template-columns:92px minmax(0,1fr); gap:17px; border-radius:22px; }
  .account-avatar { width:88px; height:88px; border-width:2px; }
  .account-avatar svg { width:50px; height:50px; }
  .account-profile-copy h1 { font-size:35px; }
  .account-profile-copy p { font-size:14px; }
  .account-card-stars { right:18px; top:20px; font-size:11px; }
  .account-action-card { min-height:112px; padding:19px 17px; grid-template-columns:55px minmax(0,1fr) 36px 18px; gap:13px; border-radius:20px; }
  .account-action-card:nth-of-type(3) { grid-template-columns:55px minmax(0,1fr) 18px; }
  .account-action-icon { width:52px; height:52px; }
  .account-action-icon svg { width:31px; height:31px; }
  .account-action-card strong { font-size:20px; }
  .account-action-card small { font-size:14px; }
  .account-verified-badge { width:34px; height:34px; font-size:19px; }
  .account-action-arrow { font-size:34px; }
  .account-logout-button { width:92%; min-height:61px; margin-top:15px; font-size:20px; }

  .install-page { padding:calc(62px + env(safe-area-inset-top)) 12px calc(35px + env(safe-area-inset-bottom)); }
  .install-logo { width:min(300px,65vw); max-height:90px; }
  .install-byline { margin-bottom:23px; font-size:10px; }
  .install-page > h1 { font-size:37px; }
  .install-title-ornament { margin:14px auto 24px; }
  .install-platform-card { padding:18px 15px; grid-template-columns:minmax(0,1fr) 142px; gap:12px; border-radius:22px; }
  .install-platform-heading { gap:10px; margin-bottom:12px; }
  .install-platform-heading h2 { font-size:25px; }
  .platform-mark { width:38px; height:38px; }
  .install-real-steps { gap:8px; }
  .install-real-steps li { min-height:65px; grid-template-columns:57px minmax(0,1fr); gap:10px; font-size:12px; }
  .real-step-icon { width:52px; height:52px; border-radius:12px; }
  .real-step-icon svg { width:32px; height:32px; }
  .real-step-icon::after { height:9px; }
  .device-mockup { width:136px; min-height:315px; border-width:4px; border-radius:28px; }
  .device-ios::before { width:56px; height:15px; top:5px; }
  .device-android::before { width:7px; height:7px; top:6px; }
  .device-status { height:29px; padding:9px 10px 0; font-size:7px; }
  .device-app { top:47px; left:14px; gap:3px; font-size:8px; }
  .device-app img { width:42px; height:42px; border-radius:10px; }
  .device-dots { bottom:62px; gap:5px; }
  .device-dots i { width:5px; height:5px; }
  .device-dock { left:8px; right:8px; bottom:9px; height:43px; border-radius:15px; }
  .device-dock i { width:26px; height:26px; border-radius:8px; }
  .device-android .device-dock i { border-radius:50%; }
  .install-final-note { font-size:12px; }
}

@media (max-width:390px) {
  #home .home-card-compact { min-height:190px; padding:18px 13px; }
  #home .hc-title { font-size:18px; }
  #home .hc-sub { font-size:12.5px; }
  #home .home-resource-card .hc-title { font-size:16.5px; }
  .install-platform-card { grid-template-columns:minmax(0,1fr) 122px; }
  .device-mockup { width:120px; min-height:286px; }
  .install-real-steps li { grid-template-columns:49px minmax(0,1fr); font-size:11px; }
  .real-step-icon { width:45px; height:45px; }
  .real-step-icon svg { width:28px; height:28px; }
}

/* Compact refinement v0.7: same celestial system, tighter editorial scale. */
:root {
  --compact-page-max:680px;
  --compact-control-radius:16px;
}

.header-spacer { width:36px; height:36px; }

#auth {
  padding:calc(22px + env(safe-area-inset-top)) 22px calc(20px + env(safe-area-inset-bottom));
}
#auth .card {
  width:min(420px,100%);
  max-width:420px;
  padding:0;
}
#auth .brand-logo {
  width:min(270px,70vw) !important;
  max-height:92px !important;
  margin-bottom:8px !important;
}
#auth .claim {
  margin:0 0 26px !important;
  font-size:10px !important;
  letter-spacing:.24em;
}
#auth .stack { gap:14px; }
#auth .field-label {
  margin:0 0 6px 2px;
  font-size:15px;
  line-height:1.2;
  font-weight:400;
}
#auth .field {
  min-height:56px;
  padding:0 18px;
  border-radius:var(--compact-control-radius);
  font-size:17px;
  line-height:1.25;
}
#auth .pw-eye { right:14px; }
#auth .btn {
  min-height:56px;
  border-radius:var(--compact-control-radius);
  font-size:17px;
  font-weight:500;
}
#auth .text-link {
  margin:18px auto 4px;
  font-size:14px;
}
#auth .first-time-box {
  margin-top:22px;
  padding:0;
}
#auth .first-time-title {
  margin-bottom:6px;
  font-size:22px;
  line-height:1.12;
  font-weight:400;
}
#auth .first-time-text {
  margin-bottom:12px;
  font-size:14px;
  line-height:1.45;
}
#auth .first-time-box .btn { min-height:52px; font-size:16px; }
#auth .footnote { margin:28px 0 0 !important; }
#auth .author-studio-verified { gap:5px; }
#auth .author-studio-verified > span {
  font-size:10px;
  letter-spacing:.22em;
}
#auth .author-studio-verified small {
  margin-top:1px;
  font-size:11px;
}
.verified-badge { width:16px; height:16px; font-size:9px; }
.auth-mode-emblem { width:54px; height:42px; margin-bottom:12px; }
.auth-mode-title {
  margin-bottom:8px;
  font-size:clamp(29px,7.3vw,34px);
  line-height:1.05;
  font-weight:300;
}
.auth-mode-copy {
  margin:0 auto 20px;
  max-width:340px;
  font-size:15px;
  line-height:1.45;
}
#authForgot .footnote,#authCreate .footnote,#authReset .footnote { margin-top:26px; }

#home .angel-home-header {
  max-width:var(--compact-page-max);
  padding:calc(18px + env(safe-area-inset-top)) 20px 12px;
}
#home .angel-header-spacer { width:38px; height:38px; }
#home .angel-home-logo {
  width:min(245px,60vw);
  max-height:78px;
}
#home .angel-profile-button {
  width:38px;
  height:38px;
  border-width:1px;
}
#home .angel-profile-button svg { width:20px; height:20px; }
#home .home-body {
  max-width:var(--compact-page-max);
  padding:8px 18px calc(20px + env(safe-area-inset-bottom));
}
.celestial-home-grid { gap:11px; }
#home .home-card {
  min-height:118px;
  padding:18px 17px;
  border-radius:18px;
  gap:11px;
}
#home .home-card.primary {
  min-height:145px;
  padding:22px 21px;
  border-radius:20px;
}
#home .home-card-compact { min-height:116px; }
#home .home-card-install {
  min-height:88px;
  padding:16px 17px;
  gap:14px;
}
#home .home-card .home-icon {
  width:34px;
  height:34px;
  border-width:1px;
}
#home .home-card .home-icon svg { width:28px; height:28px; stroke-width:1.45; }
#home .home-card.primary .home-icon-wings,
#home .home-card.primary .home-icon-wings svg {
  width:47px;
  height:36px;
}
#home .home-card-install .home-icon { width:40px; height:40px; }
#home .home-card-install .home-icon svg { width:31px; height:31px; }
#home .hc-title {
  margin-bottom:6px;
  font-size:18px;
  line-height:1.08;
  font-weight:500;
}
#home .hc-sub {
  font-size:13px;
  line-height:1.32;
}
#home .home-card.primary .hc-title {
  font-size:25px;
  line-height:1.05;
  font-weight:500;
}
#home .home-card.primary .hc-sub { font-size:15px; line-height:1.34; }
#home .home-resource-card .hc-title { font-size:16.5px; }
#home .home-resource-card .hc-sub { font-size:12.5px; }

#chat .chat-header,#account .chat-header,#sessions .chat-header,#installHelp .chat-header,#memoryDelete .chat-header {
  min-height:58px;
  padding:calc(7px + env(safe-area-inset-top)) 14px 7px;
}
#chat .chat-title,#account .chat-title,#sessions .chat-title,#installHelp .chat-title,#memoryDelete .chat-title {
  font-size:22px;
  line-height:1;
  font-weight:400;
}
#chat .icon-btn,#account .icon-btn,#sessions .icon-btn,#installHelp .icon-btn,#memoryDelete .icon-btn {
  width:36px;
  height:36px;
}
#chat .end-btn {
  min-width:auto;
  padding:9px 15px;
  border-radius:999px;
  font-size:14px;
  font-weight:500;
}
#chat .chat-scroll {
  max-width:680px;
  padding:36px 18px 24px;
}
#chat .msg-row { gap:10px; margin-bottom:18px; }
#chat .msg-avatar {
  width:38px;
  height:38px;
  flex:0 0 38px;
}
#chat .bubble {
  max-width:min(78%,500px);
  padding:15px 17px;
  border-radius:19px;
  font-size:16px;
  line-height:1.45;
}
#chat .composer-wrap {
  padding:9px 12px calc(10px + env(safe-area-inset-bottom));
}
#chat .composer {
  max-width:680px;
  min-height:54px;
  padding:5px 6px 5px 17px;
  border-radius:25px;
}
#chat .composer textarea {
  min-height:24px;
  font-size:16px;
  line-height:1.3;
}
#chat .round-btn {
  width:46px;
  height:46px;
  flex-basis:46px;
}
#chat .mic-lang-wrap {
  max-width:680px;
  margin-bottom:8px;
  padding:12px 13px 11px;
  border-radius:17px;
}
#chat .mic-lang-label { font-size:15px; }
#chat .mic-lang-hint { font-size:12px; line-height:1.35; }
#chat .mic-lang-select {
  min-height:43px;
  font-size:14px;
}

#sessions .sessions-body {
  max-width:var(--compact-page-max);
  padding:24px 18px calc(28px + env(safe-area-inset-bottom));
}
#sessions .sessions-list { gap:10px; }
#sessions .session-item {
  padding:16px 44px 15px 17px;
  border-radius:16px;
}
#sessions .session-item .si-title {
  margin-bottom:6px;
  font-size:20px;
  line-height:1.12;
  font-weight:400;
}
#sessions .session-item .si-summary {
  margin-bottom:7px;
  font-size:13.5px;
  line-height:1.35;
}
#sessions .session-item .si-meta {
  margin-top:8px;
  padding-top:8px;
}
#sessions .session-item .si-date { font-size:12px; }
#sessions .session-item .si-arrow {
  right:15px;
  font-size:31px;
}

.memory-delete-body {
  max-width:520px;
  padding:20px 18px calc(24px + env(safe-area-inset-bottom));
}
.memory-logo {
  width:min(225px,58vw);
  max-height:70px;
  margin-bottom:18px;
}
.memory-delete-card {
  padding:26px 22px;
  border-radius:22px;
}
.memory-delete-icon {
  width:62px;
  height:62px;
  margin-bottom:15px;
}
.memory-delete-icon svg { width:48px; height:48px; }
.memory-delete-card h1 {
  margin-bottom:14px;
  font-size:30px;
  line-height:1.04;
  font-weight:300;
}
.memory-delete-copy,.memory-account-safe {
  font-size:14.5px;
  line-height:1.48;
}
.memory-account-safe { margin-top:12px; }
.memory-delete-primary,.memory-delete-secondary {
  min-height:52px;
  font-size:16px;
  border-radius:17px;
}
.memory-delete-primary { margin-top:20px; }
.memory-delete-secondary { margin-top:10px; }

.account-screen-body {
  max-width:var(--compact-page-max);
  padding:22px 18px calc(26px + env(safe-area-inset-bottom));
}
#account .account-panel { gap:11px; }
.account-profile-card {
  min-height:124px;
  padding:19px 18px;
  grid-template-columns:66px minmax(0,1fr);
  gap:14px;
  border-radius:18px;
}
.account-avatar {
  width:64px;
  height:64px;
  border-width:1px;
}
.account-avatar svg { width:36px; height:36px; }
.account-profile-copy h1 {
  font-size:27px;
  line-height:1.02;
  font-weight:300;
}
.account-profile-copy p {
  margin-top:5px;
  font-size:12.5px;
  line-height:1.35;
}
.account-card-stars { right:15px; top:15px; font-size:9px; letter-spacing:7px; }
.account-action-card {
  min-height:76px;
  padding:14px 15px;
  grid-template-columns:42px minmax(0,1fr) 26px 14px;
  gap:10px;
  border-radius:16px;
}
.account-action-card:nth-of-type(3) { grid-template-columns:42px minmax(0,1fr) 14px; }
.account-action-icon {
  width:40px;
  height:40px;
}
.account-action-icon svg { width:24px; height:24px; }
.account-action-card strong {
  font-size:16px;
  line-height:1.15;
  font-weight:500;
}
.account-action-card small {
  margin-top:4px;
  font-size:12px;
  line-height:1.28;
}
.account-verified-badge {
  width:25px;
  height:25px;
  font-size:14px;
}
.account-action-arrow { font-size:26px; }
.account-logout-button {
  width:86%;
  min-height:52px;
  margin-top:10px;
  border-radius:17px;
  font-size:16px;
}

.install-page {
  max-width:760px;
  padding:calc(45px + env(safe-area-inset-top)) 18px calc(24px + env(safe-area-inset-bottom));
}
.install-logo {
  width:min(230px,58vw);
  max-height:70px;
  margin-bottom:5px;
}
.install-byline {
  margin-bottom:14px;
  font-size:9px;
  letter-spacing:.24em;
}
.install-page > h1 {
  font-size:clamp(29px,7vw,38px);
  line-height:1.02;
  font-weight:300;
}
.install-title-ornament {
  width:118px;
  gap:11px;
  margin:10px auto 16px;
}
.install-platform-card {
  padding:16px;
  grid-template-columns:minmax(0,1fr) 124px;
  gap:12px;
  border-radius:18px;
}
.install-platform-card + .install-platform-card { margin-top:12px; }
.install-platform-heading {
  gap:9px;
  margin-bottom:10px;
}
.install-platform-heading h2 {
  font-size:22px;
  line-height:1;
  font-weight:600;
}
.platform-mark { width:34px; height:34px; }
.install-real-steps { gap:7px; }
.install-real-steps li {
  min-height:52px;
  grid-template-columns:45px minmax(0,1fr);
  gap:9px;
}
.real-step-icon {
  width:40px;
  height:40px;
  border-radius:11px;
}
.real-step-icon svg { width:25px; height:25px; }
.real-step-icon::after { height:8px; }
.install-step-copy {
  font-size:11.5px;
  line-height:1.25;
}
.device-mockup {
  width:122px;
  min-height:270px;
  border-width:4px;
  border-radius:25px;
}
.device-ios::before { width:52px; height:14px; top:5px; }
.device-android::before { width:7px; height:7px; top:6px; }
.device-status {
  height:27px;
  padding:8px 9px 0;
  font-size:7px;
}
.device-app {
  top:42px;
  left:13px;
  gap:3px;
  font-size:8px;
}
.device-app img {
  width:38px;
  height:38px;
  border-radius:9px;
}
.device-dots { bottom:54px; gap:4px; }
.device-dots i { width:5px; height:5px; }
.device-dock {
  left:8px;
  right:8px;
  bottom:8px;
  height:38px;
  border-radius:14px;
}
.device-dock i {
  width:23px;
  height:23px;
  border-radius:7px;
}
.install-final-note {
  margin-top:8px;
  font-size:12px;
  line-height:1.35;
}

#onboarding .card,#complete .card,#exit .card {
  max-width:420px;
  padding:30px 26px;
}
#onboarding .brand-logo,#complete .brand-logo { width:min(230px,62vw); }

@media (max-width:650px) {
  #auth { padding-left:24px; padding-right:24px; }
  #auth .brand-logo { width:min(250px,68vw) !important; margin-top:4px !important; }
  #auth .claim { margin-bottom:24px !important; font-size:9.5px !important; }
  #auth .field { min-height:55px; padding:0 16px; border-radius:15px; font-size:16.5px; }
  #auth .field-label { font-size:15px; }
  #auth .btn { min-height:55px; font-size:16.5px; }
  #auth .first-time-box { margin-top:20px; }
  #auth .first-time-title { font-size:21px; }
  #auth .footnote { margin-top:24px !important; }
  .auth-mode-title { font-size:31px; }
  .auth-mode-copy { margin-bottom:18px; font-size:14.5px; }

  #home .angel-home-header { padding:calc(14px + env(safe-area-inset-top)) 18px 9px; }
  #home .angel-header-spacer { width:36px; height:36px; }
  #home .angel-home-logo { width:min(225px,58vw); max-height:70px; }
  #home .angel-profile-button { width:36px; height:36px; }
  #home .home-body { padding:7px 18px calc(18px + env(safe-area-inset-bottom)); }
  .celestial-home-grid { gap:10px; }
  #home .home-card { min-height:104px; padding:15px 14px; border-radius:17px; gap:9px; }
  #home .home-card.primary { min-height:126px; padding:19px 18px; }
  #home .home-card-compact { min-height:102px; }
  #home .home-card-install { min-height:80px; padding:14px 15px; gap:11px; }
  #home .home-card .home-icon { width:30px; height:30px; }
  #home .home-card .home-icon svg { width:25px; height:25px; }
  #home .home-card.primary .home-icon-wings,
  #home .home-card.primary .home-icon-wings svg { width:42px; height:32px; }
  #home .home-card-install .home-icon { width:35px; height:35px; }
  #home .home-card-install .home-icon svg { width:27px; height:27px; }
  #home .hc-title { font-size:17px; }
  #home .hc-sub { font-size:12.5px; line-height:1.28; }
  #home .home-card.primary .hc-title { font-size:23px; }
  #home .home-card.primary .hc-sub { font-size:14px; }
  #home .home-resource-card .hc-title { font-size:15.5px; }
  #home .home-resource-card .hc-sub { font-size:12px; }

  #chat .chat-header,#account .chat-header,#sessions .chat-header,#installHelp .chat-header,#memoryDelete .chat-header {
    min-height:54px;
    padding-left:10px;
    padding-right:10px;
  }
  #chat .chat-title,#account .chat-title,#sessions .chat-title,#memoryDelete .chat-title { font-size:21px; }
  #installHelp .chat-title { font-size:18px; }
  #chat .end-btn { padding:8px 13px; font-size:13.5px; }
  #chat .chat-scroll { padding:28px 12px 18px; }
  #chat .msg-row { gap:8px; margin-bottom:16px; }
  #chat .msg-avatar { width:36px; height:36px; flex-basis:36px; }
  #chat .bubble { max-width:80%; padding:14px 16px; border-radius:18px; font-size:16px; }
  #chat .composer-wrap { padding-left:8px; padding-right:8px; }
  #chat .composer { min-height:52px; padding-left:15px; }
  #chat .round-btn { width:44px; height:44px; flex-basis:44px; }

  #sessions .sessions-body { padding:20px 14px calc(24px + env(safe-area-inset-bottom)); }
  #sessions .sessions-list { gap:9px; }
  #sessions .session-item { padding:14px 38px 13px 15px; border-radius:15px; }
  #sessions .session-item .si-title { font-size:19px; margin-bottom:5px; }
  #sessions .session-item .si-summary { font-size:13px; }
  #sessions .session-item .si-meta { margin-top:7px; padding-top:7px; }
  #sessions .session-item .si-date { font-size:11.5px; }
  #sessions .session-item .si-arrow { right:13px; font-size:29px; }

  .memory-delete-body { padding:18px 18px calc(22px + env(safe-area-inset-bottom)); }
  .memory-logo { width:min(210px,56vw); margin-bottom:14px; }
  .memory-delete-card { padding:23px 19px; border-radius:20px; }
  .memory-delete-icon { width:56px; height:56px; margin-bottom:13px; }
  .memory-delete-icon svg { width:42px; height:42px; }
  .memory-delete-card h1 { margin-bottom:12px; font-size:28px; }
  .memory-delete-copy,.memory-account-safe { font-size:14px; }
  .memory-delete-primary,.memory-delete-secondary { min-height:50px; font-size:15.5px; }
  .memory-delete-primary { margin-top:17px; }

  .account-screen-body { padding:18px 14px calc(22px + env(safe-area-inset-bottom)); }
  #account .account-panel { gap:9px; }
  .account-profile-card { min-height:112px; padding:16px 15px; grid-template-columns:56px minmax(0,1fr); gap:12px; border-radius:17px; }
  .account-avatar { width:54px; height:54px; }
  .account-avatar svg { width:31px; height:31px; }
  .account-profile-copy h1 { font-size:24px; }
  .account-profile-copy p { font-size:12px; }
  .account-card-stars { right:13px; top:12px; font-size:8px; }
  .account-action-card { min-height:66px; padding:12px 13px; grid-template-columns:36px minmax(0,1fr) 22px 12px; gap:8px; border-radius:15px; }
  .account-action-card:nth-of-type(3) { grid-template-columns:36px minmax(0,1fr) 12px; }
  .account-action-icon { width:34px; height:34px; }
  .account-action-icon svg { width:21px; height:21px; }
  .account-action-card strong { font-size:15px; }
  .account-action-card small { font-size:11.5px; }
  .account-verified-badge { width:22px; height:22px; font-size:12px; }
  .account-action-arrow { font-size:23px; }
  .account-logout-button { width:90%; min-height:48px; margin-top:8px; font-size:15.5px; }

  .install-page { padding:calc(38px + env(safe-area-inset-top)) 12px calc(20px + env(safe-area-inset-bottom)); }
  .install-logo { width:min(210px,56vw); max-height:64px; }
  .install-byline { margin-bottom:11px; font-size:8.5px; }
  .install-page > h1 { font-size:30px; }
  .install-title-ornament { margin:8px auto 13px; }
  .install-platform-card { padding:13px 12px; grid-template-columns:minmax(0,1fr) 108px; gap:9px; border-radius:16px; }
  .install-platform-card + .install-platform-card { margin-top:10px; }
  .install-platform-heading { gap:7px; margin-bottom:8px; }
  .install-platform-heading h2 { font-size:19px; }
  .platform-mark { width:29px; height:29px; }
  .install-real-steps { gap:5px; }
  .install-real-steps li { min-height:44px; grid-template-columns:37px minmax(0,1fr); gap:7px; }
  .real-step-icon { width:34px; height:34px; border-radius:9px; }
  .real-step-icon svg { width:21px; height:21px; }
  .real-step-icon::after { height:6px; }
  .install-step-copy { font-size:10px; line-height:1.22; }
  .device-mockup { width:104px; min-height:226px; border-width:3px; border-radius:22px; }
  .device-ios::before { width:45px; height:12px; top:5px; }
  .device-android::before { width:6px; height:6px; top:6px; }
  .device-status { height:23px; padding:7px 8px 0; font-size:6px; }
  .device-app { top:36px; left:11px; font-size:7px; }
  .device-app img { width:32px; height:32px; border-radius:8px; }
  .device-dots { bottom:46px; gap:4px; }
  .device-dots i { width:4px; height:4px; }
  .device-dock { left:7px; right:7px; bottom:7px; height:32px; border-radius:12px; }
  .device-dock i { width:19px; height:19px; border-radius:6px; }
  .install-final-note { font-size:10.5px; }
}

@media (max-width:390px) {
  #auth { padding-left:24px; padding-right:24px; }
  #home .home-card-compact { min-height:98px; padding:14px 12px; }
  #home .hc-title { font-size:16px; }
  #home .hc-sub { font-size:11.5px; }
  #home .home-resource-card .hc-title { font-size:14.5px; }
  .install-platform-card { grid-template-columns:minmax(0,1fr) 96px; }
  .device-mockup { width:94px; min-height:205px; }
  .install-real-steps li { grid-template-columns:34px minmax(0,1fr); }
  .real-step-icon { width:31px; height:31px; }
  .real-step-icon svg { width:19px; height:19px; }
  .install-step-copy { font-size:9.5px; }
}

@media (min-width:900px) {
  #auth .card { max-width:440px; }
  #home .angel-home-header,#home .home-body,#sessions .sessions-body,.account-screen-body {
    max-width:620px;
  }
  #home .angel-home-logo { width:260px; }
  #home .home-card.primary { min-height:155px; }
  #home .home-card-compact { min-height:120px; }
  #chat .chat-scroll,#chat .composer,#chat .mic-lang-wrap { max-width:720px; }
  .install-page { max-width:780px; }
}

@media (prefers-reduced-motion:reduce) {
  * { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}

/* v0.8 editorial feedback + microphone preferences */
.verified-badge,.account-verified-badge{display:none!important;}
.author-studio-verified{display:inline-grid;gap:2px;text-align:center;text-decoration:none;color:#F7F1DE;letter-spacing:0;}
.author-studio-verified span{font-size:10px;font-weight:720;letter-spacing:0;}
.author-studio-verified small{font-size:10px;color:rgba(247,241,222,.68);letter-spacing:0;}
.account-verified-link{margin:10px auto 0;color:#17304E;}
.account-verified-link small{color:rgba(23,48,78,.58);}
.account-action-button{width:100%;border:0;text-align:left;cursor:pointer;font:inherit;color:inherit;}
.msg-row.assistant{align-items:flex-end;}
.message-actions{display:flex;gap:6px;margin:0 0 2px 8px;align-self:flex-end;}
.message-action{width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(185,153,84,.34);border-radius:8px;background:rgba(255,255,255,.72);color:#183456;font-size:21px;line-height:1;cursor:pointer;}
.message-action svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;}
.message-action.active{border-color:#B99954;background:#F7F1DE;color:#9A7532;}
.message-action:disabled{opacity:.58;}
.sheet-backdrop{position:fixed;inset:0;z-index:60;display:flex;align-items:flex-end;justify-content:center;background:rgba(7,26,61,.42);padding:16px;}
.sheet-backdrop[hidden]{display:none;}
.sheet-card{width:min(100%,520px);max-height:min(86dvh,680px);overflow:auto;border-radius:18px 18px 10px 10px;background:#FFFDF8;color:#17304E;padding:22px 18px calc(18px + env(safe-area-inset-bottom));box-shadow:0 -18px 50px rgba(7,26,61,.22);position:relative;}
.sheet-card h2{margin:0 40px 8px 0;font-size:22px;line-height:1.15;letter-spacing:0;}
.sheet-card p{margin:0 0 14px;color:rgba(23,48,78,.72);line-height:1.45;}
.sheet-close{position:absolute;right:12px;top:10px;width:44px;height:44px;border:0;background:transparent;color:#17304E;font-size:28px;cursor:pointer;}
.observation-categories{display:grid;gap:8px;margin:12px 0;}
.observation-categories label{display:flex;align-items:center;gap:9px;min-height:42px;padding:9px 10px;border:1px solid rgba(185,153,84,.24);border-radius:8px;background:#FBF7EA;font-size:14px;}
#observationComment{width:100%;min-height:128px;border:1px solid rgba(23,48,78,.18);border-radius:8px;padding:12px;font:inherit;resize:vertical;background:#fff;color:#17304E;}
.sheet-actions{display:flex;gap:10px;margin-top:12px;}
.sheet-actions .btn{min-height:46px;}
.sheet-status{min-height:20px;font-size:13px;}
.mic-lang-chip{min-width:48px;height:44px;align-items:center;justify-content:center;border:1px solid rgba(185,153,84,.35);border-radius:8px;background:#F7F1DE;color:#17304E;font-weight:760;font-size:12px;letter-spacing:0;}
.mic-status{min-height:18px;margin:6px auto 0;max-width:720px;color:rgba(255,255,255,.68);font-size:12px;text-align:center;}
.mic-language-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:14px;}
.mic-language-option{min-height:58px;border:1px solid rgba(23,48,78,.14);border-radius:8px;background:#fff;color:#17304E;display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:8px;text-align:left;padding:8px 10px;cursor:pointer;}
.mic-language-option span{display:grid;place-items:center;width:38px;height:38px;border-radius:8px;background:#F7F1DE;color:#9A7532;font-weight:800;}
.mic-language-option small{font-size:13px;color:rgba(23,48,78,.72);}
.mic-language-option.active{border-color:#B99954;background:#FBF7EA;}
#chat .mic-lang-wrap{display:none!important;}
#chat .composer textarea::placeholder{color:transparent!important;}
.editorial-body{width:min(100%,900px);margin:0 auto;padding:18px 14px calc(24px + env(safe-area-inset-bottom));}
.editorial-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px;}
.editorial-filters select{min-height:42px;border:1px solid rgba(185,153,84,.28);border-radius:8px;background:#FFFDF8;color:#17304E;padding:0 10px;}
.editorial-list{display:grid;gap:10px;}
.editorial-item{border:1px solid rgba(185,153,84,.24);border-radius:8px;background:rgba(255,253,248,.94);padding:13px;color:#17304E;}
.editorial-item-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;}
.editorial-item-head span{font-size:12px;font-weight:720;text-transform:uppercase;color:#9A7532;}
.editorial-item-head select{min-height:36px;border-radius:8px;border:1px solid rgba(23,48,78,.16);background:#fff;color:#17304E;}
.editorial-answer{margin:0 0 9px;white-space:pre-wrap;line-height:1.45;font-size:14px;}
.editorial-meta,.editorial-comment{margin:0;color:rgba(23,48,78,.66);font-size:13px;line-height:1.35;}
@media (max-width:620px){
  .message-actions{margin-left:4px;}
  .editorial-filters{grid-template-columns:1fr;}
  .sheet-card{border-radius:16px 16px 0 0;}
  .mic-language-options{grid-template-columns:1fr;}
}
@media (min-width:900px){
  #chat .chat-scroll,#chat .composer,#chat .mic-status{max-width:720px;}
}

/* v0.8.1 validated mobile refinements */
#home .home-icon-angel-letter{
  display:grid;
  place-items:center;
  width:62px;
  height:62px;
  border-radius:18px;
  background:linear-gradient(145deg,#183967,#071A3D);
  color:#F4C75F;
  font-family:Georgia,serif;
  font-size:42px;
  line-height:1;
  box-shadow:inset 0 0 0 1px rgba(244,199,95,.18);
}
#home a.home-card{text-decoration:none;}
.home-verified-footer{
  margin:28px auto 0;
  padding-top:24px;
  border-top:1px solid rgba(255,255,255,.08);
  text-align:center;
}
.home-verified-link{color:#F4C75F;}
.home-verified-link span{font-size:12px;font-weight:800;letter-spacing:.18em;}
.home-verified-link sup{font-size:.58em;line-height:0;position:relative;top:-.35em;margin-left:1px;}
.home-verified-footer p{
  margin:12px 0 0;
  color:rgba(244,232,210,.66);
  font-size:14px;
  letter-spacing:.04em;
}
.msg-row.assistant{
  align-items:flex-start;
  flex-wrap:wrap;
}
.msg-row.assistant .bubble{margin-right:12px;}
.message-actions{
  flex-basis:100%;
  margin:10px 0 8px 46px;
  align-self:auto;
}
.message-action{
  border-radius:999px;
  background:transparent;
  border-color:rgba(244,199,95,.22);
  color:rgba(244,232,210,.72);
}
.message-action.active{
  background:rgba(244,199,95,.15);
  border-color:rgba(244,199,95,.55);
  color:#F4C75F;
}
.sheet-backdrop.inline-observation{
  position:static;
  display:block;
  background:transparent;
  padding:0;
  margin:4px 0 18px 72px;
  width:calc(100% - 96px);
}
.sheet-backdrop.inline-observation .sheet-card{
  width:100%;
  max-height:none;
  border-radius:18px;
  background:transparent;
  color:#F4E8D2;
  border:1px solid rgba(244,199,95,.26);
  box-shadow:none;
  padding:18px;
}
.sheet-backdrop.inline-observation .sheet-card h2{
  color:#FFF6E6;
  font-family:Georgia,serif;
  font-weight:500;
}
.sheet-backdrop.inline-observation .sheet-card p{color:rgba(244,232,210,.66);}
.sheet-backdrop.inline-observation #observationComment{
  background:rgba(7,26,61,.36);
  border-color:rgba(244,232,210,.14);
  color:#F4E8D2;
}
.sheet-backdrop.inline-observation .observation-categories label{
  background:rgba(255,255,255,.04);
  border-color:rgba(244,199,95,.22);
  color:#F4E8D2;
}
#sessions,#sessionSummary{background:#071A3D;color:#F4E8D2;}
#sessionSummary .chat-header,#sessions .chat-header{
  background:#071A3D;
  border-bottom:1px solid rgba(255,255,255,.08);
}
#sessions .sessions-body{
  padding:28px 20px calc(40px + env(safe-area-inset-bottom));
}
#sessions .sessions-list::before{
  content:"Cada conversación se guarda al terminarla. Puedes retomarla justo donde la dejaste.";
  display:block;
  color:rgba(244,232,210,.66);
  font-size:16px;
  line-height:1.55;
  margin:0 0 28px;
}
#sessions .session-item{
  position:relative;
  background:transparent;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.10);
  border-radius:0;
  padding:0 34px 22px 0;
  margin:0 0 26px;
  box-shadow:none;
}
#sessions .si-title-button,
#sessions .si-summary-button,
#sessions .si-arrow-button{
  appearance:none;
  border:0;
  background:transparent;
  color:inherit;
  font:inherit;
  padding:0;
  text-align:left;
  cursor:pointer;
}
#sessions .si-title-button{
  display:block;
  color:#FFF6E6;
  font-family:Georgia,serif;
  font-size:24px;
  line-height:1.12;
  margin:0 0 8px;
}
#sessions .si-summary-button{
  display:block;
  color:rgba(244,232,210,.66);
  font-size:16px;
  line-height:1.42;
  max-width:100%;
}
#sessions .si-summary-button:hover,
#sessions .si-summary-button:focus-visible{
  color:#F4E8D2;
  text-decoration:underline;
  text-underline-offset:4px;
}
#sessions .si-summary-button:active{opacity:.72;}
#sessions .si-meta{
  margin-top:14px;
  padding:0;
  border:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
#sessions .si-date{
  color:#F4C75F!important;
  font-size:15px!important;
}
#sessions .si-arrow-button{
  position:absolute;
  right:0;
  top:36px;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  color:rgba(244,232,210,.58);
  font-size:38px;
}
#sessions .si-activity{display:none;}
.session-summary-body{
  width:min(100%,720px);
  margin:0 auto;
  padding:32px 22px calc(40px + env(safe-area-inset-bottom));
}
.session-summary-date{
  color:#F4C75F;
  font-size:15px;
  margin:0 0 14px;
}
.session-summary-body h1{
  color:#FFF6E6;
  font-family:Georgia,serif;
  font-weight:500;
  font-size:32px;
  line-height:1.12;
  margin:0 0 24px;
}
.session-summary-text p{
  color:rgba(244,232,210,.78);
  font-size:17px;
  line-height:1.62;
  margin:0 0 18px;
}
.summary-fallback-note{
  color:rgba(244,199,95,.78)!important;
  font-size:14px!important;
}
.session-summary-back{
  min-height:48px;
  margin-top:16px;
  border:1px solid rgba(244,199,95,.45);
  border-radius:999px;
  background:transparent;
  color:#F4C75F;
  padding:0 18px;
  font-weight:700;
}
@media (max-width:430px){
  .sheet-backdrop.inline-observation{
    margin-left:72px;
    width:calc(100% - 92px);
  }
  #sessions .si-title-button{font-size:22px;}
  #sessions .si-summary-button{font-size:15px;}
  .session-summary-body h1{font-size:28px;}
}
