
#aap-launcher{
  position:fixed;
  bottom:20px;
  right:20px;
  background:#1e88e5;
  color:#fff;
  padding:14px;
  border-radius:50%;
  cursor:pointer;
  font-size:24px;
  z-index:9999;
  box-shadow:0 4px 10px rgba(0,0,0,0.3);
}
#aap-launcher:focus{
  outline:3px solid #fff;
  outline-offset:2px;
}
.aap-panel{
  position:fixed;
  bottom:90px;
  right:20px;
  width:320px;
  max-height:80vh;
  border-radius:14px;
  box-shadow:0 8px 20px rgba(0,0,0,0.25);
  display:none;
  z-index:9999;
  overflow:hidden;
}
.aap-panel-inner{
  padding:16px;
  overflow-y:auto;
  max-height:80vh;
}
.aap-panel-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:8px;
}
.aap-panel-header h2{
  font-size:1.2rem;
  margin:0;
}
.aap-close{
  border:none;
  background:transparent;
  font-size:1.4rem;
  cursor:pointer;
}
.aap-section{
  margin-top:10px;
}
.aap-section h3{
  font-size:0.95rem;
  margin:0 0 6px;
}
.aap-grid{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.aap-btn{
  flex:1 1 47%;
  border-radius:999px;
  border:none;
  padding:7px 10px;
  font-size:0.8rem;
  cursor:pointer;
}
.aap-btn.aap-secondary{
  width:100%;
}
.aap-footer{
  margin-top:12px;
}

/* Body classes used by JS */

body.aap-font-large{font-size:115%;}
body.aap-font-xlarge{font-size:130%;}
body.aap-line-spread{line-height:1.9;}
body.aap-letter-wide{letter-spacing:0.08em;}
body.aap-align-left{text-align:left;}
body.aap-align-center{text-align:center;}
body.aap-align-right{text-align:right;}

body.aap-readable-font{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif !important;
}

body.aap-high-contrast{
  background:#000 !important;
  color:#fff !important;
}
body.aap-dark-contrast{
  background:#111 !important;
  color:#f5f5f5 !important;
}
body.aap-light-contrast{
  background:#fafafa !important;
  color:#111 !important;
}

/* Desaturated / mono */
body.aap-low-sat{
  filter:saturate(0.4);
}
body.aap-mono{
  filter:grayscale(1);
}

/* Images hidden */
body.aap-hide-images img{
  visibility:hidden !important;
}

/* Stop animations */
body.aap-stop-anim *{
  animation:none !important;
  transition:none !important;
  scroll-behavior:auto !important;
}

/* Focus highlight */
body.aap-focus-highlight :focus{
  outline:3px solid #ff9800 !important;
  outline-offset:2px;
}

/* Reading focus */
body.aap-reading-focus header,
body.aap-reading-focus footer,
body.aap-reading-focus nav,
body.aap-reading-focus .widget,
body.aap-reading-focus aside{
  opacity:0.15;
}
body.aap-reading-focus main,
body.aap-reading-focus article,
body.aap-reading-focus .site-content{
  position:relative;
  z-index:1;
}

/* Reduce clutter */
body.aap-reduce-clutter *{
  box-shadow:none !important;
  text-shadow:none !important;
  background-image:none !important;
}

/* Sensory-friendly + calm colors (soften everything) */
body.aap-sensory,
body.aap-calm-colors{
  background:#f4f7fb !important;
}

/* Keyboard nav hint (no visual yet but reserved) */
body.aap-keyboard-nav{
  scroll-behavior:smooth;
}

/* Utility: prefer higher specificity for body background override issues on some themes */
html body.aap-high-contrast,
html body.aap-dark-contrast,
html body.aap-light-contrast,
html body.aap-sensory,
html body.aap-calm-colors{
  background-color:inherit;
}

.aap-highlight-title{background:rgba(255,235,59,0.35);padding:0 3px;border-radius:3px;}
.aap-highlight-link{outline:2px solid #ff9800;border-radius:3px;}
