/* Shared offsets keep dossier controls clear of feedback and mobile navigation. */
body {
  --site-feedback-right: max(24px, env(safe-area-inset-right));
  --site-feedback-bottom: max(32px, env(safe-area-inset-bottom));
  --site-feedback-size: 36px;
}
.site-feedback {
  --feedback-bg: #f9f5ed;
  --feedback-ink: #302119;
  --feedback-muted: #7b6859;
  --feedback-border: #30211933;
  --feedback-hover: #eee7da;
  --feedback-focus: #926721;
  --feedback-right: var(--site-feedback-right);
  --feedback-bottom: var(--site-feedback-bottom);
  position: fixed; right: var(--feedback-right); bottom: var(--feedback-bottom); z-index: 90;
  color: var(--feedback-ink); font: 400 13px/1.6 'Roboto Flex', Arial, sans-serif;
}
.site-feedback[data-canvas-theme='dark'] {
  color-scheme: dark;
  --feedback-bg: #262626;
  --feedback-ink: #ede7dc;
  --feedback-muted: #aaa49b;
  --feedback-border: #ede7dc33;
  --feedback-hover: #333;
  --feedback-focus: #c5ab81;
}
.site-feedback *, .site-feedback *::before, .site-feedback *::after { box-sizing: border-box; }
.site-feedback button, .site-feedback textarea { font: inherit; color: inherit; }
.site-feedback button { cursor: pointer; }
.site-feedback__trigger {
  display: grid; place-items: center; width: var(--site-feedback-size); height: var(--site-feedback-size); padding: 0;
  border: 1px solid var(--feedback-border); border-radius: 3px; background: var(--feedback-bg);
  box-shadow: 0 3px 10px #0000001a, 0 0 0 3px color-mix(in srgb, var(--feedback-bg) 70%, transparent);
  color: var(--feedback-muted);
}
.site-feedback__trigger svg { width: 18px; height: 18px; }
.site-feedback__trigger:hover, .site-feedback__trigger[aria-expanded='true'] { color: var(--feedback-ink); background: var(--feedback-hover); }
.site-feedback__menu {
  position: absolute; right: 0; bottom: 48px; min-width: 208px; padding: 5px;
  border: 1px solid var(--feedback-border); border-radius: 3px; background: var(--feedback-bg); box-shadow: 0 8px 24px #0002;
}
.site-feedback__item { display: flex; align-items: center; justify-content: space-between; gap: 28px; width: 100%; min-height: 44px; padding: 8px 12px; border: 0; border-radius: 0; background: transparent; text-align: left; }
.site-feedback__item span:first-child { font: 500 20px/1.3 'Cormorant Garamond', Georgia, serif; }
.site-feedback__item:hover, .site-feedback__item:focus-visible { background: var(--feedback-hover); }
.site-feedback__dialog {
  position: fixed; inset: auto var(--feedback-right) calc(var(--feedback-bottom) + 48px) auto;
  margin: 0; width: min(360px, calc(100vw - 32px)); max-height: calc(100dvh - var(--feedback-bottom) - 80px);
  padding: 22px; overflow-y: auto; overscroll-behavior: contain;
  border: 1px solid var(--feedback-border); border-radius: 3px; background: var(--feedback-bg); color: var(--feedback-ink);
  box-shadow: 0 12px 40px #0003;
}
.site-feedback__dialog::backdrop { background: #0002; }
.site-feedback__header { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.site-feedback__title { margin: 0; font: 600 28px/1.1 'Cormorant Garamond', Georgia, serif; letter-spacing: normal; color: inherit; }
.site-feedback__close { display: grid; place-items: center; flex: none; width: 32px; height: 32px; padding: 0; border: 0; background: transparent; }
.site-feedback__close svg { width: 18px; height: 18px; }
.site-feedback__close:hover { background: var(--feedback-hover); }
.site-feedback__description { margin: 0 0 18px; color: var(--feedback-muted); font: inherit; }
.site-feedback__form { display: grid; gap: 10px; }
.site-feedback__form label { font: inherit; }
.site-feedback__form textarea { display: block; width: 100%; min-height: 120px; max-height: 220px; padding: 10px 12px; resize: vertical; border: 1px solid var(--feedback-border); border-radius: 0; background: transparent; line-height: 1.6; }
.site-feedback__form textarea::placeholder { color: var(--feedback-muted); opacity: 1; }
.site-feedback__note { color: var(--feedback-muted); font-size: 11px; }
.site-feedback__send { justify-self: start; min-height: 40px; padding: 8px 16px; border: 1px solid var(--feedback-border); border-radius: 0; background: transparent; font: 600 18px/1.3 'Cormorant Garamond', Georgia, serif !important; }
.site-feedback__send:hover:not(:disabled) { background: var(--feedback-hover); border-color: var(--feedback-focus); }
.site-feedback__send:disabled { opacity: .6; cursor: default; }
.site-feedback__status { margin: 6px 0 0; overflow-wrap: anywhere; font: inherit; }
.site-feedback__status a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.site-feedback__honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.site-feedback :is(button, textarea, a):focus-visible { outline: 2px solid var(--feedback-focus); outline-offset: 3px; }
.site-feedback [hidden] { display: none !important; }
@media (max-width: 700px) {
  body { --site-feedback-right: max(12px, env(safe-area-inset-right)); --site-feedback-bottom: max(12px, env(safe-area-inset-bottom)); }
  body:has(.board-stage[data-view='graph']) { --site-feedback-bottom: max(80px, calc(env(safe-area-inset-bottom) + 68px)); }
  .site-feedback__dialog { padding: 18px; }
  .site-feedback__form textarea { font-size: 16px; }
}
