/* 2.9.9 slide-out Feedback panel (CHECKLIST_PREVIEW=1): from the right on desktop (~400px), a bottom sheet on phones. */
.fbp[hidden]{display:none}
.fbp{position:fixed;inset:0;z-index:1500}
.fbp-backdrop{position:absolute;inset:0;background:rgba(6,24,34,.28);opacity:0;transition:opacity .25s ease}
.fbp.open .fbp-backdrop{opacity:1}
.fbp-sheet{position:absolute;top:0;right:0;bottom:0;width:min(400px,100vw);box-sizing:border-box;display:flex;flex-direction:column;
 background:#fff;color:#1d2730;border-left:5px solid #5993C5;box-shadow:-14px 0 40px rgba(6,24,34,.28);outline:none;
 transform:translateX(104%);transition:transform .34s cubic-bezier(.22,1.28,.42,1)}
.fbp.open .fbp-sheet{transform:none}
.fbp-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px 10px 20px;border-bottom:1px solid #e3e9ee}
.fbp-head h2{margin:0;padding:0;border:0;font-size:20px;color:#0a3d52}
.fbp-x{width:40px;height:40px;flex:0 0 40px;display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;color:#0a3d52;
 border:1px solid #b8c5d0;background:linear-gradient(180deg,#fff 0%,#e9eff4 100%);box-shadow:0 2px 0 #9aabbb,0 3px 6px rgba(8,51,70,.15)}
.fbp-x:hover{background:linear-gradient(180deg,#f7fafc 0%,#dfe7ee 100%)}
.fbp-x:active{transform:translateY(2px);box-shadow:0 0 0 #9aabbb,inset 0 2px 4px rgba(0,0,0,.18)}
.fbp-x:focus-visible{outline:3px solid #5993C5;outline-offset:2px}
.fbp-body{flex:1 1 auto;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:12px 20px 22px}
.fbp-body .lede{margin:0 0 12px;font-size:15px}
.fbp-form{margin:0}
.fbp-form textarea{min-height:110px}
.fbp-form label .lede{text-transform:none;letter-spacing:0;font-size:13px}
.fbp-form .fbmeta code{word-break:break-all}
.fbp-form .fbacts{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.fbp-form .fbacts .btn{min-height:46px}
.fbp-send{flex:1 1 auto}
.fbp-err{margin:0 0 12px}
.fbp-grab{display:none}
html.fbp-lock,html.fbp-lock body{overflow:hidden}
/* thank-you */
.fbp-done{text-align:center;padding:26px 6px 10px}
.fbp-done h2{margin:6px 0 8px;padding:0;border:0;font-size:24px;color:#0a3d52;outline:none}
.fbp-done .fbp-msg{margin:0 auto 18px;max-width:30ch;font-size:16px}
.fbp-done .fbacts{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.fbp-burst{width:84px;height:84px;margin:0 auto;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:42px;
 background:radial-gradient(circle at 35% 30%,#fff 0%,#e6f0f8 60%,#cfe0ee 100%);box-shadow:0 3px 0 #9fb7cb,0 6px 16px rgba(8,51,70,.18)}
.fbp.thanks .fbp-burst{animation:fbpPop .6s cubic-bezier(.2,1.6,.4,1) both}
.fbp.thanks .fbp-emoji{display:inline-block;animation:fbpWiggle .9s ease .35s both}
.fbp-timer{height:4px;margin:22px auto 0;width:60%;border-radius:4px;background:#e3e9ee;overflow:hidden}
.fbp-timer span{display:block;height:100%;background:#5993C5;transform-origin:left;animation:fbpTimer 3.6s linear both}
.fbp.held .fbp-timer{visibility:hidden}
@keyframes fbpPop{0%{transform:scale(.3);opacity:0}100%{transform:scale(1);opacity:1}}
@keyframes fbpWiggle{0%,100%{transform:rotate(0)}25%{transform:rotate(-14deg)}50%{transform:rotate(10deg)}75%{transform:rotate(-5deg)}}
@keyframes fbpTimer{from{transform:scaleX(1)}to{transform:scaleX(0)}}
/* phones: a bottom sheet with a grab handle */
@media (max-width:640px){
 .fbp-sheet{top:auto;left:0;right:0;width:auto;max-height:85vh;max-height:85dvh;border-left:0;border-top:5px solid #5993C5;border-radius:16px 16px 0 0;
  box-shadow:0 -12px 36px rgba(6,24,34,.3);transform:translateY(104%);padding-bottom:env(safe-area-inset-bottom)}
 .fbp-sheet.drag{transition:none}
 .fbp-grab{display:flex;justify-content:center;padding:8px 0 0;touch-action:none;cursor:grab}
 .fbp-grab span{width:44px;height:5px;border-radius:3px;background:#b8c5d0}
 .fbp-head{padding-top:4px;touch-action:none}
 .fbp-body{padding:10px 16px 18px}
}
@media (prefers-reduced-motion:reduce){
 .fbp-sheet,.fbp-backdrop{transition:none}
 .fbp.thanks .fbp-burst,.fbp.thanks .fbp-emoji{animation:none}
 .fbp-timer{display:none}
}
@media print{.fbp{display:none!important}}
