#siteFeedbackLauncher {
  position: fixed;
  right: max(16px, env(safe-area-inset-right));
  bottom: max(16px, env(safe-area-inset-bottom));
  z-index: 80;
  max-width: calc(100vw - 32px);
  border: 1px solid #596747;
  border-radius: 999px;
  padding: 12px 18px;
  background: #11170d;
  color: #e9f4dc;
  box-shadow: 0 4px 20px #0008;
  font: 600 13px/1.35 system-ui, sans-serif;
  cursor: pointer;
  transform: none;
  transition: background 140ms ease, border-color 140ms ease, color 140ms ease, box-shadow 140ms ease;
}
#siteFeedbackLauncher .site-feedback-launcher-icon { display: none; }
#siteFeedbackLauncher:hover { border-color: #b1ef49; background: #1c2812; transform: none; box-shadow: 0 4px 20px #0008; }
#siteFeedbackLauncher:focus-visible, #siteFeedbackDialog :focus-visible { outline: 3px solid #b1ef49; outline-offset: 3px; border-color: #b1ef49; }
#siteFeedbackDialog {
  width: min(520px, calc(100vw - 32px));
  max-height: calc(100dvh - 32px);
  box-sizing: border-box;
  padding: 24px;
  border: 1px solid #52643c;
  border-radius: 20px;
  background: #10160e;
  color: #eef5e7;
  box-shadow: 0 24px 90px #000b;
  font: 15px/1.5 system-ui, sans-serif;
  overflow: auto;
}
#siteFeedbackDialog::backdrop { background: #000b; }
#siteFeedbackDialog form { margin: 0; }
#siteFeedbackDialog .site-feedback-heading { display: flex; align-items: flex-start; gap: 16px; }
#siteFeedbackDialog h2 { margin: 0; font: 700 22px/1.25 system-ui, sans-serif; letter-spacing: -.02em; color: #f3f9ee; }
#siteFeedbackDialog p { margin: 16px 0; color: #bdc8b5; }
#siteFeedbackDialog label { display: block; margin-bottom: 8px; font-weight: 600; }
#siteFeedbackDialog textarea {
  box-sizing: border-box; width: 100%; min-height: 144px; resize: vertical; border: 1px solid #60704d;
  border-radius: 10px; padding: 12px; background: #080c06; color: #f3f9ee; font: 16px/1.5 system-ui, sans-serif;
}
#siteFeedbackDialog textarea::placeholder { color: #93a386; opacity: 1; }
#siteFeedbackDialog button { cursor: pointer; font: 600 14px/1.4 system-ui, sans-serif; border-radius: 999px; padding: 10px 18px; transform: none; box-shadow: none; }
#siteFeedbackDialog .site-feedback-close { flex-shrink: 0; padding: 0; min-width: 44px; min-height: 44px; margin-top: -8px; margin-left: auto; font-size: 26px; color: #eef5e7; background: transparent; border: 0; }
#siteFeedbackDialog .site-feedback-note { display: flex; align-items: flex-start; gap: 14px; margin-top: 10px; font-size: 12px; color: #aab89e; }
#siteFeedbackCount { white-space: nowrap; }
#siteFeedbackDialog .site-feedback-actions { display: flex; justify-content: flex-end; gap: 10px; }
#siteFeedbackDialog .site-feedback-cancel { border: 1px solid #536248; background: transparent; color: #eef5e7; }
#siteFeedbackDialog .site-feedback-send { border: 1px solid #b1ef49; background: #b1ef49; color: #10160e; }
#siteFeedbackDialog button:disabled { opacity: .5; cursor: not-allowed; }
#siteFeedbackDialog #siteFeedbackStatus { min-height: 24px; color: #d8edbf; overflow-wrap: anywhere; }
#siteFeedbackDialog .site-feedback-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 480px) {
  #siteFeedbackLauncher {
    right: max(12px, env(safe-area-inset-right));
    bottom: max(12px, env(safe-area-inset-bottom));
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    padding: 0;
    border-color: #83ad45;
    background: #131b0e;
    color: #b1ef49;
    box-shadow: 0 4px 16px #0009;
    font: 700 22px/1 system-ui, sans-serif;
  }
  #siteFeedbackLauncher .site-feedback-launcher-icon { display: block; }
  #siteFeedbackLauncher .site-feedback-launcher-label { display: none; }
  #siteFeedbackDialog { padding: 20px; animation: site-feedback-open 160ms ease-out; transform-origin: right bottom; }
  #siteFeedbackDialog h2 { font-size: 20px; }
}
@keyframes site-feedback-open {
  from { opacity: 0; transform: translateY(8px) scale(.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@media (prefers-reduced-motion: reduce) {
  #siteFeedbackDialog { animation: none; }
}
@media print { #siteFeedbackLauncher, #siteFeedbackDialog { display: none !important; } }
