.panel {
  background: var(--panel);
  border: 1px solid var(--panel-border);
  border-radius: var(--radius);
  padding: 1.25rem 1.5rem;
  backdrop-filter: blur(4px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.35);
}

.consult { display: flex; flex-direction: column; gap: 1rem; }
.consult__label { color: var(--ink-dim); font-style: italic; }
textarea, input[type="text"], input[type="password"], input:not([type]), select {
  width: 100%;
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid var(--panel-border);
  border-radius: 6px;
  color: var(--ink);
  padding: 0.6em 0.8em;
  resize: vertical;
}
textarea::placeholder, input::placeholder { color: rgba(184, 168, 146, 0.65); font-style: italic; }
textarea:focus, input:focus, select:focus { border-color: var(--gold); outline: none; }
select option { background: #1a0d17; }
.consult__actions { display: flex; justify-content: flex-end; }

.settings summary {
  cursor: pointer; color: var(--gold);
  letter-spacing: 0.08em; text-transform: uppercase; font-size: 0.8rem;
}
.settings__grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 0.9rem 1.25rem;
  margin-top: 1rem;
}
.field { display: flex; flex-direction: column; gap: 0.3rem; font-size: 0.9rem; }
.field > span { color: var(--ink-dim); }
.field small { color: var(--ink-dim); opacity: 0.8; }
.field--wide { grid-column: 1 / -1; }
.field--check { flex-direction: row; align-items: center; gap: 0.5rem; align-self: end; }
.field--check input { accent-color: var(--gold); }
.hint { color: var(--ink-dim); font-size: 0.82rem; margin: 0; }
@media (max-width: 640px) { .settings__grid { grid-template-columns: 1fr; } }

.reading { display: flex; flex-direction: column; gap: 0.75rem; }
.reading h2 { font-size: 1.8rem; }
.reading__note { color: var(--ink-dim); font-style: italic; margin: 0; min-height: 1.4em; }
.reading__text {
  white-space: pre-wrap; font-size: 1.05rem; line-height: 1.7;
  min-height: 3em;
}
.reading__text[aria-busy="true"]::after { content: "▍"; color: var(--gold); animation: blink 1s steps(2) infinite; }
@keyframes blink { 50% { opacity: 0; } }
.chunk { animation: chunk-in 0.5s ease both; }
@keyframes chunk-in { from { opacity: 0; } to { opacity: 1; } }
.reading__actions { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-top: 0.5rem; }