.feedback-dialog{box-sizing:border-box;border:1px solid var(--color-line-strong);background:var(--color-surface);width:min(540px,100vw - 24px);max-height:90dvh;color:var(--color-heading);font:15px/1.7 var(--font-sans);border-radius:12px;margin:auto;padding:24px;overflow:auto;box-shadow:0 20px 70px #18382b33}.feedback-dialog::backdrop{background:#172b2466}.feedback-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.feedback-head h2{margin:0;font-size:22px}.feedback-close{cursor:pointer;min-width:44px;min-height:44px;color:inherit;background:0 0;border:0;font-size:26px}.feedback-dialog form{gap:16px;display:grid}.feedback-dialog label{gap:6px;display:grid}.feedback-dialog input,.feedback-dialog select,.feedback-dialog textarea{box-sizing:border-box;border:1px solid var(--color-line-strong);width:100%;max-width:100%;color:var(--color-heading);font:inherit;background:#fff;border-radius:6px;padding:10px 12px}.feedback-dialog textarea{resize:vertical;min-height:120px}.feedback-dialog .feedback-check{align-items:flex-start;gap:9px;font-size:12px;display:flex}.feedback-check input{flex-shrink:0;width:18px;margin-top:4px}.feedback-intro,.feedback-note,.feedback-status{margin:0}.feedback-note{color:var(--color-muted);font-size:12px}.feedback-status{overflow-wrap:anywhere}.feedback-status.received{background:var(--color-success-soft);color:var(--color-success);border-radius:6px;padding:10px 12px;line-height:1.6}.feedback-primary,.feedback-secondary{font:inherit;cursor:pointer;border-radius:6px;min-height:42px;padding:10px 16px}.feedback-primary{background:var(--color-accent);color:#fff;border:0}.feedback-secondary{border:1px solid var(--color-line-strong);color:var(--color-heading);background:0 0}.feedback-dialog button:disabled{opacity:.65;cursor:default}.feedback-history{border-top:1px solid var(--color-line-strong);margin-top:22px;padding-top:12px}.feedback-history:empty{display:none}.feedback-history h3{font-size:14px}.feedback-history-row{justify-content:space-between;align-items:center;gap:12px;margin-top:8px;display:flex}.failure-actions{flex-wrap:wrap;gap:14px;width:100%;display:flex}@media (max-width:600px){.feedback-dialog{padding:18px}.feedback-head h2{font-size:19px}}.feedback-fab{box-sizing:border-box;cursor:pointer;-webkit-tap-highlight-color:transparent;min-height:48px;right:max(24px, env(safe-area-inset-right));bottom:calc(24px + env(safe-area-inset-bottom));z-index:20;border:1px solid var(--color-accent);background:var(--color-accent);color:#fff;width:52px;height:52px;min-height:0;box-shadow:var(--shadow-2);transition:background-color var(--dur-1) var(--ease-out), box-shadow var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out);border-radius:50%;justify-content:center;align-items:center;gap:10px;padding:0;font:600 14px/1.5 system-ui,sans-serif;text-decoration:none;display:inline-flex;position:fixed}.feedback-fab svg{flex-shrink:0}.feedback-fab span{border-radius:var(--r-sm);background:var(--ink-900);color:#fff;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--dur-1) var(--ease-out), transform var(--dur-1) var(--ease-out);padding:6px 12px;font-size:13px;font-weight:500;position:absolute;top:50%;right:calc(100% + 12px);transform:translate(4px,-50%)}.feedback-fab:hover span,.feedback-fab:focus-visible span{opacity:1;transform:translateY(-50%)}@media (hover:none){.feedback-fab span{clip-path:inset(50%)}}.feedback-fab:hover{background:var(--color-accent-hover);box-shadow:var(--shadow-3);transform:translateY(-1px)}.feedback-fab:focus-visible{outline:3px solid var(--green-300);outline-offset:4px}body:has(.feedback-fab){padding-bottom:88px}body:has(dialog[open]) .feedback-fab{visibility:hidden;pointer-events:none}@media (max-width:600px){.feedback-fab{right:max(16px, env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));border-color:var(--color-line-strong);background:var(--color-surface);width:48px;height:48px;color:var(--color-accent)}.feedback-fab:hover{background:var(--color-raised)}body:has(.feedback-fab){padding-bottom:72px}}
