/* Help (support.html) and the owner's inbox (inbox.html). Colours come from styles.css. */
/* hidden must win over the display rules below (the key form, the inbox body). */
[hidden] { display: none !important; }

.help { padding: 112px 0 64px; max-width: 760px; }
.help-head h1 { font: 800 clamp(34px, 6vw, 52px)/1.05 var(--display); margin: 0 0 12px; letter-spacing: -0.01em; }
.help-head p { color: var(--mist); margin: 0 0 8px; }
.help-fine { color: var(--dim); font-size: 14px; }

.help-chat { margin-top: 28px; display: grid; gap: 14px; }
.help-turns { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.help-turn { max-width: 88%; padding: 12px 16px; border-radius: 16px; border: 1px solid var(--line); background: var(--panel); }
.help-turn p { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.help-turn.from-user { justify-self: end; background: color-mix(in srgb, var(--signal) 14%, transparent); border-color: color-mix(in srgb, var(--signal) 30%, transparent); border-end-end-radius: 4px; }
.help-turn.from-assistant { justify-self: start; border-end-start-radius: 4px; }
.help-turn.from-owner { justify-self: start; border-color: color-mix(in srgb, var(--amber) 45%, transparent); border-end-start-radius: 4px; }
.help-by { display: block; font: 600 12px var(--font); color: var(--amber); margin-bottom: 4px; letter-spacing: 0.02em; }

.help-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chip { cursor: pointer; font: 500 14px var(--font); color: var(--ice); background: var(--panel); border: 1px solid var(--line); border-radius: 999px; padding: 8px 14px; }
.chip:hover, .chip.on { border-color: var(--line-strong); }
.chip.on { background: color-mix(in srgb, var(--signal) 14%, transparent); }

.help-box { display: flex; gap: 10px; align-items: flex-end; }
.help-box textarea {
  flex: 1; min-width: 0; resize: vertical; font: 400 16px/1.5 var(--font); color: var(--ice);
  background: var(--deep); border: 1px solid var(--line-strong); border-radius: 14px; padding: 12px 14px;
}
.help-box textarea:focus { outline: none; border-color: var(--signal); }
.help-status { color: var(--mist); font-size: 14.5px; margin: 0; min-height: 1.4em; }
.help-new { justify-self: start; background: none; border: 0; color: var(--dim); text-decoration: underline; cursor: pointer; font: inherit; font-size: 14px; padding: 0; }

/* the owner's inbox */
.inbox { padding: 40px 0 64px; }
.inbox-head { display: flex; align-items: center; gap: 16px; margin-bottom: 24px; }
.inbox-head h1 { font: 800 32px var(--display); margin: 0; }
.inbox-who { color: var(--mist); margin-right: auto; }
.inbox-key { display: grid; gap: 10px; max-width: 380px; }
.inbox-key input[type='password'] { font: inherit; color: var(--ice); background: var(--deep); border: 1px solid var(--line-strong); border-radius: 12px; padding: 10px 12px; }
.inbox-remember { display: flex; gap: 8px; align-items: center; color: var(--mist); font-size: 14.5px; }
.inbox-body { display: grid; grid-template-columns: minmax(260px, 340px) minmax(0, 1fr); gap: 24px; align-items: start; }
.inbox-filter { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.inbox-list ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.inbox-item button { width: 100%; text-align: start; cursor: pointer; display: grid; gap: 4px; padding: 12px 14px; border-radius: 14px; border: 1px solid var(--line); background: var(--panel); color: var(--ice); font: inherit; }
.inbox-item.on button { border-color: var(--signal); }
.inbox-item.unread button { box-shadow: inset 3px 0 0 var(--amber); }
.inbox-item-top { display: flex; justify-content: space-between; gap: 8px; text-transform: capitalize; }
.inbox-item-sum { color: var(--mist); font-size: 14.5px; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.inbox-thread { display: grid; gap: 16px; }
.inbox-thread-head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 16px; align-items: start; }
.inbox-thread-title { flex: 1 1 320px; min-width: 0; display: grid; gap: 4px; }
.inbox-thread-head h2 { margin: 0; font: 700 22px/1.3 var(--display); }
.inbox-thread-head p { margin: 0; }
.inbox-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.inbox-live { color: var(--mint); font-size: 14px; font-weight: 600; }
.inbox-live::before { content: ''; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--mint); margin-inline-end: 6px; vertical-align: 1px; }

@media (max-width: 760px) {
  .inbox-body { grid-template-columns: minmax(0, 1fr); }
  /* Narrower than the screen, so who wrote what still shows by side (yours right, theirs left). */
  .help-turn { max-width: 90%; }
  .help-box { flex-direction: column; align-items: stretch; }
}
