.feedback-tab { position: fixed; right: 0; top: 45%; z-index: 150; writing-mode: vertical-rl; padding: .9rem .55rem; border: 0; border-radius: .5rem 0 0 .5rem; background: #0176d3; color: white; font: inherit; cursor: pointer; box-shadow: 0 2px 8px #0003; }
.feedback-dialog { width: min(90vw, 480px); max-height: 85vh; overflow: auto; margin: auto; padding: 1.5rem; border: 1px solid #c9c9c9; border-radius: .75rem; color: hsl(var(--foreground)); background: hsl(var(--card)); }
.feedback-dialog::backdrop { background: #0007; }
.feedback-dialog h2 { margin: 0 0 .75rem; }
.feedback-dialog p { margin-bottom: 1rem; }
.feedback-dialog label { display: block; margin: 1rem 0 .35rem; font-weight: 600; }
.feedback-dialog select, .feedback-dialog textarea { width: 100%; box-sizing: border-box; padding: .6rem; border: 1px solid #888; border-radius: .35rem; font: inherit; color: inherit; background: hsl(var(--background)); }
.feedback-dialog textarea { resize: vertical; min-height: 8rem; }
.feedback-actions { display: flex; justify-content: flex-end; gap: .75rem; margin-top: 1rem; }
.feedback-tab:focus-visible, .feedback-dialog :focus-visible { outline: 3px solid #0176d3; outline-offset: 3px; }
@media (max-width: 600px) { .feedback-tab { top: auto; bottom: .75rem; right: .75rem; writing-mode: horizontal-tb; border-radius: .5rem; padding: .65rem 1rem; } }
