/* Shared across the adventure and Sprint. Keep the feedback control out of play. */
body { padding-bottom: 72px; }
.feedback-open { position: fixed; z-index: 18; right: max(16px, env(safe-area-inset-right)); bottom: max(14px, env(safe-area-inset-bottom)); min-height: 44px; padding: 10px 19px; border: 2px solid #382b45; border-radius: 8px; background: #f8efdd; color: #382b45; box-shadow: 0 3px 0 #382b4530; font: 700 14px "DM Sans", sans-serif; cursor: pointer; }
#feedback-dialog { margin: auto; width: min(480px, calc(100vw - 28px)); max-height: calc(100dvh - 32px); overflow-y: auto; box-sizing: border-box; padding: 24px; border: 2px solid #382b45; border-radius: 8px; color: #382b45; background: #f8efdd; box-shadow: 0 12px 55px #382b4535; font: 15px/1.45 "DM Sans", sans-serif; }
#feedback-dialog::backdrop { background: #382b4573; }
#feedback-dialog h2 { margin: 10px 0 5px; font: 750 29px/1.15 Bitter, Georgia, serif; letter-spacing: -.7px; }
#feedback-dialog p { margin: 8px 0 14px; color: #6d625f; }
#feedback-dialog button { font: 650 14px "DM Sans", sans-serif; min-height: 44px; color: #382b45; background: #f1e5cf; border: 1px solid #ae9876; border-radius: 5px; padding: 9px 10px; cursor: pointer; }
#feedback-dialog button:disabled { opacity: .45; cursor: default; }
#feedback-dialog button[aria-pressed="true"] { background: #dce2c4; border: 2px solid #63714b; }
#feedback-dialog button:focus-visible, #feedback-dialog textarea:focus-visible, .feedback-open:focus-visible { outline: 3px solid #9c542e; outline-offset: 3px; }
.feedback-top, .feedback-player { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.feedback-top > span { font-size: 10px; font-weight: 700; letter-spacing: 1.5px; }
#feedback-dialog #feedback-close { background: transparent; border: 0; font-size: 26px; width: 44px; }
.feedback-player { justify-content: flex-start; margin: 12px 0; }
.feedback-player button { min-width: 85px; }
.feedback-reactions { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 8px; }
#feedback-dialog .feedback-reactions button { display: flex; flex-direction: column; align-items: center; gap: 8px; min-height: 98px; padding: 12px 6px; }
.feedback-reactions svg { width: 34px; height: 34px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; }
#feedback-dialog #feedback-status { font-size: 13px; margin: 13px 0; }
#feedback-status[data-error="true"] { color: #963e24 !important; }
.feedback-reasons { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 16px; }
#feedback-dialog label { display: block; font-weight: 650; }
#feedback-dialog label span, #feedback-more strong span { font-weight: 400; }
#feedback-dialog textarea { box-sizing: border-box; width: 100%; max-width: 100%; min-height: 70px; margin: 7px 0 14px; padding: 10px; border: 1px solid #ae9876; border-radius: 5px; color: #382b45; background: #fff9ec; font: 16px "DM Sans", sans-serif; resize: vertical; }
#feedback-dialog #feedback-done { width: 100%; background: #edb548; border: 2px solid #382b45; }
#feedback-dialog .feedback-private { font-size: 11px; margin: 12px 0 0; }
.feedback-journal { margin: 24px 0; }
.feedback-journal-heading { display: flex; flex-wrap: wrap; gap: 14px; justify-content: space-between; align-items: center; }
.feedback-journal-heading p { font-size: 13px; color: #6d625f; margin-top: 8px; }
.feedback-totals { display: flex; flex-wrap: wrap; gap: 16px; margin: 16px 0; font-size: 13px; }
.feedback-record { padding: 16px 0; border-top: 1px solid #c7b595; overflow-wrap: anywhere; }
.feedback-record small { display: block; margin: 5px 0; color: #6d625f; }
.feedback-record p, .feedback-record blockquote { font-size: 14px; margin: 8px 0; }
.feedback-record blockquote { border-left: 3px solid #c7b595; padding-left: 12px; white-space: pre-wrap; }
.feedback-record summary { font-size: 12px; }
@media(max-width:380px) { #feedback-dialog { padding: 16px; } #feedback-dialog h2 { font-size: 25px; } #feedback-dialog .feedback-reactions button { font-size: 12px; } }
