.feedback-launcher {
    position: fixed;
    right: max(24px, env(safe-area-inset-right));
    bottom: max(24px, env(safe-area-inset-bottom));
    z-index: 20;
    display: grid;
    place-items: center;
    width: 56px;
    height: 56px;
    padding: 0;
    border: 1px solid rgba(23,32,43,.1);
    border-radius: 20px;
    background: rgba(255,255,255,.92);
    color: var(--blue);
    box-shadow: 0 6px 24px rgba(25,40,58,.13);
    backdrop-filter: blur(16px);
    cursor: pointer;
}
.feedback-launcher:hover { background: #fff; color: var(--blue-dark); }
.feedback-launcher:focus-visible { outline: 3px solid var(--blue); outline-offset: 4px; }
body:has(.feedback-launcher) footer { padding-bottom: 100px; }
@media (max-width: 600px) {
    .feedback-launcher { right: max(16px, env(safe-area-inset-right)); bottom: max(16px, env(safe-area-inset-bottom)); width: 52px; height: 52px; border-radius: 18px; }
}
#home-feedback { width: min(480px, calc(100vw - 24px)); max-height: calc(100vh - 32px); padding: 28px; border: 1px solid rgba(255,255,255,.9); border-radius: 26px; background: rgba(255,255,255,.97); box-shadow: 0 30px 80px rgba(25,40,58,.2); color: var(--ink); font: inherit; }
#home-feedback::backdrop { background: rgba(18,31,45,.48); backdrop-filter: blur(5px); }
#home-feedback form { display: grid; gap: 16px; }
#home-feedback h2 { font-size: 1.45rem; letter-spacing: -.03em; }
#home-feedback p { margin: 0; color: var(--muted); font-size: .85rem; }
#home-feedback fieldset { display: flex; flex-wrap: wrap; gap: 9px 14px; margin: 0; padding: 0; border: 0; }
#home-feedback legend { margin-bottom: 10px; font-weight: 650; }
#home-feedback small { color: var(--muted); font-weight: 400; }
#home-feedback label { font-size: .86rem; }
#home-feedback input[type="checkbox"], #home-feedback input[type="radio"] { accent-color: var(--blue); }
#home-feedback .feedback-field { display: grid; gap: 7px; }
#home-feedback textarea, #home-feedback .feedback-field input { width: 100%; padding: 11px; border: 1px solid var(--line); border-radius: 12px; background: #fff; font: inherit; }
#home-feedback .feedback-close { justify-self: end; border: 0; background: none; color: var(--muted); font-size: 1.4rem; cursor: pointer; }
#home-feedback .feedback-actions { display: flex; justify-content: end; gap: 10px; }
#home-feedback .feedback-actions button, #home-feedback [data-done] { padding: 10px 18px; border: 0; border-radius: 12px; background: var(--soft); cursor: pointer; }
#home-feedback .feedback-actions [type="submit"], #home-feedback [data-done] { background: var(--blue); color: white; }
#home-feedback .feedback-error { color: #c6232d; }
#home-feedback [hidden] { display: none; }
