:root {
  --ink: #283947;
  --muted: #69777b;
  --paper: #f4f0e7;
  --cream: #fbf8f0;
  --lavender: #e6e6df;
  --violet: #536b78;
  --night: #293e4b;
  --ochre: #aa8957;
  --line: rgba(40, 57, 71, 0.16);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: radial-gradient(ellipse at 83% 11%, rgba(213, 207, 184, .22), transparent 27rem), var(--paper); font-family: Georgia, "Times New Roman", serif; line-height: 1.65; }
a { color: inherit; }
.site-header { max-width: 1180px; margin: 0 auto; padding: 24px 28px; display: flex; align-items: center; justify-content: space-between; }
.brand { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; font-size: 1.25rem; font-weight: 700; letter-spacing: .02em; }
.brand-mark { display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid rgba(83,107,120,.35); border-radius: 50%; color: var(--night); background: linear-gradient(140deg, #e8e2ce, #c8d4d4); font-family: Georgia, serif; font-size: 1rem; }
nav { display: flex; align-items: center; gap: 24px; font-family: Arial, sans-serif; font-size: .88rem; }
nav a { text-decoration: none; }
nav a:hover { color: var(--violet); }
.nav-cta { padding: 9px 15px; border: 1px solid var(--line); border-radius: 999px; }
.eyebrow { margin: 0 0 14px; color: var(--ochre); font-family: Arial, sans-serif; font-size: .72rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
h1, h2, h3, p { margin-top: 0; }
h1 { max-width: 650px; margin-bottom: 24px; font-size: clamp(3rem, 7vw, 5.8rem); font-weight: 500; letter-spacing: -.055em; line-height: .98; }
.button { display: inline-block; padding: 12px 20px; border-radius: 999px; font-family: Arial, sans-serif; font-size: .88rem; font-weight: 700; text-decoration: none; }
.button-primary { color: var(--cream); background: var(--night); }
.button-primary:hover { background: var(--night); }
.button-quiet { border: 1px solid var(--line); }
.card-tags { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 30px; font-family: Arial, sans-serif; font-size: .72rem; }
.card-tags span { padding: 6px 10px; border: 1px solid rgba(255,255,255,.24); border-radius: 999px; }
.scene-art { display: block; width: 100%; height: auto; margin: 10px auto 0; }
.scene-kicker { color: var(--ochre); font: 700 .7rem Arial, sans-serif; letter-spacing: .17em; text-transform: uppercase; }
.section { max-width: 1180px; margin: 0 auto; padding: 92px 28px; }
.method { border-top: 1px solid var(--line); }
.section h2 { max-width: 620px; margin-bottom: 46px; font-size: clamp(2.2rem, 5vw, 4rem); font-weight: 500; letter-spacing: -.04em; line-height: 1.04; }
.steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.steps article { padding: 28px 0; border-top: 1px solid var(--ochre); }
.steps span { color: var(--violet); font-family: Arial, sans-serif; font-size: .75rem; font-weight: 700; }
.steps h3 { margin: 28px 0 10px; font-size: 1.65rem; font-weight: 500; }
.steps p, .split-copy { color: var(--muted); }
.split { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; background: rgba(251,248,240,.72); }
.split-copy { max-width: 480px; font-size: 1.1rem; }
.split-copy ul { padding-left: 20px; }
.prototype { padding-top: 80px; padding-bottom: 110px; }
.auth-box { margin: 26px 0; padding: 22px 24px; border: 1px solid rgba(40,57,71,.14); border-radius: 4px 20px 4px 20px; background: rgba(251,248,240,.84); }
.auth-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.auth-heading .eyebrow { margin-bottom: 5px; }
.auth-box h3 { margin: 0 0 8px; font-size: 1.3rem; font-weight: 500; }
.auth-box p { margin: 0 0 12px; font: .84rem/1.55 Arial, sans-serif; }
.auth-box .auth-note { margin: 12px 0 0; color: var(--muted); }
.auth-mark { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid rgba(170,137,87,.42); border-radius: 50%; color: var(--ochre); font-size: 1.15rem; }
.auth-mark::before { width: 15px; height: 15px; border: 1px solid rgba(83,107,120,.66); border-radius: 50%; box-shadow: 0 0 0 5px rgba(155,181,194,.15); content: ""; }
.site-footer { max-width: 1180px; margin: 0 auto; padding: 28px; display: flex; justify-content: space-between; gap: 20px; color: var(--muted); border-top: 1px solid var(--line); font-family: Arial, sans-serif; font-size: .78rem; }
@media (max-width: 760px) {
  nav a:not(.nav-cta) { display: none; }
  .steps, .split { grid-template-columns: 1fr; gap: 35px; }
  .section { padding-top: 72px; padding-bottom: 72px; }
  .site-footer { flex-direction: column; }
}
.dream-form { margin-top: 32px; display: grid; gap: 18px; }
.dream-form label { display: grid; gap: 8px; color: #303552; font: 700 .82rem Arial, sans-serif; }
.dream-form textarea, .dream-form input { width: 100%; box-sizing: border-box; border: 1px solid rgba(48,53,82,.2); border-radius: 12px; padding: 13px 14px; color: var(--ink); background: rgba(255,255,255,.72); font: 1rem/1.5 Georgia, serif; }
.dream-form textarea { min-height: 130px; resize: vertical; }
.dream-form textarea:focus, .dream-form input:focus { outline: 3px solid rgba(98,82,143,.2); border-color: var(--violet); }
.form-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 16px; }
.form-meta { grid-template-columns: 1fr 1fr; }
.consent-check { display: flex !important; justify-content: start; align-items: center; gap: 9px !important; font-weight: 400 !important; }
.consent-check[hidden] { display: none !important; }
.consent-check input { width: auto; accent-color: var(--violet); }
.dream-form .button { border: 0; cursor: pointer; justify-self: start; }
.dream-form .button:disabled { opacity: .6; cursor: wait; }
.form-status { min-height: 1.5em; margin: 0; color: #4c4e6a !important; font: .9rem/1.4 Arial, sans-serif !important; }
.analysis-panel, .history-panel { margin-top: 36px; padding-top: 30px; border-top: 1px solid rgba(48,53,82,.2); }
.analysis-heading { display: flex; justify-content: space-between; align-items: start; gap: 20px; }
.analysis-heading h3 { margin: 0 0 18px; font-size: 2rem; font-weight: 500; }
.analysis-meta { color: #696985; font: .72rem Arial, sans-serif; text-align: right; }
.analysis-block { margin: 18px 0; }
.analysis-block h4, .meditation h4 { margin: 0 0 8px; color: var(--violet); font: 700 .74rem Arial, sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.analysis-block ul { margin: 0; padding-left: 21px; color: #3f4260; }
.analysis-block li { margin: 7px 0; }
.proposal-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.review-state { flex: 0 0 auto; padding: 4px 8px; border: 1px solid #d8cce0; border-radius: 999px; color: var(--violet); background: #f7f1fa; font: 700 .65rem Arial, sans-serif; letter-spacing: .02em; }
.counterexamples { margin-top: 14px; padding: 14px 16px; border: 1px dashed #d8c7ae; border-radius: 12px; background: #fffaf5; }
.counterexamples > strong { color: var(--ink); font-size: .9rem; }
.counterexamples-list { margin: 8px 0 0; padding-left: 18px; }
.counterexamples-list li { margin: 8px 0; }
.counterexamples-list p { margin: 0 0 4px; color: var(--ink-soft); }
.counterexamples-list small { color: var(--muted); }
.analysis-block blockquote { margin: 10px 0 6px; padding: 10px 14px; border-left: 3px solid #b8a4c8; color: var(--ink); background: #fbf8f2; font-style: italic; }
.meditation { margin: 24px 0; padding: 20px; border-left: 3px solid var(--violet); border-radius: 0 12px 12px 0; background: rgba(255,255,255,.55); }
.meditation p { margin: 0; color: #3f4260 !important; }
.text-button { padding: 5px 0; border: 0; color: var(--violet); background: none; cursor: pointer; font: 700 .78rem Arial, sans-serif; }
.text-button:hover { color: var(--night); }
.text-button.danger { color: #9a4d58; }
.history-list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.history-actions { display: flex; gap: 16px; align-items: center; }
.history-filter { display: grid; gap: 7px; max-width: 34rem; margin: 20px 0 18px; color: var(--muted); font: 700 .76rem Arial, sans-serif; }
.history-filter-row { display: flex; align-items: end; gap: 18px; flex-wrap: wrap; }
.history-filter-select { max-width: 18rem; }
.history-filter input { width: 100%; padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px; color: var(--ink); background: #fffdf9; font: 1rem Georgia, serif; }
.history-filter select { width: 100%; padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px; color: var(--ink); background: #fffdf9; font: .9rem Arial, sans-serif; }
.history-filter input:focus { outline: 3px solid #a48bc344; border-color: var(--violet); }
.history-item { display: flex; justify-content: space-between; align-items: start; gap: 20px; padding: 14px 0; border-bottom: 1px solid rgba(48,53,82,.12); }
.history-item strong { color: #5d5f7c; font: .72rem Arial, sans-serif; }
.history-item p { margin: 5px 0 0; color: #3f4260 !important; font-size: .96rem !important; }
.activity-panel { margin-top: 38px; padding-top: 26px; border-top: 1px solid rgba(40,57,71,.16); }
.activity-panel .analysis-heading h3 { font-size: 1.6rem; }
.activity-actions { display: flex; gap: 16px; }
.activity-note { max-width: 610px; color: var(--muted); font: .78rem/1.5 Arial, sans-serif; }
.activity-empty { color: var(--muted); font: .85rem Arial, sans-serif; }
.activity-list { display: grid; gap: 0; margin: 10px 0 0; padding: 0; list-style: none; }
.activity-item { display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: baseline; gap: 14px; padding: 11px 0; border-bottom: 1px solid rgba(40,57,71,.09); color: #46555c; font: .8rem Arial, sans-serif; }
.activity-item time, .activity-item small { color: #758084; font-size: .72rem; }
.activity-item.outcome-failure span::before { content: "• "; color: #a86755; }
@media (max-width: 760px) {
  .form-grid, .form-meta { grid-template-columns: 1fr; }
  .analysis-heading, .history-item { flex-direction: column; }
  .activity-item { grid-template-columns: 1fr auto; }
  .activity-item small { display: none; }
  .activity-actions { flex-direction: column; gap: 4px; align-items: end; }
  .analysis-meta { text-align: left; }
}

/* Keep the GIS host compact while its external stylesheet loads. */
#google-signin-button { width: 240px; max-width: 100%; min-height: 40px; }
#google-signin-button svg { width: 18px; height: 18px; }

.reading-prose p { margin: 0 0 1em; line-height: 1.7; color: #3f4260; }
.analysis-evidence { margin-top: 24px; border-top: 1px solid rgba(48,53,82,.2); padding-top: 18px; }
.analysis-evidence summary { cursor: pointer; color: var(--violet); font: 600 .85rem Arial, sans-serif; }

/* Journal progression v0.9: responsive screens, independent profile. */
[hidden] { display: none !important; }
:root { --ink: #28263c; --muted: #686477; --paper: #f4f1ed; --cream: #fffdf9; --violet: #68558b; --night: #302b48; --line: #ded8e3; }
.journal-app { background: radial-gradient(ellipse at 95% 0%, #e8e0f0, transparent 45%), var(--paper); }
.header-note, .capture-note { font: .8rem/1.6 Arial, sans-serif; color: var(--muted); }
.journal-layout { max-width: 1180px; margin: 15px auto 70px; padding: 0 28px; display: grid; grid-template-columns: 280px minmax(0,1fr); gap: 42px; align-items: start; }
.journal-sidebar { padding: 20px 0; position: sticky; top: 20px; }
.journal-sidebar h1 { font-size: 2rem; line-height: 1.2; font-weight: 400; letter-spacing: -.04em; }
.journal-sidebar > p { font-size: .95rem; color: var(--muted); }
.moon-orbit { width: 84px; height: 84px; border-radius: 50%; background: linear-gradient(145deg,#43385b,#81739f); display: grid; place-items: center; box-shadow: 12px 10px 40px #b9a9c84d; }
.moon-orbit span { color: #f3dcad; font-size: 3rem; line-height: 1; }
.journal-nav { display: grid; gap: 9px; margin: 32px 0; }
.journal-nav button { border: 0; background: transparent; text-align: left; padding: 14px 16px; border-radius: 12px; font: .9rem Arial, sans-serif; color: var(--muted); cursor: pointer; }
.journal-nav button span { margin-right: 14px; opacity: .65; font-size: .7rem; }
.journal-nav button[aria-current="page"] { background: var(--night); color: #fffaf0; box-shadow: 0 6px 15px #302b4820; }
.journal-workspace { min-width: 0; background: var(--cream); border: 1px solid #e6dfe7; border-radius: 28px; box-shadow: 0 18px 60px #302b4808; overflow: hidden; }
.app-screen { padding: 42px; min-height: 580px; animation: arrive .22s ease-out; }
.app-screen.is-active { view-transition-name: wisadati-screen; }
.app-screen > h2, .analysis-heading h2 { font-size: clamp(2rem,4vw,3rem); line-height: 1.15; font-weight: 400; letter-spacing: -.035em; margin: 10px 0 20px; }
.screen-lede { color: var(--muted); max-width: 45em; }
.screen-status { min-height: 1.3em; margin: 8px 0 0; color: var(--muted); font: .78rem/1.4 Arial, sans-serif; }
.screen-status.is-loading::after { display: inline-block; width: 1em; margin-left: .35em; content: "…"; animation: pulse 1s steps(2, end) infinite; }
#dream-text { min-height: 280px; background: #f9f6f1; border-color: #ded6df; font-size: 1.12rem; line-height: 1.8; }
.dream-form { margin-top: 25px; }
.capture-note { margin: -10px 0 4px; }
.button-primary { background: var(--night); color: #fffaf0; }
.button { font-family: Arial,sans-serif; }
button { cursor: pointer; }
button:focus-visible, a:focus-visible, summary:focus-visible { outline: 3px solid #a48bc3; outline-offset: 4px; }
.dream-form select { width: 100%; border: 1px solid var(--line); border-radius: 12px; padding: 13px; background: white; color: var(--ink); font: 1rem Arial,sans-serif; }
.consent-check { align-items: flex-start; font: .8rem/1.6 Arial,sans-serif !important; color: var(--muted) !important; }
.consent-check input { margin-top: 5px; flex-shrink: 0; }
.auth-box { margin-top: 30px; padding: 18px; background: #eae5ee; border: 0; border-radius: 16px; }
.auth-box h2 { font: bold .85rem Arial,sans-serif; margin: 0 0 10px; }
.about-wisadati, .technical-log { margin-top: 24px; font-size: .85rem; color: var(--muted); }
.analysis-panel, .history-panel { margin-top: 20px; border: 0; padding-top: 0; }
.reading-nav { display: flex; gap: 8px; margin: 28px 0 10px; padding: 5px; border-radius: 14px; background: #f0ebf2; }
.reading-nav-button { flex: 1; padding: 11px 14px; border: 0; border-radius: 10px; color: var(--muted); background: transparent; cursor: pointer; font: 700 .76rem Arial, sans-serif; text-align: left; }
.reading-nav-button.is-active { color: var(--night); background: #fffdf9; box-shadow: 0 4px 12px #302b4812; }
.reading-loading { display: flex; align-items: center; gap: 18px; margin: 28px 0; padding: 28px; border-radius: 18px; color: var(--muted); background: linear-gradient(120deg, #f4eef6, #fbf7f0); }
.reading-loading strong { display: block; margin-bottom: 5px; color: var(--night); font: 700 .95rem Arial, sans-serif; }
.reading-loading p { margin: 0; font: .86rem/1.5 Arial, sans-serif; }
.loading-orbit { display: grid; place-items: center; width: 52px; height: 52px; flex: 0 0 52px; border-radius: 50%; color: #f3dcad; background: linear-gradient(145deg, #43385b, #81739f); font-size: 1.8rem; animation: float-orbit 1.8s ease-in-out infinite; }
.reading-source { margin: 0 0 30px; padding: 18px 20px; border: 1px solid #ded8e3; border-radius: 16px; background: #f7f3ed; }
.reading-source summary { cursor: pointer; color: var(--violet); font: 700 .78rem Arial, sans-serif; }
.reading-source p { margin: 14px 0 8px; white-space: pre-wrap; color: var(--ink); line-height: 1.75; }
.reading-source small { color: var(--muted); font: .76rem/1.5 Arial, sans-serif; }
.analysis-heading { flex-wrap: wrap; }
.analysis-meta { font-size: .65rem; }
.feedback-card, .privacy-card { margin: 28px 0; background: #f3eef6; border-radius: 18px; padding: 24px; }
.feedback-card h3, .privacy-card h3 { margin-top: 0; font-size: 1.25rem; }
.feedback-card p, .privacy-card p { font-size: .9rem; color: var(--muted); }
.form-meta { font: .8rem Arial,sans-serif; color: var(--muted); }
#history-list { padding: 0; list-style: none; }
.history-item { flex-wrap: wrap; background: #f8f5f0; border: 1px solid transparent; border-radius: 16px; margin: 16px 0; padding: 22px; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.history-item:hover, .history-item:focus-within { border-color: #cfc4dc; box-shadow: 0 12px 28px #302b4812; transform: translateY(-1px); }
.history-item.is-selected { border-color: #a48bc3; background: #fbf7fc; box-shadow: 0 14px 34px #302b4818; }
.association-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.association-chips span { padding: 4px 9px; border-radius: 999px; color: var(--violet); background: #eee6f2; font: .7rem Arial, sans-serif; }
.timeline-mode .history-list { position: relative; gap: 18px; padding-left: 26px; }
.timeline-mode .history-list::before { position: absolute; top: 10px; bottom: 10px; left: 7px; width: 2px; background: #d6c9dc; content: ""; }
.timeline-mode .history-item { position: relative; margin: 0; }
.timeline-mode .history-item::before { position: absolute; top: 28px; left: -25px; width: 10px; height: 10px; border: 3px solid var(--cream); border-radius: 50%; background: var(--violet); box-shadow: 0 0 0 1px #b8a4c8; content: ""; }
.history-summary { min-width: min(100%, 28rem); flex: 1 1 28rem; }
.history-select { order: 2; }
.dream-detail { flex: 1 0 100%; margin: 14px 0 4px; padding: 18px; border-left: 3px solid var(--violet); border-radius: 0 12px 12px 0; background: #fffdf9; }
.dream-detail p { margin: 0 0 10px; white-space: pre-wrap; color: var(--ink) !important; font-size: 1rem !important; line-height: 1.7; }
.dream-detail small { color: var(--muted); font: .72rem Arial, sans-serif; }
.dream-connections-inline { flex: 1 0 100%; margin: 12px 0 4px; padding: 16px 18px; border-left: 3px solid #b8a4c8; border-radius: 0 12px 12px 0; background: #f4eef6; }
.dream-connections-inline > strong { display: block; margin-bottom: 8px; color: var(--violet); font: 700 .76rem Arial, sans-serif; text-transform: uppercase; letter-spacing: .06em; }
.dream-connections-inline article { padding: 10px 0; border-top: 1px solid #ddd1e3; }
.dream-connections-inline article:first-of-type { border-top: 0; }
.dream-connections-inline p { margin: 0 0 6px; color: var(--ink) !important; font-size: .9rem !important; }
.dream-connections-inline small { color: var(--muted); font: .72rem/1.5 Arial, sans-serif; }
.feature-list { display: grid; gap: 12px; padding-left: 20px; font-size: .9rem; }
@keyframes arrive { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: none; } }
@keyframes pulse { 50% { opacity: .35; } }
@keyframes float-orbit { 50% { transform: translateY(-4px) rotate(-8deg); } }
@media (max-width: 800px) {
  .journal-layout { grid-template-columns: 1fr; gap: 20px; padding: 0 16px; }
  .journal-sidebar { position: static; padding: 0; }
  .journal-sidebar h1 { font-size: 1.6rem; }
  .moon-orbit, .journal-sidebar > p:not(.eyebrow), .about-wisadati { display: none; }
  .journal-nav { display: flex; margin: 20px 0; gap: 6px; }
  .journal-nav button { flex: 1; padding: 12px 8px; text-align: center; font-size: .8rem; }
  .journal-nav button span { display: none; }
  .auth-box { margin: 10px 0; }
  .app-screen { padding: 25px 20px; min-height: 420px; }
  .journal-workspace { border-radius: 20px; }
  .header-note { display: none; }
  .form-grid { grid-template-columns: 1fr; }
  .site-header { padding: 20px; }
  .feedback-card, .privacy-card { padding: 18px; }
  .history-actions { gap: 10px; flex-wrap: wrap; justify-content: end; }
  .history-filter-row { display: grid; gap: 0; }
  .history-filter-select { max-width: none; }
  .reading-nav-button { padding: 10px 9px; font-size: .7rem; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .app-screen, .screen-status.is-loading::after, .loading-orbit { animation: none; } }

.journal-workspace > .form-status:not(:empty) { margin: 24px 28px 0; padding: 16px; background: #f0eaf5; border-radius: 12px; }

.landing-screen { max-width: 760px; margin: 0 auto; padding: clamp(2rem, 8vw, 6rem) 0; }
.landing-screen .auth-box { margin: 2rem 0; max-width: 420px; }
.landing-note { color: var(--muted, #64748b); max-width: 48ch; }
.dictation-controls { display: flex; align-items: center; gap: .8rem; margin-top: .5rem; min-height: 2rem; }
.dictation-controls span { color: var(--muted, #64748b); font-size: .9rem; }

/* Conversation v1 */
.conversation-panel { margin: 28px 0; background: var(--cream); border: 1px solid var(--line); border-radius: 18px; padding: 24px; }
.conversation-panel h3 { margin: 0; font-size: 1.25rem; }
.conversation-messages { list-style: none; margin: 18px 0; padding: 0; display: grid; gap: 12px; }
.conversation-message { border-radius: 14px; padding: 12px 16px; max-width: 92%; }
.conversation-message p { margin: 6px 0; line-height: 1.55; }
.conversation-message small { color: var(--muted); font-size: .8rem; }
.conversation-message.from-user { justify-self: end; background: #f3eef6; }
.conversation-message.from-wisadati { justify-self: start; background: var(--paper); }
@media (max-width: 640px) {
  .conversation-panel { padding: 18px; }
  .conversation-message { max-width: 100%; }
}

/* Mi saldo */
.balance-card { display: grid; gap: 4px; margin: 20px 0; padding: 24px; border-radius: 18px; background: var(--cream); border: 1px solid var(--line); }
.balance-card strong { font-size: 2.6rem; line-height: 1; }
.balance-card small { color: var(--muted); }
.balance-list { list-style: none; padding: 0; margin: 0; }
.balance-list li { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.balance-list li span { display: grid; gap: 2px; }
.balance-list small { color: var(--muted); font-size: .8rem; }

/* Mi mapa y configuración */
.map-category { margin: 22px 0; }
.map-category h3 { margin: 0 0 10px; font-size: 1.1rem; }
.map-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.map-chip { border: 1px solid var(--line); background: var(--cream); color: var(--ink); border-radius: 999px; padding: 6px 14px; cursor: pointer; }
.map-chip:hover, .map-chip:focus-visible { background: #f3eef6; }
.settings-category { display: grid; gap: 10px; border: 1px solid var(--line); }
.settings-category legend { font-weight: 600; padding: 0 6px; }
.settings-category textarea { min-height: 120px; font-family: inherit; }
.settings-sources { display: flex; flex-wrap: wrap; gap: 4px 16px; }

/* Mi libro */
.book-dream-list { display: grid; gap: 6px; max-height: 320px; overflow-y: auto; margin: 10px 0; }
.book-dream-list label { display: flex; justify-content: space-between; gap: 10px; align-items: center; }
.book-blocks { display: grid; gap: 10px; margin: 12px 0; }
.book-blocks blockquote { margin: 0; padding: 10px 14px; border-left: 3px solid var(--line); color: var(--muted); }
.book-blocks textarea { min-height: 110px; font-family: inherit; }
