#frado { --frado-blue:#194c85; position:fixed; right:16px; bottom:calc(18px + env(safe-area-inset-bottom,0px)); z-index:900; color:#223044; font:15px/1.5 system-ui,sans-serif; }
#frado [hidden],#frado[hidden] {display:none!important}
#frado * {box-sizing:border-box}
#frado button {font:inherit;cursor:pointer;letter-spacing:normal;text-transform:none;line-height:1.3}
#frado button:focus-visible,#frado input:focus-visible {outline:3px solid #194c85;outline-offset:3px}
#frado-launch {width:52px;height:52px;padding:0;background:#fff;border:1px solid #d9e2eb;border-radius:50%;box-shadow:0 2px 8px #152e4520;overflow:hidden;display:block;margin-left:auto}
#frado .frado-art {display:block;width:110px;height:138px;background-image:url('frado.png');background-repeat:no-repeat;background-size:300% 100%;background-position:left center;margin:6px auto}
#frado .frado-mini {width:46px;height:58px;margin:0 auto;background-position:right center}
#frado-panel {width:300px;max-width:calc(100vw - 32px);max-height:calc(100vh - 135px);max-height:calc(100dvh - 135px);overflow:hidden;display:flex;flex-direction:column;margin-bottom:10px;padding:12px;background:#fff;border:1px solid #d9e2eb;border-radius:14px;box-shadow:0 5px 24px #152e4520}
#frado-panel header {display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--frado-blue)}
#frado-close {background:none;border:0;color:var(--frado-blue);min-width:44px;min-height:44px;padding:4px;font-size:25px}
#frado p {margin:8px 0 14px}
#frado label {display:block;margin-bottom:6px}
#frado input[type=search] {width:100%;background:#fff;color:#223044;border:1px solid #9daebf;border-radius:6px;padding:10px;font-size:16px;height:auto}
#frado button[type=submit] {width:100%;background:var(--frado-blue);color:#fff;border:0;border-radius:6px;padding:12px;margin-top:10px}
#frado-done,#frado-hide {display:block;background:none;border:0;color:var(--frado-blue);padding:10px 0;margin:4px 0 0;min-height:44px;text-align:left}
#frado-hide {font-size:12px;color:#526477}
#frado[data-open="1"] {display:flex;flex-direction:column-reverse;align-items:flex-end}
@media(max-width:600px){#frado-launch{width:48px;height:48px}#frado{right:12px;bottom:calc(14px + env(safe-area-inset-bottom,0px))}}
@media print {#frado{display:none!important}}

/* Compact panel: only the middle scrolls; closing and hiding remain accessible. */
#frado-panel header,#frado-panel footer {flex:0 0 auto;position:static;margin:0;padding:0;background:#fff;border:0}
#frado-panel .frado-body {min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 3px}
#frado-panel .frado-intro {display:flex;align-items:center;gap:10px;margin:2px 0 10px}
#frado-panel #frado-pose {width:64px;height:80px;flex:0 0 64px;margin:0}
#frado-panel #frado-message {margin:0;font-size:14px;line-height:1.4}
#frado-panel form {margin:0;padding:0}
#frado-panel label {font-size:14px;margin-bottom:4px}
#frado-panel input[type=search] {padding:8px;min-height:44px;margin:0}
#frado-panel button[type=submit] {margin-top:8px;padding:10px;min-height:44px}
#frado-panel #frado-done {padding:8px 0;margin:0;font-size:13px}
#frado-panel footer {border-top:1px solid #edf0f4}
#frado-panel #frado-hide {width:100%;padding:8px 0;margin:0;min-height:44px;font-size:12px;line-height:1.4;color:#526477}
#frado-panel #frado-close {padding:4px;min-width:44px;min-height:44px;font-size:25px}
#frado-launch {flex:0 0 auto}

/* One accessible control: mascot and descriptive caption. */
#frado #frado-launch {width:auto;height:auto;min-width:76px;min-height:52px;padding:0;border:0;border-radius:8px;background:transparent;box-shadow:none;overflow:visible;color:var(--frado-blue);display:flex;flex-direction:column;align-items:center;gap:3px}
#frado .frado-launch-icon {display:block;width:52px;height:52px;border:1px solid #d9e2eb;border-radius:50%;background:#fff;box-shadow:0 2px 8px #152e4520;overflow:hidden}
#frado .frado-launch-label {font:600 12px/18px system-ui,sans-serif;color:var(--frado-blue);white-space:nowrap;text-shadow:0 1px 2px #fff,0 -1px 2px #fff}
#frado[data-open="1"] .frado-launch-label {display:none}
#frado[data-open="1"] #frado-launch {min-width:52px}
@media(max-width:600px){#frado .frado-launch-icon{width:48px;height:48px}#frado #frado-launch{min-height:48px}#frado[data-open="1"] #frado-launch{min-width:48px}}
