/* ABILITY Widget Styles - Main Color: #1764ff */
#ability-widget { position: fixed; z-index: 999999; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; }
.ability-widget-bottom-right { bottom: 20px; right: 20px; }
.ability-widget-bottom-left { bottom: 20px; left: 20px; }
.ability-widget-top-right { top: 20px; right: 20px; }
.ability-widget-top-left { top: 20px; left: 20px; }
.ability-widget-toggle { width: 60px; height: 60px; border-radius: 50%; background: #1764ff; color: #fff; border: none; cursor: pointer; box-shadow: 0 4px 12px rgba(23, 100, 255, 0.4); display: flex; align-items: center; justify-content: center; transition: all 0.3s ease; padding: 0; }
.ability-widget-toggle:hover { background: #1352d9; transform: scale(1.1); box-shadow: 0 6px 16px rgba(23, 100, 255, 0.5); }
.ability-widget-toggle:focus { outline: 3px solid rgba(23, 100, 255, 0.5); outline-offset: 2px; }
.ability-widget-toggle svg { width: 28px; height: 28px; }
.ability-widget-panel { position: absolute; bottom: 80px; right: 0; width: 320px; background: #fff; border-radius: 12px; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15); overflow: hidden; animation: slideUp 0.3s ease; }
.ability-widget-bottom-left .ability-widget-panel { right: auto; left: 0; }
.ability-widget-top-right .ability-widget-panel { bottom: auto; top: 80px; }
.ability-widget-top-left .ability-widget-panel { bottom: auto; top: 80px; right: auto; left: 0; }
@keyframes slideUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
.ability-widget-header { background: linear-gradient(135deg, #1764ff 0%, #4a8eff 100%); color: #fff; padding: 20px; display: flex; justify-content: space-between; align-items: center; }
.ability-widget-header h3 { margin: 0; font-size: 18px; font-weight: 700; }
.ability-widget-close { background: none; border: none; color: #fff; font-size: 28px; line-height: 1; cursor: pointer; padding: 0; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; border-radius: 4px; transition: background 0.2s ease; }
.ability-widget-close:hover { background: rgba(255, 255, 255, 0.2); }
.ability-widget-content { padding: 20px; }
.ability-widget-control { margin-bottom: 20px; }
.ability-widget-control:last-child { margin-bottom: 0; }
.ability-widget-control label { display: block; font-weight: 600; margin-bottom: 10px; color: #1a1a1a; font-size: 14px; }
.ability-font-size-controls { display: flex; gap: 10px; }
.ability-font-size-controls button { flex: 1; padding: 12px; border: 2px solid #e0e0e0; background: #fff; border-radius: 6px; cursor: pointer; font-weight: 700; transition: all 0.2s ease; font-size: 18px; }
.ability-font-size-controls button:hover { border-color: #1764ff; background: #f0f4ff; }
.ability-font-size-controls button.active { background: #1764ff; border-color: #1764ff; color: #fff; }
.ability-widget-control input[type="checkbox"] { margin-right: 8px; width: 18px; height: 18px; cursor: pointer; }
.ability-widget-footer { margin-top: 20px; padding-top: 20px; border-top: 1px solid #e9ecef; text-align: center; }
.ability-powered-by { font-size: 12px; color: #666; margin: 0; }
.ability-powered-by strong { color: #1764ff; font-weight: 700; }
body.ability-high-contrast { filter: contrast(1.2); }
body.ability-high-contrast * { border-color: #000 !important; }
@media (max-width: 768px) { .ability-widget-panel { width: calc(100vw - 40px); max-width: 320px; } }
