/* Loftfile feedback card (Quinn's spec). Site is dark-only, so dark tokens are the default;
   the spec's light values are kept as tokens for a future light theme (.theme-light). */
.fb{--fb-surface:var(--panel);--fb-hair:var(--line);--fb-ink:var(--ink);--fb-mute:var(--mute);--fb-accent:#7A5C12;--fb-ring:var(--gold);--fb-shadow:0 4px 16px rgba(0,0,0,.35)}
.theme-light .fb{--fb-surface:#fff;--fb-hair:rgba(31,27,22,.12);--fb-ink:#1F1B16;--fb-mute:#6b645a;--fb-ring:#7A5C12;--fb-shadow:0 4px 16px rgba(31,27,22,.06)}
.fb{box-sizing:border-box;max-width:440px;width:100%;margin:16px 0 0;background:var(--fb-surface);border:1px solid var(--fb-hair);border-radius:16px;padding:20px;box-shadow:var(--fb-shadow);color:var(--fb-ink);position:relative;opacity:0;transform:translateY(8px);transition:opacity 220ms ease-out,transform 220ms ease-out}
.fb.in{opacity:1;transform:none}
.fb-h{font:600 17px/1.3 Inter,system-ui,sans-serif;color:var(--fb-ink);margin:0 48px 14px 0}
.fb-x{position:absolute;top:6px;right:6px;width:44px;height:44px;border:0;background:none;color:var(--fb-mute);font-size:22px;line-height:1;border-radius:12px;cursor:pointer}
.fb-x:hover{color:var(--fb-ink)}
.fb-rates{display:flex;gap:8px}
.fb-r{width:44px;height:44px;border-radius:50%;border:1px solid #6b6b73;background:transparent;color:var(--fb-ink);font:600 15px Inter,system-ui,sans-serif;cursor:pointer;transition:background-color .15s,color .15s,box-shadow .15s}
.fb-r:hover,.fb-r:focus-visible{outline:none;box-shadow:0 0 0 2px var(--fb-ring)}
.fb-r[aria-checked=true]{background:#c9a96e;border-color:#c9a96e;color:#141417}
.fb-caps{display:flex;justify-content:space-between;width:252px;max-width:100%;font-size:12px;color:var(--fb-mute);margin-top:6px}
.fb-more{display:grid;grid-template-rows:0fr;transition:grid-template-rows 180ms ease-out}
.fb-more.open{grid-template-rows:1fr}
.fb-more>div{overflow:hidden;min-height:0}
.fb-more label{display:block;font-size:14px;margin:16px 0 6px}
.fb-more textarea{box-sizing:border-box;width:100%;resize:vertical;background:transparent;color:var(--fb-ink);border:1px solid var(--fb-hair);border-radius:12px;padding:10px 12px;font:14px/1.5 Inter,system-ui,sans-serif}
.fb-count{font-size:12px;color:var(--fb-mute);text-align:right;margin-top:4px}
.fb-note{font-size:12px;color:var(--fb-mute);margin:6px 0 14px}
.fb-note a{color:inherit}
.fb-acts{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.fb-send{min-height:44px;padding:0 20px;border-radius:12px;border:0;background:#7A5C12;color:#fff;font:600 14px Inter,system-ui,sans-serif;cursor:pointer}
.fb-send[aria-disabled=true]{opacity:.6;cursor:default}
.fb-no{min-height:44px;background:none;border:0;color:var(--fb-mute);font:500 14px Inter,system-ui,sans-serif;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.fb-err{font-size:13px;color:#e8a08a;margin:10px 0 0}
.fb-ok{margin:0;font-size:15px}
.fb-dlg{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(0,0,0,.55)}
.fb-dlg .fb{margin:0}
.rating-line{font-size:12px;color:var(--mute);margin:8px 0 0}
@media (prefers-reduced-motion:reduce){.fb{transform:none!important;transition:opacity 220ms ease-out!important}.fb-more{transition:none!important}}
/* Report a bug (Quinn's spec): same card as feedback, 440px, 16px radius, 24px padding; bottom sheet under 480px. */
.bug-open{white-space:nowrap}
.bug-open svg{vertical-align:-2px;margin-right:4px}
.bug-dlg{opacity:0;transition:opacity 200ms ease-out}
.bug-dlg.in{opacity:1}
.fb.bug{padding:24px;max-height:calc(100vh - 32px);overflow:auto}
.bug .fb-h{margin-bottom:6px}
.fb-count.over{color:#e8a08a}
body.dlg-open .consent{visibility:hidden}
.bug-sub{font-size:14px;color:#6b6b73;margin:0 0 4px}
.bug-form label{display:block;font-size:14px;margin:16px 0 6px}
.bug-in{box-sizing:border-box;width:100%;background:transparent;color:var(--fb-ink);border:1px solid var(--fb-hair);border-radius:12px;padding:10px 12px;font:14px/1.5 Inter,system-ui,sans-serif;transition:box-shadow .15s,border-color .15s}
select.bug-in{min-height:44px;appearance:none;-webkit-appearance:none;padding-right:36px;background-image:linear-gradient(45deg,transparent 50%,#6b6b73 50%),linear-gradient(135deg,#6b6b73 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat}
select.bug-in option{background:var(--panel,#1c1c20);color:var(--ink,#eee)}
input.bug-in{min-height:44px}
textarea.bug-in{resize:vertical}
.bug-in:focus-visible,.bug-send:focus-visible,.bug-ghost:focus-visible,.fb-x:focus-visible{outline:none;box-shadow:0 0 0 2px #c9a96e;border-color:#c9a96e}
.bug-in[aria-invalid=true]{border-color:#e8a08a}
.bug-info{font-size:12px;color:#6b6b73;margin:14px 0 0}
.bug-err:empty{display:none}
.bug-acts{display:flex;gap:12px;justify-content:flex-end;align-items:center;margin-top:18px}
.bug-send{min-height:44px;padding:0 20px;border-radius:12px;border:0;background:#c9a96e;color:#141417;font:600 14px Inter,system-ui,sans-serif;cursor:pointer;transition:filter .15s}
.bug-send:hover{filter:brightness(1.06)}
.bug-send[aria-disabled=true]{opacity:.6;cursor:default}
.bug-ghost{min-height:44px;padding:0 16px;border-radius:12px;border:1px solid var(--fb-hair);background:transparent;color:var(--fb-ink);font:500 14px Inter,system-ui,sans-serif;cursor:pointer}
.bug-ghost:hover{border-color:#6b6b73}
.bug-ok{outline:none}
@media (max-width:479.98px){
  .bug-dlg{align-items:flex-end;padding:0}
  .bug-dlg .fb.bug{max-width:none;border-radius:16px 16px 0 0;padding-bottom:calc(24px + env(safe-area-inset-bottom));max-height:92vh;transform:translateY(100%);transition:transform 260ms cubic-bezier(.2,.8,.2,1)}
  .bug-dlg.in .fb.bug{transform:none}
  .bug-acts{flex-direction:column-reverse;align-items:stretch}
}
@media (prefers-reduced-motion:reduce){.bug-dlg,.bug-dlg .fb.bug{transition:none!important;transform:none!important}}
