/* Penny, the protection assistant (feos:penny-ui; docs/modules/provider-library.md) */
.feos-penny-btn { position: fixed; right: 18px; bottom: 74px; z-index: 1061; width: 48px; height: 48px; border-radius: 50%;
  border: 2px solid #fff; padding: 0; background: #B5D4F4; box-shadow: 0 2px 8px rgba(15,30,51,.25); cursor: pointer; }
.feos-penny-btn img { width: 100%; height: 100%; border-radius: 50%; display: block; }
.feos-penny-btn:hover { transform: scale(1.05); }
.feos-penny { position: fixed; top: 0; right: 0; bottom: 0; width: min(430px, 100vw); z-index: 1060; background: #f7f9fb;
  border-left: 1px solid #d8dee6; display: flex; flex-direction: column; box-shadow: -4px 0 16px rgba(15,30,51,.12); font-size: 14px; }
.feos-penny-head { display: flex; align-items: center; gap: 10px; padding: 12px 14px; background: #fff; border-bottom: 1px solid #e3e8ee; }
.feos-penny-head img { width: 34px; height: 34px; border-radius: 50%; }
.feos-penny-head b { font-size: 15px; }
.feos-penny-beta { font-size: 11px; padding: 1px 7px; border-radius: 6px; background: #FAEEDA; color: #854F0B; }
.feos-penny-close { margin-left: auto; border: 0; background: none; font-size: 20px; color: #5F5E5A; cursor: pointer; }
.feos-penny-list { flex: 1; overflow-y: auto; padding: 14px; display: flex; flex-direction: column; gap: 10px; }
.feos-penny-msg { max-width: 92%; padding: 9px 11px; border-radius: 10px; line-height: 1.5; white-space: normal; word-wrap: break-word; }
.feos-penny-msg.me { align-self: flex-end; background: #185FA5; color: #fff; }
.feos-penny-msg.her { align-self: flex-start; background: #fff; border: 1px solid #e3e8ee; color: #1f2933; }
.feos-penny-msg.wait { color: #5F5E5A; font-style: italic; }
.feos-penny-ref { display: inline-block; font-size: 11px; padding: 0 5px; margin: 0 1px; border-radius: 4px; background: #E6F1FB;
  color: #0C447C; cursor: pointer; border: 0; }
.feos-penny-src { margin-top: 8px; border-top: 1px solid #eef1f4; padding-top: 6px; font-size: 12px; }
.feos-penny-src button { display: block; width: 100%; text-align: left; border: 0; background: none; color: #185FA5; padding: 2px 0; cursor: pointer; }
.feos-penny-note { font-size: 11px; color: #888780; margin-top: 6px; }
.feos-penny-fb { margin-top: 6px; display: flex; gap: 6px; }
.feos-penny-fb button { font-size: 12px; border: 1px solid #d8dee6; background: #fff; border-radius: 6px; padding: 2px 8px; cursor: pointer; }
.feos-penny-fb button.on { background: #EAF3DE; border-color: #97C459; }
.feos-penny-fb button.bad.on { background: #FCEBEB; border-color: #F09595; }
.feos-penny-form { padding: 10px 12px; background: #fff; border-top: 1px solid #e3e8ee; }
.feos-penny-form textarea { width: 100%; resize: none; height: 64px; border: 1px solid #d8dee6; border-radius: 8px; padding: 7px 9px; font-size: 14px; }
.feos-penny-form .row2 { display: flex; align-items: center; gap: 8px; margin-top: 6px; }
.feos-penny-form .hint { font-size: 11px; color: #888780; flex: 1; }
.feos-penny-form button { border: 0; background: #185FA5; color: #fff; border-radius: 8px; padding: 6px 14px; cursor: pointer; }
.feos-penny-form button:disabled { opacity: .5; cursor: default; }
.feos-penny-view { position: fixed; inset: 0; z-index: 1070; background: rgba(15,30,51,.45); display: flex; align-items: center; justify-content: center; }
.feos-penny-view .box { width: min(900px, 96vw); height: min(88vh, 1100px); background: #fff; border-radius: 10px; display: flex; flex-direction: column; overflow: hidden; }
.feos-penny-view .top { display: flex; align-items: center; gap: 8px; padding: 8px 12px; border-bottom: 1px solid #e3e8ee; font-size: 13px; }
.feos-penny-view .top a { margin-left: auto; font-size: 12px; }
.feos-penny-view .top a + a { margin-left: 10px; }
.feos-penny-view .top button { border: 0; background: none; font-size: 20px; cursor: pointer; }
.feos-penny-view iframe { flex: 1; border: 0; width: 100%; }
/* a part of a FEOS guide or policy (Peter, 26 Oct 2026) and the Ask for help hand-off */
.feos-penny-view .box:has(.feos-penny-part) { height: auto; max-height: 80vh; width: min(720px, 96vw); }
.feos-penny-part { padding: 14px 18px; overflow-y: auto; font-size: 14px; line-height: 1.55; color: #2c3a47; white-space: normal; }
.feos-penny-help { margin-top: 10px; padding: 10px; background: #fdf0e4; border: 1px solid #f1d2b0; border-radius: 8px; }
.feos-penny-help .btn { white-space: normal; text-align: left; }
.feos-penny-help .feos-penny-note { margin-top: 6px; }
.feos-penny-src a.feos-penny-rec { display: block; padding: 2px 0; color: #185FA5; }
