/* A quiet, accessible support window shared by every public page. */
body.devad-support-ready { padding-bottom: calc(90px + env(safe-area-inset-bottom)); }
.devad-support {
  --support-accent: var(--accent, var(--gold-text, #c4a2ff));
  --support-ink: var(--text-1, #f3eefb);
  --support-muted: var(--text-2, #d8cce7);
  --support-ground: var(--surface-1, #15101f);
  --support-edge: var(--edge-control, var(--edge-lit, #806593));
  font-family: var(--body, system-ui, sans-serif);
  color: var(--support-ink);
  font-size: 14px;
  line-height: 1.55;
}
.devad-support *, .devad-support *::before, .devad-support *::after { box-sizing: border-box; }
.devad-support [hidden] { display: none !important; }
.devad-support button, .devad-support input, .devad-support textarea { font: inherit; letter-spacing: normal; text-transform: none; }
.devad-support button, .devad-support a { min-height: 44px; min-width: 44px; }
.devad-support button { cursor: pointer; padding: 9px 13px; border: 1px solid var(--support-edge); border-radius: 8px; color: var(--support-ink); background: var(--surface-2, #1d162b); }
.devad-support button:hover:not(:disabled) { background: var(--surface-3, #281e39); color: var(--support-ink); }
.devad-support button:disabled { cursor: wait; }
.devad-support :is(button,a,input,textarea,summary):focus-visible { outline: 3px solid var(--support-accent); outline-offset: 3px; }
.devad-support .devad-support__launcher {
  position: fixed; right: max(16px, env(safe-area-inset-right)); bottom: calc(16px + env(safe-area-inset-bottom)); z-index: 90;
  display: flex; align-items: center; justify-content:center; width:48px; height:48px;
  min-width:48px; min-height:48px; gap:0; padding:0; border-radius:50%;
  color: var(--support-ink); border: 2px solid transparent;
  background: linear-gradient(var(--support-ground),var(--support-ground)) padding-box,
    var(--glass-mosaic, linear-gradient(90deg,#62408c,#818cf8)) border-box;
  box-shadow: 0 0 0 1px var(--glass-lead, #17121f), 0 8px 28px rgba(0,0,0,.2);
  text-align: left;
}
.devad-support__launcher svg { width: 24px; height: 24px; stroke: var(--support-accent); stroke-width: 1.7; flex: none; }
.devad-support__launcher b { display: block; font-size: 14px; font-weight: 600; }
.devad-support__launcher small { display: block; color: var(--support-muted); font-size: 12px; }
.devad-support .devad-support__launcher > span { display:none; }
.devad-support .devad-support__dialog {
  position: fixed; inset: auto 16px calc(16px + env(safe-area-inset-bottom)) auto; margin: 0;
  width: min(440px, calc(100vw - 32px)); max-width: none; max-height: calc(100dvh - 32px);
  padding: 0; overflow-y: auto; overscroll-behavior: contain; border: 3px solid transparent; border-radius: 18px;
  background: linear-gradient(var(--support-ground),var(--support-ground)) padding-box,
    var(--glass-mosaic, linear-gradient(90deg,#62408c,#818cf8)) border-box;
  color: var(--support-ink); box-shadow: 0 0 0 1px var(--glass-lead,#17121f), 0 20px 70px rgba(0,0,0,.35);
}
.devad-support__dialog::backdrop { background: rgba(8,6,14,.48); }
.devad-support .devad-support__header {
  position: static; display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 18px 18px 12px; margin: 0; border: 0; background: transparent; backdrop-filter: none;
}
.devad-support__eyebrow { margin: 0 0 3px; color: var(--support-accent); font-size: 11px; letter-spacing: .11em; text-transform: uppercase; }
.devad-support #devad-support-title { margin: 0; color: var(--support-ink); font: 500 24px/1.2 var(--display,Georgia,serif); letter-spacing: 0; }
.devad-support #devad-support-title::after { display: none; }
.devad-support .devad-support__close { width: 44px; padding: 0; flex: none; background: transparent; font: 26px/1 var(--body,system-ui); }
.devad-support__about { margin: 0; padding: 0 18px 14px; color: var(--support-muted); font-size: 12px; }
.devad-support__chat, .devad-support__handoff, .devad-support__review, .devad-support__success { padding: 0 18px; }
.devad-support__log { display: flex; flex-direction: column; gap: 12px; max-height: min(270px, 33dvh); min-height: 100px; padding: 12px; overflow-y: auto; border: 1px solid var(--support-edge); border-radius: 10px; background: var(--surface-0,#0d0914); }
.devad-support__message { margin: 0; padding: 10px 12px; border-radius: 8px; background: var(--surface-2,#1d162b); overflow-wrap: anywhere; }
.devad-support__message--user { margin-left: 24px; border-left: 2px solid var(--support-accent); }
.devad-support__message > b { display: block; margin-bottom: 4px; color: var(--support-accent); font-size: 11px; font-weight: 600; }
.devad-support__message > p { margin: 0; white-space: pre-wrap; font-size: 14px; color: var(--support-ink); }
.devad-support a { display: inline-flex; align-items: center; color: var(--support-accent); text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.devad-support__sources { display: flex; flex-direction: column; margin-top: 6px; }
.devad-support__sources a { font-size: 12px; }
.devad-support__suggestions { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0 12px; }
.devad-support__suggestions button { padding: 7px 10px; font-size: 12px; background: transparent; }
.devad-support label { display: block; margin: 12px 0 5px; color: var(--support-ink); font-size: 13px; letter-spacing: 0; text-transform: none; }
.devad-support input:not([type="checkbox"]), .devad-support textarea { display: block; width: 100%; min-height: 44px; max-width: 100%; padding: 10px; border: 1px solid var(--support-edge); border-radius: 8px; background: var(--surface-0,#0d0914); color: var(--support-ink); font-size: 16px; }
.devad-support textarea { resize: vertical; max-height: 200px; line-height: 1.5; }
.devad-support textarea::placeholder { color: var(--support-muted); opacity: 1; }
.devad-support__actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 8px; }
.devad-support .devad-support__primary { background: var(--support-accent); color: var(--surface-0,#0d0914); border-color: var(--support-accent); }
.devad-support .devad-support__primary:hover:not(:disabled) { background: var(--support-accent); color: var(--surface-0,#0d0914); text-decoration: underline; }
.devad-support__loading { margin: 10px 0; height: 12px; padding: 2px; overflow: clip; border: 1px solid var(--support-edge); border-radius: 3px; background: var(--surface-0,#0d0914); }
.devad-support__loading > .stained-loader__fill { display: block; width: 38%; height: 100%; background: var(--glass-mosaic,var(--support-accent)); }
.devad-support__loading[aria-busy="true"] > .stained-loader__fill { animation: support-glass-pass 2.6s ease-in-out infinite; }
@keyframes support-glass-pass { from { transform: translateX(-110%); } to { transform: translateX(365%); } }
.devad-support__retry { margin: 8px 0; }
.devad-support .devad-support__status { padding: 0 18px; margin: 8px 0; min-height: 0; color: var(--support-muted); font-size: 13px; overflow-wrap: anywhere; }
.devad-support__status:empty { display: none; }
.devad-support .devad-support__footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 14px; padding: 6px 18px 10px; margin: 0; border: 0; background: transparent; font-size: 12px; }
.devad-support h3 { margin: 6px 0 12px; color: var(--support-ink); font: 600 18px/1.4 var(--body,system-ui); }
.devad-support__handoff > p, .devad-support__review > p, .devad-support__success > p { margin: 8px 0; color: var(--support-muted); font-size: 13px; overflow-wrap: anywhere; }
.devad-support .devad-support__check { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 4px 0; }
.devad-support__check input { width: 20px; height: 20px; flex: none; accent-color: var(--support-accent); }
.devad-support .devad-support__fine { font-size: 12px; }
.devad-support__honeypot { display: none; }
.devad-support__review pre { margin: 10px 0; padding: 12px; white-space: pre-wrap; overflow-wrap: anywhere; font: 13px/1.6 var(--body,system-ui); color: var(--support-ink); background: var(--surface-0,#0d0914); border-radius: 6px; max-height: 180px; overflow-y: auto; }
.devad-support__review summary { padding: 12px 0; min-height: 44px; color: var(--support-ink); cursor: pointer; }
@media (max-width: 520px) {
  .devad-support .devad-support__launcher { right: 12px; bottom: calc(12px + env(safe-area-inset-bottom)); }
  .devad-support .devad-support__dialog { inset: auto 8px calc(8px + env(safe-area-inset-bottom)) 8px; width: auto; max-height: calc(100dvh - 16px - env(safe-area-inset-bottom)); border-radius: 14px; }
  .devad-support__log { max-height: 28dvh; }
  .devad-support__actions button { flex: 1 1 auto; }
}
@media (prefers-reduced-motion: reduce) {
  .devad-support *, .devad-support *::before, .devad-support *::after { animation: none !important; transition: none !important; scroll-behavior: auto; }
}
@media (prefers-contrast: more) {
  .devad-support .devad-support__dialog, .devad-support .devad-support__launcher { border-color: var(--support-ink); box-shadow: none; }
}
@media (forced-colors: active) {
  .devad-support .devad-support__dialog, .devad-support .devad-support__launcher { background: Canvas; border: 2px solid CanvasText; box-shadow: none; }
  .devad-support button, .devad-support .devad-support__primary { background: ButtonFace; color: ButtonText; border-color: ButtonText; }
  .devad-support__launcher svg { stroke: ButtonText; }
}

/* 2026-09-19 · A phone zooms the page for any field under 16px and does not zoom back. */
@media (pointer:coarse),(max-width:640px) {
  .devad-support input:not([type="checkbox"]), .devad-support textarea, .devad-support select { font-size:16px; }
}

/* 2026-09-19 · THE LABEL SITS ON THE THEME'S OWN GROUND, NOT ON THE MOVING GLASS.
   The shared plate under a glass label is the page ground at 80%, so a fifth of the travelling panes came
   through the words. The launcher states its plate outright, in the same token its own padding box uses, so
   the ink it takes from the theme (--text-1) is measured against one flat colour in every one of the seven
   themes - and the light ones, where a pane passing under pale ink is the difference between reading it and
   guessing at it, are no longer a gamble. The glass still shows in the rim and along the lit border. */
.devad-support .devad-support__launcher.glass-surface::after { background: var(--support-ground); inset:3px; border-radius:50%; }

/* The accessible support label remains on the button; detail lives in the dialog. */
