/* Floating controls are isolated from theme layout and text wrapping. */
body > #pap-controls-container {
 position:fixed;left:max(16px,env(safe-area-inset-left));bottom:max(16px,env(safe-area-inset-bottom));top:auto;right:auto;
 display:flex;flex-flow:row nowrap;align-items:center;gap:8px;
 width:max-content;max-width:calc(100vw - 32px);min-width:0;box-sizing:border-box;
 margin:0;padding:8px;border:1px solid #d7e0e3;border-radius:36px;
 background:#fff;color:#23383e;font:16px/1.5 system-ui,-apple-system,sans-serif;
 box-shadow:0 4px 22px rgba(0,0,0,.16);z-index:2147483100;isolation:isolate;
 text-align:start;letter-spacing:normal;text-transform:none;
}
#pap-controls-container *,#pap-controls-container *::before,#pap-controls-container *::after {box-sizing:border-box;}
#pap-controls-container > #pap-language-selector,#pap-controls-container > #pap-reader {
 position:static;flex:0 0 44px;width:44px;min-width:44px;max-width:none;
 margin:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;
}
#pap-controls-container details,#pap-controls-container details[open] {position:static;width:auto;margin:0;padding:0;border:0;background:transparent;}
#pap-controls-container summary {
 display:flex;align-items:center;justify-content:center;list-style:none;
 width:44px;height:44px;min-height:44px;margin:0;padding:0;border:1px solid #d7e0e3;border-radius:50%;
 background:#f4f7f8;color:#235b67;cursor:pointer;
}
#pap-controls-container summary::-webkit-details-marker {display:none;}
#pap-controls-container summary svg {display:block;flex:none;width:22px;height:22px;}
#pap-controls-container .pap-drag-handle {
 display:flex;align-items:center;justify-content:center;flex:0 0 32px;width:32px;min-height:44px;margin:0;padding:0;
 border:0;border-radius:12px;background:transparent;color:#235b67;font:26px/1 system-ui,sans-serif;
 cursor:grab;touch-action:none;user-select:none;
}
#pap-controls-container .pap-drag-handle:active {cursor:grabbing;}
/* Both panels share a readable card, anchored independently of the icon row. */
#pap-controls-container .pap-language-panel,#pap-controls-container .pap-reader-inner {
 position:absolute;left:0;right:auto;bottom:calc(100% + 12px);top:auto;
 width:min(560px,var(--pap-panel-width,calc(100vw - 32px)));
 max-width:calc(100vw - 32px);max-height:var(--pap-panel-height,calc(100dvh - 120px));
 overflow:auto;overscroll-behavior:contain;margin:0;padding:20px;
 background:#fff;border:1px solid #d7e0e3;border-radius:16px;box-shadow:0 8px 30px rgba(0,0,0,.16);
 color:#23383e;font:15px/1.6 system-ui,-apple-system,sans-serif;text-align:start;
 white-space:normal;word-break:normal;overflow-wrap:break-word;letter-spacing:normal;text-transform:none;
}
#pap-controls-container.pap-dock-moved:not(.pap-panel-up) .pap-language-panel,
#pap-controls-container.pap-dock-moved:not(.pap-panel-up) .pap-reader-inner {top:calc(100% + 12px);bottom:auto;}
#pap-controls-container.pap-panel-right .pap-language-panel,
#pap-controls-container.pap-panel-right .pap-reader-inner {left:auto;right:0;}
#pap-controls-container .pap-language-controls {position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;max-width:none;margin:0;padding:0;}
#pap-controls-container .pap-language-controls a {
 display:flex;align-items:center;min-width:0;min-height:44px;margin:0;padding:10px 12px;
 border:1px solid #d7e0e3;border-radius:9px;background:#f7f9fa;color:#23383e;
 font:inherit;font-size:14px;line-height:1.45;text-decoration:none;white-space:normal;word-break:normal;
}
#pap-controls-container .pap-language-controls a:hover {background:#eaf2f4;border-color:#81999f;}
#pap-controls-container .pap-language-controls a[aria-current="true"] {background:#235b67;color:#fff;border-color:#235b67;font-weight:650;}
#pap-controls-container .pap-reader-controls {display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:0;}
#pap-controls-container .pap-reader-controls button {
 display:inline-flex;justify-content:center;align-items:center;min-height:44px;min-width:0;margin:0;padding:9px 13px;
 border:1px solid #b9cbd0;border-radius:9px;background:#f7f9fa;color:#23383e;
 font:inherit;font-size:14px;line-height:1.4;letter-spacing:normal;text-transform:none;cursor:pointer;white-space:normal;
}
#pap-controls-container .pap-reader-controls [data-play],#pap-controls-container .pap-reader-controls [data-follow][aria-pressed="true"] {background:#235b67;color:#fff;border-color:#235b67;}
#pap-controls-container button:disabled {opacity:.5;cursor:default;}
#pap-controls-container #pap-language-help,#pap-controls-container .pap-reader-help {
 display:block;width:100%;max-width:none;margin:16px 0 0;padding:12px 0 0;
 border-top:1px solid #e2e9eb;color:#576d74;font:13px/1.65 system-ui,-apple-system,sans-serif;
 white-space:normal;word-break:normal;overflow-wrap:break-word;letter-spacing:normal;
}
#pap-controls-container [data-status] {margin:14px 0 0;padding:10px 12px;border-radius:8px;background:#edf4f5;font:14px/1.5 system-ui,-apple-system,sans-serif;}
#pap-controls-container :focus-visible {outline:3px solid #1479bc;outline-offset:3px;}
@media(max-width:480px) {
 #pap-controls-container .pap-language-panel,#pap-controls-container .pap-reader-inner {padding:16px;}
 #pap-controls-container .pap-language-controls {grid-template-columns:minmax(0,1fr);}
}
::highlight(pap-spoken) {background-color:#ffe45c;color:#171717;}
#pap-speech-highlight-overlay {position:fixed;inset:0;pointer-events:none;z-index:2147483000;}
