/* Shared footer widget; uses DESIGN_GUIDELINES.md typography tokens. */
.site-feedback{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:calc(112px + env(safe-area-inset-bottom) + var(--pv-bottom-clearance,0px));pointer-events:none;width:288px;max-width:calc(100vw - 24px);z-index:80;font-family:var(--font-ui);color:var(--text-ink)}
.site-feedback *{box-sizing:border-box}
.site-feedback details{border:1px solid #dce3ee;border-radius:16px;background:#fafbfd;box-shadow:0 8px 28px #20344f12;max-height:calc(100dvh - 136px - env(safe-area-inset-bottom) - var(--pv-bottom-clearance,0px));overflow:auto;pointer-events:auto}
.site-feedback summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 20px;min-height:48px;cursor:pointer;list-style:none;font-size:var(--text-label);font-weight:600;line-height:var(--leading-ui);color:#354766}
.site-feedback summary::-webkit-details-marker{display:none}
.site-feedback summary>span:first-child{display:flex;align-items:center;gap:8px}
.site-feedback-dot{width:6px;height:6px;background:#748bb7;border-radius:50%;flex-shrink:0}
.site-feedback-toggle:after{content:'+'}.site-feedback details[open] .site-feedback-toggle:after{content:'−'}
.site-feedback form{padding:0 20px 20px}
.site-feedback-intro{font-size:var(--text-helper);line-height:var(--leading-ui);color:var(--text-muted);margin:0 0 20px}
.site-feedback label{display:block;font-size:var(--text-label);line-height:var(--leading-ui);font-weight:500;margin:20px 0 8px}
.site-feedback input,.site-feedback textarea{display:block;width:100%;min-height:var(--control-height);padding:12px 14px;border:1px solid #d5ddea;border-radius:10px;background:#fff;color:var(--text-ink);font-family:var(--font-ui);font-size:var(--text-input);line-height:var(--leading-ui)}
.site-feedback textarea{min-height:8rem;resize:vertical;max-height:40vh}
.site-feedback input::placeholder,.site-feedback textarea::placeholder{color:#66748a;opacity:1}
.site-feedback :is(input,textarea,button,summary):focus-visible{outline:2px solid #2456df;outline-offset:3px}
.site-feedback-meta{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin:8px 0;color:var(--text-subtle);font-size:var(--text-caption);line-height:var(--leading-ui)}
.site-feedback-status,.site-feedback-member,.site-feedback noscript{font-size:var(--text-helper);line-height:var(--leading-ui);color:var(--text-muted);overflow-wrap:anywhere;margin:12px 0}
.site-feedback-status:empty{display:none}.site-feedback-status[data-error="true"]{color:#a52c38}
.site-feedback button{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:var(--control-height);margin-top:16px;padding:12px 16px;border:1px solid #d6dfef;border-radius:10px;background:#edf2fc;color:#294c91;font-family:var(--font-ui);font-size:var(--text-action);font-weight:600;line-height:var(--leading-ui);cursor:pointer}
.site-feedback button:hover{background:#e2eafa}.site-feedback button:disabled{opacity:.65;cursor:wait}
.site-feedback details:not([open]){width:max-content;margin-left:auto}
@media(max-width:47.999rem){
  .site-feedback{right:max(16px,env(safe-area-inset-right));bottom:calc(96px + env(safe-area-inset-bottom) + var(--pv-bottom-clearance,0px));width:calc(100% - 32px);max-width:24rem}
  .site-feedback details{max-height:calc(100dvh - 120px - env(safe-area-inset-bottom) - var(--pv-bottom-clearance,0px))}
  .site-feedback:has(details[open]){bottom:calc(16px + env(safe-area-inset-bottom) + var(--pv-bottom-clearance,0px))}
  .site-feedback:has(details[open]) ~ .pv-scroll-top{visibility:hidden}
  .site-feedback details[open]{max-height:calc(100dvh - 32px - env(safe-area-inset-bottom) - var(--pv-bottom-clearance,0px));border-radius:20px 20px 12px 12px;animation:feedback-rise .18s ease-out}
}
@keyframes feedback-rise{from{opacity:0;translate:0 16px}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:reduce){.site-feedback details[open]{animation:none}}
