/* Reader-facing feedback. Delivery decisions remain server-owned. */
html.pt-feedback-open {
    overflow: hidden;
}
.pt-feedback {
    width: min(390px, calc(100vw - 32px));
    max-height: calc(100dvh - 32px);
    overflow: auto;
    margin: auto;
    padding: 36px 28px 28px;
    border: 1px solid var(--pt-line);
    border-radius: 20px;
    color: var(--pt-ink);
    background: var(--pt-paper);
    box-shadow: var(--pt-shadow);
    text-align: center;
    overflow-wrap: anywhere;
}
.pt-feedback::backdrop {
    background: rgba(6, 28, 58, .65);
}
.pt-feedback h2 {
    margin: 0 0 12px;
    color: var(--pt-navy);
    font-size: 30px;
    line-height: 1.2;
}
.pt-feedback h2:focus {
    outline: none;
}
.pt-feedback p {
    margin: 0 auto 22px;
    max-width: 29ch;
    color: var(--pt-muted);
    font-size: 16px;
    line-height: 1.6;
}
.pt-feedback .pt-button {
    min-height: 44px;
    min-width: 110px;
}
.pt-feedback-icon {
    width: 68px;
    height: 68px;
    margin: 0 auto 22px;
}
.pt-feedback-icon[hidden] {
    display: none;
}
.pt-feedback-icon svg {
    width: 100%;
    height: 100%;
}
.pt-feedback-icon circle {
    fill: #edf6ff;
    stroke: #d2e6ff;
    stroke-width: 2;
}
.pt-feedback-icon path {
    stroke: var(--pt-blue);
    stroke-width: 4;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-dasharray: 1;
    stroke-dashoffset: 0;
}
.pt-feedback[open][data-state="accepted"] .pt-feedback-icon {
    animation: pt-feedback-pop 420ms ease-out both;
}
.pt-feedback[open][data-state="accepted"] path {
    animation: pt-feedback-check 500ms 100ms ease-out both;
}
@keyframes pt-feedback-pop {
    from { transform: scale(.88); opacity: .3; }
    to { transform: scale(1); opacity: 1; }
}
@keyframes pt-feedback-check {
    from { stroke-dashoffset: 1; }
    to { stroke-dashoffset: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .pt-feedback[open] .pt-feedback-icon,
    .pt-feedback[open] path {
        animation: none !important;
    }
}
@media print {
    .pt-feedback { display: none !important; }
}
