/* iOS must treat game controls as controls, never selectable page text. */
button, [role="button"], input[type="button"], input[type="submit"] {
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
  touch-action: manipulation;
}

.beta-feedback {
  position: fixed;
  right: max(14px, env(safe-area-inset-right));
  bottom: max(14px, env(safe-area-inset-bottom));
  z-index: 900;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 42px;
  padding: 0 15px;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 999px;
  background: linear-gradient(120deg, rgba(19, 21, 29, .94), rgba(49, 24, 48, .94));
  box-shadow: 0 14px 42px rgba(0, 0, 0, .38);
  color: #fff;
  font: 800 11px/1 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
  cursor: pointer;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.beta-feedback::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #ff5ba7; box-shadow: 0 0 14px rgba(255, 91, 167, .85); }
.beta-feedback:hover { border-color: rgba(255, 123, 177, .75); transform: translateY(-1px); }
.beta-feedback:focus-visible { outline: 3px solid #77dfff; outline-offset: 3px; }
.beta-feedback__divider { width: 1px; height: 16px; background: rgba(255, 255, 255, .22); }
.beta-feedback__action { color: #8de8ff; }

.feedback-dialog {
  width: min(520px, calc(100vw - 28px));
  max-height: calc(100dvh - 28px);
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 22px;
  overflow: auto;
  background: linear-gradient(145deg, #141721, #0b0c11 72%);
  box-shadow: 0 30px 100px rgba(0, 0, 0, .72);
  color: #f8f4f7;
}
.feedback-dialog::backdrop { background: rgba(2, 3, 6, .78); backdrop-filter: blur(7px); }
.feedback-dialog__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 25px 25px 17px; }
.feedback-dialog__kicker { margin: 0 0 7px; color: #ff6eae; font: 900 10px/1 system-ui, sans-serif; letter-spacing: .18em; text-transform: uppercase; }
.feedback-dialog h2 { margin: 0; color: #fff; font: 800 24px/1.08 system-ui, sans-serif; letter-spacing: -.02em; }
.feedback-dialog__close { width: 36px; height: 36px; flex: 0 0 auto; border: 1px solid rgba(255, 255, 255, .14); border-radius: 50%; background: rgba(255, 255, 255, .05); color: #fff; font-size: 22px; cursor: pointer; }
.feedback-dialog__body { display: grid; gap: 13px; padding: 0 25px 25px; }
.feedback-dialog__intro { margin: 0 0 3px; color: #aeb1bc; font: 500 14px/1.55 system-ui, sans-serif; }
.feedback-dialog label { color: #d9d9df; font: 800 11px/1 system-ui, sans-serif; letter-spacing: .09em; text-transform: uppercase; }
.feedback-dialog select,
.feedback-dialog textarea { width: 100%; border: 1px solid rgba(255, 255, 255, .14); border-radius: 12px; background: rgba(255, 255, 255, .055); color: #fff; font: 500 15px/1.45 system-ui, sans-serif; }
.feedback-dialog select { min-height: 46px; padding: 0 13px; }
.feedback-dialog textarea { min-height: 132px; padding: 13px; resize: vertical; }
.feedback-dialog select:focus,
.feedback-dialog textarea:focus { border-color: #79dcf4; outline: 2px solid rgba(121, 220, 244, .2); }
.feedback-dialog__status { min-height: 20px; margin: 0; color: #ff9fc8; font: 700 13px/1.4 system-ui, sans-serif; }
.feedback-dialog__status.is-success { color: #85efbf; }
.feedback-dialog__send { min-height: 48px; border: 0; border-radius: 12px; background: linear-gradient(110deg, #7bdff4, #a86bf1 52%, #ff5ca8); color: #0b0910; font: 900 12px/1 system-ui, sans-serif; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; }
.feedback-dialog__send:disabled { opacity: .58; cursor: wait; }

@media (max-width: 560px) {
  .beta-feedback { min-height: 39px; padding: 0 12px; font-size: 10px; }
  .feedback-dialog__head { padding: 21px 20px 15px; }
  .feedback-dialog__body { padding: 0 20px 21px; }
}
@media (prefers-reduced-motion: reduce) { .beta-feedback { transition: none; } }

.creator-dialog { width:min(720px,calc(100vw - 24px)); max-height:90dvh; padding:0; border:1px solid #776040; border-radius:24px; color:#f7f2ed; background:radial-gradient(ellipse at top left,#35283b,transparent 65%),#101017; box-shadow:0 24px 100px #000b; font:15px/1.5 system-ui,sans-serif; }
.creator-dialog::backdrop {background:#030309d9;backdrop-filter:blur(8px)}
.creator-heading {display:flex;gap:16px;justify-content:space-between;padding:24px 26px 18px;border-bottom:1px solid #ffffff17}
.creator-heading h2 {margin:6px 0;font-size:clamp(24px,5vw,34px);letter-spacing:-.04em}
.creator-heading small {color:#f5c774;letter-spacing:.13em;font-weight:850;font-size:10px}
.creator-heading p {margin:0;color:#bdb5c8;font-size:14px}
.creator-heading>button {align-self:flex-start;font-size:24px!important}
.creator-inbox {padding:18px 26px 26px;min-width:0}
.creator-dialog button,.creator-dialog select {border:1px solid #ffffff26;border-radius:12px;background:#ffffff08;color:#eee6f6;padding:10px 14px;min-height:44px;font:700 13px/1.3 system-ui;cursor:pointer}
.creator-dialog button:focus-visible,.creator-dialog textarea:focus-visible,.creator-dialog select:focus-visible {outline:2px solid #d1b6ff;outline-offset:3px}
.creator-dialog button:disabled {opacity:.55;cursor:wait}
.creator-toolbar {display:flex;gap:8px;flex-wrap:wrap}
.creator-toolbar button:last-child {margin-left:auto}
.creator-notice {font-size:13px;color:#ffcd8d;min-height:20px;margin:12px 0}
.creator-thread {width:100%;display:flex;justify-content:space-between;gap:16px;text-align:left;margin-bottom:9px;padding:16px!important}
.creator-thread strong {display:block;font-size:15px;overflow-wrap:anywhere}
.creator-thread small {display:block;color:#b7aebd;margin-top:5px}
.creator-thread>span:last-child {flex-shrink:0;display:grid;align-content:center;gap:5px}
.creator-status {display:inline-block;font-size:11px;letter-spacing:.03em;border:1px solid #ad92de55;background:#ad92de14;color:#d5bcff;padding:5px 9px;border-radius:999px;white-space:nowrap}
.creator-status--investigating {color:#ffd48b;border-color:#dca54e66;background:#dca54e11}
.creator-status--fixed {color:#8deac6;border-color:#7ddbbb55;background:#7ddbbb11}
.creator-unread {font-size:11px;color:#ff92bf}
.creator-empty {padding:30px 8px;color:#bdb5c8}
.creator-empty h3 {font-size:23px;color:#f5e7d5;margin:0 0 8px}
.creator-intro {color:#beb5c8;font-size:14px}
.creator-compose {display:grid;gap:12px}
.creator-compose label {display:grid;gap:7px;font-size:13px;color:#cec4d6}
.creator-dialog textarea {box-sizing:border-box;width:100%;min-height:100px;resize:vertical;background:#06060c66;color:#f7f2ed;border:1px solid #ffffff26;border-radius:12px;padding:13px;font:15px/1.5 system-ui}
.creator-dialog .creator-send {background:linear-gradient(110deg,#f7cc78,#f08fa1);border:0;color:#211521;font-weight:850}
.creator-messages {max-height:32dvh;overflow:auto;margin:14px 0 20px;padding:2px 6px 2px 2px;overscroll-behavior:contain}
.creator-message {background:#ffffff08;border:1px solid #ffffff10;border-radius:16px;padding:13px 16px;margin:9px 0 9px 30px}
.creator-message--admin {margin:9px 30px 9px 0;border-color:#e3b96e44;background:linear-gradient(120deg,#dfae5217,#be80db12)}
.creator-message header {display:flex;gap:8px;justify-content:space-between;flex-wrap:wrap;font-size:10px;color:#bdb3c9;letter-spacing:.02em}
.creator-message--admin header b {color:#f3ca7e}
.creator-message p {white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0 0;font-size:14px}
.creator-thread-head {display:flex;gap:12px;align-items:center;justify-content:space-between}
.creator-thread-head h3 {font-size:17px;margin:8px 0;overflow-wrap:anywhere}
.creator-system {text-align:center;font-size:11px;color:#b6a7c7}
.creator-status-control,.creator-pages {display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:12px}

@media(max-width:560px){.creator-heading{padding:20px 18px 16px}.creator-inbox{padding:14px 18px 20px}.creator-thread{gap:8px;padding:12px!important}.creator-thread strong{font-size:13px}.creator-toolbar button{font-size:11px;padding:9px}.creator-message{margin-left:12px}.creator-message--admin{margin-left:0;margin-right:12px}.creator-thread-head{align-items:flex-start}}

.creator-entry {display:block;margin:0 auto 12px;min-height:44px;padding:10px 20px;border:1px solid #cfad6c55;border-radius:999px;background:#19141ed9;color:#f4d49a;font:750 12px/1.3 system-ui;cursor:pointer}.creator-entry:focus-visible{outline:2px solid #d1b6ff;outline-offset:3px}

/* Quiet, persistent updates: no interruption during a fight or training. */
.creator-status-explanation{margin:12px 0;padding:13px 15px;border:1px solid #c4a5ee33;border-radius:14px;background:#c4a5ee0c;font-size:13px}
.creator-status-explanation strong{color:#e5d4fa}.creator-status-explanation p{margin:5px 0 0;color:#c0b7ca}
.creator-entry-unread{display:inline-block;margin-left:8px;padding:4px 8px;border-radius:999px;background:#f59fc324;color:#ffc0da;font:750 10px/1.3 system-ui;white-space:nowrap}
.creator-entry-unread[hidden]{display:none}.creator-entry.has-unread{border-color:#f59fc3;box-shadow:0 0 16px #f59fc31a}
.creator-dialog [data-inbox-refresh].has-unread{border-color:#f59fc3;color:#ffc0da}
@media(max-width:560px){.creator-entry.has-unread{max-width:calc(100% - 20px)}.creator-entry-unread{font-size:10px}}
