/* Widget rules stay scoped. Site-wide changes require an explicit preference. */
.fba-widget,.fba-widget *{box-sizing:border-box}
.fba-widget{position:fixed;bottom:20px;z-index:2147483001;font:16px/1.5 system-ui,-apple-system,sans-serif!important;letter-spacing:normal!important;text-align:left;color:var(--fba-ink,#000);--fba-primary:#1c1c1c;--fba-bg:#fff;--fba-on-primary:#fff;--fba-ink:#000;--fba-width:360px}
.fba-widget [hidden],.fba-widget[hidden],.fba-reading-line[data-fba-ui][hidden],.fba-reading-mask[data-fba-ui][hidden],.fba-skip-link[hidden]{display:none!important}
.fba-position-right{right:20px}.fba-position-left{left:20px}
.fba-widget button{font:inherit!important;letter-spacing:normal!important;text-transform:none!important;cursor:pointer;min-height:44px;min-width:44px;margin:0;border:1px solid currentColor;border-radius:6px;padding:10px 12px;box-shadow:none;background:var(--fba-bg);color:var(--fba-ink)}
.fba-widget button:focus-visible{outline:3px solid var(--fba-ink);outline-offset:3px}
.fba-widget .fba-opener{display:flex;gap:8px;align-items:center;background:var(--fba-primary);color:var(--fba-on-primary);box-shadow:0 3px 14px #0004;border:2px solid var(--fba-on-primary)}
.fba-widget .fba-opener:focus-visible{outline:3px solid var(--fba-primary);box-shadow:0 0 0 6px var(--fba-on-primary)}
.fba-widget svg{flex:none}.fba-shape-square .fba-opener{border-radius:0}.fba-shape-round .fba-opener{border-radius:50%;width:56px;height:56px;justify-content:center}
.fba-shape-round .fba-opener span{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.fba-panel{position:absolute;bottom:calc(100% + 12px);width:min(var(--fba-width),calc(100vw - 40px));max-height:calc(100vh - 120px);max-height:calc(100dvh - 120px);overflow:auto;background:var(--fba-bg);color:var(--fba-ink);border:2px solid var(--fba-ink);border-radius:12px;box-shadow:0 6px 32px #0005;overscroll-behavior:contain}
.fba-position-right .fba-panel{right:0}.fba-position-left .fba-panel{left:0}
.fba-panel header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;border-bottom:1px solid currentColor}
.fba-panel h2{font:700 20px/1.4 system-ui,sans-serif!important;color:inherit;margin:0;padding:0;letter-spacing:normal!important}
.fba-controls{padding:16px;display:flex;flex-direction:column;gap:10px}
.fba-controls fieldset{margin:0;padding:0;border:0;min-width:0}.fba-controls legend{font:600 16px/1.5 system-ui,sans-serif;margin-bottom:8px;padding:0;color:inherit}
.fba-font-controls{display:flex;align-items:center;justify-content:space-between;gap:8px}.fba-font-controls output{font:inherit;color:inherit}
.fba-widget button:disabled{opacity:.5;cursor:default}
.fba-toggle{display:flex;justify-content:space-between;gap:10px;align-items:center;text-align:left;width:100%}
.fba-widget .fba-toggle[aria-pressed=true]{background:var(--fba-primary);color:var(--fba-on-primary)}
.fba-state{font-size:13px;flex:none;font-weight:700}.fba-hint,.fba-status{font:13px/1.5 system-ui,sans-serif!important;letter-spacing:normal!important;color:inherit;margin:0}
.fba-status:empty{display:none}.fba-reset{width:100%;font-weight:600!important}
.fba-reading-line[data-fba-ui]{position:fixed;left:0;right:0;height:4px;transform:translateY(-50%);background:#ffdf00;border-top:1px solid #000;border-bottom:1px solid #000;pointer-events:none;z-index:2147483000}
.fba-reading-mask[data-fba-ui]{position:fixed;inset:0;pointer-events:none;z-index:2147483000;background:linear-gradient(to bottom,rgba(0,0,0,.72) 0,rgba(0,0,0,.72) calc(var(--fba-y,50vh) - 55px),transparent calc(var(--fba-y,50vh) - 55px),transparent calc(var(--fba-y,50vh) + 55px),rgba(0,0,0,.72) calc(var(--fba-y,50vh) + 55px))}
.fba-skip-link{position:fixed;left:16px;top:16px;transform:translateY(-200%);z-index:2147483002;padding:12px 18px;background:#fff;color:#000;border:3px solid #000;text-decoration:underline;font:700 16px/1.5 system-ui,sans-serif}
.fba-skip-link:focus{transform:none;outline:3px solid #ffdf00;outline-offset:2px}
html.fba-line-height :is(p,li,dt,dd,blockquote,label,input,textarea,select):not([data-fba-ui] *){line-height:1.8!important}
html.fba-letter-spacing :is(p,li,dt,dd,blockquote,h1,h2,h3,h4,h5,h6,label,input,textarea,select):not([data-fba-ui] *){letter-spacing:.12em!important;word-spacing:.16em!important}
html.fba-highlight-links a:not([data-fba-ui] *){text-decoration:underline!important;text-decoration-thickness:.15em!important;text-underline-offset:.15em!important}
html.fba-focus :focus-visible{outline:3px solid #0073e6!important;outline-offset:3px!important;box-shadow:0 0 0 6px #fff!important}
html.fba-contrast,html.fba-contrast body{background:#000!important;color:#fff!important}
html.fba-contrast body *:not([data-fba-ui]):not([data-fba-ui] *){background-color:#000!important;background-image:none!important;color:#fff!important;border-color:#fff!important;text-shadow:none!important;box-shadow:none!important}
html.fba-contrast a:not([data-fba-ui] *){color:#ffdf00!important;text-decoration:underline!important}
html.fba-contrast :is(button,input,textarea,select):not([data-fba-ui] *){border:2px solid #fff!important}
html.fba-contrast :focus-visible:not([data-fba-ui] *){outline:3px solid #ffdf00!important;outline-offset:3px!important}
html.fba-reduce-motion{scroll-behavior:auto!important}
html.fba-reduce-motion *,html.fba-reduce-motion *::before,html.fba-reduce-motion *::after{animation-duration:.001ms!important;animation-delay:0ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;transition-delay:0ms!important;scroll-behavior:auto!important}
@media(max-width:480px){.fba-widget{bottom:12px}.fba-position-left{left:12px}.fba-position-right{right:12px}.fba-panel{width:calc(100vw - 24px)}}
@media print{.fba-widget,.fba-reading-line[data-fba-ui],.fba-reading-mask[data-fba-ui],.fba-skip-link{display:none!important}}
